.elementor-59 .elementor-element.elementor-element-6415940{--display:flex;}.elementor-59 .elementor-element.elementor-element-f42af63{--display:flex;}.elementor-59 .elementor-element.elementor-element-441e7b6{--display:flex;}.elementor-59 .elementor-element.elementor-element-ab4ec0a{--display:flex;}.elementor-59 .elementor-element.elementor-element-27f02b7{--display:flex;}.elementor-59 .elementor-element.elementor-element-9923ced{--display:flex;}/* Start custom CSS for html, class: .elementor-element-57464cf *//* =========================================
   PREMIUM ABOUT US HERO
   ROYAL BLUE THEME
========================================= */

.pb-about-hero{

    width:100%;

    min-height:275px;

    display:flex;

    align-items:center;

    justify-content:center;

    box-sizing:border-box;

    padding:55px 20px;

    position:relative;

    overflow:hidden;

    background:
        linear-gradient(
            135deg,
            #061638 0%,
            #0b2463 48%,
            #123d91 100%
        );
}


/* =========================================
   SUBTLE PATTERN
========================================= */

.pb-about-hero::before{

    content:"";

    position:absolute;

    inset:0;

    background-image:
        radial-gradient(
            rgba(255,255,255,.08) 1px,
            transparent 1px
        );

    background-size:28px 28px;

    opacity:.35;

    pointer-events:none;
}


/* =========================================
   BLUE GLOW
========================================= */

.pb-about-hero::after{

    content:"";

    position:absolute;

    width:450px;
    height:450px;

    top:-280px;
    right:5%;

    background:rgba(96,165,250,.16);

    border-radius:50%;

    filter:blur(70px);

    pointer-events:none;
}


/* =========================================
   CONTENT
========================================= */

.pb-about-hero-content{

    width:100%;

    max-width:1000px;

    text-align:center;

    position:relative;

    z-index:2;
}


/* =========================================
   HEADING
========================================= */

.pb-about-hero h1{

    margin:0;

    color:#ffffff;

    font-size:58px;

    line-height:1.1;

    font-weight:800;

    letter-spacing:-1.5px;
}


/* Highlight */

.pb-about-hero h1 span{

    color:#60a5fa;

    font-weight:800;
}


/* =========================================
   TAGLINE
========================================= */

.pb-about-hero p{

    margin:14px 0 22px;

    color:#dbeafe;

    font-size:15px;

    line-height:24px;

    font-weight:400;

    letter-spacing:.2px;
}


/* =========================================
   BREADCRUMB
========================================= */

.pb-about-breadcrumb{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:9px;

    font-size:13px;
}


.pb-about-breadcrumb a{

    color:#dbeafe !important;

    text-decoration:none !important;

    transition:color .3s ease;
}


.pb-about-breadcrumb a:hover{

    color:#ffffff !important;
}


.pb-about-breadcrumb span{

    color:#60a5fa;

    font-size:18px;

    line-height:1;
}


.pb-about-breadcrumb strong{

    color:#60a5fa;

    font-weight:600;
}


/* =========================================
   TABLET
========================================= */

