/*
body.archive .container-content,
body.search .container-content,
body.blog .container-content{
    width: 100%;
    max-width: var(--wideSize);
}

.container-title,
.container-metas{
}

body.page:not(.home) .container-content,
body.single .container-content{
    width: var(--contentSize);
}
*/

/**************************/
/*******généralités********/
/**************************/

html{
    margin: 0 !important;
    overflow-x: hidden;
}

h1{
    font-size: var(--font-size-x-large);
    font-weight: 700;
}

figure.has-parallax.parallax-total{
    transform: scale(.909090909);
    overflow: visible;
}

figure.has-parallax.parallax-total .simpleParallax{
    overflow: visible !important;
}

#main-container h2,
#colophon h2
{
    font-size: var(--font-size-xx-large);
    font-family: var(--font-texte);
    font-weight: 400;
    margin: 3rem 0;
    line-height: 0.8;
}

#main-container h2 strong,
#colophon h2 strong
{
    text-transform: uppercase;
    font-weight: 800;
    font-size: .85em;
}

#main-container h3{
    font-family: var(--font-texte);
    font-size: var(--font-size-x-large);
    text-transform: uppercase;
    margin-top: 2rem;
    margin-bottom: .5rem;
}

#main-container p{
    margin-top: 0.5rem;
}

strong{
    font-weight: 700;
}

.fond-chargement .logo-site {
    background-color: var(--couleur-1);
    padding: 1rem 2rem;
}

body.home #main-container > article > .entry-content{
    padding-top: 10rem;
}

.wp-block-group{
    position: relative;
}

#croix{
    position: absolute;
    right: -5rem;
    top: 40%;
}

#main-container .up{
    margin-top: -6rem;
}

.fond-chargement{
    background-color: var(--couleur-4);
}

.fond-chargement .loading-site svg rect{
    fill: #fff;
}

/*********************/
/*******header********/
/*********************/

/* logo */

header#colleno{
    height: var(--header-height);
    background-color: var(--couleur-1);
    transition: all var(--transition-basic-duration);
}

.header-container section.block-logo{
    justify-content: center;
}

body.page:not(.home) header#colleno{
    background-color: var(--couleur-4);
}

body.page-template-page-contact:not(.home) header#colleno{
    background-color: var(--couleur-1);
}

body.post-type-archive header#colleno{
    background-color: var(--couleur-4);
}

body.page:not(.home) header#colleno .header__rs,
body.post-type-archive header#colleno .header__rs
{
    background-color: var(--couleur-2);
}

body.page-template-page-contact:not(.home) header#colleno .header__rs{
    background-color: var(--couleur-4);  
}

body.post-type-archive header#colleno .block-logo svg :where(path.colorable, rect.colorable, tspan.colorable){
    fill: #fff;
}

header#colleno.mini{
    height: var(--header-height-mini);
}

.header-container{
    position: relative;
    height: 100%;
    width: 100%;
    justify-content: space-evenly;
}

.header-container section.block-logo {
    height: 80%;
    position: relative;
}

.header-container .block-logo a.logo_box{
    display: block;
    height: 100%;
    width: fit-content;
}

header#colleno .header-container .block-logo a img,
header#colleno .header-container .block-logo a svg
{
    display: block;
    height: 100%;
    width: auto;
    min-height: 0;
}

header#colleno .block-primary-menu{
    width: 30%;
    margin-bottom: 4rem;
}

header#colleno.mini .block-primary-menu{
    margin-bottom: 0rem;
}

.block-primary-menu--gauche ul.menu{
    justify-content: flex-end;
}

.block-primary-menu--droite ul.menu{
    justify-content: flex-start;
}

.block-primary-menu ul.menu > li > a{
    color: var(--couleur-6);
    font-weight: 600;
}

body.post-type-archive .block-primary-menu ul.menu > li > a{
    color: #fff;
}

.block-primary-menu ul.menu > li:hover > a, .block-primary-menu ul.menu > li.current-menu-item > a, .block-primary-menu ul.menu > li.current-menu-ancestor > a {
    color: var(--couleur-6);
    text-decoration: underline;
}

.header__rs{
    right: 4vw;
    top: 4.25rem;
    background-color: var(--couleur-4);
    width: 5.25rem;
    height: auto;
    border-radius: 0 0 .75rem .75rem;
}

.header__rs ul.rs{
    padding: 1rem;
}

