@font-face {
    font-family: 'Times Now';
    src: url('../fonts/TimesNow-Light.woff2') format('woff2'),
        url('../fonts/TimesNow-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Times Now';
    src: url('../fonts/TimesNow-SemiLight.woff2') format('woff2'),
        url('../fonts/TimesNow-SemiLight.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}


@font-face {
    font-family: 'Gotham Narrow';
    src: url('../fonts/GothamNarrow-BoldItalic.woff2') format('woff2'),
        url('../fonts/GothamNarrow-BoldItalic.woff') format('woff');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Narrow Book';
    src: url('../fonts/GothamNarrow-BookItalic.woff2') format('woff2'),
        url('../fonts/GothamNarrow-BookItalic.woff') format('woff');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Narrow';
    src: url('../fonts/GothamNarrow-Light.woff2') format('woff2'),
        url('../fonts/GothamNarrow-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Narrow XLight';
    src: url('../fonts/GothamNarrow-XLightItalic.woff2') format('woff2'),
        url('../fonts/GothamNarrow-XLightItalic.woff') format('woff');
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Narrow';
    src: url('../fonts/GothamNarrow-ThinItalic.woff2') format('woff2'),
        url('../fonts/GothamNarrow-ThinItalic.woff') format('woff');
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Narrow Book';
    src: url('../fonts/GothamNarrow-Book.woff2') format('woff2'),
        url('../fonts/GothamNarrow-Book.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Narrow Ultra';
    src: url('../fonts/GothamNarrow-Ultra.woff2') format('woff2'),
        url('../fonts/GothamNarrow-Ultra.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Narrow';
    src: url('../fonts/GothamNarrow-LightItalic.woff2') format('woff2'),
        url('../fonts/GothamNarrow-LightItalic.woff') format('woff');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Narrow';
    src: url('../fonts/GothamNarrow-Medium.woff2') format('woff2'),
        url('../fonts/GothamNarrow-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Narrow';
    src: url('../fonts/GothamNarrow-Bold.woff2') format('woff2'),
        url('../fonts/GothamNarrow-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Narrow';
    src: url('../fonts/GothamNarrow-Thin.woff2') format('woff2'),
        url('../fonts/GothamNarrow-Thin.woff') format('woff');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Narrow Ultra';
    src: url('../fonts/GothamNarrow-UltraItalic.woff2') format('woff2'),
        url('../fonts/GothamNarrow-UltraItalic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Narrow';
    src: url('../fonts/GothamNarrow-MediumItalic.woff2') format('woff2'),
        url('../fonts/GothamNarrow-MediumItalic.woff') format('woff');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Narrow';
    src: url('../fonts/GothamNarrow-Black.woff2') format('woff2'),
        url('../fonts/GothamNarrow-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham XNarrow';
    src: url('../fonts/GothamXNarrow-Black.woff2') format('woff2'),
        url('../fonts/GothamXNarrow-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Narrow';
    src: url('../fonts/GothamNarrow-BlackItalic.woff2') format('woff2'),
        url('../fonts/GothamNarrow-BlackItalic.woff') format('woff');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham XNarrow';
    src: url('../fonts/GothamXNarrow-BlackItalic.woff2') format('woff2'),
        url('../fonts/GothamXNarrow-BlackItalic.woff') format('woff');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham XNarrow';
    src: url('../fonts/GothamXNarrow-Medium.woff2') format('woff2'),
        url('../fonts/GothamXNarrow-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham XNarrow';
    src: url('../fonts/GothamXNarrow-Thin.woff2') format('woff2'),
        url('../fonts/GothamXNarrow-Thin.woff') format('woff');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham XNarrow';
    src: url('../fonts/GothamXNarrow-ThinItalic.woff2') format('woff2'),
        url('../fonts/GothamXNarrow-ThinItalic.woff') format('woff');
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham XNarrow';
    src: url('../fonts/GothamXNarrow-MediumItalic.woff2') format('woff2'),
        url('../fonts/GothamXNarrow-MediumItalic.woff') format('woff');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham XNarrow Book';
    src: url('../fonts/GothamXNarrow-BookItalic.woff2') format('woff2'),
        url('../fonts/GothamXNarrow-BookItalic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham XNarrow';
    src: url('../fonts/GothamXNarrow-Bold.woff2') format('woff2'),
        url('../fonts/GothamXNarrow-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham XNarrow';
    src: url('../fonts/GothamXNarrow-Light.woff2') format('woff2'),
        url('../fonts/GothamXNarrow-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham XNarrow';
    src: url('../fonts/GothamXNarrow-BoldItalic.woff2') format('woff2'),
        url('../fonts/GothamXNarrow-BoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham XNarrow Ultra';
    src: url('../fonts/GothamXNarrow-Ultra.woff2') format('woff2'),
        url('../fonts/GothamXNarrow-Ultra.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display SC';
    src: url('../fonts/PlayfairDisplaySC-Regular.woff2') format('woff2'),
        url('../fonts/PlayfairDisplaySC-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}


html {
    --bs-gutter-x: clamp(50px, 3.9vw, 75px);
    font-size: 62.5%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    max-width: 100vw;
    overflow-x: hidden;
}


body {
    font-family: 'Times Now';
    font-weight: 300;
    color: #3e4233;
    background: #f2efed;
    padding-top: calc(clamp(10px, 0.8vw, 15px) * 2 + clamp(43px, 3.33vw, 64px));
    max-width: 100vw;
    overflow-x: hidden;
    --bs-body-font-size: clamp(1.06rem, .833vw, 1.6rem);
    --bs-link-color-rgb: #3e4233;
    --bs-link-hover-color-rgb: #c6af79;
}

body.pathfrontpage {
    padding-top: calc((10px, 0.8vw, 15px) * 2 + clamp(43px, 3.33vw, 64px));
}

body.toolbar-fixed {
    padding-top: calc(clamp(10px, 0.8vw, 15px) * 2 + clamp(43px, 3.33vw, 64px) + var(--gin-toolbar-height) + var(--gin-toolbar-secondary-height)) !important;
}

.gin-secondary-toolbar--frontend {
    position: fixed;
    top: var(--gin-toolbar-height);
    width: 100%;
}

body.toolbar-fixed #menu-navbar {
    top: calc(var(--gin-toolbar-height) + var(--gin-toolbar-secondary-height));
}

.row,
.container,
.container-fluid {
    --bs-gutter-x: clamp(50px, 3.9vw, 75px);
}

.container.bg-primary,
.container-fluid.bg-primary {
    background-color: #c6af79 !important;
}

.container.bg-secondary,
.container-fluid.bg-secondary {
    background-color: #3e4233 !important;
    color: #FFF;
}

img {
    max-width: 100%;
    height: auto;
}

.form-textarea,
input.form-control:not(.js-form-submit) {
    color: #545235;
    padding: 10px 0;
    line-height: 1;
    background: transparent;
    border: none;
    border-bottom: 1px #c5c3bf solid;
    border-radius: 0;
    font-family: 'Gotham Narrow Book';
    font-weight: 400;
    font-size: clamp(1.2rem, .9375vw, 1.8rem);
    margin: 0;
    outline: none;
    box-shadow: none;
}

.form-textarea {
    line-height: 1.4;
    height: calc(6 * clamp(1.2rem, .9375vw, 1.8rem));
}

.form-control:focus {
    --bs-body-color: inherit;
    --bs-body-bg: transparent;
    border-color: #c5c3bf;
    box-shadow: none;
}

.btn {
    --bs-btn-padding-x: clamp(30px, 2.34vw, 45px);
    --bs-btn-padding-y: clamp(18px, 1.45vw, 28px);
    --bs-btn-font-family: "Futura";
    --bs-btn-font-size: clamp(1.2rem, .9375vw, 1.8rem);
    --bs-btn-font-weight: 500;
    --bs-btn-line-height: 1;
    --bs-border-radius: calc(clamp(1.2rem, .9375vw, 1.8rem) + clamp(22px, 1.77vw, 34px));
}

.btn-primary {
    --bs-btn-bg: #c6af79;
    --bs-btn-border-color: #c6af79;
    --bs-btn-hover-bg: #3e4233;
    --bs-btn-hover-border-color: #3e4233;
    --bs-btn-active-bg: #3e4233;
    --bs-btn-active-border-color: #3e4233;
}

.btn-secondary {
    --bs-btn-bg: #3e4233;
    --bs-btn-border-color: #3e4233;
    --bs-btn-hover-bg: #c6af79;
    --bs-btn-hover-border-color: #c6af79;
    --bs-btn-active-bg: #c6af79;
    --bs-btn-active-border-color: #c6af79;
}

#tableau-de-bord-toggler {
    margin-bottom: clamp(27px, 2vw, 40px);
}

#tableau-de-bord ul {
    padding: 0;
    margin: clamp(40px, 3.125vw, 60px) 0 clamp(60px, 4.6vw, 90px);
}

#tableau-de-bord ul>li {
    list-style: none;
}

#tableau-de-bord ul a {
    display: flex;
    width: 70%;
    border-bottom: 1px #adaca4 solid;
    color: #545231;
    text-decoration: none;
    font-family: 'Gotham Narrow';
    font-weight: 500;
    font-size: clamp(1.2rem, .9375vw, 1.8rem);
    line-height: 1;
    padding: clamp(20px, 1.5625vw, 30px) 10px;
    margin: 0 auto;
    align-items: center;
}

#tableau-de-bord ul li:last-child a {
    border-bottom: 0;
}

#tableau-de-bord ul a:hover {
    color: #c6af79;
}

#tableau-de-bord ul a:before {
    content: '';
    display: block;
    width: 55px;
    height: 65px;
    margin: 0 clamp(13px, 1vw, 20px) 0 0;
    background: url(none) 50%/contain no-repeat;
}

#tableau-de-bord ul a.profil:before {
    background-image: url(../images/picto-profil.png);
    background-size: 52px;
}

#tableau-de-bord ul a.coups_coeur:before {
    background-image: url(../images/picto-coeur.png);
    background-size: 54px;
}

#tableau-de-bord ul a.alertes:before {
    background-image: url(../images/picto-email.png);
    background-size: 55px;
}

#contact-bien h2,
#contact h2 {
    line-height: 1;
    margin: 0;
}

#contact .adresse {
    font-family: 'Gotham Narrow';
    font-weight: 300;
    font-size: clamp(1.33rem, 1.04vw, 2rem);
    margin: 0 auto clamp(17px, 1.4vw, 25px);
    text-transform: uppercase;
    text-align: center;
}

#contact .adresse a {
    color: inherit;
    text-decoration: none;
}

#contact .adresse a:hover {
    text-decoration: underline;
}

#contact .field--name-subject {
    display: none;
}

.view-coups-de-coeur .view-header,
body.path-coups-de-coeur .chapeau,
#contact .chapeau,
#nos-honoraires .chapeau {
    color: #a58535;
    font-family: 'Times Now';
    font-weight: 300;
    font-size: clamp(1.93rem, 1.51vw, 2.9rem);
    margin: 0 auto clamp(47px, 3.6vw, 70px);
    line-height: 1.2;
    text-align: center;
}

#contact .chapeau {
    margin: 0 auto clamp(24px, 1.8vw, 35px);
}

#nos-honoraires .chapeau {
    color: #3e4233;
}

#nos-honoraires table {
    width: 100%;
    font-family: 'Gotham Narrow';
    font-weight: 300;
    font-size: clamp(1.33rem, 1.04vw, 2rem);
    line-height: 1.5;
    margin-top: 15px;
}

thead.thead-primary {
    --bs-table-color: #FFF;
    --bs-table-bg: #a58535;
    font-size: clamp(1.46rem, 1.14vw, 2.2rem);
}

.view-coups-de-coeur .view-header,
body.path-coups-de-coeur .chapeau {
    margin: clamp(40px, 3.5vw, 60px) auto;
}

#connexion .texte,
#contact .texte {
    font-family: 'Gotham Narrow';
    font-weight: 500;
    font-size: clamp(1.33rem, 1.04vw, 2rem);
    margin: 0 auto clamp(40px, 3.5vw, 60px);
    line-height: 1.7;
    text-align: center;
}

#contact .chapeau a,
#contact .texte a {
    color: inherit;
}

#contact-bien .form-actions input,
#contact .form-actions input {
    width: auto;
    min-width: 42%;
    display: block;
    margin: clamp(37px, 2.86vw, 55px) auto 0;
}

.messages {
    font-size: clamp(1.33rem, 1.04vw, 2rem);
    width: fit-content;
    margin: 0 auto;
}

.offcanvas {
    background-color: #e8e5e1;
    --bs-offcanvas-width: clamp(600px, 42vw, 811px);
    --bs-offcanvas-color: #545231;
    padding: clamp(53px, 4.2vw, 80px) 0 clamp(27px, 2.1vw, 40px);
    align-items: center;
    overflow-y: auto;
    font-family: 'Gotham Narrow Book';
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none;
    /* Firefox */
}

