@import url(https://fonts.googleapis.com/css2?family=Bellota:wght@400&family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap);

body {
    color: var(--main_color);
    font-family: "Montserrat"
}

.bellota {
    font-family: "Bellota"
}

#top_header {
    font-size: 20px
}

#top_menu img[alt=Logo] {
    /* max-width: 330px; */
    position: relative;
    z-index: 90
}

#top_menu {
    -webkit-background-size: cover;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 1000px;
    position: relative;
    background-blend-mode: color;
    background-color: rgba(255, 255, 255, 0.4);
}

#top_menu::after, #trigger_menu {
    position: absolute;
    background-size: contain;
    background-repeat: no-repeat;
    height: 100px;
    z-index: 99
}

#top_menu::after {
    content: '';
    top: 40px;
    left: 40px;
    background-image: url(../images/template/logo.svg);
    -webkit-background-size: contain;
    width: 250px
}

#trigger_menu {
    right: 0;
    top: 50px;
    background-image: url(../images/template/hexa-violet.svg);
    background-position: center;
    width: 100px;
    color: #fff;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    cursor: pointer;
    font-family: "Bellota"
}

#menu {
    background: #fff;
    padding: 20px 50px;
    color: var(--main_color);
    font-size: 20px;
    position: absolute;
    right: 50px;
    top: 100px;
    z-index: 98;
    font-family: "Montserrat"
}

#menu, #moteur_recherche .noUi-handle:after, #moteur_recherche .noUi-handle:before, #trigger_menu .fas.fa-times {
    display: none
}

#menu a {
    padding-bottom: 10px !important;
    padding-top: 10px !important
}

#menu a:not(:last-child) {
    border-bottom: 1px solid var(--main_color)
}

#listing_biens #listing_biens_container, #moteur_recherche {
    padding: 0
}

#inner_moteur_recherche {
    background-color: rgba(255, 255, 255, .8);
    padding: 20px 60px;
    border-radius: 10px;
    margin: 100px auto 50px;
    min-width: 950px;
    position: relative;
    z-index: 90
}

.custom-control-input:checked ~ .custom-control-label::before {
    color: #fff;
    border-color: var(--second_color);
    background-color: var(--second_color)
}

#moteur_recherche_col_radios_type, #moteur_recherche_col_slider_prix {
    margin: 15px 0
}

#moteur_recherche .btn_vente_location, #moteur_recherche input[type=number], #moteur_recherche select {
    border-radius: 5px;
    margin-top: 15px;
    margin-bottom: 15px
}

#moteur_recherche input[type=number], #moteur_recherche select {
    border: 1px solid var(--main_color);
    height: 40px
}

#moteur_recherche .noUi-horizontal {
    height: 10px
}

#moteur_recherche .noUi-handle {
    border: 0;
    background: var(--second_color);
    cursor: default;
    box-shadow: none;
    border-radius: 50%;
    height: 15px;
    width: 15px;
    outline: 0;
    right: -8px;
    top: -3px
}

#moteur_recherche .noUi-connect {
    background: var(--main_color)
}

#moteur_recherche .noUi-tooltip {
    display: none
}

#moteur_recherche .noUi-active .noUi-tooltip {
    display: block
}

.btn_vente_location.btn_vente_location_active, .btn_vente_location:hover {
    background-color: var(--second_color) !important;
    color: var(--main_color) !important;
    cursor: pointer
}

#listing_biens {
    background-color: #fff;
    overflow: hidden;
    background-image: none
}

#actu_detail h1, #annonce_detail h1, #estimation h1, #listing_biens h1, #listing_carrière h1, #listing_news h1, #page_texte h1, #inscription_newsletter h1, #contact h1, h2 {
    font-size: 70px
}

#listing_biens #select_tri {
    color: var(--main_color);
    border-color: var(--second_color)
}

#listing_biens #row_tri {
    margin-bottom: 150px
}

.annonce_listing_projet_col_droite::after, .annonce_listing_ref {
    position: absolute;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center
}

