/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

/* base */


/* FIN base */



header li a {
	font-size: var(--fs-base);
	font-weight: var(--normal);
	text-transform: uppercase;
}
footer li a {
	font-size:var(--fs-xs);
}

#site-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 9;
	-webkit-transition: all 0.4s;
	-o-transition: all 0.4s;
	transition: all 0.4s;
	background: none;
	height: var(--header-height);
	overflow: visible;
}
#site-header.open {
    height:var(--open-header-height);
}

#site-header {
    background:var(--gris-1);
}

.modele_gros_oeuvre #site-header,
.modele_gros_oeuvre .entete{
    background:var(--vert);
    color:var(--blanc);
}
.modele_piscine #site-header,
.modele_piscine .entete {
    background:var(--bleu);
    color:var(--blanc);
}


@media(min-width:980px) {
    #zone_logo,
    #site-header,
    .top-menu > li > a,
    #site-header #head_base,
    #menu_principal {
        transition:var(--ease);
    }
   .scrolled #zone_logo{
        height:83px;
        width:200px;
    } 
    .scrolled #menu_principal{
        border-bottom:1px solid transparent;
    } 
    .scrolled #site-header,
    .scrolled #site-header #head_base{
        height:83px;
    }
    .scrolled #site-header #head_base {
        background:var(--gris-1);
    }
    .scrolled.modele_gros_oeuvre #site-header #head_base{
        background:var(--vert);
    }
    .scrolled.modele_piscine #site-header #head_base{
        background:var(--bleu);
    }
    .scrolled .top-menu > li > a{
        padding:2em 2rem
    }
}

/*
.hide_header #site-header {
   transform:translateY(-150%);
}
.scrollingUp #site-header {
    transform:translateY(0);
}*/

#wpadminbar {
	position: fixed;
	overflow:hidden!important;
	height: var(--admin-bar-height)!important;
}
#wp-admin-bar-customize {
    display:none;
}
.admin-bar #site-header{
	top: var(--admin-bar-height);
}





#head_base {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:horizontal;
    -webkit-box-direction:normal;
        -ms-flex-direction:row;
            flex-direction:row;
    -webkit-box-align:stretch;
        -ms-flex-align:stretch;
            align-items:stretch;
    -webkit-box-pack:justify;
        -ms-flex-pack:justify;
            justify-content:space-between;

    max-width: 100%;
    margin: 0 auto;
    width: 1920px;
    position: relative;
    z-index: 2;
  
}

#site-header.open #zone_logo {
    display:none;
}


body.open {
    overflow: hidden;
}    
#site-header.open #menu_principal {
    background:var(--gris-1);
    padding: calc(var(--header-height) + 3rem) var(--space-v);
    height: 100vh;
}
.admin-bar #site-header.open #menu_principal {
    height:calc(100vh - var(--admin-bar-height))
}
#zone_logo {
    background:var(--blanc);
    height:var(--header-height);
    border-radius: 0px 0px 30px 0px;
    display:flex;
    width: 262px;
}
@media(max-width:374px) {
   #zone_logo {
        width:202px;
    }
}
#zone_logo a {
    display:flex;
    align-items:center;
    justify-content:center;
    width: 100%;
}
#zone_logo img{
    display:block;
    width:calc((293 / 386) * 100%);

    position:relative;
    z-index:2;
    padding: 0;
    height:auto;
}

