/*==========================
GLOBAL
===========================*/

:root {

    /* =========================
       ODLC GLOBAL COLORS
    ========================= */

    --navy: #083C7C;
    --navy2: #083C7C;

    --blue: #083C7C;
    --cyan: #00a8ff;

    --purple: #6335e8;
    --yellow: #ffc400;

    --white: #ffffff;

    --muted: #899abd;

    --border: rgba(0, 168, 255, .30);

     --section-max-width: 1500px;

    /* Main Typography */
    --font-main: "Inter", "Segoe UI", Arial, sans-serif;

    /* Main Colors */
    --text-dark: #0b1f4d;
    --text-primary: #17203d;
    --text-body: #667085;
    --text-light: #ffffff;

    /* Font Weights */
    --weight-regular: 400;
    --weight-medium: 500;
    --weight-semibold: 600;
    --weight-bold: 700;
    --weight-extrabold: 800;

}


/* =========================================================
   2. GLOBAL BODY
========================================================= */

html,
body {

    font-family: var(--font-main);

    color: var(--text-primary);

    font-size: 16px;

    line-height: 1.6;

}


/* =========================================================
   3. GLOBAL PARAGRAPHS
========================================================= */

p {

    font-size: 16px;

    line-height: 1.7;

    font-weight: 400;

}


/* =========================================================
   4. MAIN SECTION HEADINGS
========================================================= */

.section-title,
.programmes-title {

    font-size: 52px;

    line-height: 1.12;

    font-weight: 800;

    letter-spacing: -1.2px;

}


/* =========================================================
   5. OTHER MAIN SECTION HEADINGS
========================================================= */

.testimonial-section h2,
.blog-section h2,
.faq-section h2,
.faq-heading,
.why-odlc-title,
.section-heading {

    font-size: 46px;

    line-height: 1.15;

    font-weight: 800;

    letter-spacing: -1px;

}


/* =========================================================
   6. SPECIAL LARGE HERO HEADINGS
========================================================= */

.hero-section h1,
.hero-section h2 {

    font-size: 54px;

    line-height: 1.1;

    font-weight: 800;

}


/* =========================================================
   7. SECTION DESCRIPTION
========================================================= */

.section-desc,
.programmes-description,
.testimonial-section > p,
.blog-section > p,
.section-description {

    font-size: 18px;

    line-height: 1.7;

    font-weight: 400;

    color: var(--text-body);

}


/* =========================================================
   8. SECTION BADGES
========================================================= */

.section-tag,
.programmes-badge,
.testimonial-badge,
.blog-badge,
.faq-badge,
.hero-badge {

    font-size: 14px;

    line-height: 1.2;

    font-weight: 700;

    letter-spacing: .5px;

}


/* =========================================================
   9. CARD HEADINGS
========================================================= */

.feature-card h4,
.blog-card h4,
.review-card h5,
.info-content h5,
.info-card h3,
.impact-title {

    font-weight: 700;

}


/* =========================================================
   10. FEATURE CARD HEADING
========================================================= */

.feature-card h4 {

    font-size: 19px;

    line-height: 1.3;

}


/* =========================================================
   11. FEATURE CARD DESCRIPTION
========================================================= */

.feature-card p {

    font-size: 14px;

    line-height: 1.55;

}


/* =========================================================
   12. IMPACT CARD
========================================================= */

.impact-subtitle {

    font-size: 13px;

    font-weight: 700;

    letter-spacing: .7px;

}

.impact-title {

    font-size: 30px;

    line-height: 1.25;

}

.impact-item h3 {

    font-size: 28px;

    line-height: 1.1;

    font-weight: 800;

}

.impact-item p {

    font-size: 14px;

    line-height: 1.4;

}


/* =========================================================
   13. INFORMATION STRIP
========================================================= */

.info-content h5 {

    font-size: 18px;

    line-height: 1.3;

    font-weight: 700;

}

.info-content p {

    font-size: 13px;

    line-height: 1.5;

}


/* =========================================================
   14. PROGRAMME CARDS
========================================================= */

.program-card h3,
.program-card h4,
.programme-card h3,
.programme-card h4 {

    font-size: 17px;

    line-height: 1.35;

    font-weight: 700;

}

.program-card p,
.programme-card p {

    font-size: 13px;

    line-height: 1.55;

}