.offcanvas:-webkit-scrollbar {
    display: none;
}

.offcanvas-body {
    padding: 0 clamp(53px, 4.2vw, 80px);
    width: 100%;
    overflow-y: visible;
}

.modal-backdrop,
#tarteaucitronRoot button#tarteaucitronBack,
.offcanvas-backdrop {
    background-color: #b09040;
    opacity: .97 !important;
    backdrop-filter: blur(2px);
}


.offcanvas .menu,
.offcanvas .menu-item {
    padding: 0;
    margin: 0;
    text-align: center;
}

#popupfront {
    font-family: 'Gotham Narrow Book';
    font-weight: 400;
}

#popupfront .modal-title {
    font-family: 'Times Now';
    font-weight: 300;
    font-size: clamp(1.6rem, 1.25vw, 2.4rem);
    color: #545231;
}

@keyframes animationMenu {
    0% {
        opacity: 0;
        left: 50px;
    }

    100% {
        opacity: 1;
        left: 0;
    }
}

#creation h2,
#creation .texte,
#creation form,
#connexion h2,
#connexion form,
#connexion .lien-base,
#contact h2,
#contact .adresse,
#contact .chapeau,
#contact .texte,
#contact form,
.offcanvas .menu-item,
#menu-principal #connexion-toggler,
#menu-principal #tableau-de-bord-toggler,
#menu-principal .lien-base,
#tableau-de-bord h2,
#tableau-de-bord .texte,
#tableau-de-bord ul>li {
    opacity: 0;
    left: 50px;
    position: relative;
}


#creation.show h2,
#creation.show .texte,
#creation.show form,
#connexion.show h2,
#connexion.show form,
#connexion.show .lien-base,
#contact.show h2,
#contact.show .adresse,
#contact.show .chapeau,
#contact.show .texte,
#contact.show form,
#tableau-de-bord.show h2,
#tableau-de-bord.show .texte,
#tableau-de-bord.show ul>li,
#menu-principal.show #connexion-toggler,
#menu-principal.show #tableau-de-bord-toggler,
#menu-principal.show .lien-base,
.offcanvas.show .menu-item {
    animation: animationMenu .3s ease .08s forwards;
}

#creation.show .texte,
#connexion.show form,
#contact.show .adresse,
#tableau-de-bord.show h2,
.offcanvas.show .menu .menu-item:nth-child(2) {
    animation-delay: .15s;
}

#contact.show .adresse {
    margin-top: 5px;
}

#creation.show form,
#connexion.show .lien-base,
#contact.show .chapeau,
#tableau-de-bord.show .texte,
.offcanvas.show .menu .menu-item:nth-child(3) {
    animation-delay: .3s;
}

#contact.show .texte,
#tableau-de-bord.show ul>li:nth-child(1),
.offcanvas.show .menu .menu-item:nth-child(4) {
    animation-delay: .45s;
}

#contact.show form,
#tableau-de-bord.show ul>li:nth-child(2),
.offcanvas.show .menu .menu-item:nth-child(5) {
    animation-delay: .6s;
}

#menu-principal.show #connexion-toggler,
#menu-principal.show #tableau-de-bord-toggler,
#tableau-de-bord.show ul>li:nth-child(3),
.offcanvas.show .menu .menu-item:nth-child(6) {
    animation-delay: .75s;
}

#menu-principal.show .lien-base,
#tableau-de-bord.show ul>li:nth-child(4),
.offcanvas.show .menu .menu-item:nth-child(7) {
    animation-delay: .9s;
}

.offcanvas.show .menu .menu-item:nth-child(8) {
    animation-delay: 1.05s;
}

.offcanvas h2,
.offcanvas .menu .menu-item a {
    font-family: 'Times Now';
    font-weight: 300;
    font-size: clamp(4.6rem, 3.64vw, 7rem);
    color: #545231;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 1.42;
    transition: color .3s ease;
}

.offcanvas h2 {
    text-align: center;
    font-size: clamp(3.6rem, 2.86vw, 5.5rem);
    line-height: 1.23;
}

.offcanvas .menu .menu-item a.is-active,
.offcanvas .menu .menu-item a:focus,
.offcanvas .menu .menu-item a:hover {
    color: #b09040;
}

.offcanvas .texte {
    font-family: 'Times Now';
    font-weight: 400;
    font-size: clamp(1.8rem, 1.4vw, 2.7rem);
    line-height: 1.4;
}

.offcanvas-title {
    text-align: center;
    margin: clamp(50px, 3.9vw, 75px) auto clamp(47px, 3.6vw, 70px);
}

#connexion .offcanvas-title {
    margin: clamp(50px, 3.9vw, 75px) auto clamp(24px, 1.8vw, 35px);
}

@keyframes animTitleOffcanvas {
    0% {
        opacity: 0;
        top: -50px;
    }

    100% {
        opacity: 1;
        top: 0;
    }
}

.offcanvas-title img {
    width: clamp(67px, 5.2vw, 100px);
    position: relative;
    top: -50px;
    opacity: 0;
}

.offcanvas.show .offcanvas-title img {
    animation: animTitleOffcanvas .3s ease forwards;
}

.offcanvas-header {
    --bs-offcanvas-padding-y: 0;
}

.offcanvas-header .btn-close {
    width: 28px;
    height: 28px;
    position: absolute;
    top: 30px;
    right: 30px;
    padding: 0;
    opacity: .55;
    background: url(../images/close.png) 50%/contain no-repeat;
}

.offcanvas-header .btn-close:hover {
    opacity: 1;
}

footer {
    background: #FFF;
}

#footer {
    display: flex;
    width: 100%;
    color: #3e4233;
    background: #FFF;
    font-family: 'Gotham Narrow Book';
    font-weight: 400;
    font-size: clamp(1.06rem, .833vw, 1.6rem);
    align-items: start;
    padding: 150px 10px 15px;
}

#footer p {
    margin: 0;
}

#footer_contact {
    font-family: 'Times Now';
    font-weight: 400;
    font-size: clamp(2rem, 1.5625vw, 3rem);
}

#footer_contact .adresse,
#footer_contact .tel {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: inherit;
}


#footer_contact .adresse:hover,
#footer_contact .adresse:focus {
    text-decoration: underline;
}

#footer_contact .tel:before {
    content: '';
    display: inline-block;
    background: url(../images/tel.png) 50%/contain no-repeat;
    width: 50px;
    height: 46px;
    margin: 0 15px 0 0;
}

#footer_contact .tel>span {
    display: inline-block;
    border: 1px #b1b3ad solid;
    border-radius: 6px;
    padding: 9px 3px;
    line-height: 1;
}

#footer_contact .tel>span>span {
    display: inline-block;
    border-radius: 6px;
    padding: 2px 10px 2px 7px;
    font-family: 'Gotham Narrow';
    font-weight: 500;
    font-size: clamp(1.6rem, 1.25vw, 2.4rem);
}

#footer_contact .tel>span>span+span {
    border-left: 1px #b1b3ad solid;
    border-radius: 0;
}

#footer_social,
.footer_menu {
    display: flex;
    align-items: center;
}

.footer_menu {
    font-family: 'Gotham Narrow Book';
    font-size: clamp(1.06rem, .833vw, 1.6rem);
}

.footer_menu ul.menu {
    padding: 0;
    margin: 0;
}

#footer_social:before,
.footer_menu:before {
    content: '';
    display: block;
    width: 16px;
    height: 100%;
    min-height: 92px;
    background: url(../images/fleche_footer.png) 50%/contain no-repeat;
    margin: 0 25px;
}

#footer_last {
    text-align: end;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    font-size: clamp(.93rem, .74vw, 1.4rem);
    align-items: end;
}

#footer_last>div {
    display: flex;
    align-items: start;
}

#footer_last a {
    color: inherit;
    text-decoration: underline;
}

.footer_menu .menu-item a,
#footer_contact .tel {
    color: inherit;
    text-decoration: none;
}

.footer_menu .menu-item a:hover,
.footer_menu .menu-item a:focus {
    text-decoration: underline;
}

#footer_last a:hover,
#footer_last a:focus {
    text-decoration: none;
}

#footer_fnaim {
    font-size: clamp(.93rem, .74vw, 1.4rem);
}

#footer_fnaim small {
    font-size: clamp(.8rem, .625vw, 1.2rem);
}

.os-bootstrap {
    background: transparent !important;
    display: flex;
    flex-direction: column-reverse;
}

.os-bootstrap .os-row {
    display: flex;
    flex-direction: column-reverse;
}

.os-bootstrap .star-off,
.os-bootstrap .star-on {
    height: 16px !important;
    margin-top: 0 !important;
    line-height: 16px !important;
    background-position: left top 0 !important;
}

.os-bootstrap .os-col-xs-4,
.os-bootstrap .os-col-xs-8 {
    width: 100% !important;
}

.os-bootstrap span {
    top: 0 !important;
}

#footer_copyright {
    display: flex;
    text-align: center;
    font-size: clamp(2.46rem, 1.92vw, 3.7rem);
    line-height: .4;
    justify-content: center;
    align-items: center;
}

#footer_copyright:before {
    content: '';
    display: block;
    background: url(../images/fleche_footer2.png) 50%/contain no-repeat;
    width: 9px;
    height: 38px;
    margin: 0 10px;
}

#block-loire-et-charme-copyright {
    font-size: clamp(1.13rem, .885vw, 1.7rem);
}

#block-loire-et-charme-reseauxsociaux-2 .menu,
#footer #block-loire-et-charme-reseauxsociaux .menu {
    display: flex;
    gap: 18px;
    margin: 0;
}

#block-loire-et-charme-reseauxsociaux-2 .menu {
    justify-content: center;
    margin-top: 34px;
}

#block-loire-et-charme-reseauxsociaux-2 .menu .menu-item,
#footer #block-loire-et-charme-reseauxsociaux .menu .menu-item {
    padding: 0;
    display: flex;
}

#block-loire-et-charme-reseauxsociaux-2 .menu a,
#footer #block-loire-et-charme-reseauxsociaux a {
    font-size: 0;
    color: transparent;
}

#block-loire-et-charme-reseauxsociaux-2 .menu a:before,
#footer #block-loire-et-charme-reseauxsociaux a:before {
    content: '';
    display: block;
    width: clamp(57px, 4.48vw, 86px);
    height: clamp(57px, 4.48vw, 86px);
}

#block-loire-et-charme-reseauxsociaux-2 .menu a:before {
    content: '';
    display: block;
    width: clamp(38px, 3vw, 57px);
    height: clamp(38px, 3vw, 57px);
}

#block-loire-et-charme-reseauxsociaux-2 .menu a.instagram:before,
#footer #block-loire-et-charme-reseauxsociaux a.instagram:before {
    background: url(../images/instagram_OFF.svg);
}

#block-loire-et-charme-reseauxsociaux-2 .menu a.instagram:hover:before,
#footer #block-loire-et-charme-reseauxsociaux a.instagram:hover:before {
    background: url(../images/instagram_ON.svg);
}

#block-loire-et-charme-reseauxsociaux-2 .menu a.facebook:before,
#footer #block-loire-et-charme-reseauxsociaux a.facebook:before {
    background: url(../images/facebook_OFF.svg);
}

#block-loire-et-charme-reseauxsociaux-2 .menu a.facebook:hover:before,
#footer #block-loire-et-charme-reseauxsociaux a.facebook:hover:before {
    background: url(../images/facebook_ON.svg);
}

#block-loire-et-charme-reseauxsociaux-2 .menu a.linkedin:before,
#footer #block-loire-et-charme-reseauxsociaux a.linkedin:before {
    background: url(../images/linkedin_OFF.svg);
}

#block-loire-et-charme-reseauxsociaux-2 .menu a.linkedin:hover:before,
#footer #block-loire-et-charme-reseauxsociaux a.linkedin:hover:before {
    background: url(../images/linkedin_ON.svg);
}

/* Style pour la carte cliquable avec image de fond */
.custom-card-link {
    display: block;
    position: relative;
    width: 27.76vw;
    height: 100%;
    min-height: 32.7vw;
    text-decoration: none;
    background-color: #5e5d51;
}

/* On force l'image Drupal à couvrir tout l'espace */
.card-bg-image,
.card-bg-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
    opacity: .65;
}

/* L'overlay pour le texte et l'assombrissement de l'image */
.card-overlay-content {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 2rem;
    background: #b090404C;
}

/* Effet au survol */
.custom-card-link:hover .card-overlay-content {
    background: #b090406C;
}

.custom-card-link:hover img {
    transform: scale(1.05);
    transition: transform 0.5s ease;
}

#toolbar-administration {
    z-index: 1200 !important;
}

@keyframes colorNavbar {
    0% {
        background: #f2efed;
    }

    100% {
        background: #d3cac2;
    }
}

