/* ==========================================================
   PROJECT TITAN
   components.css
========================================================== */

/* ========= SECTION HEADER ========= */

.section-header{

    text-align:center;

    margin-bottom:70px;

}

.section-header.left{

    text-align:left;

}

.section-subtitle{

    display:inline-block;

    color:var(--primary);

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

    font-size:14px;

    margin-bottom:15px;

}

.section-title{

    font-family:'Poppins',sans-serif;

    font-size:48px;

    font-weight:700;

    color:var(--navy);

    margin-bottom:20px;

}

.section-description{

    max-width:750px;

    margin:auto;

    color:var(--gray);

    font-size:18px;

}

/* ========= BUTTONS ========= */

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    padding:16px 34px;

    border-radius:999px;

    font-weight:600;

    transition:var(--transition);

}

.btn-primary{

    background:var(--primary);

    color:#fff;

    box-shadow:var(--shadow-sm);

}

.btn-primary:hover{

    background:var(--primary-dark);

    transform:translateY(-4px);

}

.btn-outline{

    border:2px solid var(--primary);

    color:var(--primary);

}

.btn-outline:hover{

    background:var(--primary);

    color:#fff;

}

/* ========= CARD ========= */

.card{

    background:#fff;

    border-radius:var(--radius-md);

    overflow:hidden;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

}

.card:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow-lg);

}

/* ========= BADGE ========= */

.badge{

    display:inline-block;

    padding:8px 18px;

    border-radius:999px;

    background:rgba(3,127,252,.08);

    color:var(--primary);

    font-weight:600;

    font-size:14px;

}

/* ========= IMAGE ========= */

.image-cover{

    width:100%;

    height:100%;

    object-fit:cover;

}

/* ========= FLEX ========= */

.flex{

    display:flex;

}

.flex-center{

    display:flex;

    align-items:center;

    justify-content:center;

}

.flex-between{

    display:flex;

    justify-content:space-between;

    align-items:center;

}

/* ========= TEXT ========= */

.text-center{

    text-align:center;

}

.text-white{

    color:#fff;

}

.mt-1{margin-top:10px;}
.mt-2{margin-top:20px;}
.mt-3{margin-top:30px;}
.mt-4{margin-top:40px;}
.mt-5{margin-top:50px;}

.mb-1{margin-bottom:10px;}
.mb-2{margin-bottom:20px;}
.mb-3{margin-bottom:30px;}
.mb-4{margin-bottom:40px;}
.mb-5{margin-bottom:50px;}

/* ========= LOADER ========= */

#loader{

    position:fixed;

    inset:0;

    background:#081F3D;

    z-index:99999;

    display:flex;

    align-items:center;

    justify-content:center;

    flex-direction:column;

}

.loader-logo img{

    width:120px;

}

.loader-line{

    width:220px;

    height:4px;

    margin-top:30px;

    border-radius:999px;

    background:rgba(255,255,255,.15);

    overflow:hidden;

}

.loader-line::after{

    content:"";

    display:block;

    width:40%;

    height:100%;

    background:var(--primary);

    animation:loading 1.4s infinite;

}

@keyframes loading{

    from{

        transform:translateX(-120%);

    }

    to{

        transform:translateX(280%);

    }

}

/* ========= SCROLL TOP ========= */

.scroll-top{

    position:fixed;

    right:30px;

    bottom:30px;

    width:55px;

    height:55px;

    border-radius:50%;

    background:var(--primary);

    color:#fff;

    border:none;

    cursor:pointer;

    opacity:0;

    visibility:hidden;

    transition:.3s;

    z-index:999;

}

.scroll-top.active{

    opacity:1;

    visibility:visible;

}