/*
Kate style
*/

/******************/
/*******VAR********/
/******************/
:root {
    --wh: #ffffff;
    --blk: #32373B;
    --kate: #0016b7;
    --rad90: 90px;

    /*** CLASSICS ***/
    --Bleu1: #25588D;
    --Bleu2: #0F2842;
    --Bleu3: #07141C;
    --Jaune: #FEE214;
    --Gris-bleu1: #E4ECF1;
    --Gris-bleu2: #98A9B6;
    --Gris-bleu3: #6E7E8F;
    --Degrade-clair: linear-gradient(180deg, #25588D 0%, #0F2842 100%);
    --Degrad_fonce: linear-gradient(0deg, #0B1B26 0.1%, #0F2842 99.9%);
    --Degrade-boutons: linear-gradient(90deg, #25588D 0%, rgba(5, 22, 38, 0.00) 100%);
}


/******************/
/*******LIENS******/
/******************/
a:link {
    color: var(--Bleu2);
}
a:visited {
    color: var(--Bleu2);
}
a:active,
a:hover {
    color: var(--Bleu1);
}

/******************/
/******POLICES*****/
/******************/
/*** Montserrat ***/
/* montserrat-regular */
@font-face {
    font-family: 'montserrat';
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    src: url('../fonts/montserrat/montserrat-v31-latin-regular.ttf') format('truetype'),
        url('../fonts/montserrat/montserrat-v31-latin-regular.woff2') format('woff2');
}

/* montserrat-italic */
@font-face {
    font-family: 'montserrat';
    font-weight: 400;
    font-style: italic;
    font-display: swap;
    src: url('../fonts/montserrat/montserrat-v31-latin-italic.ttf') format('truetype'),
        url('../fonts/montserrat/montserrat-v31-latin-italic.woff2') format('woff2');
}

/* montserrat-600 */
@font-face {
    font-family: 'montserrat';
    font-weight: 600;
    font-style: normal;
    font-display: swap;
    src: url('../fonts/montserrat/montserrat-v31-latin-600.ttf') format('truetype'),
        url('../fonts/montserrat/montserrat-v31-latin-600.woff2') format('woff2');
}

/* montserrat-600italic */
@font-face {
    font-family: 'montserrat';
    font-weight: 600;
    font-style: italic;
    font-display: swap;
    src: url('../fonts/montserrat/montserrat-v31-latin-600italic.ttf') format('truetype'),
        url('../fonts/montserrat/montserrat-v31-latin-600italic.woff2') format('woff2');
}

/*** Panchang Semibold ***/
@font-face {
    font-family: 'panchang';
    font-weight: 600;
    font-style: normal;
    font-display: swap;
    src: url('../fonts/panchang/Panchang-Semibold.woff2') format('woff2'),
        url('../fonts/panchang/Panchang-Semibold.woff') format('woff'),
        url('../fonts/panchang/Panchang-Semibold.ttf') format('truetype');
}

/*** global ***/
body {
    font-family: 'montserrat', sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 24px;
    color: var(--Bleu2);
}
h1, h2, h3, h4, h5, h6{
    display: block;
}


/******************/
/****STRUCTURE*****/
/******************/
.widzmain {
    width: 1228px;
    margin-right: auto;
    margin-left: auto;
}
.widzmed {
    width: 1028px;
    margin-right: auto;
    margin-left: auto;
}

/*******************/
/**** CLASSICS *****/
/*******************/

/*** CLASSIC TITLES ***/
.classic_title_h2 {
    font-family: 'panchang', sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 34px;
    text-transform: uppercase;
    margin-bottom: 20px;
}
.page-template-page_accueil .classic_title_h2 {
    font-size: 27px;
}
.classic_title_h2,
.classic_title_h2_white {
    font-family: 'panchang', sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
    margin-bottom: 20px;
}
.classic_title_h2_white,
.classic_title_h3_white {
    color: var(--wh);
}
.classic_title_h3,
.classic_title_h3_white {
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
    margin-bottom: 16px;
}

/*** CLASSIC CONTENTS ***/
.content_front {
    padding-bottom: 41px;
}

/*** CLASSIC IMAGES ***/
.classic_image {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 10px;
}

/*** CLASSIC links "a" ***/
.classic_a {
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

/*** CLASSIC BULLET LIST (tiny mce) ***/
.classic_grey_bullet_check {
    position: relative;
    display: block;
    padding-left: 28px;
    margin-bottom: 14px;
}
.classic_grey_bullet_check:after {
    content: '';
    position: absolute;
    display: block;
    background: url('../img/classic_grey_bullet_check.svg') no-repeat;
    width: 13px;
    height: 13px;
    top: 5px;
    left: 0;
}

/*** CLASSIC BUTTONS ***/

/* Bouton BLANC */
.classic_btn_fond_blanc,
.classic_btn_dark_blue {
    position: relative;
    width: fit-content;
    box-sizing: border-box;
    padding: 14px 29px;
    margin-bottom: 15px;
    border-radius: 60px;
    border: 1px solid var(--Bleu2);
    transition: all 0.3s;
}
.classic_btn_dark_blue {
    color: var(--wh) !important;
    background-color: var(--Bleu2);
    transition: all 0.3s;
}
.classic_btn_fond_blanc a,
.classic_btn_dark_blue a,
.classic_btn_dark_blue {
    text-decoration: unset;
}
.classic_btn_fond_blanc:hover {
    color: var(--wh);
    background-color: var(--Bleu2);
    transition: all 0.3s;
}
.classic_btn_dark_blue:hover {
    color: var(--Bleu2) !important;
    background-color: var(--wh);
    transition: all 0.3s;
}
.classic_btn_fond_blanc:hover a {
    color: var(--wh);
    transition: all 0.3s;
}
.classic_btn_dark_blue:hover a {
    transition: all 0.3s;
}

/* Bouton DEGRADE BLEU */
.classic_btn_gradient_blue {
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    padding: 11px 25px;
    margin-top: 17px;
    border-radius: 60px;
    border: 0.5px solid var(--Bleu1);
    background: var(--Degrade-boutons), linear-gradient(90deg, #25588D 0%, #25588D 100%) no-repeat;
    background-size: 100% 100%, 0% 100%;
    transition: background-size 0.3s ease-out, color 0.3s;
}
.classic_btn_gradient_blue a {
    color: var(--wh) !important;
    text-decoration: none;
}
.classic_btn_gradient_blue:hover {
    background-size: 100% 100%, 100% 100%;
    transition: all 0.3s;
}


/********************/
/****** HEADER ******/
/********************/
#logo,
#logo_home{
    position: relative;
    margin-right: 29px;
}
#logo img,
#logo_home img {
    position: relative;
    z-index: 2;
}
#logo a,
#logo_home a {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 3;
}
#header {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 19px 0 21px;
    z-index: 10;
}
.navtop {
    flex: 1;
}
.navtop ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 22px;
}
.navtop ul li {
    position: relative;
    padding-bottom: 13px;
}
.navtop ul li.solar_button a {  /* Style du Calculateur solaire */
    position: relative;
    padding: 6px 16px 6px 38px;
    background: linear-gradient(90deg, #E4ECF1 0%, rgba(255, 255, 255, 0.00) 100%);
    border: 0.5px solid var(--Gris-bleu1);
    border-radius: 60px;
    transition: all 0.3s;
}
.navtop ul li.solar_button a:before,
.page-template-page_accueil .navtop ul li.solar_button a:before {
    content: '';
    position: absolute;
    display: block;
    background: url('../img/header_sun_calc.svg') no-repeat;
    width: 18px;
    height: 18px;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
}
.navtop ul li.solar_button:hover a {
    background: linear-gradient(90deg, #E4ECF1 100%, rgba(255, 255, 255, 0.00) 0%);
    border: 0.5px solid var(--Bleu1);
    transition: all 0.3s;
}
.navtop ul ul li.solar_button:hover a {
    background: unset;
    border: unset;
    transition: unset;
}
.page-template-page_accueil .navtop ul li.solar_button a {  /* Style du Calc sur la page d'accueil */
    border-radius: 60px;
    border: 0.5px solid var(--Bleu1, #25588D);
    background: var(--Degrade-boutons, linear-gradient(90deg, #25588D 0%, rgba(5, 22, 38, 0.00) 100%));
}
.page-template-page_accueil .navtop ul li.solar_button a:before {
    background: url('../img/header_sun_calc_white.svg') no-repeat;
}
.page-template-page_accueil .navtop ul li.solar_button:hover a {
    background: linear-gradient(90deg, #25588D 100%, rgba(5, 22, 38, 0.00) 0%);
    border: 0.5px solid var(--Bleu1);
    transition: all 0.3s;
}
.navtop ul li:last-of-type {        /* Style du Bouton FR */
    position: relative;
}
/*.navtop ul li:last-of-type::after,*/
/*.page-template-page_accueil .navtop ul li:last-of-type::after {*/
/*    content: '';*/
/*    position: absolute;*/
/*    display: block;*/
/*    background: url('../img/header_fr_arrow.svg') no-repeat;*/
/*    width: 9px;*/
/*    height: 9px;*/
/*    right: 0;*/
/*    top: 40%;*/
/*    transform: translateY(-40%);*/
/*}*/

/* je désactive le style du BOUTON SOLAIRE pour les sous-niveaux ul/ul/li */
#navtop_home ul ul li.solar_button a,
.navtop ul ul li.solar_button a {
    padding: unset;
    border-radius: unset;
    border: unset;
    background: unset;
}
#navtop_home ul ul li.solar_button a:before,
.navtop ul ul li.solar_button a:before {
    display: none;
}

.navtop ul li ul li:last-of-type::after,
.page-template-page_accueil .navtop ul li ul li:last-of-type::after {
    background: url('../img/submenu_white_arrow.svg') no-repeat center;
}
.page-template-page_accueil .navtop ul li:last-of-type::after {      /* Style du Bouton FR sur Page ACCUEIL */
    background: url('../img/header_fr_arrow_white.svg') no-repeat;
}
.navtop ul li:last-of-type a {
    padding-right: 12px;
}
.navtop ul li ul li:last-of-type a {
    padding-right: 20px;
}
.navtop ul li a {
    text-decoration: unset;
    color: var(--Bleu3);
    transition: all 0.3s;
}
.navtop ul li:hover a {
    color: var(--Bleu1);
    transition: all 0.3s;
}
#navtop_home ul li a {
    color: var(--wh);
}
#navtop_home ul li:hover a {
    color: var(--wh);
}
.navtop ul li ul {
    display: none;
    position: absolute;
    left: 0;
    top: 100%;
    box-sizing: border-box;
    padding: 40px 15px 35px 35px;
    min-width: 370px;
    background: var(--Degrade-clair, linear-gradient(180deg, #25588D 0%, #0F2842 100%));
    border-radius: 13px;
}
.navtop ul li:hover ul {
    display: block;
}
.navtop ul li:nth-last-child(-n+2) ul{
    right: 0;
    left: unset;
}
.navtop ul li ul li {
    position: relative;
    width: 100%;
    padding-bottom: 0;
    margin-bottom: 12px;
    transition: all 0.3s;
    z-index: 1;
}
.navtop ul li ul li:after {
    content: '';
    position: absolute;
    display: block;
    background: url('../img/submenu_white_arrow.svg') no-repeat center;
    width: 4px;
    height: 7px;
    top: 8px;
    right: 10px;
    transition: all 0.3s;
    z-index: 2;
}
.navtop ul li ul li:hover::after {
    right: 5px;
    transition: all 0.3s;
}
.navtop ul li ul li a {
    display: block;
    padding-right: 20px;
    color: var(--wh) !important;
}

/*** HEADER - RESPONSIVE ***/
/*nav bt*/
#navtop_bt{
    order: 1;
    display: none;
    box-sizing: border-box;
    width: 26px;
    height: 15px;
    margin: 15px 19px auto 20px;
    cursor: pointer;
    position: relative;
    z-index: 888;
}
#navtop_bt_span{
    display: block;
    width: 26px;
    height: 15px;
    background: var(--blk);
    margin: auto;
    position: relative;
}
#navtop_bt_span:before,
#navtop_bt_span:after{
    content: '';
    display: block;
    width: 26px;
    height: 5px;
    background: var(--wh);
    position: absolute;
    transition: all 0.3s;
}
.page-template-page_accueil #navtop_bt_span {
    background: var(--wh);
}
.page-template-page_accueil #navtop_bt_span:before,
.page-template-page_accueil #navtop_bt_span:after {
    background: #041326;
}
.page-template-page_accueil .bt_navtop_hover #navtop_bt_span::before,
.page-template-page_accueil .bt_navtop_hover #navtop_bt_span::after {
    background: var(--wh);
}
#navtop_bt_span:before {
    top: 2px;
}
#navtop_bt_span:after {
    bottom: 2px;
}
.bt_navtop_hover #navtop_bt_span,
.bt_navtop_hover #navtop_bt_span:before,
.bt_navtop_hover #navtop_bt_span:after {
    transition: all 0.3s;
}
.bt_navtop_hover #navtop_bt_span:before,
.bt_navtop_hover #navtop_bt_span:after {
    width: 30px;
    height: 2px;
    background: var(--blk);
}
.bt_navtop_hover #navtop_bt_span {
    background: none;
}
.bt_navtop_hover #navtop_bt_span:before {
    transform: rotate(45deg);
    top: 8px;
}
.bt_navtop_hover #navtop_bt_span:after {
    transform: rotate(-45deg);
    bottom: 5px;
}

