@import "reset.css";
@import "colorSite.css";
@import "menu-mobile.css";
@import "menu.css";
@import "jqalerts.css";
@import "button.css";

/****************************************************************/
/************************** Global Styles ***********************/
*,
*::after,
*::before {
    -webkit-box-sizing: border-box; /* Safari/Chrome, legacy WebKit */ /* Firefox, legacy */
    box-sizing: border-box; /* Modern browsers */
}

@font-face {
    font-family: 'sofia';
    /* Le WOFF2 est placé en premier pour les meilleures performances sur les navigateurs modernes */
    src: url('../fonts/sofia-pro.woff2') format('woff2'),
         url('../fonts/sofia-pro.woff') format('woff'),
         url('../fonts/sofia-pro.otf') format('opentype'),
         url('../fonts/sofia-pro.ttf') format('truetype');
         
    font-weight: normal; /* Définit cette variante comme le style standard */
    font-style: normal;
    font-display: swap; 
}

@font-face {
    font-family: 'sofia'; /* **Le nom de la famille DOIT être le même** */
    /* On référence les fichiers de la version GRASSE */
    src: url('../fonts/sofia-pro-bold.woff2') format('woff2'),
         url('../fonts/sofia-pro-bold.woff') format('woff'),
         url('../fonts/sofia-pro-bold.otf') format('opentype'),
         url('../fonts/sofia-pro-bold.ttf') format('truetype');
         
    font-weight: bold; /* Définit cette variante comme le style gras */
    font-style: normal;
    font-display: swap; 
}

.sofia-regular {
  font-family: "sofia", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.sofia-bold {
  font-family: "sofia", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.sofia-black {
  font-family: "sofia", sans-serif;
  font-weight: 900;
  font-style: normal;
}

body {
    background-attachment: fixed;
    width: 100%;
    overflow-x: hidden;
    overflow-y: visible;
    background-color: white;
}

#body-container {
    position: relative;
    background: transparent;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border: 0;
}

.size {
    max-width: 100%;
}

.nowrap {
    white-space: nowrap;
}

input:focus,
select:focus,
textarea:focus {
    outline: 0;
}

a {
    text-decoration: none;
}

.center {
    text-align: center;
    margin: 0 auto;
}

.separator {
    position: relative;
    clear: both;
    height: 0;
}

/*Utiliser pour les éléments avec WOW.js*/
.invisible {
    opacity: 0;
    visibility: visible;
}

/**************/
.titreContent{
    text-align: center;
    max-width:800px;
}

.intro {
    font-weight: bold;
    letter-spacing: 1px;
    margin-bottom: 5px;
    text-transform: uppercase;
    font-size: 15px;
}

.titreContent h3 , .titreContent2 h3{
    margin-top:-10px;
    font-size: 45px;
    font-weight: bold;
}
.titreContent2 h3{
     margin-top:0px;
    font-size: 35px;
    font-weight: 500;
}
.titreContent .soustitre{
    font-size: 1.1em;
}
@media (max-width: 1100px) {
    .titreContent{
        max-width:600px;
    }
    .titreContent h3 {
        font-size: 40px;
        margin-bottom: 0px;
    }
    .titreContent2 h3{
        font-size: 30px;
        margin-bottom: 0px;
    }
}
@media (max-width: 600px) {
    .titreContent{
        text-align: left;
        margin: 0px;
        width: 100%;
    }
}
@media (max-width: 500px) {
    .titreContent h3{
        font-size: 35px;
    }
    .titreContent2 h3{
        font-size: 25px;
    }
    .titreContent .soustitre{
        font-size: 1em;
    }
}
/**************/

h1, h2, h3, h4, p {
    position: relative;
    display: block;
    font-weight: normal;
    letter-spacing: 0.5px;
    margin-top:0.5em;
    line-height:1.5em;
    margin-bottom:0.8em;
    font-size:1.05em
}

h3{
    font-size: 60px;
    line-height: 1.15em;
    margin: 5px 0;
    color: black;
    text-transform: none;
    text-align: left;
}

ul.list {
    margin-top:0.5em;
    list-style: disc;
    margin-left: 1.5em;
    text-align: left;
}

ul.list li {
    font-size: 1.05em;
    padding-bottom: 0.8em;
    line-height: 1.5em;
}


@media (max-width: 1100px) {
    h1, h2, h3, h4, p {
        font-size:0.95em;
        margin-bottom:1em;
    }
    h3{
        font-size: 40px;
    }
    ul.list li {
        font-size: 0.95em;
    }
}

a#btn_up {
    z-index: 100;
    width: 60px;
    height: 60px;
    background-image: url("../images/site/up.png");
    position: fixed;
    bottom: 170px;
    right: 5px;
    cursor: pointer;
    display: none;
}

a#btn_up:hover {
    background-image: url("../images/site/up-on.png");
}

@media (max-width: 1100px) {
    a#btn_up {
        width: 40px;
        height: 40px;
        background-image: url("../images/site/up-mobile.png");
    }
    a#btn_up:hover {
        background-image: url("../images/site/up-on-mobile.png");
    }
}

.header {
    z-index: 100;
}

.content {
    position: relative;
    display: block;
    padding: 0 2em;
}

.grid-container {
    margin-left: auto;
    margin-right: auto;
    width: 96%;/*AMAL : ne plus modifier*/
    max-width: 1450px;/*AMAL: à modifier*/
    border:0px solid red;
}

#pageContent {
    position: relative;
    display: block;
    text-align: left;
    z-index: 10;
    word-spacing: 0.05em;
}

#pageContent .content {
    background: transparent;
    min-height: 100px;
}

.hide-on-desktop {
    display: none !important;
}

.hide-both{
    display: none !important;
}

@media only screen and (max-width: 1100px){
    .hide-on-mobile {
        display: none !important;
    }

    .hide-on-desktop {
        display: block !important;
    }
}
/***************************************************************/

/***************************************************************/
/************************ ENCARD DE PAGE ***********************/

.encard-containeur {
    position: relative;
    padding: 30px 45px;
    display: block;
    width: 90%;
    margin: 0px auto;
    border:2px solid rgb(0,44,55);
    overflow: visible;
    text-align: justify;
}

.encard-containeur h3{
    text-align: center;
}
@media only screen and (max-width: 650px){

    .encard-containeur {
        padding: 30px 30px;
    }

    span.confidentialite{
        font-size: 0.95em;
    }
}
/***************************************************************/
/**************************** Footer ***************************/

.site-footer {
    background-color: black;
    color: rgb(150,150,150);
    padding: 20px 15px;
    font-size: 17px;
    height: 70px;
}

.footer-links {
    display: inline-block;
    line-height: 1.5em;
}

.footer-links a, .footer-links .toutdroit {
    color: rgb(150,150,150);
    text-decoration: none;
    padding: 5px;
}

.footer-links a:hover{
    color: white;
}

.footer-separator {
    padding: 0 5px;
}

/*.footer-separator-mobile{
    display: none;
    max-width: 5px;
    margin: 0px auto;
    margin-top: 15px;
    margin-bottom: 15px;
}*/

@media only screen and (max-width: 1100px){
    .site-footer {
        padding: 15px;
        font-size: 14px;
        height: 55px;
    }
}
@media only screen and (max-width: 650px){
    .site-footer {
        padding: 15px;
        font-size: 14px;
        height: auto;
    }
    .site-footer a{
        line-height: 25px;
    }
    .footer-reaid{
        display: none;
    }
    .reaid{
        display: block;
    }
}
@media only screen and (max-width: 400px){
    .site-footer {
        font-size: 13px;
    }
}
/***************************************************************/