/*==================================================
FOOTER
==================================================*/

.college-footer {
    position: relative;
    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #082A45 0%,
            #0C416D 48%,
            #12537F 100%
        );

    color: #fff;

    padding: 85px 0 0;
}

.college-footer .container {
    position: relative;
    z-index: 2;
}


/*==================================================
DECORATIVE BACKGROUND
==================================================*/

.college-footer::before {
    content: "";

    position: absolute;

    top: -220px;
    right: -140px;

    width: 500px;
    height: 500px;

    border-radius: 50%;

    background: rgba(255, 255, 255, .035);

    pointer-events: none;
}

.college-footer::after {
    content: "";

    position: absolute;

    bottom: -220px;
    left: -160px;

    width: 450px;
    height: 450px;

    border-radius: 50%;

    background: rgba(255, 255, 255, .025);

    pointer-events: none;
}


/*==================================================
MAIN FOOTER GRID
==================================================*/

.footer-main {
    display: grid;

    grid-template-columns:
        1.5fr
        .9fr
        1.25fr;

    gap: 70px;

    align-items: start;
}


/*==================================================
LOGO
==================================================*/

.footer-logo {
    display: inline-block;

    margin-bottom: 25px;

    text-decoration: none;
}

.footer-logo img {
    display: block;

    width: 150px;
    max-width: 100%;
    height: auto;
}


/*==================================================
ABOUT
==================================================*/

.footer-about {
    max-width: 480px;

    margin: 0 0 30px;

    color: #D8E7F3;

    font-size: 16px;
    line-height: 1.9;
}


/*==================================================
HEADINGS
==================================================*/

.college-footer h4 {
    position: relative;

    display: inline-block;

    margin: 5px 0 30px;
    padding-bottom: 13px;

    color: #fff;

    font-size: 23px;
    line-height: 1.3;

    font-weight: 700;
}

.college-footer h4::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: 0;

    width: 50px;
    height: 3px;

    border-radius: 20px;

    background: #FFC107;
}

.college-footer h4::before {
    content: "";

    position: absolute;

    left: 0;
    bottom: 0;

    width: 90px;
    height: 1px;

    background: rgba(255, 255, 255, .18);
}


/*==================================================
QUICK LINKS
==================================================*/

.footer-links {
    list-style: none;

    margin: 0;
    padding: 0;

    display: grid;

    grid-template-columns: 1fr 1fr;

    width: 100%;
    max-width: 305px;
}

.footer-links li {
    margin-bottom: 15px;
}

.footer-links a {
    display: flex;
    align-items: center;

    gap: 8px;

    color: #D2E2EF;

    text-decoration: none;

    font-size: 15px;
    line-height: 1.5;

    transition:
        color .3s ease,
        transform .3s ease;
}

.footer-links a i {
    flex: 0 0 auto;

    color: #FFC107;

    font-size: 11px;

    transition: transform .3s ease;
}

.footer-links a:hover {
    color: #fff;

    transform: translateX(5px);
}

.footer-links a:hover i {
    transform: translateX(3px);
}


/*==================================================
SOCIAL
==================================================*/

.footer-social {
    display: flex;

    gap: 12px;

    flex-wrap: wrap;
}

.footer-social a {
    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    position: relative;

    overflow: hidden;

    border-radius: 50%;

    color: #fff;

    background: rgba(255, 255, 255, .08);

    border: 1px solid rgba(255, 255, 255, .12);

    text-decoration: none;

    transition:
        transform .35s ease,
        background .35s ease,
        box-shadow .35s ease;
}

.footer-social a i {
    position: relative;
    z-index: 2;

    font-size: 19px;

    transition: transform .35s ease;
}

.footer-social a:hover {
    transform: translateY(-6px);

    box-shadow:
        0 15px 30px rgba(0, 0, 0, .25);
}

.footer-social a:hover i {
    transform: scale(1.15);
}


/* Facebook */

.footer-social a:nth-child(1):hover {
    background: #1877F2;
}


/* Instagram */

.footer-social a:nth-child(2):hover {
    background: #E4405F;
}


/* YouTube */

.footer-social a:nth-child(3):hover {
    background: #FF0000;
}


/* LinkedIn */

.footer-social a:nth-child(4):hover {
    background: #0A66C2;
}


/*==================================================
CONTACT
==================================================*/

.footer-contact-card {
    display: flex;

    flex-direction: column;

    gap: 18px;
}

.footer-contact-item {
    display: flex;
    align-items: flex-start;

    gap: 14px;

    min-width: 0;
}

.footer-contact-icon {
    flex: 0 0 40px;

    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: rgba(255, 193, 7, .10);

    border: 1px solid rgba(255, 193, 7, .18);

    color: #FFC107;

    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease;
}

.footer-contact-item:hover .footer-contact-icon {
    background: #FFC107;

    color: #082A45;

    transform: translateY(-2px);
}

.footer-contact-item > div:last-child {
    min-width: 0;
}

.footer-contact-item span {
    display: block;

    margin-bottom: 3px;

    color: #91B0C8;

    font-size: 12px;
    line-height: 1.3;

    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: .8px;
}

.footer-contact-item p {
    margin: 0;

    color: #D8E7F3;

    font-size: 15px;
    line-height: 1.7;
}

.footer-contact-item a {
    display: inline-block;

    max-width: 100%;

    color: #D8E7F3;

    text-decoration: none;

    font-size: 15px;
    line-height: 1.5;

    overflow-wrap: anywhere;

    transition: color .3s ease;
}

.footer-contact-item a:hover {
    color: #FFC107;
}


/*==================================================
BOTTOM
==================================================*/

