/*@import url("https://use.typekit.net/qhy4ycp.css");*/


@import url("https://use.typekit.net/lhk8jse.css");

:root {          

    /* COLORS */
    --color-red: #f00;
    --color-green: #1aaf0b; 
    --color-font: #fff;
    --color-title: #000;
    --color-0: #fff;
    --color-1: #000;
    --color-2: #606060;
    --color-3: #fff;
    --color-theme-1: #172744;;
    --color-theme-2: #243e69;

    --color-lululanantelle: #ede24d;
    --color-lanantelle: #e66366;
    --color-amel: #24586d;

    


    /* FOOTER */
    --footer-bg: #000;
    --footer-color: #fff;
    --footer-color-a: #ddd;
    --footer-color-a-hover: #aaa;


    /* MENU DESKTOP */
    --menu-desktop-color: #fff;
    --menu-desktop-color-active: #fff;
    --menu-desktop-color-hover: #ccc;

    /* MENU MOBILE */
    --menu-mobile-color: #fff;
    --menu-mobile-color-active: #fff;
    --menu-mobile-color-hover: #ccc;

    --menu-mobile-contact-color: #fff;
    --menu-mobile-fa-color: #fff;
    --menu-mobile-fa-go-color: #fff;

    --menu-mobile-fa-rs-color: #fff;

    /* MENU BTN */
    --header-menuBtn-bg: transparent;
    --header-menuBtn-color: #fff;

    /* BODY */
    --font-family-1: century-gothic, sans-serif;
    --font-size-1: 1rem;

    --font-family-2: century-gothic, sans-serif;

    /* COOKIE */
    --cookie-bg: rgba(20,20,20,0.95);
    --cookie-color: #fff;
    --cookie-a-color: #fff;


    /* NEW */

    --header-height: 80px;
    --header-logo-height : 60px;
    --header-logo-svg-color : #252525;

    --header-isTop-bg: #000;
    --header-isSticky-bg: #000;



}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-family-2);
}


body {
    margin: 0;
    font-family: var(--font-family-1);
    font-size: var(--font-size-1);    
    color: var(--color-font);
    line-height: 1.5;
    letter-spacing: 0.05rem;
    font-weight: 300;
    overflow-x: hidden;
    background: #000;
}

html {
    display: flex;
    flex-direction: column;
    height: 100%;
    margin: 0;
    padding: 0;
    width: 100%;
}



/* Works on Firefox */
html {
  scrollbar-width: thin;
  scrollbar-color: transparent;
}

/* Works on Chrome, Edge, and Safari */
::-webkit-scrollbar {
  width: 8px;
    height: 0;
}

::-webkit-scrollbar-track {
  background: #252525;
}

::-webkit-scrollbar-thumb {
    background-color: #444;
    border: 0;
    border-radius: 0.2rem;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--color-title);
}

.container {
    margin-top: var(--header-height);
    padding-top: 2rem;
    padding-bottom: 2rem;
}


.red {
    color: var(--color-red);
}

.green {
    color: var(--color-green);
}


/*------------------ BOUTONS ------------------*/

.btn1 {
    display: inline-flex;
    cursor: pointer;
    background: var( --color-theme-1);
    color: var( --color-0);
    padding: 1rem 1.5rem;
}

.btn1:hover, .btn1:focus {
    background: var( --color-theme-2);
}



/* ------------- HEADER ------------- */

/*
main {
    padding-top: calc( var(--header-height) + 0rem );
}
*/



#header {
    display: none;
}

#header #header_col1 {
    line-height: 0;
}


#header #header_col1 svg {
    height: var(--header-logo-height);
    fill: #fff;
}

#header .header_logo > * {
    height: var(--header-logo-height);
    width: auto;
}

#header .header_logo > svg {
    fill: var(--header-logo-svg-color);
}

.isTop #header {
    position: fixed;
    display: block;
    width: 100%;
    background-color: var(--header-isTop-bg);
    z-index: 9;
    top: 0;
}
  
.isSticky #header {
    position: fixed;
    display: block;
    width: 100%;
    background-color: var(--header-isSticky-bg);
    z-index: 9;
    top: 0;
}


.page_accueil.isTop #header  {
    background: transparent;
}

  
#header .header_wrapper {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    height: var(--header-height);
    max-width: 1920px;
    margin-left: auto;
    margin-right: auto;
}
  
div#header div#header_col1, div#header div#header_col2 {
    position: relative;
}
  

