/*
Theme Name: L'instant custom theme
Theme URI: https://www.agence-pure.com
Author: Agence Pure
Author URI: https://www.agence-pure.com
Description: Le thème de L'instant, par l'Agence Pure
Version: 1.0
*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&family=Taviraj:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

*{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

*:focus{
	outline: none;
}

body{
    background-color: #FAFAFA;
    -webkit-overflow: overlay;
    overflow: overlay;
    font-family: 'Lato', sans-serif;
    font-weight: 400;
}
body.showMenu{
    overflow: hidden;
}

body::-webkit-scrollbar-track
{
	border-radius: 0px;
	background-color: transparent;
}

body::-webkit-scrollbar
{
	width: 6px;
	background-color: transparent;
}

body::-webkit-scrollbar-thumb
{
	border-radius: 0px;
	background-color: #C29F84;
}
::-moz-selection { /* Code for Firefox */
    color: #fff;
    background: #C29F84;
}

::selection {
    color: #fff;
    background: #C29F84;
}

/* FLUID FONT USING CLASS */

body {font-size: 14px;line-height: 1.4em;color: #1e1c1e;letter-spacing: .03em;}
.font-150{font-size: 110px;line-height: 0.8em;}
.font-100{font-size: 72px;line-height: 0.8em;}
.font-90{font-size: 65px;line-height: 1em;}
.font-70{font-size: 50px;line-height: 1em;}
.font-60{font-size: 40px;line-height: 1em;}
.font-50{font-size: 30px;line-height: 1.1em;}
.font-46{font-size: 28px;line-height: 1.2em;}
.font-40{font-size: 26px;line-height: 1.2em;}
.font-35{font-size: 23px;line-height: 1.2em;}
.font-30{font-size: 20px;line-height: 1.2em;}
.font-28{font-size: 18px;line-height: 1.4em;}
.font-24{font-size: 17px;line-height: 1.4em;}
.font-22{font-size: 16px;line-height: 1.4em;}
.font-18{font-size: 14px;line-height: 1.4em;}
.font-16{font-size: 13px;line-height: 1.4em;}
.font-15{font-size: 13px;line-height: 1.4em;}
.font-14{font-size: 12px;line-height: 1.4em;}
.font-13{font-size: 11px;line-height: 1.4em;}
.font-12{font-size: 10px;line-height: 1.4em;}
.font-11{font-size: 10px;line-height: 1.4em;}
@media screen and (min-width: 320px) {
	body {font-size: calc(14px + (16 - 14) * ((100vw - 320px) / (1500 - 320)));}
    .font-150 {font-size: calc(110px + (120 - 70) * ((100vw - 320px) / (1500 - 320)));}
    .font-100 {font-size: calc(90px + (90 - 50) * ((100vw - 320px) / (1500 - 320)));}
    .font-90 {font-size: calc(80px + (80 - 40) * ((100vw - 320px) / (1500 - 320)));}
    .font-70 {font-size: calc(60px + (70 - 40) * ((100vw - 320px) / (1500 - 320)));}
	.font-60 {font-size: calc(40px + (60 - 40) * ((100vw - 320px) / (1500 - 320)));}
	.font-50 {font-size: calc(30px + (50 - 30) * ((100vw - 320px) / (1500 - 320)));}
    .font-46 {font-size: calc(28px + (46 - 26) * ((100vw - 320px) / (1500 - 320)));}
    .font-40 {font-size: calc(26px + (40 - 20) * ((100vw - 320px) / (1500 - 320)));}
    .font-35 {font-size: calc(23px + (35 - 20) * ((100vw - 320px) / (1500 - 320)));}
	.font-30 {font-size: calc(20px + (30 - 20) * ((100vw - 320px) / (1500 - 320)));}
    .font-28 {font-size: calc(18px + (18 - 12) * ((100vw - 320px) / (1500 - 320)));}
    .font-24 {font-size: calc(17px + (24 - 12) * ((100vw - 320px) / (1500 - 320)));}
    .font-22 {font-size: calc(16px + (22 - 12) * ((100vw - 320px) / (1500 - 320)));}
    .font-18 {font-size: calc(16px + (18 - 12) * ((100vw - 320px) / (1500 - 320)));}
    .font-16 {font-size: calc(13px + (16 - 12) * ((100vw - 320px) / (1500 - 320)));}
    .font-15 {font-size: calc(13px + (15 - 12) * ((100vw - 320px) / (1500 - 320)));}
	.font-14 {font-size: calc(12px + (14 - 12) * ((100vw - 320px) / (1500 - 320)));}
	.font-13 {font-size: calc(11px + (13 - 11) * ((100vw - 320px) / (1500 - 320)));}
    .font-12 {font-size: calc(10px + (12 - 11) * ((100vw - 320px) / (1500 - 320)));}
    .font-11 {font-size: calc(10px + (11 - 11) * ((100vw - 320px) / (1500 - 320)));}
}
@media screen and (min-width: 1500px) {
	body {
		font-size: 16px;
	}
    .font-150{font-size: 150px}
    .font-100{font-size: 100px}
    .font-90{font-size: 90px}
    .font-70{font-size: 70px}
	.font-60{font-size: 60px}
	.font-50{font-size: 50px}
    .font-46{font-size: 46px}
    .font-40{font-size: 40px}
    .font-35{font-size: 35px}
	.font-30{font-size: 30px}
    .font-28{font-size: 28px}
    .font-24{font-size: 24px}
    .font-22{font-size: 22px}
    .font-18{font-size: 18px}
    .font-16{font-size: 16px}
    .font-15{font-size: 15px}
	.font-14{font-size: 14px}
	.font-13{font-size: 13px}
    .font-12{font-size: 12px}
    .font-11{font-size: 11px}
}

.uppercase{
    text-transform: uppercase;
}

.font-white{
	color : white;
}

/* FONT FAMILY */
.font-regular{
	font-weight: 400;
}

.font-bold{
	font-weight: 700;
}
.font-semi-bold{
    font-weight: 500;
}

.font-medium{
    font-weight: 600;
}

.font-light{
    font-weight: 300;
}

.font-thin{
    font-weight: 200;
}

.font-inter{
    font-family: 'Inter', sans-serif;
}

.font-interBold{
    font-family: 'Inter', sans-serif;
    font-weight: 700;
}

.font-letter-spacing-190{
    letter-spacing: 0.05em;
}

.font-taviraj{
    font-family: 'Taviraj', serif;
}

/* Libre Baskerville */
.font-alt{
    font-family: 'Libre Baskerville', serif;
}

/* COLOR */
.fc-main{
	color: #515140;
}
.fc-main-strong{
	color: #474734;
}
.fc-white{
	color: #fff;
}
.fc-cream{
	color: #D1A86A;
}
.fc-blue{
	color: #2D384B;
}
.fc-dark-blue{
	color: #1B2534;
}
.fc-black{
    color: #000000;
}
.fc-grey{
    color: #7B7B7B;
}
.fc-grey-light{
    color: #B5B4B4
}
.fc-grey-strong{
    color: #414141;
}


/* Background */
.bg-default{
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

/* quick flex */
.flex{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}
.flex-center{
    display: flex;
    justify-content: center;
    align-items: center;
}
.flex-column{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}
.flex-column-center{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

/* fullpage fix */
.fullpage-container{
    max-width: 1920px;
    margin: auto;
}

/* SVG fix */
svg{
    display: block;
}

/* Image fix */
img{
    max-width: 100%;
    display: block;
}

/* Content container
Interligne des paragraphe sauf sur le dernier.
*/
.content-container p{
    margin-bottom: 1em;
}
.content-container p:last-of-type{
    margin-bottom: 0;
}

/* button */
.primary-bt{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    min-width: 230px;
    padding: 0 20px;
    text-decoration: none;
    font-weight: bold;
    transition: all ease .3s;
    color: #1e1c1e;
    background-color: transparent;
    border: solid 2px #1e1c1e;
}
.primary-bt:hover{
    background-color: #1e1e1e;
    color: #fff;
}


.btn_principal,.form-container .form-submit input{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
    max-width: 260px;
    padding : 0 35px;
    text-decoration: none;
    font-weight: 300;
    font-size: 15px;
    font-family: 'Inter';
    transition: all ease .3s;
    text-transform: uppercase;
    color: #FFFFFF;
    background-color: #000000;
    border: solid 1px #000000;
    margin-top: 35px;
    letter-spacing: 1.5px;
    -webkit-appearance: none;
    -webkit-border-radius: 0;
}

.btn_principal:hover, .form-container .form-submit input:hover{
    background-color: #FFFFFF;
    color: #000000;
}

.form-container .form-submit input{
    float: right;
}

/* Slick fix */
.slick-slider{
    max-width: 100%;
}
.slick-track,
.slick-list{
    height: 100%;
}

/* Global contact form */
.form-container input,
.form-container select,
.form-container textarea{
    padding: 10px;
    border: none;
    border-bottom: solid 1px #BEBEBE;
    font-size: 16px;
    font-weight: 400;
    color: #909090;
    font-family: Inter;
    width: 100%;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
}

.form-container label{
    font-size: 11px;
    font-weight: 400;
    color: #B5B4B4;
    font-family: Inter;
    text-transform: uppercase;
}

.form-container .form-input{
    width: 100%;
    margin-bottom: 20px;
}
.form-container .form-row{
    width: 100%;
}
.form-container .form-row-col{
    display: flex;
    justify-content: center;
    align-items: center;
}
.form-container .form-row-col .form-input{
    padding-right: 10px;
    width: 50%;
}
.form-container .form-row-col .form-input:last-of-type{
    padding-right: 0px;
    padding-left: 10px;
}
.form-container .form-submit .form-input{
    text-align: right;
    position: relative;
    display: flex;
    justify-content: flex-end;
}
.form-container .form-submit .ajax-loader{
        position: absolute;
    right: 4px;
    top: 8px;
    margin: 0;
}

.container{
    width: 100%;
    max-width: 1720px;
    margin: auto;
}

.container-small{
    width: 100%;
    max-width: 1280px;
    margin: auto;
}

.container-semi-small{
    width: 100%;
    max-width: 1500px;
    margin: auto;
}


.before-big-title-bar{
    position: relative;
}
.before-big-title-bar::after{
    content: url(images/barre-diag.svg);
    position: absolute;
    width: 53.64px;
    height: 37.26px;
    top: 67px;
    left: -68px;
}

.before-title-bar{
    position: relative;
    margin-left: 35px;
}

.before-title-bar::before{
    content: attr(data-before);
    position: absolute;
    font-weight: 400;
    letter-spacing: 0.19em;
    font-family: Inter;
    font-size: 15px;
    color:#959595;
    /* width: 30px; */
    height: 20px;
    top : -80px;
    left: -38px;
}

.before-title-bar::after{
    content: url(images/barre-diag.svg);
    position: absolute;
    width: 53.64px;
    height: 37.26px;
    bottom: 10px;
    left: -35px;
    transform: scale(0.9);
}


@media screen and (max-width:860px){
    .before-title-bar{
        font-size: 60px;
        margin-left: 25px;
    }
    .before-title-bar::after{
        position: absolute;
        width: 2.64px;
        height: 13.26px;
        bottom: 11px;
        left: -25px;
        transform: scale(0.8);
    }
    .before-title-bar::before {
        content: attr(data-before);
        position: absolute;
        font-weight: 200;
        font-family: Inter;
        font-size: 15px;
        color: #959595;
        /* width: 30px; */
        height: 20px;
        top: -62px;
        left: -24px;
    }
}


@media screen and (max-width:480px){
    .before-title-bar{
        font-size: 40px;
        margin-left: 15px;
    }
    .before-title-bar::after{
        position: absolute;
        width: 2.64px;
        height: 13.26px;
        bottom: 0px;
        left: -15px;
        transform: scale(0.6);
    }
    .before-title-bar::before {
        content: attr(data-before);
        position: absolute;
        font-weight: 200;
        font-family: Inter;
        font-size: 15px;
        color: #959595;
        /* width: 30px; */
        height: 20px;
        top: -62px;
        left: -13px;
    }
}



/* HEADER */
#header-v-mobile{
    background-color: transparent;
    transition: .3s ease background-color;
}

#header-v-mobile .logosvg{
    /* stroke : #FFF; */
    fill : #FFF;
}

header{
    width: 100vw;
    height: 100px;
    display: flex;
    align-items: center;
    z-index: 100000000;
    position: fixed;
    top: 0;
    padding: 0 2vw;
    background-color: #FAFAFA;
}

#header-v-mobile.white{
    background-color: #FAFAFA;
}