/*** WPML BUTTON LANGUAGE ***/
#widget_select_language {
    display: block;
    width: auto;
    height: auto;
    margin-left: 2%;
}
#widget_select_language ul li a {
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    padding-right: 20px !important;
    background-color: unset;
    border: none;
}
#widget_select_language ul li a span {
    display: table-cell;
    width: 30px;
    height: 58px;
    line-height: normal;
    text-align: center;
    vertical-align: middle;
}
.page-template-page_accueil #widget_select_language ul li a span {
    color: var(--wh);
}
#widget_select_language ul li a:after {
    display: block;
    width: 7px;
    height: 7px;
    background: url('../img/wpml_fleche_noire.svg') no-repeat;
    right: 0;
    border-top: unset;
}
.page-template-page_accueil #widget_select_language ul li a:after {
    background: url('../img/wpml_fleche_blanche.svg') no-repeat;
}
/*.wpml-ls-legacy-dropdown .wpml-ls-current-language:hover > a,*/
#widget_select_language ul li a:hover {
    background: unset;
}
.wpml-ls-legacy-dropdown .wpml-ls-sub-menu {
    border-top: unset;
}
#widget_select_language .wpml-ls-legacy-dropdown,
#widget_select_language ul,
#widget_select_language ul li {
    width: fit-content;
}
#widget_select_language ul li ul {
    margin-top: -10px;
    background: var(--Degrade-clair, linear-gradient(180deg, #25588D 0%, #0F2842 100%));
    border-radius: 13px;
}
#widget_select_language ul li ul li a {
    padding-right: 10px !important;
    color: var(--wh);
}
.wpml-ls-statics-footer {
    display: none;
}