@media(max-width:979px) {
    #togMenu {
        width:var(--header-height);
        height:var(--header-height);;
    }


    #zone_menus{
        position:relative;
        width:auto;
        display:-webkit-box;
        display:-ms-flexbox;
        display:flex;
        -webkit-box-orient:horizontal;
        -webkit-box-direction:normal;
            -ms-flex-direction:row;
                flex-direction:row;
        -webkit-box-pack:justify;
            -ms-flex-pack:justify;
                justify-content:space-between;
        -webkit-box-align:stretch;
            -ms-flex-align:stretch;
                align-items:stretch;
    
    }
    #site-header.open #zone_menus {
        width:100%;
        justify-content:space-between;
        max-width:100%;
        background:var(--NOREE-gris);
    }   
    #text_burger {
        display:none;
    }
    #togMenu {
        position:absolute;
        top:0;
        right:0;
        z-index:4;
        display:flex;
        align-items:stretch;
        flex-direction:row;
        padding:0;
        cursor: pointer;
        display: block;
        border-bottom: 1px solid var(--gris-clair);
    }
    #togMenu.open  {
        width:auto;
    }
    #togMenu .burger {
        display:block;
        height: var(--header-height);
        width: var(--header-height);
        -webkit-transform-origin: center;
            -ms-transform-origin: center;
                transform-origin: center;
    }
    
    .burger span {
        -webkit-transition: all .3s;
        -o-transition: all .3s;
        -webkit-transition: all .1s;
        -o-transition: all .1s;
        transition: all .1s;
        position: absolute;
        left:33%;
        width: 34%;
        height:3px;
        background:var(--gris-clair);
        border:0px solid;
        -webkit-transform-origin: center;
            -ms-transform-origin: center;
                transform-origin: center;
    
    }
    #burger span#t1 {
        top:35%;
    }
    #burger span#t2 {
        top:calc(50%);
        transform: translateY(-51%);
    }
    #burger span#t3 {
        bottom:35%;
    }
    #togMenu.open .burger span {
        left: 30%;
        width: 39%;
        height:3px;
        background:var(--blanc);
        border:0px solid;
        -webkit-transform-origin: center;
            -ms-transform-origin: center;
                transform-origin: center;
    
    }
    #togMenu.open #burger span#t1 {
        -webkit-transform-origin: top left;
            -ms-transform-origin: top left;
                transform-origin: top left;
        -webkit-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
                transform: rotate(45deg);
    }
    #togMenu.open #burger span#t2 {
        display:none;
    }
    #togMenu.open  #burger span#t3 {
        -webkit-transform-origin: bottom left;
            -ms-transform-origin: bottom left;
                transform-origin: bottom left;
        -webkit-transform: rotate(-45deg);
            -ms-transform: rotate(-45deg);
                transform: rotate(-45deg);
    }

    #menu_principal {
        position:absolute;
        top:0;
        right:0;
        width:var(--mobile-nav-width);
        overflow:hidden;
        overflow-y:auto;
        z-index:1;
        background:none;
        height: 0;
        margin-top: 0;
        z-index: 1;
        opacity: 0;
        height: auto;
        width: 0;
        -webkit-transition: opacity .3s , left 0 ease 0.4s, width 0 ease .4s;
        -o-transition: opacity .3s , left 0 ease 0.4s, width 0 ease .4s;
        transition: opacity .3s , left 0 ease 0.4s, width 0 ease .4s
    }
    #menu_principal.open {
        right: 0;
        width: 100%;
        opacity: 1;
        -webkit-transition: left 0.4s, width 0s, opacity .4s;
        -o-transition: left 0.4s, width 0s, opacity .4s;
        transition: left 0.4s, width 0s, opacity .4s;
        background:var(--noir);
        padding:var(header-height) var(--space-v);
        height: 100vh;
    }
}


.tog {
   display:none;
}

/* top Menu ---------------------------- */    
ul.top-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    position: relative;
    z-index: 1;
    padding: 0;
    margin: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    overflow: visible;
    width: 100%;
} 
.top-menu  li {
    list-style-type: none;
    position:relative;
}  
.top-menu > li {
    font-size: inherit;
    overflow: visible;
    list-style-type: none;
    margin: 0;     
    padding-bottom: 6px;
}
.top-menu ul li a {
    display: block;
    text-align: left;
} 
.top-menu > li > a {
   
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    position:relative;
    z-index:1;
    font-weight: var(--bold);
    color: var(--blanc);
    font-size:var(--fs-base);
    text-transform:uppercase;
    padding:0.5em 0 1em 0px;
    text-decoration: none;
    -webkit-transition: var(--ease);
    -o-transition: var(--ease);
    transition: var(--ease);
    letter-spacing: 0.2em;
    
}   
@media(min-width:480px) and (max-width:639px) {
    .top-menu  li  a {
        font-size:var(--fs-m);  
    }
}
 
/*SUBMENU*/
.top-menu > li > ul {
    padding-left: 0;
}
.top-menu > li > ul > li a {
    text-decoration: none;
    position: relative;
    -webkit-transition:var(--ease);
    -o-transition:var(--ease);
    transition:var(--ease);
    padding:0.5em 0 1em 1em;
    text-transform: uppercase;
    font-weight: var(--normal);
    color: var(--blanc);
    letter-spacing: 0.2em;
    
}


.top-menu > li > a:hover,
.top-menu  li.current_page_ancestor > a,
.top-menu  li.current_page_item > a,
.top-menu  li.current_menu_item > a,
.top-menu  li.current-menu-item > a:hover {
    color: var(--vert);
}

.modele_piscine .top-menu > li > a:hover,
.modele_piscine .top-menu  li.current_page_ancestor > a,
.modele_piscine .top-menu  li.current_page_item > a,
.modele_piscine .top-menu  li.current_menu_item > a,
.modele_piscine .top-menu  li.current-menu-item > a:hover {
    color: var(--blanc);
    text-decoration:underline;
}
.modele_gros_oeuvre .top-menu > li > a:hover,
.modele_gros_oeuvre .top-menu  li.current_page_ancestor > a,
.modele_gros_oeuvre .top-menu  li.current_page_item > a,
.modele_gros_oeuvre .top-menu  li.current_menu_item > a,
.modele_gros_oeuvre .top-menu  li.current-menu-item > a:hover {
    color: var(--blanc);
    text-decoration:underline;
}



