.elementor-7 .elementor-element.elementor-element-17a1c2f{--display:flex;}.elementor-7 .elementor-element.elementor-element-5af5644{--display:flex;}.elementor-7 .elementor-element.elementor-element-6a10b4a{--display:flex;}.elementor-7 .elementor-element.elementor-element-f9e5f6c{--display:flex;}.elementor-7 .elementor-element.elementor-element-78163e7{--display:flex;}.elementor-7 .elementor-element.elementor-element-5a1f071{--display:flex;}.elementor-7 .elementor-element.elementor-element-f5582ae{--display:flex;}@media(min-width:768px){.elementor-7 .elementor-element.elementor-element-6a10b4a{--content-width:1377px;}}/* Start custom CSS for html, class: .elementor-element-329fb6d *//* =========================================
   PROPERTY BUDDY - ABOUT SECTION
   WHITE + ROYAL BLUE PREMIUM THEME
========================================= */

.pb-about-home{
    width:100%;
    padding:90px 7%;
    box-sizing:border-box;

    background:#ffffff;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:80px;

    position:relative;
    overflow:hidden;
}


/* =========================================
   SUBTLE BLUE BACKGROUND EFFECT
========================================= */

.pb-about-home::before{
    content:"";

    position:absolute;

    width:420px;
    height:420px;

    left:-220px;
    top:-180px;

    background:rgba(37,99,235,0.07);

    border-radius:50%;

    filter:blur(70px);

    pointer-events:none;
}


/* =========================================
   IMAGE
========================================= */

.pb-about-img{

    width:48%;

    position:relative;

    z-index:1;
}


.pb-about-img img{

    width:100%;

    max-width:600px;

    display:block;

    border-radius:22px;

    object-fit:cover;

    border:1px solid rgba(37,99,235,0.15);

    box-shadow:
        0 25px 60px rgba(15,40,90,0.16);

    transition:all .4s ease;
}


.pb-about-img img:hover{

    transform:translateY(-5px);

    box-shadow:
        0 30px 70px rgba(29,78,216,0.20);
}


/* =========================================
   CONTENT
========================================= */

.pb-about-content{

    width:48%;

    max-width:600px;

    position:relative;

    z-index:2;
}


/* =========================================
   SMALL TITLE
========================================= */

.pb-about-content > span{

    display:inline-block;

    color:#2563eb;

    font-size:13px;

    font-weight:800;

    letter-spacing:2px;

    margin-bottom:15px;

    position:relative;

    padding-left:45px;
}


/* Blue line before title */

.pb-about-content > span::before{

    content:"";

    position:absolute;

    left:0;

    top:50%;

    transform:translateY(-50%);

    width:32px;

    height:2px;

    background:#2563eb;
}


/* =========================================
   HEADING
========================================= */

.pb-about-content h2{

    margin:0 0 22px;

    font-size:44px;

    line-height:1.2;

    font-weight:700;

    color:#10204a;

    letter-spacing:-0.7px;
}


/* =========================================
   PARAGRAPH
========================================= */

.pb-about-content p{

    margin:0 0 16px;

    font-size:16px;

    line-height:29px;

    color:#5b6475;

}


/* =========================================
   BUTTON
========================================= */

.pb-about-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    margin-top:15px;

    padding:14px 28px;

    min-width:145px;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #1d4ed8
        );

    color:#ffffff !important;

    text-decoration:none !important;

    border-radius:10px;

    font-size:15px;

    font-weight:700;

    letter-spacing:.2px;

    box-shadow:
        0 10px 25px rgba(37,99,235,0.25);

    transition:all .3s ease;
}


/* Button Hover */

.pb-about-btn:hover{

    background:
        linear-gradient(
            135deg,
            #1d4ed8,
            #1e3a8a
        );

    color:#ffffff !important;

    transform:translateY(-3px);

    box-shadow:
        0 15px 32px rgba(29,78,216,0.35);
}


/* =========================================
   TABLET
========================================= */