#header-v-mobile.white .contact, #header-v-mobile.white .reseaux-sociaux{
    border-right: black solid 1px !important;
}

#header-v-mobile.white .container .col-right .menu{
    border-left: black solid 1px !important;
}

#header-v-mobile.white svg{
    fill : #000 !important;
}

#header-v-mobile.white .col-right .contact span:last-of-type svg{
    fill : #000 !important;
    stroke: #000 !important;
}

#header-v-mobile.white .col-right .contact span:last-of-type svg path{
    fill : #000 !important;
    stroke: #000 !important;
}

#header-v-mobile.white a{
    color : #000 !important;
}

#header-v-mobile.white .menu div{
    background-color : #000 !important;
}

#header-v-mobile.white svg path{
    fill : #000 !important;
}

header.active{
    background-color: transparent;
}

header .container{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

header .container .col-left{
    width: 10%;
}

header .container .col-left svg.whitelogo{
    fill: white;
}

header .container .col-right{
    width: 90%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

header .container .col-right > div{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 30px;
}

header .container .col-right .contact span{
    display: flex;
    align-items: center;
}

#header-v-mobile .col-right .contact,
#header-v-mobile .col-right .reseaux-sociaux{
    border-right: #fff solid 1px;
}

header .container .col-right .contact,
header .container .col-right .reseaux-sociaux{
    border-right: #000000 solid 1px;
}

header .container .col-right .reseaux-sociaux svg{
    opacity: 0.5;
    transition: .3s ease;
}
header .container .col-right .reseaux-sociaux svg:hover{
    opacity: 1;
}

#header-v-mobile .container .col-right .menu{
    border-left: #ffffff44 solid 1px;
}