/*******************/
/****** CHAPO ******/
/*******************/

/*** BREADCRUMB ***/
#breadcrumb {
    padding-bottom: 57px;
}

/*** HOME CHAPO ***/
.home_chapo,
.chapo {
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
.home_chapo {
    min-height: clamp(300px, 70vw, 902px);
    width: 100%;
}
.all_chapo {
    justify-content: flex-start;
    min-height: clamp(200px, 50vw, 511px);
    border-radius: 10px;
}
.home_chapo_no_pic {
    background: var(--Degrade-clair, linear-gradient(180deg, #25588D 0%, #0F2842 100%));
}
.home_chapo h1 {
    font-family: 'montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: 4.62px ;
}
.home_chapo p:has(.title_h1_white) {
    margin: 3px 0 23px;
}
.chapo_content {
    position: relative;
    display: block;
    max-width: 575px;
    /*max-width: 425px;*/
    z-index: 1;
}
.home_chapo .chapo_content {
    max-width: 635px;
    text-align: center;
}
.all_chapo .chapo_content {
    padding-top: 62px;
    padding-left: 103px;
}
.chapo_content:after {
    content: '';
    position: absolute;
    display: block;
    background: url('../img/chapo_pic_white_star.svg') no-repeat center;
    width: 31px;
    height: 31px;
    bottom: -42px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}
.all_chapo .chapo_content:after {
    top: 0;
    bottom: 0;
    left: 117px;
}
.chapo_content p,
.chapo_content h2,
.chapo_content h3
.chapo_content h4 {
    color: var(--wh) !important;
}


/********************/
/****** FOOTER ******/
/********************/
#footer_container {
    margin: 0 29px;
    border-radius: 10px;
    background: var(--Degrad_fonce);
}
.footer_top {
    display: flex;
    justify-content: space-between;
    column-gap: 20px;
    padding: 42px 0 52px;
    border-bottom: 1px solid;
    border-image: linear-gradient(90deg, #0F2842 0%, #25588D 49.9%, #0F2842 100%) 1;
}
.footer_pic_main_title {
    display: block;
    font-family: 'panchang', sans-serif;
    font-size: 23px;
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
    max-width: 236px;
    color: var(--wh);
}
.footer_top_editor,
#footer_top_buttons {
    display: block;
}
.footer_top_editor {
    max-width: 430px;
}
.footer_top_editor p {
    color: var(--wh) !important;
}
#footer_top_buttons a {
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    text-decoration: none;
    color: var(--wh);
    border-radius: 60px;
    border: 0.5px solid var(--Bleu1);
    background:
        var(--Degrade-boutons),  /* dégradé par défaut */
        linear-gradient(90deg, #25588D 0%, #25588D 100%) no-repeat; /* calque bleu */
    background-size: 100% 100%, 0% 100%;  /* calque bleu invisible au départ */
    transition: background-size 0.3s ease-out, color 0.3s;
}
#footer_top_buttons a:hover {
    background-size: 100% 100%, 100% 100%;  /* le calque bleu s’étend */
    transition: all 0.3s;
}
#footer_top_buttons a:first-of-type {
    padding: 18px 25px 18px 66px;
}
#footer_top_buttons a:last-of-type {
    padding: 18px 25px 18px 56px;
    margin-left: 21px;
}
#footer_top_buttons a:before {
    content: '';
    position: absolute;
    display: block;
    left: 28px;
    top: 50%;
    transform: translateY(-50%);
}
#footer_top_buttons a:first-of-type::before {
    background: url('../img/footer_top_picto_contact.svg') no-repeat;
    width: 24px;
    height: 24px;
}
#footer_top_buttons a:last-of-type::before {
    background: url('../img/footer_top_picto_download.svg') no-repeat;
    width: 20px;
    height: 21px;
    left: 22px;
}
#footer_resp_buttons {
    display: none;
}
#footer_menu {
    display: flex;
    padding-bottom: 53px;
}
#footer_menu #widget_footer_widget_nav_menu {
    width: 75%;
    margin-right: 5%;
}
#footer_menu .footer_top_usefull_content {
    width: 20%;
    margin-left: 5%;
}
#footer_menu #widget_footer_widget_nav_menu,
#footer_menu .footer_top_usefull_content {
    padding-top: 31px;
}
#footer_menu .footer_top_usefull_content #widget_footer_widget_nav_menu {
    width: 100%;
}
#footer_menu .footer_top_usefull_content .widget_footer_usefull {
    padding-top: 0 !important;
}
#footer_menu ul {
    position: relative;
    display: flex;
    justify-content: space-between;
    column-gap: 5%;
}
#footer_menu ul > li {
    font-weight: 600;
}
#footer_menu ul li a {
    display: block;
    margin-bottom: 13px;
    text-decoration: none;
    color: var(--wh);
    transition: all 0.3s;
}
#footer_menu ul li ul {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    column-gap: 5%;
    padding-top: 0 !important;
}
#footer_menu ul li ul li {
    font-weight: 400;
    margin-bottom: 13px;
}
#footer_menu ul li ul li a {
    margin-bottom: 0 !important;
    transition: all 0.3s;
}
#footer_menu ul li ul li a:hover,
#footer_menu ul li a:hover {
    color: var(--Gris-bleu2);
    transition: all 0.3s;
}
#footer_menu [class*="menu-footer-liens-pratiques"] {   /* Les traductions WPML modifie la classe donc celle-ci est générale à toutes les trad */
/*#footer_menu .menu-footer-liens-pratiques-container {*/
    display: flex;
    flex-direction: column;
}
#footer_menu [class*="menu-footer-liens-pratiques"] ul {
/*#footer_menu .menu-footer-liens-pratiques-container ul {*/
    flex-direction: column;
}
#footer_menu [class*="menu-footer-liens-pratiques"] ul li a {
/*#footer_menu .menu-footer-liens-pratiques-container ul li a {*/
    font-weight: 400;
}
#footer_menu .footer_intro_usefull_title {
    display: block;
    font-weight: 600;
    padding-bottom: 13px;
    color: var(--wh);
}
/*** Logos (en pos.absolute + JS) ***/
#footer_menu_logos {
    display: flex;
    justify-content: flex-start;
    column-gap: 12px;
    padding-top: 22px;
}
.footer_menu_logo_single {
    position: relative;
}
.footer_menu_logo_link {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
.footer_menu_logo_pic {
    display: block;
    width: 72px;
    height: 71px;
}
.footer_menu_logo_pic img,
#footer_menu_rs_pic img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
    border-radius: 6px;
}
#footer_menu_other_links {
    display: block;
    padding-top: 4px;
}
.footer_menu_rs_pic {
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
}
.footer_menu_rs_pic img {
    box-sizing: border-box;
    padding: 12px;
    border-radius: 7px;
    border: 0.5px solid var(--Bleu1);
    background: var(--Degrade-boutons);
}
.footer_menu_rs_pic a {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
.footer_menu_tel {
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    padding: 14px 28px 14px 46px;
    margin-top: 17px;
    text-decoration: none;
    color: var(--wh) !important;
    border-radius: 60px;
    border: 0.5px solid var(--Bleu1);
    background: var(--Degrade-boutons), linear-gradient(90deg, #25588D 0%, #25588D 100%) no-repeat;
    background-size: 100% 100%, 0% 100%;
    transition: background-size 0.3s ease-out, color 0.3s;
}
.footer_menu_tel:hover {
    background-size: 100% 100%, 100% 100%;  /* le calque bleu s’étend */
    transition: all 0.3s;
}
.footer_menu_tel:before {
    content: '';
    position: absolute;
    display: block;
    background: url('../img/footer_menu_tel.svg') no-repeat;
    width: 24px;
    height: 24px;
    left: 13px;
    top: 50%;
    transform: translateY(-50%);
}
#footer_legals {
    padding: 16px 0 19px;
}
#footer_legals ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#footer_legals ul li {
    position: relative;
    display: block;
    padding: 0 12px;
}
#footer_legals ul li a {
    text-decoration: none;
}
#footer_legals ul li:after {
    content: '-';
    position: absolute;
    right: -3px;
    top: 0;
}
#footer_legals ul li:last-of-type::after {
    display: none;
}