/* =========================================================
   15. PROGRAMME COUNTER
========================================================= */

.program-count-card h3 {

    font-size: 26px;

    line-height: 1.2;

    font-weight: 800;

}

.program-count-card p {

    font-size: 14px;

    line-height: 1.5;

}


/* =========================================================
   16. APPLICATION / GATEWAY SECTION
========================================================= */

.application-section h2,
.gateway-section h2 {

    font-size: 46px;

    line-height: 1.15;

    font-weight: 800;

}

.application-section h4,
.gateway-section h4 {

    font-size: 17px;

    line-height: 1.35;

    font-weight: 700;

}

.application-section p,
.gateway-section p {

    font-size: 14px;

    line-height: 1.55;

}


/* =========================================================
   17. COMPARISON / WHY ODLC
========================================================= */

.comparison-section h2,
.why-odlc-section h2 {

    font-size: 46px;

    line-height: 1.15;

    font-weight: 800;

}

.comparison-card h3,
.stat-card h3 {

    font-size: 30px;

    line-height: 1.1;

    font-weight: 800;

}

.comparison-card p,
.stat-card p {

    font-size: 13px;

    line-height: 1.4;

    font-weight: 500;

}


/* =========================================================
   18. CERTIFICATION CTA
========================================================= */

.certification-section h2,
.skills-section h2 {

    font-size: 46px;

    line-height: 1.15;

    font-weight: 800;

}

.certification-section p,
.skills-section p {

    font-size: 16px;

    line-height: 1.65;

}


/* =========================================================
   19. BOTTOM FEATURE STRIPS
========================================================= */

.feature-strip h4,
.bottom-feature h4 {

    font-size: 16px;

    line-height: 1.3;

    font-weight: 700;

}

.feature-strip p,
.bottom-feature p {

    font-size: 13px;

    line-height: 1.45;

}


/* =========================================================
   20. TESTIMONIALS
========================================================= */

.review-card h5 {

    font-size: 16px;

    line-height: 1.3;

    font-weight: 700;

}

.review-card small {

    font-size: 12px;

}

.review-card p {

    font-size: 14px;

    line-height: 1.65;

}

.review-card a {

    font-size: 13px;

    font-weight: 600;

}


/* =========================================================
   21. BLOG
========================================================= */

.blog-card h4 {

    font-size: 18px;

    line-height: 1.4;

    font-weight: 700;

}

.blog-card p {

    font-size: 14px;

    line-height: 1.6;

}

.blog-category {

    font-size: 12px;

    font-weight: 600;

}

.blog-footer a {

    font-size: 13px;

    font-weight: 600;

}

.date-box h4 {

    font-size: 18px;

    line-height: 1;

}

.date-box span {

    font-size: 11px;

}


/* =========================================================
   22. FAQ
========================================================= */

.faq-section h2 {

    font-size: 46px;

    line-height: 1.15;

    font-weight: 800;

}

.faq-question,
.accordion-button {

    font-size: 16px;

    line-height: 1.4;

    font-weight: 600;

}

.faq-answer,
.accordion-body {

    font-size: 14px;

    line-height: 1.65;

}


/* =========================================================
   23. BUTTONS
========================================================= */

button,
.btn,
a.btn,
.blog-btn,
.google-review-btn {

    font-size: 14px;

    line-height: 1.2;

    font-weight: 600;

}


/* =========================================================
   24. HEADER / NAVIGATION
========================================================= */

.navbar-nav .nav-link {

    font-size: 14px;

    font-weight: 600;

}

.navbar-brand {

    font-size: 18px;

    font-weight: 700;

}


/* =========================================================
   25. FOOTER
========================================================= */

footer h4,
footer h5 {

    font-size: 16px;

    line-height: 1.3;

    font-weight: 700;

}

footer p,
footer li,
footer a {

    font-size: 13px;

    line-height: 1.6;

}

footer .footer-title {

    font-size: 17px;

    font-weight: 700;

}


/* =========================================================
   26. LAPTOP
   992px - 1199px
========================================================= */

