/**
Theme Name: WPImmo
Author: Threefourteen
Author URI: https://threefourteen.tech/
Description: WPImmo
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: wpimmo
Template: astra
*/

.ast-page-builder-template .entry-content[ast-blocks-layout] > * > *{
    max-width:100%!important;
}

.clear{
    clear:both;
}

.property-button{
    background-color:var(--ast-global-color-0);
}

/**** ARCHIVES ****/
.wpimmo-archive-title-type{
    background-color:var(--ast-global-color-0);
    color:var(--ast-global-color-5);
    margin-left:-1.5em;
    margin-right:-1.5em;
    margin-top:-1.5em;
    font-size:16px;
    font-weight:normal;
    padding:12px;
    margin-bottom:1em;
}
.wpimmo-archive-title{
    white-space:nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.wpimmo-archive-price{
    margin-top:1em;
    font-weight:bold;
    color:red;
    width:50%;
    float:left;
}

.wpimmo-archive-metas{
    margin-top:1.1em;
    width:50%;
    float:right;
}
.wpimmo-archive-metas .wpimmo-feature{
    float:right;
    font-size:14px;
    margin-left:6px;
}
.wpimmo-archive-metas .wpimmo-feature span{
}
.ast-article-inner a{
    color:#333!important;
}

.wpimmo-archive-inline-floating-tag{
    position:absolute;
    top:1em;
    right:0;
    z-index:999;
    background-color:red;
    color:#fff;
    border-radius:6px;
    padding:6px 12px;
    display:inline-block;
    text-shadow:1px -11px -2px #000;
}

/**** SINGLE ****/
.inline-floating-tag{
    background-color:red;
    color:#fff;
    border-radius:6px;
    padding:6px 12px;
    display:inline-block;
    text-shadow:1px -11px -2px #000;
}

#wpimmo-entry-map{
    width:100%;
    height:402px;
}

.entry-header-actions-buttons{
    float:right;
}
.entry-header-actions-buttons button{
    float:right;
    font-size:12px;
    padding:0px 16px;
    height:33px;
    margin-left:8px;
}

.wpimmo-entry-price{
    font-weight:bold;
    color:red;
    font-size:28px;
}

.wpimmo-entry-type{
    font-size:24px;
    font-weight:normal;
}

.wpimmo-entry-mls{
    color:#999;
}

.wpimmo-features{
    background-color:var(--ast-global-color-0);
    padding:25px;
    color:var(--ast-global-color-5);
}
.wpimmo-features .wpimmo-feature{
    width:16.666%;
    padding:12px;
    float:left;
    text-align:center;
    font-size:14px;
}
.wpimmo-features .wpimmo-feature svg path{
    fill:var(--ast-global-color-5)!important;
}
.wpimmo-features .wpimmo-feature span{
    display:block;
}

@media (max-width: 544px){
    .wpimmo-features{
        margin-top:50px;
    }
    .wpimmo-features .wpimmo-feature{
        width:33.33%;
        padding:12px;
        float:left;
        text-align:center;
        font-size:14px;
    }
}

.wpimmo-section-title{
    margin-top:1em!important;
    font-size:21px!important;
    border-bottom:1px solid var(--ast-global-color-6);
    padding:.2em 1.75em;
    position:relative;
    cursor:pointer;
}
.wpimmo-section-title:hover{
    background-color:#f3f3f3;
}
.wpimmo-section-title::before{
    content: "\2304";
    position:absolute;
    top:.1em;
    left:.5em;
    color:var(--ast-global-color-0);
}
.wpimmo-accordion-tab{
    display:block;
}