.annonce_listing_ref {
    left: 50%;
    margin-left: -50px;
    top: -70px;
    background-image: url(../images/template/hexa_blanc.svg);
    height: 100px;
    width: 100px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column
}

.annonce_listing_ville {
    font-weight: 500;
    font-size: 30px
}

.annonce_listing_nature {
    font-weight: 400;
    font-size: 22px
}

.tiret {
    margin: 0 4px
}

#listing_biens .annonce_listing_image_projet {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 100%
}

#listing_biens .annonce_listing_image_projet.annonce_listing_image_empty {
    background-size: 80% 80%;
}

#listing_biens .annonce_listing_projet_col_droite {
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-color: var(--second_color)
}


#listing_biens .annonce_listing_projet_description {
    padding-right: 50px;
    text-align: justify
}

.annonce_listing_bottom {
    background-image: url(../images/template/pointe_bloc.svg);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center 60px;
    padding-bottom: 60px
}

.annonce_listing_projet_col_droite {
    position: relative
}

.annonce_listing_projet_col_droite::after {
    content: '';
    top: -1px;
    bottom: 0;
    width: 254px;
    background-image: url(../images/template/pointe_droite_plus.svg);
    height: calc(100% + 2px);
    z-index: 99;
    left: 80%
}

.annonce_listing_projet_description {
    font-size: 22px
}

.annonce_listing {
    margin-bottom: 150px
}
.avancement_listing {
    margin-bottom: 100px
}

.annonce_listing::after {
    display: none
}

#top_menu .sy-box {
    position: absolute;
    z-index: 80;
    top: 0;
    right: 0;
    left: 0;
    height: 100%
}

#top_menu .sy-box .sy-slide {
    height: 100%
}

#top_menu .sy-box .sy-slide img {
    object-fit: cover;
    height: 100%
}

#top_menu .sy-pager {
    margin-top: -50px;
    position: relative;
    z-index: 90
}

#annonce_detail #annonce_detail_type, #annonce_detail h4 {
    font-size: 30px;
    font-weight: 500;
    border-bottom: 2px solid var(--main_color)
}

#annonce_detail h4 {
    color: var(--second_color);
    text-transform: uppercase;
    font-size: 34px;
    padding-bottom: 20px;
    margin-bottom: 20px;
    font-weight: 400
}

#annonce_detail #annonce_detail_prix {
    font-size: 45px;
    font-weight: 500
}

#annonce_detail .detail_car {
    border: 0;
    font-size: 24px;
    font-weight: 400
}

#annonce_detail #annonce_detail_description {
    font-weight: 500
}

.annonce_bandeau_statut_detail {
    z-index: 999;
    position: absolute;
    bottom: 80px;
    padding: 8px 15px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 28px;
}

#annonce_detail #annonce_detail_form_contact input[type=email], #annonce_detail #annonce_detail_form_contact input[type=text], #annonce_detail #annonce_detail_form_contact textarea {
    border: 1px solid var(--main_color);
    color: var(--main_color)
}

#annonce_detail #container_detail_social, .cv > input {
    display: none
}

#home_intro {
    background-color: #e8e4ed;
    background-image: url(../images/template/fleche_blanche_hp.svg);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: 30px
}

#col_texte_hp, #home_intro {
    padding-bottom: 100px
}

#home_services {
    background-color: #e8e4ed;
    padding-top: 100px
}

#home_services_last {
    background-color: #fff;
    background-image: url(../images/template/fleche_rose_hp.svg);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    /*padding-bottom: 100px*/
    padding-bottom: 310px;
}

.sections_hp_sliders:nth-child(even) {
    background-color: #fff
}

#slick_coup_coeur .annonce_listing_bottom {
    background-position: center 40px;
    padding-bottom: 140px;
    background-image: url(../images/template/pointe_bloc_plus.svg)
}

#slick_coup_coeur .annonce_listing {
    margin-bottom: 0
}

#slick_coup_coeur .annonce_listing_prix {
    font-size: 32px;
    font-weight: 400
}

