/*==================================================
 UNIVERSAL SEVA SANKALP HELPING FOUNDATION
 Base CSS
 Version : 1.0
==================================================*/

/*=========================================
 Google Font
=========================================*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/*=========================================
 CSS Reset
=========================================*/

*,
*::before,
*::after{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

/*=========================================
 Root Variables
=========================================*/

:root{

    --primary:#0B63CE;
    --secondary:#0B3D91;
    --accent:#FFB703;

    --success:#16A34A;
    --danger:#DC2626;
    --warning:#F59E0B;

    --white:#ffffff;
    --light:#f8fafc;
    --gray:#64748b;
    --dark:#1e293b;

    --border:#e5e7eb;

    --body-bg:#ffffff;

    --heading:#0f172a;

    --text:#475569;

    --radius-sm:8px;
    --radius:12px;
    --radius-lg:20px;
    --radius-xl:30px;

    --shadow-sm:0 5px 15px rgba(0,0,0,.05);
    --shadow:0 10px 30px rgba(0,0,0,.08);
    --shadow-lg:0 20px 50px rgba(0,0,0,.12);

    --transition:.35s ease;

    --container:1320px;

}

/*=========================================
 HTML
=========================================*/

html{
    scroll-behavior:smooth;
    scroll-padding-top:90px;
    font-size:16px;
}

/*=========================================
 Body
=========================================*/

body{
    font-family:'Poppins',sans-serif;
    font-size:16px;
    line-height:1.8;
    color:var(--text);
    background:var(--body-bg);
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

body.loaded{
    overflow-x:hidden;
}

/*=========================================
 Container
=========================================*/

.container{
    max-width:var(--container);
}

/*=========================================
 Images
=========================================*/

img{
    max-width:100%;
    height:auto;
    display:block;
    will-change:transform;
}

/*=========================================
 Links
=========================================*/

a{
    text-decoration:none;
    color:inherit;
    transition:var(--transition);
}

a:hover{
    text-decoration:none;
}

/*=========================================
 Lists
=========================================*/

ul,
ol{
    list-style:none;
    margin:0;
    padding:0;
}

/*=========================================
 Typography
=========================================*/

h1,h2,h3,h4,h5,h6{
    color:var(--heading);
    font-weight:700;
    line-height:1.3;
    margin-bottom:15px;
}

h1{font-size:56px;}
h2{font-size:42px;}
h3{font-size:34px;}
h4{font-size:28px;}
h5{font-size:22px;}
h6{font-size:18px;}

p{
    margin-bottom:15px;
    color:var(--text);
}

/*=========================================
 Section
=========================================*/

section{
    position:relative;
    padding:100px 0;
}

/*=========================================
 Section Heading
=========================================*/

.section-title{
    margin-bottom:60px;
    text-align:center;
}

.section-subtitle{
    display:inline-block;
    color:var(--primary);
    font-size:15px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1px;
    margin-bottom:12px;
}

.section-title h2{
    margin-bottom:20px;
}

.section-title p{
    max-width:720px;
    margin:auto;
}

/*=========================================
 Buttons
=========================================*/

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border:none;
    border-radius:50px;
    padding:14px 34px;
    font-size:16px;
    font-weight:600;
    cursor:pointer;
    transition:var(--transition);
    will-change:transform;
}

.btn-primary{
    background:var(--primary);
    color:#fff;
}

.btn-primary:hover{
    background:var(--secondary);
    color:#fff;
    transform:translateY(-3px);
}

.btn-outline{
    background:transparent;
    border:2px solid var(--primary);
    color:var(--primary);
}

.btn-outline:hover{
    background:var(--primary);
    color:#fff;
}

/*=========================================
 Cards
=========================================*/

.card{
    border:none;
    border-radius:var(--radius-lg);
    background:#fff;
    box-shadow:var(--shadow-sm);
    overflow:hidden;
    transition:var(--transition);
    will-change:transform;
}

.card:hover{
    transform:translateY(-8px);
    box-shadow:var(--shadow-lg);
}

.card-body{
    padding:30px;
}

/*=========================================
 Forms
=========================================*/

.form-group{
    margin-bottom:25px;
}

.form-label{
    display:block;
    font-weight:600;
    margin-bottom:10px;
}

.form-control,
.form-select{
    width:100%;
    height:56px;
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:0 18px;
    transition:var(--transition);
}

textarea.form-control{
    min-height:160px;
    padding:18px;
    resize:vertical;
}

.form-control:focus,
.form-select:focus{
    outline:none;
    border-color:var(--primary);
    box-shadow:0 0 0 .2rem rgba(11,99,206,.15);
}

/*=========================================
 Alerts
=========================================*/

.alert{
    border:none;
    border-radius:var(--radius);
}

.alert-success{
    background:#ecfdf5;
    color:#166534;
}

.alert-danger{
    background:#fef2f2;
    color:#991b1b;
}

/*=========================================
 Preloader
=========================================*/

.preloader{
    position:fixed;
    inset:0;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:99999;
    transition:.5s;
}

.preloader.loaded{
    opacity:0;
    visibility:hidden;
}

.preloader-spinner{
    width:60px;
    height:60px;
    border:5px solid #e5e7eb;
    border-top:5px solid var(--primary);
    border-radius:50%;
    animation:spin 1s linear infinite;
}

@keyframes spin{
    to{
        transform:rotate(360deg);
    }
}

/*=========================================
 Back To Top
=========================================*/

.back-to-top{
    position:fixed;
    right:25px;
    bottom:25px;
    width:52px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--primary);
    color:#fff;
    border-radius:50%;
    box-shadow:var(--shadow);
    opacity:0;
    visibility:hidden;
    transition:var(--transition);
    z-index:999;
}

.back-to-top.active{
    opacity:1;
    visibility:visible;
}

.back-to-top:hover{
    background:var(--secondary);
    color:#fff;
}

/*=========================================
 Utilities
=========================================*/

.text-primary{color:var(--primary)!important;}
.text-center{text-align:center!important;}
.bg-light{background:var(--light)!important;}
.bg-primary{background:var(--primary)!important;color:#fff;}
.bg-secondary{background:var(--secondary)!important;color:#fff;}
.bg-dark{background:var(--dark)!important;color:#fff;}
.rounded{border-radius:var(--radius);}
.shadow{box-shadow:var(--shadow);}
.shadow-lg{box-shadow:var(--shadow-lg);}
.w-100{width:100%!important;}
.h-100{height:100%!important;}
.d-flex-center{
    display:flex;
    justify-content:center;
    align-items:center;
}
.cursor-pointer{
    cursor:pointer;
}

/*=========================================
 Scrollbar
=========================================*/

::-webkit-scrollbar{
    width:10px;
}

::-webkit-scrollbar-track{
    background:#f1f5f9;
}

::-webkit-scrollbar-thumb{
    background:var(--primary);
    border-radius:20px;
}

::-webkit-scrollbar-thumb:hover{
    background:var(--secondary);
}

/*=========================================
 Selection
=========================================*/

::selection{
    background:var(--primary);
    color:#fff;
}

::-moz-selection{
    background:var(--primary);
    color:#fff;
}