/******************************/
/****** MODELES DE PAGES ******/
/******************************/

/********************/
/*** PAGE ACCUEIL ***/
/********************/
.page-template-page_accueil #main {
    margin-top: -118px;     /* Pour que le chapo passe sous le header */
    z-index: 9;
}
.home_chapo {
    margin-bottom: 101px;
}
.bloc_announce {
    position: relative;
    padding-bottom: 105px;
}
.bloc_announce a {
    text-decoration: unset;
}
.bloc_announce_display {
    display: flex;
    justify-content: center;
}
.bloc_announce_pic {
    display: block;
    width: 372px;
    height: auto;
}
.bloc_announce_pic img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 10px 0 0 10px;
}
.bloc_announce_content {
    flex: 1;
    position: relative;
    display: block;
    box-sizing: border-box;
    padding: 37px 69px 70px;
    background-color: var(--Bleu2);
    border-radius: 0 10px 10px 0;
    overflow: hidden;
    z-index: 2;
}
.bloc_announce_content:after {
    content:'';
    position: absolute;
    display: block;
    background: url('../img/button_plus_link_hovered.svg')no-repeat center;
    width: 56px;
    height: 56px;
    right: 16px;
    bottom: 16px;
}
.bloc_announce_display:hover .bloc_announce_content:after {
    background: url('../img/button_plus_link_hovered_home.svg')no-repeat center;
}
.bloc_announce_content:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, #25588D 0%, #0F2842 100%);
    transform: translateY(-100%);
    transition: transform 0.4s ease;
    border-radius: 0 10px 10px 0;
    z-index: -1; /* placé sous le contenu */
}
.bloc_announce_display:hover .bloc_announce_content:before {
    transform: translateY(0);
}
.bloc_announce_subtitle,
.bloc_announce_content h3,
.bloc_announce_content h2,
.bloc_announce_content p,
.bloc_announce_content a {
    color: var(--wh) !important;
}
.bloc_announce_subtitle {
    display: inline-block;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 2.66px;
    text-transform: uppercase;
    padding: 2px 12px;
    margin-bottom: 18px;
    background-color: var(--Bleu3);
    border-radius: 20px;
}
.bloc_remontee_equip {
    display: block;
    margin-bottom: 117px;
}
.bloc_remontee_equip_content {
    padding-bottom: 10px;
}
.bloc_remontee_equip ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    column-gap: 20px;
    row-gap: 40px;
}
.bloc_remontee_equip ul li {
    display: block;
    width: 32%;
    min-width: 396px;
    overflow: hidden;
    border-radius: 10px;
}
.bloc_remontee_equip_image {
    position: relative;
    display: block;
    width: 100%;
    height: 508px;
}
.bloc_remontee_equip_image:before {     /* background noir "light" AVANT le hover de la li */
    content: '';
    position: absolute;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 60.04%, #07141C 88.47%);
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 10px;
    opacity: 1;     /* Calque n°1, au-dessus de celui "foncé"*/
    transition: all 0.3s;
    z-index: 2;
}
.bloc_remontee_equip_image:after {      /* background noir "foncé" APRES le hover de la li */
    content: '';
    position: absolute;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, #07141C 98.47%);
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 10px;
    opacity: 0;     /* Calque n°2, en-dessous du calque "light" */
    transition: all 0.3s;
    z-index: 2;
}
/* Animation au hover : */
.bloc_remontee_equip ul li:hover .bloc_remontee_equip_image:before {
    opacity: 0;
}
.bloc_remontee_equip ul li:hover .bloc_remontee_equip_image:after {
    opacity: 1;
}
.bloc_remontee_equip_image img {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 10px;
    z-index: 1;
}
.bloc_remontee_equip_single_content {
    position: absolute;
    right: 18px;
    bottom: 0;
    left: 37px;
    z-index: 3;
    transition: transform 0.4s ease, opacity 0.4s ease;
}
.bloc_remontee_equip ul li:hover .bloc_remontee_equip_single_content {
    transform: translateY(-30px);
}
.bloc_remontee_equip_single_content .classic_styled_title_h2_white {
    display: block;
    font-size: 18px !important;
    line-height: normal !important;
}
.bloc_remontee_equip_single_content .classic_styled_title_h2_white:before {
    position: absolute;
    content: '';
    display: block;
    width: 88px;
    height: 1px;
    top: -27px;
    background: var(--wh);
}
.bloc_remontee_equip_chapo {
    color: var(--wh);
    opacity: 0;
    height: 0;
    transform: translateY(20px);
    transition: transform 0.4s ease, opacity 0.4s ease;
}
.bloc_remontee_equip ul li:hover .bloc_remontee_equip_chapo {
    transform: translateY(0); /* remonte */
    opacity: 1;
    height: auto;
}
.bloc_continents {
    margin-bottom: 77px;
}
.bloc_continents_maintitle.classic_styled_title_h2 {
    padding-bottom: 60px;
}
.bloc_continents ul {
    display: flex;
    justify-content: flex-start;
    gap: 20px;
}
.bloc_continents ul li {
    position: relative;
    display: block;
    width: 24%;
}
.continent_single_pic,
.continent_single_nopic {
    display: block;
    width: 100%;
    height: 235px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    transition: filter .3s ease;
}
.single_continent_article:hover .continent_single_pic {
    filter: brightness(0.8);
}
.continent_single_nopic {
    background-color: var(--Gris-bleu2);
}
.bloc_continents ul li a {
    position: absolute;
    width: max-content;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-decoration: unset;
    padding: 3px 13px 3px 15px;
    transition: 0.3s ease;
}
.bloc_continents ul li a:hover {
    color: var(--wh);
    background: rgba(7, 20, 28, 0.50);
    border-radius: 8px;
    transition: 0.3s ease;
}
.bloc_continents ul li p {
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 30px;
    letter-spacing: 2.4px;
    text-transform: uppercase;
    padding-right: 22px;
}
.bloc_continents ul li a:hover p {
    background: url('../img/bloc_continents_fleche_hover.svg') no-repeat right 10px;
}
.bloc_four_dark_squares_front {
    margin-bottom: 92px;
}
.four_dark_squares_content {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    /*justify-content: space-between;*/
    column-gap: 20px;
}
.four_square_single_article {
    position: relative;
    width: 24%;
    min-width: 292px;
    box-sizing: border-box;
    padding: 33px 29px 30px;
    border-radius: 10px;
    background: var(--Degrad_fonce);
}
.four_square_pic {
    display: block;
    width: 33px;
    height: 33px;
    margin-bottom: 15px;
}
.four_square_pic img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
}
.four_square_title {
    display: block;
    font-weight: 600;
    padding-bottom: 11px;
    color: var(--wh);
}
.four_square_editor {
    color: var(--wh);
}
.four_square_single_article:has(.four_square_link) .four_square_editor {
    padding-bottom: 37px;
}
.four_square_link {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
.bloc_50_50 {
    display: flex;
    justify-content: space-between;
    column-gap: 5%;
    margin-bottom: 92px;
}
.bloc_50_50_maineditor {
    display: block;
    padding-bottom: 13px;
}
.bloc_50_50_content {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    flex-direction: column;
    margin-bottom: 51px;
}
.bloc_50_50_single_article {
    position: relative;
    display: flex;
    justify-content: flex-start;
    column-gap: 25px;
    padding: 16px 12px 6px 0;
    margin-bottom: 7px;
    z-index: 2;
}
.bloc_50_50_single_article:last-of-type {
    margin-bottom: unset;
}
.bloc_50_50_single_pic {
    display: block;
    width: 38px;
    min-width: 38px;
    height: 38px;
}
.bloc_50_50_single_pic img {
    object-fit: contain;
    object-position: center;
    border-radius: unset;
}
.bloc_50_50_single_title {
    display: block;
    text-transform: uppercase;
}
.bloc_50_50_single_article .bloc_50_50_single_link {
    z-index: 3;
}
.bloc_50_50_single_article:has(.bloc_50_50_single_link) .bloc_50_50_single_editor {
    box-sizing: border-box;
    padding-right: 60px;
}
.bloc_50_50_single_article:has(.bloc_50_50_single_link) {
    background-image: linear-gradient(90deg, #fff 0%, #E4ECF1 100%);
    background-size: 0% 100%;
    background-repeat: no-repeat;
    background-position: left center;
    transition: background-size 0.5s ease-out;
    border-radius: 10px;
    z-index: 3;
}
.bloc_50_50_single_article:has(.bloc_50_50_single_link):hover {
    background-size: 100% 100%;  /* le dégradé s’étend */
    transition: all 0.3s;
}
.bloc_50_50_single_article:has(.bloc_50_50_single_link)::after {
    content:'';
    display: block;
    position: absolute;
    background: url('../img/bloc_50_50_btn_plus.svg')no-repeat center, var(--wh);
    width: 13px;
    height: 13px;
    padding: 28px 15px;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    border-radius: 7px;
    z-index: 1;
}
.bloc_50_50_mainpic {
    display: block;
}
.bloc_50_50_mainpic img {
    width: clamp(250px, 40vw, 604px);
    height: auto;
    aspect-ratio: 604 / 686;
    object-fit: cover;
}
.bloc_2cols_pic_editor {
    display: flex;
    justify-content: space-between;
    column-gap: 4%;
    margin-bottom: 92px;
}
.bloc_pic_edit_col_left img {
    width: clamp(250px, 40vw, 604px);
    aspect-ratio: 604 / 525;
}
.bloc_slider_50_50 {
    margin: 0 59px;
    border-radius: 10px;
    background: var(--Degrad_fonce);
}
.mySlider_fifty_fifty {
    display: block;
    box-sizing: border-box;
    padding: 93px 0 39px;
    margin-bottom: 92px;
}
.mySlider_fifty_fifty .slide_single_article {
    justify-content: space-between;
    align-items: unset;
    column-gap: 4%;
}
.mySlider_fifty_fifty .slide_editor {
    position: relative;
    display: block;
    padding-top: 39px;
    padding-bottom: 61px;
    width: 100%;
}
.mySlider_fifty_fifty .slide_editor:before {
    content: '';
    position: absolute;
    display: block;
    background: url('../img/chapo_pic_white_star.svg')no-repeat center;
    width: 31px;
    height: 31px;
    top: -15px;
    left: 0;
}
.mySlider_fifty_fifty .slide_editor p,
.mySlider_fifty_fifty .slide_editor h2,
.mySlider_fifty_fifty .slide_editor h3,
.mySlider_fifty_fifty .slide_editor h4 {
    color: var(--wh) !important;
}
.mySlider_fifty_fifty .slide_pic {
    display: block;
}
.mySlider_fifty_fifty .slide_pic img {
    width: clamp(200px, 40vw, 512px);
    height: auto;
    aspect-ratio: 512 / 406;
    object-fit: cover;
    border-radius: 12px;
    background: lightgray 50% / cover no-repeat;
}
.mySlider_fifty_fifty .myslider_buttons {
    position: absolute;
    display: block;
    bottom: 0;
    right: 45%;
}
.mySlider_fifty_fifty .swiper-button-prev-fifty,
.mySlider_fifty_fifty .swiper-button-next-fifty,
.mySlider_product_cards .swiper-button-prev-product,
.mySlider_product_cards .swiper-button-next-product {
    width: 45px;
    height: 49px;
    top: unset;
    bottom: 0;
}
.mySlider_fifty_fifty .swiper-button-prev-fifty:after,
.mySlider_fifty_fifty .swiper-button-next-fifty:after,
.mySlider_product_cards .swiper-button-prev-product:after,
.mySlider_product_cards .swiper-button-next-product:after {
    content: '';
}

.mySlider_fifty_fifty .swiper-button-prev-fifty,
.mySlider_product_cards .swiper-button-prev-product {
    background: url('../img/slider_arrow_left.svg') no-repeat center;
    left: unset;
    right: 55px !important;
}
.mySlider_fifty_fifty .swiper-button-next-fifty,
.mySlider_product_cards .swiper-button-next-product {
    background: url('../img/slider_arrow_right.svg') no-repeat center;
    right: 0;
}
.bloc_height_square_pics {
    margin-bottom: 92px;
}
.height_square_pics_editor {
    display: block;
    padding-bottom: 31px;
}
.height_square_pics_mozaik {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 35px 20px;
}
.height_square_pics_single_article {
    position: relative;
    width: 292px;
}
.height_square_pics_single_article a {
    text-decoration: none;
}
.square_pics_single_pic {
    position: relative; /* Pour taxo_usages en absolute */
    display: block;
    overflow: hidden;
    border-radius: 10px;
    border: 1px solid var(--Gris-bleu2);
}
.square_pics_single_pic img,
.square_pics_single_nopic {
    display: block;
    width: clamp(180px, 40vw, 292px);
    height: auto;
    aspect-ratio: 292 / 300;
    object-fit: cover;
    border-radius: 10px;
    background: lightgray 50% / cover no-repeat;
    transition: all 0.3s;
}
.height_square_pics_single_article:hover .square_pics_single_pic {
    border-radius: 10px;
    transition: all 0.3s;
}
.height_square_pics_single_article:hover .square_pics_single_pic img {
    transform: scale(1.05);
    transition: all 0.3s;
}
.page-template-page_master .bloc_height_square_pics .height_square_pics_single_article:hover .square_pics_single_pic img {
    transform: unset;
}
.square_pics_single_nopic {
    background: var(--Gris-bleu1);
}
.height_square_pics_single_article .content_front h3,
.height_square_pics_single_article a .content_front {
    padding-top: 15px;
}
.bloc_remontee_pdts_taxo_names {
    position: absolute;
    display: block;
    top: 14px;
    right: 16px;
}
.bloc_remontee_pdts_single_taxo_name {
    display: inline-block;
    font-family: 'montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 21px;
    padding: 0 8px;
    /*text-transform: capitalize;*/
    color: var(--Bleu1);
    background-color: var(--wh);
    border-radius: 6px;
}
.bloc_remontee_pdts_single_taxo_name:nth-child(n+1) {
    margin-left: 8px;
}
.height_square_single_subtitle,
.height_square_single_year {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: var(--Gris-bleu2);
}
.height_square_single_subtitle {
    padding-top: 15px;
    padding-bottom: 10px;
}
.tax-taxo_equipement #height_square_pics_mozaik_anchor .height_square_single_subtitle {
    padding-bottom: 0;
}
.tax-taxo_equipement #height_square_pics_mozaik_anchor .height_square_single_subtitle .classic_title_h3 {
    margin-bottom: 14px;
    color: var(--Bleu2);
}
.square_pics_single_editor p {
    font-size: 15px;
    font-weight: 600;
    padding-bottom: 10px !important;
}
.single_product_card_link {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
.bloc_partners {
    display: block;
    margin-bottom: 149px;
}
.bloc_partners_editor {
    padding-bottom: 16px;
}
.partners_pics_mozaik {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 22px 16px;
}
.bloc_partners_article {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 293px;
    box-sizing: border-box;
    padding: 30px 19px;
    background: var(--Gris-bleu1);
    border-radius: 10px;
}
.bloc_partners_article:has(.bloc_partners_single_logo) {
    width: 293px;
    padding: 5px 0;
}
.partners_single_company_title.classic_styled_title_h3 {
    font-size: 16px;
    line-height: normal;
    text-align: center;
}
.bloc_partners_single_logo {
    display: block;
    width: 257px;
    height: 100px;
}
.bloc_partners_single_logo img {
    display: block;
    width: 130px;
    height: 100%;
    margin-right: auto;
    margin-left: auto;
    object-fit: contain;
    object-position: center;
}


/********************************/
/******* PAGE REALISATIONS ******/
/********************************/
.bloc_rea_childs {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 50px 20px;
    margin-bottom: 100px;
}
.single_realisation {
    position: relative;
    display: block;
    max-width: 292px;
}
.single_rea_thumb {
    position: relative;
    display: block;
    width: 292px;
    margin-bottom: 20px;
    overflow: hidden;
    border-radius: 10px;
    z-index: 1;
}
.single_rea_thumb:after,
.four_square_single_article:has(.four_square_link):after {
    content: '';
    position: absolute;
    display: block;
    background: url('../img/button_plus_link.svg')no-repeat center;
    width: 56px;
    height: 56px;
    bottom: 11px;
    right: 9px;
    transition: transform 0.3s;
    z-index: 2;
}
.single_realisation:hover .single_rea_thumb:after,
.four_square_single_article:hover::after {
    background: url('../img/button_plus_link_hovered.svg')no-repeat center;
    transition: transform 0.3s;
}
.single_rea_thumb img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 293 / 300;
    object-fit: cover;
    object-position: right;
    background: lightgray 50% / cover no-repeat;
    border-radius: 10px;
    transition: transform 0.3s;
}
.single_realisation:hover .single_rea_thumb img {
    transform: scale(1.03);
    transition: transform 0.3s;
}
.single_rea_link {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 3;
}


