/**
* Theme Name: L'immobilier à 360
* Description: Theme enfant du thème WP Made Simple de Publigo
* Author: Hervé - Publigo
* Author URI: https://www.publigo.fr
* Template: wpms-theme 
* Version: 1.0
* Text Domain: limmobilier-a-360
*/

/*****************************************************
* Ajout de ces lignes au début du fichier style.css du thème enfant (:root et body à ajuster en fonction de la taille du texte en pixels sur une page intérieure de la maquette)
*******************************************************/

@import url('https://fonts.googleapis.com/css2?family=Afacad:ital,wght@0,400..700;1,400..700&family=Gabarito:wght@400..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

:root {
    --base-size: 1.6rem;
    --font: #162548;
    --green: #9FC328;
    --orange: #EF910B;
    --red: #DE0E19;
    --d-red: #87333A;
    --blue-green: #02A193;
    --l-blue: #4C608E;
    --blue: #223972;
    --l-grey: #f8f8f8;
}

* {
    transition: all 0.35s;
    min-width: 0;
    min-height: 0;
}

html,
body {
    overflow-x: hidden;
}

html {
    font-size: 62.5%;
    max-width: 1920px;
    min-height: 100dvh;
    margin: auto;
    overflow-x: hidden;
}

body {
    font-family: "Roboto", Verdana, sans-serif;
    font-size: clamp(1.3rem, 1.3vw, 1.6rem);
    color: var(--font);
    font-weight: 400;
    line-height: 2.4rem;
    position: relative;
}

h1,
h2,
h3,
h4,
p {
    margin: clamp(0.6rem, 0.6vw, 1rem) 0;
}

@media screen and (min-width: 48em) {
    html {
        font-size: 54%;
    }
}

@media screen and (min-width: 62em) {
    html {
        font-size: 58%;
    }

    body {
        padding-bottom: 0;
    }
}

@media screen and (min-width: 75em) {
    html {
        font-size: 62.5%;
    }
}

a {
    text-decoration: none;

    &:hover {
        color: var(--blue-green);
    }
}

div#menu_pannel {
    position: fixed;
    z-index: 11;
    top: 0;
    left: 0;
    background-image: url(assets/images/deco-menu.avif);
    background-position: bottom left;
    background-repeat: no-repeat;
    background-color: #233972;
    width: 100%;
    height: 100vh;
    display: flex;
    gap: clamp(8.3rem, 8.3vw, 15rem);
    align-items: center;
    justify-content: center;
    background-size: contain;
    opacity: 1;

    & div>ul {
        display: flex;
        flex-direction: column;
        gap: clamp(1.3rem, 1.3vw, 2.4rem);

        & ul {
            display: flex;
            flex-direction: column;
            gap: clamp(0.8rem, 0.8vw, 1.5rem);
            margin-top: clamp(0.8rem, 0.8vw, 1.5rem);
        }
    }
}

img#logo {
    width: clamp(23.4rem, 23.4vw, 42.5rem);
    height: auto;
}

div#menu_pannel.close {
    transform: translate(0, -100%);
    opacity: 0;
}

div#close_button {
    position: absolute;
    top: 0;
    height: clamp(5.5rem, 5.5vw, 10rem);
    width: clamp(5.5rem, 5.5vw, 10rem);
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;

    & rect {
        fill: #fff;
    }

    & span {
        color: #FFF;
        font-size: clamp(1.2rem, 1.2vw, 1.4rem);
        font-weight: 600;
        text-transform: uppercase;
    }

    &:hover {
        & rect {
            fill: var(--blue-green);
        }

        & span {
            color: var(--blue-green);
        }
    }
}

div#block_menu {
    display: flex;
    gap: clamp(8.3rem, 8.3vw, 15rem);
}

button.dropdown-toggle,
button.menu-toggle {
    display: none;
}

ul#top-menu {
    & a {
        color: #FFF;
        font-size: clamp(1.4rem, 1.4vw, 2.5rem);
        font-weight: 700;

        &:hover {
            color: var(--blue-green);
        }
    }

    & ul.sub-menu a {
        font-weight: 300;
    }
}

ul#main-menu a {
    color: #FFF;
    font-size: clamp(1.4rem, 1.4vw, 2.5rem);
    font-weight: 300;

    &:hover {
        color: var(--blue-green);
    }
}

div#top_nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 clamp(5.5rem, 5.5vw, 10rem);
    background: var(--blue);
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    height: clamp(5.5rem, 5.5vw, 10rem);
    z-index: 10;

    & img#mini_logo {
        width: clamp(2.2rem, 2.2vw, 4rem);
        height: clamp(2.2rem, 2.2vw, 4rem);
    }
}

div#open_button {
    display: flex;
    align-items: center;
    flex-direction: column;
    cursor: pointer;

    & rect {
        fill: #fff;
    }

    & span {
        color: #FFF;
        font-size: clamp(1.2rem, 1.2vw, 1.4rem);
        font-weight: 600;
        line-height: 2rem;
        text-transform: uppercase;
    }

    &:hover {
        & rect {
            fill: var(--blue-green);
        }

        & span {
            color: var(--blue-green);

        }
    }
}

@media(min-width: 1400px) {
    div#open_button {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
    }
}