@media(min-width:980px) {
    #site-header #head_base{
        width:1920px;     
        max-width:100%;
        height:var(--header-height);
        align-items:center;
        justify-content: space-between;
    }
    #site-header.open #head_base:after{
        content:"";
        display:block;
        position:absolute;
        top:0;
        left:50%;
        width:100vw;
        height:100%;
        transform:translateX(-50vw);   
        z-index:-1;
        background:var(--noir);
        transition:all 0.3s ease 0.6s;
    }
    #togMenu {
        display:none;
    }
    #menu_principal {
        display:block;
        opacity:1;
        border-bottom: 1px solid var(--blanc);
    }
    #site-header.open #zone_menus {
        width:1060px;
        justify-content:space-between;
        max-width:100%;
        background:none;
        margin:0 auto;
    }
    nav#menu_top {
        margin:0 auto;
    }
    ul.top-menu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        position: relative;
        z-index: 1;
        padding: 0;
        margin: 0;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        overflow: visible;
        width: 100%;
        height: auto;
        -webkit-box-align: stretch;
            -ms-flex-align: stretch;
                align-items: stretch;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
    }   
    .top-menu > li {
        font-size: inherit;
        overflow: visible;
        list-style-type: none;
        margin: 0;     
        padding-bottom: 0;
       
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        padding: 0 ;
        letter-spacing: 0.15em;
        position:relative;
    }
    .top-menu > li:first-child {
        display:none;
    }
    .top-menu > li > a {
        position:relative;
        padding:2rem 1rem;
       
    }
    .top-menu > li.contact > a {
        border-radius:var(--box-radius);
        background:var(--vert);
        color:var(--blanc);
        padding: 0.75rem 2rem;
        margin-right: 20px;
    }
    .top-menu > li > ul {
        display:none;
        position:absolute;
        top:56%;
        padding-top:0.75rem;
        left:-10px;
        z-index:2;
        width:calc(100% + 20px);
        height:auto; 
    }
    /* .top-menu > li > ul:before {
        content:url('../images/custom/fleche_blanche_sous_menu.svg');
        display:block;
        margin-left:calc(1rem + 10px);
    } */
    .top-menu > li:hover  > ul {
        display:block;
    }
    .top-menu > li > ul > li {
        opacity:0;
        transition: var(--ease);
    }
    .top-menu > li:hover > ul > li {
        opacity:1;
    }
    .top-menu > li > ul > li a {
        text-align:left;
        text-decoration: none;
        position: relative;
        -webkit-transition:var(--ease);
        -o-transition:var(--ease);
        transition:var(--ease);
        padding:0.5em 1em 0.5em 2em;
        text-transform: uppercase;
        font-weight: var(--bold);
        color: var(--NORRE-gris);
        border-radius:30px;
        border:2px solid;
        margin-top:5px;
        letter-spacing: 0.2em;
        background:var(--blanc);
        
    }
    .top-menu  > li > ul > li > a:hover{       
        border:2px solid var(--blanc);
        color:var(--vert);
    }
    .top-menu > li > ul > li.gros-oeuvre a {
        color:var(--vert);
    }
    .top-menu > li > ul > li.piscine a {
        color:var(--bleu);
    }
    
    .top-menu  > li > ul > li.piscine > a:hover{       
        border:2px solid var(--bleu);
        color:var(--blanc);
        background:var(--bleu);
    }
    
    .top-menu  > li > ul > li.gros-oeuvre > a:hover{       
        border:2px solid var(--vert);
        color:var(--blanc);
        background:var(--vert);
    }
    
	.admin-bar #site-header {
		top:var(--admin-bar-height);
	}
	.scrolled .top-menu-wrapper, 
	.scrolled  ul.top-menu {
		min-height:0;
		margin-top:0;
	}
	#desktop_header_container {
		width:100%;
	}
}
@media(min-width:980px) and (max-width:1199px) {
    .top-menu > li > a {
        font-size: var(--fs-s);
      }
}
@media(min-width:1200px) {
    .top-menu > li > a{
        padding:2em 2rem;
    }
    .top-menu > li > ul:before {
        margin-left:calc(2rem + 10px);
    }
}
@media(min-width:1600px) {
    #site-header #head_base{
        justify-content: flex-end;
    }
    #zone_logo {
        width:386px;
        position:absolute;
        height:198px; /*p^lus grand que header height;*/
        top:0;
        left:0;
        z-index:2;
    }  
    .top-menu > li > a {
        padding:4em 2rem;
    }
    .top-menu > li > ul:before {
        content:url('../images/custom/fleche_blanche_sous_menu.svg');
        display:block;
        margin-left:calc(1rem + 10px);
    }
    .top-menu > li > ul:before {
        margin-left:calc(2rem + 10px);
    }
}