#menu-navbar {
    z-index: 5;
    background: #f2efed;
    transition: background .3s ease;
    --bs-navbar-padding-y: clamp(10px, 0.8vw, 15px);
    animation: colorNavbar .5s ease .25s forwards;
    transition: background .3s ease;
}

body.path-frontpage #menu-navbar {
    animation: none;
}

body.path-frontpage.stickymenu #menu-navbar {
    background: #d3cac2;
}

#menu-navbar .site-logo img {
    width: clamp(60px, 4.2vw, 80px);
}

#form_recherche_main {
    min-height: 1px;
}

#formulaire_recherche_top {
    display: flex;
    height: clamp(43px, 3.33vw, 64px);
    min-width: 1px;
}

#form_recherche_main #resultats {
    padding: clamp(10px, 0.8vw, 15px) calc(var(--bs-gutter-x) * .5);
}



#navbar {
    background: #3e4233;
}

body.path-frontpage #navbar {
    background: #f2efed;
}

#menu-principal-toggler {
    font-size: 0;
    border: 0;
    box-shadow: none !important;
    height: clamp(43px, 3.33vw, 64px);
}

#menu-principal-toggler svg {
    max-height: 100%;
    width: auto;
}

#menu-principal-toggler svg rect {
    transform-origin: center;
    transition: all .3s ease;
}

#menu-principal-toggler:focus svg rect,
#menu-principal-toggler:hover svg rect {
    transform: scaleX(.65);
}

#menu-principal-toggler:focus svg rect+rect,
#menu-principal-toggler:hover svg rect+rect {
    transform: scaleX(.9);

}

#block-loire-et-charme-main-menu {
    margin-bottom: clamp(46px, 3.6vw, 70px);
}

#block-loire-et-charme-main-menu .menu-item:last-child a {
    display: inline-block;
    padding-bottom: clamp(30px, 2.34vw, 45px);
    border-bottom: 1px #b4b2a4 solid;
}

.lien-base {
    font-family: 'Gotham Narrow Book';
    font-size: clamp(1.06rem, .833vw, 1.6rem);
    color: #545231;
    text-decoration: underline;
}

.lien-base:focus,
.lien-base:hover {
    text-decoration: none;
}

.lien-base2 {
    font-family: 'Gotham Narrow';
    font-size: clamp(.86rem, .7vw, 1.3rem);
    color: #b09040;
    text-decoration: none;
}

.lien-base2:focus,
.lien-base2:hover {
    text-decoration: underline;
}

#creation-toggler {
    display: inline-block;
    margin-top: clamp(67px, 5.2vw, 100px);
}

#contact-bien-toggler,
#contact-toggler {
    background: #b09040;
    color: #FFF;
    font-family: 'Futura';
    font-weight: 500;
    font-size: clamp(1.2rem, .9375vw, 1.8rem);
    line-height: 1;
    padding: 25px 34px 18px;
    border: none;
    border-radius: 0 0 27px 27px;
    box-shadow: 2px 2px 8px rgba(0, 0, 0, .32);
    outline: none;
    position: fixed;
    right: 72px;
    transition: all .3s ease;
    margin-top: -6px;
    z-index: 2;
}

#contact-bien-toggler:hover,
#contact-toggler:hover {
    margin-top: 0;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, .6);
}

#recherche,
#recherche_bas {
    opacity: .5;
    transition: opacity .2s ease;
}

body.path-mes-alertes-email #resultats,
body.path-mon-profil #resultats,
body.path-nos-souvenirs #resultats,
body.path-mentions-legales #resultats,
body.path-coups-de-coeur #resultats,
body.page-node-type-bien-immobilier #resultats {
    display: none;
}

#recherche:focus-within,
#recherche:focus,
#recherche:hover,
#recherche_bas:focus-within,
#recherche_bas:focus,
#recherche_bas:hover {
    opacity: 1;
}

#recherche .form--inline,
#recherche_bas {
    display: flex;
    align-items: center;
    gap: clamp(27px, 2vw, 40px);
    margin: 0;
}

#recherche_bas {
    margin-top: 8px;
}

select.form-select,
#recherche input.form-control,
#recherche_bas select.form-select,
#recherche_bas input.form-control {
    padding: 12px 18px 12px 6px;
    line-height: 1;
    background: transparent;
    border: none;
    background: url(../images/select.png) 100% 100% no-repeat;
    font-family: 'Gotham Narrow Book';
    font-weight: 400;
    font-size: clamp(1.06rem, .833vw, 1.6rem);
    margin: 0;
    width: clamp(128px, 11.7vw, 225px);
    outline: none;
    box-shadow: none;
}

select.form-select,
select.form-select {
    padding: 12px 42px 12px 6px;
    background: url(../images/fleche_bas.png) calc(100% - 25px) 50% no-repeat, url(../images/select.png) 100% 100% no-repeat;
}

#recherche input.form-submit,
#recherche_bas input.form-submit {
    display: block;
    font-size: 0 !important;
    border: 0;
    background: url(../images/loupe_recherche.png) 50%/39px no-repeat;
    width: 44px;
    height: 44px;
    transition: all .3s ease;
}

#recherche input.form-submit:focus,
#recherche_bas input.form-submit:focus,
#recherche input.form-submit:hover,
#recherche_bas input.form-submit:hover {
    background-size: 44px;
}

#recherche .form-item,
#recherche .form-actions,
#recherche_bas .form-item,
#recherche_bas .form-actions {
    display: inline;
    margin: 0;
    float: none;
}

#video_intro [data-aos="video-anim"] {
    overflow: hidden;
    border-radius: 0;
    width: 100%;
    margin: clamp(117px, 9.12vw, 175px) auto 0;
}

#introduction {
    font-size: clamp(3.6rem, 2.8vw, 5.4rem);
    line-height: 1.66;
    font-family: 'Times Now';
    font-weight: 300;
    margin-top: clamp(200px, 15.625vw, 300px);
    margin-bottom: clamp(100px, 8vw, 150px);
    text-align: center;
}

#introduction strong {
    font-weight: 400;
}

b,
strong {
    font-weight: 700;
}

body.path-frontpage #blocks {
    --bs-gutter-x: calc(11.5vw - 3rem);
}

.block-home {
    position: relative;
    background: #3e4233;
    font-family: 'Times Now';
}

#biens_vente img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.8;
    transition: transform 0.6s ease, filter .3s ease;
}

#biens_vente:hover img {
    transform: scale(1.03);
}

/* Bloc GAUCHE : Bandeau latéral vertical */
.block-large .overlay-side {
    position: absolute;
    top: 0;
    left: 0;
    width: 40%;
    height: 100%;
    background: #3e4233A0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: start;
    padding: 18% 7.5%;
    transition: background .3S ease;
}

.block-large:hover .overlay-side {
    background: #3e4233CC;
}

body.path-frontpage #blocks h2 {
    font-size: clamp(4.2rem, 3.33vw, 6.4rem);
    font-weight: 400;
    color: #FFF;
    text-align: center;
    text-transform: uppercase;
    line-height: .95;
}

body.path-frontpage #coups_coeur {
    width: 50vw;
    margin: 0 10.4vw 0 0;
    aspect-ratio: 951 / 700;
}

body.path-frontpage #coups_coeur .slide img {
    width: 100%;
    height: auto;
    transform-origin: 65% 45%;
    transition: transform .45s ease-out, filter .3s ease;
}

body.path-frontpage #coups_coeur .slide:hover img {
    transform: scale(1.02);
}

body.path-frontpage #biens_vente {
    width: 28vw;
    margin: 18vw 0 0;
    aspect-ratio: 407 / 480;
}

body.path-frontpage #cabinet {
    position: relative;
    aspect-ratio: 1920 / 907;
    background-color: #3e4233;
    background-size: cover;
    background-position: 50%;
    background-repeat: no-repeat;
    color: #FFF;
    font-family: 'Gotham Narrow';
    font-weight: 500;
    font-size: clamp(1.6rem, 1.25vw, 2.4rem);
    line-height: 1.7;
    margin-top: clamp(123px, 9.6vw, 185px);
}

#lien_cabinet:hover #cabinet:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transition: background .3s ease;
}

#lien_cabinet {
    text-decoration: none;
    color: inherit;
}

#lien_cabinet:hover #cabinet:before {
    background: #3e423330;
}


body.path-frontpage #cabinet .row {
    padding-top: 28vw;
}

body.path-frontpage #cabinet .titre,
body.path-frontpage #cabinet .sous_titre {
    position: relative;
    z-index: 1;
    font-family: 'Times Now';
    font-weight: 400;
    text-transform: uppercase;
    font-size: clamp(2.77rem, 2.1vw, 4.16rem);
    line-height: 1;
}

body.path-frontpage #cabinet .sous_titre {
    font-size: clamp(4.33rem, 3.38vw, 6.5rem);
    margin-bottom: 30px;
}

.block-small .overlay-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: clamp(35px, 3.2vw, 58px);
    background: #3e423380;
    color: white;
    text-align: center;
    z-index: 2;
}

#edit-delete {
    display: none;
}

.layout-container {
    margin: 0;
}

/* Style des points (dots) sous le texte gauche */
.slick-dots {
    margin-top: 2rem;
    display: flex;
    gap: 8px;
}

.slick-equipe .slick-dots {
    position: absolute;
    bottom: -5vw;
    left: 0;
    right: 0;
    justify-content: center;
}

.slick-equipe .slick-dots li {
    list-style: none;
}

.slick-equipe .slick-dots li:only-child {
    display: none;
}

.slider-dots span {
    width: 30px;
    height: 4px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 2px;
    font-size: 0;
}

.slick-equipe .slick-dots .slick-active button,
.slider-dots span.active {
    background: white;
}

#coups_coeur .slick-slider {
    width: 100%;
    height: 100%;
}

#coups_coeur .slick-slide {
    position: relative;
}

#coups_coeur .slick-slide .slide__caption {
    position: absolute;
    bottom: calc(6%);
    right: 0;
    left: auto;
    z-index: 5;
    top: auto;
    padding: 0 7.5%;
    width: 60%;
}

#coups_coeur .slick-slide .slide__caption h2 {
    font-family: 'Gotham Narrow';
    font-weight: 300;
    font-size: clamp(1.33rem, 1.04vw, 2rem);
    text-transform: none;
    margin: 0;
    text-shadow: 0 0 4px #000;
}

#coups_coeur .slick-slide .slide__caption .slide__link {
    display: none;
}

#coups_coeur .slick-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#coups_coeur .slick-slide a {
    display: block;
}

#coups_coeur .slick-slider .slick-dots {
    display: flex;
    justify-content: center;
    position: absolute;
    bottom: 6%;
    left: 0;
    width: 40%;
    margin: 0;
    padding: 0;
    z-index: 5;
    gap: 8px;
}

#coups_coeur .slick-slider .slick-dots li {
    list-style: none;
    margin: 0;
}

.slick-equipe .slick-dots button,
#coups_coeur .slick-slider .slick-dots button {
    display: block;
    padding: 0;
    width: 37px;
    height: 13px;
    border-radius: 6px;
    border: 1px #FFF solid;
    transition: all .3s ease;
    font-size: 0;
    opacity: .65;
    background: transparent;
}

.slick-equipe .slick-dots button {
    border: 1px #c6af79 solid;
}

.slick-equipe .slick-dots button:hover,
.slick-equipe .slick-dots .slick-active button {
    background: #c6af79;
}

#coups_coeur .slick-slider .slick-dots button:hover,
#coups_coeur .slick-slider .slick-dots .slick-active button {
    background: #FFF;
    opacity: 1;
}

h1 {
    font-family: "Playfair Display SC";
    font-size: clamp(6.66rem, 5.2vw, 10rem);
    text-transform: uppercase;
    color: #FFF;
    line-height: .9;
    padding: 5.4vw 0 3.125vw;
    margin: 0;
}

h1 .amp {
    font-family: 'Times Now';
    font-weight: 400;
    font-size: clamp(7.54rem, 5.88vw, 11.32rem);
    letter-spacing: calc(-1 * clamp(1.22rem, 1.47vw, 1.83rem));
    margin-left: -1%;
}

body.path-frontpage h1 {
    font-size: clamp(6.8rem, 7.08vw, 13.6rem);
    color: #3e4233;
    line-height: .8;
    padding: 0;
    margin: 0;
}

body.page-node-type-bien-immobilier h1 {
    font-size: clamp(3.6rem, 2.8vw, 5.4rem);
    color: #d3cac2;
    line-height: 1.16;
    padding: 0;
}

body.path-frontpage h1 .amp {
    font-size: clamp(7.7rem, 8vw, 15.4rem);
    letter-spacing: calc(-1 * clamp(1.66rem, 2vw, 2.5rem));
    margin-left: -1.5%;
}

body.path-frontpage h1 .small {
    font-size: clamp(3.2rem, 3.33vw, 6.4rem);
}

body.path-frontpage h1 a {
    color: inherit;
    text-decoration: none;
}