ul#quick_nav {
    display: flex;
    gap: clamp(0.6rem, 0.6vw, 1rem);
    justify-content: center;
    align-items: center;
    list-style: none;
    margin: 0;

    & .quick_nav_item {
        position: relative;
        padding: clamp(0.6rem, 0.6vw, 1rem) 0;

        & svg {
            width: clamp(0.9rem, 0.9vw, 1.6rem);
            height: clamp(1.1rem, 1.1vw, 2rem);
        }

        &>:is(a, span) {
            padding: 0 clamp(1.7rem, 1.7vw, 3rem);
            background: #fff;
            display: flex;
            justify-content: center;
            align-items: center;
            height: clamp(2.5rem, 2.5vw, 4.5rem);
            gap: clamp(0.6rem, 0.6vw, 1rem);
            border-radius: clamp(1.25rem, 1.25vw, 2.25rem);
            cursor: pointer;

            & span {
                color: var(--blue);
                font-size: clamp(1.2rem, 1.2vw, 1.4rem);
                font-weight: 600;
                line-height: 1;
                text-transform: uppercase;
            }

            & path {
                fill: var(--blue);
            }

            &:hover {
                background: var(--orange);

                & span {
                    color: #fff;
                }

                & path {
                    fill: #fff;
                }
            }
        }
    }

    & .quick_nav_item:nth-child(1)>:is(a, span) {
        background: var(--blue-green);

        & span {
            color: #fff;
        }

        & path {
            fill: #fff;
        }


        &:hover {
            background: var(--green);
        }
    }

    & .quick_nav_item:nth-child(2)>:is(a, span) {
        background: var(--l-blue);

        & span {
            color: #fff;
        }

        & path {
            fill: #fff;
        }

        &:hover {
            background: var(--d-red);
        }
    }
}

ul.quick_sub_nav {
    overflow: hidden;
    width: max-content;
    position: absolute;
    top: 100%;
    list-style: none;
    margin: 0;
    padding: clamp(2.2rem, 2.2vw, 4rem) clamp(1.1rem, 1.1vw, 2rem);
    background: #fff;
    border-radius: clamp(1.7rem, 1.7vw, 3rem);
    box-shadow: 2px 2px 2px var(--l-grey);
    display: flex;
    flex-direction: column;
    gap: clamp(1.9rem, 1.9vw, 3.5rem);
    opacity: 1;

    & a {
        display: block;
        height: clamp(1.4rem, 1.4vw, 2.5rem);
        color: var(--l-blue);
        font-size: clamp(1.4rem, 1.4vw, 1.8rem);

        &:hover {
            color: var(--blue-green);
        }
    }
}

ul.quick_sub_nav.close {
    opacity: 0;
    padding: 0 clamp(1.1rem, 1.1vw, 2rem);
    box-shadow: 0 0 0 #fff0;
    gap: 0;

    & li a {
        height: 0;
    }
}


header#masthead {
    margin-top: clamp(5.5rem, 5.5vw, 10rem);
    position: relative;
}

div#primary {
    position: relative;
}

#banner {
    position: relative;
}

div#homeslider {
    display: flex;
    max-width: 1920px;
    position: relative;
    border-radius: 0 0 clamp(5.5rem, 5.5vw, 10rem) clamp(5.5rem, 5.5vw, 10rem);
    overflow: hidden;

    &:after {
        content: "";
        display: block;
        position: absolute;
        z-index: 2;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(180deg, var(--blue), transparent);
    }

    & .home_slide {
        padding: 0;
        flex-shrink: 0;
        position: relative;
        z-index: 1;

        & img {
            display: block;
            width: 100%;
            height: auto;
        }
    }

}

div#home_banner_content {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(5.1rem, 5.1vw, 9.5rem);
}

div#home_search {
    width: 100%;
}

#filters_bien {
    max-width: clamp(88rem, 88vw, 160rem);
    border-radius: clamp(5.5rem, 5.5vw, 10rem);
    border: 1px solid rgba(255, 255, 255, 0.24);
    background: rgba(10, 10, 10, 0.08);
    box-shadow: 0 0 clamp(0.8rem, 0.8vw, 1.5rem) 0 rgba(0, 0, 0, 0.25);

    & :is(.nice-select, .input-ref input[type="text"]) {
        display: inline-flex;
        padding: 0 clamp(1.1rem, 1.1vw, 2rem);
        height: clamp(2.2rem, 2.2vw, 4rem);
        justify-content: center;
        align-items: center;
        border-radius: clamp(11rem, 11vw, 20rem);
        background: #fff;

        & .current,
        &::placeholder {
            font-family: roboto;
            color: var(--blue);
            font-size: clamp(1.4rem, 1.4vw, 1.7rem);
            font-weight: 600;
            text-transform: uppercase;
        }

        &:hover {
            background: var(--d-red);

            & .current,
            &::placeholder {
                color: #fff;
            }
        }
    }

    & .search-icon button {
        border-radius: clamp(11rem, 11vw, 20rem);
        background: var(--blue);
        display: inline-flex;
        padding: 0 clamp(1.1rem, 1.1vw, 2rem);
        height: clamp(2.2rem, 2.2vw, 4rem);
        justify-content: center;
        align-items: center;
        cursor: pointer;

        & span {
            color: #fff;
            font-family: 'Roboto';
            font-size: clamp(1.4rem, 1.4vw, 1.7rem);
            font-weight: 600;
            text-transform: uppercase;

        }

        &:hover {
            background: var(--blue-green);
        }
    }
}

