@import url(https://fonts.googleapis.com/css?family=Signika:300,400,600,700);

:root {
  /* Brand colors — defaults to current palette, swap when client picks from new logo
   *
   * New logo palette (extracted from logo_rqsp.png):
   *   Burgundy/purple:  #7C3055  — closest to old primary, candidate for --color-primary
   *   Red:              #E92D2F  — accent
   *   Orange-red:       #E85A30  — accent
   *   Warm tan:         #A88662  — accent
   *   Teal:             #326980  — closest to old secondary, candidate for --color-secondary
   *   Light teal:       #6F99A2  — lighter variant
   *   Dark gray:        #5A595A  — "RQSP" text, candidate for --color-text
   *   Near-black:       #211E1F  — subtitle text
   */
  --color-primary: #7C3055;        /* nav bar, headings, footer, borders — was #972191 */
  --color-primary-dark: #5A2040;   /* dropdown bg, colophon — was #650660 */
  --color-secondary: #326980;      /* links, accents, dates, news borders — was #0097ca */
  --color-accent: #E85A30;         /* CTAs, hover states — orange-red from logo */
  --color-text: #5A595A;           /* body text — was #5b5b5b */
  --color-text-light: #9b9b9b;     /* muted text */
  --color-white: #ffffff;
  --color-bg: #ffffff;             /* main content background */
  --bg-body: #f5f5f5;             /* page background — was url(/images/bg.jpg) */

  /* Derived colors */
  --color-footer-link: #C89AB5;    /* lightened burgundy — was #D5A7D3 */
  --color-banner-tagline: #e0e9eb; /* light teal from logo — taglines on teal banner */
  --color-dropdown-border: #6E2A4A; /* mid-tone burgundy — was #935291 */
  --color-accordion-1: hsl(331, 44%, 34%);    /* match primary — was #822673 */
  --color-accordion-2: #326980;    /* teal contrast — was #9b248c */
  --color-accordion-hover: #E85A30; /* orange accent — was #ab2a9c */
  --color-link: #326980;           /* teal, same as secondary — was #003399 */
  --color-hr: #211E1F;             /* near-black from logo — was #302C2D */
  --color-success: #00cc00;        /* success messages */
  --color-error: #ff2222;          /* error messages */
}

* { border-radius: 0!important; }

body { background: var(--bg-body);font-family: "Signika", arial, sans-serif;font-size:14px;color: var(--color-text); padding-inline: 20px; }

h1, h2, h3, h4 { font-family: "Signika", arial, sans-serif!important;color: var(--color-primary);font-weight: 300;text-transform: uppercase;margin: 20px 0; }
h1 { font-size: 30px; }
h2 { font-size: 24px; }
h3 { font-size: 20px; }
h4 { font-size: 16px; }

#page { position: relative; overflow: hidden; }
#content-shadow-left { background: url(/images/content-shadow-left.png);width: 22px;height: 990px;position: absolute;top: 256px;left: -22px; }
#content-shadow-right {background: url(/images/content-shadow-right.png);width: 22px;height: 990px;position: absolute;top: 256px;right: -22px; }
.container-fluid { max-width: 1060px;margin: 0 auto;padding: 0; }

/* ==========================
	HEADER
========================== */
#header { padding: 10px 0; }

#logo {margin-block:0 !important;}
#logo a { display: inline-block; }
#logo img { max-height: 120px; width: auto; margin-block: 0; }

/* Login form */
#member-icon span { color: var(--color-primary);font-size: 18px;padding: 15px 5px 0 0; }
#member-icon { margin-top: 8px; }

#form-login { margin: 10px 0 0 0; }
#member-login input[type=text], #member-login input[type=password] { width: 145px;margin: 0;padding: 4.5px 10px; }
#login-submit { background: url(/images/bouton_login.jpg) 0 0 no-repeat;border: 0;padding: 0;width: 24px;height: 29px; }

#member-action { color: var(--color-secondary);font-size: 12px;margin: 8px 0 0 0; }
#member-action a:hover { color: var(--color-primary); }
#member-welcome { color: var(--color-text-light);font-size: 18px;margin: 10px 0 0 0; }
#member-welcome span { color: var(--color-secondary); }

/* Main navigation */
#main-navigation ul { list-style: none;margin:0;padding:0;background-color: var(--color-primary);}
#main-navigation ul li { float: left; }
#main-navigation ul li:last-child a { padding: 10px 25px; }
#main-navigation ul li a { display:block;text-transform: uppercase;color:#FFF;font-size: 16px;font-weight:300; padding:15px 20px; }
#main-navigation > ul > li > a { text-decoration: none; }

/* Dropdown */
.ddlink { position: relative; }
.ddlink:hover .ddmenu { display: block; }
.ddlink:has(.ddmenu) >a { cursor: default; }
.ddmenu { display: none;background-color: var(--color-primary-dark);position: absolute;top: 100%;left: 0;padding: 10px 0!important;min-width: 180px;z-index: 3000;box-shadow: 0 4px 12px rgba(0,0,0,0.25); }
.ddmenu li { float: none!important;display: block;width: auto;min-width: 180px;border-bottom: 1px solid var(--color-dropdown-border); }
.ddmenu li.first { padding-top: 0!important; }
.ddmenu li.last { border: 0;padding-bottom: 0!important; }
.ddmenu li a { display: block;width: auto;min-width: 180px;padding: 10px 20px!important; }

/* Search */
#toggle-search { position: relative;float: right!important; }
#search-bar { display: none;background: url(/images/form-search-bg.png) 0 0 no-repeat;position: absolute;top: 42px;right: -2px;width: 211px;height: 56px;padding: 16px 8px 8px 8px;z-index:2000; }
#form-search { margin: 0; }
#form-search input[type=text] { width: 155px;height: 24px;border-color: var(--color-primary);margin: 0; }
#form-search input[type=submit] { background: url(/images/fleche-search.png) 0 0 no-repeat;border: 0;width: 28px;height: 34px;margin: 0 0 0 -3px;padding: 0; }

/* ie7 navigation dropdown/search fix */
.ie7 #main-navigation, .ie7 #main-navigation ul, .ie7 #main-navigation ul li, .ie7 #search-bar, .ie7 #form-search, .ie7 #form-search input { z-index: 9999; }
.ie7 #toggle-search, .ie9 #toggle-search { padding: 10px 25px; }
.ie7 #member-welcome { text-align: right; }
.ie7 #form-login { text-align: right; }
.ie7 .caroufredsel_wrapper, .ie7 .banner, .ie7 .banner ul, .ie7 .banner ul li, .ie7 .banner ul li img { z-index: 1000; }
.ie7 #banner-home, .ie7 #banner-home ul, .ie7 #banner-home ul li, .ie7 #banner-home ul li img { z-index: 1000;}
.ie8 #toggle-search { padding: 10px 25px; }

/* ==========================
	BANNER
========================== */
.banner-bar { background-color: var(--color-secondary);padding: 30px 40px; }
.banner-bar h1 { color: var(--color-white);font-size: 28px;font-weight: 300;text-transform: uppercase;margin: 0; }
.banner-bar .banner-taglines { color: var(--color-banner-tagline);font-size: 16px;font-weight: 300;margin: 8px 0 0 0; }

/* ==========================
	MAIN CONTENT
========================== */
#main-content { background: #FFF; }
#content-wrapper { padding: 38px; }
#cms-content > h1 + p > strong:only-child { color: var(--color-accent); font-size: 1.15em; }

/* Callout */
#callout { position: relative;background: #f6f6f6;padding: 40px;z-index: 1000; }
#callout p { color: var(--color-text);font-size: 16px;font-weight: 300;line-height: 1.5; }
#callout-top-shadow { background: url(/images/banner/banner-shadow.png) top center no-repeat;width: 100%;position: absolute;top: 0;left: 0;height: 28px;z-index: 2000 }
#callout-bottom-shadow { background: url(/images/callout-shadow.png) top center no-repeat;width: 100%;height: 28px;position: absolute;bottom: 0;left: 0;z-index: 2000; }

/* Homepage sections */
.home-section {
  padding: 40px;
  text-align: center;
}
.home-section h2 {
  margin-bottom: 25px;
}
.btn-link {
  display: inline-block;
  color: var(--color-secondary);
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
}
.btn-link:hover {
  color: var(--color-accent);
}

/* ==========================
	CONTENT PAGE INT
========================== */

/* Nouvelles - Single */
#news-events { padding: 40px; }
.news { margin-bottom: 20px; }
.news:last-child { margin-bottom: 0; }
.news-meta span { color: var(--color-secondary);font-size: 16px;font-weight: 600; }
.news-meta h3 { line-height: 1.25;margin: 0; }
.news-content { border-left: 1px solid var(--color-secondary);color: var(--color-text);font-size: 16px;line-height: 1.25;padding: 0 0 0 20px; }
.news-more, .event-more { color: var(--color-primary);font-size: 14px;font-weight: 700; }
.news-more:hover, .event-more:hover { color: var(--color-primary); }

#single-header h1, .news-item .news-header h1, .event-item .event-header h1 { margin: 0; }
#single-header p, .news-item .news-header p, .event-item .event-header p { color: var(--color-secondary);font-size: 16px;font-weight: 600; }
#single-thumbnail, .news-item .news-thumbnail, .event-item .event-thumbnail { background: #FFF;float: left;margin: 0 20px 15px 0;padding: 5px;border: 1px solid var(--color-primary); }
#single-footer { border-top: 1px solid var(--color-primary);padding-top: 20px;margin-top:20px; }

.news-item, .event-item { margin-bottom: 40px; }
.news-item:last-child, .event-item:last-child { margin: 0; }
.news-item .news-header h1, .event-item .event-header h1 { font-size: 24px; }
.news-item .news-thumbnail, .event-item .event-thumbnail { max-width: 200px; }

/* ==========================
	SIDEBAR — removed per redesign (T6), kept commented for reference
========================== */
/*
.news-widget h2 { border-bottom: 1px solid var(--color-secondary);padding: 0 0 10px 0;margin: 0 0 15px 0; }
.news-widget .item { border-bottom: 1px solid var(--color-secondary);padding: 0 0 20px 0;margin: 0 0 20px 0; }
.news-widget .item h3 { margin: 0 0 10px 0; }
.news-widget .item span { color: var(--color-secondary);font-size: 16px;font-weight: 600; }
*/

/* ==========================
	FOOTER
========================== */

#footer { background-color: var(--color-primary);padding: 30px 40px; }
/* #footer-shadow { background: url(/images/footer-shadow.png) top center no-repeat;width:100%;height:28px; } */
#uec { color: #FFF;text-align: left; }
#uec img { border-radius: 50%; border: 0; filter: brightness(0) invert(1); }
#uec h4 { text-transform: uppercase; margin-bottom: 8px; }
#uec a { text-decoration: none; }

#footer h4 { color: #FFF;font-size: 16px;font-weight: 600;text-transform: uppercase; }
#footer h4 a { color: #FFF; }
#footer h4 a:hover { color: #FFF;text-decoration: underline; }


/* Simple footer layout */
.footer-simple { display: grid;grid-template-columns: 1fr auto 1fr;align-items: center; }
.footer-social { display: flex;gap: 20px;justify-self: center; }
.footer-social a { display: block; color: #FFF;font-size: 28px;transition: opacity 0.2s; text-decoration: none; }
.footer-social a:hover { opacity: 0.7; }
.footer-contact { justify-self: end; }
.footer-contact a { display: block; color: #FFF;font-size: 16px;font-weight: 600;text-transform: uppercase;text-decoration: none;border: 2px solid #FFF;padding: 8px 24px;border-radius: 4px;transition: background-color 0.2s, color 0.2s; }
.footer-contact a:hover { background-color: #FFF;color: var(--color-primary); }

/* Colophon */
#colophon { color: #FFF;background-color: var(--color-primary-dark);padding: 8px 40px;font-size: 12px; }
#colophon p { margin: 0; }
#colophon a { color: #FFF; }
#colophon a:hover { color: #FFF;text-decoration: underline; }

.distantia { font-weight: 700; }

/* ==========================
	ADMIN
========================== */

.admin-block { position: relative;min-height: 155px; }
.admin-block h2 { border-bottom: 1px solid var(--color-primary);font-size: 18px;margin-left: 50px; }
.admin-block-icon { position: absolute;top: 15px;left: 15px; }
.admin-block-content { margin-left: 50px; }
.admin-block-content ul { list-style: none;margin: 0;padding: 0; }
.admin-block-content ul li { font-size: 16px;font-weight: 300;margin: 0 0 10px 0; }
.admin-block-content a { color: var(--color-text); }
.admin-block-content a:hover { color: var(--color-primary);text-decoration: none; }

.ie .admin-block-icon {top:15px;left:5px;}
.ie .admin-block h2, .ie .admin-block-content { margin-left: 60px; }

/* ==========================
	PAGE RECHERCHE
========================== */

.search-item h3 { margin: 0 0 5px 0;color: var(--color-secondary); }
.search-item .more { color: var(--color-primary);font-size: 14px;font-weight: 700;padding-top: 5px; }

/* ==========================
	TWEAKS
========================== */

#calendar-destination { visibility: visible!important; } 
#recaptcha_response_field { border-color: #ccc!important; }
.redStar, .fieldError { color: red; }
.cb { clear:both; }
.statusdiv{ width: 290px;float: left;padding: 12px; }
.connexion { display: none; }
.textinput { max-width: 960px!important; }

/* ==========================
	RESPONSIVE
========================== */

@media (max-width: 1024px) {
  #page { margin-bottom: 0; }
  #header { padding-inline: 20px; }
  #main-navigation ul li a { padding: 15px 1.4em; }
  #banner-int ul li { min-height: inherit; }
  #banner-home ul li { min-height: inherit; }
}

@media (max-width: 800px) {
    body { padding-inline: 15px; }
    #logo { max-width: 500px; }
    #member-icon { margin-top: 6px; }
    #main-navigation ul li a { padding: 15px 1em; }
    #main-navigation ul li:last-child a { padding: 10px 2em; }
    #news-events .span8 { width: 54%; }
    .banner-bar { padding: 20px; }
}

@media (max-width: 768px) {
    #main-navigation ul li:last-child a { padding: 10px 1.9em 10px 10px; }
    #main-navigation ul li a { font-size: 14.5px; }
}

@media (max-width: 640px) {
  #logo { margin-bottom: -20px !important; }
}

@media (max-width: 575px) {
    #header { padding: 20px 15px 0; }
    #logo { float: none;max-width: 100%;text-align: center;  margin-bottom: 0 !important; }
    #logo img { max-height: 80px }
    #member-login { margin-top: 20px;float: none;text-align: center; }
    #member-icon { margin-top: 4px; }
    #member-icon * { float: none; }
    #member-welcome, #member-action { float: none; }
    #main-navigation ul li a { font-size: 14px; }
    #content-shadow-left, #content-shadow-right { display: none; }
    #callout .span5 { text-align: center!important; }
    #callout .span5 img { margin-top: 20px; }
    #news-events .span8 { width: 100%; }
    #news-events .span4 { margin-top: 40px; }
    #uec a {display: flex; flex-direction: column; gap: 0; align-items: center; text-align: center; margin-bottom: 8px;}
    .footer-simple { grid-template-columns: 1fr;justify-items: center;gap: 20px;text-align: center; }
    .footer-contact { justify-self: center; }
    body { padding-inline: 0; }
    #content-wrapper { padding: 24px 16px; }
    #toggle-search { padding-block: 5px; }
}

@media (max-width: 500px) {
    #contact-form-content { width: 100%!important; }
    #single-thumbnail, .news-item .news-thumbnail, .event-item .event-thumbnail { max-width: 100%;float: none; }
}

@media (max-width: 400px) {
    body { padding: 0; }
    iframe[src="about:blank"] { display: none; }
    #news-events { padding: 20px 0; }
    #news-events .span4 { margin-top: 20px; }
    #colophon p { float: none; }
    #contact-form-content { width: 100%!important; }
    #content-wrapper {padding: 15px; }
    #form-login { text-align: center; }
    #login-email, #login-password { display: block!important;margin: 0 auto!important;width: 200px!important;margin-bottom: 2px!important; }
    #login-submit {color: #FFF; background: #3298C9 url(/images/bouton_login.jpg) right no-repeat;display: block;width: 220px;margin: 0 auto;}
    .connexion { padding-left: 10px;text-align: left;display: block; }
}

@media (max-width: 389.98px) {
    #main-navigation > ul > li { padding-inline: 10px; }
}

@media (max-width: 320px) {
    #main-navigation ul li { display: block;width: 93%;border-bottom: 1px solid #FFF; }
    #toggle-search { text-align: right; }
    .ddmenu { width: 87%; }
}


.a_button div{
    border: 1px #eaeaea solid;
    background-color: #fafafa;
    width: 100px;
    text-align: center;
    color: #000000;
}
.a_button div:hover{
    text-decoration: none;
    cursor: hand;
    cursor: pointer;
}
.a_button :hover{
    text-decoration: none;
}

.conv-item{
    border-bottom:1px solid var(--color-secondary);
}

@media (max-width: 480px) {
    #header{
        padding-top: 15px;
    }
}

.acc-items{
    margin: 5px;
    padding: 5px 0;
}
#bourse-form input[type=text],
#bourse-form input[type=email],
#bourse-form textarea{
    box-sizing: border-box;
    height: 30px;
    width: 100%;
}
#bourse-form textarea{
    height: 120px;
}
.acc-header{
    box-sizing: border-box;
    display: block;
    width: 100%;
    font-size: 18px;
    text-transform: uppercase;
    padding: 10px;
    color: #ffffff;
    text-decoration: none;
}
.acc-header.acc-color-1{
    background: var(--color-accordion-1);
}
.acc-header.acc-color-2{
    background: var(--color-accordion-2);
}
.acc-header:focus,
.acc-header:visited,
.acc-header:active,
.acc-header:hover{
    color: #ffffff;
    text-decoration: none;
    background: var(--color-accordion-hover);
}
.onefolder{
    font-size: 16px;
    padding: 10px 0;
    border-bottom: 1px solid #ababab;
}
.onefolder:first-child{
    border-top: 1px solid #ababab;
}
.onefolder input{
    margin-top: 0px;
}
.mainfolder{
    padding-left: 2px;
    margin-left: 3px;
    margin-bottom: 4px;
    border-bottom: 1px solid #ababab;
    display: table;
}
.subfolder{
    padding-left: 2px;
    margin-left: 11px;
    margin-bottom: 4px;
    border-bottom: 1px solid #ababab;
    display: table;
}

/* ==========================
   REUSABLE GRID LAYOUTS (T12)
========================== */

/* Card grid — for member cards, committee cards */
.card-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  justify-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
}
.card-grid .card {
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
  justify-items: center;
  text-align: center;
}
.card-grid .card img {
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-radius: 4px;
  margin: 0 auto 10px;
}
.card-grid .card .card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 96px;
  height: 96px;
  font-size: 100px;
  color: var(--color-primary);
  margin: 0 auto 10px;
  line-height: 1;
}
.card-grid .card .card-icon span {
  display: none !important; /* hide text on broken icons due to wysiwyg editor */
}
.card-grid .card h3 {
  font-size: 16px;
  margin: 0 0 5px 0;
  font-weight: 700;
  line-height: 1.5;
}
.card-grid .card p {
  font-size: 13px;
  color: var(--color-text-light);
  margin: 0 0 3px 0;
}
.card-grid .card p:first-of-type {
  color: var(--color-primary);
  font-weight: 600;
}