header .container .col-right .menu{
    border-left: #00000044 solid 1px;
}

header .container .col-right .contact span svg{
    margin-right: 7px;
    transition: .3s ease-in-out;
}

header .container .col-right .contact span a{
    text-decoration: none;
    transition: .3s ease-in-out;
}

header .container .col-right .contact span a:hover{
    text-decoration: underline;
}


header .container .col-right .reseaux-sociaux a:first-child,
header .container .col-right .partenaires a:first-child,
header .container .col-right .contact span:first-child{
    margin-right: 25px;
}

header .container .col-right .partenaires svg{
    opacity: 0.5;
    transition: .3s ease;
}
header .container .col-right .partenaires svg:hover{
    opacity: 1;
}


header .container .col-right .menu{
    padding-left: 50px;
    height: 20px;
    width: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}

@media screen and (max-width : 1140px){
    header .container .col-right .menu{
        padding-left: 35px;
    }
}

#header-v-mobile .container .col-right .menu > div{
    background-color: #FFFFFF;
}

header .container .col-right .menu > div{
    height: 5px;
    width: 35px;
    background-color: black;
    transition: .3s ease-in-out;
    transform-origin: 7px;
}

header .container .col-right .menu{
    opacity: 0.5;
    transition: .3s ease-in-out;
}