span.current {
    overflow: hidden;
}

.rappel-titre-menu {
    max-width: 1920px;
    width: 100%;
    height: clamp(11rem, 11vw, 19.2rem);
    background: var(--blue);
    border-radius: 0 0 clamp(5.5rem, 5.5vw, 10rem) clamp(5.5rem, 5.5vw, 10rem);
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFF;
    font-family: Roboto;
    font-size: clamp(2.2rem, 2.2vw, 4rem);
    font-weight: 800;
    text-transform: uppercase;
}

.page_pro .rappel-titre-menu {

    background: var(--orange);
}

div#banner #header_banner {
    position: relative;

    &:after {
        content: "";
        display: block;
        position: absolute;
        z-index: 2;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(180deg, var(--blue), transparent);
    }

    & img {
        display: block;
        width: 100%;
        height: auto;
        position: relative;
        z-index: 1;
    }

    & #header_logo {
        position: absolute;
        z-index: 3;
        display: block;
        margin: auto;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: min(39rem, 21.4vw);
        height: auto;
    }

}

main {
    display: flex;
    flex-direction: row-reverse;
    gap: clamp(8.8rem, 8.8vw, 16rem);
    padding: clamp(7.7rem, 7.7vw, 14rem) clamp(8.8rem, 8.8vw, 16rem) 0;
}


div#sidebar {
    width: clamp(17.6rem, 17.6vw, 32rem);
    display: flex;
    flex-direction: column;
    gap: clamp(2.8rem, 2.8vw, 5rem);
    flex-shrink: 0;
}

div#side_search div#filters_bien {
    background: var(--l-grey);
    display: flex;
    padding: clamp(2.5rem, 2.5vw, 4.6rem) clamp(1.7rem, 1.7vw, 3.3rem);
    flex-direction: column;
    align-items: center;
    gap: clamp(0.6rem, 0.6vw, 1rem);
    border-radius: clamp(1.3rem, 1.3vw, 2.5rem);
    margin: 0;
    min-width: 100%;
    box-shadow: none;
}

div#sidebar {
    & div#button_1 a {
        background: var(--blue);
        display: block;
        position: relative;
        overflow: hidden;
        border-radius: clamp(1.3rem, 1.3vw, 2.5rem);
    }

    & img#sidebar_button1 {
        opacity: 0.5;
        display: block;
        width: 100%;
        height: auto;
    }

    & span.button_title {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        background: linear-gradient(90deg, var(--orange), transparent);
        height: 100%;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 2rem;
        flex-direction: column;
        padding: 5rem;
        color: #FFF;
        text-align: center;
        font-size: clamp(1.7rem, 1.7vw, 3rem);
        font-weight: 800;
        line-height: 1.15;

        & span {
            color: #FFF;
            text-align: center;
            font-size: clamp(1.3rem, 1.3vw, 2rem);
            font-weight: 300;
            line-height: 1;
        }

        &:hover {
            background: linear-gradient(90deg, var(--d-red), transparent);

        }
    }
}

div#last_review h2 {
    color: var(--blue);
    text-align: center;
    font-size: clamp(1.4rem, 1.4vw, 2.5rem);
    font-weight: 800;
    text-transform: uppercase;
}

a.excerp_imgt {
    border-radius: 25px;
    overflow: hidden;
    display: block;
    background: var(--blue);

    & img {
        display: block;
        max-width: 100%;
        height: auto;
    }

    &:hover img {
        opacity: 0.5;
    }
}

article.excerpt {
    display: flex;
    flex-direction: column;
    gap: clamp(1.1rem, 1.1vw, 2rem);
}

.excerp_date {
    color: var(--d-red);
    font-size: clamp(1.3rem, 1.3vw, 1.8rem);
    font-weight: 600;
    line-height: 1;
}

a.excerp_title {
    color: var(--blue);
    line-height: 1;
    font-size: clamp(1.4rem, 1.4vw, 2.5rem);

    &:hover {
        color: var(--d-red);
    }
}

div#content {
    flex-grow: 1;
}

main .excerp_content :is(p, div, li) {
    color: var(--font);
    font-size: clamp(1.3rem, 1.3vw, 1.6rem);
    line-height: 1.4;
}

#articles a.read-more {
    display: inline-flex;
    height: clamp(2.5rem, 2.5vw, 4.5rem);
    padding: 0 clamp(2.4rem, 2.4vw, 4.4rem);
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: clamp(1.3rem, 1.3vw, 2.5rem);
    background: var(--blue);
    color: #FFF;
    text-align: center;
    font-size: clamp(1.3rem, 1.3vw, 1.6rem);
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;

    &:hover {
        color: #FFF;
        background: var(--d-red);
    }
}

div#sidebar div#last_review {
    text-align: center;
}

div#partners_section {
    padding: min(16rem, 8.8vw);
}