.header__rs-deco{
    width: 100%;
    height: 1rem;
    background-image: url('../images/barre-rs.svg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

#colleno.mini .header__rs{
    top: 0;
}

.header__rs ul{
    display: flex;
    width: 100%;
    flex-direction: column;
    justify-content: center;
    gap: 0.75rem;
}

#colleno .block-reseaux-sociaux > ul > li{
    margin: 0;
    margin-left: 0;
    padding: 0;
}

#colleno .block-reseaux-sociaux > ul > li > a{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}  

.header__rs svg :where(path, circle){
    fill: #fff;
}


/*sous menus centrés*/

/*.block-primary-menu ul.sub-menu {
    left: 50%;
    opacity: 0;
    margin-left: 0;
    margin-right: 0;
    transform: translateX(calc(-50% - 10px));
}

.block-primary-menu ul.menu>li:hover ul.sub-menu {
    transform: translateX(-50%);
}*/

/*******************/
/*******page********/
/*******************/

#banner{
    background-color: var(--couleur-1);
    color:var(--couleur-6);
    margin-top: 0;
    padding: var(--header-height) 10vw 10vh 0;
    height: 100vh;
}

body.home #banner{
    overflow: hidden;
}

#banner:not(:has(.banner__element--image)) .banner__element--content{
    width: 80%;
    margin: auto;
}

#main-container:has(#banner){
    margin-top: 0 !important;
}

.banner__element--content{
    width: 40%;
    padding-top: 3vw;
}

.banner__element--image{
    width: 60%;
    overflow: visible !important;
    transform: scale(.65);
    padding-top: 10vw;
}

body.home .banner__element--image{
    transform: scale(.65) translateY(5rem);
}

.banner__element--image .simpleParallax{
    overflow: visible !important;
}

.banner__element--image img{
    margin-top: -20vw;
}

#banner h1{
    font-family: var(--font-texte);
    font-weight: 500;
    font-size: var(--font-size-xx-large);
    line-height: 1.3;
}

#banner h1 em{
    font-style: normal;
    font-weight: 800;
    text-transform: uppercase;
    background-color: var(--couleur-2);
    padding: 0 0.1em;
}

.banner__texte{
    font-size: var(--font-size-x-large);
}


/**********************/
/*******accueil********/
/**********************/

body.home .entry-content > .wp-block-columns:first-child .wp-block-column:last-child{
    margin-top: -15vw;
}

body.home #colleno .current-menu-item{
    display: none;
}

#travail{
    position: relative;
    background-image: url('../images/sinus.svg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center 60%;
}

.cible::after{
    content : '';
    position: absolute;
    top: 0;
    transform: translateY(-30%);
    right: var(--paddingContentSize);
    width: 15rem;
    height: 15rem;
    background-image: url('../images/cible.svg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

#travail figure.wp-block-gallery{
    gap: 3vw;
    justify-content: space-between;
    min-height: 25rem;
}

#travail figure.wp-block-gallery > figure.wp-block-image{
    background-color: #fff;
    max-width: 22%;
    padding-bottom: 4rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

#travail figure.wp-block-gallery > figure.wp-block-image:nth-child(even){
    padding-bottom: 0;
    padding-top: 4rem;
}

#travail figure.wp-block-gallery > figure.wp-block-image::before{
    display: none;
}

#main-container #travail figure.wp-block-gallery > figure.wp-block-image img{
    width: 80%;
    height: 80%;
    object-fit: contain;
}

#travail figure.wp-block-gallery > figure.wp-block-image figcaption{
    max-height: 4rem;
    background: var(--couleur-4);
    font-size: var(--font-size-medium);
    transform: none;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    justify-content: flex-start;
    transition: all var(--transition-basic-duration);
    padding: 0 .5rem;
}

#travail figure.wp-block-gallery > figure.wp-block-image:hover figcaption{
    max-height: 100%;
    height: 100%;
    background-color: var(--couleur-2);
}

#travail figure.wp-block-gallery > figure.wp-block-image figcaption h3{
    font-size: var(--font-size-large);
    text-transform: uppercase;
    min-height: 4rem;
    max-height: 4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    font-weight: 800;
}

#travail figure.wp-block-gallery > figure.wp-block-image:nth-child(even) figcaption{
    bottom: auto;
    top: 0;
}

#main-container .entry-content > .wp-block-columns.alignfull{
    padding-left: var(--paddingContentSize);
    padding-right: var(--paddingContentSize);
}

/*****************/
/*****contact*****/
/*****************/

.zone-contacts{
    display: flex;
    margin-top: 3rem;
}

.zone-contact-coordonnees{
    flex:0.3;
}