header .container .col-right .menu:hover{
    opacity: 1;
}

header .container .col-right .menu.active {
    border-left: #00000000 solid 1px;
}
header .container .col-right .menu.active > div:first-child{
    transform: rotate(45deg);
    background-color: white;
}

header .container .col-right .menu.active > div:last-child{
    transform: rotate(-45deg);
    background-color: white;
}

@media screen and (max-width : 1500px){

}
@media screen and (max-width : 1140px){
    header .container .col-right > div{
        display: none !important;
    }

    header .container .col-right .contact {
        display: flex !important;
    }

    header .container .col-right .contact span:first-child {
        margin-right: -20px;
    }

    header .container .col-right > div:last-child{
        display: flex !important;
    }
    header .container .col-left a svg{
        width: 110px;
    }
    header{
        height: 75px;
        padding: 0 5vw;
    }
    .btn_principal,.form-container .form-submit input{
        height: 55px;
        font-size: 13px;
    }
}
@media screen and (max-width : 992px){

}
@media screen and (max-width : 768px){

}
@media screen and (max-width : 480px){

}


/* la carte points */
.pointsentre{
    width: 100%;
    border-bottom: dotted 1px #B5B4B4;
    margin : 0 5px;
    margin-bottom: 6px;
}

.prixcarte{
    white-space: nowrap;
}

.descricarte{
    white-space: nowrap;
}

@media screen and (max-width : 768px){
    #tlc-carte .container .bot .container-small-mobile .onglet-content .description-plat{

    }
}


#menu-fullpage{
    display: none;
    position: fixed;
    top : 0;
    left : 0;
    right : 0;
    bottom : 0;
    width: 100vw;
    height: 100vh;
    background-color: #D1A86A;
    z-index: 99999;
}

#menu-fullpage svg{
    position: fixed;
    left : -620px;
    margin: auto;
    top:0;
    bottom:0;
    transform: scale(0.85);
}

#menu-fullpage .container{
    position: relative;
    padding: 5vw 10vw;
    height: 100%;
    display: flex;
    flex-direction: column;
}

#menu-fullpage .container .top{
    height: 68%;
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    padding-bottom: 1vw;
}
#menu-fullpage .container .top nav ul{
    text-align: right;
}
#menu-fullpage .container .top nav ul li{
    list-style-type: none;
    display: block;
    margin-top: 25px;
    transition: .3s ease-in-out;
    transform: translateX(0px);
    opacity: 0.75;
}

#menu-fullpage .container .top nav ul li a{
    text-decoration: none;
}

#menu-fullpage .container .top nav ul li:hover{
    transform: translateX(-25px);
    opacity: 1;
}

#menu-fullpage .container .bottom{
    height: 32%;
    width: 100%;
    display: flex;
}

#menu-fullpage .container .bottom .col-left{
    width: 40%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
}

#menu-fullpage .container .bottom .col-left .tab-container{
    width: 100%;
    height: 65%;
    display: flex;
    flex-wrap: wrap;
    margin-top: 25px;
}

#menu-fullpage .container .bottom .col-left .tab-container > div{
    width: 33%;
    border-right: white 1px solid;
    padding-left: 22px;
}

#menu-fullpage .container .bottom .col-left .tab-container > div:nth-child(3n){
    border-right: white 0px solid;
}

#menu-fullpage .container .bottom .col-left .tab-container > div:nth-child(3n - 2){
    padding-left: 0px;
    max-width: 115px;
}

#menu-fullpage .container .bottom .col-right{
    width: 60%;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