body.path-frontpage #branding h2 {
    font-family: 'Gotham Narrow';
    font-weight: 300;
    font-size: clamp(1.86rem, 1.45vw, 2.8rem);
    color: #3e4233;
    text-transform: uppercase;
    text-align: center;
    line-height: 1;
    letter-spacing: calc(clamp(1.86rem, 1.45vw, 2.8rem) * .12);
    opacity: 0;
    transition: opacity .3s ease;
}

body.path-frontpage #branding h2.active {
    opacity: 1;
}

body.path-frontpage #branding .site-logo img {
    max-width: clamp(162px, 12.65vw, 243px);
}

.view.view-type-de-biens .view-content {
    display: block;
    position: relative;
    padding: 239.9vw 15px 0;
}

.view.view-type-de-biens .view-content>.type {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: absolute;
}

.view.view-type-de-biens .view-content>.type .image {
    position: relative;
    width: 100%;
    overflow: hidden;
    box-shadow: 3px 0 25px rgba(0, 0, 0, .4);
}

.view.view-type-de-biens .view-content>.type .image .type-image a {
    display: block;
    width: 100%;
}

.view.view-type-de-biens .view-content>.type .image .type-image {
    display: flex;
    position: absolute;
    width: 100%;
    height: 100%;
    padding: 1%;
    transition: transform .3s ease-out;
    align-items: center;
    justify-content: center;
}

.view.view-type-de-biens .view-content>.type .image .type-image:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: inset .1vw .1vw .6vw 4vw rgb(0, 0, 0, .7);
    pointer-events: none;
}

.view.view-type-de-biens .view-content>.type .image .type-image img {
    width: 100%;
    height: auto;
}

.view.view-type-de-biens .view-content>.type:hover .image .type-image {
    transform: scale(1.02);
}

.view.view-type-de-biens .view-content>.type .image .type-cadre {
    position: relative;
    width: 100%;
    z-index: 1;
    pointer-events: none;
}

.view.view-type-de-biens .view-content>.type .image img {
    width: 100%;
    max-width: 100%;
    height: auto;
}


.view.view-type-de-biens .view-content .type-name a {
    display: block;
    color: #b09040;
    font-family: 'Times Now';
    font-weight: 400;
    font-size: clamp(2.4rem, 2vw, 3.8rem);
    text-transform: uppercase;
    text-decoration: none;
    width: 100%;
    margin-top: clamp(26px, 2.26vw, 40px);
}

.view.view-type-de-biens .view-content .type-name a:hover {
    color: #3e4233;
}

.view.view-type-de-biens .view-content>.type:nth-child(1) {
    top: 5.5vw;
    left: 1vw;
    width: 32.1875vw;
}

.view.view-type-de-biens .view-content>.type:nth-child(2) {
    top: 20vw;
    left: 40vw;
    width: 55.3vw;
}

.view.view-type-de-biens .view-content>.type:nth-child(3) {
    top: 71vw;
    left: 9.8vw;
    width: 69.9vw;
}

.view.view-type-de-biens .view-content>.type:nth-child(4) {
    top: 126vw;
    left: 56vw;
    width: 36.25vw;
}

.view.view-type-de-biens .view-content>.type:nth-child(5) {
    top: 143.125vw;
    left: 3vw;
    width: 41.45vw;
}

.view.view-type-de-biens .view-content>.type:nth-child(6) {
    top: 195.8vw;
    left: 41.6vw;
    width: 43.75vw;
}

.view-recherche-de-bien-immobilier .view-empty,
.view-coups-de-coeur .view-empty {
    padding: 0 calc(var(--bs-gutter-x) * .5);
    margin: clamp(40px, 3.125vw, 60px) 0 clamp(60px, 4.6vw, 90px);
    color: #a58535;
    font-family: 'Times Now';
    font-weight: 300;
    font-size: clamp(1.93rem, 1.51vw, 2.9rem);
    line-height: 1.2;
    text-align: center;
}

.view-coups-de-coeur .view-content,
.view-recherche-de-bien-immobilier .view-content {
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    justify-content: start;
    margin: clamp(96px, 7.55vw, 145px) auto;
    gap: 0 calc((100% - clamp(305px, 23.85vw, 458px) * 3) / 2);
    padding: 0 calc(var(--bs-gutter-x) * .5);
}

.view-coups-de-coeur .view-content>div,
.view-recherche-de-bien-immobilier .view-content>div {
    display: flex;
    flex-direction: column;
    width: clamp(305px, 23.85vw, 458px);
    margin: 0;
}

.view-coups-de-coeur .view-content article,
.view-recherche-de-bien-immobilier .view-content article {
    background: #faf9f8;
    box-shadow: 3px 0 25px rgb(0, 0, 0, .05);
    border-radius: 15px;
    overflow: hidden;
}

.view-coups-de-coeur .view-content>div:nth-of-type(3n + 2),
.view-recherche-de-bien-immobilier .view-content>div:nth-of-type(3n + 2) {
    margin-top: calc(clamp(305px, 23.85vw, 458px) * 150 / 458);
}

.view-coups-de-coeur .view-content .diaporama,
.view-recherche-de-bien-immobilier .view-content .diaporama {
    position: relative;
    aspect-ratio: 458 / 300;
    background: #b09040;
}

.view-coups-de-coeur .view-content .diaporama .media,
.view-recherche-de-bien-immobilier .view-content .diaporama .media {
    aspect-ratio: 458 / 300;
    overflow: hidden;
}

.view-coups-de-coeur .view-content .diaporama .slick-arrow,
.view-recherche-de-bien-immobilier .view-content .diaporama .slick-arrow {
    opacity: 0;
    transition: opacity .3s ease;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 45px;
    border: 0;
    background: url(../images/fleche_droite.svg) 50%/45px no-repeat;
    font-size: 0;
}

.view-coups-de-coeur .view-content .diaporama:hover .slick-arrow,
.view-recherche-de-bien-immobilier .view-content .diaporama:hover .slick-arrow {
    opacity: 1;
}

.view-coups-de-coeur .view-content .diaporama .slick-arrow.slick-next,
.view-recherche-de-bien-immobilier .view-content .diaporama .slick-arrow.slick-next {
    left: auto;
    right: 0;
    transform-origin: 50%;
    transform: rotate(180deg);
}

.view-coups-de-coeur .view-content .diaporama .slick-arrow.slick-disabled,
.view-recherche-de-bien-immobilier .view-content .diaporama .slick-arrow.slick-disabled {
    display: none !important;
}

.view-coups-de-coeur .view-content .reference span div,
.view-recherche-de-bien-immobilier .view-content .reference span div {
    display: inline;
}

.view-coups-de-coeur .view-content .contenu,
.view-recherche-de-bien-immobilier .view-content .contenu {
    padding: clamp(15px, 1.14vw, 22px) calc(clamp(15px, 1.14vw, 22px) - 7.5px);
    position: relative;
}

.view-coups-de-coeur .view-content .contenu .infos,
.view-recherche-de-bien-immobilier .view-content .contenu .infos {
    position: relative;
}

.view-coups-de-coeur .view-content .contenu .infos:before,
.view-recherche-de-bien-immobilier .view-content .contenu .infos:before {
    content: '';
    display: block;
    width: 75%;
    height: 1px;
    background: #cbcbc7;
    position: absolute;
    bottom: 16px;
    left: 12.5%;
}

.view-coups-de-coeur .view-content .contenu .infos span,
.view-recherche-de-bien-immobilier .view-content .contenu span {
    display: inline-block;
    width: fit-content;
}

.view-coups-de-coeur .view-content .reference span,
.view-recherche-de-bien-immobilier .view-content .reference span {
    display: inline-block;
    padding: 18px 8px 16px;
    line-height: 1;
    border-radius: 8px;
    border: 1px #3e423366 solid;
    font-family: 'Gotham Narrow';
    font-weight: 500;
    font-size: clamp(1.13rem, .885vw, 1.7rem);
    text-transform: uppercase;
    text-decoration: none;
    color: #3e4233;
    position: relative;
}

#contact-bien .reference,
body.page-node-type-bien-immobilier #branding .reference {
    display: inline-block;
    padding: 18px;
    line-height: 1;
    border-radius: 6px;
    border: 1px #b0904066 solid;
    font-family: 'Gotham Narrow';
    font-weight: 500;
    font-size: clamp(1.2rem, .9375vw, 1.8rem);
    text-transform: uppercase;
    text-decoration: none;
    color: #b09040;
}

#contact-bien .reference {
    display: block;
    width: fit-content;
    margin: clamp(23px, 1.8vw, 35px) auto;
    border: 1px #54523166 solid;
    color: #545231;
}

#contact-bien .titre {
    margin: 0 auto clamp(20px, 1.5625vw, 30px);
    font-size: "Times Now";
    text-align: center;
    color: #b09040;
    font-size: clamp(2.13rem, 1.66vw, 3.2rem);
}

.view-coups-de-coeur .view-content .prix,
.view-recherche-de-bien-immobilier .view-content .prix {
    line-height: 1;
    font-family: 'Gotham Narrow';
    font-weight: 300;
    font-size: clamp(3rem, 2.34vw, 4.5rem);
    text-transform: uppercase;
}

.page-404 h2,
.paragraph--type--contenu h2,
.view-coups-de-coeur .view-content h2,
.view-recherche-de-bien-immobilier .view-content h2 {
    line-height: 1;
    font-family: 'Times Now';
    font-weight: 400;
    font-size: clamp(2.33rem, 1.82vw, 3.5rem);
    margin: 0;
    padding: 0;
    color: #93772f;
    min-height: calc(3 * clamp(2.33rem, 1.82vw, 3.5rem));
}

.page-404 h2,
.paragraph--type--contenu h2 {
    min-height: 0;
    margin-bottom: clamp(20px, 1.6vw, 30px);
}

.view-coups-de-coeur .view-content a.lien,
.view-recherche-de-bien-immobilier .view-content a.lien {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    font-size: 0;
    z-index: 1;
}

.view-coups-de-coeur .view-content a.lien:hover~div h2,
.view-recherche-de-bien-immobilier .view-content a.lien:hover~div h2 {
    text-decoration: underline;
}

.view-coups-de-coeur .view-content article .container-fluid,
.view-recherche-de-bien-immobilier .view-content article .container-fluid,
.view-coups-de-coeur .view-content article .container-fluid *,
.view-recherche-de-bien-immobilier .view-content article .container-fluid * {
    --bs-gutter-x: 15px;
}

.view-coups-de-coeur .view-content article .infos,
.view-recherche-de-bien-immobilier .view-content article .infos {
    display: flex;
    align-items: end;
    text-align: center;
    justify-content: space-between;
    gap: 2px;
}

.view-coups-de-coeur .view-content article .infos>div,
.view-recherche-de-bien-immobilier .view-content article .infos>div {
    width: fit-content;
    padding: 0;
}

body.page-node-type-bien-immobilier #branding {
    padding-right: 0;
}

body.page-node-type-bien-immobilier #branding .infos {
    display: flex;
    flex-wrap: wrap;
    gap: 16px clamp(43px, 4.2vw, 64px);
    width: clamp(233px, 19vw, 350px);
}

body.page-node-type-bien-immobilier #branding .infos>.col>span,
.view-coups-de-coeur .view-content article .infos span,
.view-recherche-de-bien-immobilier .view-content article .infos span {
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #3e4233;
    font-family: 'Gotham Narrow';
    font-weight: 500;
    font-size: clamp(.93rem, .74vw, 1.4rem);
    margin: 0 auto 10px;
    position: relative;
}

.view-coups-de-coeur .view-content article .infos span,
.view-recherche-de-bien-immobilier .view-content article .infos span {

    background: #faf9f8;
}

.view-coups-de-coeur .view-content article .infos span .field,
.view-recherche-de-bien-immobilier .view-content article .infos span .field {
    padding: 0 4px;
    background: #faf9f8;
}

body.page-node-type-bien-immobilier #branding .infos>.col {
    position: relative;
    width: calc(50% - clamp(43px, 4.2vw, 64px) / 2);
    max-width: calc(50% - clamp(43px, 4.2vw, 64px) / 2);
    display: flex;
    align-items: center;
}

body.page-node-type-bien-immobilier #branding .infos>.col:nth-of-type(2n + 1):before {
    content: '';
    display: block;
    width: 1px;
    height: 80%;
    position: absolute;
    right: calc(-1 * clamp(43px, 4.2vw, 64px) / 2);
    top: 10%;
    background: #c3beba20;
}

body.page-node-type-bien-immobilier #branding .infos>.col>span {
    flex-direction: row;
    color: #ebe4e3;
    margin: 0;
    align-items: center;
    gap: clamp(17px, 1.4vw, 25px);
}

body.page-node-type-bien-immobilier #branding .infos>.col>span:before,
.view-coups-de-coeur .view-content article .infos span:before,
.view-recherche-de-bien-immobilier .view-content article .infos span:before {
    display: inline-block;
    content: '';
    margin: 0 auto 3px;
}