#site-footer {
	position: relative;
	z-index: 1;
    background:var(--blanc);
    color:var(--noir);
}
#site-footer .container {
    padding:0 25px;
}
#sub_footer{
    background:var(--blanc);
    color:var(--noir);
} 
#sub_footer .container {
    padding:1px 25px 25px 25px;    
}
#sub_footer_menu {
    display:block;
    margin:0;
    padding-left:0;
}
#sub_footer_menu li {
    list-style-type:none;
    display:block;
    margin-top:10px;

}

#sub_footer_menu li a {
    padding:8px 5px;
    text-decoration:none;
    color:var(--gris-1);
    transition:var(--ease);
}
#sub_footer_menu li a:hover {
    color:var(--gris-2);
}

.flex_footer {
    border-top:1px solid;
    border-bottom:1px solid;
    padding:calc(var(--space-v) * 2) 0;
}
footer section {
    padding-bottom:var(--space-v);
    padding-top:0;
}
footer ul {
    padding-left:0;
    margin:0;
}
footer li {
    list-style-type:none;
}
footer li a {
    text-decoration:none;
    display:block;
}
#menu_footer_1 {
    padding-top:var(--space-v);
    padding-bottom: var(--space-v);
}
#menu_footer_1 li a {
    padding:0.5em 0;
    font-weight:var(--semi-bold);
    text-transform: uppercase;
    letter-spacing: 0.1rem;
}
footer a {
    transition:var(--ease);
}
.text_footer {
    text-transform: uppercase;
    letter-spacing: 0.1875rem;
    margin-top:0;
}
.bouton_contact_footer {
    color: var(--blanc) !important;
    background: var(--gris-1) url('../images/custom/fleche_blanche.svg') no-repeat calc(100% - 1em) center;
    padding: 2em 4em 2em 4em;
    width: 27.625rem;
    max-width:100%;
    display: block;
    margin-top: 1em;
    text-transform: uppercase;
    font-weight: var(--bold);
    font-size: var(--fs-base);
    border-radius: 10em;
    text-decoration: none;
    letter-spacing: 0.2rem;
}
.bouton_contact_footer:hover {
    background: var(--vert) url('../images/custom/fleche_blanche.svg') no-repeat calc(100% - 1em) center;
}

.bouton_acces_footer {
    display:block;
    border:2px solid;
    border-radius:30px;
    text-decoration:none;
    text-transform:uppercase;
    padding:2em 2em 6em 2em;
    background:url('../images/custom/fleche_verte_transparente.svg') no-repeat 2em calc(100% - 1em);
    color:var(--vert)
}
.bouton_acces_footer:hover {
    background:var(--vert) url('../images/custom/fleche_blanche.svg') no-repeat 2em calc(100% - 1em);
    color:var(--blanc);
}
.bouton_acces_footer.baf_p {
    color:var(--bleu);
    margin-top:var(--space-v);
    background:url('../images/custom/fleche_bleu_transparente.svg') no-repeat 2em calc(100% - 1em);
}
.bouton_acces_footer.baf_p:hover {
    color:var(--blanc);
    background:var(--bleu) url('../images/custom/fleche_blanche.svg') no-repeat 2em calc(100% - 1em);
}


@media(max-width:639px) {
    .acces_activites {
        border-top:1px solid;
        border-bottom:1px solid;
        padding:calc(var(--space-v) * 2) 0;
    }
}
@media(max-width:979px) {
    .bouton_contact_footer {
        padding: 3em 4em 3em 2em;
    }
}
@media(min-width:980px) {

    .footer_menu ul {
        margin:var(--space-h) 0;
    }
    .acces_activites {
        align-items:flex-start;
        flex-wrap:wrap;
        justify-content:space-between;
        border-left:1px solid;
        border-right:1px solid;
        padding:0 var(--space-h);;
    }
    .zone_contact_footer {
        padding-left:var(--big-space-h);
    }
    #sub_footer_menu {
        display:flex;
        align-items:center;
        justify-content:flex-start;
        flex-direction:row;
        flex-wrap:wrap;
        margin:0;
        padding-left:0;
    }
    #sub_footer_menu li:before {
        display:inline-block;
        margin:0 0.3em;
        content:'-'; 
        color:var(--gris-1)
    }
    #sub_footer_menu li:first-child:before {
        display:none;
    }
}