@media (max-width: 1199px) {

    .section-title,
    .programmes-title {

        font-size: 46px;

    }

    .testimonial-section h2,
    .blog-section h2,
    .faq-section h2,
    .faq-heading,
    .why-odlc-title,
    .section-heading {

        font-size: 42px;

    }

    .hero-section h1,
    .hero-section h2 {

        font-size: 48px;

    }

    .section-desc,
    .programmes-description {

        font-size: 17px;

    }

    .feature-card h4 {

        font-size: 18px;

    }

    .feature-card p {

        font-size: 13px;

    }

    .blog-card h4 {

        font-size: 17px;

    }

}


/* =========================================================
   27. TABLET
   768px - 991px
========================================================= */

@media (max-width: 991px) {

    body {

        font-size: 15px;

    }

    p {

        font-size: 15px;

        line-height: 1.65;

    }


    /* Main headings */

    .section-title,
    .programmes-title {

        font-size: 40px;

        line-height: 1.15;

    }


    .testimonial-section h2,
    .blog-section h2,
    .faq-section h2,
    .faq-heading,
    .why-odlc-title,
    .section-heading {

        font-size: 38px;

    }


    .hero-section h1,
    .hero-section h2 {

        font-size: 42px;

    }


    /* Description */

    .section-desc,
    .programmes-description {

        font-size: 16px;

        line-height: 1.7;

    }


    /* Badge */

    .section-tag,
    .programmes-badge,
    .testimonial-badge,
    .blog-badge,
    .faq-badge {

        font-size: 13px;

    }


    /* Cards */

    .feature-card h4 {

        font-size: 17px;

    }

    .feature-card p {

        font-size: 13px;

    }

    .impact-title {

        font-size: 26px;

    }

    .impact-item h3 {

        font-size: 25px;

    }

    .impact-item p {

        font-size: 13px;

    }

    .blog-card h4 {

        font-size: 17px;

    }

    .blog-card p {

        font-size: 13px;

    }

    .review-card p {

        font-size: 13px;

    }


    /* FAQ */

    .faq-question,
    .accordion-button {

        font-size: 15px;

    }

    .faq-answer,
    .accordion-body {

        font-size: 13px;

    }


    /* Buttons */

    button,
    .btn,
    a.btn,
    .blog-btn,
    .google-review-btn {

        font-size: 13px;

    }

}


/* =========================================================
   28. MOBILE
   576px - 767px
========================================================= */

@media (max-width: 767px) {

    body {

        font-size: 15px;

    }

    p {

        font-size: 14px;

        line-height: 1.65;

    }


    /* Main section headings */

    .section-title,
    .programmes-title {

        font-size: 32px;

        line-height: 1.18;

        letter-spacing: -.5px;

    }


    .testimonial-section h2,
    .blog-section h2,
    .faq-section h2,
    .faq-heading,
    .why-odlc-title,
    .section-heading {

        font-size: 32px;

        line-height: 1.2;

    }


    .hero-section h1,
    .hero-section h2 {

        font-size: 34px;

        line-height: 1.15;

    }


    /* Description */

    .section-desc,
    .programmes-description {

        font-size: 15px;

        line-height: 1.65;

    }


    /* Badges */

    .section-tag,
    .programmes-badge,
    .testimonial-badge,
    .blog-badge,
    .faq-badge {

        font-size: 12px;

    }


    /* Feature cards */

    .feature-card h4 {

        font-size: 16px;

    }

    .feature-card p {

        font-size: 12px;

        line-height: 1.5;

    }


    /* Impact */

    .impact-title {

        font-size: 24px;

    }

    .impact-item h3 {

        font-size: 23px;

    }

    .impact-item p {

        font-size: 12px;

    }


    /* Programme cards */

    .program-card h3,
    .program-card h4,
    .programme-card h3,
    .programme-card h4 {

        font-size: 16px;

    }

    .program-card p,
    .programme-card p {

        font-size: 12px;

    }


    /* Testimonials */

    .review-card h5 {

        font-size: 15px;

    }

    .review-card small {

        font-size: 11px;

    }

    .review-card p {

        font-size: 13px;

        line-height: 1.6;

    }


    /* Blogs */

    .blog-card h4 {

        font-size: 16px;

    }

    .blog-card p {

        font-size: 13px;

    }


    /* FAQ */

    .faq-question,
    .accordion-button {

        font-size: 14px;

    }

    .faq-answer,
    .accordion-body {

        font-size: 13px;

    }


    /* Buttons */

    button,
    .btn,
    a.btn,
    .blog-btn,
    .google-review-btn {

        font-size: 13px;

    }


    /* Footer */

    footer h4,
    footer h5 {

        font-size: 15px;

    }

    footer p,
    footer li,
    footer a {

        font-size: 12px;

    }

}