#menu-fullpage .container .bottom .col-right a{
    text-decoration: none;
}
#menu-fullpage .container .bottom .col-right a:hover{
    text-decoration: underline;
}

#menu-fullpage .container .mobile-logos-partenaires{
    display: none;
}

@media screen and (max-width:1500px){
    #menu-fullpage .container .bottom .col-left{
        width: 50%;
    }
    #menu-fullpage .container .bottom .col-right{
        width: 50%;
    }
    #menu-fullpage .container .top nav ul li a{
        font-size: 55px;
    }

    #menu-fullpage .container .bottom .col-left .tab-container > div{
        width: 34%;
        border-right: white 1px solid;
        padding-left: 25px;
        padding-right: 25px;
    }
    #menu-fullpage .container .bottom .col-right a{
        font-size: 13px;
    }
    #menu-fullpage .container .bottom .col-right{
        flex-direction: column-reverse;
        align-items: flex-end;
        justify-content: space-around;
    }
}

@media screen and (max-width:1140px){
    #menu-fullpage{
        display: none;
        position: fixed;
        top : 0;
        left : 0;
        right : 0;
        bottom : 0;
        width: 100vw;
        height: 100vh;
        background-color: #D1A86A;
        z-index: 9999999;
    }

    #menu-fullpage > svg{
        position: fixed;
        left: -800px;
        margin: auto;
        top: -100px;
        bottom:0;
        transform: scale(0.85);
    }

    #menu-fullpage .container{
        position: relative;
        padding: 10vw 9vw;
        padding-top: 100px;
        height: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        overflow: scroll;
        padding-bottom: 200px;
    }

    #menu-fullpage .container .top{
        height: auto;
        width: 100%;
        display: flex;
        align-items: flex-start;
        justify-content: flex-end;
        padding-bottom: 1vw;
    }

    #menu-fullpage .container .mobile-logos-partenaires{
        display: flex;
        justify-content: flex-start;
        align-items: center;
        margin: 60px 0 0px;
        padding-bottom: 35px;
        border-bottom: #FFFFFF77 solid 1px;
        position: relative;
        width: 200px;
    }

    #menu-fullpage .container .mobile-logos-partenaires svg{
        left: unset;
        top : 0;
        bottom : 0;
        position: relative ;
        margin: 0;
        margin-left : 20px;
        transform: scale(1);
    }

    #menu-fullpage .container .mobile-logos-partenaires svg:last-child{

    }

    #menu-fullpage .container .top nav ul{
        text-align: right;
    }

    #menu-fullpage .container .top nav ul li{
        list-style-type: none;
        display: block;
        margin-top: 25px;
        transition: .3s ease-in-out;
        transform: translateX(0px);
        opacity: 0.75;
    }

    #menu-fullpage .container .top nav ul li a{
        text-decoration: none;
        font-size: 30px;
    }

    #menu-fullpage .container .top nav ul li:hover{
        transform: translateX(-25px);
        opacity: 1;
    }

    #menu-fullpage .container .bottom{
        height: 32%;
        width: 100%;
        display: flex;
    }

    #menu-fullpage .container .bottom .col-left{
        display: none;
    }

    #menu-fullpage .container .bottom .col-left .tab-container{
        width: 100%;
        height: 65%;
        display: flex;
        flex-wrap: wrap;
        margin-top: 25px;
    }

    #menu-fullpage .container .bottom .col-left .tab-container > div{
        width: 33%;
        border-right: white 1px solid;
        padding-left: 22px;
    }

    #menu-fullpage .container .bottom .col-left .tab-container > div:nth-child(3n){
        border-right: white 0px solid;
    }

    #menu-fullpage .container .bottom .col-left .tab-container > div:nth-child(3n - 2){
        padding-left: 0px;
        max-width: 115px;
    }

    #menu-fullpage .container .bottom .col-right{
        flex-direction: column;
        justify-content: flex-start;
        width: 100%;
        margin-top: 25px;
    }

    #menu-fullpage .container .bottom .col-right a{
        text-decoration: none;
        margin-bottom: 25px;
        font-size: 16px;
    }
}

@media screen and (max-width:992px){
    #menu-fullpage .container .bottom .col-left{
        display: none;
    }
    #menu-fullpage .container .bottom .col-right{
        width: 100%;
    }

}






/* prefooter */
#th-prefooter{
    height: 250px;
    background: linear-gradient(90deg, rgba(78,78,78,1) 0%, rgba(217,217,217,1) 100%);
    z-index: 999;
    overflow: hidden;
}

#th-prefooter .container-small{
    height: 100%;
}

#th-prefooter .container-small .col-left{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    height: 100%;
}

#th-prefooter .container-small .col-right{
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    padding-left: 3vw;
    padding-bottom: 6vh;
    position: relative;
    width: 50%;
    height: 100%;
}