/***********************************/
/******* CHAPO SINGLE PRODUIT ******/
/***********************************/
.single-cpt_produit #breadcrumb {
    padding-bottom: 49px;
}
.single-cpt_produit .bloc_height_square_pics .height_square_pics_single_article:hover .square_pics_single_pic img {
    transform: unset;
}
.single-cpt_produit .height_square_pics_mozaik article .classic_title_h3 {
    margin: 22px 0 14px;
}
.chapo_produit {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 55px;
}
.chapo_produit_title {
    display: block;
    font-family: 'panchang', sans-serif;
    font-size: 30px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    padding-bottom: 9px;
    text-transform: uppercase;
}
.chapo_produit_container {
    display: block;
    width: 47%;
}
.chapo_produit_bloc_images {
    display: block;
    width: 47%;
}
.myChapo_produit_slider {
    display: block;
    max-width: 639px;
    padding-bottom: 14px;
}
.myChapo_produit_slider,
.myChapo_produit_slider .swiper-wrapper {
    height: auto;
}
.chapo_produit_bloc_images .chapo_produit_single_large_pic {
    display: block;
    max-width: 639px !important;
    height: 542px;

}
.chapo_produit_bloc_images .chapo_produit_single_large_pic img,
.chapo_produit_single_minipic img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 10px;
    background: lightgray 50% / cover no-repeat;
}
.myChapo_produit_slider .swiper-button-prev,
.myChapo_produit_slider .swiper-button-next {
    width: 50px;
    height: 123px;
    top: 41%;
    bottom: 0;
}
.myChapo_produit_slider .swiper-button-prev:after,
.myChapo_produit_slider .swiper-button-next:after {
    content: '';
}
.myChapo_produit_slider .swiper-button-prev {
    background: url('../img/chapo_produit_slider_btn_prev.svg') no-repeat center;
    left: unset;
}
.myChapo_produit_slider .swiper-button-next {
    background: url('../img/chapo_produit_slider_btn_next.svg') no-repeat center;
    right: 0;
}
.chapo_produit_minipics {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    column-gap: 10px;
}
.chapo_produit_single_minipic {
    display: block;
    width: 18%;
    height: 87px;
    padding-bottom: 5px;
}
.chapo_produit_btns {
    padding-top: 27px;
}
.chapo_produit_btns .classic_btn_fond_blanc,
.chapo_produit_download_btn .classic_btn_dark_blue {
    display: block;
    text-decoration: none;
    margin-bottom: 9px;
}