#slick_coup_coeur .annonce_listing_ville {
    font-size: 32px;
    text-transform: initial
}

#slick_coup_coeur .annonce_listing_nature {
    font-size: 18px
}

.listing_offre_contrat, .listing_offre_titre {
    font-size: 24px
}

.offre_image_plus {
    position: relative;
    top: -20px
}

#offre_form, .offre_listing_bottom {
    -webkit-background-size: cover;
    background-size: contain;
    background-position: top center;
    background-repeat: no-repeat
}

.offre_listing_bottom {
    background-image: url(../images/template/pointe_bloc_plus.svg);
    min-height: 325px
}

#actu_detail h2 {
    font-weight: lighter
}

#offre_form {
    background-color: #f3f0f7;
    padding-top: 200px;
    background-image: url(../images/template/fleche_form_offre.svg)
}

.listing_avan_titre {
    font-weight: lighter;
    font-size: 28px
}

@media (max-width: 768px) {
    .listing_avan_titre {
        font-size: 16px
    }
}

#listing_news .listing_news_titre {
    font-weight: lighter;
    font-size: 28px
}

#listing_news .listing_news_image {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 100%;
    background-color: #efefef;
    border: 1px solid var(--second_color);
}

.listing_avan_image {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 100%;
    background-color: #efefef;
    border: 1px solid var(--second_color);
}

@media (max-width: 768px) {
    .listing_avan_image {
        width: 312px;
        height: 172px;
    }
}

@media (min-width: 769px) {
    .bloc-avancement {
        height: 369px;
    }
}

.modal-avan-vid {
    text-align: center;
    height: 76vh;
    display: none;
}

@media (max-width: 769px) {
    .modal-avan-vid {
        height: 30vh;
        margin: 50% 0;
    }
}

#listing_news .actu_col_droite {
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-color: var(--second_color)
}

#listing_news .avan_col_droite {
    border-top: 1px solid;
    border-right: 1px solid;
    border-bottom: 1px solid;
    border-color: var(--second_color);
    border-radius: 0 3% 3% 0;
}

@media (max-width: 768px) {
    #listing_news .avan_col_droite {
        border-top: 1px solid;
        border-right: 1px solid;
        border-left: 1px solid;
        border-bottom: 1px solid;
        border-color: var(--second_color);
        border-radius: 3%;
    }
}

#listing_news .avan_col_gauche {
    border-top: 1px solid;
    border-right: 1px solid;
    border-bottom: 1px solid;
    border-left: 1px solid;
    border-color: var(--second_color);
    border-radius: 3% 0 0 3%;
    height: 100%;
    overflow: hidden;
    text-align: center;
}

@media (max-width: 768px) {
    #listing_news .avan_col_gauche {
        border-radius: 3%;
    }
}

.texte-avancement {
    vertical-align: middle;
    display: table-cell;
}

@media (max-width: 768px) {
    .texte-avancement {
        vertical-align: middle;
        display: table-cell;
        padding: 0 5%;
    }
}

#actu_detail h1, #listing_news h2 {
    font-size: 35px;
    border-bottom: 1px solid var(--main_color);
    padding-bottom: 30px
}

#actu_detail_legal_notice {
    border-top: 1px solid var(--main_color)
}

#espace_client_login input[type="password"], #espace_client_login input[type="text"] {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    border-color: #aaa4a3;
    height: 45px;
    padding: 0.375rem 0.75rem;
    border: 1px solid #ced4da;
}

#admin_login h2 {
    font-size: 24px;
}

#footer {
    font-weight: 500
}

#logo_ci {
    max-width: 150px;
    display: inline-block;
}
#footer2 {
    background-color: var(--main_color)
}

