/**
Theme Name: astra-child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
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: astra-child
Template: astra
*/

p {
    margin-bottom: 1em;
}
.site-content .elementor-widget-text-editor ul {
    margin-left: 24px;
}
.elementor input[type="checkbox"] {
    accent-color: #000;
}

/* Property cards start */
.property-card .property-card-img img {
    aspect-ratio: 4/3;
    object-fit: cover;
}
/* Property cards end */

/* Property interior gallery slider start */
.property-interior-gallery-slider .swiper-slide-image {
    width: 100%;
    height: 750px;
    object-fit: cover;
}
.property-interior-gallery-slider .swiper-pagination-bullet:before {
    content: 'Test';
    padding: 0 15px 15px;
    color: #fff;
    border-bottom: 1px solid #ffffff00;
    font-family: 'Playfair Display';
    font-size: 20px;
    text-transform: uppercase;
    display: block;
}
.property-interior-gallery-slider .swiper-pagination-bullet {
    width: auto;
    height: auto;
    font-size: 0;
    opacity: 1;
    background: transparent;
}
.property-interior-gallery-slider .swiper-pagination-bullet.swiper-pagination-bullet-active:before {
    border-bottom: 1px solid #fff;
}
.property-interior-gallery-slider .swiper-pagination {
    margin-bottom: 20px;
}
.property-interior-gallery-slider .swiper-pagination-bullet:nth-child(1):before {
    content: 'Pool & Spa';
}
.property-interior-gallery-slider .swiper-pagination-bullet:nth-child(2):before {
    content: 'Kitchen';
}
.property-interior-gallery-slider .swiper-pagination-bullet:nth-child(3):before {
    content: 'Bathroom';
}
.property-interior-gallery-slider .swiper-pagination-bullet:nth-child(4):before {
    content: 'Master Bedroom';
}
.property-interior-gallery-slider .swiper-pagination-bullet:nth-child(5):before {
    content: 'Outside';
}
.property-interior-gallery-slider .elementor-swiper-button.elementor-swiper-button-prev {left: 60px;}
.property-interior-gallery-slider .elementor-swiper-button.elementor-swiper-button-next {right: 60px;}
.property-interior-gallery-slider .elementor-swiper-button {
    border: 2px solid #fff;
    padding: 5px;
    border-radius: 50%;
}
/* Property interior gallery slider end */

/* Contact section start */
.contact-section .contact-profile-img img {
    aspect-ratio: 1/1;
    object-fit: cover;
    filter: grayscale(1);
}
/* Contact section end */

/* About page start */
.about-banner-vid .elementor-video {
    height: 100vh !important;
}
.our-team-card .contact-profile-img img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
}
.our-team-card:nth-child(1) .contact-profile-img img, .our-team-card:nth-child(3) .contact-profile-img img {
    object-position: 50% 15%;
}
/* About page end */

/* Footer start */
.main-footer .footer-logos-invert {
    filter: grayscale(1);
    transition: filter 0.3s ease;
}
.main-footer .footer-logos-invert:last-child .elementor-widget-container {
    filter: invert(1);
}
.main-footer .footer-logos-invert:hover {
    filter: grayscale(0);
}
/* Footer end */

/* About forms - Start */
.st-subs-form .elementor-column.elementor-field-group-field_59a091d.elementor-col-100.elementor-field-required {
    order: 2;
}
.st-cntct-form .elementor-field-type-acceptance.elementor-field-group.elementor-column.elementor-field-group-field_894cb44.elementor-col-100 {
    margin: 0 !important;
}
/* About Forms - End */

/* Property - Start */
.bannerSwiper .swiper-pagination-progressbar {
    background: rgba(255, 255, 255, 0.3);
    height: 4px;
}
.bannerSwiper .swiper-pagination-progressbar-fill {
    background: #ff6600;
}
.bannerSwiper .swiper-slide {
    height: 100vh;
}
/* Property - Start */

/* Single Property - Start */
.single-property-gallery-slider .custom-progress {
    height: 6px;
    background: transparent;
    margin-top: -6px;
    position: relative;
    z-index: 5;
    width: 100%;
    backdrop-filter: blur(18px) saturate(200%);
}
.single-property-gallery-slider .custom-progress span {
    display: block;
    height: 100%;
    width: 0;
    background: #007AFF;
    transition: width 0.3s ease;
}
.single-property-gallery-slider .swiper-slide-image {
    width: 100%;
    height: 60vh;
    object-fit: cover;
}
.single-property-gallery-slider .swiper-pagination {
    display: none;
}
.single-property-gallery-slider.elementor-widget-image-carousel .swiper {
    position: relative;
}