.footer-bottom {
    display: flex;

    justify-content: space-between;
    align-items: center;

    gap: 20px;

    margin-top: 60px;

    padding: 25px 0;

    border-top: 1px solid rgba(255, 255, 255, .10);
}

.footer-bottom p {
    margin: 0;

    color: #BFD2E2;

    font-size: 14px;
    line-height: 1.5;
}

.footer-bottom strong {
    color: #fff;
}

.footer-tagline {
    color: #FFC107 !important;

    font-weight: 600;
}

.footer-tagline i {
    margin-right: 5px;

    font-size: 12px;
}


/*==================================================
TABLET
==================================================*/

@media (max-width: 991px) {

    .college-footer {
        padding-top: 70px;
    }

    .footer-main {
        grid-template-columns: 1fr 1fr;

        gap: 50px;
    }

    .footer-about-col {
        grid-column: 1 / -1;
    }

    .footer-about {
        max-width: 650px;
    }

}


/*==================================================
MOBILE
==================================================*/

@media (max-width: 767px) {

    .college-footer {
        padding-top: 60px;
    }


    /* Decorative circles */

    .college-footer::before {
        width: 300px;
        height: 300px;

        top: -150px;
        right: -150px;
    }

    .college-footer::after {
        width: 260px;
        height: 260px;

        bottom: -140px;
        left: -150px;
    }


    /* Main layout */

    .footer-main {
        display: flex;

        flex-direction: column;

        gap: 40px;

        text-align: center;
    }

    .footer-about-col,
    .footer-links-col,
    .footer-contact-col {
        width: 100%;
    }


    /* Logo */

    .footer-logo {
        margin-bottom: 18px;
    }

    .footer-logo img {
        width: 135px;

        margin: 0 auto;
    }


    /* About */

    .footer-about {
        max-width: 500px;

        margin-left: auto;
        margin-right: auto;

        font-size: 14px;
        line-height: 1.75;
    }


    /* Social */

    .footer-social {
        justify-content: center;

        gap: 10px;
    }

    .footer-social a {
        width: 44px;
        height: 44px;
    }

    .footer-social a i {
        font-size: 17px;
    }


    /* Headings */

    .college-footer h4 {
        margin: 0 0 25px;

        font-size: 20px;
    }

    .college-footer h4::after {
        left: 50%;

        transform: translateX(-50%);
    }

    .college-footer h4::before {
        left: 50%;

        transform: translateX(-50%);
    }


    /* Quick links */

    .footer-links {
        grid-template-columns: 1fr 1fr;

        max-width: 360px;

        margin: 0 auto;

        text-align: left;
    }

    .footer-links li {
        margin-bottom: 12px;
    }

    .footer-links a {
        font-size: 14px;
    }


    /* Contact */

    .footer-contact-card {
        width: 100%;
        max-width: 420px;

        margin: 0 auto;

        text-align: left;

        gap: 16px;
    }

    .footer-contact-item {
        gap: 11px;
    }

    .footer-contact-icon {
        flex-basis: 38px;

        width: 38px;
        height: 38px;
    }

    .footer-contact-item p,
    .footer-contact-item a {
        font-size: 14px;
    }


    /* Bottom */

    .footer-bottom {
        flex-direction: column;

        text-align: center;

        margin-top: 45px;

        padding: 20px 0;

        gap: 8px;
    }

    .footer-bottom p {
        font-size: 12px;
        line-height: 1.6;
    }

}


/*==================================================
SMALL MOBILE
==================================================*/

@media (max-width: 480px) {

    .college-footer {
        padding-top: 50px;
    }

    .college-footer::before {
        width: 240px;
        height: 240px;

        top: -120px;
        right: -120px;
    }

    .college-footer::after {
        width: 210px;
        height: 210px;

        bottom: -110px;
        left: -120px;
    }


    .footer-main {
        gap: 35px;
    }


    .footer-logo img {
        width: 125px;
    }


    .footer-about {
        font-size: 13px;
        line-height: 1.7;
    }


    .college-footer h4 {
        font-size: 19px;

        margin-bottom: 22px;
    }


    /* Two-column links */

    .footer-links {
        grid-template-columns: 1fr 1fr;

        width: 100%;
        max-width: 320px;
    }

    .footer-links a {
        font-size: 13px;
    }


    /* Contact */

    .footer-contact-card {
        gap: 14px;
    }

    .footer-contact-icon {
        flex-basis: 36px;

        width: 36px;
        height: 36px;

        border-radius: 9px;
    }

    .footer-contact-item span {
        font-size: 10px;
    }

    .footer-contact-item p,
    .footer-contact-item a {
        font-size: 13px;
        line-height: 1.55;
    }


    /* Bottom */

    .footer-bottom {
        margin-top: 40px;
    }

    .footer-bottom p {
        font-size: 11px;
    }

}


/*==================================================
VERY SMALL MOBILE
==================================================*/

@media (max-width: 380px) {

    .college-footer {
        padding-top: 45px;
    }

    .footer-main {
        gap: 30px;
    }

    .footer-logo img {
        width: 115px;
    }

    .footer-about {
        font-size: 12px;
    }

    .footer-links {
        max-width: 290px;
    }

    .footer-links a {
        font-size: 12px;
    }

    .footer-contact-item {
        gap: 9px;
    }

    .footer-contact-icon {
        flex-basis: 34px;

        width: 34px;
        height: 34px;

        font-size: 13px;
    }

    .footer-contact-item p,
    .footer-contact-item a {
        font-size: 12px;
    }

    .footer-bottom p {
        font-size: 10px;
    }

}