h2#partner_title {
    color: var(--l-blue);
    text-align: center;
    font-size: clamp(1.4rem, 1.4vw, 2rem);
    font-weight: 300;
}

div#partners {
    display: flex;
    gap: clamp(4.4rem, 4.4vw, 8rem);
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    & img {
        max-width: clamp(14.3rem, 14.3vw, 26rem);
        width: auto;
        max-height: clamp(5.5rem, 5.5vw, 10rem);
        height: auto;
    }
}

footer#colophon {
    background-image: url(assets/images/footerbg.avif);
    background-position: bottom left;
    background-repeat: no-repeat;
    background-color: var(--blue);
    background-size: contain;
    border-radius: 100px 100px 0 0;
    padding: min(12rem, 6.6vw) min(32rem, 17.6vw) min(6rem, 3.3vw);
}

a#footer_logo {
    width: clamp(19.5rem, 19.5vw, 35.5rem);
    height: auto;
    display: block;
    margin: auto;

    & img {
        max-width: 100%;
        height: auto;
    }
}

div#footer_button_title {
    color: #FFF;
    text-align: center;
    font-size: clamp(1.4rem, 1.4vw, 2rem);
    font-weight: 500;
    padding-top: clamp(1.3rem, 1.3vw, 2.4rem);
}

div#footer_buttons {
    display: flex;
    flex-direction: column;
    gap: clamp(1.3rem, 1.3vw, 2.4rem);

    & a {
        display: flex;
        padding: clamp(0.6rem, 0.6vw, 1.2rem) clamp(2.4rem, 2.4vw, 4.4rem);
        flex-direction: column;
        justify-content: center;
        align-items: center;
        border-radius: clamp(12.1rem, 12.1vw, 22rem);
        background: #FFF;
        color: var(--blue);
        text-align: center;
        font-size: clamp(1.3rem, 1.3vw, 1.6rem);
        font-weight: 600;
        text-transform: uppercase;
        margin: auto;

        &:hover {
            background: var(--blue-green);
            color: #fff;
        }
    }
}

ul#footer_quick_nav {
    list-style: none;
    margin: 0;
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
    padding: clamp(2.8rem, 2.8vw, 5rem);
    gap: clamp(2.8rem, 2.8vw, 5rem);

    & a {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: clamp(0.8rem, 0.8vw, 1.5rem);

        & span {
            color: #FFF;
            text-align: center;
            font-size: clamp(1.3rem, 1.3vw, 2rem);
            font-weight: 500;/
        }

        & svg {

            width: 2.5rem;
            height: 2.5rem;

            & path {
                fill: #fff;
            }
        }

        &:hover {
            & span {
                color: var(--blue-green);
            }

            & svg path {
                fill: var(--blue-green);
            }
        }

        &:after {
            content: '';
            width: 4rem;
            height: 0.2rem;
            background: #fff;
        }
    }
}

div#footer_addresses {
    padding: clamp(3.9rem, 3.9vw, 7rem) clamp(1.7rem, 1.7vw, 3rem);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-around;
    border-top: solid #fff3;
    border-bottom: solid #fff3;
    gap: clamp(1.7rem, 1.7vw, 3rem);
    margin-bottom: clamp(2.2rem, 2.2vw, 4rem);
}

.footer_address {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(0.6rem, 0.6vw, 1rem);
}

.address_name {
    color: #FFF;
    text-align: center;
    font-size: clamp(1.4rem, 1.4vw, 2rem);
    font-weight: 500;
    line-height: 1.25;
}

.address_address {
    color: #FFF;
    text-align: center;
    font-size: clamp(1.4rem, 1.4vw, 2rem);
    font-weight: 300;
    line-height: 1.25;
}

.address_phone {
    color: #FFF;
    text-align: center;
    font-size: clamp(1.4rem, 1.4vw, 2rem);
    font-weight: 700;
    line-height: 1.25;
}

.address_socials {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;

    & path {
        fill: #fff;
    }

    & a:hover path {
        fill: var(--blue-green);
    }
}

ul#menu-mentions-menu {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;

    & a {
        color: #FFF;
        font-size: 1.4rem;
        font-weight: 300;

        &:hover {
            color: var(--blue-green);
        }
    }
}

main {
    & h1 {
        color: var(--blue);
        font-size: clamp(2.2rem, 2.2vw, 4rem);
        font-weight: 700;
        line-height: 1;
    }

    & h2 {
        color: var(--blue);
        font-size: clamp(1.7rem, 1.7vw, 3rem);
        font-weight: 400;
        line-height: 1.3;
    }

    & h3 {
        color: #87313A;
        font-size: clamp(2.3rem, 2.3vw, 2rem);
        font-weight: 600;
        line-height: 1.3;
        text-transform: uppercase;
    }

    & p,
    & div,
    & li {
        color: var(--font);
        font-size: clamp(1.3rem, 1.3vw, 1.8rem);
        font-weight: 400;
        line-height: 1.7;
    }

    & a {
        color: var(--blue-green);

        &:hover {
            color: var(--orange);
        }
    }
}

div#articles {
    display: flex;
    justify-content: flex-start;
    gap: clamp(1.8rem, 1.8vw, 3.2rem);
    flex-wrap: wrap;
    margin-top: clamp(4.4rem, 4.4vw, 8rem);

    & article.excerpt {
        width: clamp(16.6rem, 16.6vw, 32rem);
    }

}

