/*
* 
* GENERAL
* 
* */

html, body{
    width : 100%;
    overflow : hidden;
    overflow-y : visible;
}

.full-width{
    width : 100%;
}

.full-height{
    height : 100%;
}

.squared-img{
    aspect-ratio: 1 / 1;
}


.scale-down-70{
    transform : scale(.7);
}

@media screen and (min-width : 881px){
    .h-100{
        height : 100%;
    }
}


/* Décoration images */

.img-deco-top{
    position : relative;
    padding-top : 3rem;
}

.img-deco-top:before{
    content : "";
    position : absolute;
    top : -15%;
    right : 2rem;
    width : 70%;
    z-index : 5;
    height : 50%;
    background-image : url(https://alpeshabitat.teds.fr/wp-content/uploads/2023/05/virgule-top.svg);
    background-repeat : no-repeat;
    background-size : contain;
}

.img-deco-bottom{
    position : relative;
    padding-bottom : 3rem;
}

.img-deco-bottom:before{
    content : "";
    position : absolute;
    bottom : -15%;
    left : 2rem;
    width : 70%;
    z-index : 5;
    height : 50%;
    background-image : url(https://alpeshabitat.teds.fr/wp-content/uploads/2023/05/virgule-bottom.svg);
    background-repeat : no-repeat;
    background-size : contain;
}

/* Effet hover : Blocs zoom image de fond */
.zoom-in-bg-wrapper{
    overflow : hidden;
}

.zoom-in-bg-wrapper .zoom-in-bg{
    position : absolute;
    background-repeat : no-repeat;
    background-size : cover;
    top : 0;
    left: 0;
    bottom : 0;
    right : 0;
    transition: .3s transform ease-in;
}

.zoom-in-bg-wrapper:hover .zoom-in-bg, .zoom-in-bg-wrapper:focus .zoom-in-bg{
    transform : scale(1.1);
}


/* Effet hover : CTA */
.cta-primary.full-width a, .cta-secondary.full-width a{
    width : 100%;
}

.cta-primary a, .cta-secondary a{
    transition: .3s all ease-in;
}

.cta-primary a:hover, .cta-primary a:focus{
    background-color : var(--e-global-color-primary )!important;
}

.cta-primary a:hover span, .cta-primary a:focus span{
    color : #ffffff!important;
}

.cta-secondary a:hover, .cta-secondary a:focus{
    background-color : #ffffff!important;
}

.cta-secondary a:hover span, .cta-secondary a:focus span{
    color : var(--e-global-color-primary )!important;
}

/* Elementor pagination */
.elementor-pagination span.page-numbers{
    color : var(--e-global-color-text);
}

.elementor-pagination span.prev, .elementor-pagination span.next{
    opacity : .5;
}

.elementor-pagination span.page-numbers.current{
    color : var(--e-global-color-primary);
    padding: 0.2rem 0.6rem;
border: 2px solid var(--e-global-color-primary);
}

.elementor-pagination a.page-numbers{
    color : var(--e-global-color-text);
}

.elementor-pagination a.page-numbers:hover, .elementor-pagination a.page-numbers:focus{
    color : var(--e-global-color-primary);
}

.elementor-pagination span.page-numbers{
    color : var(--e-global-color-text);
}

/*
* 
* HEADER
* 
* */

.nav-icon {
    width: 35px;
    height: 30px;
    margin: 10px 10px;
    position: relative;
    cursor: pointer;
    display: inline-block;
}
.nav-icon span{
    background-color:#8CC370;
    position: absolute;
    border-radius: 2px;
    transition: .3s cubic-bezier(.8, .5, .2, 1.4);
    width:100%;
    height: 4px;
    transition-duration: 500ms
}
.nav-icon span:nth-child(1){
    top:0px;
    left: 0px;
}
.nav-icon span:nth-child(2){
    top:13px;
    left: 0px;
    opacity:1;
}
.nav-icon span:nth-child(3){
    bottom:0px;
    left: 0px;
}
.nav-icon:not(.open):hover span:nth-child(1){
    transform: rotate(-3deg) scaleY(1.1);
}
.nav-icon:not(.open):hover span:nth-child(2){
    transform: rotate(3deg) scaleY(1.1);
}
.nav-icon:not(.open):hover span:nth-child(3){
    transform: rotate(-4deg) scaleY(1.1);
}
.nav-icon.open span:nth-child(1){
    transform: rotate(45deg);
    top: 13px;
}
.nav-icon.open span:nth-child(2){
    opacity:0;
}
.nav-icon.open span:nth-child(3){
    transform: rotate(-45deg);
    top: 13px;
}
.mb-0 {
    margin-bottom: 0px;
}
.nav-wrapper .menu-content {
    overflow: hidden;
    transition: all .3s;
}
.nav-wrapper .menu-content:not(.open) {
    height: 0;
}
.nav-wrapper .menu-content.open {
    height: 100%;
}
.nav-wrapper.open {
    height: 100vh;
}
@media (max-width: 992px) {
    .nav-wrapper.open {
        height: auto;
    }
}

/* Menu */

#header-menus ul li, #header-menus ul li a{
    transition : .2s all ease-in;
}

#header-menus ul li:hover{
    transform : translatex(.5rem);
}