#th-prefooter .container-small .col-right .card-prefooter{
    position: absolute;
    top : 0;
    right : 0;
    height: 100%;
    width: 90%;
    object-fit: cover;
    pointer-events: none;
}

#th-prefooter .container-small .col-right .btn_article a{
    color: white;
    opacity: 1;
    transition: .3s ease;
}

#th-prefooter .container-small .col-right .btn_article a:hover{
    opacity: 0.5;
}

#th-prefooter .container-small .col-right .btn_article svg,
#th-prefooter .container-small .col-right .btn_article svg path{
    fill:white;
    margin-left: 5px;
}

#th-prefooter .container-small .card-prefooter-mobile{
    display: none;
}

#th-prefooter .container-small .ouvrirpopup{
    cursor: pointer;
}
@media screen and (max-width : 1140px){
    #th-prefooter .container-small .col-right{
        width: 56%;
    }
    #th-prefooter .container-small .col-right .card-prefooter{
        object-fit: unset;
    }
}
@media screen and (max-width : 860px){
    #th-prefooter{
        height: auto;
        background: linear-gradient(90deg, rgba(78,78,78,1) 0%, rgba(217,217,217,1) 100%);
        position: relative;
    }

    #th-prefooter .container-small{
        height: 100%;
        width: 100%;
        padding: 10vw 5vw;
        flex-direction: column;
        justify-content: center;
    }

    #th-prefooter .container-small .col-left{
        display: flex;
        align-items: flex-start;
        justify-content: flex-start;
        width: 100%;
        height: 100%;
        padding: 10px 0;
    }

    #th-prefooter .container-small .col-right{
        display: flex;
        align-items: flex-start;
        justify-content: flex-start;
        padding-left: 0;
        padding-bottom: 0;
        position: relative;
        width: 100%;
        height: 100%;
        padding: 10px 0;
    }

    #th-prefooter .container-small .col-right .card-prefooter{
        display: none;
    }
    #th-prefooter .container-small .card-prefooter-mobile{
        position: absolute;
        bottom : 0;
        right : 0;
        height: 100%;
        width:60%;
        object-fit: cover;
        pointer-events: none;
        z-index: 0;
        display: block;
    }
    #th-prefooter .container-small .col-right .btn_article{
        margin : 0;
    }
    #th-prefooter .container-small .col-right .btn_article a{
        color: white;
    }

    #th-prefooter .container-small .col-right .btn_article svg,
    #th-prefooter .container-small .col-right .btn_article svg path{
        fill:white;
        margin-left: 5px;
    }

}





/* footer section */
footer{
    height: auto;
    background: linear-gradient(120deg, rgba(64,64,64,1) 0%, rgba(22,23,24,1) 37%, rgba(22,23,24,1) 100%);
    padding: 100px 0 50px;
    z-index: 999;
}