@media (max-width: 576px) {
    #slick_coup_coeur .annonce_listing_bottom, .annonce_listing_bottom {
        min-height: 300px
    }

    #actu_detail h1, #listing_biens h1, #listing_carrière h1, #page_texte h1, h2 {
        font-size: 30px !important
    }

    #actu_detail h1, #annonce_detail h1, #estimation h1, #listing_biens h1, #listing_carrière h1, #listing_news h1, #page_texte h1, #inscription_newsletter h1, #contact h1, h2 {
        font-size: 30px;
    }

    #actu_detail h1 {
        font-size: 18px !important;
    }

    .annonce_listing {
        margin-bottom: 50px
    }

    #annonce_detail_lots .table td, #annonce_detail_lots .table th {
        white-space: nowrap;
    }

    #inner_moteur_recherche h3 {
        font-size: 18px;
    }

    #actu_detail .news_texte {
        margin-top: 40px;
    }

    #top_menu img[alt=Logo] {
        max-width: 200px;
        /* AJOUT */
        margin: 15% 0 0 0;
    }

    #menu {
        font-size: 16px
    }

    #actu_detail_titre h1 {
        font-size: 22px
    }

    #actu_detail_titre h4 {
        font-size: 14px
    }

    #actu_detail #news_texte {
        font-size: 12px
    }
}

@media (max-width: 768px) {
    .annonce_listing_bottom {
        background-position: center 40px
    }

    #top_header {
        font-size: 12px
    }

    #top_header img, #top_menu::after {
        display: none
    }

    #top_menu {
        min-height: 400px
    }

    #trigger_menu {
        top: 20px
    }

    #annonce_detail h1 {
        font-size: 20px
    }

    #annonce_detail #annonce_detail_prix {
        font-size: 25px;
        font-weight: 500
    }

    #annonce_detail #annonce_detail_type, #annonce_detail .detail_car {
        font-size: 14px
    }

    #annonce_detail h4 {
        font-size: 18px
    }

    #slick_coup_coeur .annonce_listing {
        margin-bottom: 50px
    }

    .listing_offre_titre {
        font-size: 16px
    }

    .listing_offre_contrat {
        font-size: 14px
    }

    h1 {
        font-size: 22px
    }

    .annonce_bandeau_statut_detail {
        font-size: 16px;
    }

    #home_services_last {
        padding-bottom: 100px;
    }
}


@media (max-width: 992px) {
    .annonce_listing_plus {
        width: 30px
    }

    #listing_biens img.mr-1, #slick_coup_coeur img.mr-1 {
        height: 20px
    }

    #listing_biens h1, h2 {
        font-size: 40px
    }

    #slick_coup_coeur .annonce_listing:nth-child(3) {
        display: none
    }

    #listing_biens .annonce_listing_projet_col_droite::after {
        display: none !important
    }

    #listing_biens .annonce_listing_image_projet {
        padding-bottom: 75%
    }

    #listing_news .actu_col_droite {
        border-top: 0
    }

    #contact img {
        max-width: 100% !important;
        height: auto !important;
    }
}

@media (max-width: 1200px) {
    #slick_coup_coeur .annonce_listing_ville, .annonce_listing_ville {
        font-size: 22px
    }

    #slick_coup_coeur .annonce_listing_nature, .annonce_listing_nature {
        font-size: 16px
    }

    #slick_coup_coeur .annonce_listing_prix, .annonce_listing_prix {
        font-size: 22px
    }

    #inner_moteur_recherche {
        min-width: initial
    }

    #listing_biens .annonce_listing_projet_description {
        font-size: 16px
    }

    #listing_biens .annonce_listing_projet_col_droite::after {
        width: 255px;
        left: 70%
    }
}

@media (min-width: 992px) {
    #listing_biens .annonce_listing_projet_col_droite .pl-5.pt-4.pb-4 {
        min-height: 340px;
    }
}

/* ZOOM IMAGE AVANCEMENT */

.imgAvanHover {
    cursor: pointer;
    transition: 0.3s;
}

.imgAvanHover:hover {opacity: 0.7;}

/* The Modal (background) */
.modal-avan {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    padding-top: 100px; /* Location of the box */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.9); /* Black w/ opacity */
}