/* =========================================================
   29. SMALL MOBILE
   BELOW 576px
========================================================= */

@media (max-width: 575px) {

    body {

        font-size: 14px;

    }


    p {

        font-size: 14px;

        line-height: 1.65;

    }


    /* Main headings */

    .section-title,
    .programmes-title {

        font-size: 29px;

        line-height: 1.2;

    }


    .testimonial-section h2,
    .blog-section h2,
    .faq-section h2,
    .faq-heading,
    .why-odlc-title,
    .section-heading {

        font-size: 29px;

        line-height: 1.2;

    }


    .hero-section h1,
    .hero-section h2 {

        font-size: 30px;

    }


    /* Description */

    .section-desc,
    .programmes-description {

        font-size: 14px;

        line-height: 1.65;

    }


    /* Badge */

    .section-tag,
    .programmes-badge,
    .testimonial-badge,
    .blog-badge,
    .faq-badge {

        font-size: 11px;

    }


    /* Cards */

    .feature-card h4 {

        font-size: 15px;

    }

    .feature-card p {

        font-size: 12px;

    }


    .impact-title {

        font-size: 22px;

    }

    .impact-item h3 {

        font-size: 21px;

    }

    .impact-item p {

        font-size: 11px;

    }


    .program-card h3,
    .program-card h4,
    .programme-card h3,
    .programme-card h4 {

        font-size: 15px;

    }

    .program-card p,
    .programme-card p {

        font-size: 12px;

    }


    /* Blog */

    .blog-card h4 {

        font-size: 15px;

    }

    .blog-card p {

        font-size: 12px;

    }


    /* Testimonials */

    .review-card h5 {

        font-size: 14px;

    }

    .review-card p {

        font-size: 12px;

    }


    /* FAQ */

    .faq-question,
    .accordion-button {

        font-size: 13px;

    }

    .faq-answer,
    .accordion-body {

        font-size: 12px;

    }


    /* Buttons */

    button,
    .btn,
    a.btn,
    .blog-btn,
    .google-review-btn {

        font-size: 12px;

    }


    /* Footer */

    footer h4,
    footer h5 {

        font-size: 14px;

    }

    footer p,
    footer li,
    footer a {

        font-size: 11px;

    }

}

.section-container {

    width: 100%;

    max-width: 1320px;

    margin-left: auto;
    margin-right: auto;

    padding-left: 40px;
    padding-right: 40px;

    box-sizing: border-box;

}

/* =========================
   DESKTOP
   ========================= */

.section-container {
    width: 100%;
    max-width: var(--section-max-width);
    margin: 0 auto;

    padding-left: 20px;
    padding-right: 20px;
}


/* =========================
   LAPTOP
   ========================= */

@media (max-width: 1399px) {

    .section-container {
        max-width: 1300px;
        padding-left: 20px;
        padding-right: 20px;
    }

}


/* =========================
   TABLET
   ========================= */

@media (max-width: 991px) {

    .section-container {
        max-width: 100%;
        padding-left: 15px;
        padding-right: 15px;
    }

}


/* =========================
   MOBILE
   ========================= */

@media (max-width: 767px) {

    .section-container {
        padding-left: 10px;
        padding-right: 10px;
    }

} 

/* =========================================
   STUDENT LOGIN
   ========================================= */

.student-login-section {
    width: 100%;
    min-height: 100vh;
    padding: 50px 20px;
    display: flex;
    align-items: center;
    justify-content: center;

    background:
        radial-gradient(
            circle at 10% 20%,
            rgba(28, 104, 201, 0.08),
            transparent 28%
        ),
        radial-gradient(
            circle at 90% 80%,
            rgba(28, 104, 201, 0.08),
            transparent 28%
        ),
        #f5f9fe;

    font-family:
        "Segoe UI",
        Arial,
        sans-serif;
}


/* =========================================
   MAIN CARD
   ========================================= */