footer .container-semi-small{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

footer .container-semi-small > div{
    width: calc(100% / 6);
    height: auto;
    padding: 15px 15px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    min-height: 150px;
}

footer .container-semi-small > div ul{
    list-style-type: none;
}

footer .container-semi-small > div:nth-child(1) svg{
    max-width: 75%;
}
footer .container-semi-small > div:nth-child(1){
    width: 20%;
    align-items: center;
    justify-content: center;
}
footer .container-semi-small > div:nth-child(2){
    width: 15%;
}
footer .container-semi-small > div:nth-child(3){
    width: 15%;
}
footer .container-semi-small > div:nth-child(3) a{
    opacity: 0.7;
    transition: .3s ease;
    color : #fff !important;
    text-decoration : none !important;
}
footer .container-semi-small > div:nth-child(3) a:hover{
    opacity: 1;
    text-decoration : underline !important;
    color : #fff !important;
}
footer .container-semi-small > div:nth-child(4){
    width: 13%;
}
footer .container-semi-small > div:nth-child(5){
    justify-content: flex-end;
    width: 13%;
}
footer .container-semi-small > div:nth-child(6){
    width: 25%;
}
footer .container-semi-small > div:last-child .btn_principal{
    background-color: #D1A86A;
    margin : 0;
    padding: 0 25px;
    letter-spacing: 1.5px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}

footer .container-semi-small > div:last-child .btn_principal:hover{
    background-color: transparent;
    border: solid 1px #d1a96a;
    color: #d1a96a;
}

footer .container-semi-small > div:last-child .rs-box{
    display: flex;
    margin : 15px 0;
}

footer .container-semi-small > div:last-child .rs-box svg{
    margin-right: 15px;
}

footer .container-semi-small > div:last-child .rs-box a{
    opacity: 0.5;
    transition: .3s ease;
}
footer .container-semi-small > div:last-child .rs-box a:hover{
    opacity: 1;
}

footer .container-semi-small:last-child{
    padding-top: 100px;
    text-align: center;
    justify-content: center;
}

footer .container-semi-small:last-child p a{
    color: #C6C6C6;
    transition: .3s ease;
    opacity: 0.5;
    text-decoration: none;
}
footer .container-semi-small:last-child p a:hover{
    opacity: 1;
}

footer ul li a:hover{
    text-decoration: underline !important;
}


@media screen and (max-width : 780px){
    footer{
        height: auto;
        background: linear-gradient(120deg, rgba(64,64,64,1) 0%, rgba(22,23,24,1) 37%, rgba(22,23,24,1) 100%);
        padding: 50px 0 50px;
    }

    footer .container-semi-small{
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        width: 100%;
        padding : 0 5vw;
        flex-direction: row;
        flex-wrap: wrap;
    }

    footer .container-semi-small > div{
        width: 100%;
        height: auto;
        padding: 0;
        margin-bottom: 35px;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        min-height: auto;
    }

    footer .container-semi-small > div ul{
        list-style-type: none;
    }

    footer .container-semi-small > div:nth-child(1) svg{
        max-width: auto;
        width: 60%;
    }
    footer .container-semi-small > div:nth-child(1){
        width: 100%;
        align-items: center;
        justify-content: center;
    }
    footer .container-semi-small > div:nth-child(2){
        width: 100%;
    }
    footer .container-semi-small > div:nth-child(3){
        width: 100%;
    }
    footer .container-semi-small > div:nth-child(3) a{
        opacity: 0.7;
        transition: .3s ease;
        color : #fff;
        text-decoration : none;
    }
    footer .container-semi-small > div:nth-child(3) a:hover{
        opacity: 1;
        text-decoration : underline;
    }
    footer .container-semi-small > div:nth-child(4){
        width: 50%;
    }
    footer .container-semi-small > div:nth-child(5){
        justify-content: flex-end;
        width: 50%;
    }
    footer .container-semi-small > div:nth-child(6){
        width: 100%;
    }
    footer .container-semi-small > div:last-child .btn_principal{
        background-color: #D1A86A;
        margin : 0;
        padding: 0 25px;
    }

    footer .container-semi-small > div:last-child .rs-box{
        display: flex;
        margin : 15px 0;
    }

    footer .container-semi-small > div:last-child .rs-box svg{
        margin-right: 15px;
        width: 40px;
        height: 40px;
    }

    footer .container-semi-small:last-child{
        padding-top: 50px;
        text-align: center;
        justify-content: center;
    }

    footer .container-semi-small:last-child p a{
        text-decoration: underline;
        color: #C6C6C6;
    }

}

@media screen and (max-width : 480px){
    footer .container-semi-small > div:last-child .rs-box svg{
        width: 30px;
        height: 30px;
    }
}

@media screen and (max-width : 380px){
    #th-prefooter .container-small .card-prefooter-mobile{
        right: -48px;
        width: 55%;
    }
}



/* POPUP carte */

#dark-bg-popup{
    display: none;
    position: fixed;
    z-index: 999999;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    background-color: black;
    opacity: 0.5;
    width: 100vw;
    height: 100vh;
}
#popup-carte{
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 1000px;
    height: 70vh;
    z-index: 9999999;
}


#popup-carte .card-popup{
    width: 100%;
    height: 100%;
    display: flex;
    position: relative;
    flex-direction: column;
    background-color: white;
}

#popup-carte .card-popup .cross{
    position: absolute;
    top : 50px;
    right: 50px;
    cursor: pointer;
    opacity: 0.7;
    transition: .5s ease-in-out;
}

#popup-carte .card-popup .cross:hover{
    opacity: 1;
}

#popup-carte .card-popup .top{
    width: 100%;
    height: 62%;
    padding : 115px;
    padding-top: 95px;
}

#popup-carte .card-popup .top h2.before-title-bar{
    margin-left: 0px;
    margin-bottom: 35px;
    font-size: 75px;
}

#popup-carte .card-popup .top p:first-of-type{
    margin-bottom: 25px;
}

#popup-carte .card-popup .bot{
    position: relative;
    height: 38%;
    width: 100%;
    display: flex;
    align-items: center;
    padding-left: 115px;
    background-color: #DFDFDF;
}

#popup-carte .card-popup .bot .imgbg{
    position: absolute;
    height: 100%;
    width: auto;
    right: 0;
    top : 0;
}

#popup-carte .card-popup .bot .btn_principal{
    margin: 0 !important;
}

#popup-carte .card-popup .top .mobile_btn{
    display: none;
}

