/* ==========================================================
   CV MEUTUAH RAYA
   STYLE.CSS V2
   BAGIAN 1
==========================================================*/

/* ===========================
   RESET
===========================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Poppins',sans-serif;

    font-size:16px;

    color:#333;

    background:#f8fafc;

    overflow-x:hidden;

    line-height:1.8;

}

/* ===========================
   COLOR
===========================*/

:root{

    --primary:#0b3d91;

    --secondary:#ffd200;

    --dark:#1f2937;

    --light:#ffffff;

    --gray:#f3f4f6;

    --border:#e5e7eb;

    --text:#374151;

    --shadow:0 12px 35px rgba(0,0,0,.08);

    --radius:14px;

    --transition:.35s ease;

}

/* ===========================
   LINK
===========================*/

a{

    text-decoration:none;

    transition:var(--transition);

}

a:hover{

    text-decoration:none;

}

/* ===========================
   IMAGE
===========================*/

img{

    max-width:100%;

    display:block;

}

/* ===========================
   CONTAINER
===========================*/

.container{

    max-width:1320px;

}

/* ===========================
   SECTION
===========================*/

section{

    padding:90px 0;

    position:relative;

}

/* ===========================
   TITLE
===========================*/

.section-subtitle{

    color:var(--secondary);

    font-size:14px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:2px;

    margin-bottom:12px;

}

.section-title{

    font-size:42px;

    font-weight:700;

    color:var(--primary);

    margin-bottom:20px;

}

.section-text{

    color:#666;

    font-size:17px;

}

/* ===========================
   BUTTON
===========================*/

.btn-primary-custom{

    background:var(--primary);

    color:#fff;

    border-radius:50px;

    padding:15px 35px;

    font-weight:600;

    border:none;

}

.btn-primary-custom:hover{

    background:#072c69;

    color:#fff;

    transform:translateY(-3px);

}

.btn-secondary-custom{

    background:var(--secondary);

    color:#000;

    border-radius:50px;

    padding:15px 35px;

    font-weight:600;

}

.btn-secondary-custom:hover{

    background:#f2c400;

    color:#000;

}

/* ===========================
   LOADER
===========================*/

#loader-wrapper{

    position:fixed;

    inset:0;

    background:#fff;

    z-index:99999;

    display:flex;

    justify-content:center;

    align-items:center;

}

.loader{

    text-align:center;

}

.loader img{

    width:90px;

    margin:auto;

    margin-bottom:20px;

    animation:zoom 1.2s infinite;

}

.loader p{

    font-weight:700;

    color:var(--primary);

}

/* ===========================
   NAVBAR
===========================*/

#mainNavbar{

    background:var(--primary);

    padding:15px 0;

    box-shadow:0 5px 20px rgba(0,0,0,.15);

}

.navbar-brand{

    display:flex;

    align-items:center;

    gap:12px;

    color:#fff !important;

    font-size:24px;

    font-weight:700;

}

.navbar-brand img{

    width:48px;

}

.navbar-nav .nav-link{

    color:#fff;

    font-weight:500;

    margin-left:18px;

    position:relative;

}

.navbar-nav .nav-link:hover{

    color:var(--secondary);

}

.navbar-nav .nav-link.active{

    color:var(--secondary);

}

.navbar-nav .nav-link::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-6px;

    width:0;

    height:3px;

    background:var(--secondary);

    transition:.35s;

}

.navbar-nav .nav-link:hover::after,

.navbar-nav .nav-link.active::after{

    width:100%;

}

.navbar-toggler{

    border:none;

}

.navbar-toggler:focus{

    box-shadow:none;

}

/* ===========================
   HERO
===========================*/

.hero{

    min-height:100vh;

    display:flex;

    align-items:center;

    background:url("../images/hero.jpg") center center/cover no-repeat;

    position:relative;

}

.hero::before{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(7,25,70,.70);

}

.hero .container{

    position:relative;

    z-index:5;

}

.hero-subtitle{

    color:var(--secondary);

    font-size:18px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:2px;

}

.hero-title{

    color:#fff;

    font-size:60px;

    font-weight:800;

    line-height:1.2;

    margin:15px 0;

}

.hero-description{

    color:#eee;

    font-size:18px;

    max-width:700px;

    margin-bottom:35px;

}

.hero-button{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

}

.hero-image{

    animation:float 5s ease-in-out infinite;

}

/* ===========================
   CARD
===========================*/

.card-modern{

    background:#fff;

    border:none;

    border-radius:var(--radius);

    box-shadow:var(--shadow);

    transition:.35s;

}

.card-modern:hover{

    transform:translateY(-10px);

}

/* ===========================
   ABOUT
===========================*/

.about-image{

    border-radius:20px;

    overflow:hidden;

}

.about-image img{

    border-radius:20px;

}

.about-content{

    padding-left:30px;

}

/* ===========================
   LAYANAN
===========================*/

.service-box{

    background:#fff;

    padding:40px;

    border-radius:16px;

    text-align:center;

    box-shadow:var(--shadow);

    transition:.35s;

    height:100%;

}

.service-box:hover{

    background:var(--primary);

    color:#fff;

    transform:translateY(-8px);

}

.service-box i{

    font-size:55px;

    color:var(--secondary);

    margin-bottom:25px;

}

.service-box h4{

    font-size:24px;

    margin-bottom:15px;

    font-weight:700;

}