.property-sale-price-wrap .property-sale-price-wrapper {
    position: relative;
    display: inline-block;
    font-family: inherit;
}
.property-sale-price-wrap .pspd-display {
    padding: 10px 20px;
    padding-right: 66px;
    border: 1px solid #000;
    min-width: 160px;
    cursor: pointer;
    background: #fff;
    box-sizing: border-box;
    font-family: 'Playfair Display';
    font-size: 24px;
    color: #000;
}
.property-sale-price-wrap .pspd-list {
    display: none;
    position: absolute;
    left: 0;
    top: calc(100% + 6px);
    z-index: 9999;
    width: 100%;
    max-height: 260px;
    overflow: auto;
    padding: 0;
    box-sizing: border-box;
    margin-left: 0;
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.08);
}
.property-sale-price-wrap .pspd-list li {
    padding: 8px 16px;
    cursor: pointer;
    list-style: none;
    font-family: 'Poppins';
    font-size: 14px;
    background: #fff;
    border-bottom: 1px solid #e6e6e6;
    color: #000;
}
.property-sale-price-wrap .pspd-list li:hover {
    background: #f6f6f6;
}
.property-sale-price-wrap .property-sale-price-wrapper i {
    position: absolute;
    top: 40%;
    right: 24px;
}
.single-property .single-property-read-more-content {
  display: -webkit-box;
  -webkit-line-clamp: 6; /* show 6 lines by default */
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.single-property .single-property-read-more-content.expanded {
  -webkit-line-clamp: unset; /* show full content when expanded */
}
.single-property .other-amenities-tab-content ul {
    column-count: 3;
    list-style: circle;
}
/* Single Property - End */

/*
Single Property Read More - Start
TODO: transition still not the same as client's live site
*/
.single-property .single-property-read-more a:before, .single-property .single-property-read-more a:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 1px;
    width: 100%;
    background-color: #000;
    transform: scaleX(0);
    transform-origin: right;
    transition: 300ms cubic-bezier(0.75, 0.25, 0.25, 0.75);
}
.single-property .single-property-read-more a {
    position: relative;
}
.single-property .single-property-read-more a:after {
    transform: scaleX(1);
    transform-origin: left;
    transition-delay: 200ms;
}
.single-property .single-property-read-more a:hover:before {
    transform: scaleX(1);
    transform-origin: left;
    transition-delay: 200ms;
}
.single-property .single-property-read-more a:hover:after {
    transform: scaleX(0);
    transform-origin: right;
    transition-delay: 0ms;
}
/* Single Property Read More - End */

/* Single Property Calculate tax tab - Start */
.calc-tax-tab-content table {
  border-collapse: collapse; /* makes cell borders merge into one line */
  width: 100%; /* optional, keeps it aligned */
}
.calc-tax-tab-content tr:not(:last-child) td,
.calc-tax-tab-content tr:not(:last-child) th {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2) !important;
}
.calc-tax-tab-content tr.d-none {
    display: none;
}
.calc-tax-tab-content tr th {
    text-align: start;
}
.calc-tax-tab-content tr td:last-child {
    text-align: end;
}
.calc-tax-tab-content tr th, .calc-tax-tab-content tr td {
    padding: 12px 0;
    border: none;
}
.calc-tax-tab-content tr td.fst-italic {font-style: italic;}
/* Single Property Calculate tax tab - End */

/* Single property calculate mortgage tab - Start */
.calc-mortgage-tab-wrap .mc-inputs {
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px solid rgba(0, 0, 0, .2);
    display: flex;
    gap: 30px;
}
.calc-mortgage-tab-wrap .mc-inputs .mc-field {
    position: relative;
}
.calc-mortgage-tab-wrap .mc-inputs label {
    position: absolute;
    top: 10px;
    left: 17px;
    color: rgba(0,0,0,0.65);
    font-size: 13px;
    font-family: 'Playfair Display';
}
.calc-mortgage-tab-wrap .mc-inputs input {
    padding-top: 25px;
    height: auto;
    color: #000;
    font-size: 14px;
    border: 1px solid rgba(217, 217, 217, 1);
}
.calc-mortgage-tab-wrap .mc-results {
    display: flex;
    gap: 30px;
}
.calc-mortgage-tab-wrap .mc-results > p {
    width: 100%;
    max-width: calc(25% - 20px);
    color: #000;
    font-size: 16px;
    font-family: 'Poppins';
    font-weight: 300;
}
.calc-mortgage-tab-wrap .mc-results > p > strong {
    display: block;
    font-weight: 500;
    margin-top: 3px;
}
/* Single property calculate mortgage tab - End */

/* Responsive */
@media screen and (max-width: 1024px) {
    .property-interior-gallery-slider .swiper-pagination {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px;
    }
    .property-interior-gallery-slider .swiper-pagination-bullet:before {
        padding: 0 10px 10px;
    }
    .property-interior-gallery-slider .swiper-slide-image {
        height: 650px;
    }
}
@media screen and (max-width: 767px) {
    .property-interior-gallery-slider .elementor-swiper-button.elementor-swiper-button-prev {
        left: 20px;
    }
    .property-interior-gallery-slider .elementor-swiper-button.elementor-swiper-button-next {
        right: 20px;
    }
    .property-interior-gallery-slider .swiper-pagination-bullet:before {
        padding: 0 5px 5px;
        font-size: 18px;
    }
    .property-interior-gallery-slider .swiper-pagination {
        gap: 10px;
        padding: 0 15px;
    }
    .property-interior-gallery-slider .swiper-slide-image {
        height: 500px;
    }
    .calc-mortgage-tab-wrap .mc-inputs, .calc-mortgage-tab-wrap .mc-results {
        flex-direction: column;
        gap: 20px;
    }
    .calc-mortgage-tab-wrap .mc-results > p {
        max-width: 100%;
        margin-bottom: 0;
    }
    .single-property .other-amenities-tab-content ul {
        column-count: 2;
    }
}
@media screen and (max-width: 425px) {
    .single-property .other-amenities-tab-content ul {
        column-count: 1;
    }
}