/* 
:root {
  --noir: #162F5A;
  --gris-pale: #F4F4F4;
  --blanc: #ffffff;
  --accent: #FAA61A;
  --principale: #EF4123;
}
*/

/* GP - main.css */
*, *::before, *::after { box-sizing: inherit; }
.site-content, .entry-header { word-wrap: break-word; }
.site-content { display: flex; }
main { display: block; }
img {
    height: auto;
    max-width: 100%;
}
a {
    text-decoration: none;
}
.main-navigation a, .menu-toggle, .navigation-main-menu {
    font-size: 20px;
}
html, body, p, ol, ul, li, dl, dt, dd, blockquote, figure, fieldset, legend, textarea, pre, iframe, hr, h1, h2, h3, h4, h5, h6 {
    margin: 0;
    padding: 0;
    border: 0;
}

/* GENERAL */
.grid-container {
    width: 100%;
}

html,
body { overflow-x: hidden; } 
    
.site { padding: 0px !important; min-width: 100% !important; } 
.site-main>* { margin-bottom: 0 !important; } 
.site-content #primary.content-area-full { min-width: 100%; } 
.section-padding { padding: 100px 0px !important; } 
.display-none { display: none; } 
.separate-containers .site-main { margin: 0px; }
.effet-paralax { background-attachment: fixed; }

.grid-container {
    max-width: 1400px !important;
    padding-left: 0px !important;
    padding-right: 0px !important;
    width: 100% !important;
    margin-left: auto;
    margin-right: auto;
}

.grid-container:before {
    display: none !important;
}

.grid-container:after {
    display: none !important;
}

/* Fonts */
h1, h2, h3, h4, h5, h6, p, ol, ul, a {
    font-family: "Montserrat", sans-serif !important;
}

h1 {
    font-weight: 700 !important;
    font-size: 50px !important;
    line-height: 1.3em !important;
}

h2 {
    font-weight: 600 !important;
    font-size: 50px !important;
    line-height: 1.3em !important;
}

h3 {
    font-weight: 700 !important;
    font-size: 26px !important;
}

h4 {
    font-size: 22px !important;
    line-height: 1.2em !important;
}

p {
    font-size: 16px !important;
    line-height: 28px !important;
}

h4.small { font-size: 22px; } 
section ul, 
section ol {
    margin: 0px 0px 20px 18px;
}

/* Liens a */
.section-contenus a:not(.button),
.section-contenu-apres a:not(.button),
/* .accordeon-bottom a:not(.button), */
.tab-content a:not(.button):not(.media):not(.courriel),
.accordeon-bottom a:not(.button):not(.media):not(.courriel) {
    color: var(--accent);
    font-weight: bold;
}

.section-contenus a:not(.button):hover,
.section-contenu-apres a:not(.button):hover,
/* .accordeon-bottom a:not(.button):hover, */
.tab-content a:not(.button):not(.media):not(.courriel):hover,
.accordeon-bottom a:not(.button):not(.media):not(.courriel):hover {
    color: var(--principale);
}

.bg-accent .section-contenus a:not(.button),
.bg-accent .section-contenu-apres a:not(.button) {
    color: var(--principale);
}

.bg-accent .section-contenus a:not(.button):hover,
.bg-accent .section-contenu-apres a:not(.button):hover {
    color: var(--blanc);
}

.bg-principale .section-contenus a:not(.button),
.bg-principale .section-contenu-apres a:not(.button) {
    color: var(--accent);
}

.bg-principale .section-contenus a:not(.button):hover,
.bg-principale .section-contenu-apres a:not(.button):hover {
    color: var(--blanc);
}

.footer.bg-blanc .footer-copyright a:not(.button),
.footer.bg-gris .footer-copyright a:not(.button),
.footer.bg-noir .footer-copyright a:not(.button) {
    color: var(--accent);
    font-weight: bold;
}
.footer.bg-blanc .footer-copyright a:not(.button):hover,
.footer.bg-gris .footer-copyright a:not(.button):hover,
.footer.bg-noir .footer-copyright a:not(.button):hover {
    color: var(--principale);
}

.footer.bg-noir .footer-copyright a:not(.button) {
    color: var(--blanc);
    font-weight: bold;
}
.footer.bg-noir .footer-copyright a:not(.button):hover {
    color: var(--accent);
}

.footer.bg-principale .footer-copyright a:not(.button),
.footer.bg-accent .footer-copyright a:not(.button) {
    color: var(--blanc);
    font-weight: bold;
}
.footer.bg-principale .footer-copyright a:not(.button):hover,
.footer.bg-accent .footer-copyright a:not(.button):hover {
    color: var(--gris);
}

/* TEXT TRANSFORMATIONS */
.text-bold { font-weight: bold; } 
.text-italic { font-style: italic; } 
.text-no-italic { font-style: normal; } 
.uppercase { text-transform: uppercase; } 
.text-center { text-align: center; } 
.text-left { text-align: left; } 