.slider-single-bien {
    border-radius: clamp(1.4rem, 1.4vw, 2.5rem);
    display: block;
    max-width: 100%;
    height: auto;
}

.slider-main-biens .slide a {
    display: block;
}

.slider-main-biens .slide {
    background: transparent;
}

.slider-nav-biens .slick-track {
    margin: 0;
}

.ref_bien {
    margin-bottom: clamp(1.7rem, 1.7vw, 3rem);
    color: var(--blue);
    font-size: clamp(1.4rem, 1.4vw, 2rem);
    font-weight: 700;
    line-height: 1.4;/ text-transform: uppercase;
}

.photos-bien {
    margin-bottom: clamp(2.2rem, 2.4vw, 4rem);
}

.infos-bien,
.long_description {
    border-bottom: solid 1px #E3E3E3;
}

.pieces-et-surface {
    color: var(--blue);
    font-size: clamp(1.4rem, 1.4vw, 2rem);
    font-weight: 800;
    line-height: 1.4;
    text-transform: uppercase;
}

.commune-bien {
    color: var(--l-blue);
    font-size: clamp(1.4rem, 1.4vw, 2rem);
    font-weight: 400;
    line-height: 1.4;
    text-transform: uppercase;
}

.prix-bien {
    color: var(--l-blue);
    font-size: clamp(2.6rem, 2.6vw, 4.8rem);
    font-weight: 700;
}

.content-list-bien {
    margin: 0;
    padding: 0;
    gap: clamp(0.9rem, 0.9vw, 1.6rem);
}

.content-list-bien article a.btn-bien,
.content-list-bien article img {
    border-radius: 0;
    display: block;
    max-width: 100%;
    height: auto;
}

body:not(.home) .content-list-bien article {
    max-width: calc(33.3% - clamp(0.6rem, 0.6vw, 1.1rem));
}

div#main {
    flex-grow: 1;
}

.content-list-bien article {
    & .ref {
        color: var(--blue);
        font-size: clamp(1.4rem, 1.4vw, 2rem);
        font-weight: 700;
        line-height: 1.35;
        text-transform: uppercase;
    }

    & .entry-title {
        margin: 0;

        & a {
            color: var(--blue);
            font-size: clamp(1.4rem, 1.4vw, 2rem);
            line-height: 1;
            text-transform: uppercase;
            display: inline-block;

            &:hover {
                color: var(--blue-green);
            }
        }
    }

    & .prix-bien {
        color: var(--bmue);
        font-size: clamp(2.8rem, 2.8vw, 5rem);
        font-weight: 700;
        line-height: 1;
    }

    & .localisation-bien {
        color: var(--d-red);
        font-size: clamp(1.4rem, 1.4vw, 2rem);
        font-weight: 700;
        line-height: 1.35;
        text-transform: uppercase;
    }
}

.hover-content {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
    top: 0;
    transform: unset;

    & .share-icons a {
        background: var(--blue);

        & path {
            fill: #fff;
        }

        &:hover {
            background: var(--blue-green);
        }
    }
}

.supsystic-social-sharing {
    position: absolute;
    bottom: 0;
    right: 0;
}

body.single .descritif-bien .sharing>a {
    & svg {
        width: clamp(2rem, 2vw, 3.6rem);

        & path {
            fill: var(--blue);

        }

    }

    &:hover svg path {
        fill: var(--d-red);
    }
}

.thumbnail-biens {
    position: relative;
}

.nav-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(0.6rem, 0.6vw, 1rem);

    & span.page-numbers.current {
        color: var(--d-red);
        font-size: clamp(1.7rem, 1.7vw, 3rem);
        font-weight: 600;
    }

    & a {
        color: var(--blue);
        font-size: clamp(1.7rem, 1.7vw, 3rem);
        font-weight: 600;

        & svg {

            width: 3.5rem;
            display: block;
            fill: var(--blue);
        }

        &:hover {
            color: var(--blue-green);

            & svg {
                fill: var(--blue-green);
            }
        }
    }

}

div#quick_nav {
    display: flex;
    gap: clamp(0.7rem, 0.7vw, 1.2rem);
    align-items: center;
    justify-content: center;
    margin-top: clamp(-6rem, -6vw, -3.3rem);
    margin-bottom: clamp(8.8rem, 8.8vw, 16rem);
}

a.quick_nav_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: clamp(14.3rem, 14.3vw, 26rem);
    aspect-ratio: 1;
    border-radius: 50%;
    gap: min(1.1vw, 2rem);

    & path {
        fill: #fff;
    }

    &>svg {
        height: clamp(1.5rem, 1.5vw, 2.7rem);
    }
}

span.quick_nav_icon {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: clamp(5rem, 5vw, 9rem);
    height: clamp(5rem, 5vw, 9rem);

    & span.quick_nav_arc {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;

        & svg {
            height: clamp(2.6rem, 2.6vw, 4.8rem);
            width: auto;
        }
    }

    &>svg {
        width: clamp(2.8rem, 2.8vw, 5rem);
        hieght: clamp(2.8rem, 2.8vw, 5rem);
    }
}