#header-menus ul li:hover a{
    color : var(--e-global-color-secondary);
}

@media screen and (max-width : 768px){
    #header-menus #main-menu nav ul li a{
        justify-content : center;
    }
}



/* 
* 
* FAQ 
* 
* */
.faq-links a, .faq-links a span{
    transition: .3s all ease-in;
}

.faq-links a:hover, .faq-links a:focus, .faq-links a:hover span, .faq-links a:focus span{
    color : var(--e-global-color-primary );
}

/* 
* 
* MAIN SEARCH 
* 
* */

@media screen and (max-width : 768px){
    #general-search-box > .e-con-inner > [data-element_type="container"]{
        width : 100%;
    }
    
    #main-search form{
        flex-wrap: nowrap;
    }
}

#general-search-box .eael-advanced-search-button{
    width : 10%;
}

#general-search-box .eael-advanced-search-wrap input{
    box-shadow: 0 0 0 rgba(0,0,0,0);
    padding-left: 1rem;
}

#general-search-box .eael-advanced-search-wrap .icon{
    left: auto;
    right: -45px;
    font-size: 30px;
}

/* Search and filter form */
.searchandfilter > ul{
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
}

.searchandfilter > ul > .sf-field-post_type > ul > li:nth-child(2){
    order : 4;
}

.searchandfilter .sf-field-post_type{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.searchandfilter .sf-field-post_type h4{
    margin-right : 1.5rem;
    font-size : 1.4rem;
    font-weight : 300;
}

.searchandfilter .sf-field-post_type > ul{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.2rem;
    padding-left: 0;
}

.searchandfilter .sf-field-post_type > ul > li > input{
    display : none;
}

.searchandfilter .sf-field-post_type > ul > li > label{
    padding : .5rem 1.2rem;
    border : 1px solid #333333;
    font-weight : 700;
    font-size : 1.2rem;
    transition: .3s all ease-in;
}

.searchandfilter .sf-field-post_type > ul > li > label:hover{
    background-color: #333333;
    color : #ffffff;
    cursor : pointer;
}

.searchandfilter .sf-field-post_type > ul > li.sf-option-active > label{
    background-color: #333333;
    color : #ffffff;
}

.searchandfilter .sf-field-submit input{
    background-image: url(https://alpeshabitat.teds.fr/wp-content/uploads/2023/06/icon-actualiser.svg);
    background-repeat: no-repeat;
    padding-left: 2.5rem;
    font-weight: 700;
    color: #333333;
    border: 0;
    font-size: 1.2rem;
    background-position: left center;
}

.searchandfilter .sf-field-submit input:hover, .searchandfilter .sf-field-submit input:focus{
    background-color : transparent;
    opacity : .7;
}

/*
* 
* PAGE SINGLE INFO PRATIQUE / ACTUS
* 
* */

#actus-before-after .elementor-post-navigation{
    display : flex;
    gap: 16px;
}

#actus-before-after .elementor-post-navigation > div a{
    border : 3px solid var(--e-global-color-primary );
    padding : 1rem;
    text-align : center;
}

#actus-before-after .elementor-post-navigation > div a, #actus-before-after .elementor-post-navigation > div a span{
    width: 100%;
    text-align: center;
    font-size: 18px;
}

#actu-header{
    position : relative;
}

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

    #actu-header .bg-img{
        position: static;
    }
    
    #actu-header .bg-img img{
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center right;
        min-height: 100%;
    }
    
}


/*
* 
* PAGE ACCUEIL
* 
* */

/* MAP */
#home-map{
    
}

#home-map #home-map-bg{
    transition: .3s all ease-in;
}

#home-map #home-map-infos-wrapper{
    top : 0;
    bottom :0;
}

#home-map #home-map-infos-wrapper #home-map-container, #home-map #home-map-infos-wrapper #home-map-container .elementor-shortcode, #home-map #home-map-infos-wrapper #home-map-container .elementor-shortcode #map{
    height : 100%;
}

#home-map-container .elementor-shortcode, #home-map-container .elementor-shortcode #map{
    height: 100%;
    width: 100%;
}

#home-map-logo{
    background-position: center;
    background-size: 80%;
    background-repeat: no-repeat;
}