.texte-centre { text-align: center; } 
.texte-gauche { text-align: left; } 
.texte-droite { text-align: right; } 

/* BACKGROUNDS */
.transparent-bg { background-color: transparent; } 
.bg-img { background-color: transparent; } 

/* PADDING */
.pad10 { padding: 10px; } 
.pad20 { padding: 20px; } 
.pad30 { padding: 30px; } 
.pad40 { padding: 40px; } 
.pad50 { padding: 50px; } 
.pad60 { padding: 60px; } 
.pad80 { padding: 80px; } 
.padT10 { padding-top: 10px; } 
.padT20 { padding-top: 20px; } 
.padT30 { padding-top: 30px; } 
.padT40 { padding-top: 40px; } 
.padT50 { padding-top: 50px; } 
.padT60 { padding-top: 60px; } 
.padT80 { padding-top: 80px; } 
.padB10 { padding-bottom: 10px; } 
.padB20 { padding-bottom: 20px; } 
.padB30 { padding-bottom: 30px; } 
.padB40 { padding-bottom: 40px; } 
.padB50 { padding-bottom: 50px; } 
.padB60 { padding-bottom: 60px; } 
.padB80 { padding-bottom: 80px; } 
.padL10 { padding-left: 10px; } 
.padL20 { padding-left: 20px; } 
.padL30 { padding-left: 30px; } 
.padL40 { padding-left: 40px; } 
.padL50 { padding-left: 50px; } 
.padL60 { padding-left: 60px; } 
.padL80 { padding-left: 80px; } 
.padR10 { padding-right: 10px; } 
.padR20 { padding-right: 20px; } 
.padR30 { padding-right: 30px; } 
.padR40 { padding-right: 40px; } 
.padR50 { padding-right: 50px; } 
.padR60 { padding-right: 60px; } 
.padR80 { padding-right: 80px; } 
.noPad { padding: 0px; } 
.noPadT { padding-top: 0px; } 
.noMPadB { padding-bottom: 0px; } 
.noPadR { padding-right: 0px; } 
.noPadL { padding-left: 0px; } 

/* MARGIN */
.marg10 { margin: 10px; } 
.marg20 { margin: 20px; } 
.marg30 { margin: 30px; } 
.marg40 { margin: 40px; } 
.marg50 { margin: 50px; } 
.marg60 { margin: 60px; } 
.marg80 { margin: 80px; } 
.margT10 { margin-top: 10px; } 
.margT20 { margin-top: 20px; } 
.margT30 { margin-top: 30px; } 
.margT40 { margin-top: 40px; } 
.margT50 { margin-top: 50px; } 
.margT60 { margin-top: 60px; } 
.margT80 { margin-top: 80px; } 
.margB4 { margin-bottom: 4px; } 
.margB10 { margin-bottom: 10px; } 
.margB20 { margin-bottom: 20px; } 
.margB30 { margin-bottom: 30px; } 
.margB40 { margin-bottom: 40px; } 
.margB50 { margin-bottom: 50px; } 
.margB60 { margin-bottom: 60px; } 
.margB80 { margin-bottom: 80px; } 
.margL10 { margin-left: 10px; } 
.margL20 { margin-left: 20px; } 
.margL30 { margin-left: 30px; } 
.margL40 { margin-left: 40px; } 
.margL50 { margin-left: 50px; } 
.margL60 { margin-left: 60px; } 
.margL80 { margin-left: 80px; } 
.margR10 { margin-right: 10px; } 
.margR20 { margin-right: 20px; } 
.margR30 { margin-right: 30px; } 
.margR40 { margin-right: 40px; } 
.margR50 { margin-right: 50px; } 
.margR60 { margin-right: 60px; } 
.margR80 { margin-right: 80px; } 
.noMarg { margin: 0px !important; } 
.noMargT { margin-top: 0px !important; } 
.noMargB { margin-bottom: 0px !important; } 
.noMargR { margin-right: 0px !important; } 
.noMargL { margin-left: 0px !important; } 
.margR-100 { margin-right: -100px; } 
.margL-100 { margin-left: -100px; } 
.margin-auto { margin: auto; } 

/* DISPLAY */
.block { display: block; } 
.inline-block { display: inline-block; } 
.flex { display: flex; } 
.hidden { display: none !important; } 
.visibility-hidden { visibility: hidden; } 
.fullwidth { width: 100%; } 

/* FLEX */
.row-reverse { flex-direction: row-reverse; } 
.justify-start { justify-content: flex-start; } 
.justify-end { justify-content: flex-end; } 
.justify-center { justify-content: center; } 
.justify-space-between { justify-content: space-between; } 
.wrap { flex-wrap: wrap; } 
.align-items-center { align-items: center; } 
.align-items-end { align-items: flex-end; } 
.align-content-center { align-content: center; } 
.align-self-center { align-self: center; } 
.col-gap-20 { column-gap: 20px; } 
.col-gap-40 { column-gap: 40px; } 
.col-gap-60 { column-gap: 60px; } 
.flex-column { flex-direction: column; } 
.flex-row { flex-direction: row; } 

