.text-primary { color: #0056b3!important; }
.text-info    { color: #17a2b8!important; }
.text-danger  { color: #dc3545!important; }
.text-warning { color: #ffc107!important; }
.text-success { color: #28a745!important; }
.font-weight-bold { font-weight: 700!important; }

.d-inline-block { display: inline-block!important; }
.d-flex { display: flex!important; }
.flex-fill { -ms-flex: 1 1 auto !important; flex: 1 1 auto !important; }

.d-none { display: none!important; }
.pb-10 { padding-bottom: 10px; }
.pb-20 { padding-bottom: 20px; }
.p-0f { padding: 0!important; }
.m-0f { margin: 0!important; }

.annotation {
    border-left: 3px solid #cabe9f;
    padding: 5px 10px;
    background: #f8f8f8;
    color: #3f4448;
}

.column-count-2 { column-count: 2; columns: 2; }
.column-count-3 { column-count: 3; columns: 3; }

#jod-order-form .wpcf7 div.wpcf7-response-output,
.jod-popup-form .wpcf7 div.wpcf7-response-output { position: absolute;  }

.elementor-widget-opal-contactform7 .wpcf7 div.wpcf7-response-output { position: absolute; bottom: auto; }

.login-form .wpcf7-not-valid-tip, .register-form .wpcf7-not-valid-tip { display: none; }

.osf-property-article-inner .post-thumbnail:before { z-index: auto; }

/* FOR SALE */
@media (min-width: 992px) { .opal-availabilities .availability-content { width: 60% !important; } }
.opal-availabilities .availability-image { width: 40% !important; padding: 0 10px; }
.opal-availabilities .availability-action { display: none !important; }
.opal-availabilities .header-availabilities .header-title h5 { font-size: 16px; }
.opal-availabilities .availability-content-item { border-bottom: 2px solid #cabe9f;  }

.column-item .post-thumbnail .posted-on { left: 16px!important; }
@media (min-width: 992px) {
    .column-item .post-thumbnail .posted-on { left: 16px!important; }

    [data-elementor-columns="3"] .column-item {
        flex: 0 0 33.33333% !important;
        max-width: 33.33333% !important;
    }
}

.entry-meta.jod-meta .pbr-social-share:before { content: ""; }
.entry-meta.jod-meta .pbr-social-share .social-share-header { display: none; }

.jod-header-home .user-logged-in li,.jod-header-home .user-logged-in a { color: #FFFFFF;}


.sub-menu .menu-item.jod-external a:after {
    content: "\f35d";
    font-family: 'Font Awesome 5 Free';
    font-weight: 600;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    padding-right: 5px;
    float: right;
    padding: 6px;
}
.sub-menu .menu-item.jod-more a:after {
    content: "\f141";
    font-family: 'Font Awesome 5 Free';
    font-weight: 600;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    padding-right: 5px;
    float: right;
    padding: 6px;
}
.sub-menu .menu-item.jod-airport a:after {
    content: "\f072";
    font-family: 'Font Awesome 5 Free';
    font-weight: 600;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    padding-right: 5px;
    float: right;
    padding: 6px;
}
.sub-menu .menu-item.jod-order a:after { 
    content: "\f53c";
    font-family: 'Font Awesome 5 Free';
    font-weight: 600;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    padding-right: 5px;
    float: right;
    padding: 6px;    
}

/* TABLE */
.jod-pricelist-table table + table { margin-top: 26px; }
.jod-pricelist-table table { border-top: 2px solid #cabe9f; }
.jod-pricelist-table thead { background: #fbfbfb;; }
.jod-pricelist-table tbody th[scope="row"] { font-weight: 600; }
.jod-pricelist-table td:first-child, .jod-pricelist-table th:first-child {
    padding-left: .6em;
}

.jod-pricelist-table .btn-order {
    padding: 6px 20px;
    font-weight: 500;
    letter-spacing: .1em;
}

.rac-vehicle .btn-order {
    padding: 4px 20px;
    font-weight: 500;
    letter-spacing: .1em;
    margin-left: 14px;
}

.table-bordered {
    border: 1px solid #dee2e6
}

.table-bordered td,.table-bordered th {
    border: 1px solid #dee2e6
}

.table-bordered thead td,.table-bordered thead th {
    border-bottom-width: 2px
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(0,0,0,.05)
}

.table-hover tbody tr:hover {
    color: #212529;
    background-color: rgba(0,0,0,.075)
}



a.link-more { color: #000; }
a.link-more:hover, a.link-more:active { color: #b8a87f; }

.border-bottom { border-bottom: 1px solid #e7e7e7; }

.rounded-circle { border-radius: 50%!important; }
.btn-slim {
    line-height: 28px;
    padding: 0 10px;
    font-size: 12px !important;
    height: 28px;
}

.btn {
    white-space: nowrap;
    display: inline-block;
    background-color: transparent;
    border: 1px solid transparent;
    text-align: center;
    vertical-align: middle;
    border-radius: 3px;
}

.btn-outline-info {
    color: #17a2b8;
    border-color: #17a2b8;
}

.btn-outline-info:hover {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8;
    border-radius: 3px;
}

.align-items-center {
    -ms-flex-align: center!important;
    align-items: center!important
}

.justify-content-start {
    -ms-flex-pack: start!important;
    justify-content: flex-start!important
}

.justify-content-end {
    -ms-flex-pack: end!important;
    justify-content: flex-end!important
}

.justify-content-center {
    -ms-flex-pack: center!important;
    justify-content: center!important
}

.justify-content-between {
    -ms-flex-pack: justify!important;
    justify-content: space-between!important
}

.justify-content-around {
    -ms-flex-pack: distribute!important;
    justify-content: space-around!important
}



@media screen and (max-width:767px){
    .flex-basis-4, .flex-basis-3 { flex-basis: 100%; }
}

.menu-item.link-external a:before{
    content: "\f35d";
    /*font-family: "Font Awesome 5 Free";  */
    font-family: "FontAwesome";
    font-weight: 900;
    margin-right: 3px;
    font-size: 14px;
    color: #1D1D1D99;
}

li.menu-item-has-children > a:after {
    content: "\f0d7";
    /*font-family: "Font Awesome 5 Free";*/
    font-family: "FontAwesome";
    margin-left: 4px;
}

.rotate-180 { transform: rotate(180deg); }
.pll-parent-menu-item a[href="#pll_switcher"] { padding-top: 14px !important; }
.pll-parent-menu-item a[href="#pll_switcher"] span { display: none !important; }
.pll-parent-menu-item a[href="#pll_switcher"]:after{ display: none !important; }
.pll-parent-menu-item .sub-menu.elementor-nav-menu--dropdown { min-width: 160px !important; }
.pll-parent-menu-item .sub-menu.elementor-nav-menu--dropdown a { justify-content: flex-start; }
.elementor-nav-menu--canvas .pll-parent-menu-item a[href="#pll_switcher"] span { display: inline !important; }

.playfair .elementor-image-box-title a, .playfair .elementor-heading-title a { font-family: "Playfair Display", sans-serif; }

/* hover effects
/* ------------------------------------------------------------------------ */
.hover-effect,
.hover-effect-flat {
    cursor: pointer;
    overflow: hidden;
    border-radius: 3px;
    display: block;
    position: relative;
    height: 100%;
    width: 100%;
}
.hover-effect:before,
.hover-effect-flat:before {
    content: "";
}
.hover-effect:hover:before,
.hover-effect-flat:hover:before {
    opacity: 0;
}

.hover-effect:before {
    opacity: 1;
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(0%, rgba(0, 0, 0, 0)), color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.75)));
    background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.75) 100%);
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.75) 100%);

    z-index: 1;
    position: absolute;
    height: 100%;
    width: 100%;
    display: block;
    top: 0;
    left: 0;
}

.hover-effect-flat:before {
    opacity: 0.3;
    background-color: #000;
}

.hover-effect,
.hover-effect:before {
    -webkit-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
}

.property-term {
    display: flex;
    flex-direction: column;
    text-transform: uppercase;
    font-size: 12px;
    margin-bottom: 4px;
}

.property-term a { color: #b8a87f; }
.property-term a:hover { color: #9ea0a6; }

.single-osf_property .elementor-lightbox .swiper .elementor-swiper-button {
    color: hsla(0, 0%, 93%, .9);
    cursor: pointer;
    display: inline-flex;
    font-size: 25px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}
.single-osf_property .elementor-lightbox .swiper .elementor-swiper-button .e-font-icon-svg { width: 25px; }

.jod-property-single .property-thumbnail { max-height: 480px; overflow: hidden; margin-bottom: 20px !important;  }
body.single-osf_property .navigation > div { display: inline-block; }
body.single-osf_property .navigation .nav-content {
    width: 60px;
    height: 40px;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
body.single-osf_property .navigation .nav-content a {
    width: 60px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    display: inline-block;
    color: #000;
    background-color: #f8f8f8;
    font-size: 18px;
}

body.single-osf_property .navigation .nav-content a:hover { color: #fff; }
body.single-osf_property .navigation .next-nav .nav-content { margin-left: 5px; }

.jod-gallery .gallery-item { padding: 0 3px !important }
.apartment-address { border-color:#b8a87f; }
.apartment-address .icon-box {
    background-color: #b8a87f;
    color: #ffffff;
}


/* team
/* ----------------------------------------------------------- */
.team-module {
    overflow: hidden;
    text-align: center;
    position: relative;
}
.team-module:hover .team-content-wrap-after {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}
.team-module:hover .team-content-wrap-before {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
}

.team-content-wrap-after {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    background-color: rgba(255, 255, 255, 0.9);
    z-index: 3;
}
.team-content-wrap-after .team-content {
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    width: 100%;
}
.team-content-wrap-before {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    color: #fff;
    z-index: 1;
}
.team-content-wrap-before .team-social a {
    color: #fff;
}
.team-content-wrap-before .team-content {
    padding: 30px;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}

.team-content-wrap {
    -webkit-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
    left: 0;
    top: 0;
    position: absolute;
    height: 100%;
    width: 100%;
}

.team-content {
    padding: 30px 18px;
}

.team-social a {
    font-size: 18px;
}

.team-mobile-link {
    z-index: 4;
}

.team-language ul {
    list-style: none;
    padding: 0;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    margin: 0;
}
.team-language ul li { padding: 0 2px; }
.lbi-team-module .team-content-wrap-after { cursor: default; }

.team-profile-link {
    display: inline-block;
    margin-bottom: 10px;
}

.lbi-team-module { max-height: 300px; }

.team-social .textual a { font-size: 14px; }

/* Button */
.btn-primary-outlined {
    color: #00aeff !important;
    background-color: transparent !important;
    border-color: #00aeff !important;
}
.btn-primary-outlined:focus, .btn-primary-outlined:focus:active {
    color: #00aeff !important;
    background-color: transparent !important;
    border-color: #00aeff !important;
}
.btn-primary-outlined:hover {
    color: #fff !important;
    background-color: #33beff !important;
    border-color: #33beff !important;
}
.btn-primary-outlined:active, .btn-primary-outlined:not(:disabled):not(:disabled):active {
    color: #00aeff !important;
    background-color: rgba(26, 26, 26, 0) !important;
    border-color: #33beff !important;
}


/* Widget Apartments  */
.jod-widget-apartments .apartments-content { line-height: 20px; }
.jod-widget-apartments .apartments-category { font-size: 10px; }
@media (min-width: 1200px) {
    #secondary .widget.jod-widget-apartments { padding: 40px 30px 50px; }
}
 
/* Team Members  */
.agents-module.agents-module-slider { position: relative; }
.property-carousel-buttons-wrap {
    height: 40px;
    text-align: right;
    position: relative;
    width: 100%;
}
.property-carousel-buttons-wrap button:before { content: ""; }
.property-carousel-buttons-wrap .slick-prev,
.property-carousel-buttons-wrap .slick-next,
.property-carousel-buttons-wrap .btn-view-all {
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    font-weight: 300;
    padding: 0 10px;
    font-size: 12px;
    height: 30px;
    line-height: 28px;
    width: auto;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    display: inline-block;
    position: relative;
}

/* agents
/* ----------------------------------------------------------- */
.agent-module {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.agent-item {
    padding: 35px;
    /*background-color: #fff;*/
    margin-left: 1px;
    margin-bottom: -1px;
    text-align: center;
    background: rgb(240,240,240);
    background: linear-gradient(180deg, rgba(240,240,240,1) 0%, rgba(255,255,255,1) 60%);
}

.agent-item:hover,
.text-with-icon-item-v1:hover {
    -webkit-box-shadow: 0 70px 70px rgba(0, 0, 0, 0.2);
    box-shadow: 0 70px 70px rgba(0, 0, 0, 0.2);
    -webkit-transform: translate(0, -10px);
    -ms-transform: translate(0, -10px);
    transform: translate(0, -10px);
}

.agent-item .agent-name a { color: #b8a87f; }
.agent-item .agent-name a:hover { color: #9ea0a6; }

.agent-body {
    padding: 20px 0;
    color: #636363;
}

.agent-thumb {
    padding-bottom: 30px;
}

.agent-thumb .slick-slide img {
    margin: 0 auto;
}

.agent-thumb-canvas {
    max-height: 230px;
    overflow: hidden;
    max-width: 230px;
    margin: 0 auto;
}

.agents-module-slider.hovereffect-no .agent-item:hover {
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
}

/* module columns and rows
/* ----------------------------------------------------------- */
.module-4cols .agent-item {
    width: calc(25% - 2px);
}
.module-4cols .agent-item:nth-child(4n+1) {
    clear: left;
}
@media (max-width: 991.98px) {
    .module-4cols .agent-item {
        width: calc(50% - 2px);
    }
    .module-4cols .agent-item:nth-child(2n+1) {
        clear: left;
    }
}
@media (max-width: 767.98px) {
    .module-4cols .agent-item {
        width: 100%;
    }
}

.module-3cols .agent-item {
    width: calc(100% / 3 - 2px);
}
.module-3cols .agent-item:nth-child(3n+1) {
    clear: left;
}
@media (max-width: 991.98px) {
    .module-3cols .agent-item {
        width: calc(50% - 2px);
    }
    .module-3cols .agent-item:nth-child(2n+1) {
        clear: left;
    }
    .module-3cols .agent-item:nth-child(3n+1) {
        clear: none;
    }
}
@media (max-width: 767.98px) {
    .module-3cols .agent-item {
        width: 100%;
    }
}
