/*=========================================================
    SAMUDRA SURABHI FUND
    Indian Maritime University

    Author : IMU
==========================================================*/

:root{

    --primary:#003366;
    --primary-dark:#00264d;
    --secondary:#f4b400;
    --success:#198754;
    --danger:#dc3545;
    --light:#f5f8fc;
    --border:#d7dce5;
    --text:#333333;
    --white:#ffffff;
    --shadow:0 8px 25px rgba(0,0,0,.08);

}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    background:#eef3f9;
    font-family:
    "Segoe UI",
    Tahoma,
    Arial,
    sans-serif;

    color:var(--text);

    font-size:15px;

}


/*==================================================
TOP STRIP
===================================================*/

.top-strip{

    background:var(--primary-dark);

    color:#fff;

    padding:7px 0;

    font-size:13px;

}

.top-strip small{

    letter-spacing:.3px;

}

/*==================================================
HEADER
===================================================*/

.main-header{

    background:#ffffff;

    border-bottom:5px solid var(--secondary);

    padding:25px 0;

    box-shadow:var(--shadow);

}

.logo{

    max-width:120px;

    transition:.3s;

}

.logo:hover{

    transform:scale(1.05);

}

.imu-title{

    color:var(--primary);

    font-weight:700;

    letter-spacing:1px;

    margin-bottom:8px;

}

.portal-title{

    color:var(--secondary);

    font-weight:600;

    margin-bottom:10px;

}

.portal-desc{

    color:#555;

    line-height:28px;

    margin-bottom:0;

}

/*==================================================
MAIN CARD
===================================================*/

.main-card{

    background:#fff;

    border-radius:12px;

    box-shadow:var(--shadow);

    overflow:hidden;

    margin-top:30px;

}

.card-body{

    padding:35px;

}

/*==================================================
SECTION TITLE
===================================================*/