.zone-contact-form{
    flex:0.7;
}

.wpcf7-list-item-label{
    font-size: var(--font-size-small);
}

.banner--contact{
    gap: 2vw;
    z-index: 20;
}

.banner--contact .banner__element--image img {
    margin-top: 0vw;
}

.banner--contact .banner__element--image{
    top: 15vw;
    left: -2vw;
    width: 69vw;
    height: 72vw;
    transform: scale(.65) translate(-10vw,-20vw);
}

.banner--contact .banner__element--image .simpleParallax {
    overflow: hidden !important;
    width: 100%;
    height: 100%;
}

.banner--contact .banner__element--content{
    width: 40%;
    padding-top: 6vw;
}

.page-template-page-contact .container-content--contact{
    padding-top: 10vw;
}

.page-template-page-contact .pre-footer__content h2{
    display: none;
}

.page-template-page-contact .pre-footer__accroche p{
    display: block;
    width: 42vw;
    float: right;
}

.page-template-page-contact .pre-footer__content figure{
    margin-top: 10vw;
}

.banner__element--infos{
    width: 70%;
    padding: 2rem;
    font-size: var(--font-size-large);
    height: fit-content;
    background-color: var(--couleur-4);
    left: 50%;
    transform: translate(-50%,-30%);
}

.banner__element--infos a{
    color: #fff;
}

.banner__element--infos a:hover{
    text-decoration: underline;
}

#main-container .banner__element--infos h2{
    font-size: var(--font-size-xx-large);
    margin: 0 0 6rem 0;
    text-align: left;
}

/**********************/
/*****fil d'Ariane*****/
/**********************/

.breadcrumbs{
    margin: 1.75rem 0 0 2.5rem;
    text-transform: uppercase;
    font-style: italic;
    font-size: var(--font-size-small)
}

.breadcrumbs a{
    color: inherit;
}

.breadcrumbs a:hover{
    text-decoration: underline;
}

.breadcrumbs span span{
    position: relative;
    padding-right: 1rem;
    margin-right: 1rem;
}

.breadcrumbs span span::after{
    content : '';
    position: absolute;
    right: -1rem;
    top: 50%;
    width: .5rem;
    height: .375rem;
    transform: translate(-100%,-50%);
    background-image: url('../images/pictos/breadcrumbs-picto.svg');
    background-repeat: no-repeat;
    background-size: contain;
}

.breadcrumbs span span.breadcrumb_last::after{
    display: none;
}

/****************/
/*****footer*****/
/****************/

footer#colophon{
    max-width: 100vw;
    overflow: hidden;
}

footer#colophon h2{
    margin-top: 0.5rem;
}

.pre-footer{
    padding: 5.625rem 0 0 0;
}

.pre-footer__accroche{
    padding-left: 4vw;
    padding-top: 2rem;
}

#colophon .pre-footer figure{
    width: 30vw;
    height: auto;
    margin-left: -5vw;
    z-index: 5;
    margin-top: 10rem;
}

.pre-footer figure img{
    width: 100%;
    height: auto;
}

.pre-footer__element--contact{
    background-color: transparent;
    z-index: 5;
}

:root{
    --footer-infos-shift: 10.625rem;
}

.pre-footer__element--infos{
    background-color: var(--couleur-1);
    padding-top: calc(1.5 * var(--footer-infos-shift));
    margin-top: calc(-1 * var(--footer-infos-shift));
    z-index: 0;
    gap: 2vw;
}

#colophon .pre-footer__element--infos *{
    color: #fff;
}

.pre-footer__logo{
    transform: translateY(-23%);
}

.pre-footer__contacts{
    width: 48vw;
}

.pre-footer__membre{
    font-weight: 600;
}

.pre-footer__membre a:hover{
    text-decoration: underline;
}

.pre-footer__membre .footer__name{
    font-weight: 800;
}

.pre-footer__membre .footer__name + p{
    text-transform: capitalize;
}

.pre-footer__membre p{
    margin-bottom: 0;
}

.footer-container,
.footer-sub-container{
    justify-content: center;
    height: 3.5rem;
}


.footer-container a,
.footer-sub-container a{
    color:var(--couleur-texte);
}

.footer-container a:hover,
.footer-sub-container a:hover{
    text-decoration: underline;
}

section.block-reseaux-sociaux{
    position: absolute;
    right: 0;
}

.block-footer-menu ul.menu > li{
    position: relative;
    display: flex;
}

.block-footer-menu ul.menu > li + li{
    margin: 0;
}