.view-coups-de-coeur .view-content article .infos span.surface:before,
.view-recherche-de-bien-immobilier .view-content article .infos span.surface:before {
    width: 31px;
    height: 31px;
    background: url(../images/picto-surface.png);
}

.view-coups-de-coeur .view-content article .infos span.terrain:before,
.view-recherche-de-bien-immobilier .view-content article .infos span.terrain:before {
    width: 30px;
    height: 40px;
    background: url(../images/picto-terrain.png);
}

.view-coups-de-coeur .view-content article .infos span.chambres:before,
.view-recherche-de-bien-immobilier .view-content article .infos span.chambres:before {
    width: 37px;
    height: 23px;
    background: url(../images/picto-chambres.png);
}

.view-coups-de-coeur .view-content article .infos span.environnement:before,
.view-recherche-de-bien-immobilier .view-content article .infos span.environnement:before {
    width: 35px;
    height: 35px;
    background: url(../images/picto-campagne.png);
}

body.page-node-type-bien-immobilier #branding .infos span.surface:before {
    width: clamp(29px, 2.4vw, 43px);
    height: clamp(29px, 2.4vw, 43px);
    background: url(../images/picto2-surface.png) 50%/contain no-repeat;
    transform: scale(.75);
}

body.page-node-type-bien-immobilier #branding .infos span.chambres:before {
    width: clamp(34px, 2.7vw, 51px);
    height: clamp(21px, 1.7vw, 32px);
    background: url(../images/picto2-chambres.png) 50%/contain no-repeat;
}

body.page-node-type-bien-immobilier #branding .infos span.terrain:before {
    width: clamp(27px, 2.38vw, 41px);
    height: clamp(37px, 3.25vw, 56px);
    background: url(../images/picto2-terrain.png) 50%/contain no-repeat;
}

body.page-node-type-bien-immobilier #branding .infos span.environnement:before {
    width: clamp(32px, 2.6vw, 48px);
    height: clamp(32px, 2.6vw, 48px);
    background: url(../images/picto2-campagne.png) 50%/contain no-repeat;
}

.flag-coups-de-coeur {
    display: flex;
}

.flag-guest-wrapper a,
.flag-coups-de-coeur a {
    display: inline-block;
    position: relative;
    z-index: 2;
    background: url(../images/coeur_vide.svg) 50%/contain no-repeat;
    width: 54px;
    height: 47px;
    font-size: 0;
}

.flag-coups-de-coeur a svg {
    display: none;
}

.flag-guest-wrapper a:hover,
.flag-coups-de-coeur.action-unflag a,
.flag-coups-de-coeur.action-flag a:hover {
    background: url(../images/coeur_plein.svg) 50%/contain no-repeat;
}

.flag-coups-de-coeur.action-unflag a:hover {
    background: url(../images/coeur_vide.svg) 50%/contain no-repeat;
}

#formulaire_recherche_top #resultats {
    display: flex;
    opacity: 0;
    transition: opacity .3s ease;
}

body.stickyrecherche #formulaire_recherche_top #resultats {
    opacity: 1;
}


@keyframes animLogo {
    0% {
        left: -50px;
        opacity: 0;
    }

    100% {
        left: 0;
        opacity: 1;
    }
}

#formulaire_recherche_top .site-logo {
    display: block;
    position: relative;
    width: clamp(53px, 4.2vw, 80px);
    height: clamp(43px, 3.33vw, 64px);
    margin: 0 calc(clamp(13px, 1.05vw, 20px) - var(--bs-gutter-x) * .5) 0 0;
    animation: animLogo .4s ease .3s forwards;
}

body.path-frontpage #formulaire_recherche_top .site-logo {
    display: none;
    animation: none;
}

body.path-frontpage.stickyrecherche #formulaire_recherche_top .site-logo {
    display: block;
    animation: animLogo .4s ease forwards;
}

@keyframes slideDown {
    0% {
        opacity: 0;
        top: -50px;
    }

    70% {
        top: -5px;
    }

    100% {
        opacity: 1;
        top: 0;
    }
}

body.stickyrecherche #resultats .form-item,
body.stickyrecherche #resultats .form-actions {
    opacity: 0;
    top: -50px;
    animation: slideDown .45s ease forwards;
    position: relative;
}

body.stickyrecherche #resultats .form-item:nth-child(2) {
    animation-delay: .1s;
}

body.stickyrecherche #resultats .form-item:nth-child(3) {
    animation-delay: .2s;
}

body.stickyrecherche #resultats .form-item:nth-child(4) {
    animation-delay: .3s;
}

body.stickyrecherche #resultats .form-actions {
    animation-delay: .4s;
}

#resultats .resultats {
    display: none;
    align-items: center;
    justify-content: end;
    gap: clamp(27px, 2vw, 40px);
    margin: 0;
}

body.path-recherche-de-bien-immobilier #resultats .resultats {
    display: flex;
}

body.path-frontpage #resultats .resultats {
    display: none;
}

#resultats .tri a,
.search-results-count {
    font-family: 'Gotham Narrow Book';
    font-size: clamp(1.06rem, .833vw, 1.6rem);
}

#resultats .tri a {
    text-decoration: none;
    color: #3e4233;
}

#resultats .tri a:hover,
#resultats .tri a:focus {
    text-decoration: underline;
}

.search-results-count {
    color: #93772f;
    text-decoration: underline;
}

body.page-node-type-bien-immobilier #branding .lien_retour {
    font-family: 'Gotham Narrow Book';
    text-decoration: none;
    color: #d3cac2;
    font-size: clamp(.8rem, .625vw, 1.2rem);
}

body.page-node-type-bien-immobilier #branding .lien_retour:focus,
body.page-node-type-bien-immobilier #branding .lien_retour:hover {
    text-decoration: underline;
}

body.page-node-type-bien-immobilier #branding .infos a {
    font-family: 'Gotham Narrow Book';
    text-decoration: underline;
    color: #b09040;
    font-size: clamp(.93rem, .74vw, 1.4rem);
}

body.page-node-type-bien-immobilier #branding .infos a:focus,
body.page-node-type-bien-immobilier #branding .infos a:hover {
    text-decoration: none;
}

body.page-node-type-bien-immobilier #branding .lien_retour:before {
    content: url(../images/fleche-retour.png);
    display: inline-block;
    vertical-align: middle;
    margin: 0 8px 0 0;
}

body.page-node-type-bien-immobilier #on_aime {
    color: #d3cac2;
    font-family: 'Gotham Narrow Book';
    font-size: clamp(1rem, .78125vw, 1.5rem);
}

body.page-node-type-bien-immobilier #on_aime h2 {
    display: inline-block;
    color: #3e4233;
    font-family: 'Gotham Narrow';
    font-weight: 500;
    font-size: clamp(1.2rem, .9375vw, 1.8rem);
    line-height: 1;
    text-transform: uppercase;
    padding: 8px;
    border-radius: 8px;
    background: #b09040;
}

body.page-node-type-bien-immobilier #on_aime ul {
    padding: 0;
}

body.page-node-type-bien-immobilier #on_aime ul li {
    list-style: none;
    padding: 0;
    margin: 1px 0;
}

body.page-node-type-bien-immobilier #on_aime ul li:before {
    content: '- ';
}

body.page-node-type-bien-immobilier #branding .prix,
body.page-node-type-bien-immobilier #branding .prix a {
    color: #d3cac2;
    font-family: 'Gotham Narrow';
    font-weight: 300;
    font-size: clamp(.93rem, .74vw, 1.4rem);
    text-decoration: none;
}

body.page-node-type-bien-immobilier #branding .prix a:focus,
body.page-node-type-bien-immobilier #branding .prix a:hover {
    text-decoration: underline;
}

body.page-node-type-bien-immobilier #branding .prix h2.prix {
    font-family: 'Gotham Narrow';
    font-weight: 300;
    font-size: clamp(4.2rem, 3.28vw, 6.3rem);
    text-transform: uppercase;
    line-height: .8;
    margin: 0;
}

body.page-node-type-bien-immobilier #branding .prix h2.prix div {
    display: inline;
}

body.page-node-type-bien-immobilier #branding .prix h2.prix small {
    font-weight: 300;
    font-size: clamp(2.86rem, 2.24vw, 4.3rem);
}

body.page-node-type-bien-immobilier #branding .flag-coups-de-coeur a {
    display: inline-block;
    width: clamp(64px, 5.04vw, 96px);
    height: clamp(64px, 5.04vw, 96px);
    font-size: 0;
    margin-right: -15px;
    background: none;
}

body.page-node-type-bien-immobilier #branding .flag-coups-de-coeur a svg {
    display: block;
    width: 100%;
    height: auto;
    margin: -10px 0 0 25px;
}

body.page-node-type-bien-immobilier #branding .flag-coups-de-coeur a .flag-title {
    display: none;
}

body.page-node-type-bien-immobilier #branding a.lien_galerie {
    position: absolute;
    bottom: 5%;
    right: calc(clamp(50px, 3.9vw, 75px) * 1);
    display: inline-block;
    color: #FFF;
    font-family: 'Futura';
    font-weight: 500;
    font-size: clamp(1.2rem, .9375vw, 1.8rem);
    line-height: 1;
    padding: 30px 60px;
    border-radius: calc(clamp(1.2rem, .9375vw, 1.8rem) + 32px);
    background: #3e4233;
    text-decoration: none;
}

body.page-node-type-bien-immobilier #branding a.lien_galerie:focus,
body.page-node-type-bien-immobilier #branding a.lien_galerie:hover {
    color: #FFF;
    background: #b09040;
}

body.page-node-type-bien-immobilier #fiche {
    background: #FFF;
}

body.page-node-type-bien-immobilier #fiche .description {
    font-family: 'Times Now';
    font-weight: 300;
    font-size: clamp(2rem, 1.5625vw, 3rem);
    line-height: 1.667;

}

body.page-node-type-bien-immobilier #fiche .description>div {
    margin: clamp(85px, 6.667vw, 128px) auto clamp(43px, 3.333vw, 64px);
    padding-bottom: clamp(27px, 1.94vw, 40px);
    border-bottom: 17px #b09040 solid;
}

body.page-node-type-bien-immobilier #fiche .infos>div {
    width: 29%;
    margin: 0 3.25% 0 0;
    padding: 0 0 clamp(27px, 1.94vw, 40px);
}

body.page-node-type-bien-immobilier #fiche .infos>div:nth-child(3) {
    margin: 0 3.25%;
}

body.page-node-type-bien-immobilier #fiche .infos>div:nth-child(4) {
    margin: 0 0 0 3.25%;
}

body.page-node-type-bien-immobilier #fiche .infos h2 {
    font-family: 'Gotham Narrow Book';
    font-weight: 400;
    font-size: clamp(2.4rem, 1.875vw, 3.6rem);
    line-height: 1.167;
    padding-bottom: 15px;
    margin-bottom: 0;
}

body.page-node-type-bien-immobilier #fiche .infos .details h2,
body.page-node-type-bien-immobilier #fiche .infos .prestations h2 {
    border-bottom: 1px #c7c8c4 solid;
    margin-bottom: 20px;
}

body.page-node-type-bien-immobilier #fiche .infos {
    font-family: 'Gotham Narrow Book';
    font-weight: 400;
    font-size: clamp(1.2rem, .938vw, 1.8rem);
    line-height: 1.4;
    margin: 0;
}

body.page-node-type-bien-immobilier #fiche .details .essentiel,
body.page-node-type-bien-immobilier #fiche .details .composition {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(10px, 0.8vw, 15px);
    margin: 0 0 clamp(10px, 0.8vw, 15px);
}

body.page-node-type-bien-immobilier #fiche .details .essentiel dl,
body.page-node-type-bien-immobilier #fiche .details .composition dl {
    display: flex;
    flex-wrap: wrap;
    width: calc(50% - clamp(10px, 0.8vw, 15px) / 2);
    border-radius: 6px;
    line-height: 1;
    padding: clamp(13px, 1vw, 20px) clamp(11px, .9vw, 18px);
    margin: 0;
}

body.page-node-type-bien-immobilier #fiche .details .composition dl {
    padding: clamp(8px, 0.625vw, 12px) clamp(11px, .9vw, 18px);
}

body.page-node-type-bien-immobilier #fiche .details .essentiel dl dt:after,
body.page-node-type-bien-immobilier #fiche .details .composition dl dt:after {
    content: ':';
    display: inline-block;
    margin: 0 calc(clamp(1.06rem, .833vw, 1.6rem) / 3);
}

body.page-node-type-bien-immobilier #fiche .details .composition dl.simple dt:after {
    content: none;
}

body.page-node-type-bien-immobilier #fiche .details .essentiel dl {
    background: #f3eee3;
    color: #3e4233;
    font-family: 'Gotham Narrow';
    font-weight: 700;
    font-size: clamp(1.06rem, .833vw, 1.6rem);
}

body.page-node-type-bien-immobilier #fiche .details .composition dl {
    border: 1px #d8d9d6 solid;
}