/*****************************/
/******* SINGLE PRODUIT ******/
/*****************************/
.remontee_produits_mozaik {
    margin-bottom: 66px;
}
.mySlider_product_cards .swiper-wrapper {
    padding-bottom: 60px;
}
.mySlider_product_cards .swiper-slide {
    display: block;
}
.mySlider_product_cards .swiper-slide .content_front {
    padding-top: 15px;
    padding-bottom: 0;
}


/***************************/
/******* PAGE CONTACT ******/
/***************************/
.page-template-page_contact .bloc_form_separator {
    display: none;
}
.bloc_encart {
    box-sizing: border-box;
    padding: 38px 30px 22px 36px;
    margin-bottom: 20px;
    background: var(--Degrad_fonce);
    border-radius: 10px;
}
.encart_maintitle {
    font-size: 17px !important;
    padding-bottom: 33px !important;
}
.encart_address_wizpic,
.encart_tel {
    padding: 0 0 22px 25px;
    background-position: top 4px left;
    background-repeat: no-repeat;
    background-size: auto;
}
.encart_address_wizpic p,
.encart_tel a {
    text-decoration: none;
    color: var(--wh) !important;
    transition: all 0.3s;
}
.encart_address_wizpic:hover p,
.encart_address_wizpic:hover a,
.encart_tel:hover a {
    text-decoration: none !important;
    color: var(--Gris-bleu2) !important;
    transition: all 0.3s;
}