.service-box p{

    font-size:15px;

}
/* ==========================================================
   CV MEUTUAH RAYA
   STYLE.CSS V2
   BAGIAN 2
==========================================================*/


/* ===========================
   KEUNGGULAN
===========================*/

.feature-box{

    text-align:center;

    padding:35px 25px;

    background:#fff;

    border-radius:16px;

    box-shadow:var(--shadow);

    transition:.35s;

    height:100%;

}

.feature-box:hover{

    transform:translateY(-8px);

    background:var(--primary);

    color:#fff;

}

.feature-box i{

    font-size:50px;

    color:var(--secondary);

    margin-bottom:20px;

}

.feature-box h4{

    font-size:22px;

    font-weight:700;

    margin-bottom:15px;

}


/* ===========================
   STATISTIK
===========================*/

.stats{

    background:var(--primary);

    color:#fff;

}

.stat-box{

    text-align:center;

    padding:35px 20px;

}

.stat-box h2{

    font-size:55px;

    font-weight:700;

    color:var(--secondary);

}

.stat-box p{

    margin-top:10px;

    font-size:18px;

}


/* ===========================
   PROYEK
===========================*/

.project-card{

    background:#fff;

    border-radius:16px;

    overflow:hidden;

    box-shadow:var(--shadow);

    transition:.35s;

}

.project-card:hover{

    transform:translateY(-10px);

}

.project-image{

    height:260px;

    overflow:hidden;

}

.project-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.5s;

}

.project-card:hover img{

    transform:scale(1.08);

}

.project-content{

    padding:25px;

}

.project-content h4{

    font-size:24px;

    color:var(--primary);

    font-weight:700;

}

.project-content p{

    color:#666;

}

.project-meta{

    display:flex;

    justify-content:space-between;

    margin-top:15px;

    font-size:14px;

    color:#888;

}


/* ===========================
   GALERI
===========================*/

.gallery-item{

    overflow:hidden;

    border-radius:15px;

    position:relative;

}

.gallery-item img{

    width:100%;

    height:280px;

    object-fit:cover;

    transition:.5s;

}

.gallery-item:hover img{

    transform:scale(1.1);

}

.gallery-item::before{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.35);

    opacity:0;

    transition:.35s;

}

.gallery-item:hover::before{

    opacity:1;

}


/* ===========================
   CLIENT
===========================*/

.client-logo{

    text-align:center;

    padding:30px;

}

.client-logo img{

    max-height:70px;

    margin:auto;

    opacity:.7;

    transition:.35s;

}

.client-logo img:hover{

    opacity:1;

    transform:scale(1.05);

}


/* ===========================
   CTA
===========================*/

.cta{

    background:linear-gradient(135deg,#0b3d91,#123b84);

    color:#fff;

    text-align:center;

    border-radius:20px;

    padding:70px 30px;

}

.cta h2{

    font-size:42px;

    font-weight:700;

}

.cta p{

    margin:20px auto;

    max-width:700px;

}

.cta .btn{

    margin-top:15px;

}


/* ===========================
   FOOTER
===========================*/

.footer{

    background:#082b68;

    color:#fff;

    padding:80px 0 30px;

}

.footer h4,

.footer h5{

    color:#ffd200;

    margin-bottom:20px;

}

.footer p{

    color:#d9d9d9;

}

.footer ul{

    list-style:none;

    padding:0;

}

.footer ul li{

    margin-bottom:12px;

}

.footer ul li a{

    color:#fff;

}

.footer ul li a:hover{

    color:#ffd200;

    padding-left:6px;

}

.footer hr{

    margin:40px 0 20px;

    border-color:rgba(255,255,255,.2);

}


/* ===========================
   SOCIAL
===========================*/

.social-footer{

    display:flex;

    gap:12px;

    margin-top:20px;

}

.social-footer a{

    width:45px;

    height:45px;

    border-radius:50%;

    background:#ffffff20;

    display:flex;

    align-items:center;

    justify-content:center;

    color:#fff;

    font-size:18px;

    transition:.35s;

}

.social-footer a:hover{

    background:#ffd200;

    color:#000;

}


/* ===========================
   BACK TO TOP
===========================*/

#backToTop{

    position:fixed;

    right:25px;

    bottom:25px;

    width:50px;

    height:50px;

    border:none;

    border-radius:50%;

    background:#ffd200;

    color:#000;

    font-size:20px;

    cursor:pointer;

    display:none;

    z-index:999;

    box-shadow:0 10px 25px rgba(0,0,0,.25);

}

#backToTop:hover{

    background:#0b3d91;

    color:#fff;

}


/* ===========================
   ANIMATION
===========================*/

@keyframes float{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-12px);

    }

    100%{

        transform:translateY(0);

    }

}

@keyframes zoom{

    0%{

        transform:scale(1);

    }

    50%{

        transform:scale(1.08);

    }

    100%{

        transform:scale(1);

    }

}


/* ===========================
   SCROLLBAR
===========================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#ececec;

}

::-webkit-scrollbar-thumb{

    background:#0b3d91;

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:#072b66;

}


/* ===========================
   SPACING
===========================*/

.mt-80{

    margin-top:80px;

}

.mb-80{

    margin-bottom:80px;

}

.py-100{

    padding:100px 0;

}

.rounded-20{

    border-radius:20px;

}


/* ===========================
   SHADOW
===========================*/

.shadow-lg-custom{

    box-shadow:0 18px 45px rgba(0,0,0,.12);

}


/* ===========================
   END STYLE.CSS
===========================*/