body.page-node-type-bien-immobilier #fiche .details .composition dl dt {
    color: #b09040;
    font-family: 'Gotham Narrow';
    font-weight: 500;
    font-size: clamp(1.13rem, .885vw, 1.7rem);
}

#details-dpe dl,
body.page-node-type-bien-immobilier #fiche .infos .prestations dl {
    padding: 0;
    margin: 8px 0;
    font-family: 'Gotham Narrow Book';
    font-weight: 400;
    font-size: clamp(1.2rem, .938vw, 1.8rem);
    line-height: 1.22;
}

body.page-node-type-bien-immobilier #fiche .details .essentiel dl dd {
    margin: 0;
}

body.page-node-type-bien-immobilier #fiche .details .composition dl dd {
    color: #3e4233;
    font-family: 'Gotham Narrow Book';
    font-weight: 400;
    font-size: clamp(1.13rem, .885vw, 1.7rem);
    margin: 0;
}

#caracteristiques-toggler {
    margin-top: 15px;
    color: #3e4233;
    font-family: 'Gotham Narrow Book';
    font-weight: 400;
    font-size: clamp(1rem, .78125vw, 1.5rem);
}

#caracteristiques .offcanvas-body {
    padding: 0 clamp(80px, 6.25vw, 120px);
    font-size: clamp(1.3rem, 1vw, 1.9rem);
}

#caracteristiques .offcanvas-body h2 {
    margin: 0 auto clamp(40px, 3.125vw, 60px);
    font-size: clamp(3rem, 2.86vw, 5.5rem);
}

body.page-node-type-bien-immobilier #fiche .infos .prestations dl:first-of-type {
    margin-top: 20px;
}

#details-dpe dl dt,
body.page-node-type-bien-immobilier #fiche .infos .prestations dl dt {
    color: #b09040;
    font-family: 'Gotham Narrow';
    font-weight: 700;
    display: inline;
}

body.page-node-type-bien-immobilier #fiche .infos .prestations>.field .field__item {
    display: block;
    margin: 8px 0;
}

body.page-node-type-bien-immobilier #fiche .infos .prestations>.field .field__item:before {
    content: ' - ';
}

#details-dpe dl dt:after,
body.page-node-type-bien-immobilier #fiche .infos .prestations dl dt:after {
    content: ' : ';
}

body.page-node-type-bien-immobilier #fiche .infos .prestations dl.simple dt:after {
    content: none;
}

.georisques {
    border-top: 1px #c7c8c4 solid;
    padding-top: clamp(15px, 1.14vw, 22px);
    margin: clamp(15px, 1.14vw, 22px) 0;
    font-family: 'Gotham Narrow Book';
    font-weight: 400;
    font-size: clamp(.86rem, .7vw, 1.3rem);
}

.georisques strong {
    font-family: 'Gotham Narrow';
    font-weight: 700;
}

#details-dpe dl dd,
#details-dpe dl div,
body.page-node-type-bien-immobilier #fiche .infos .prestations dl dd,
body.page-node-type-bien-immobilier #fiche .infos .prestations dl div {
    display: inline;
}

#details-dpe .estimation {
    background: #e3e0dc;
    padding: 5px;
    margin: 5px 0;
}

body.page-node-type-bien-immobilier .perf_energie {
    font-family: 'Gotham Narrow Book';
    font-weight: 400;
    font-size: clamp(1.06rem, .833vw, 1.6rem);
    line-height: 1.22;
}

body.page-node-type-bien-immobilier .perf_energie .estimation strong,
body.page-node-type-bien-immobilier .perf_energie strong {
    font-family: 'Gotham Narrow';
    font-weight: 700;
}

body.page-node-type-bien-immobilier .perf_energie .estimation em {
    display: block;
    margin-top: 10px;
    font-size: clamp(.93rem, .78vw, 1.4rem);
}

body.page-node-type-bien-immobilier .perf_energie .graph strong {
    font-size: clamp(1rem, .78125vw, 1.5rem);
}

body.page-node-type-bien-immobilier .perf_energie .graph .dpe,
body.page-node-type-bien-immobilier .perf_energie .graph .ges {
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 2px;
    margin: 4px 0 16px;
}

body.page-node-type-bien-immobilier .perf_energie .graph .dpe>div,
body.page-node-type-bien-immobilier .perf_energie .graph .ges>div {
    display: block;
    width: clamp(40px, 3.125vw, 60px);
    height: 7px;
    text-align: center;
    font-family: 'Gotham Narrow';
    font-size: clamp(1rem, .78125vw, 1.5rem);
    font-weight: 700;
    line-height: 1;
    color: #000;
}

body.page-node-type-bien-immobilier .perf_energie .graph .dpe>div:nth-child(1) {
    border-radius: 5px 0 0 5px;
    background: #afd1be;
}

body.page-node-type-bien-immobilier .perf_energie .graph .dpe>div:nth-child(2) {
    background: #c5dfba;
}

body.page-node-type-bien-immobilier .perf_energie .graph .dpe>div:nth-child(3) {
    background: #ebefba;
}

body.page-node-type-bien-immobilier .perf_energie .graph .dpe>div:nth-child(4) {
    background: #fcf7bb;
}

body.page-node-type-bien-immobilier .perf_energie .graph .dpe>div:nth-child(5) {
    background: #e69d2d;
}

body.page-node-type-bien-immobilier .perf_energie .graph .dpe>div:nth-child(6) {
    background: #f3ceb3;
}

body.page-node-type-bien-immobilier .perf_energie .graph .dpe>div:nth-child(7) {
    border-radius: 0 5px 5px 0;
    background: #eebaaf;
}

body.page-node-type-bien-immobilier .perf_energie .graph .ges>div:nth-child(1) {
    border-radius: 5px 0 0 5px;
    background: #faf7fa;
}

body.page-node-type-bien-immobilier .perf_energie .graph .ges>div:nth-child(2) {
    background: #cdb9d3;
}

body.page-node-type-bien-immobilier .perf_energie .graph .ges>div:nth-child(3) {
    background: #e7dee9;
}

body.page-node-type-bien-immobilier .perf_energie .graph .ges>div:nth-child(4) {
    background: #e1d7e6;
}

body.page-node-type-bien-immobilier .perf_energie .graph .ges>div:nth-child(5) {
    background: #d7ccdc;
}

body.page-node-type-bien-immobilier .perf_energie .graph .ges>div:nth-child(6) {
    background: #ccc2d6;
}

body.page-node-type-bien-immobilier .perf_energie .graph .ges>div:nth-child(7) {
    border-radius: 0 5px 5px 0;
    background: #c5bbd2;
}

body.page-node-type-bien-immobilier .perf_energie .graph .dpe>div.active,
body.page-node-type-bien-immobilier .perf_energie .graph .ges>div.active {
    height: auto;
    padding: 8px 0;
    border-radius: 5px;
}

body.page-node-type-bien-immobilier .perf_energie .lien_dpe_ges {
    display: inline-block;
    padding: 16px;
    border-radius: 20px;
    border: 1px #000 solid;
    font-family: 'Gotham Narrow';
    font-size: clamp(1.06rem, .833vw, 1.6rem);
    font-weight: 700;
    line-height: 1;
    color: #000;
    text-decoration: none;
    transition: all .3s ease;
}

body.page-node-type-bien-immobilier .perf_energie .lien_dpe_ges:focus,
body.page-node-type-bien-immobilier .perf_energie .lien_dpe_ges:hover {
    color: #FFF;
    background: #000;
}

body.page-node-type-bien-immobilier .perf_energie .estimation {
    line-height: 1.375;
    font-family: 'Gotham Narrow Book';
    font-size: clamp(1.06rem, .833vw, 1.6rem);
    font-weight: 400;
    border-top: 1px #c7c8c4 solid;
    padding-top: clamp(15px, 1.14vw, 22px);
    margin: clamp(15px, 1.14vw, 22px) 0;
}

body.page-node-type-bien-immobilier #photos {
    background: #f2efed;
    padding: clamp(53px, 4.16vw, 80px) calc(var(--bs-gutter-x) * .5) clamp(23px, 1.8vw, 35px);
}

body.page-node-type-cabinet h2,
body.page-node-type-bien-immobilier #photos h2 {
    color: #b09040;
    font-family: 'Times Now';
    font-size: clamp(3.47rem, 2.7vw, 5.2rem);
}

body.page-node-type-cabinet .view-galerie-photo .views-row,
body.page-node-type-bien-immobilier .view-galerie-photo .views-row {
    width: calc(25% - 15px);
    margin-bottom: 15px;
    float: left;
}

a.photoswipe:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    opacity: 0;
    background: url(../images/loupe_galeries.svg) 50%/clamp(58px, 4.5vw, 87px) no-repeat;
    transition: all .3s ease;
}

a.photoswipe:focus:before,
a.photoswipe:hover:before {
    opacity: 1;
}

body.page-node-type-cabinet #chapeau,
body.page-node-type-cabinet #equipe {
    background: #f2efed url() 100% 50% / auto 100% no-repeat;
    background-image: var(--bg-img);
    font-family: 'Gotham Narrow Book';
    font-weight: 400;
    font-size: clamp(1.47rem, 1.145vw, 2.2rem);
    line-height: 1.59;
    margin-bottom: clamp(87px, 6.77vw, 130px);
}

body.page-node-type-cabinet #chapeau {
    padding-top: clamp(67px, 5.2vw, 100px);
}

body.page-node-type-cabinet #chapeau .liens {
    margin: clamp(37px, 2.86vw, 55px) 0;
}

.slick-equipe .slick-list {
    padding-top: 90px;
}

.slick-equipe .photo {
    width: calc(100% + 70px);
    border-radius: 18px 18px 18px 68px;
    overflow: hidden;
    position: relative;
    top: -38px;
    left: -59px;
    margin: 0 0 -18px;
    box-shadow: 1px 1px 14px rgba(0, 0, 0, .45);
    transition: all .3s ease-in-out;
}

.slick-equipe .photo div {
    display: inline;
}

.slick-equipe h3 {
    color: #b09040;
    font-family: 'Gotham Narrow Book';
    font-weight: 400;
    font-size: clamp(2rem, 1.5625vw, 3rem);
    line-height: 1;
}

.slick-equipe .fonction {
    color: #262e36;
    font-family: 'Gotham Narrow Book';
    font-weight: 400;
    font-size: clamp(1.27rem, .98vw, 1.9rem);
    line-height: 1;
}

.slick-equipe .item {
    background: #e2dfda;
    border-radius: 54px;
    padding: 0 35px 25px;
    max-width: 395px;
    margin: 0 auto;
}

.slick-equipe .collaborateur-slide {
    padding: 0 25px;
}

.slick-equipe .collaborateur-slide.even {
    padding-top: 140px;
}


#block-loire-et-charme-views-block-galerie-photo-cabinet-images {
    padding: clamp(123px, 9.6vw, 185px) calc(var(--bs-gutter-x) * .5);
    background: #FFF;
}

#user-register-form .form-control:not([type="checkbox"]):not([type="radio"]),
#user-login-form .form-control:not([type="checkbox"]):not([type="radio"]) {
    padding: 8px 2px;
    margin: 0 auto 28px;
    font-family: "Gotham Narrow Book";
    font-size: clamp(1.2rem, .9375vw, 1.8rem);
    line-height: 1;
    --bs-body-color: #545231;
    --bs-body-bg: transparent;
    --bs-border-color: #545231;
    --bs-border-radius: 0;
    border-color: var(--bs-border-color);
    border-width: 0 0 1px;
    box-shadow: none;
}

#user-login-form .form-item-remember-me,
#user-login-form .user-reset-password-link {
    display: none;
}

#user-login-form .form-control:not([type="checkbox"]):not([type="radio"]) {
    text-align: center;
    width: 80%;
}

#user-register-form label {
    font-family: "Gotham Narrow Book";
    font-size: clamp(1.2rem, .9375vw, 1.8rem);
    line-height: 20px;
}

#user-register-form .form-submit,
#user-login-form .form-submit {
    display: block !important;
    width: auto !important;
    margin: 0 auto !important;
    --bs-border-radius: clamp(22px, 1.77vw, 34px) !important;
    padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x) !important;
}

#user-register-form .form-submit:hover,
#user-login-form .form-submit:hover {
    border-color: var(--bs-btn-hover-border-color) !important;
}

#user-register-form .form-submit {
    margin-top: clamp(30px, 2.34vw, 45px) !important;
}

#user-login-form .login-links {
    margin: clamp(40px, 3.125vw, 60px) auto 0;
}

.confirm-parent,
.password-parent {
    overflow: auto;
    max-width: none;
}

input[type="checkbox"].form-control,
input[type="radio"].form-control {
    --bs-form-check-bg: var(--bs-body-bg);
    --bs-border-color: #3e4233;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    padding: 0;
    vertical-align: top;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: transparent;
    background-image: var(--bs-form-check-bg-image);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: var(--bs-border-width) solid var(--bs-border-color);
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
    border-radius: 3px;
}