/*************************/
/******* FORMULAIRE ******/
/*************************/
.bloc_form_separator {
    display: block;
    width: 100%;
    border: 1px solid var(--Gris-bleu1);
    margin-bottom: 87px;
}
.bloc_form {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 82px;
}
.bloc_form_desc {
    display: block;
    width: 308px;
    height: auto;
    padding-right: 6%;
}
.bloc_form_title {
    position: relative;
    font-size: 20px !important;
    padding: 36px 0 25px;
}
.bloc_form_title:before {
    content: '';
    display: block;
    position: relative;
    background: url('../img/form_title_picto.svg') no-repeat;
    width: 39px;
    height: 43px;
    top: -30px;
    left: 0;
}
.bloc_form_intro {
    display: block;
    width: 311px;
    padding-bottom: 20px;
}
.bloc_form_content {
    flex: 1;
    display: block;
}
.bloc_form_content form {
    position: relative;
}
.bloc_form .gform_heading {
    display: none;
}
.gform-theme--foundation .gform_fields {
    row-gap: 11px !important;
}
form fieldset legend,
form div label {
    font-size: 14px !important;
    font-style: normal;
    font-weight: 400 !important;
    line-height: 27px !important;
    margin-bottom: unset !important;
}
form fieldset .ginput_container--name span label {
    display: none !important;
}
form .gform-body .gform_fields fieldset div span input,
form .gform-body .gform_fields div div input,
form .gform-body .gform_fields div div textarea {
    background: var(--Gris-bleu1, #E4ECF1);
    border-radius: 10px;
    border: unset;
}
form .gform-body .gform_fields div div textarea {
    min-block-size: 14rem !important;
}
form .gform-body .gform_fields fieldset.gfield--type-consent legend {
    display: none;
}
form .gform-body .gform_fields fieldset.gfield--type-consent .ginput_container_consent label {
    margin-top: -3px;
}
form .gform-footer button {
    position: absolute;
    content: '';
    display: block;
    padding: 14px 29px !important;
    right: 0;
    bottom: 100px;
    background-color: var(--Bleu2) !important;
    border-radius: 60px !important;
    transition: all 0.3s;
}
form .gform-footer button:hover {
    color: var(--Bleu2) !important;
    background-color: var(--wh) !important;
    border: 1px solid var(--Bleu2) !important;
    transition: all 0.3s;
}

/*************************************/
/******* SINGLE cpt_equipement ******/
/************************************/
.bloc_select_height_children_equipement {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 35px 20px;
    margin-bottom: 71px;
}
.single_article_child_equipement {
    position: relative;
    width: 292px;
}
.single_child_equipement_pic {
    position: relative;
    display: block;
    border-radius: 10px;
    overflow: hidden;
}
.single_child_equipement_pic img {
    display: block;
    width: clamp(180px, 40vw, 292px);
    height: auto;
    aspect-ratio: 292 / 300;
    object-fit: cover;
    border-radius: 10px;
    background: lightgray 50% / cover no-repeat;
    transition: transform 0.3s ease;
}
.single_article_child_equipement:hover .single_child_equipement_pic img {
    transform: scale(1.03);
    transition: transform 0.3s;
}
.single_child_equipement_pic:after,
.single_child_equipement_nopic:after {
    content: '';
    position: absolute;
    display: block;
    background: url('../img/button_plus_link.svg')no-repeat center;
    width: 56px;
    height: 56px;
    bottom: 11px;
    right: 11px;
    transition: transform 0.3s;
    z-index: 2;
}
.single_article_child_equipement:hover .single_child_equipement_pic:after,
.single_article_child_equipement:hover .single_child_equipement_nopic:after {
    background: url('../img/button_plus_link_hovered.svg')no-repeat center;
    transition: transform 0.3s;
}
.single_child_equipement_nopic {
    position: relative;
    display: block;
    width: clamp(180px, 40vw, 292px);
    height: auto;
    aspect-ratio: 292 / 300;
    border-radius: 10px;
    background: var(--Gris-bleu1);
}
.single_article_child_equipement .classic_styled_title_h3 {
    font-size: 17px !important;
    padding-top: 15px;
}
.single_article_child_equipement a:link {
    text-decoration: none;
}


/***************************************/
/******* taxonomy-taxo_equipement ******/
/***************************************/
.height_square_pics_mozaik {
    margin-bottom: 60px;
}
.taxo_classic_editor {
    margin-bottom: 31px;
}
/*** PUSH ***/
/************/
.bloc_push_contact_or_solar_calc {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    width: 292px;
    height: auto;
    box-sizing: border-box;
    padding: 18px;
    border-radius: 10px;
    background: var(--Degrad_fonce);
}
.bloc_push_wiz_picto {
    display: block;
    width: 39px;
    height: 40px;
    padding: 20px 0;
}
.bloc_push_wiz_picto img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
}
.bloc_push_wiz_content {
    display: block;
    text-align: center;
    padding-bottom: 20px;
}
.bloc_push_wiz_content.page_hentry p,
.bloc_push_wiz_content.page_hentry h2,
.bloc_push_wiz_content.page_hentry h3,
.bloc_push_wiz_content.page_hentry ul li {
    color: var(--wh) !important;
}