.student-login-card {
    width: 100%;
    max-width: 1050px;
    min-height: 620px;

    display: grid;
    grid-template-columns: 42% 58%;

    background: #ffffff;

    border-radius: 28px;

    overflow: hidden;

    box-shadow:
        0 25px 70px rgba(6, 45, 92, 0.13);

    position: relative;
}


/* =========================================
   LEFT PANEL
   ========================================= */

.student-login-left {
    position: relative;

    overflow: hidden;

    min-height: 620px;

    background:
        linear-gradient(
            145deg,
            #0b3f78 0%,
            #062d5c 55%,
            #041f43 100%
        );

    color: #ffffff;

    display: flex;
    flex-direction: column;

    padding: 55px 45px;

    isolation: isolate;
}


/* Decorative circle */

.student-login-left::before {
    content: "";

    position: absolute;

    width: 280px;
    height: 280px;

    border-radius: 50%;

    background:
        rgba(55, 125, 220, 0.22);

    top: -150px;
    left: -100px;

    z-index: -1;
}


/* Large curved decoration */

.student-login-left::after {
    content: "";

    position: absolute;

    width: 360px;
    height: 700px;

    border: 1px solid rgba(255,255,255,0.12);

    border-radius: 50%;

    right: -270px;
    top: -40px;

    z-index: -1;
}


/* =========================================
   DOT PATTERN
   ========================================= */

.left-pattern {
    position: absolute;

    top: 25px;
    left: 25px;

    width: 75px;
    height: 75px;

    opacity: .4;

    background-image:
        radial-gradient(
            rgba(255,255,255,.7) 1.5px,
            transparent 1.5px
        );

    background-size: 15px 15px;
}


/* =========================================
   WELCOME CONTENT
   ========================================= */

.welcome-content {
    margin-top: 45px;

    max-width: 270px;

    position: relative;

    z-index: 2;
}


.welcome-icon {
    width: 78px;
    height: 78px;

    border-radius: 50%;

    border: 2px solid rgba(255,255,255,.35);

    background:
        rgba(255,255,255,.08);

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 25px;

    font-size: 32px;

    box-shadow:
        0 10px 30px rgba(0,0,0,.12);
}


.welcome-content h2 {
    margin: 0 0 15px;

    font-size: 31px;

    font-weight: 700;

    line-height: 1.2;
}


.welcome-content p {
    margin: 0;

    color: rgba(255,255,255,.86);

    font-size: 16px;

    line-height: 1.7;
}


.welcome-line {
    width: 55px;
    height: 3px;

    background: #2f83ed;

    border-radius: 20px;

    margin-top: 25px;
}


/* =========================================
   STUDY ILLUSTRATION
   ========================================= */

.study-illustration {
    position: absolute;

    left: 35px;
    bottom: 0;

    width: 330px;
    height: 190px;
}


/* Books */

.books {
    position: absolute;

    bottom: 20px;
    left: 10px;

    width: 115px;
}


.books div {
    height: 13px;

    margin-top: 4px;

    border-radius: 3px;

    background:
        linear-gradient(
            90deg,
            #ffffff,
            #b9d5f4
        );

    box-shadow:
        0 3px 5px rgba(0,0,0,.15);
}


.books div:nth-child(1) {
    width: 105px;
}

.books div:nth-child(2) {
    width: 120px;
}

.books div:nth-child(3) {
    width: 110px;
}


/* Plant */

.plant {
    position: absolute;

    bottom: 45px;
    left: 0;

    width: 65px;
    height: 90px;
}


.plant::after {
    content: "";

    position: absolute;

    bottom: 0;
    left: 15px;

    width: 35px;
    height: 25px;

    border-radius: 4px 4px 12px 12px;

    background: #d9e9f7;
}


.plant span {
    position: absolute;

    width: 23px;
    height: 12px;

    border-radius: 50% 0 50% 0;

    background: #4ca56b;
}


.plant span:nth-child(1) {
    left: 28px;
    top: 20px;
    transform: rotate(-35deg);
}

.plant span:nth-child(2) {
    left: 8px;
    top: 35px;
    transform: rotate(25deg);
}

.plant span:nth-child(3) {
    left: 32px;
    top: 43px;
    transform: rotate(-35deg);
}


/* Laptop */