.form-control:checked[type=checkbox],
.form-control:checked[type=radio] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23545235' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e") !important;
}

.form-type-radio,
.form-radios,
.form-type-checkbox {
    display: flex;
    gap: 8px;
    align-items: center;
}

.form-radios {
    gap: 16px;
}

.form-type-checkbox .option,
.form-type-checkbox .option a {
    color: #a58535;
    font-size: clamp(.86rem, .7vw, 1.3rem);
}


.password-strength,
.password-strength__meter,
.password-strength__title,
.password-strength__text,
#edit-pass--description,
.password-confirm-message {
    display: none !important;
}

.field--name-field-depense-energetique-basse,
.field--name-field-depense-energetique-haute {
    display: inline;
}

.cls-1 {
    fill: #b49340;
    stroke-width: 0px;
}

.coeur-svg {
    transform: translateY(5px);
}

.fullheart {
    display: none;
}

.coeur-svg.action-flag:hover .fullheart,
.coeur-svg.action-unflag .fullheart {
    display: block;
}

.coeur-svg.action-unflag:hover .fullheart {
    display: none;
}

.coeur-svg .texte_on {
    opacity: 0;
}

.coeur-svg.action-unflag .texte_on {
    opacity: 1;
}

.coeur-svg.action-unflag .texte_off {
    opacity: 0;
}

.coeur-svg .texte_on,
.coeur-svg .texte_off {
    transform-origin: 53px 50px;
    transition: transform .7s ease;
}

.coeur-svg:hover .texte_on,
.coeur-svg:hover .texte_off {
    transform: rotate(60deg);
}

.flag.action-unflag .coeur-svg .heart {
    fill: #b49340;
    /* Cœur plein quand c'est déjà en favori */
}

.flag.action-unflag .texte_on {
    opacity: 1;
}

.flag.action-flag .texte_on {
    opacity: 0;
}

.swal2-container {
    z-index: 1250 !important;
}

.swal2-container .swal2-popup {
    font-family: 'Futura' !important;
    font-weight: 500 !important;
    font-size: clamp(1.2rem, 1.1vw, 1.4rem) !important;
}

#galerie-photos {
    margin-bottom: clamp(40px, 3.125vw, 60px);
}

#galerie-photos .item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(33.33% - 15px);
    margin: 0 0 15px;
}

#galerie-photos .item a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

#galerie-photos .item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

a#prestations {
    width: 0;
    padding: 0;
    display: block;
    position: relative;
    top: calc(-1 * clamp(43px, 3.333vw, 64px));
}

body.page-node-type-page article .field--name-body {
    font-size: clamp(3.6rem, 2.8vw, 5.4rem);
    line-height: 1.66;
    font-family: 'Times Now';
    font-weight: 300;
    margin-top: clamp(66px, 6vw, 100px);
    margin-bottom: clamp(66px, 6vw, 100px);
    text-align: center;
}

.annonces-alertes .contenu {
    padding-top: clamp(40px, 3.125vw, 60px);
    padding-bottom: clamp(80px, 6.25vw, 120px);
}

.annonces-alertes .subtitle {
    font-size: clamp(3.6rem, 2.8vw, 5.4rem);
    line-height: 1.66;
    font-family: 'Times Now';
    font-weight: 300;
    padding-bottom: clamp(40px, 3.125vw, 60px);
}

.annonces-alertes form {
    display: flex;
    align-items: center;
    gap: clamp(27px, 2vw, 40px);
    margin: 0;
}

.nb-alertes {
    font-family: 'Gotham Narrow';
    font-weight: 300;
    font-size: clamp(1.13rem, .885vw, 1.7rem);
    text-transform: uppercase;
    padding: clamp(47px, 3.65vw, 70px) clamp(25px, 2vw, 38px) clamp(40px, 3.125vw, 60px);
}

.nb-alertes span {
    color: #b09040;
    font-weight: 700;
}

#alertes {
    padding-bottom: clamp(80px, 6.25vw, 120px);
}

#alertes .alerte .alerts-container {
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    justify-content: start;
    gap: clamp(20px, 1.6vw, 30px);
}

#alertes .alerts-container article {
    display: flex;
    flex-wrap: wrap;
    background: #FFF;
    border-radius: 14px;
    padding: clamp(7px, .5vw, 10px) clamp(21px, 1.66vw, 32px) clamp(16px, 1.25vw, 24px);
    width: calc(20% - clamp(20px, 1.6vw, 30px));
}

#alertes .alerts-container article .btn {
    --bs-btn-padding-x: 15px;
}

#alertes .detail {
    flex: 100%;
    padding: clamp(20px, 1.6vw, 30px) 0;
    font-family: 'Gotham Narrow Book';
    font-weight: 400;
    font-size: clamp(1.33rem, 1.04vw, 2rem);
    line-height: 1;
    border-top: 1px #b2b2b2 solid
}

#alertes .detail:first-child {
    border-top: none;
}

.page-404,
.paragraph--type--contenu>.container-fluid {
    padding-top: clamp(40px, 3.125vw, 60px);
    padding-bottom: clamp(40px, 3.125vw, 60px);
    font-size: clamp(1.2rem, .9375vw, 1.8rem);
    font-family: 'Gotham Narrow Book';
}

.placeholder {
    background: #EEEEEE12;
}

#bloc_img .field--type-image {
    display: flex;
    height: 100%;
}

#bloc_img .field--type-image img {
    object-fit: cover;
}

#tarteaucitronRoot #tarteaucitronDisclaimerAlert,
#tarteaucitronRoot * {
    font-family: 'Gotham Narrow';
    font-weight: 400;
    font-size: clamp(1.06rem, .833vw, 1.6rem);
    color: #3e4233;
    line-height: 1.2;
}

div#tarteaucitronServices {
    box-shadow: none;
}

#tarteaucitronRoot #tarteaucitronAlertBig {
    background: #b09040;
    color: #FFF;
    padding: 40px 0;
}

#tarteaucitronAlertBig #tarteaucitronPrivacyUrl,
#tarteaucitronAlertBig #tarteaucitronPrivacyUrlDialog,
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert,
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong,
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert .tarteaucitronPartnersList * {
    color: #FFF;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow,
#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny,
.tac_activate .tarteaucitronAllow,
#tarteaucitronAlertBig #tarteaucitronCloseAlert,
#tarteaucitronAlertBig #tarteaucitronPersonalize,
#tarteaucitronAlertBig #tarteaucitronPersonalize2,
.tarteaucitronCTAButton,
#tarteaucitron #tarteaucitronPrivacyUrl,
#tarteaucitron #tarteaucitronPrivacyUrlDialog,
#tarteaucitronRoot .tarteaucitronDeny,
#tarteaucitronRoot .tarteaucitronAllow {
    background: #3e4233;
    color: #FFF;
    padding: calc(clamp(18px, 1.45vw, 28px) / 2) calc(clamp(30px, 2.34vw, 45px) / 2);
    font-family: "Futura";
    font-size: clamp(1.2rem, .9375vw, 1.8rem);
    font-weight: 500;
    line-height: 1;
    border-radius: calc(clamp(1.2rem, .9375vw, 1.8rem) + clamp(22px, 1.77vw, 34px));
}

#tarteaucitronRoot button.tarteaucitronCTAButton,
#tarteaucitronRoot button#tarteaucitronCloseAlert,
#tarteaucitronRoot .tarteaucitronDeny,
#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny {
    background: #FFF;
    color: #3e4233;
    padding: calc(clamp(18px, 1.45vw, 28px) / 2) calc(clamp(30px, 2.34vw, 45px) / 2);
    font-family: "Futura";
    font-size: clamp(1.2rem, .9375vw, 1.8rem);
    font-weight: 500;
    line-height: 1;
    border-radius: calc(clamp(1.2rem, .9375vw, 1.8rem) + clamp(22px, 1.77vw, 34px));
}

.tarteaucitronSize-bottom #tarteaucitronAlertBig #tarteaucitronCloseAlert {
    background: #d3cac2;
}

#tarteaucitron #tarteaucitronClosePanel {
    border-radius: 0;
}

.tarteaucitronSize-bottom #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
    padding: 0;
    border-radius: 0;
    font-size: clamp(.8rem, .625vw, 1.2rem) !important;
    font-weight: 300;
}

#tarteaucitronRoot .tarteaucitronIsAllowed .tarteaucitronAllow .tarteaucitronCheck::before,
#tarteaucitronRoot .tarteaucitronAllow .tarteaucitronCheck::before {
    content: '' !important;
    display: inline-block;
    width: 18px;
    height: 18px;
    vertical-align: middle;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23545235' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e") !important;
}

#tarteaucitronRoot .tarteaucitronIsAllowed .tarteaucitronDeny .tarteaucitronCross::before,
#tarteaucitronRoot .tarteaucitronDeny .tarteaucitronCross::before {
    content: none !important;
}


@media (max-width: 1024px) {

    body.page-node-type-cabinet .view-galerie-photo .views-row,
    body.page-node-type-bien-immobilier .view-galerie-photo .views-row {
        width: calc(33.333% - 15px);
    }

    #alertes .alerts-container article {
        width: calc(33.33% - clamp(20px, 1.6vw, 30px));
    }

    #footer {
        flex-wrap: wrap;
    }

    #footer_last,
    #footer_contact,
    #footer_social {
        flex: 50%;
    }

    .footer_menu {
        flex: 25%;
    }

    .footer_menu:before {
        content: none;
    }

    #caracteristiques .offcanvas-body {
        padding: 0 clamp(53px, 4.2vw, 80px);
    }

    #caracteristiques .offcanvas-body h2 {
        font-size: 2.9rem;
    }

    body.page-node-type-cabinet #chapeau {
        padding: calc(var(--bs-gutter-x)) 30% 0 calc(var(--bs-gutter-x) * .5);
    }
}

@media (max-width: 1200px) {
    #footer_social {
        display: none;
    }

    h1 {
        font-size: 10vw;
        padding: 18.5vw 0 3.125vw;
    }

    h1 .amp {
        font-size: 11vw;
        letter-spacing: -1.5vw;
    }

    .footer_menu {
        display: none;
    }

    #footer_last {
        align-self: end;
    }

    #recherche .form--inline,
    #recherche_bas {
        display: flex;
        align-items: center;
        gap: clamp(16px, 2vw, 40px);
        margin: 0;
    }

    body.path-recherche-de-bien-immobilier #menu-navbar #resultats .resultats {
        display: none;
    }

    .flag-guest-wrapper a,
    .flag-coups-de-coeur a {
        width: 40px;
        height: 34px;
    }

    body.page-node-type-bien-immobilier #branding .flag-coups-de-coeur a svg {
        margin: -10px 0 0;
    }

    body.page-node-type-bien-immobilier #branding .flag-coups-de-coeur a {
        margin-right: 0;
    }

    .slick-equipe .slick-dots button,
    #coups_coeur .slick-slider .slick-dots button {
        width: 24px;
        height: 12px;
    }
}

@media (max-width: 992px) {
    #footer_social {
        display: none;
    }

    h1 {
        font-size: 10vw;
        padding: 18.5vw 0 3.125vw;
    }

    h1 .amp {
        font-size: 11vw;
        letter-spacing: -1.5vw;
    }

    body.path-frontpage h1 {
        font-size: 9vw;
        line-height: 1;
    }

    body.path-frontpage h1 .amp {
        font-size: 11vw;
        letter-spacing: -0.9rem;
        margin-left: -0.8rem;
        line-height: .8;
    }

    body.path-frontpage h1 .small {
        display: block;
        line-height: 1;
        font-size: 5.9vw;
        margin-top: -1vw;
    }

    body.path-frontpage #branding h2 {
        text-align: start;
        font-size: 2.8vw;
        margin-top: 2vw;
    }

    body.path-frontpage #branding .site-logo img {
        max-width: 30vw;
        margin-bottom: 2vw;
    }

    body.path-frontpage #coups_coeur {
        width: 100%;
        margin: 0 auto 15vw;
    }

    body.path-frontpage #biens_vente {
        width: 100%;
        margin: 0 auto;
    }

    body.path-frontpage #blocks h2 {
        font-size: 7vw;
    }

    #coups_coeur .slick-slider .slick-dots {
        display: none !important;
    }

    body.path-frontpage #cabinet .sous_titre {
        font-size: clamp(3.4rem, 3.38vw, 6.5rem);
    }

    body.path-frontpage #cabinet .row {
        padding-top: 20vw;
        padding-bottom: 4vw;
    }

    .footer_menu {
        display: none;
    }

    #footer_last {
        align-self: end;
    }

    #recherche .form--inline,
    #recherche_bas {
        display: flex;
        align-items: center;
        gap: clamp(16px, 2vw, 40px);
        margin: 0;
    }

    .view-coups-de-coeur .view-content,
    .view-recherche-de-bien-immobilier .view-content {
        gap: 0 calc((100% - clamp(305px, 23.85vw, 458px) * 2) / 2);
    }

    .view-coups-de-coeur .view-content>div:nth-of-type(3n + 2),
    .view-recherche-de-bien-immobilier .view-content>div:nth-of-type(3n + 2) {
        margin-top: 0;
    }

    .view-coups-de-coeur .view-content>div:nth-of-type(2n + 1),
    .view-recherche-de-bien-immobilier .view-content>div:nth-of-type(2n + 1) {
        margin-top: calc(clamp(305px, 23.85vw, 458px) * 150 / 458);
    }

    body.path-recherche-de-bien-immobilier #menu-navbar #resultats .resultats {
        display: none;
    }

    .flag-guest-wrapper a,
    .flag-coups-de-coeur a {
        width: 40px;
        height: 34px;
    }

    body.page-node-type-bien-immobilier #branding .flag-coups-de-coeur a svg {
        margin: -10px 0 0;
    }

    body.page-node-type-bien-immobilier #branding .flag-coups-de-coeur a {
        margin-right: 0;
    }

    body.page-node-type-cabinet #chapeau {
        padding: 110vw calc(var(--bs-gutter-x) * .5) 0;
        margin-bottom: 10vw;
        background-position: 0 0;
        background-size: 100%;
    }

    body.page-node-type-cabinet #equipe {
        padding-bottom: 16vw;
    }
}