/*************************/
/******* PAGE ACTUS ******/
/*************************/
.widget_page_actu_filtres {
    display: block;
    margin-bottom: 25px;
}
.widget_filtre_title {
    display: block;
    font-size: 14px;
    line-height: 14px;
    padding-bottom: 22px;
    color: var(--Gris-bleu3);
}
.widget_page_actu_filtres ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 19px;
}
.widget_page_actu_filtres ul li {
    display: inline-block;
}
.widget_page_actu_filtres ul li a {
    display: block;
    font-size: 16px;
    padding: 13px 15px;
    text-transform: uppercase;
    text-decoration: unset;
    background-color: var(--Gris-bleu1);
    border-radius: 50px;
    transition: all 0.3s;
}
.widget_page_actu_filtres ul li.current-menu-item a {
    color: var(--wh);
    background-color: var(--Bleu2);
}
.widget_page_actu_filtres ul li a:hover {
    color: var(--wh);
    background-color: var(--Gris-bleu2);
    transition: all 0.3s;
}
#bloc_single_actu_cards ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 21px;
}
#bloc_single_actu_cards ul li {
    position: relative;
    display: block;
    width: 32%;
    cursor: pointer;
    background-color: var(--Bleu2);
    border-radius: 10px;
    overflow: hidden;
    transition: background-color 0.3s;
    z-index: 1;
}
#bloc_single_actu_cards ul li::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, #0F2842 0%, #25588D 100%);
    transform: translateY(100%);
    transition: transform 0.4s ease;
    z-index: -1; /* placé sous le contenu */
}
#bloc_single_actu_cards ul li:hover::before {
    transform: translateY(0);
}
#bloc_single_actu_cards ul li:after {
    content: '';
    position: absolute;
    display: block;
    background: url('../img/button_plus_actu_card.svg')no-repeat center;
    width: 38px;
    height: 38px;
    bottom: 17px;
    right: 12px;
    z-index: 2;
}
#bloc_single_actu_cards ul li:hover::after {
    background: url('../img/button_plus_actu_card_hovered.svg')no-repeat center;
    transition: all 0.3s;
}
#bloc_single_actu_cards ul li a {
    display: block;
    padding: 19px 18px;
    text-decoration: none;
}
#bloc_single_actu_cards .single_actu_pic,
#bloc_single_actu_cards .single_actu_nopic {
    position: relative;
    display: block;
    width: 100%;
    height: 253px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    border-radius: 10px;
    z-index: 1;
}
#bloc_single_actu_cards .single_actu_nopic {
    background-color: var(--Gris-bleu2);
}
#bloc_single_actu_cards .single_actu_category {
    position: absolute;
    display: block;
    box-sizing: border-box;
    padding: 6px 12px;
    top: 13px;
    right: 11px;
    background-color: var(--wh);
    border-radius: 20px;
    z-index: 2;
}
.single_actu_title {
    display: block;
    font-weight: 600;
    padding: 27px 0 20px;
    text-decoration: unset;
    color: var(--wh);
}
.single_actu_date {
    display: block;
    padding-bottom: 10px;
    color: var(--wh);
}

/******* PAGINATION ******/
/*************************/
.pagination_wrap {
    display: block;
    margin: 100px 0 106px;
    text-align: center;
}
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
}
.pagination .item_prev,
.pagination .item_next {
    display: block;
    background: url('../img/pagination_fleche_droite.svg') no-repeat;
    width: 8px;
    height: 12px;
}
.pagination .item_prev {
    margin-right: 27px;
    transform: rotate(180deg);
}
.pagination .item_next {
    margin-left: 27px;
}
.pagination a.active,
.pagination a.inactive,
.pagination .dots {
    display: inline-block;
    font-size: 17px;
    line-height: 27px;
    padding: 0 6px;
}
.pagination a.active,
.pagination a.inactive {
    text-decoration: unset;
}
.pagination .current {
    font-weight: 600;
    padding: 3px 4px;
    margin: 0 6px;
    background-color: var(--Gris-bleu1);
    border-radius: 6px;
}

/********************/
/******* PAGES ******/
/********************/
/*breadcrumb*/
#breadcrumb_content {
    display: block;
    line-height: 21px;
    padding: 9px 0;
    font-size: 0;
}
.breadcrumb_item {
    display: inline-block;
    font-size: 16px;
    color: var(--Bleu3);
}
.breadcrumb_item:last-of-type,
.breadcrumb_item:last-of-type a {
    font-size: 14px;
    color: var(--Gris-bleu2);
}
.breadcrumb_item:not(:last-of-type):after {
    content: '';
    display: inline-block;
    width: 4px;
    height: 7px;
    margin: auto 17px 2px;
    background: url('../img/breadcrumb_separator.svg') no-repeat center;
}
.breadcrumb_item {
    font-size: 14px;
}
.breadcrumb_item a {
    position: relative;
    display: inline-block;
    font-size: 14px;
    text-decoration: none;
    color: var(--Bleu3);
}
.breadcrumb_item a:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--Bleu3);
    transform-origin: bottom left;
    transform: scaleX(0);
    transition: transform 0.3s ease;
}
.breadcrumb_item a:hover::after {
    transform-origin: bottom left;
    transform: scaleX(1);
    transition: transform 0.3s ease;
}

/*******************/
/*** PAGE HENTRY ***/
/*******************/
.page_title {
display: block;
line-height: 53px;
margin-bottom: 22px;
font-size: 48px;
}
.page_title_chapo_sub {
display: block;
line-height: 28px;
font-size: 25px;
font-family: /**/;
}
.post_content {
padding: 44px 0 76px;
}
.page-template-page_accueil .chapo p span.title_h1_white {
    margin-bottom: 0;
}
.page_hentry h1,
.title_h1_white,
h1 {
    display: block;
    font-family: 'panchang', sans-serif;
    font-size: 30px;
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
    margin-bottom: 34px;
    color: var(--wh);
}
.page_hentry h2,
.page_hentry h3 {
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 24px;
    padding-bottom: 21px;
    text-transform: uppercase;
    color: var(--Bleu2);
}
.page_hentry h3 {
    font-size: 18px;
}
.page_hentry .classic_grey_bullet_check:last-of-type {
    padding-bottom: 21px;
}
.classic_styled_title_h2,
.classic_styled_title_h2_white,
.classic_styled_title_h3 {
    display: block;
    font-family: 'panchang', sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 36px;
    text-transform: uppercase;
    color: var(--Bleu2);
}
.classic_styled_title_h2 {
    padding-bottom: 27px;
}
.classic_styled_title_h2_white {
    padding-bottom: 29px;
    color: var(--wh);
}
.page-template-page_accueil .classic_styled_title_h2,
.page-template-page_accueil .classic_styled_title_h2_white {
    font-size: 27px;
}
.classic_styled_title_h3 {
    font-size: 20px;
    line-height: 26px;
}
.page_hentry p {
    line-height: 24px;
    padding-bottom: 21px;
}
.page_hentry p:has(.classic_styled_title_h2) {
    padding-bottom: 0;
}
.page_hentry ul {
    padding: 0;
    margin: 0 0 27px;
}
.page_hentry ul li {
    position: relative;
    line-height: 27px;
    padding: 0 0 0 14px;
    margin: 0;
}
.page_hentry ul li:before{
    position: absolute;
    content: '';
    width: 4px;
    height: 4px;
    top: 11px;
    left: 1px;
    background: var(--Bleu2);
    border-radius: var(--rad90);
}
.page_hentry ol {
    counter-reset: step;    /* initialise le compteur */
}
.page_hentry ol li {
    counter-increment: step;
}
.page_hentry ol li:before {
    content: counter(step) ". ";
    font-weight: bold;      /* Gras uniquement sur le numéro */
}
.page_hentry b,
.page_hentry strong{
font-family: /**/;
}
.page_hentry em{
font-family: /**/;
}
.page_hentry img{
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 600px;
    border-radius: 10px;
}

/*404*/
#page_404{
display: flex;
flex-wrap: wrap;
padding: 94px 0 94px;
}
#page_404_ill_block{
width: 36.5%;
margin: 0 9.8% 0 0;
}
#page_404_ill_block object{
width: 100%;
max-width: 511px;
height: auto;
margin: auto;
}
#page_404_ill_main{
flex: 1;
padding-top: 53px;
}

/******************/
/*****REPETEUR*****/
/******************/
.page_hentry_wiz_repeat{
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
gap: 40px 3%;
}
.page_hentry_repeat_block_type1{
width: 100%;
}
.page_hentry_repeat_block_type2{
width: 48.5%;
}
.page_hentry_repeat_block_type3{
width: 31.33%;
}
.page_hentry_repeat_block_type4{
width: 22.75%;
}