a.quick_nav_item:nth-child(1) {
    & .quick_nav_arc {
        transform: rotate(45deg);
    }

    &:hover .quick_nav_arc {
        transform: rotate(225deg);
    }
}

a.quick_nav_item:nth-child(2) {
    & .quick_nav_arc {
        transform: rotate(135deg);
    }

    &:hover .quick_nav_arc {
        transform: rotate(315deg);
    }
}

a.quick_nav_item:nth-child(3) {
    & .quick_nav_arc {
        transform: rotate(180deg);
    }

    &:hover .quick_nav_arc {
        transform: rotate(360deg);
    }
}

a.quick_nav_item:nth-child(4) {
    & .quick_nav_arc {
        transform: rotate(-135deg);
    }

    &:hover .quick_nav_arc {
        transform: rotate(45deg);
    }
}

a.quick_nav_item:nth-child(5) {
    & .quick_nav_arc {
        transform: rotate(-45deg);
    }

    &:hover .quick_nav_arc {
        transform: rotate(135deg);
    }
}

a.quick_nav_item:nth-child(6) {
    & span.quick_nav_arc {
        transform: rotate(0Deg);
    }

    &:hover .quick_nav_arc {
        transform: rotate(180deg);
    }
}

span.quick_nav_title {
    color: #FFF;
    text-align: center;
    font-size: clamp(1.2rem, 1.2vw, 2rem);
    font-weight: 800;
    line-height: 1.1;
    text-transform: uppercase;
    min-height: clamp(2.8rem, 2.8vw, 5rem);
    display: flex;
    align-items: center;
    justify-content: center;
}

.content-list-bien.slick {
    flex-wrap: nowrap;
    max-width: 100%;
    overflow: hidden;

    & article {
        flex-shrink: 0;
    }
}

.content-list-bien article {
    max-width: 38.8rem;
}

.content-list-bien .slick-list article {
    max-width: unset;
}

.slick-list.draggable {
    max-width: 100%;
}

.header-list-bien {
    display: flex;
    justify-content: space-between;
    align-items: center;

    & h2 {
        color: var(--blue);
        font-size: clamp(2.2rem, 2.2vw, 4rem);
        font-weight: 800;
        line-height: 1;
        text-transform: uppercase;
    }

    & a {
        display: inline-flex;
        padding: clamp(0.9rem, 0.9vw, 1.6rem) clamp(1.3rem, 1.3vw, 2.4rem);
        flex-direction: column;
        justify-content: center;
        align-items: center;
        border-radius: 200px;
        background: var(--blue);
        color: #FFF;
        text-align: center;
        font-size: clamp(1.2rem, 1.2vw, 1.6rem);
        font-weight: 600;
        line-height: 1;
        text-transform: uppercase;

        &:hover {
            background: var(--d-red);
        }

    }
}

div.home_button {
    position: relative;
    padding-bottom: clamp(3.3rem, 3.3vw, 6rem);

    & a {
        display: flex;
        justify-content: flex-end;
        border-radius: 1000px;
        overflow: hidden;
        background: var(--blue);
        position: relative;

        & span.button_img {
            display: block;
            position: relative;

            & img {
                display: block;
                width: clamp(41rem, 41vw, 75rem);
                height: auto;
                position: relative;
                z-index: 1;
                opacity: 0.5;
            }

            &:after {
                content: "";
                display: block;
                height: 100%;
                width: 100%;
                position: absolute;
                left: 0;
                top: 0;
                background: linear-gradient(90deg, var(--blue), transparent);
                z-index: 2;
            }
        }

        & span#button2_img:after {
            background: linear-gradient(90deg, var(--orange), transparent);
        }

        & span.button_title {
            position: absolute;
            display: flex;
            flex-direction: column;
            gap: clamp(0.9rem, 0.9vw, 1.7rem);
            height: 100%;
            width: 100%;
            top: 0;
            left: 0;
            padding-left: clamp(12.1rem, 12.1vw, 22rem);
            align-items: flex-start;
            justify-content: center;
            color: #FFF;
            font-size: cmap(2.5rem, 2.5vw, 4.5rem);
            font-weight: 800;
            z-index: 3;

            & span {
                color: #FFF;
                font-size: clamp(1.9rem, 1.9vw, 3.5rem);
                font-weight: 300;

            }
        }

        &:hover {
            & span.button_img img {
                opacity: 1;
            }

            & span.button_title {
                padding-left: clamp(6rem, 6vw, 11rem);
            }
        }
    }
}

div#home_button_2 a {
    background: var(--orange);
}

div#pannel_biens {
    background-image: url(assets/images/pattern01.avif);
    background-position: bottom left;
    background-repeat: no-repeat;
    background-size: 60%;
    padding: 0 clamp(8.8rem, 8.8vw, 16rem) clamp(16.5rem, 16.5vw, 30rem);
}

div#triptych {
    position: relative;
}