/* Modal Content (image) */
.modal-avan-content {
    margin: auto;
    display: block;
    width: 80%;
    max-width: 60%;
}

/* Caption of Modal Image */
#caption-avan {
    margin: auto;
    display: block;
    width: 80%;
    max-width: 700px;
    text-align: center;
    color: #ccc;
    padding: 10px 0;
    height: 150px;
}

/* Add Animation */
.modal-avan-content, #caption-avan {
    -webkit-animation-name: zoom;
    -webkit-animation-duration: 0.6s;
    animation-name: zoom;
    animation-duration: 0.6s;
}

@-webkit-keyframes zoom {
    from {-webkit-transform:scale(0)}
    to {-webkit-transform:scale(1)}
}

@keyframes zoom {
    from {transform:scale(0)}
    to {transform:scale(1)}
}

/* The Close Button */
.close {
    position: absolute;
    top: 15px;
    right: 35px;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    transition: 0.3s;
}

.close:hover,
.close:focus {
    color: #bbb;
    text-decoration: none;
    cursor: pointer;
}

/* 100% Image Width on Smaller Screens */
@media only screen and (max-width: 700px){
    .modal-avan-content {
        width: 100%;
    }
}

/* ZOOM IMAGE AVANCEMENT */

/* CAROUSEL SLIDER AVANCEMENT */

.mySlides {display: none}
img {vertical-align: middle;}

/* Slideshow container */
.slideshow-container {
    max-width: 1000px;
    position: relative;
    margin: auto;
}

@media (max-width: 768px) {
    .slideshow-container {
        height: 197px!important;
    }
}

/* Next & previous buttons */
.prev, .next {
    cursor: pointer;
    position: absolute;
    top: 50%;
    width: auto;
    padding: 16px;
    margin-top: -22px;
    color: white!important;
    background-color: #826AB0;
    font-weight: bold;
    font-size: 18px;
    transition: 0.6s ease;
    border-radius: 0 3px 3px 0;
    user-select: none;
}

/* Position the "next button" to the right */
.next {
    right: 0;
    border-radius: 3px 0 0 3px;
}

/* On hover, add a black background color with a little bit see-through */
.prev:hover, .next:hover {
    background-color: rgba(0,0,0,0.8);
}

/* Caption text */
.text {
    color: #f2f2f2;
    font-size: 15px;
    padding: 8px 12px;
    position: absolute;
    bottom: 8px;
    width: 100%;
    text-align: center;
}

/* Number text (1/3 etc) */
.numbertext {
    color: #f2f2f2;
    font-size: 12px;
    padding: 8px 12px;
    position: absolute;
    top: 0;
}

/* The dots/bullets/indicators */
.dot {
    cursor: pointer;
    height: 15px;
    width: 15px;
    margin: 0 2px;
    background-color: #bbb;
    border-radius: 50%;
    display: inline-block;
    transition: background-color 0.6s ease;
}

.active, .dot:hover {
    background-color: #717171;
}

/* Fading animation */
.fade {
    -webkit-animation-name: fade;
    -webkit-animation-duration: 1.5s;
    animation-name: fade;
    animation-duration: 1.5s;
}

@-webkit-keyframes fade {
    from {opacity: .4}
    to {opacity: 1}
}

@keyframes fade {
    from {opacity: .4}
    to {opacity: 1}
}

/* On smaller screens, decrease text size */
@media only screen and (max-width: 300px) {
    .prev, .next,.text {font-size: 11px}
}

.tab-hover:hover {
    color: var(--second_color) !important;
}

.dropbtn {
    border: none;
    background: #ffffff;
}

.dropdown {
    position: relative;
    display: inline-block;
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: #fff;
    min-width: 160px;
    box-shadow: 2px 11px 9px 0 rgb(0 0 0 / 20%);
    z-index: 1;
}

.dropdown-content a {
    color: #66479a;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}

.dropdown-content a:hover {
    background-color: #fff;
}

.dropdown:hover .dropdown-content {
    display: block;
}

.dropdown:hover .dropbtn {
    color: #407385;
}