@media (max-width: 768px) {
    #recherche_bas {
        flex-wrap: wrap;
        gap: 15px calc((100% - 44px - clamp(132px, 30vw, 225px) * 2)/3);
        justify-content: flex-start;
    }

    select.form-select,
    #recherche input.form-control,
    #recherche_bas select.form-select,
    #recherche_bas input.form-control {
        max-width: 40vw;
        font-size: clamp(11px, 2.8vw, 16px);
    }

    .block-small {
        margin-top: 0;
    }

    .block-large .overlay-side {
        width: 50%;
    }

    #coups_coeur .slick-slide .slide__caption {
        width: 50%;
    }

    body.page-node-type-cabinet .view-galerie-photo .views-row,
    body.page-node-type-bien-immobilier .view-galerie-photo .views-row {
        width: calc(50% - 15px);
    }

    .annonces-alertes form {
        flex-wrap: wrap;
    }

    #alertes .alerts-container article {
        width: calc(50% - clamp(20px, 1.6vw, 30px));
    }

    #footer {
        flex-wrap: wrap;
    }

    #footer_last,
    #footer_contact,
    #footer_social {
        flex: 100%;
    }

    #footer_last {
        align-self: flex-start;
    }

    .view-coups-de-coeur .view-content>div,
    .view-recherche-de-bien-immobilier .view-content>div:nth-of-type {
        margin-top: 20px;
    }

    .offcanvas-title {
        margin: 15px auto 30px;
    }

    .offcanvas-body {
        padding: 0 45px;
    }

    .offcanvas h2,
    .offcanvas .menu .menu-item a {
        font-size: 3.5rem;
    }

    h1 {
        font-size: clamp(25px, 10vw, 45px);
        padding: 18.5vw 0 3.125vw;
    }

    h1 .amp {
        font-size: clamp(27.5px, 11vw, 50px);
        letter-spacing: calc(-1 * clamp(3.75px, 1.5vw, 6.75px));
    }

    body.path-frontpage h1 {
        font-size: clamp(25px, 10vw, 45px);
        line-height: 1;
    }

    body.path-frontpage h1 .amp {
        font-size: clamp(30px, 12vw, 54px);
        letter-spacing: -0.9rem;
        margin-left: -0.8rem;
        line-height: .8;
    }

    body.path-frontpage h1 .small {
        display: block;
        line-height: 1;
        font-size: clamp(14.75px, 5.9vw, 26.5px);
        margin-top: calc(-1 * clamp(2.5px, 1vw, 7px));
    }

    body.path-frontpage #branding h2 {
        text-align: start;
        font-size: clamp(10px, 4.2vw, 20px);
        margin-top: 2.5vw;
    }

    body.path-frontpage #branding .site-logo img {
        max-width: 30vw;
        margin-bottom: 2vw;
    }

    .btn {
        --bs-btn-font-size: clamp(11px, 4vw, 18px);
    }

    #video_intro [data-aos="video-anim"] {
        margin: 15px auto 0;
    }

    #formulaire_recherche_top #resultats {
        display: none;
    }

    #introduction {
        font-size: 6.8vw;
        margin-top: 22vw;
        margin-bottom: 22vw;
    }

    #introduction>div {
        padding: 0;
    }

    body.path-frontpage #coups_coeur {
        width: 100%;
        margin: 0 auto 15vw;
    }

    body.path-frontpage #biens_vente {
        width: 100%;
        margin: 0 auto;
    }

    body.path-frontpage #blocks h2 {
        font-size: 7vw;
    }

    #coups_coeur .slick-slider .slick-dots {
        display: none !important;
    }

    body.path-frontpage #cabinet {
        margin-top: 5vw;
        line-height: 1.5;
    }

    body.path-frontpage #cabinet .titre,
    body.path-frontpage #cabinet .sous_titre {
        line-height: .85;
        font-size: 12vw;
    }

    body.path-frontpage #cabinet .sous_titre {
        font-size: 6vw;
        line-height: 1;
    }

    body.path-frontpage #cabinet .row {
        padding-top: 14vw;
        padding-bottom: 14vw;
    }

    #footer {
        padding: 14vw 0 15px;
    }

    #footer_contact img {
        max-width: 18vw;
        margin-bottom: 2vw;
    }

    #footer_contact {
        font-size: clamp(10px, 5vw, 30px);
    }

    #footer_contact .tel {
        margin-top: 3vw;
    }

    #footer_contact .tel>span>span {
        padding: 2px 8px 2px 7px;
        font-size: 4.2vw;
    }

    #footer_social {
        display: none;
    }

    .footer_menu {
        display: flex;
        margin: 5vw 0 8vw;
        font-size: clamp(11px, 4vw, 18px);
        flex: 45%;
    }

    .footer_menu+.footer_menu {
        margin-left: 0;
    }

    #footer_copyright:before,
    #block-loire-et-charme-copyright {
        display: none;
    }

    #footer_fnaim {
        font-size: 3.2vw;
    }

    #footer_fnaim small {
        font-size: 2.9vw;
    }

    #footer_last {
        align-items: start;
        text-align: start;
    }

    .os-bootstrap div {
        text-align: start !important;
    }

    #contact-bien-toggler,
    #contact-toggler {
        right: calc(0.75rem / 2 + clamp(50px, 3.9vw, 75px) / 2);
        font-size: clamp(10px, 3.5vw, 16px);
        padding: 25px 22px 18px;
    }

    body.page-node-type-cabinet #equipe .equipe-carousel-wrapper {
        margin: 0 calc(-1 * clamp(50px, 3.9vw, 75px));
    }

    body.page-node-type-cabinet #equipe .slick-list {
        padding-top: 15vw !important;
    }

    body.page-node-type-cabinet #equipe .collaborateur-slide {
        left: -10vw;
        position: relative;
    }

    .slick-equipe .slick-dots {
        bottom: -16vw;
    }

    #block-loire-et-charme-views-block-galerie-photo-cabinet-images {
        padding: 15vw calc(var(--bs-gutter-x) * .5);
    }

    .slick-equipe h3 {
        font-size: clamp(14px, 6.5vw, 28px);
    }

    .slick-equipe .fonction {
        font-size: clamp(11px, 4vw, 18px);
    }

    body.page-node-type-page article .field--name-body {
        font-size: 8vw;
        line-height: 1.4;
        margin-top: 12vw;
        margin-bottom: 12vw;
    }

    #galerie-photos .item {
        width: calc(50% - 15px);
        margin: 0 0 15px
    }

    .view.view-type-de-biens .view-content {
        padding: 255vw 15px 0;
    }

    .view-type-de-biens {
        padding: 0 15px;
    }

    .view.view-type-de-biens .view-content .type-name a {
        font-size: 4.25vw;
        margin-top: 3vw;
        text-align: center;
    }

    .view.view-type-de-biens .view-content>.type:nth-child(2) {
        left: 38vw;
    }

    body.path-recherche-de-bien-immobilier #resultats .resultats {
        justify-content: start;
        margin: 5vw 0 0;
        flex: 1 1 100%;
    }

    .view-coups-de-coeur .view-content,
    .view-recherche-de-bien-immobilier .view-content {
        margin: -4vw auto 5vw;
    }

    .view-coups-de-coeur .view-content>div,
    .view-recherche-de-bien-immobilier .view-content>div {
        width: calc(50% - calc((100% - clamp(305px, 23.85vw, 458px) * 2) / 2));
        margin-top: 8vw !important;
    }

    #resultats .tri a,
    .search-results-count {
        font-size: clamp(9px, 3.2vw, 15px);
    }

    .view-coups-de-coeur .view-content .diaporama .slick-arrow,
    .view-recherche-de-bien-immobilier .view-content .diaporama .slick-arrow {
        display: block !important;
        opacity: 1;
    }

    body.page-node-type-bien-immobilier #branding a.lien_galerie {
        font-size: clamp(9px, 3.5vw, 16px);
        padding: 4vw 6vw;
        border-radius: 6vw;
        background: #FFF;
        color: #3e4233;
    }

    body.page-node-type-bien-immobilier #branding .flag-coups-de-coeur a svg {
        margin: -10px 0 0;
    }

    body.page-node-type-bien-immobilier #branding .flag-coups-de-coeur a {
        margin-right: 0;
    }

    body.page-node-type-bien-immobilier #fiche .infos>div {
        width: 100%;
        margin: 0 !important;
        padding: 0 0 8vw;
    }

    type-bien-immobilier #fiche .infos h2 {
        font-size: 9vw;
    }

    .page-404 h2,
    .paragraph--type--contenu h2,
    .view-coups-de-coeur .view-content h2,
    .view-recherche-de-bien-immobilier .view-content h2 {
        font-size: clamp(17px, 7vw, 31px);
    }

    .page-404,
    .paragraph--type--contenu>.container-fluid,
    body.page-node-type-bien-immobilier #fiche .infos,
    #details-dpe dl,
    body.page-node-type-bien-immobilier #fiche .infos .prestations dl {
        font-size: clamp(10px, 4vw, 18px);
    }


    #details-dpe .estimation,
    body.page-node-type-bien-immobilier .perf_energie .graph strong {
        font-size: clamp(8px, 3.2vw, 15px);
    }


    body.page-node-type-bien-immobilier .perf_energie .estimation {
        font-size: clamp(8px, 3vw, 13.5px);
    }

    #details-dpe h2 {
        margin-top: clamp(20px, 8vw, 36px);
    }

    #tableau-de-bord ul a {
        width: 100%;
        font-size: clamp(10px, 4vw, 18px);
        padding: 6vw 0;
    }

    #tableau-de-bord ul {
        margin: 5vw 0;
    }

    #alertes .alerts-container article {
        width: 100%;
    }

    .annonces-alertes .subtitle {
        font-size: clamp(20px, 8vw, 36px);
        line-height: 1.4;
        padding-bottom: 5vw;
    }

    #loire-et-charme-core-alert {
        gap: 2vw;
    }

    #loire-et-charme-core-alert .form-item,
    #loire-et-charme-core-alert select.form-select {
        max-width: 100%;
        width: 100%;
        flex: 100%;
        margin-top: 0;
    }

    #loire-et-charme-core-alert .btn {
        margin-top: 6vw;
    }

    .annonces-alertes .contenu {
        padding-top: 8vw;
        padding-bottom: 8vw;
    }

    .nb-alertes {
        font-size: clamp(10px, 4vw, 18px);
        padding: 8vw 15px 6vw;
    }

    select.form-select,
    #recherche input.form-control,
    #recherche_bas select.form-select,
    #recherche_bas input.form-control {
        width: clamp(132px, 30vw, 225px);
        padding: 12px 10px 12px 6px;
    }

    #recherche_bas input.form-submit {
        width: 44px;
    }

    body.page-node-type-bien-immobilier #branding .lien_retour,
    body.page-node-type-bien-immobilier #branding .infos>.col>span,
    .view-coups-de-coeur .view-content article .infos span,
    .view-recherche-de-bien-immobilier .view-content article .infos span,
    body.page-node-type-bien-immobilier #branding .infos a {
        font-size: clamp(10px, 2vw, 14px);
    }

    body.page-node-type-bien-immobilier #branding .infos {
        width: clamp(233px, 40vw, 320px);
    }

    #tarteaucitronRoot span#tarteaucitronDisclaimerAlert {
        margin-bottom: 15px;
    }
}

@media (max-width: 600px) {

    .view-coups-de-coeur .view-content>div,
    .view-recherche-de-bien-immobilier .view-content>div {
        width: 100%;
        margin-top: 8vw !important;
    }
}