/* Member grid — card layout with circular avatars (comité exécutif) */
.member-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  list-style: none;
  margin: 0;
  padding: 0;
  justify-content: center;
}
.member-list .member-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  box-sizing: border-box;
  flex: 0 0 calc(33.333% - 15px);
  padding: 20px 10px;
}
.member-list .member-item img {
  width: 140px;
  height: 140px;
  object-fit: cover;
  border-radius: 50% !important;
  flex-shrink: 0;
  margin-bottom: 12px;
  border: 3px solid var(--color-primary);
  background: var(--bg-body);
  color: transparent; /* hide alt text on broken images */
}
.member-list .member-item .member-info {
  width: 100%;
}
.member-list .member-item .member-info h3 {
  font-size: 16px;
  margin: 0 0 4px 0;
  font-weight: 700;
}
.member-list .member-item .member-info p {
  font-size: 13px;
  color: var(--color-text-light);
  margin: 0 0 2px 0;
}
.member-list .member-item .member-info p:first-of-type {
  color: var(--color-primary);
  font-weight: 600;
}

/* Homepage compact variant — name + role only */
.member-list--compact .member-item .member-info p:nth-of-type(n+2) {
  display: none;
}

/* Logo grid — for corporate members, associations */
.logo-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: 1fr auto;
  gap: 30px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.logo-grid .logo-item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  position: relative;
  text-align: center;
  justify-items: center;
  align-items: center;
  gap: 8px 0;
}
.logo-grid .logo-item img {
  align-self: center;
  max-width: 150px;
  max-height: 80px;
  object-fit: contain;
}
.logo-grid .logo-item a {
  display: block;
  font-size: 16px;
  color: var(--color-secondary);
}
.logo-grid .logo-item a::before {
  content: '';
  position: absolute;
  inset: 0;
}

/* Grid responsive */
@media (max-width: 1023.98px) {
  .logo-grid { grid-template-columns: repeat(3, 1fr); }
  .member-list .member-item { flex: 0 0 calc(50% - 10px); }
}
@media (max-width: 767.98px) {
  .card-grid { grid-template-columns: repeat(2, 1fr); }
  .logo-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .member-list .member-item { flex: 0 0 calc(50% - 15px); }
  .member-list .member-item img { width: 110px; height: 110px; }
}
@media (max-width: 575.98px) {
  .card-grid { gap: 15px; grid-template-columns: 1fr; }
  .logo-grid { grid-template-columns: 1fr; gap: 15px; max-width: 320px; margin: 0 auto; }
  .member-list { gap: 20px; }
  .member-list .member-item { flex: 0 0 100%; }
  .member-list .member-item img { width: 100px; height: 100px; }
}