.block-footer-menu ul.menu > li + li::before{
    content : '•';
    display: inline-block;
    font-size: 2rem;
}

button#tarteaucitronManager{
    display: none !important;
}

button#tarteaucitronClosePanel{
    color: var(--couleur-texte);
}

/*****************/
/*****archive*****/
/*****************/

body.post-type-archive-projet #main-container{
    background-color: var(--couleur-5);
    padding-bottom: 8rem;
}

Body.archive #banner{
    background-color: #000;
}

.archive-container{
    width: var(--contentSize);
    margin: 0 auto;
    column-gap: 2.2vw;
    row-gap: 6.25rem;
    padding: 6rem 0;
}

body.archive #main-container{
    flex-direction: row;
    flex-wrap: wrap;
    gap: 2.5vw;
}

:where(.archive,.blog) .archive-wrapper{
    flex-wrap: wrap;
    gap: 2rem;
    justify-content: space-between;
}

:where(.archive,.blog) article{
    width: 25.2vw;
}

:where(.archive,.blog) .post-thumbnail{
    width: 25.2vw;
    height: 25.2vw;
}

:where(.archive,.blog) .post-extrait .post-thumbnail a img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

:where(.archive,.blog) article.post-extrait + article.post-extrait {
    margin-top: 0;
}

.post-thumbnail{
    overflow: hidden;
}

.post-thumbnail img:hover{
    transform: scale(1.05);
}

article.post-extrait > * + .post-content {
    margin-left: 0;
}

body .related-posts .post-thumbnail{
    width: 100%;
}

.page-numbers{
    transform: translateY(-3.5rem);
}

.page-numbers .current, .page-numbers a{
    border: none;
    font-family: var(--font-titre);
}

.page-numbers a:hover, .page-numbers .current {
    color: var(--couleur-texte);
}

.page-numbers a.prev svg,
.page-numbers a.next svg
{
    fill: var(--couleur-texte);
}

/*********************/
/*******single********/
/*********************/

.container-content{
    padding-top: 6rem;
}

.display-grid > article.post-extrait {
    width: 19vw;
}

#main-container .display-grid > article.post-extrait h2{
    white-space: wrap;
}

body.single .related-posts .post-thumbnail{
    width: 100%;
    height: 19vw;
}

body.single .related-posts .post-thumbnail img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*************************/
/*******cpt projet********/
/*************************/

body.single-projet #banner h1,
body.single-projet #main-container h2,
#main-container .post-extrait h2,
.entry-excerpt > p
{
    font-family: var(--font-titre);
}

nav.suiv-prec{
    display: none;
}

body.single-projet #colleno{
    background-color: var(--couleur-fond);
}

body.single-projet #colleno svg .colorable{
    fill: #000;
}

body.single-projet #colleno .block-primary-menu ul.menu > li > a {
    color: var(--couleur-texte);
}

body.single-projet #banner{
    color: var(--couleur-texte);
}

#banner.banner--projet{
    padding: 4rem 0 0 0;
    width: var(--contentSize);
    margin: var(--header-height) auto 0 auto;
    gap: 4vw;
}

body.single .banner--projet__element--image .post-thumbnail{
    width: 34.9vw;
    height: 100%;
}

body.single .banner--projet__element--image .post-thumbnail:hover img{
    transform: none;
}

body.single .banner--projet__element--image .post-thumbnail img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.banner--projet__element--text{
    border-top: 1px solid var(--couleur-2);
    border-bottom: 1px solid var(--couleur-2);
}

#banner .banner--projet__element--text h1{
    font-size: calc(50 / 60 * var(--font-size-xx-large));
    margin-bottom: 4vw;
    font-weight: 400;
}

#banner .banner--projet__element--text h2{
    margin-top: 0;
    margin-bottom: 1.5vw;
    color: var(--couleur-2);
    text-transform: uppercase;
    font-weight: 700;
    font-size: var(--font-size-large);
}

#banner .banner--projet__element--text p{
    line-height: 2;
}

#banner .banner--projet__element--text a{
    text-transform: uppercase;
    display: inline-block;
    font-size: var(--font-size-large);
    color: var(--couleur-2);
    font-weight: 700;
    padding: 1rem 2rem;
    border:1px solid var(--couleur-2);
    border-radius: 99rem;
    width: fit-content;
}

#banner .banner--projet__element--text a:hover{
    transform: scale(.9);
}

body.single-projet #main-container h2.wp-block-heading{
    font-size: calc(50 /65 * var(--font-size-xx-large));
    margin-top: 0;
    position: relative;
    padding-bottom: 3.125rem;
}

