@import url("font.css");
[data-theme="dark"] {
  --color-bg: #1A1A1A;                /* Fond principal : noir doux */
  --color-bg-alt: #2A2A2A;            /* Fond secondaire : gris foncé */
  --color-text: #F0F0F0;              /* Texte principal : très clair */
  --color-text-always: #1E1E1E;
  --color-text-secondary: #BBBBBB;    /* Texte secondaire : gris clair */
  --color-accent-primary: #FFD700;    /* Accent jaune légèrement atténué */
  --color-accent-secondary: #3399FF;  /* Accent secondaire : bleu lumineux */
  --color-success: #66E0A1;           /* Vert clair */
  --color-error: #FF7373;             /* Rouge clair légèrement rosé */
  --border-color: #333;
}
[data-theme="light"] {
  --color-bg: white;                /* Fond principal : noir doux */
  --color-bg-alt: #A1D6DF33;            /* Fond secondaire : gris foncé */
  --color-text: #11304C;              /* Texte principal : très clair */
  --color-text-always: #1E1E1E;
  --color-text-secondary: #BBBBBB;    /* Texte secondaire : gris clair */
  --color-accent-primary: #FFD700;    /* Accent jaune légèrement atténué */
  --color-accent-secondary: #3399FF;  /* Accent secondaire : bleu lumineux */
  --color-success: #66E0A1;           /* Vert clair */
  --color-error: #FF7373;             /* Rouge clair légèrement rosé */
  --border-color: #333;
}
header {
   position: relative;
   width: 100%;
   background-size: cover !important;
	-webkit-background-size: cover !important;
   text-align: center;
   overflow: hidden;
}

/* vertically center banner section */
header:before {
   content: '';
   display: inline-block;
   vertical-align: middle;
   height: 5%;
}
header .banner {
   display: inline-block;
   vertical-align: middle;
   margin: 0 auto;
   width: 85%;
   padding-bottom: 30px;s
   text-align: center;
}

header .banner-text { width: 100%; }
header .banner-text h1 {
   font: 90px/1.1em 'Raleway', sans-serif;
   color: var(--color-text);
   letter-spacing: -2px;
   margin: 0 auto 18px auto;
   text-shadow: 0px 1px 3px rgba(0, 0, 0, .8);
}
header .banner-text h3 {
   font: 18px/1.9em 'Raleway', serif;
   color: var(--color-text);
   margin: 0 auto;
   width: 65%;
   text-shadow: 0px 1px 2px rgba(0, 0, 0, .5);
}
header .banner-text h3 span {
   color: var(--color-text);
}
header .banner-text h3 a {
   color: var(--color-text);
}
header .banner-text hr {
   width: 60%;
   margin: 18px auto 24px auto;
   border-color: #2F2D2E;
   border-color: rgba(150, 150, 150, .1);
}

.three.columns { 
   width: 10%;
}

header .logo {
   margin: 0;
   color: var(--color-text);
   justify-self: center;
}

header .logo img {
   object-fit: contain;
   width: 100%;
   margin-top: 10px;
   height: 100%;
}
header .scrolldown a:hover { color: var(--color-text); }

/* primary navigation
--------------------------------------------------------------------- */
#nav-wrap ul, #nav-wrap li, #nav-wrap a {
	 margin: 0;
	 padding: 0;
	 border: none;
	 outline: none;
}

/* nav-wrap */
#nav-wrap {
   font: 100% 'Raleway', sans-serif;
   width: 100%;
   height: 100px;
   letter-spacing: 2.5px;
   margin: 0 auto;
   display: flex;
   z-index: 100;
   position: fixed;
   background-color: var(--color-bg);
   justify-content: space-between;
   align-items: center;
   top: 0rem;
   border-bottom: 12px solid #A1D6DF66; /* fine bande bleue claire */
}
.opaque { background-color: #333; }

/* hide toggle button */
#nav-wrap > a.mobile-btn { display: none; }

ul#nav {
   min-height: 48px;
   width: auto;

   /* center align the menu */
   text-align: center;
}
ul#nav li {
   position: relative;
   list-style: none;
   height: 48px;
   display: inline-block;
}

/* Links */
ul#nav li a {

/* 8px padding top + 8px padding bottom + 32px line-height = 48px */

   display: inline-block;
   padding: 8px 13px;
   line-height: 32px;
	text-decoration: none;
   text-align: left;
   color: var(--color-text);
   font-size: 1.25em;
   font-weight: 300;

	-webkit-transition: color .2s ease-in-out;
	-moz-transition: color .2s ease-in-out;
	-o-transition: color .2s ease-in-out;
	-ms-transition: color .2s ease-in-out;
	transition: color .2s ease-in-out;
}

ul#nav li a:active { background-color: var(--color-bg); }
ul#nav li.current a { color: var(--color-text); }

#nav-wrap ul, #nav-wrap li, #nav-wrap a {
    margin-right: 20px;
    padding: 0;
    border: none;
    outline: none;
    color: var(--color-text);
    text-align: end;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-content: center;
    flex-wrap: wrap;
    align-items: center;
}


/* mobile wide/smaller tablets
---------------------------------------------------------------------- */

@media only screen and (max-width: 950px) {

   /* mobile navigation
   -------------------------------------------------------------------- */

   header {
      height : 100px !important;
   }


   #nav-wrap ul, #nav-wrap li, #nav-wrap a {
    margin-right: 20px;
    padding: 0;
    border: none;
    outline: none;
    color: var(--color-text);
    text-align: end;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-content: center;
    flex-wrap: wrap;
    align-items: center;
}

   /* nav-wrap */
#nav-wrap {
   font: 0.5em 'Raleway', sans-serif;
   width: 100%;
   height: auto;
   letter-spacing: 2.5px;
   margin: 0 auto;
   display: flex;
   z-index: 100;
   position: fixed;
   background-color: var(--color-bg);
   justify-content: space-between;
   align-items: center;
   top: 0rem;
   left: 0;
   border-bottom: 12px solid #A1D6DF66; /* fine bande bleue claire */
}

 #nav-wrap > a {
      width: 48px;
      height: 48px;
      text-align: left;
      background-color: #B30024;
      position: relative;
      border: none;
      float: right;
      font: 0/0 a;
      text-shadow: none;
      color: transparent;
      position: relative;
   }

   #nav-wrap > a:before,
   #nav-wrap > a:after {
      position: absolute;
      border: 2px solid #fff;
      top: 35%;
      left: 25%;
      right: 25%;
      content: '';
   }
   #nav-wrap > a:after { top: 60%; }

   /* toggle buttons */
   #nav-wrap:not( :target ) > a:first-of-type,
   #nav-wrap:target > a:last-of-type  {
      display: block;
   }

   /* hide menu panel */
   #nav-wrap ul#nav {
      height: auto;
      display: none;
      clear: both;
      width: auto; 
      float: right;     
      position: relative;
   }

   /* display menu panels */
   #nav-wrap:target > ul#nav  {
      display: block;
      background: var(--color-bg);
      clear: both;
   }

}
@media only screen and (max-width: 425px) {
   header{
      height : 50px !important;
   }

}

@media only screen and (min-width: 1980px) {
   #nav-wrap{
      font-size: 1.25em;
      font-family: 'Raleway';
   }
}