/* BORDER RADIUS */
.radius10 { border-radius: 10px; } 
.radius20 { border-radius: 20px; } 
.radius30 { border-radius: 30px; } 
.round-corners-left-30 { border-radius: 30px 0 0 30px; } 
.round-corners-right-30 { border-radius: 0 30px 30px 0; } 
.round-corners-top-30 { border-radius: 30px 30px 0 0 !important; } 
.round-corners-bottom-30 { border-radius: 0 0 30px 30px !important; } 
.round-corners-left-100 { border-radius: 100px 0 0 100px; } 
.round-corners-right-100 { border-radius: 0 100px 100px 0; } 

/* OPACITY */
.opacity-10 { opacity: 0.1; } 
.opacity-20 { opacity: 0.2; } 
.opacity-30 { opacity: 0.3; } 
.opacity-40 { opacity: 0.4; } 
.opacity-50 { opacity: 0.5; } 
.opacity-60 { opacity: 0.6; } 
.opacity-70 { opacity: 0.7; } 
.opacity-80 { opacity: 0.8; } 
.opacity-90 { opacity: 0.9; } 

/* SHADOW */
.box-shadow { box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.2); } 

/* FLOATS & CLEAR */
.float-right { float: right; } 
.float-left { float: left; } 
.clear { clear: both; } 

/* COULEURS */
.coul-noir, .coul-hover-noir:hover { color: var(--noir); } 
.bg-noir, .bg-hover-noir:hover { background-color: var(--noir); } 
.border-noir, .border-hover-noir:hover { border: 2px solid var(--noir); } 
.small-border-noir, .small-border-hover-noir:hover { border: 1px solid var(--noir); } 

.coul-gris, .coul-hover-gris:hover { color: var(--gris-pale); } 
.bg-gris, .bg-hover-gris:hover { background-color: var(--gris-pale); } 
.border-gris, .border-hover-gris:hover { border: 2px solid var(--gris-pale); } 
.small-border-gris, .small-border-hover-gris:hover { border: 1px solid var(--gris-pale); } 

.coul-gris-pale, .coul-hover-gris-pale:hover { color: var(--gris-pale); } 
.bg-gris-pale, .bg-hover-gris-pale:hover { background-color: var(--gris-pale); } 
.border-gris-pale, .border-hover-gris-pale:hover { border: 2px solid var(--gris-pale); } 
.small-border-gris-pale, .small-border-hover-gris-pale:hover { border: 1px solid var(--gris-pale); } 

.coul-blanc, .coul-hover-blanc:hover { color: var(--blanc); } 
.bg-blanc, .bg-hover-blanc:hover { background-color: var(--blanc); } 
.border-blanc, .border-hover-blanc:hover { border: 2px solid var(--blanc); } 
.small-border-blanc, .small-border-hover-blanc:hover { border: 1px solid var(--blanc); } 

.coul-accent, .coul-hover-accent:hover { color: var(--accent); } 
.bg-accent, .bg-hover-accent:hover { background-color: var(--accent); } 
.border-accent, .border-hover-accent:hover { border: 2px solid var(--accent); } 
.small-border-accent, .small-border-hover-accent:hover { border: 1px solid var(--accent); } 

.coul-principale, .coul-hover-principale:hover { color: var(--principale); } 
.bg-principale, .bg-hover-principale:hover { background-color: var(--principale); } 
.border-principale, .border-hover-principale:hover { border: 2px solid var(--principale); } 
.small-border-principale, .small-border-hover-principale:hover { border: 1px solid var(--principale); } 

.filtre-noir { background-color: rgba(0, 0, 0, 0.6); background-blend-mode: multiply;}
.filtre-blanc { background-color: rgba(255, 255, 255, 0.75); background-blend-mode: overlay;}

/* --------------- RESPONSIVE --------------- */

@media screen and (max-width: 1480px) {
    .section-padding {
        padding: 100px 40px !important;
    }
}

@media screen and (max-width: 1270px) {
    /* .grid-container {
        max-width: none;
    } */
}

@media screen and (max-width: 1024px) {}

@media screen and (max-width: 960px) {}

@media screen and (max-width: 820px) {}

@media screen and (max-width: 768px) {
    .section-padding {
        padding: 80px 40px !important;
    }

    h1 {
        font-size: 40px !important;
        line-height: 60px !important;
    }

    h2 {
        font-size: 32px !important;
        line-height: 40px !important;
    }

    h3 {
        font-size: 24px !important;
        line-height: 32px !important;
    }

    h4 {
        font-size: 20px !important;
        line-height: 26px !important;
    }
}

@media screen and (max-width: 600px) {
    
    .section-padding {
        padding: 60px 20px !important;
    }
}

@media screen and (max-width: 450px) {}