body.single-projet #main-container h2.wp-block-heading::after{
    content : '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 12rem;
    height: 1px;
    background-color: var(--couleur-2);
}

body.single-projet .wp-block-columns{
    gap: 4vw;
    margin-bottom: 4vw;
}

/*************************/
/*****content extrait*****/
/*************************/

article.post-extrait{
    background-color: #fff;
}

.post-extrait .post-thumbnail a{
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
}

.post-extrait .post-thumbnail a::after{
    content : '';
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    left: 0;
    bottom: 0;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-color: var(--couleur-2);
    background-image: url('../images/pictos/oeil.svg');
    background-repeat: no-repeat;
    background-size: 14% 8.5%;
    background-position: center;
    max-height: 0%;
    opacity: 0;
    transition: all var(--transition-basic-duration);
}

.post-extrait .post-thumbnail a:hover::after{
    max-height: 100%;
    opacity: 1;
}

#main-container .post-extrait h2{
    margin: 2rem 0;
    line-height: .8;
}

#main-container .post-extrait h2 a{
    font-size: calc(30 / 24 * var(--font-size-large));
    color: var(--couleur-texte);
}

#main-container .post-extrait h2 a:hover{
    color: var(--couleur-2);
}

#main-container .post-extrait .entry-content{
    background-color: #fff;
    padding: 0 1.5rem 1.5rem 1.5rem;
}

#main-container .post-extrait .entry-content p{
    line-height: 2;
    font-style: italic;
}

.thumbnail__curtain{
    background-color: var(--couleur-2);
    opacity: 0;
    transition: all var(--transition-basic-duration);
}

.thumbnail__curtain:hover{
    opacity: 1;
}

.terms-wrapper{
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.terms-wrapper span{
    background-color: #F3F3F3;
    padding: .2rem .5rem;
    white-space: nowrap;
    border-radius: 6px;
    font-style: italic;
    font-size: var(--font-size-small);
}

/***********************/
/*****related posts*****/
/***********************/

.related-posts{
    width: var(--contentSize);
    margin: 0 auto;
}

#main-container .related-posts > h2{
    border-bottom: 1px solid var(--couleur-2);
    padding-bottom: 2rem;
}

#main-container .related-posts .post-extrait h2 a{
    font-size: var(--font-size-large);
}

#main-container .related-posts .post-extrait h2::before{
    content : '';
    position: absolute;
    left: 0;
    top: 0;
    width: 2.625rem;
    height: 1px;
    background: var(--couleur-2);
}

.related-posts .terms-wrapper{
    display: none;
}

#main-container .related-posts .post-extrait .entry-content {
    padding: 0;
}

a.cpt-archive-link{
    display: block;
    width: fit-content;
    margin: 0 auto;
    background-color: var(--couleur-2);
    border-radius: 99rem;
    text-transform: uppercase;
    color: #fff;
    padding: .5rem 1.5rem;
    font-weight: 700;
    margin-top: 5rem;
}

a.cpt-archive-link:hover{
    transform: scale(.9);
}

a.cpt-archive-link::after{
    content : '';
    position: absolute;
    top: -6rem;
    right: -10rem;
    width: 6.375rem;
    height: 8.5rem;
    background-image: url('../images/fleche-tortillon.svg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    transition: all var(--transition-basic-duration);
}

a.cpt-archive-link:hover::after{
    transform: scale(1.5);
}


/*************************/
/*****bloc flex-start*****/
/*************************/

/*règles CSS permettant de gérer l'affichage d'un contenu flex en flex start
centré dans un conteneur
structure :

<div class="flex-start-container">
    <div class="flex-start-wrapper">
        <div class="flex-start-element">


        </div>
    </div>
        <div class="flex-start-wrapper">
        <div class="flex-start-element">


        </div>
    </div>
</div>
*/


:root{
    --flex-start-container-width: 84vw;
    --flex-start-nb-columns: 5;
    --flex-start-element-width: calc(100% / var(--flex-start-nb-columns));
    --flex-start-element-height: 20vw;
    --flex-start-element-padding: .8vw;
}

.flex-start-container{
    width: var(--flex-start-container-width);
    padding: var(--flex-start-element-padding);
}

.flex-start-wrapper{
    width: var(--flex-start-element-width);
    height: var(--flex-start-element-height);
    padding: var(--flex-start-element-padding);
    transition: all var(--transition-basic-duration);
}

.flex-start-element{
    width: 100%;
    height: 100%;
    margin: 0;
}