@media screen and (max-width : 768px){
    #home-map{
        height : auto;
        min-height: auto;
    }
    
    #home-map #home-map-bg{
        height: 300px;
        position : absolute;
        top : 0;
        left : 0;
        opacity : 0;
        z-index : 1;
        pointer-events: none;
    }
    
    #home-map #home-map-infos-wrapper #home-map-bg-close{
        margin: 0;
        padding: 0;
        border: 0;
        background: none;
        position: absolute;
        width: 40px;
        height: 40px;
        background-color : var(--e-global-color-secondary );
        border-radius: 50%;
        right: 1rem;
        top: 1rem;
        z-index: 5;
    }
    
    #home-map #home-map-infos-wrapper #home-map-bg-close:before{
        content: "";
        position: absolute;
        width : 60%;
        top: 17px;
        left: 0;
        right: 0;
        height: 4px;
        background: #fff;
        border-radius: 6px;
        transform: rotate(45deg);
        left: 20%;
    }
    
    #home-map #home-map-infos-wrapper #home-map-bg-close:after{
        content: "";
        position: absolute;
        width : 60%;
        top: 17px;
        left: 0;
        right: 0;
        height: 4px;
        background: #fff;
        border-radius: 6px;
        transform: rotate(-45deg);
        left: 20%;
    }
    
    #home-map #home-map-bg.active{
        pointer-events : auto;
        opacity : 1;
    }
    
    #home-map #home-map-infos-wrapper #home-map-visus{
        position: absolute;
        top: 0;
        left: 0;
        z-index: 5;
        pointer-events: none;
    }
    
    #home-map #home-map-infos-wrapper{
        position: static;
        height: auto;
        min-height: auto;
        top: auto;
        left: auto;
        right: auto;
        bottom: auto;
    }
    
    #home-map #home-map-container{
        width: 100%;
        height: 300px;
        z-index: 1;
    }
    
}

/*
* 
* PAGE DETAIL PROJET
* 
* */

/* VISITE VIRTUELLE */

#visite-virtuelle{
    display : flex;
    width : 100%;
    background-color: var(--e-global-color-primary );
    align-items : center;
    justify-content : center;
    color: white;
    padding : 1rem;
    font-weight : bold;
    transition: .3s all cubic-bezier(.8, .5, .2, 1.4);
}

#visite-virtuelle:hover, #visite-virtuelle:focus{
    background-color: #00396E;
}

#visite-virtuelle > img{
    margin-left : .5rem;
}

/* FORMULAIRES DE CONTACT */
.single form label[for="form-field-rgpd"]{
    font-size : .6rem;
    line-height : 1.2;
    color : rgba(0,0,0,.6)!important;
}

.single .elementor-field-group-rgpd .elementor-field-option{
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}

/* PRIX PROGRAMME*/
#info-programme-prix{
    color: white;
    font-weight : 300;
}

/* TABLE DES PRIX */
#prices-table table tbody>tr:nth-child(odd)>td, #prices-table table tbody>tr:nth-child(odd)>th {
    background-color: transparent;
}

#prices-table table tbody tr:hover>td, #prices-table table tbody tr:hover>th {
    background-color: transparent;
}

#prices-table table tr th {
    border: 0;
}

#prices-table table tr th span {
    font-size : .8rem;
    font-weight : 200;
}

#prices-table table tr td {
    border: 0;
    border-top: 1px solid hsla(0,0%,50.2%,.5019607843);
}

#prices-table table tr.inactive td{
    color: #999999;
    background-color : #f9f9f9!important;
}

/* PLANS ET DOCUMENTS UTILES */

#plans-et-documents {
    display: flex;
    flex-wrap: wrap;
}

#plans-et-documents-wrapper h2{
    font-weight : 200;
}

#plans-et-documents .document {
    display: block;
    position : relative;
    width: 30%;
    min-height : 90px;
    padding-bottom : .5rem;
    border-bottom : 1px solid #707070; 
    box-sizing : border-box;
    margin-bottom : 1.5rem;
}

#plans-et-documents .document:not(:nth-child(3n+1)) {
    margin-left: 3%;
}

#plans-et-documents .document:before {
    content : "";
    background-image : url('https://alpeshabitat.teds.fr/wp-content/uploads/2023/05/pdf-icon.png');
    background-repeat : no-repeat;
    background-size : contain;
    width: 4rem;
    height: 5rem;
    display : block;
    position : absolute;
    top : 0;
    left : 0;
    transition: .3s all cubic-bezier(.8, .5, .2, 1.4);
}

#plans-et-documents .document:hover:before {
    width: 3.5rem;
}