div#buttons_top {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;

    &>div {
        width: 50%;
        position: relative;
        overflow: hidden;

        & img {
            display: block;
            width: 100%;
            height: auto;
        }

        & .content {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(270deg, rgba(0, 0, 0, 0.00) 16.51%, rgba(0, 0, 0, 0.40) 83.07%), url(<path-to-image>);
            padding: min(10rem, 5.5vw) min(16rem, 8.8vw);
            display: flex;
            align-items: flex-start;
            justify-content: flex-end;
            flex-direction: column;

            & h2 {
                color: #FFF;
                font-size: clamp(2.5rem, 2.5vw, 4.5rem);
                font-weight: 900;
                line-height: 1;
                text-transform: uppercase;
                margin: clamp(1.1rem, 1.1vw, 2rem) 0;

                & :is(strong, b) {
                    background: var(--orange);
                }
            }

            & :is(div, p, li) {
                color: #FFF;
                font-size: clamp(1.4rem, 1.4vw, 1.8rem);
                font-weight: 400;
                line-height: 1.2;
            }
        }
    }
}

div#button_1 {
    border-radius: clamp(5.5rem, 5.5vw, 10rem) 0 0 0;
}

div#button_2 {
    border-radius: 0 clamp(5.5rem, 5.5vw, 10rem) 0 0;
}


div#button3 {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;

    &>div {
        width: 50%;

        & img {
            display: block;
            width: 100%;
            height: auto;
        }

        & h2 {
            color: var(--orange);
            font-size: clamp(1.4rem, 1.4vw, 2.5rem);
            font-weight: 500;
            line-height: 1;

            & span {
                display: block;
                color: var(--d-red);
                font-size: clamp(2.2rem, 2.2vw, 4rem);
                font-weight: 800;
                line-height: 1;
                text-transform: uppercase;
            }
        }

        &.left {
            padding: 0 clamp(8.8rem, 8.8vw, 16rem);
        }

        & .button_list {
            display: flex;
            gap: clamp(1.4rem, 1.4vw, 2.5rem);

            & a {
                padding: clamp(0.9rem, 0.9vw, 1.7rem) clamp(1.3rem, 1.3vw, 2.4rem);
                border-radius: 200px;
                background: var(--d-red);
                color: #FFF;
                text-align: center;
                font-size: clamp(1.3rem, 1.3vw, 1.6rem);
                font-weight: 600;
                line-height: 1;
                text-transform: uppercase;

                &:hover {
                    background: var(--orange);
                }
            }
        }
    }
}

div#triptych_banner {
    padding: clamp(6.6rem, 6.6vw, 12rem) clamp(8.8rem, 8.8vw, 16rem) clamp(8.3rem, 8.3vw, 15rem);

    &:after {
        content: "";
        position: absolute;
        width: 100%;
        height: clamp(27.5rem, 27.5vw, 50rem);
        display: block;
        background: var(--blue);
        border-radius: clamp(5.5rem, 5.5vw, 10rem) clamp(5.5rem, 5.5vw, 10rem) 0 0;
        bottom: 0;
        left: 0;
    }
}

h2#triptych_banner_title {
    color: var(--orange);
    font-size: clamp(1.4rem, 1.4vw, 2.5rem);
    font-weight: 500;
    line-height: 1;

    & span {
        display: block;
        color: var(--blue);
        font-size: clamp(2.2rem, 2.2vw, 4rem);
        font-style: normal;
        font-weight: 800;
        line-height: 1.1;
        text-transform: uppercase;
    }
}

div#triptych_content {
    border-radius: clamp(4.1rem, 4.1vw, 7.5rem);
    overflow: hidden;
    position: relative;
    z-index: 2;


    & img {
        width: 100%;
        height: auto;
        display: block;
    }

    & .content {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(270deg, rgba(0, 0, 0, 0.00) 16.51%, rgba(0, 0, 0, 0.40) 83.07%), url(<path-to-image>);
        padding: clamp(5.5rem, 5.5vw, 10rem) clamp(8.8rem, 8.8vw, 16rem);
        display: flex;
        align-items: flex-start;
        justify-content: flex-end;
        flex-direction: column;

        & #baseline {
            color: #FFF;
            font-size: clamp(1.4rem, 1.4vw, 2.5rem);
        }

        & h3 {
            color: #FFF;
            font-size: clamp(3.3rem, 3.3vw, 6rem);
            font-weight: 800;
            line-height: 1;
            text-transform: uppercase;
        }

        & :is(div, p, li) {
            color: #FFF;
            font-size: clamp(1.4rem, 1.4vw, 1.8rem);
            font-weight: 400;
            line-height: 1.2;
        }
    }

}

a.triptych_button {
    margin-top: clamp(2.2rem, 2.2vw, 4rem);
    display: inline-block;
    padding: clamp(0.8rem, 0.8vw, 1.5rem) clamp(2rem, 2vw, 4rem);
    border-radius: 200px;
    background: var(--blue);
    color: #fff;
    text-align: center;
    font-size: clamp(1.4rem, 1.4vw, 1.6rem);
    font-weight: 600;
    text-transform: uppercase;

    &:hover {
        background: var(--orange);
    }
}

div#last_reviews {
    padding: min(8.8vw, 16rem) min(8.8vw, 16rem) min(5.5vw, 10rem);

    & div#articles {
        & article.excerpt {
            width: clamp(24.6rem, 24.6vw, 47.7rem);
            max-width: calc(33.3333% - 1.2rem);
        }
    }
}