@media screen and (min-width: 961px) {

    .page_accueil #header {
        position: fixed;
        display: block;
        width: 100%;
        background-color: transparent;
        z-index: 9;
        top: 0;
    }

    .page_accueil .isSticky #header {
        background-color: transparent;
    }

}




.popup {
    position: fixed;
    top: 0;
    right: 0;
    width: 90%;
    max-width: 400px;
    background: transparent;
    z-index: 2;
    height: 100%;
    z-index: -3;
    opacity: 0;
    transform: translateX(250px);
    transition: all ease 2s;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
}

.popupOpen .popup {
    display: block;
    z-index: 15;
    opacity: 1;
    top: 0;
    bottom: 0;
    background: #172744;
    right: 0;
    transform: translateX(0);
    color: #fff;
    transition: all ease 2s;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
}

.popup_header {
    height: var(--header-height);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.popup_content {
    height: calc( 100% - var(--header-logo-height) );
    overflow: auto;
    position: absolute;
    width: 100%;
}

.popup .popup_content > * {
    display: none;
}

.popupOpen .popup_content > * {
    display: block;
    margin-bottom: 3rem;
    text-align: center;
}

body[popup-open="menu"] .popup .popup_content .popup_content_menu {
    display: block;
    margin-bottom: 3rem;
}

.popup .popup_content ul {
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 0;
}


#header_col2 {
    display: flex;
    flex-direction: row;
    align-items: center;
}



.menu-rs ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
}

.menu-rs ul li {
    list-style: none;
}

.menu-rs ul li a {
    padding: 1rem;
    font-size: 1.5rem;
    color: #fff;
}

a.btn_popup {
    padding-left: 1rem;
    font-size: 1.6rem;
    color: #fff;
    cursor: pointer;
}


a.btn_popup[btn-action="close"] {
    padding-right: 1rem;
}









a.btnHautPage {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding-left: 1rem;
    cursor: pointer;
}

a.btnHautPage span {
    font-size: .6rem;
    text-transform: uppercase;
    font-weight: bold;
    margin: 0.5rem;
}

.menu-main li {
    list-style: none;
}

.menu-main a {
    font-size: .8rem;
    text-transform: uppercase;
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
    display: block;
    padding-left: 1rem;
    padding-right: 1rem;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
}

.menu-main a.active {
    background-color: rgba(196,190,74,0.1);
}

.menu-main h4 {
    position: relative;
    color: #fff;
    padding-left: 1rem;
    padding-right: 1rem;
    font-size: 1.2rem;
    font-family: var(--font-family-1);
    margin-bottom: 0;
    margin-top: 1.25rem;
}


body.popupOpen {
    overflow: hidden;
}

.popupOpen .popup_back {
    display: block;
    opacity: 1;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    background: rgba(0,0,0,.8);
    filter: contrast(0.5);
}
.popup_back {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: 5;
    display: none;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}

.menu-main .separator {
    position: relative;
    margin-bottom: 1rem;
}


/*---------------------------------*/








/*------------------ FOOTER ------------------*/

#footer {
    position: relative;
    background: var(--footer-bg);
    color: var(--footer-color);
    font-size: .85em;
    padding: 1rem;
    text-align: center;
}

.footerWrapper {
}



#footer  {
    text-align: center;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

#footer a {
    color: var(--footer-color-a);
    text-decoration: none;
}

#footer a:hover {
    color: var(--footer-color-a-hover);
}




/*------------------ MARGES ------------------*/

.ctn {
    padding-right: 5.3vw;
    padding-left: 5.3vw;
}


@media screen and (min-width: 768px) {

    .ctn {
        padding-right: 7.42vw;
        padding-left: 7.42vw;
    }

    #header .header_wrapper {
        padding-left: 2rem;
        padding-right: 2rem;
    }
    
}

@media screen and (min-width: 961px) {

    .ctn {
        padding-right: 13vw;
        padding-left: 13vw;
    }
    
}

@media only screen and (min-width: 1921px) {

    .ctn {
        margin-right: auto;
        margin-left: auto;
        padding-right: 25rem;
        padding-left: 25rem;
    }

}



.menu-rs ul li a.btn30 {
    padding: 0.8rem 1.5rem;
    font-size: .8rem;
    color: #000;
    background: #fff;
    text-transform: uppercase;
    border-radius: 3rem;
    font-weight: bold;
    margin-right: 1rem;
    cursor: pointer;
    text-decoration: none;
} 

.header_logo {
    padding: 1rem;
}






h1 {
    color: #fff;
}

h2 {
    color: #fff;
}

h3 {
    color: #fff;
}