.laptop {
    position: absolute;

    right: 5px;
    bottom: 22px;

    width: 155px;
}


.laptop-screen {
    width: 125px;
    height: 85px;

    margin: auto;

    border-radius: 8px 8px 2px 2px;

    border: 5px solid #142d4d;

    background:
        linear-gradient(
            145deg,
            #315b85,
            #0c2341
        );

    box-shadow:
        0 10px 20px rgba(0,0,0,.2);
}


.laptop-base {
    width: 155px;
    height: 10px;

    margin-top: 2px;

    border-radius: 2px 2px 10px 10px;

    background: #d5e0eb;
}


/* =========================================
   RIGHT PANEL
   ========================================= */

.student-login-right {
    background: #ffffff;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 45px 65px;
}


.login-inner {
    width: 100%;
    max-width: 500px;
}


/* =========================================
   HEADING
   ========================================= */

.login-heading {
    text-align: center;

    margin-bottom: 38px;
}


.login-heading h1 {
    margin: 0;

    color: #182f4b;

    font-size: 34px;

    font-weight: 750;

    letter-spacing: -.5px;
}


.login-heading h1 span {
    color: #1267d8;
}


.heading-decoration {
    margin-top: 15px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 10px;
}


.heading-decoration span {
    width: 28px;
    height: 2px;

    background: #c8d8eb;
}


.heading-decoration span:first-child {
    background: #1267d8;
}


.heading-decoration i {
    font-size: 17px;

    font-style: normal;
}


/* =========================================
   FORM
   ========================================= */

.form-group {
    margin-bottom: 24px;
}


.form-group label {
    display: block;

    margin-bottom: 9px;

    color: #102d50;

    font-size: 14px;

    font-weight: 700;
}


.input-wrapper {
    position: relative;

    display: flex;
    align-items: center;
}


.input-wrapper input {
    width: 100%;

    height: 58px;

    padding:
        0 50px 0 48px;

    border: 1px solid #d9e2ee;

    border-radius: 11px;

    outline: none;

    color: #183654;

    background: #ffffff;

    font-size: 15px;

    transition:
        .25s ease;

    box-sizing: border-box;
}


.input-wrapper input::placeholder {
    color: #91a0b2;
}


.input-wrapper input:focus {
    border-color: #277be1;

    box-shadow:
        0 0 0 4px rgba(39,123,225,.10);
}


.input-icon {
    position: absolute;

    left: 17px;

    width: 20px;
    height: 20px;

    color: #72869e;

    pointer-events: none;
}


.input-icon svg {
    width: 100%;
    height: 100%;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;

    stroke-linecap: round;

    stroke-linejoin: round;
}


/* Password button */

.password-toggle {
    position: absolute;

    right: 14px;

    border: 0;

    background: transparent;

    cursor: pointer;

    width: 28px;
    height: 28px;

    color: #72869e;

    display: flex;

    align-items: center;

    justify-content: center;
}


.password-toggle svg {
    width: 19px;
    height: 19px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.7;
}


/* =========================================
   OPTIONS
   ========================================= */

.login-options {
    display: flex;

    align-items: center;

    justify-content: space-between;

    margin:
        2px 0 24px;
}


.remember-me {
    display: flex;

    align-items: center;

    gap: 9px;

    cursor: pointer;

    color: #314965;

    font-size: 13px;

    font-weight: 600;
}


.remember-me input {
    display: none;
}


.custom-checkbox {
    width: 19px;
    height: 19px;

    border-radius: 4px;

    border: 1px solid #c7d5e5;

    display: flex;

    align-items: center;

    justify-content: center;

    background: white;

    transition: .2s;
}


.remember-me input:checked
+ .custom-checkbox {
    background: #1267d8;

    border-color: #1267d8;
}


.custom-checkbox svg {
    width: 13px;
    height: 13px;

    fill: none;

    stroke: white;

    stroke-width: 3;

    opacity: 0;
}


.remember-me input:checked
+ .custom-checkbox svg {
    opacity: 1;
}


.forgot-password {
    color: #1267d8;

    text-decoration: none;

    font-size: 13px;

    font-weight: 600;

    transition: .2s;
}


.forgot-password:hover {
    color: #062d5c;

    text-decoration: underline;
}


/* =========================================
   LOGIN BUTTON
   ========================================= */