iframe {
    max-width: 100%;
}

div#reviews_header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    & h2 {
        color: var(--blue);
        font-size: clamp(2.2rem, 2.2vw, 4rem);
        font-weight: 800;
        line-height: 1;
        text-transform: uppercase;
    }

    & a {
        padding: clamp(1.1rem, 1.1vw, 2rem) clamp(1.3rem, 1.3vw, 2.4rem);
        border-radius: 200px;
        background: var(--blue);
        color: #FFF;
        font-size: clamp(1.3rem, 1.3vw, 1.6rem);
        font-weight: 600;
        line-height: 1;
        text-transform: uppercase;

        &:hover {
            background: var(--d-red);
        }
    }
}

div#content_front_page {
    background-image: url(assets/images/pattern02.avif);
    background-position: top right;
    background-repeat: no-repeat;
    background-size: 60%;
    padding: clamp(8.8rem, 8.8vw, 16rem) clamp(22rem, 22vw, 40rem);

    & #home_name {
        color: var(--blue);
        text-align: center;
        font-size: clamp(1.9rem, 1.9vw, 3.5rem);
        line-height: 1;
    }

    & h2 {
        color: var(--blue);
        text-align: center;
        font-size: clamp(2.7rem, 2.7vw, 5.0rem);
        font-weight: 800;
        line-height: 1.1;
        text-transform: uppercase;
    }

    & :is(p, div, li) {
        color: #162548;
        text-align: center;
        font-size: clamp(1.3rem, 1.3vw, 1.8rem);
        font-weight: 400;
        line-height: 1.7;

        & a {
            color: var(--orange);
        }
    }
}

#google_reviews {
    padding: 0 clamp(8.8rem, 8.8vw, 16rem);

}

@media(max-width: 767px) {
    div#top_nav {
        height: auto;
        padding: 1rem;
        flex-wrap: wrap;
        justify-content: center;
        gap: 2rem;
    }

    a#mini_logo,
    a#nav_logo {
        display: none;
    }

    ul#quick_nav {
        & .quick_nav_item {
            &>:is(a, span) {
                height: auto;
                width: auto;
                padding: 0.8rem 1.7rem;
                border-radius: 3rem;
            }

            & svg {
                flex-shrink: 0;
            }
        }
    }

    div#block_menu {
        padding: 5.5rem 1rem;
        flex-wrap: wrap;
        overflow: auto;
        height: 100vh;
    }

    div#home_banner_content {
        flex-direction: row;
        gap: 0;
    }

    main {
        flex-direction: column-reverse;
        align-items: center;
        justify-content: center;
        padding: 2rem;
    }

    div#sidebar,
    div#articles article.excerpt {
        width: 32rem;
        max-width: 100%;
    }

    div#articles {
        justify-content: center;
    }

    .content-list-bien {
        display: flex;
        flex-wrap: wrap;
    }

    body:not(.home) .content-list-bien article {
        max-width: calc(50% - clamp(0.6rem, 0.6vw, 1.1rem));
    }

    div#content {
        max-width: 100%;
    }

    div#quick_nav {
        flex-wrap: wrap;
    }

    div#pannel_biens {
        padding: 0 2rem 2rem;
    }

    div#buttons_top>div {
        width: 100%;
    }

    div#button_2 {
        border-radius: 0 0 clamp(5.5rem, 5.5vw, 10rem) 0;
    }

    div#button3>div {
        width: 100%;

    }

    div#button3>div img {
        display: none;
    }

    div#triptych_banner {
        padding: 2rem;
    }

    div#triptych_content .content {
        padding: 2rem 3rem;
    }

    div#last_reviews div#articles article.excerpt {
        width: 100%;
        max-width: 47.7rem;
    }

    div#content_front_page {
        padding: 2rem;
    }
}



@media(max-width: 424px) {
    div#home_banner_content {
        flex-direction: column;
    }

    body:not(.home) .content-list-bien article {
        max-width: 100%;
    }

    div.home_button a span.button_title {
        padding-left: 2rem;
    }

}

#slick_container_single_bien {
    overflow: unset;
}

.slick-prev:before,
.slick-next:before {
    color: var(--blue);
}


.content-list-bien article.bien-en-vente .thumbnail-biens:before,
body.single-bien-en-vente article.bien-en-vente.vendu .slider-main-biens a:before,
.content-list-bien article.bien-en-location:before {
    content: "";
}

div#block_menu {
    padding: clamp(5.5rem, 5.5vw, 10rem) 0;
}


.content-list-bien article.bien-en-vente.exclu .thumbnail-biens:after,
body.single-bien-en-vente article.bien-en-vente.exclu .slider-main-biens a:after,
.content-list-bien article.bien-en-vente.semi-exclu .thumbnail-biens:after,
body.single-bien-en-vente article.bien-en-vente.semi-exclu .slider-main-biens a:after {
    content: 'Exclusivité !';
    background: linear-gradient(45deg, var(--orange), var(--red));
    color: #fff;
}

.flex-contact {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;

    & p {
        flex-grow: 1;
        margin: 0;
        & :is(input, span, select, textarea, label) {
            width: 100%;
            display: block;
        }

    }
}