@media(max-width:768px){

    .pb-about-hero{

        min-height:250px;

        padding:50px 20px;
    }

    .pb-about-hero h1{

        font-size:46px;
    }

    .pb-about-hero p{

        font-size:14px;

        margin:12px 0 20px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media(max-width:480px){

    .pb-about-hero{

        min-height:220px;

        padding:45px 15px;
    }

    .pb-about-hero h1{

        font-size:38px;

        letter-spacing:-.8px;
    }

    .pb-about-hero p{

        font-size:13px;

        line-height:21px;

        margin:10px 0 18px;
    }

    .pb-about-breadcrumb{

        font-size:12px;

        gap:7px;
    }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5ba046b *//* =====================================================
   HOME DOOR INFRA
   PREMIUM ABOUT SECTION
   WHITE + ROYAL BLUE
===================================================== */

.hdi-about-section{

    width:100%;

    padding:90px 6%;

    box-sizing:border-box;

    background:#ffffff;

    position:relative;

    overflow:hidden;
}


/* =====================================================
   BACKGROUND GLOW
===================================================== */

.hdi-about-section::before{

    content:"";

    position:absolute;

    width:450px;
    height:450px;

    left:-250px;
    bottom:-250px;

    background:rgba(37,99,235,.055);

    border-radius:50%;

    filter:blur(80px);

    pointer-events:none;
}


.hdi-about-section::after{

    content:"";

    position:absolute;

    width:350px;
    height:350px;

    right:-180px;
    top:-180px;

    background:rgba(96,165,250,.06);

    border-radius:50%;

    filter:blur(75px);

    pointer-events:none;
}


/* =====================================================
   CONTAINER
===================================================== */

.hdi-about-container{

    width:100%;

    max-width:1200px;

    margin:0 auto;

    display:grid;

    grid-template-columns:
        1fr 1fr;

    gap:75px;

    align-items:center;

    position:relative;

    z-index:2;
}


/* =====================================================
   LEFT VISUAL
===================================================== */

.hdi-about-visual{

    position:relative;

    width:100%;

    padding:0 25px 25px 0;

    box-sizing:border-box;
}


/* =====================================================
   IMAGE BOX
===================================================== */

.hdi-image-box{

    width:100%;

    height:480px;

    border-radius:20px;

    overflow:hidden;

    background:#f1f5f9;

    border:8px solid #ffffff;

    box-shadow:
        0 20px 55px rgba(15,35,80,.14);

    position:relative;
}


.hdi-image-box::after{

    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(8,31,80,.02),
            rgba(8,31,80,.18)
        );

    pointer-events:none;
}


.hdi-image-box img{

    width:100%;

    height:100%;

    display:block;

    object-fit:cover;

    transition:transform .6s ease;
}


.hdi-about-visual:hover
.hdi-image-box img{

    transform:scale(1.04);
}


/* =====================================================
   EXPERIENCE BADGE
===================================================== */

.hdi-experience-badge{

    position:absolute;

    right:0;

    bottom:0;

    width:165px;

    min-height:105px;

    padding:17px;

    box-sizing:border-box;

    border-radius:14px;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    text-align:center;

    background:
        linear-gradient(
            135deg,
            #1e3a8a,
            #2563eb
        );

    color:#ffffff;

    box-shadow:
        0 15px 35px rgba(37,99,235,.28);

    border:4px solid #ffffff;

    z-index:3;
}


.hdi-experience-badge strong{

    display:block;

    font-size:35px;

    line-height:35px;

    font-weight:800;

    letter-spacing:-1px;
}


.hdi-experience-badge span{

    display:block;

    margin-top:7px;

    color:#dbeafe;

    font-size:9px;

    line-height:13px;

    letter-spacing:1.2px;

    font-weight:700;
}


/* =====================================================
   RIGHT CONTENT
===================================================== */

.hdi-about-content{

    width:100%;

    max-width:570px;
}


/* =====================================================
   SECTION LABEL
===================================================== */

.hdi-section-label{

    display:flex;

    align-items:center;

    gap:11px;

    margin-bottom:15px;

    color:#2563eb;

    font-size:11px;

    font-weight:800;

    letter-spacing:2px;
}


.hdi-section-label span{

    width:32px;

    height:2px;

    display:block;

    background:#2563eb;

    border-radius:5px;
}


/* =====================================================
   HEADING
===================================================== */

.hdi-about-content h2{

    margin:0 0 20px;

    color:#10204a;

    font-size:43px;

    line-height:1.15;

    font-weight:700;

    letter-spacing:-1px;
}


.hdi-about-content h2 strong{

    display:block;

    color:#2563eb;

    font-weight:750;
}


/* =====================================================
   PARAGRAPHS
===================================================== */

.hdi-about-content > p{

    margin:0 0 15px;

    color:#64748b;

    font-size:14px;

    line-height:25px;
}


/* =====================================================
   FEATURES
===================================================== */

.hdi-features{

    width:100%;

    margin-top:23px;

    display:flex;

    flex-direction:column;

    gap:9px;
}


.hdi-feature{

    width:100%;

    min-height:42px;

    display:flex;

    align-items:center;

    gap:12px;

    padding:9px 15px;

    box-sizing:border-box;

    border-radius:25px;

    background:#f4f7fc;

    border:1px solid #e2e8f0;

    transition:
        background .3s ease,
        transform .3s ease,
        border-color .3s ease;
}


.hdi-feature:hover{

    background:#eff6ff;

    border-color:#bfdbfe;

    transform:translateX(4px);
}


.hdi-feature > span{

    width:22px;

    height:22px;

    flex-shrink:0;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#2563eb;

    color:#ffffff;

    font-size:12px;

    font-weight:800;
}


.hdi-feature p{

    margin:0;

    color:#1e3a5f;

    font-size:12.5px;

    font-weight:600;

    line-height:18px;
}


/* =====================================================
   BUTTONS
===================================================== */

.hdi-about-buttons{

    display:flex;

    align-items:center;

    gap:14px;

    margin-top:28px;
}


.hdi-btn-primary,
.hdi-btn-secondary{

    min-height:47px;

    padding:0 23px;

    box-sizing:border-box;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:9px;

    border-radius:7px;

    font-size:13px;

    font-weight:700;

    text-decoration:none !important;

    transition:all .3s ease;
}


/* Primary */

.hdi-btn-primary{

    color:#ffffff !important;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #1e3a8a
        );

    box-shadow:
        0 9px 23px rgba(37,99,235,.22);
}


.hdi-btn-primary span{

    font-size:18px;

    line-height:1;

    transition:transform .3s ease;
}


.hdi-btn-primary:hover{

    color:#ffffff !important;

    transform:translateY(-2px);

    box-shadow:
        0 14px 30px rgba(37,99,235,.30);
}


.hdi-btn-primary:hover span{

    transform:translateX(4px);
}


/* Secondary */

.hdi-btn-secondary{

    color:#1e3a8a !important;

    background:#ffffff;

    border:1px solid #2563eb;
}


.hdi-btn-secondary:hover{

    color:#ffffff !important;

    background:#2563eb;

    transform:translateY(-2px);
}


/* =====================================================
   TABLET
===================================================== */

@media(max-width:950px){

    .hdi-about-section{

        padding:75px 5%;
    }

    .hdi-about-container{

        gap:45px;
    }

    .hdi-image-box{

        height:420px;
    }

    .hdi-about-content h2{

        font-size:36px;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media(max-width:700px){

    .hdi-about-section{

        padding:60px 5%;
    }

    .hdi-about-container{

        grid-template-columns:1fr;

        gap:45px;
    }

    .hdi-about-visual{

        padding:0 15px 20px 0;
    }

    .hdi-image-box{

        height:350px;

        border-width:6px;

        border-radius:17px;
    }

    .hdi-experience-badge{

        width:145px;

        min-height:90px;

        right:0;

        bottom:0;
    }

    .hdi-experience-badge strong{

        font-size:30px;

        line-height:30px;
    }

    .hdi-about-content{

        max-width:100%;
    }

    .hdi-about-content h2{

        font-size:32px;

        line-height:1.2;
    }

    .hdi-about-content > p{

        font-size:14px;

        line-height:24px;
    }

    .hdi-about-buttons{

        flex-wrap:wrap;
    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media(max-width:450px){

    .hdi-about-section{

        padding:50px 5%;
    }

    .hdi-image-box{

        height:280px;
    }

    .hdi-experience-badge{

        width:125px;

        min-height:78px;

        padding:10px;
    }

    .hdi-experience-badge strong{

        font-size:27px;

        line-height:27px;
    }

    .hdi-experience-badge span{

        font-size:8px;

        line-height:11px;
    }

    .hdi-about-content h2{

        font-size:28px;
    }

    .hdi-feature{

        padding:9px 12px;
    }

    .hdi-about-buttons{

        flex-direction:column;

        align-items:stretch;
    }

    .hdi-btn-primary,
    .hdi-btn-secondary{

        width:100%;
    }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2c38c0c *//* =====================================================
   HOME DOOR INFRA
   PREMIUM STATS SECTION
   ROYAL BLUE THEME
===================================================== */

.hdi-stats-section{

    width:100%;

    padding:35px 6%;

    box-sizing:border-box;

    background:#ffffff;
}


/* =====================================================
   BLUE BACKGROUND
===================================================== */

.hdi-stats-container{

    width:100%;

    max-width:1350px;

    margin:0 auto;

    padding:70px 6%;

    box-sizing:border-box;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:24px;

    position:relative;

    overflow:hidden;

    border-radius:24px;

    background:
        linear-gradient(
            135deg,
            #061638 0%,
            #0b2463 45%,
            #2563eb 100%
        );

    box-shadow:
        0 20px 50px rgba(15,35,80,.16);
}


/* =====================================================
   DECORATIVE CIRCLES
===================================================== */

.hdi-stats-container::before{

    content:"";

    position:absolute;

    width:230px;
    height:230px;

    left:-75px;
    top:-105px;

    border-radius:50%;

    background:rgba(96,165,250,.13);

    pointer-events:none;
}


.hdi-stats-container::after{

    content:"";

    position:absolute;

    width:260px;
    height:260px;

    right:-100px;
    bottom:-150px;

    border-radius:50%;

    background:rgba(147,197,253,.12);

    pointer-events:none;
}


/* =====================================================
   STAT CARD
===================================================== */

.hdi-stat-card{

    min-height:270px;

    padding:30px 20px;

    box-sizing:border-box;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    text-align:center;

    background:#ffffff;

    border-radius:22px;

    position:relative;

    z-index:2;

    box-shadow:
        0 12px 30px rgba(0,0,0,.08);

    border:1px solid rgba(255,255,255,.8);

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}


/* =====================================================
   CARD HOVER
===================================================== */

.hdi-stat-card:hover{

    transform:translateY(-8px);

    box-shadow:
        0 22px 45px rgba(4,25,70,.18);
}


/* =====================================================
   ICON CIRCLE
===================================================== */

.hdi-stat-icon{

    width:90px;

    height:90px;

    margin-bottom:22px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#eff6ff;

    border:1px solid #dbeafe;

    box-shadow:
        0 8px 20px rgba(37,99,235,.08);
}


/* Icon */

.hdi-stat-icon span{

    width:58px;

    height:58px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #1e3a8a
        );

    color:#ffffff;

    font-size:28px;

    line-height:1;

    font-weight:700;

    box-shadow:
        0 7px 18px rgba(37,99,235,.25);
}


/* =====================================================
   NUMBER
===================================================== */

.hdi-stat-number{

    margin:0;

    color:#0f172a;

    font-size:36px;

    line-height:1.1;

    font-weight:800;

    letter-spacing:-1px;
}


/* =====================================================
   TITLE
===================================================== */

.hdi-stat-title{

    margin-top:10px;

    color:#475569;

    font-size:15px;

    line-height:22px;

    font-weight:600;
}


/* =====================================================
   TABLET
===================================================== */

@media(max-width:1000px){

    .hdi-stats-section{

        padding:30px 4%;
    }

    .hdi-stats-container{

        grid-template-columns:repeat(2,1fr);

        padding:55px 5%;

        gap:20px;
    }

    .hdi-stat-card{

        min-height:245px;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media(max-width:600px){

    .hdi-stats-section{

        padding:25px 4%;
    }

    .hdi-stats-container{

        grid-template-columns:1fr;

        padding:45px 7%;

        gap:18px;

        border-radius:20px;
    }

    .hdi-stat-card{

        min-height:220px;

        padding:25px 15px;

        border-radius:18px;
    }

    .hdi-stat-icon{

        width:78px;

        height:78px;

        margin-bottom:17px;
    }

    .hdi-stat-icon span{

        width:52px;

        height:52px;

        font-size:25px;
    }

    .hdi-stat-number{

        font-size:32px;
    }

    .hdi-stat-title{

        font-size:14px;
    }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-bbc96f9 *//* =====================================================
   HOME DOOR INFRA
   VISION • MISSION • EXPERTISE
   ROYAL BLUE PREMIUM THEME
===================================================== */

.hdi-vme-section{

    width:100%;

    padding:90px 5% 85px;

    box-sizing:border-box;

    background:#ffffff;

    overflow:hidden;

    position:relative;
}


/* =====================================================
   BACKGROUND DECORATION
===================================================== */

.hdi-vme-section::before{

    content:"";

    position:absolute;

    width:450px;
    height:450px;

    left:-250px;
    top:-250px;

    border-radius:50%;

    background:rgba(37,99,235,.055);

    filter:blur(70px);

    pointer-events:none;
}


.hdi-vme-section::after{

    content:"";

    position:absolute;

    width:400px;
    height:400px;

    right:-220px;
    bottom:-250px;

    border-radius:50%;

    background:rgba(96,165,250,.06);

    filter:blur(70px);

    pointer-events:none;
}


/* =====================================================
   CONTAINER
===================================================== */

.hdi-vme-container{

    width:100%;

    max-width:1250px;

    margin:0 auto;

    position:relative;

    z-index:2;
}


/* =====================================================
   HEADING
===================================================== */

.hdi-vme-heading{

    max-width:800px;

    margin:0 auto 70px;

    text-align:center;
}


/* Small label */

.hdi-vme-label{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:10px 22px;

    border-radius:30px;

    background:#eff6ff;

    border:1px solid #dbeafe;

    color:#2563eb;

    font-size:11px;

    font-weight:800;

    letter-spacing:1.5px;

    margin-bottom:17px;
}


/* Main heading */

.hdi-vme-heading h2{

    margin:0;

    color:#0f172a;

    font-size:48px;

    line-height:1.05;

    font-weight:800;

    letter-spacing:-1.5px;
}


.hdi-vme-heading h2 strong{

    display:block;

    color:#2563eb;

    font-weight:800;
}


/* Description */

.hdi-vme-heading p{

    max-width:760px;

    margin:22px auto 0;

    color:#64748b;

    font-size:15px;

    line-height:27px;
}


/* =====================================================
   CARD GRID
===================================================== */

.hdi-vme-grid{

    display:grid;

    grid-template-columns:
        repeat(3,1fr);

    gap:36px;

    align-items:center;
}


/* =====================================================
   CARD
===================================================== */

.hdi-vme-card{

    min-height:405px;

    padding:55px 45px 45px;

    box-sizing:border-box;

    background:#ffffff;

    border:1px solid #e2e8f0;

    border-radius:24px;

    position:relative;

    overflow:hidden;

    text-align:center;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    box-shadow:
        0 15px 40px rgba(15,35,80,.08);

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}


/* Decorative bottom circle */

.hdi-vme-card::after{

    content:"";

    position:absolute;

    width:150px;
    height:150px;

    right:-70px;
    bottom:-75px;

    border-radius:50%;

    background:#eff6ff;

    pointer-events:none;
}


/* Top blue line */

.hdi-vme-card::before{

    content:"";

    position:absolute;

    top:0;
    left:28px;
    right:28px;

    height:4px;

    border-radius:0 0 10px 10px;

    background:
        linear-gradient(
            90deg,
            #1e3a8a,
            #2563eb,
            #60a5fa
        );
}


/* =====================================================
   CARD HOVER
===================================================== */

.hdi-vme-card:hover{

    transform:translateY(-9px);

    border-color:#bfdbfe;

    box-shadow:
        0 25px 55px rgba(37,99,235,.15);
}


/* =====================================================
   NUMBER
===================================================== */

.hdi-vme-number{

    position:absolute;

    top:22px;
    right:27px;

    color:#dbeafe;

    font-size:54px;

    line-height:1;

    font-weight:800;

    letter-spacing:-2px;
}


/* =====================================================
   ICON
===================================================== */

.hdi-vme-icon{

    width:95px;

    height:95px;

    margin-bottom:27px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #1e3a8a
        );

    color:#ffffff;

    font-size:35px;

    line-height:1;

    position:relative;

    z-index:2;

    box-shadow:
        0 12px 30px rgba(37,99,235,.25);
}


/* =====================================================
   CARD HEADING
===================================================== */

.hdi-vme-card h3{

    margin:0 0 17px;

    color:#0f172a;

    font-size:27px;

    line-height:1.2;

    font-weight:750;

    position:relative;

    z-index:2;
}


/* =====================================================
   CARD TEXT
===================================================== */

.hdi-vme-card p{

    margin:0;

    color:#64748b;

    font-size:14px;

    line-height:26px;

    position:relative;

    z-index:2;
}


/* =====================================================
   FEATURED CENTER CARD
===================================================== */

.hdi-vme-featured{

    min-height:445px;

    background:
        linear-gradient(
            145deg,
            #061638 0%,
            #123d91 50%,
            #2563eb 100%
        );

    border:none;

    box-shadow:
        0 25px 55px rgba(37,99,235,.25);

    transform:translateY(22px);
}


/* Featured hover */

.hdi-vme-featured:hover{

    transform:translateY(13px);

    box-shadow:
        0 30px 65px rgba(37,99,235,.30);
}


/* Featured number */

.hdi-vme-featured .hdi-vme-number{

    color:rgba(255,255,255,.16);
}


/* Featured icon */

.hdi-vme-featured .hdi-vme-icon{

    background:#ffffff;

    color:#2563eb;

    box-shadow:
        0 12px 30px rgba(0,0,0,.12);
}


/* Featured heading */

.hdi-vme-featured h3{

    color:#ffffff;
}


/* Featured text */

.hdi-vme-featured p{

    color:#dbeafe;
}


/* =====================================================
   TABLET
===================================================== */

@media(max-width:950px){

    .hdi-vme-section{

        padding:75px 5%;
    }

    .hdi-vme-heading{

        margin-bottom:55px;
    }

    .hdi-vme-heading h2{

        font-size:40px;
    }

    .hdi-vme-grid{

        gap:20px;
    }

    .hdi-vme-card{

        min-height:390px;

        padding:50px 25px 35px;
    }

    .hdi-vme-featured{

        min-height:420px;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media(max-width:700px){

    .hdi-vme-section{

        padding:60px 5%;
    }

    .hdi-vme-heading{

        margin-bottom:45px;
    }

    .hdi-vme-label{

        font-size:10px;

        padding:9px 17px;
    }

    .hdi-vme-heading h2{

        font-size:33px;

        line-height:1.15;

        letter-spacing:-.5px;
    }

    .hdi-vme-heading p{

        font-size:14px;

        line-height:24px;

        margin-top:17px;
    }

    .hdi-vme-grid{

        grid-template-columns:1fr;

        gap:25px;
    }

    .hdi-vme-card{

        min-height:350px;

        padding:55px 28px 40px;
    }

    .hdi-vme-featured{

        min-height:375px;

        transform:none;
    }

    .hdi-vme-featured:hover{

        transform:translateY(-8px);
    }

    .hdi-vme-number{

        font-size:45px;

        top:18px;

        right:22px;
    }

    .hdi-vme-icon{

        width:82px;

        height:82px;

        font-size:30px;

        margin-bottom:22px;
    }

    .hdi-vme-card h3{

        font-size:24px;
    }

    .hdi-vme-card p{

        font-size:13.5px;

        line-height:24px;
    }

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-27f02b7 *//* =====================================================
   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-a615f80 *//* =========================================
   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 */