#plans-et-documents .document a {
    display: block;
    color: var(--e-global-color-primary );
    padding-left: 4.5rem;
    text-transform: uppercase;
    padding-top: 0.7rem;
    line-height: 1.3;
}

@media (max-width: 1200px) {
    #plans-et-documents .document {
        width: 45%;
    }
    
    #plans-et-documents .document:not(:nth-child(3n+1)) {
        margin-left: 0;
    }

    #plans-et-documents .document:not(:nth-child(2n+1)) {
        margin-left: 5%;
    }
    
}

@media (max-width: 552px) {
    #plans-et-documents .document {
        width: 100%;
        min-height : 74px;
        margin-bottom : 1rem;
    }
    
    #plans-et-documents .document:not(:nth-child(2n+1)) {
        margin-left: 0%;
    }
    
    #plans-et-documents .document:before {
        width: 3rem;
    height: 4rem;
    }
}

/* ACTUALITE DU PROJET */

#actualites-du-projet h2{
    font-weight: 200;
}

#actualites-du-projet h4{
    font-size : 1rem;
    line-height: 1.2;
    font-weight: 700;
    margin : 0;
}

#actualites-du-projet #actus-slider{
    position : relative;
}

#actualites-du-projet #actus-slider .swiper-wrapper{
    box-sizing: border-box;
    padding-left : 3rem;
    padding-right : 3rem;
}

#actualites-du-projet #actus-slider .swiper-button-prev, #actualites-du-projet #actus-slider .swiper-button-next{
    position : absolute;
    top : 50%;
    transform : translateY(-50%);
}

#actualites-du-projet #actus-slider .swiper-button-prev:after, #actualites-du-projet #actus-slider .swiper-button-next:after{
    font-size: 20px;
    font-weight: 700;
    color : rgba(70,70,70,.5);
    transition: .3s all cubic-bezier(.8, .5, .2, 1.4);
}

#actualites-du-projet #actus-slider .swiper-button-prev:after:hover, #actualites-du-projet #actus-slider .swiper-button-next:after:hover{
    color : rgba(70,70,70,1);
}

#actualites-du-projet #actus-slider .swiper-button-prev{
    left : 0;
}

#actualites-du-projet #actus-slider .swiper-button-next{
    right : 0;
}

#actualites-du-projet article {
    border-bottom :1px solid #707070; 
}

#actualites-du-projet article figure{
    position : relative;
    height : 15rem;
    margin-bottom : .5rem;
}

#actualites-du-projet article figure img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;';
    object-position: center;
    min-height: 100%;
}

#actualites-du-projet article .date{
    font-weight: 200;
    margin : 0;
    font-size : .8rem;
}

#actualites-du-projet article a{
    display: inline-block;
    position : relative;
    padding-right : 1rem;
    font-weight: 700;
    margin-top : .3rem;
    color: var(--e-global-color-primary );
}

#actualites-du-projet article a:after{
    content : "";
    position : absolute;
    right : 0;
    top : 50%;
    transform : translateY(-50%) rotate(45deg);
    border-top : 2px solid var(--e-global-color-primary );
    border-right : 2px solid var(--e-global-color-primary );
    width : 8px;
    height : 8px;
    transition: .3s right cubic-bezier(.8, .5, .2, 1.4);
}

#actualites-du-projet article a:hover:after, #actualites-du-projet article a:focus:after{
    right : -.5rem;
}

/*
    * 
    * PAGE QUI SOMMES NOUS ?
    * 
    * */

.infoBoxTitle{
    font-weight : 700;
    margin-top : .5rem;
    font-size : 1.2rem;
    color: var(--e-global-color-primary);
}

.infoBox .infoBoxTitle, .infoBox .infoBoxContent, .infoBox .infoBoxDispos, .infoBox figure{
    max-width : 400px;
}

/*
    * 
    * MODELE SINGLE ACTU
    * 
    * */

.programme-list-emphasized .elementor-widget-container{
    position : relative;
}

.programme-list-emphasized .elementor-widget-container:before{
    content: "";
    display : block;
    height : 100%;
    width : 2rem;
    background-color : inherit;
    position : absolute;
    right : 100%;
    top : 0;
    transform : skewX(-20deg) translateX(1rem);
}

/*
* 
* EQUIPE
* 
* */

.team-member .team-member-photo{
    background-size : cover!important;
}



.autres_biens > div {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}



#maquette-orbitale{
    height: 35rem;
}

@media screen and (min-width : 1800px){
    #maquette-orbitale{
        height: 40rem;
    }
}

@media screen and (max-width : 1200px){
    #maquette-orbitale{
        height: 27rem;
    }
}

@media screen and (max-width : 768px){
    #maquette-orbitale{
        height: 20rem;
    }
}