.section-title{

    background:linear-gradient(
    90deg,
    var(--primary),
    #00509e);

    color:#fff;

    padding:12px 20px;

    font-size:18px;

    font-weight:600;

    letter-spacing:.5px;

    border-radius:8px;

    margin-bottom:25px;

}

.section-title i{

    margin-right:8px;

}

/*==================================================
FORM LABELS
===================================================*/

.form-label{

    font-weight:600;

    color:#003366;

}

.required{

    color:red;

    font-size:16px;

}

/*==================================================
FORM CONTROLS
===================================================*/

.form-control,
.form-select{

    border:1px solid var(--border);

    border-radius:8px;

    min-height:48px;

    font-size:15px;

    transition:.3s;

    box-shadow:none;

}

.form-control:focus,
.form-select:focus{

    border-color:var(--primary);

    box-shadow:
    0 0 0 .15rem
    rgba(0,51,102,.15);

}

textarea.form-control{

    min-height:120px;

    resize:vertical;

}

/*==================================================
RADIOS
===================================================*/

.form-check{

    margin-right:25px;

    margin-top:10px;

}

.form-check-input{

    width:20px;

    height:20px;

    cursor:pointer;

}

.form-check-input:checked{

    background-color:var(--primary);

    border-color:var(--primary);

}

.form-check-label{

    cursor:pointer;

    font-weight:500;

    padding-left:5px;

}

/*==================================================
PLACEHOLDER
===================================================*/

::placeholder{

    color:#999 !important;

}

/*==================================================
READONLY
===================================================*/

input[readonly]{

    background:#f7f7f7;

}

/*==================================================
INFO BOX
===================================================*/

.info-box{

    background:#edf6ff;

    border-left:5px solid var(--primary);

    padding:18px;

    border-radius:8px;

    margin-bottom:30px;

}

.info-box h5{

    color:var(--primary);

    margin-bottom:10px;

}

.info-box p{

    margin-bottom:0;

    line-height:28px;

}

/*==================================================
BUTTON
===================================================*/

.btn-submit{

    background:var(--primary);

    color:#fff;

    border:none;

    border-radius:8px;

    padding:14px 40px;

    font-size:18px;

    font-weight:600;

    transition:.3s;

}

.btn-submit:hover{

    background:var(--primary-dark);

    color:#fff;

    transform:translateY(-2px);

    box-shadow:0 10px 20px rgba(0,0,0,.15);

}

.btn-reset{

    background:#6c757d;

    color:#fff;

    border:none;

    padding:14px 35px;

    border-radius:8px;

}

.btn-reset:hover{

    background:#5c636a;

}

/*==================================================
TABLE (Future Admin)
===================================================*/

.table{

    background:#fff;

}

.table thead{

    background:var(--primary);

    color:#fff;

}

.table th{

    vertical-align:middle;

}

/*==================================================
DECLARATION BOX
===================================================*/

.declaration{

    background:#fff8e6;

    border:1px solid #ffe082;

    border-radius:8px;

    padding:20px;

}

.declaration label{

    font-weight:500;

    line-height:28px;

}

/*==================================================
FOOTER
===================================================*/

.footer{

    background:var(--primary-dark);

    color:#fff;

    padding:20px 0;

    margin-top:50px;

    font-size:14px;

}
/*==================================================
    RESPONSIVE DESIGN
==================================================*/

@media (max-width:991px){

    .main-header{

        text-align:center;

        padding:20px 15px;

    }

    .logo{

        max-width:90px;

        margin-bottom:15px;

    }

    .imu-title{

        font-size:28px;

    }

    .portal-title{

        font-size:22px;

    }

    .card-body{

        padding:25px;

    }

}

@media (max-width:768px){

    .top-strip{

        text-align:center;

    }

    .top-strip .text-md-end{

        margin-top:5px;

    }

    .section-title{

        font-size:17px;

    }

    .btn-submit,
    .btn-reset{

        width:100%;
        margin-bottom:10px;

    }

}

@media (max-width:576px){

    .imu-title{

        font-size:22px;

    }

    .portal-title{

        font-size:18px;

    }

    .portal-desc{

        font-size:14px;

        line-height:24px;

    }

    .card-body{

        padding:18px;

    }

}



/*==================================================
FORM VALIDATION
==================================================*/

.is-valid{

    border-color:#198754 !important;

}

.is-invalid{

    border-color:#dc3545 !important;

}

.valid-feedback{

    color:#198754;

    font-size:13px;

}

.invalid-feedback{

    color:#dc3545;

    font-size:13px;

}



/*==================================================
SMALL TEXT
==================================================*/

.small-text{

    font-size:13px;

    color:#777;

}



/*==================================================
HELP TEXT
==================================================*/

.help-text{

    color:#666;

    font-size:13px;

    margin-top:3px;

}



/*==================================================
SUCCESS MESSAGE
==================================================*/

.success-box{

    background:#e8f8ee;

    border-left:5px solid #198754;

    border-radius:8px;

    padding:25px;

    margin-top:20px;

}

.success-box h3{

    color:#198754;

    margin-bottom:10px;

}



/*==================================================
ERROR MESSAGE
==================================================*/

.error-box{

    background:#fdecec;

    border-left:5px solid #dc3545;

    border-radius:8px;

    padding:20px;

}



/*==================================================
BADGES
==================================================*/

.badge-required{

    background:#dc3545;

    color:#fff;

    padding:3px 8px;

    border-radius:4px;

    font-size:11px;

}



/*==================================================
INPUT GROUP
==================================================*/

.input-group-text{

    background:#003366;

    color:#fff;

    border:none;

}



/*==================================================
AMOUNT FIELD
==================================================*/

.amount-box{

    position:relative;

}

.amount-box::before{

    content:"₹";

    position:absolute;

    left:14px;

    top:12px;

    font-weight:bold;

    color:#003366;

    z-index:5;

}

.amount-box input{

    padding-left:35px;

}



/*==================================================
PROPERTY BOX
==================================================*/

.property-box{

    display:none;

}



/*==================================================
HIDE
==================================================*/

.d-none-custom{

    display:none;

}



/*==================================================
SHOW
==================================================*/

.d-block-custom{

    display:block;

}



/*==================================================
LOADING BUTTON
==================================================*/

.btn-loading{

    pointer-events:none;

    opacity:.8;

}



/*==================================================
SPINNER
==================================================*/

.spinner{

    display:inline-block;

    width:18px;

    height:18px;

    border:2px solid rgba(255,255,255,.3);

    border-top:2px solid #fff;

    border-radius:50%;

    animation:spin .7s linear infinite;

    margin-right:8px;

}

@keyframes spin{

    from{

        transform:rotate(0deg);

    }

    to{

        transform:rotate(360deg);

    }

}



/*==================================================
SECTION SPACING
==================================================*/

.mb-30{

    margin-bottom:30px;

}

.mt-30{

    margin-top:30px;

}



/*==================================================
CARD HOVER
==================================================*/

.main-card{

    transition:.3s;

}

.main-card:hover{

    transform:translateY(-2px);

}



/*==================================================
INPUT HOVER
==================================================*/

.form-control:hover,
.form-select:hover{

    border-color:#003366;

}



/*==================================================
TEXTAREA
==================================================*/

textarea{

    resize:vertical;

}



/*==================================================
CHECKBOX
==================================================*/

.form-check-input{

    cursor:pointer;

}

.form-check-label{

    cursor:pointer;

}



/*==================================================
LINKS
==================================================*/

a{

    color:#003366;

    text-decoration:none;

}

a:hover{

    color:#f4b400;

}



/*==================================================
HORIZONTAL RULE
==================================================*/

.section-divider{

    height:1px;

    background:#d9d9d9;

    margin:30px 0;

}



/*==================================================
PRINT
==================================================*/

@media print{

    .btn,
    .footer,
    .top-strip{

        display:none !important;

    }

    body{

        background:#fff;

    }

}



/*==================================================
UTILITY CLASSES
==================================================*/

.text-primary-imu{

    color:#003366 !important;

}

.text-gold{

    color:#f4b400 !important;

}

.bg-primary-imu{

    background:#003366 !important;

}

.bg-gold{

    background:#f4b400 !important;

}

.rounded-10{

    border-radius:10px;

}

.rounded-15{

    border-radius:15px;

}

.shadow-light{

    box-shadow:0 5px 15px rgba(0,0,0,.08);

}



/*==================================================
ANIMATION
==================================================*/

.fade-up{

    animation:fadeup .5s ease;

}

@keyframes fadeup{

    from{

        opacity:0;

        transform:translateY(20px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}