@media screen and (max-width : 1000px){
    #popup-carte{
        height: 80vh;
    }
    #popup-carte{
        width: 100%;
        padding: 0 5vw;
    }
    #popup-carte .cross{
        width: 40px;
        height: 25px;
    }
    #popup-carte .card-popup .top{
        padding : 10vw;
        padding-top: 12vh;
        height: 75%;
    }
    #popup-carte .card-popup .top h2.before-title-bar{
        font-size: 60px;
    }
    #popup-carte .card-popup .top h2.before-title-bar::after{
        bottom: -5px;
        left: -35px;
        transform: scale(0.7);
    }
    #popup-carte .card-popup .bot{
        height: 25%;
    }
    #popup-carte .card-popup .bot{
        padding-left: 7vw;
}
}

@media screen and (max-width : 768px){
    #popup-carte .card-popup .top h2.before-title-bar{
        font-size: 50px;
        margin-bottom: 15px;
    }
    #popup-carte .card-popup .top h2.before-title-bar::after{
        bottom: 4px;
        left: -22px;
        transform: scale(0.6);
    }
    #popup-carte .card-popup .top{
        padding-top: 15vh;
    }
    #popup-carte .card-popup .top .mobile_btn{
        display: flex;
        max-width: 100%;
    }
    #popup-carte .card-popup .bot .desktop_btn{
        display: none;
    }
}

@media screen and (max-width : 480px){
    #popup-carte .card-popup .cross{
        top: 20px;
        right: 18px;
        transform: scale(0.7);
    }
    #popup-carte{
        height: 80vh;
    }
    #popup-carte .card-popup .top h2.before-title-bar{
        font-size: 40px;
        text-align: center;
        margin-bottom: 35px;
    }
    #popup-carte .card-popup .top h2.before-title-bar::after{
        bottom: 4px;
        left: 13px;
        transform: scale(0.6);
    }
    #popup-carte .card-popup .top{
        padding: 11vh 10vw 7vw;
    }
    #popup-carte .card-popup .top p:last-of-type{
        margin-bottom: 35px;
    }
    #popup-carte .card-popup .top .mobile_btn{
        display: flex;
        max-width: 100%;
    }
    #popup-carte .card-popup .bot .desktop_btn{
        display: none;
    }
}

@media screen and (max-width : 400px){
    #popup-carte .card-popup .top h2.before-title-bar::after{
        bottom: 4px;
        left: 0px;
        transform: scale(0.6);
    }
}


/* 404 */


#error-header{
    width: 100vw;
    height: auto;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 170px 0px;
    padding-right: 5vw;
}


#error-content-mentions .container{
    width: 100%;
    max-width: 1280px;
    margin: auto;
    padding-bottom: 200px;
}

#error-content-mentions .container h2{
    margin-bottom: 50px;
    max-width: 49vw;
}

#error-content-mentions .container a{
    max-width: 290px;
}

@media screen and (max-width : 1500px){
    #error-header h1 span{
        font-size: 100px;
    }
    #error-header h1 span.before-big-title-bar::after {

        position: absolute;
        width: 53.64px;
        height: 37.26px;
        top: 25px;
        left: -75px;
    }
}

@media screen and (max-width : 1280px){
    #error-header h1 span{
        font-size: 90px;
    }
    #error-header h1 span.before-big-title-bar::after {
        position: absolute;
        width: 53.64px;
        height: 37.26px;
        top: 22px;
        left: -75px;
    }
    #error-content-mentions .container{
        padding: 0 5vw;
        padding-bottom: 100px;
    }
    #error-content-mentions .container h2{
        margin-bottom: 50px;
        max-width: 60vw;
    }
}


@media screen and (max-width : 992px){
    #error-header h1 span{
        font-size: 80px;
    }
    #error-header h1 span.before-big-title-bar::after {
        position: absolute;
        width: 53.64px;
        height: 37.26px;
        top: 22px;
        left: -68px;
        transform: scale(0.9);
    }
    #error-content-mentions .container h2{
        font-size: 50px;
    }
    #error-content-mentions .container h2{
        margin-bottom: 50px;
        max-width: 80vw;
    }
}


@media screen and (max-width : 768px){
    #error-content-mentions .container h2{
        margin-bottom: 50px;
        max-width: 100vw;
    }
    #error-header h1 span{
        font-size: 60px;
    }
    #error-header h1 span.before-big-title-bar::after {
        position: absolute;
        width: 53.64px;
        height: 37.26px;
        top: 13px;
        left: -68px;
        transform: scale(0.8);
    }
}

@media screen and (max-width : 540px){
    #error-header{
        padding: 120px 0 90px;
        padding-right: 7vw;
    }
    #error-header h1{
        max-width: 300px;
        text-align: right;
        line-height: 0.4em;
    }
    #error-header h1 span{
        font-size: 60px;
    }
    #error-header h1 span.before-big-title-bar::after {
        position: absolute;
        width: 53.64px;
        height: 37.26px;
        top: 34px;
        left: -75px;
    }
    #error-content-mentions .container{
        padding-bottom: 50px;
    }
    #error-content-mentions .container h2{
        font-size: 35px;
    }
}