/*==========================================
    BHUMI DEVELOPERS - PREMIUM STYLE.CSS
    PART 1
==========================================*/

/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&family=Roboto:wght@400;500;700&display=swap');

/*==========================================
    ROOT COLORS
==========================================*/
:root{
    --primary:#0F4C81;
    --secondary:#F4B400;
    --dark:#081421;
    --light:#F8FAFC;
    --white:#ffffff;
    --text:#4B5563;
    --border:#E5E7EB;
    --shadow:0 15px 40px rgba(0,0,0,.08);
}

/*==========================================
    GLOBAL
==========================================*/
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}
body{
    font-family:'Poppins',sans-serif;
}

/* Top Bar */

.top-bar{
    background:#0F172A;
    color:#fff;
}

.social-icon{
    color:#fff;
    margin-left:15px;
    font-size:18px;
    transition:.3s;
}

.social-icon:hover{
    color:#F59E0B;
}

/* Navbar */

.custom-navbar{
    background:#ffffff;
    box-shadow:0 8px 25px rgba(0,0,0,.08);
}

.logo{
    width:58px;
    height:58px;
    object-fit:cover;
}

.company-name{
    color:#0F172A;
    font-size:30px;
    font-weight:700;
    line-height:1;
}

.company-tagline{
    color:#F59E0B;
    letter-spacing:3px;
    font-size:12px;
    font-weight:600;
}

.navbar-nav .nav-link{
    color:#1E293B;
    font-weight:600;
    margin:0 8px;
    position:relative;
    transition:.3s;
}

.navbar-nav .nav-link:hover{
    color:#F59E0B;
}

.navbar-nav .nav-link.active{
    color:#F59E0B !important;
}

.navbar-nav .nav-link::after{
    content:'';
    position:absolute;
    left:0;
    bottom:-6px;
    width:0;
    height:2px;
    background:#F59E0B;
    transition:.3s;
}

.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link.active::after{
    width:100%;
}

.login-btn{
    background:#F59E0B;
    color:#fff;
    border-radius:40px;
    padding:11px 28px;
    font-weight:600;
    transition:.3s;
}

.login-btn:hover{
    background:#0F172A;
    color:#fff;
    transform:translateY(-2px);
}

body{
    font-family:'Poppins',sans-serif;
    background:var(--light);
    color:var(--text);
    overflow-x:hidden;
}

a{
    text-decoration:none;
    transition:.35s;
}

img{
    max-width:100%;
    display:block;
}

section{
    padding:80px 0;
}

/*==========================================
    TOP BAR
==========================================*/

.top-bar{
    background:var(--dark);
    color:#fff;
    font-size:14px;
    padding:10px 0;
}

.top-bar a{
    color:#fff;
    transition:.3s;
}

.top-bar a:hover{
    color:var(--secondary);
}

/*==========================================
    NAVBAR
==========================================*/

.navbar{
    background:#fff;
    box-shadow:0 5px 20px rgba(0,0,0,.06);
    padding:15px 0;
}

.sticky-top{
    top:0;
    z-index:999;
}

.navbar-brand{
    font-size:28px;
    font-weight:700;
    color:var(--primary)!important;
}

.navbar-brand span{
    color:var(--secondary);
}

.navbar-brand .tracking-widest{
    font-family:'Roboto',sans-serif;
}

.navbar-nav .nav-item{
    margin-left:18px;
}

.navbar-nav .nav-link{
    color:#1F2937;
    font-weight:500;
    transition:.35s;
    position:relative;
}

.navbar-nav .nav-link::after{
    content:'';
    position:absolute;
    left:0;
    bottom:-5px;
    width:0;
    height:3px;
    background:var(--secondary);
    transition:.4s;
}