@media(max-width:1024px){

    .pb-about-home{

        padding:70px 5%;

        gap:45px;
    }

    .pb-about-content h2{

        font-size:36px;
    }

    .pb-about-content p{

        font-size:15px;

        line-height:27px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media(max-width:767px){

    .pb-about-home{

        padding:60px 6%;

        flex-direction:column;

        gap:40px;

        text-align:center;
    }


    .pb-about-img{

        width:100%;
    }


    .pb-about-img img{

        width:100%;

        border-radius:18px;
    }


    .pb-about-content{

        width:100%;

        max-width:100%;
    }


    .pb-about-content > span{

        padding-left:0;

        font-size:11px;

        letter-spacing:1.5px;
    }


    .pb-about-content > span::before{

        display:none;
    }


    .pb-about-content h2{

        font-size:30px;

        line-height:1.25;

        margin-bottom:18px;
    }


    .pb-about-content p{

        font-size:15px;

        line-height:26px;
    }


    .pb-about-btn{

        margin-top:10px;

        padding:13px 25px;

        font-size:14px;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media(max-width:480px){

    .pb-about-home{

        padding:50px 5%;
    }


    .pb-about-content h2{

        font-size:27px;
    }

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f9e5f6c *//* =====================================================
   PREMIUM PROPERTY TYPES SECTION
   ROYAL BLUE THEME
===================================================== */

.pb-property-types{

    width:100%;

    padding:90px 6%;

    box-sizing:border-box;

    background:
        linear-gradient(
            135deg,
            #071a4a 0%,
            #0d2d78 50%,
            #1746a2 100%
        );

    position:relative;

    overflow:hidden;
}


/* =====================================================
   BACKGROUND GLOW
===================================================== */

.pb-property-types::before{

    content:"";

    position:absolute;

    width:500px;
    height:500px;

    left:-250px;
    top:-220px;

    background:
        rgba(96,165,250,0.13);

    border-radius:50%;

    filter:blur(90px);
}


.pb-property-types::after{

    content:"";

    position:absolute;

    width:450px;
    height:450px;

    right:-200px;
    bottom:-250px;

    background:
        rgba(59,130,246,0.15);

    border-radius:50%;

    filter:blur(90px);
}


/* =====================================================
   CONTAINER
===================================================== */

.pb-property-container{

    max-width:1150px;

    width:100%;

    margin:auto;

    position:relative;

    z-index:2;
}


/* =====================================================
   HEADING
===================================================== */

.pb-property-heading{

    text-align:center;

    max-width:900px;

    margin:0 auto 45px;
}


/* Small title */

.pb-property-heading > span{

    display:inline-block;

    color:#93c5fd;

    font-size:11px;

    font-weight:800;

    letter-spacing:2px;

    margin-bottom:13px;
}


/* Main heading */

.pb-property-heading h2{

    margin:0;

    color:#ffffff;

    font-size:42px;

    line-height:1.2;

    font-weight:700;

    letter-spacing:-.7px;
}


/* Blue highlight */

.pb-property-heading h2 strong{

    display:block;

    color:#60a5fa;

    font-weight:700;
}


/* Description */

.pb-property-heading p{

    max-width:820px;

    margin:17px auto 0;

    color:#dbeafe;

    font-size:15px;

    line-height:27px;
}


/* =====================================================
   CARDS GRID
===================================================== */

.pb-property-grid{

    display:grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap:28px;
}


/* =====================================================
   PROPERTY CARD
===================================================== */

.pb-property-card{

    background:#ffffff;

    border-radius:18px;

    overflow:hidden;

    border:1px solid rgba(255,255,255,.35);

    box-shadow:
        0 20px 55px rgba(0,0,0,.25);

    transition:
        transform .4s ease,
        box-shadow .4s ease;
}


.pb-property-card:hover{

    transform:translateY(-8px);

    box-shadow:
        0 30px 70px rgba(0,0,0,.35);
}


/* =====================================================
   IMAGE
===================================================== */

.pb-property-image{

    height:300px;

    position:relative;

    overflow:hidden;
}


.pb-property-image img{

    width:100%;

    height:100%;

    display:block;

    object-fit:cover;

    transition:
        transform .6s ease;
}


/* Image hover */

.pb-property-card:hover
.pb-property-image img{

    transform:scale(1.06);
}


/* =====================================================
   IMAGE OVERLAY
===================================================== */

.pb-image-overlay{

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(4,18,55,.05),
            rgba(4,18,55,.55)
        );
}


/* =====================================================
   IMAGE TAG
===================================================== */

.pb-card-tag{

    position:absolute;

    left:20px;

    top:20px;

    padding:8px 15px;

    border-radius:50px;

    background:
        rgba(8,35,95,.85);

    border:1px solid rgba(255,255,255,.25);

    color:#ffffff;

    font-size:10px;

    font-weight:800;

    letter-spacing:1.3px;

    backdrop-filter:blur(8px);
}


/* =====================================================
   CONTENT
===================================================== */

.pb-property-content{

    padding:28px 30px 30px;

    text-align:center;
}


/* Heading */

.pb-property-content h3{

    margin:0 0 10px;

    color:#10204a;

    font-size:24px;

    font-weight:700;
}


/* Paragraph */

.pb-property-content p{

    margin:0 auto 22px;

    max-width:430px;

    color:#64748b;

    font-size:14px;

    line-height:24px;
}


/* =====================================================
   BUTTON
===================================================== */

.pb-property-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:13px 24px;

    border-radius:9px;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #1d4ed8,
            #1e3a8a
        );

    color:#ffffff !important;

    text-decoration:none !important;

    font-size:13px;

    font-weight:700;

    box-shadow:
        0 9px 22px rgba(37,99,235,.25);

    transition:
        all .3s ease;
}


/* Arrow */

.pb-property-btn span{

    font-size:18px;

    line-height:1;

    transition:
        transform .3s ease;
}


/* Button hover */

.pb-property-btn:hover{

    color:#ffffff !important;

    transform:translateY(-2px);

    box-shadow:
        0 13px 28px rgba(29,78,216,.35);
}


.pb-property-btn:hover span{

    transform:translateX(5px);
}


/* =====================================================
   TABLET
===================================================== */

@media(max-width:900px){

    .pb-property-types{

        padding:75px 5%;
    }

    .pb-property-heading h2{

        font-size:36px;
    }

    .pb-property-grid{

        gap:20px;
    }

    .pb-property-image{

        height:270px;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media(max-width:650px){

    .pb-property-types{

        padding:60px 5%;
    }


    .pb-property-heading{

        margin-bottom:32px;
    }


    .pb-property-heading > span{

        font-size:10px;

        letter-spacing:1.5px;
    }


    .pb-property-heading h2{

        font-size:30px;

        line-height:1.25;
    }


    .pb-property-heading h2 strong{

        margin-top:4px;
    }


    .pb-property-heading p{

        font-size:14px;

        line-height:24px;
    }


    .pb-property-grid{

        grid-template-columns:1fr;

        gap:20px;
    }


    .pb-property-image{

        height:260px;
    }


    .pb-property-content{

        padding:24px 20px 26px;
    }


    .pb-property-content h3{

        font-size:22px;
    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media(max-width:400px){

    .pb-property-heading h2{

        font-size:27px;
    }


    .pb-property-image{

        height:230px;
    }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-84cd9a8 *//* =====================================================
   PREMIUM INVESTMENT / LOCATION SECTION
   WHITE + ROYAL BLUE
===================================================== */

.pb-investment-section{

    width:100%;

    padding:90px 5%;

    box-sizing:border-box;

    background:#ffffff;

    position:relative;

    overflow:hidden;
}


/* =====================================================
   SUBTLE BACKGROUND EFFECT
===================================================== */

.pb-investment-section::before{

    content:"";

    position:absolute;

    width:500px;
    height:500px;

    top:-250px;
    right:-180px;

    background:rgba(37,99,235,0.06);

    border-radius:50%;

    filter:blur(80px);

    pointer-events:none;
}


/* =====================================================
   CONTAINER
===================================================== */

.pb-investment-container{

    width:100%;

    max-width:1450px;

    margin:auto;

    position:relative;

    z-index:2;
}


/* =====================================================
   HEADING
===================================================== */

.pb-investment-heading{

    text-align:center;

    max-width:950px;

    margin:0 auto 45px;
}


/* Small heading */

.pb-investment-heading span{

    display:inline-block;

    color:#2563eb;

    font-size:12px;

    font-weight:800;

    letter-spacing:2px;

    margin-bottom:12px;
}


/* Main heading */

.pb-investment-heading h2{

    margin:0;

    color:#10204a;

    font-size:42px;

    line-height:1.2;

    font-weight:700;

    letter-spacing:-.7px;
}


/* Blue highlight */

.pb-investment-heading h2 strong{

    color:#2563eb;

    font-weight:700;
}


/* Description */

.pb-investment-heading p{

    max-width:900px;

    margin:16px auto 0;

    color:#64748b;

    font-size:15px;

    line-height:27px;
}


/* =====================================================
   5 CARD GRID
===================================================== */

.pb-location-grid{

    display:grid;

    grid-template-columns:
        repeat(5, 1fr);

    gap:10px;

    width:100%;
}


/* =====================================================
   LOCATION CARD
===================================================== */

.pb-location-card{

    position:relative;

    display:block;

    height:390px;

    overflow:hidden;

    border-radius:3px;

    background-color:#10204a;

    background-position:center;

    background-size:cover;

    background-repeat:no-repeat;

    text-decoration:none !important;

    border:1px solid rgba(255,255,255,0.5);

    box-shadow:
        0 15px 35px rgba(15,35,80,0.12);

    transition:
        transform .45s ease,
        box-shadow .45s ease;
}


/* =====================================================
   IMAGE OVERLAY
===================================================== */

.pb-card-overlay{

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(4,16,45,0.25) 0%,
            rgba(4,16,45,0.40) 35%,
            rgba(4,16,45,0.88) 100%
        );

    transition:
        background .45s ease;
}


/* =====================================================
   BLUE HOVER OVERLAY
===================================================== */

.pb-location-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(37,99,235,0.05),
            rgba(29,78,216,0.55)
        );

    opacity:0;

    transition:opacity .45s ease;

    z-index:1;
}


/* =====================================================
   CARD CONTENT
===================================================== */

.pb-card-content{

    position:absolute;

    left:24px;
    right:24px;

    bottom:25px;

    z-index:3;

    color:#ffffff;
}


/* Number */

.pb-card-number{

    display:block;

    font-size:11px;

    font-weight:700;

    letter-spacing:2px;

    color:#93c5fd;

    margin-bottom:10px;
}


/* Location name */

.pb-card-content h3{

    margin:0;

    color:#ffffff;

    font-size:22px;

    line-height:1.2;

    font-weight:700;

    letter-spacing:.2px;

    text-shadow:
        0 3px 12px rgba(0,0,0,.4);
}


/* Explore text */

.pb-explore{

    display:inline-flex;

    align-items:center;

    gap:8px;

    margin-top:14px;

    padding-top:12px;

    border-top:1px solid rgba(255,255,255,.30);

    color:#ffffff;

    font-size:11px;

    font-weight:600;

    letter-spacing:.7px;

    opacity:.85;

    transition:all .35s ease;
}


/* Arrow */

.pb-explore b{

    font-size:17px;

    font-weight:400;

    line-height:1;

    transition:transform .35s ease;
}


/* =====================================================
   HOVER EFFECT
===================================================== */

.pb-location-card:hover{

    transform:translateY(-8px);

    box-shadow:
        0 25px 55px rgba(29,78,216,0.25);
}


.pb-location-card:hover::before{

    opacity:1;
}


.pb-location-card:hover .pb-card-overlay{

    background:
        linear-gradient(
            180deg,
            rgba(5,20,55,0.20) 0%,
            rgba(29,78,216,0.40) 45%,
            rgba(8,30,80,0.92) 100%
        );
}


.pb-location-card:hover .pb-explore{

    color:#bfdbfe;

    opacity:1;
}


.pb-location-card:hover .pb-explore b{

    transform:translateX(5px);
}


/* =====================================================
   TABLET
===================================================== */

@media(max-width:1200px){

    .pb-location-grid{

        grid-template-columns:
            repeat(3, 1fr);

        gap:12px;
    }

    .pb-location-card{

        height:360px;
    }

}


/* =====================================================
   TABLET / SMALL LAPTOP
===================================================== */

@media(max-width:800px){

    .pb-investment-section{

        padding:70px 5%;
    }

    .pb-investment-heading h2{

        font-size:36px;
    }

    .pb-location-grid{

        grid-template-columns:
            repeat(2, 1fr);

        gap:12px;
    }

    .pb-location-card{

        height:360px;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media(max-width:550px){

    .pb-investment-section{

        padding:60px 5%;
    }


    .pb-investment-heading{

        margin-bottom:30px;
    }


    .pb-investment-heading span{

        font-size:10px;

        letter-spacing:1.5px;
    }


    .pb-investment-heading h2{

        font-size:29px;

        line-height:1.25;
    }


    .pb-investment-heading p{

        font-size:14px;

        line-height:24px;
    }


    .pb-location-grid{

        grid-template-columns:1fr;

        gap:14px;
    }


    .pb-location-card{

        height:380px;

        border-radius:5px;
    }


    .pb-card-content{

        left:22px;

        right:22px;

        bottom:24px;
    }


    .pb-card-content h3{

        font-size:24px;
    }

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5a1f071 *//* =====================================================
   PREMIUM CONTACT SECTION
   ROYAL BLUE BACKGROUND
===================================================== */

.pb-contact-section{
    width:100%;
    padding:90px 6%;
    box-sizing:border-box;

    background:
        linear-gradient(
            135deg,
            #071a4a 0%,
            #0d2d78 50%,
            #1746a2 100%
        );

    position:relative;
    overflow:hidden;
}


/* Luxury background glow */

.pb-contact-section::before{
    content:"";
    position:absolute;

    width:500px;
    height:500px;

    left:-220px;
    bottom:-250px;

    background:rgba(96,165,250,0.15);

    border-radius:50%;

    filter:blur(80px);
}


/* Right glow */

.pb-contact-section::after{
    content:"";
    position:absolute;

    width:400px;
    height:400px;

    right:-180px;
    top:-180px;

    background:rgba(59,130,246,0.15);

    border-radius:50%;

    filter:blur(80px);
}


/* =====================================================
   CONTAINER
===================================================== */

.pb-contact-container{
    width:100%;
    max-width:1250px;

    margin:auto;

    display:grid;
    grid-template-columns:1fr 0.85fr;

    gap:70px;

    align-items:center;

    position:relative;
    z-index:2;
}


/* =====================================================
   LEFT SIDE
===================================================== */

.pb-contact-left{
    position:relative;
}


/* Small title */

.pb-small-title{
    display:inline-flex;
    align-items:center;
    gap:12px;

    color:#93c5fd;

    font-size:12px;
    font-weight:800;

    letter-spacing:2px;

    margin-bottom:15px;
}


/* Blue/white line */

.pb-small-title::before{
    content:"";

    width:32px;
    height:2px;

    background:#60a5fa;

    display:block;
}


/* =====================================================
   HEADING
===================================================== */

.pb-contact-left h2{
    margin:0 0 20px;

    font-size:46px;
    line-height:1.15;

    color:#ffffff;

    font-weight:700;

    letter-spacing:-.8px;

    text-shadow:
        0 5px 25px rgba(0,0,0,.20);
}


/* =====================================================
   DESCRIPTION
===================================================== */

.pb-contact-left > p{
    max-width:560px;

    margin:0 0 30px;

    font-size:16px;
    line-height:29px;

    color:#dbeafe;
}


/* =====================================================
   IMAGE
===================================================== */

.pb-contact-left img{
    width:100%;
    max-width:570px;

    height:320px;

    display:block;

    object-fit:cover;
    object-position:center;

    border-radius:20px;

    border:1px solid rgba(255,255,255,.25);

    box-shadow:
        0 25px 60px rgba(0,0,0,.28);

    transition:all .4s ease;
}


.pb-contact-left img:hover{
    transform:translateY(-5px);

    box-shadow:
        0 30px 70px rgba(0,0,0,.38);
}


/* =====================================================
   RIGHT FORM CARD
===================================================== */

.pb-contact-right{
    background:#ffffff;

    padding:38px 38px 35px;

    border-radius:20px;

    border:1px solid rgba(255,255,255,.35);

    box-shadow:
        0 25px 70px rgba(0,0,0,.28);

    position:relative;

    overflow:hidden;
}


/* Premium blue top line */

.pb-contact-right::before{
    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:5px;

    background:
        linear-gradient(
            90deg,
            #1e3a8a,
            #2563eb,
            #60a5fa
        );
}


/* =====================================================
   FORM HEADING
===================================================== */

.pb-contact-right h3{
    margin:0 0 25px;

    color:#10204a;

    font-size:27px;

    font-weight:700;

    position:relative;
}


.pb-contact-right h3::after{
    content:"";

    display:block;

    width:42px;
    height:3px;

    background:#2563eb;

    margin-top:10px;

    border-radius:5px;
}


/* =====================================================
   CONTACT FORM 7
===================================================== */

.pb-contact-right .wpcf7{
    width:100%;
}

.pb-contact-right .wpcf7 p{
    margin:0;
}


/* Labels */

.pb-contact-right label{
    display:block;

    color:#172554;

    font-size:13px;

    font-weight:600;

    margin-bottom:7px;
}


/* Inputs */

.pb-contact-right input[type="text"],
.pb-contact-right input[type="email"],
.pb-contact-right input[type="tel"],
.pb-contact-right input[type="number"],
.pb-contact-right select,
.pb-contact-right textarea{
    width:100%;

    box-sizing:border-box;

    border:1px solid #d5deed;

    background:#f7faff;

    color:#172554;

    border-radius:10px;

    padding:13px 15px;

    font-size:14px;

    outline:none;

    transition:all .3s ease;
}


/* Textarea */

.pb-contact-right textarea{
    min-height:105px;

    resize:vertical;
}


/* Focus */

.pb-contact-right input:focus,
.pb-contact-right select:focus,
.pb-contact-right textarea:focus{
    background:#ffffff;

    border-color:#2563eb;

    box-shadow:
        0 0 0 4px rgba(37,99,235,.10);
}


/* Placeholder */

.pb-contact-right input::placeholder,
.pb-contact-right textarea::placeholder{
    color:#94a3b8;
}


/* =====================================================
   SUBMIT BUTTON
===================================================== */

.pb-contact-right input[type="submit"]{
    width:100%;

    padding:15px 25px;

    border:none;

    border-radius:10px;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #1d4ed8,
            #1e3a8a
        );

    color:#ffffff;

    font-size:15px;

    font-weight:700;

    letter-spacing:.3px;

    cursor:pointer;

    box-shadow:
        0 10px 25px rgba(37,99,235,.28);

    transition:all .3s ease;
}


.pb-contact-right input[type="submit"]:hover{
    transform:translateY(-3px);

    background:
        linear-gradient(
            135deg,
            #3b82f6,
            #2563eb,
            #1e40af
        );

    box-shadow:
        0 15px 32px rgba(37,99,235,.38);
}


/* =====================================================
   CF7 ERROR
===================================================== */

.pb-contact-right .wpcf7-not-valid{
    border-color:#dc2626 !important;

    box-shadow:
        0 0 0 3px rgba(220,38,38,.08) !important;
}

.pb-contact-right .wpcf7-not-valid-tip{
    font-size:11px;

    margin-top:5px;

    color:#dc2626;
}


/* Success message */

.pb-contact-right .wpcf7-response-output{
    margin:18px 0 0 !important;

    padding:10px 14px !important;

    border-radius:8px;

    font-size:12px;
}


/* =====================================================
   TABLET
===================================================== */

@media(max-width:1024px){

    .pb-contact-section{
        padding:75px 5%;
    }

    .pb-contact-container{
        grid-template-columns:1fr 1fr;
        gap:40px;
    }

    .pb-contact-left h2{
        font-size:38px;
    }

    .pb-contact-left img{
        height:290px;
    }

    .pb-contact-right{
        padding:32px 28px;
    }
}


/* =====================================================
   MOBILE
===================================================== */

@media(max-width:767px){

    .pb-contact-section{
        padding:60px 6%;
    }

    .pb-contact-container{
        grid-template-columns:1fr;
        gap:40px;
    }

    .pb-contact-left{
        text-align:center;
    }

    .pb-small-title{
        justify-content:center;

        font-size:10px;

        letter-spacing:1.5px;
    }

    .pb-small-title::before{
        display:none;
    }

    .pb-contact-left h2{
        font-size:32px;
        line-height:1.2;
    }

    .pb-contact-left > p{
        font-size:15px;
        line-height:26px;

        margin-left:auto;
        margin-right:auto;
    }

    .pb-contact-left img{
        width:100%;
        height:260px;

        border-radius:16px;

        margin:auto;
    }

    .pb-contact-right{
        padding:30px 22px 25px;

        border-radius:18px;
    }

    .pb-contact-right h3{
        font-size:24px;
    }
}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media(max-width:480px){

    .pb-contact-section{
        padding:50px 5%;
    }

    .pb-contact-left h2{
        font-size:28px;
    }

    .pb-contact-left img{
        height:220px;
    }

    .pb-contact-right{
        padding:27px 18px 22px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6a9605c *//* =========================================
   PREMIUM TESTIMONIAL SECTION
   WHITE + ROYAL BLUE
========================================= */

.pb-testimonials{
    width:100%;
    padding:90px 6%;
    box-sizing:border-box;
    background:#ffffff;
    position:relative;
    overflow:hidden;
}


/* Background Glow */

.pb-testimonials::before{
    content:"";
    position:absolute;
    width:450px;
    height:450px;
    left:-220px;
    top:-200px;
    background:rgba(37,99,235,0.06);
    border-radius:50%;
    filter:blur(80px);
    pointer-events:none;
}

.pb-testimonials::after{
    content:"";
    position:absolute;
    width:400px;
    height:400px;
    right:-200px;
    bottom:-200px;
    background:rgba(37,99,235,0.05);
    border-radius:50%;
    filter:blur(80px);
    pointer-events:none;
}


/* =========================================
   CONTAINER
========================================= */

.pb-testimonial-container{
    width:100%;
    max-width:1200px;
    margin:0 auto;
    position:relative;
    z-index:2;
}


/* =========================================
   HEADING
========================================= */

.pb-testimonial-heading{
    text-align:center;
    max-width:800px;
    margin:0 auto 65px;
}

.pb-testimonial-heading > span{
    display:block;
    color:#2563eb;
    font-size:11px;
    font-weight:800;
    letter-spacing:2px;
    margin-bottom:12px;
}

.pb-testimonial-heading h2{
    margin:0;
    color:#10204a;
    font-size:42px;
    line-height:1.2;
    font-weight:700;
}

.pb-testimonial-heading h2 strong{
    color:#2563eb;
}

.pb-testimonial-heading p{
    max-width:720px;
    margin:15px auto 0;
    color:#64748b;
    font-size:15px;
    line-height:26px;
}


/* =========================================
   GRID
========================================= */

.pb-testimonial-grid{
    width:100%;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
    align-items:start;
}


/* =========================================
   TESTIMONIAL ITEM
========================================= */

.pb-testimonial-item{
    width:100%;
    min-width:0;
    text-align:center;
    position:relative;
}


/* =========================================
   CLIENT IMAGE
========================================= */

.pb-client-image{
    width:92px;
    height:92px;
    padding:5px;
    margin:0 auto 14px;

    box-sizing:border-box;

    border-radius:50%;

    background:#ffffff;

    border:3px solid #2563eb;

    box-shadow:
        0 8px 25px rgba(37,99,235,0.20);

    position:relative;
    z-index:5;
}

.pb-client-image img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    border-radius:50%;
}


/* =========================================
   CLIENT NAME
========================================= */

.pb-client-name{
    width:100%;
    min-height:25px;

    margin:0 0 14px;

    padding:0 5px;

    box-sizing:border-box;

    text-align:center;

    position:relative;
    z-index:5;
}

.pb-client-name h3{
    display:inline;
    margin:0;

    color:#10204a;

    font-size:15px;
    line-height:22px;

    font-weight:700;

    white-space:normal;
}

.pb-client-name span{
    display:inline;

    margin-left:7px;

    color:#2563eb;

    font-size:13px;
    line-height:22px;

    font-weight:600;

    white-space:nowrap;
}


/* Separator */

.pb-client-name span::before{
    content:"|";
    color:#94a3b8;
    margin-right:7px;
}


/* =========================================
   TESTIMONIAL CARD
========================================= */

.pb-testimonial-card{
    width:100%;
    min-height:210px;

    padding:28px 28px 25px;

    box-sizing:border-box;

    background:#ffffff;

    border:1px solid #e2e8f0;

    border-radius:18px;

    box-shadow:
        0 15px 40px rgba(15,35,80,0.10);

    position:relative;

    text-align:left;

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}


/* Top Blue Line */

.pb-testimonial-card::before{
    content:"";

    position:absolute;

    top:0;
    left:30px;
    right:30px;

    height:3px;

    background:
        linear-gradient(
            90deg,
            #1e3a8a,
            #2563eb,
            #60a5fa
        );

    border-radius:0 0 5px 5px;
}


/* =========================================
   HOVER
========================================= */

.pb-testimonial-item:hover .pb-testimonial-card{
    transform:translateY(-7px);

    border-color:#bfdbfe;

    box-shadow:
        0 25px 55px rgba(37,99,235,0.15);
}


/* =========================================
   STARS
========================================= */

.pb-stars{
    color:#2563eb;

    font-size:18px;

    letter-spacing:2px;

    line-height:1;

    margin-bottom:17px;
}


/* =========================================
   REVIEW
========================================= */

.pb-testimonial-card p{
    margin:0 0 16px;

    color:#475569;

    font-size:14px;

    line-height:25px;
}


/* =========================================
   READ MORE
========================================= */

.pb-read-more{
    display:inline-block;

    color:#2563eb !important;

    font-size:12px;

    font-weight:700;

    line-height:20px;

    text-decoration:none !important;

    transition:all .3s ease;
}

.pb-read-more:hover{
    color:#1d4ed8 !important;

    transform:translateX(4px);
}


/* =========================================
   TABLET
========================================= */

@media(max-width:900px){

    .pb-testimonials{
        padding:75px 5%;
    }

    .pb-testimonial-heading{
        margin-bottom:55px;
    }

    .pb-testimonial-heading h2{
        font-size:36px;
    }

    .pb-testimonial-grid{
        gap:18px;
    }

    .pb-testimonial-card{
        padding:27px 20px 24px;
    }

    .pb-client-name h3{
        font-size:14px;
    }

    .pb-client-name span{
        font-size:12px;
    }
}


/* =========================================
   MOBILE
========================================= */

@media(max-width:650px){

    .pb-testimonials{
        padding:60px 5%;
    }

    .pb-testimonial-heading{
        margin-bottom:50px;
    }

    .pb-testimonial-heading > span{
        font-size:10px;
        letter-spacing:1.5px;
    }

    .pb-testimonial-heading h2{
        font-size:30px;
        line-height:1.25;
    }

    .pb-testimonial-heading p{
        font-size:14px;
        line-height:24px;
    }

    .pb-testimonial-grid{
        grid-template-columns:1fr;
        gap:55px;
    }

    .pb-testimonial-item{
        width:100%;
    }

    .pb-client-image{
        width:88px;
        height:88px;
        margin-bottom:14px;
    }

    .pb-client-name{
        margin-bottom:15px;
    }

    .pb-client-name h3{
        font-size:15px;
    }

    .pb-client-name span{
        font-size:13px;
    }

    .pb-testimonial-card{
        min-height:auto;
        padding:30px 24px 26px;
        border-radius:16px;
    }

    .pb-testimonial-card p{
        font-size:14px;
        line-height:25px;
    }
}


/* =========================================
   SMALL MOBILE
========================================= */

@media(max-width:400px){

    .pb-testimonial-heading h2{
        font-size:27px;
    }

    .pb-client-name h3{
        font-size:14px;
    }

    .pb-client-name span{
        font-size:12px;
    }

    .pb-testimonial-card{
        padding:28px 20px 24px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-841cccf *//* =========================================
   HOME DOOR INFRA - FLOATING SOCIAL ICONS
========================================= */

.hdi-social-floating {
    position: fixed;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 99999;

    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Individual Social Button */
.hdi-social-floating a {
    width: 46px;
    height: 46px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #ffffff;
    border: 1px solid #e5e5e5;
    border-radius: 50%;

    text-decoration: none !important;

    box-shadow: 0 5px 18px rgba(0,0,0,0.12);

    transition: all 0.3s ease;
}

/* Hide Text */
.hdi-social-floating a span {
    font-size: 0;
}

/* Instagram */
.hdi-social-floating a:nth-child(1)::before {
    content: "◎";
    font-size: 28px;
    font-weight: 700;
}

/* Facebook */
.hdi-social-floating a:nth-child(2)::before {
    content: "f";
    font-family: Arial, sans-serif;
    font-size: 27px;
    font-weight: 700;
}

/* YouTube */
.hdi-social-floating a:nth-child(3)::before {
    content: "▶";
    font-size: 19px;
}

/* LinkedIn */
.hdi-social-floating a:nth-child(4)::before {
    content: "in";
    font-family: Arial, sans-serif;
    font-size: 19px;
    font-weight: 700;
}

/* Hover */
.hdi-social-floating a:hover {
    transform: translateX(-5px) scale(1.08);
    box-shadow: 0 8px 25px rgba(0,0,0,0.20);
}

/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .hdi-social-floating {
        right: 10px;
        gap: 6px;
    }

    .hdi-social-floating a {
        width: 38px;
        height: 38px;
    }

    .hdi-social-floating a:nth-child(1)::before {
        font-size: 23px;
    }

    .hdi-social-floating a:nth-child(2)::before {
        font-size: 22px;
    }

    .hdi-social-floating a:nth-child(3)::before {
        font-size: 15px;
    }

    .hdi-social-floating a:nth-child(4)::before {
        font-size: 16px;
    }
}/* End custom CSS */