.login-button {
    width: 100%;

    height: 55px;

    border: 0;

    border-radius: 9px;

    background:
        linear-gradient(
            90deg,
            #062d5c,
            #1267d8
        );

    color: #ffffff;

    font-size: 16px;

    font-weight: 700;

    cursor: pointer;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 20px;

    box-shadow:
        0 9px 20px rgba(18,103,216,.20);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}


.login-button svg {
    width: 21px;
    height: 21px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;

    stroke-linecap: round;

    stroke-linejoin: round;

    transition: transform .2s ease;
}


.login-button:hover {
    transform: translateY(-2px);

    box-shadow:
        0 13px 25px rgba(18,103,216,.28);
}


.login-button:hover svg {
    transform: translateX(4px);
}


/* =========================================
   DIVIDER
   ========================================= */

.login-divider {
    display: flex;

    align-items: center;

    gap: 14px;

    margin: 23px 0;
}


.login-divider span {
    flex: 1;

    height: 1px;

    background: #e2e8f0;
}


.login-divider b {
    color: #9aa7b6;

    font-size: 12px;

    font-weight: 500;
}


/* =========================================
   GOOGLE BUTTON
   ========================================= */

.google-login {
    width: 100%;

    height: 54px;

    border-radius: 10px;

    border: 1px solid #d8e1ec;

    background: #ffffff;

    color: #1c3554;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 13px;

    font-size: 14px;

    font-weight: 650;

    cursor: pointer;

    transition: .2s ease;
}


.google-login:hover {
    background: #f7faff;

    border-color: #b9cbe0;

    transform: translateY(-1px);
}


.google-icon {
    width: 21px;
    height: 21px;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 19px;

    font-weight: 700;

    font-family: Arial, sans-serif;

    color: #4285f4;
}


/* =========================================
   ADMIN HELP
   ========================================= */

.administrator-help {
    margin-top: 26px;

    text-align: center;

    color: #74849a;

    font-size: 13px;
}


.administrator-help a {
    color: #1267d8;

    text-decoration: none;

    font-weight: 650;

    margin-left: 4px;
}


.administrator-help a:hover {
    text-decoration: underline;
}


/* =========================================
   RESPONSIVE
   ========================================= */

@media (max-width: 900px) {

    .student-login-card {
        grid-template-columns: 1fr;

        max-width: 560px;
    }


    .student-login-left {
        min-height: 280px;

        padding: 35px 35px;
    }


    .welcome-content {
        margin-top: 10px;

        max-width: 350px;
    }


    .welcome-icon {
        width: 60px;
        height: 60px;

        font-size: 25px;

        margin-bottom: 15px;
    }


    .welcome-content h2 {
        font-size: 26px;
    }


    .welcome-content p {
        font-size: 14px;
    }


    .study-illustration {
        display: none;
    }


    .student-login-right {
        padding: 45px 35px;
    }

}


@media (max-width: 600px) {

    .student-login-section {
        min-height: auto;

        padding: 20px 12px;
    }


    .student-login-card {
        border-radius: 20px;
    }


    .student-login-left {
        min-height: 245px;

        padding: 30px 25px;
    }


    .left-pattern {
        top: 15px;
        left: 15px;
    }


    .welcome-content {
        max-width: 260px;
    }


    .welcome-icon {
        width: 50px;
        height: 50px;

        font-size: 21px;
    }


    .welcome-content h2 {
        font-size: 23px;
    }


    .welcome-content p {
        font-size: 13px;

        line-height: 1.6;
    }


    .student-login-right {
        padding: 35px 22px;
    }


    .login-heading {
        margin-bottom: 30px;
    }


    .login-heading h1 {
        font-size: 28px;
    }


    .input-wrapper input {
        height: 54px;
    }


    .login-button {
        height: 53px;
    }


    .login-options {
        align-items: flex-start;

        gap: 15px;
    }


    .administrator-help {
        line-height: 1.7;
    }

}


@media (max-width: 380px) {

    .student-login-left {
        min-height: 225px;

        padding: 25px 20px;
    }


    .student-login-right {
        padding:
            30px 17px;
    }


    .login-heading h1 {
        font-size: 25px;
    }


    .login-options {
        flex-direction: column;

        align-items: flex-start;
    }

}