.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link.active::after{
    width:100%;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active{
    color:var(--primary)!important;
}

/*==========================================
    BUTTONS
==========================================*/

.btn{
    border-radius:50px;
    font-weight:600;
    padding:12px 30px;
    transition:.35s;
}

.btn-success{
    background:linear-gradient(135deg,var(--primary),#1A6FB5);
    border:none;
    color:#fff;
}

.btn-success:hover{
    background:linear-gradient(135deg,#0B3C63,var(--primary));
    transform:translateY(-3px);
    box-shadow:0 12px 25px rgba(15,76,129,.30);
}

.btn-outline-success{
    border:2px solid var(--primary);
    color:var(--primary);
}

.btn-outline-success:hover{
    background:var(--primary);
    color:#fff;
}

/*==========================================
    FORM
==========================================*/

.form-control,
.form-select{
    height:55px;
    border-radius:12px;
    border:1px solid var(--border);
    box-shadow:none;
}

textarea.form-control{
    height:140px;
}

.form-control:focus,
.form-select:focus{
    border-color:var(--primary);
    box-shadow:0 0 0 4px rgba(15,76,129,.10);
}

.form-floating label{
    color:#6B7280;
}

/*==========================================
    SECTION TITLE
==========================================*/

.section-title{
    text-align:center;
    margin-bottom:60px;
}

.section-title h6{
    color:var(--secondary);
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
}

.section-title h2{
    font-size:42px;
    color:var(--dark);
    font-weight:700;
}

.section-title p{
    max-width:700px;
    margin:auto;
    color:#6B7280;
}

.section-title hr{
    width:90px;
    height:4px;
    background:var(--secondary);
    border:none;
    margin:20px auto;
    opacity:1;
}

/*==========================================
    CARD
==========================================*/

.card{
    border:none;
    border-radius:20px;
    box-shadow:var(--shadow);
    transition:.35s;
}

.card:hover{
    transform:translateY(-8px);
}

/*==========================================
    RESPONSIVE
==========================================*/

@media(max-width:991px){

.navbar-nav{
    margin-top:15px;
}

.navbar-nav .nav-item{
    margin-left:0;
    margin-bottom:10px;
}

.section-title h2{
    font-size:34px;
}

}

@media(max-width:576px){

section{
    padding:60px 0;
}

.section-title h2{
    font-size:28px;
}

.btn{
    width:100%;
}

}
/*==========================================
        FOOTER SECTION
==========================================*/

.footer-section{
    background:var(--dark);
    color:#fff;
    position:relative;
    padding:80px 0 25px;
    overflow:hidden;
}

.footer-section::before{
    content:'';
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:5px;
    background:linear-gradient(90deg,var(--primary),var(--secondary),var(--primary));
}

.footer-section::after{
    content:'';
    position:absolute;
    right:-120px;
    bottom:-120px;
    width:320px;
    height:320px;
    border-radius:50%;
    background:rgba(255,255,255,.03);
}

/*========================
    LOGO
=========================*/

.footer-logo{
    font-size:34px;
    font-weight:700;
    color:#fff;
    margin-bottom:20px;
}

.footer-logo span{
    color:var(--secondary);
}

.footer-text{
    color:#C9D1D9;
    line-height:30px;
    font-size:15px;
    margin-bottom:25px;
}

/*========================
    HEADING
=========================*/

.footer-section h4{
    color:#fff;
    font-size:22px;
    font-weight:600;
    margin-bottom:30px;
    position:relative;
}

.footer-section h4::after{
    content:'';
    width:60px;
    height:3px;
    background:var(--secondary);
    display:block;
    margin-top:12px;
    border-radius:10px;
}

/*========================
    CONTACT
=========================*/

.footer-contact p{
    color:#CBD5E1;
    margin-bottom:18px;
    line-height:28px;
    font-size:15px;
}

.footer-contact i{
    width:35px;
    height:35px;
    background:rgba(255,255,255,.08);
    border-radius:50%;
    color:var(--secondary);
    display:inline-flex;
    justify-content:center;
    align-items:center;
    margin-right:12px;
}

/*========================
    LINKS
=========================*/

.footer-links{
    list-style:none;
    padding:0;
    margin:0;
}

.footer-links li{
    margin-bottom:16px;
}

.footer-links a{
    color:#CBD5E1;
    transition:.35s;
    display:inline-block;
}

.footer-links a:hover{
    color:var(--secondary);
    padding-left:8px;
}

/*========================
    MAP
=========================*/

.footer-map{
    overflow:hidden;
    border-radius:18px;
    border:4px solid rgba(255,255,255,.08);
    box-shadow:0 15px 35px rgba(0,0,0,.35);
}

.footer-map iframe{
    width:100%;
    height:260px;
    border:0;
}

/*========================
    SOCIAL ICONS
=========================*/

.footer-social{
    margin-top:25px;
}

.social-icon{
    width:46px;
    height:46px;
    border-radius:50%;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    margin-right:12px;
    color:#fff;
    background:#102235;
    transition:.35s;
    font-size:18px;
}

.social-icon:hover{
    background:var(--secondary);
    color:#000;
    transform:translateY(-6px);
}

/*========================
    HR
=========================*/

.footer-section hr{
    margin:50px 0 25px;
    border-color:rgba(255,255,255,.12);
}

/*========================
    COPYRIGHT
=========================*/

.copyright{
    color:#CBD5E1;
    text-align:center;
    font-size:15px;
    margin:0;
}

.copyright a{
    color:var(--secondary);
    font-weight:600;
}

.copyright a:hover{
    color:#fff;
}

/*========================
    NEWSLETTER
=========================*/

.footer-newsletter{
    margin-top:20px;
}

.footer-newsletter .form-control{
    border-radius:50px;
    height:50px;
    border:none;
    padding-left:20px;
}

.footer-newsletter .btn{
    border-radius:50px;
    padding:12px 28px;
    background:var(--secondary);
    color:#000;
    font-weight:600;
}

.footer-newsletter .btn:hover{
    background:#FFD54F;
}

/*========================
    RESPONSIVE
=========================*/

@media(max-width:991px){

.footer-section{
    padding:60px 0 20px;
}

.footer-section h4{
    margin-top:35px;
}

.footer-map{
    margin-top:20px;
}

}

@media(max-width:767px){

.footer-logo{
    font-size:28px;
}

.footer-text{
    font-size:14px;
}

.footer-contact p{
    font-size:14px;
}

.footer-section h4{
    font-size:20px;
}

.social-icon{
    margin-top:10px;
}

.footer-map iframe{
    height:220px;
}

.copyright{
    text-align:center;
    line-height:28px;
}

}
/*==========================================
        ABOUT SECTION
==========================================*/

#about-core{
    background:#F8FAFC;
}

#about-core .card{
    border:none;
    border-radius:18px;
    transition:.35s;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

#about-core .card:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 45px rgba(15,76,129,.18);
}

#about-core .card-body{
    padding:35px;
}