.wpimmo-entry-content-main{
    width:65%;
    margin-right:5%;
    float:left;
}
.wpimmo-entry-content-main .addenda-display{
    cursor:pointer;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.wpimmo-entry-content-main .addenda-display.expanded {
    -webkit-line-clamp: unset;
}

.wpimmo-entry-content-sidebar{
    width:30%;
    float:left;
}
.wpimmo-entry-content-sidebar .wpimmo-sidebar-title{
    background-color:#f3f3f3;
    padding:12px;
    margin:0;
    border-top-left-radius:6px;
    border-top-right-radius:6px;
    border:1px solid #D1D5DB;
    border-bottom:0px;
}

@media (max-width: 544px){
    .wpimmo-entry-price{
        font-weight:bold;
        color:red;
        font-size:21px;
    }
    .wpimmo-entry-type{
        font-size:18px;
        font-weight:normal;
    }
    .wpimmo-entry-title{
        font-size:1.5rem!important;
    }
    .wpimmo-entry-content-main{
        width:100%;
        margin-right:0px;
        float:none;
    }
    .wpimmo-entry-content-sidebar{
        width:100%;
        float:none;
        margin-top:25px;
    }
}

.wpimmo-entry-navbar{

}
.wpimmo-entry-navbar-tabs-buttons{
    float:left;
    width:70%;
}
.wpimmo-entry-navbar-tabs-buttons ul{
    list-style-type:none;
    padding:0;
    margin:0;
}
.wpimmo-entry-navbar-tabs-buttons ul li{
    float:left;
    display:block;
    width:33.3333%;
    text-align:center;
    cursor:pointer;
    padding:12px 0px;
}
.wpimmo-entry-navbar-tabs-buttons ul li.active{
    font-weight:bold;
}
.wpimmo-entry-navbar-cta{
    float:right;
    width:30%;
    text-align:center;
    background-color:var(--ast-global-color-0);
    padding:12px 0px;
    border-top-right-radius:6px;
    border-top-left-radius:6px;
}
.wpimmo-entry-navbar-cta a{
    color:#fff;
    display:block;
}

.wpimmo-tabs{

}
.wpimmo-tab{
    display:none;
    height:402px;
}
.wpimmo-tab.active{
    display:block;
}

.wpimmo-no-virtual-visit{
    height:402px;
    text-align:center;
    line-height:402px;
    color:#999;
    background-color:#e3e3e3;
}

.wpimmo-table-wrapper{
    width:100%;
    overflow-x:auto;
}

.wpimmo-table{
    width: 100%;
}
.wpimmo-table tbody{

}
.wpimmo-table tbody tr{
}
.wpimmo-table{
    border:none;
}
.wpimmo-table thead tr th{
    border:none;
    border-bottom:1px solid var(--ast-global-color-6);
    padding:.3em 1em;
    font-size:14px;
    text-align:left;
}
.wpimmo-table tbody tr td{
    border:none;
    border-bottom:1px solid var(--ast-global-color-6);
    padding:.3em 1em;
}

.wpimmo-property-broker-card{
    position:relative;
    margin-bottom:25px;
    min-height:120px;
}
.wpimmo-property-broker-card .broker-picture{
    position:absolute;
    top:0;
    left:0;
    width: 120px;
    height: 120px;
    overflow: hidden;
    border-radius:50%;
    border:1px solid #e3e3e3;
}
.wpimmo-property-broker-card .broker-picture img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.wpimmo-property-broker-card .broker-details{
    margin-left:135px;
    font-size:15px;
}
.wpimmo-property-broker-card .broker-name{
    font-weight:bold;
}

/** Gallery **/
.wpimmo-gallery{
    display:block;
    position:relative;
}
.wpimmo-gallery img{
    cursor:pointer;
}
.wpimmo-gallery .wpimmo-gallery-featured{
    width:calc(50% - 2px);
    margin-right:2px;
    float:left;
}
.wpimmo-gallery .wpimmo-gallery-featured img{
    width: 100%;
    height: 402px;
    object-fit: cover;
    object-position: center;
    border-top-left-radius:6px;
}
.wpimmo-gallery .wpimmo-gallery-images{
    width:50%;
    float:left;
}
.wpimmo-gallery .wpimmo-gallery-images img{
    width:calc(50% - 1px);
    height:200px;
    object-fit: cover;
    object-position: center;
    float:left;
}
.wpimmo-gallery .wpimmo-gallery-images img:nth-child(1){
    margin-right:2px;
    margin-bottom:2px;
}
.wpimmo-gallery .wpimmo-gallery-images img:nth-child(2){
    margin-bottom:2px;
}
.wpimmo-gallery .wpimmo-gallery-images img:nth-child(3){
    margin-right:2px;
}

/** 1 image **/
.wpimmo-gallery.wpimmo-gallery-display-1 .wpimmo-gallery-featured{
    width:100%;
    margin-right:0px;
}
/** 2 images **/
.wpimmo-gallery.wpimmo-gallery-display-2 .wpimmo-gallery-images img{
    width:100%;
    height:402px;
    object-fit: cover;
    object-position: center;
    float:left;
}
/** 3 images **/
.wpimmo-gallery.wpimmo-gallery-display-3 .wpimmo-gallery-images img{
    width:100%;
    height:200px;
    object-fit: cover;
    object-position: center;
    float:left;
}
/** 4 images **/
.wpimmo-gallery.wpimmo-gallery-display-4 .wpimmo-gallery-images img:nth-child(3){
    width:100%;
    height:200px;
    object-fit: cover;
    object-position: center;
    float:left;
}

@media (max-width: 544px){
    .wpimmo-gallery .wpimmo-gallery-featured{
        width:100%;
        margin-right:0px;
        float:none;
    }
    .wpimmo-gallery .wpimmo-gallery-featured img{
        width: 100%;
        height: 250px;
    }
    .wpimmo-gallery .wpimmo-gallery-images{
        width:100%;
        float:none;
    }
    .wpimmo-gallery .wpimmo-gallery-images img{
        width:calc(50% - 1px);
        height:100px;
        object-fit: cover;
        object-position: center;
        float:left;
    }
    /** 1 image **/
    .wpimmo-gallery.wpimmo-gallery-display-1 .wpimmo-gallery-featured{
        width:100%;
        margin-right:0px;
    }
    /** 2 images **/
    .wpimmo-gallery.wpimmo-gallery-display-2 .wpimmo-gallery-images img{
        width:100%;
        height:250px;
        object-fit: cover;
        object-position: center;
        float:left;
    }
    /** 3 images **/
    .wpimmo-gallery.wpimmo-gallery-display-3 .wpimmo-gallery-images img{
        width:100%;
        height:100px;
        object-fit: cover;
        object-position: center;
        float:left;
    }
    /** 4 images **/
    .wpimmo-gallery.wpimmo-gallery-display-4 .wpimmo-gallery-images img:nth-child(3){
        width:100%;
        height:100px;
        object-fit: cover;
        object-position: center;
        float:left;
    }
}

.wpimmo-pictures-count{
    position:absolute;
    bottom:15px;
    right:15px;
    z-index:99;
    background-color:#fff;
    border-radius:6px;
    padding:8px;
    font-size:15px;
    line-height:15px;
    cursor:pointer;
}
.wpimmo-pictures-count svg{
    margin-top:3px;
}

/** Share Modal **/
.share-property-modal-shadow{
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background-color:rgba(0,0,0,0.2);
    z-index:99;
    height:100vh;
    display:none;
    padding:0px 25px;
}
.share-property-modal{
    position:relative;
    background-color:#fff;
    border-radius:12px;
    border:1px solid #e3e3e3;
    width:100%;
    max-width:320px;
    padding:25px;
    margin:auto;
    vertical-align:middle;
}
.share-property-modal ul{
    list-style-type:none;
    padding:0;
    margin:0;
}
.share-property-modal ul li{
    display:block;
    border-bottom:1px solid #f3f3f3;
}
.share-property-modal ul li:last-child{
    border:none;
}
.share-property-modal ul li a{
    padding-top:6px;
    display:block;
    line-height:50px;
    position:relative;
    padding-left:35px;
}
.share-property-modal ul li a svg{
    position:absolute;
    top:18px;
    left:0;
}
.close-property-modal{
    position:absolute;
    top:-25px;
    right:-25px;
    background-color:#e3e3e3;
    border-radius:50%;
    cursor:pointer;
    width:26px;
    height:26px;
    text-align:center;
    line-height:26px;
}

.notification-share-copy{
    display:none;
    background-color:green;
    color:#fff;
    border-radius:12px;
    padding:6px;
}

/** Load PDF Modal **/
.load-pdf-modal-shadow{
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background-color:rgba(0,0,0,0.2);
    z-index:99;
    height:100vh;
    display:none;
    padding:0px 25px;
}
.load-pdf-modal{
    position:relative;
    background-color:#fff;
    border-radius:12px;
    border:1px solid #e3e3e3;
    width:100%;
    max-width:320px;
    padding:25px;
    margin:auto;
    vertical-align:middle;
    text-align:center;
    font-weight:bold;
}

.loader {
    width: 100%;
    height: 20px;
    background:
     linear-gradient(#000 0 0) 0/0% no-repeat
     #ddd;
    animation: l1 3s infinite linear;
    margin-top:15px;
}
@keyframes l1 {
    100% {background-size:100%}
}

/** Lightbox **/
.wpimmo-photos-lightbox{
    display:none;
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    z-index:881;
    background-color:rgba(0,0,0,0.8);
    height:100%;
    width:100%;
    max-height: 100vh;
}
.wpimmo-photos-lightbox .wpimmo-close-lightbox{
    position:absolute;
    z-index:991;
    color:#fff;
    top:25px;
    right:25px;
    cursor:pointer;
}
.wpimmo-photos-lightbox .wpimmo-photos-lightbox-container{
    height:100%;
    width:90%;
    max-height: 100vh;
    margin:auto;
    padding:2.5% 0px;
}
.wpimmo-photos-lightbox .wpimmo-photos-lightbox-container .wpimmo-photos-lightbox-container-slide{
    display:none;
}
.wpimmo-photos-lightbox .wpimmo-photos-lightbox-container .wpimmo-photos-lightbox-container-slide.active{
    display:block;
}
.wpimmo-photos-lightbox .wpimmo-photos-lightbox-container .wpimmo-photos-lightbox-container-slide img{
    height:100%;
    width:100%;
    max-height: 90vh;
    object-fit: cover;
    object-position: center;
}
.wpimmo-photos-lightbox .wpimmo-arrows-lightbox .wpimmo-arrows-lightbox-left{
    position:absolute;
    z-index:991;
    top:50%;
    margin-top:-12px;
    left:15px;
    cursor:pointer;
}
.wpimmo-photos-lightbox .wpimmo-arrows-lightbox .wpimmo-arrows-lightbox-right{
    position:absolute;
    z-index:991;
    top:50%;
    margin-top:-12px;
    right:15px;
    cursor:pointer;
}

.ast-container{
    margin:auto!important;
}

@media (max-width: 544px){
    .wpimmo-photos-lightbox .wpimmo-photos-lightbox-container{
        height:100%;
        width:90%;
        max-height: 100vh;
        margin:auto;
        padding:2.5% 0px;
        display: flex;
        align-items: center; /* Centrage vertical */
        justify-content: center; /* Centrage horizontal */
    }
    .wpimmo-photos-lightbox .wpimmo-photos-lightbox-container .wpimmo-photos-lightbox-container-slide img{
        height:auto;
        width:100%;
    }
    .ast-separate-container #content .ast-container {
        padding-left: 1.54em;
        padding-right: 1.54em;
    }
}

/*** Properties Shortcode ***/
.properties-shortcode-container{
}

.page .has-post-thumbnail .post-thumb img{
    margin-bottom:0px;
}

.ast-article-post.remove-featured-img-padding .blog-layout-4 .post-content .ast-blog-featured-section:first-child .post-thumb-img-content{
    border-top-left-radius:6px;
    border-top-right-radius:6px;
}

.ast-blog-layout-4-grid .ast-article-inner{
    border-bottom-left-radius:6px;
    border-bottom-right-radius:6px;
}

.ast-blog-layout-4-grid .ast-article-post {
    width: 33.33%;
    margin-bottom: 2em;
    border-bottom: 0;
    background-color: transparent;
}

.ast-blog-layout-4-grid .ast-article-inner .wp-post-image {
    width: 100%;
}

.ast-article-inner {
    padding: 1.5em;
}

.ast-blog-layout-4-grid .ast-row {
    display: flex;
    flex-wrap: wrap;
    flex-flow: row wrap;
    align-items: stretch;
}

.ast-separate-container .ast-blog-layout-4-grid .ast-article-post {
    padding: 0 1em 0;
}

.ast-separate-container.ast-desktop .ast-blog-layout-4-grid .ast-row {
    margin-left: -1em;
    margin-right: -1em;
}

.ast-blog-layout-4-grid .ast-article-inner {
    box-shadow: 0px 6px 15px -2px rgba(16,24,40,0.05);
}

.ast-separate-container .ast-blog-layout-4-grid .ast-article-inner,.ast-plain-container .ast-blog-layout-4-grid .ast-article-inner {
    height: 100%;
}

.ast-row .blog-layout-4 .post-content,.blog-layout-4 .post-thumb {
    padding-left: 0;
    padding-right: 0;
}

.ast-article-post.remove-featured-img-padding .blog-layout-4 .post-content .ast-blog-featured-section:first-child .post-thumb-img-content {
    margin-top: -1.5em;
}

.ast-article-post.remove-featured-img-padding .blog-layout-4 .post-content .ast-blog-featured-section .post-thumb-img-content {
    margin-left: -1.5em;
    margin-right: -1.5em;
}

@media (max-width: 921px) {
    .ast-blog-layout-4-grid .ast-article-post {
        width:100%;
    }
}

.ast-blog-layout-6-grid .ast-blog-featured-section:before {
    content: "";
}

.ast-article-post .post-thumb-img-content img {
    aspect-ratio: 16/9;
    width: 100%;
}

.ast-article-post .post-thumb-img-content {
    overflow: hidden;
}

.ast-article-post .post-thumb-img-content img {
    transform: scale(1);
    transition: transform .5s ease;
}

.ast-article-post:hover .post-thumb-img-content img {
    transform: scale(1.1);
}

.cat-links.badge a,.tags-links.badge a {
    padding: 4px 8px;
    border-radius: 3px;
    font-weight: 400;
}

.ast-archive-entry-banner {
    -js-display: flex;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    position: relative;
    background: #eeeeee;
}

.cookie-bar {
    display:block;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index:9999;
    background-color:rgba(0,0,0,0.85);
    color: #fff;
    padding: 10px 20px;
    font-size:15px;
    text-align: center;
}

.cookie-bar p{
    font-size:15px;
    margin-bottom:0px;
}

#accept-cookies {
    background-color: #fff;
    color: #333;
    border: none;
    padding: 5px 10px;
    cursor: pointer;
    margin-left:15px;
}