#about-core h3{
    color:var(--primary);
    font-weight:700;
    margin-bottom:15px;
}

#about-core p{
    color:#6B7280;
    line-height:30px;
}

/*==========================================
        ICON BOX
==========================================*/

.icon-box{
    width:80px;
    height:80px;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    background:linear-gradient(135deg,var(--primary),#1E6FB7);
    color:#fff;
    font-size:32px;
    margin:0 auto 20px;
    transition:.4s;
}

.icon-box:hover{
    transform:rotateY(180deg);
    background:linear-gradient(135deg,var(--secondary),#FFD54F);
    color:#000;
}

/*==========================================
        CMD SECTION
==========================================*/

.cmd-content{
    font-size:17px;
    line-height:2;
    text-align:justify;
    color:#555;
}

.cmd-content p{
    margin-bottom:22px;
}

.cmd-signature h4{
    letter-spacing:1px;
}

.signature-line{
    width:130px;
    height:3px;
    background:#f59e0b;
    border-radius:20px;
}

.badge{
    font-size:14px;
    letter-spacing:1px;
    border-radius:30px;
    font-weight:600;
}

/*==========================================
        MAIN SLIDER
==========================================*/

.carousel-item{
    position:relative;
}

.main-slider-img{
    width:100%;
    height:550px;
    object-fit:cover;
    filter:brightness(.55);
}

.carousel-item::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(rgba(8,20,33,.35),rgba(8,20,33,.55));
}

.carousel-caption{
    bottom:22%;
    z-index:5;
}

.carousel-caption h1{
    font-size:56px;
    font-weight:700;
    color:#fff;
    text-shadow:2px 2px 20px rgba(0,0,0,.45);
}

.carousel-caption p{
    font-size:20px;
    color:#F1F5F9;
    margin:20px auto;
    max-width:700px;
}

.carousel-caption .btn{
    margin-top:15px;
}

/*==========================================
        SLIDER ANIMATION
==========================================*/

.carousel-fade .carousel-item{
    transition-duration:1s;
}

.carousel-item.active .animated-caption h1{
    animation:fadeInUp 1s both;
}

.carousel-item.active .animated-caption p{
    animation:fadeInUp 1.3s both;
}

.carousel-item.active .animated-caption .btn{
    animation:fadeInUp 1.6s both;
}

@keyframes fadeInUp{

from{
opacity:0;
transform:translateY(40px);
}

to{
opacity:1;
transform:translateY(0);
}

}

/*==========================================
        COUNTER SECTION
==========================================*/

.counter-section{
    background:linear-gradient(135deg,var(--primary),#1C6BB3);
    color:#fff;
}

.counter-item{
    text-align:center;
    padding:35px 20px;
    transition:.35s;
}

.counter-item:hover{
    transform:translateY(-10px);
}

.counter-item i{
    font-size:55px;
    color:var(--secondary);
    margin-bottom:20px;
}

.counter-item h2{
    font-size:42px;
    font-weight:700;
    margin-bottom:10px;
}

.counter-item h5{
    font-size:18px;
    font-weight:500;
    color:#F8FAFC;
}

/*==========================================
        FEATURES
==========================================*/

.feature-box{
    background:#fff;
    border-radius:18px;
    padding:35px;
    text-align:center;
    transition:.35s;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.feature-box:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 45px rgba(15,76,129,.18);
}

.feature-box i{
    width:75px;
    height:75px;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    margin:auto;
    font-size:34px;
    color:#fff;
    background:linear-gradient(135deg,var(--primary),#1C6BB3);
}

.feature-box h4{
    margin:20px 0 12px;
    color:var(--primary);
    font-weight:700;
}

.feature-box p{
    color:#6B7280;
    line-height:28px;
}

/*==========================================
        BREADCRUMB
==========================================*/

.breadcrumb-item+.breadcrumb-item::before{
    color:#fff;
}

/*==========================================
        RESPONSIVE
==========================================*/

@media(max-width:991px){

.main-slider-img{
height:450px;
}

.carousel-caption h1{
font-size:42px;
}

.display-1{
font-size:70px;
}

}

@media(max-width:767px){

.main-slider-img{
height:320px;
}

.carousel-caption{
bottom:10%;
}

.carousel-caption h1{
font-size:28px;
}

.carousel-caption p{
font-size:15px;
}

.counter-item{
padding:25px 10px;
}

.counter-item h2{
font-size:30px;
}

.cmd-image{
margin-top:30px;
}

.display-1{
font-size:50px;
}

}
/*==========================================
        PROJECT SECTION
==========================================*/

#projects{
    background:#F8FAFC;
}

.project-card{
    background:#fff;
    border:none;
    border-radius:18px;
    overflow:hidden;
    transition:.35s;
    box-shadow:0 12px 30px rgba(0,0,0,.08);
}

.project-card:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 45px rgba(15,76,129,.20);
}

.project-card img{
    height:260px;
    width:100%;
    object-fit:cover;
    transition:.5s;
}

.project-card:hover img{
    transform:scale(1.08);
}

.project-card .card-body{
    padding:25px;
}

.project-card .card-title{
    color:var(--primary);
    font-size:24px;
    font-weight:700;
    margin-bottom:15px;
}

.project-card p{
    color:#6B7280;
    line-height:28px;
}

.project-card ul{
    padding-left:18px;
    margin-bottom:20px;
}

.project-card ul li{
    margin-bottom:8px;
    color:#555;
}

/*==========================================
        TEAM
==========================================*/

.team-section{
    background:#fff;
}

.team-card{
    border:none;
    border-radius:18px;
    overflow:hidden;
    transition:.35s;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.team-card:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 45px rgba(15,76,129,.18);
}

.team-card img{
    width:100%;
    height:330px;
    object-fit:cover;
    transition:.4s;
}

.team-card:hover img{
    transform:scale(1.05);
}

.team-card .card-body{
    text-align:center;
    padding:25px;
}

.team-card h4{
    color:var(--primary);
    font-weight:700;
}

.team-card p{
    color:#6B7280;
    margin-bottom:15px;
}

/*==========================================
        GALLERY
==========================================*/

.gallery-item{
    overflow:hidden;
    border-radius:18px;
    position:relative;
}

.gallery-item img{
    width:100%;
    transition:.5s;
}

.gallery-item:hover img{
    transform:scale(1.12);
}

.gallery-item::before{
    content:'';
    position:absolute;
    inset:0;
    background:rgba(15,76,129,.45);
    opacity:0;
    transition:.4s;
}

.gallery-item:hover::before{
    opacity:1;
}

/*==========================================
        CONTACT
==========================================*/

.contact-box{
    background:#fff;
    border-radius:18px;
    padding:35px;
    box-shadow:0 12px 30px rgba(0,0,0,.08);
}

.contact-info{
    display:flex;
    align-items:flex-start;
    margin-bottom:25px;
}

.contact-info i{
    width:55px;
    height:55px;
    border-radius:50%;
    background:var(--primary);
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    margin-right:18px;
    font-size:22px;
}

.contact-info h5{
    color:var(--primary);
    margin-bottom:5px;
}

.contact-info p{
    color:#6B7280;
    margin:0;
}

/*==========================================
        PAGE BANNER
==========================================*/

.page-banner{
    background:linear-gradient(rgba(8,20,33,.75),rgba(8,20,33,.75)),
    url('../images/banner.jpg') center center/cover;
    color:#fff;
    padding:120px 0;
    text-align:center;
}

.page-banner h1{
    font-size:52px;
    font-weight:700;
}

.page-banner p{
    margin-top:10px;
    color:#E5E7EB;
}

/*==========================================
        SCROLL TOP
==========================================*/

.scroll-top{
    position:fixed;
    right:20px;
    bottom:20px;
    width:48px;
    height:48px;
    background:var(--primary);
    color:#fff;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    text-decoration:none;
    transition:.35s;
    z-index:999;
}

.scroll-top:hover{
    background:var(--secondary);
    color:#000;
    transform:translateY(-5px);
}

/*==========================================
        UTILITIES
==========================================*/

.bg-primary-custom{
    background:var(--primary)!important;
}

.bg-secondary-custom{
    background:var(--secondary)!important;
}

.text-primary-custom{
    color:var(--primary)!important;
}

.text-secondary-custom{
    color:var(--secondary)!important;
}

.rounded-20{
    border-radius:20px!important;
}

.shadow-custom{
    box-shadow:0 15px 35px rgba(0,0,0,.10);
}

/*==========================================
        RESPONSIVE
==========================================*/

@media(max-width:991px){

.page-banner{
    padding:90px 0;
}

.page-banner h1{
    font-size:40px;
}

.team-card img{
    height:280px;
}

.project-card img{
    height:220px;
}

}

@media(max-width:767px){

.page-banner{
    padding:70px 0;
}

.page-banner h1{
    font-size:30px;
}

.project-card,
.team-card,
.contact-box{
    margin-bottom:25px;
}

.project-card img,
.team-card img{
    height:220px;
}

.contact-info{
    flex-direction:column;
}

.contact-info i{
    margin-bottom:12px;
}

.scroll-top{
    width:42px;
    height:42px;
    right:15px;
    bottom:15px;
}

}

/*==========================================
        END OF STYLE.CSS
==========================================*/