/* =========================================
   FOOTER UTAMA
========================================= */

.site-footer {

    position: relative;

    margin-top: 0;

    background:
        linear-gradient(
            135deg,
            #0d376f 0%,
            #174f91 55%,
            #123f78 100%
        );

    color: #ffffff;

    overflow: hidden;
}


/* =========================================
   DEKORASI BACKGROUND
========================================= */

.site-footer::before {

    content: "";

    position: absolute;

    width: 420px;
    height: 420px;

    right: -180px;
    bottom: -220px;

    border-radius: 50%;

    background:
        rgba(255, 255, 255, 0.05);

    pointer-events: none;
}


.site-footer::after {

    content: "";

    position: absolute;

    width: 260px;
    height: 260px;

    left: -150px;
    top: -150px;

    border-radius: 50%;

    border:
        1px solid rgba(255, 255, 255, 0.08);

    pointer-events: none;
}


/* =========================================
   CONTAINER
========================================= */

.footer-container {

    position: relative;

    z-index: 1;

    width: 100%;

    max-width: 1500px;

    margin: 0 auto;

    padding:
        70px 60px 55px;

    display: grid;

    grid-template-columns:
        1.6fr
        0.9fr
        1fr;

    gap: 70px;
}


/* =========================================
   BRAND
========================================= */

.footer-brand-top {

    display: flex;

    align-items: center;

    gap: 14px;
}


.footer-brand-top img {

    width: 54px;
    height: 54px;

    object-fit: contain;

    display: block;
}


.footer-institution {

    display: flex;

    flex-direction: column;

    line-height: 1.15;
}


.footer-institution span {

    font-size: 17px;

    font-weight: 800;

    color: #ffffff;

    letter-spacing: 0.1px;
}


.footer-institution strong {

    margin-top: 4px;

    font-size: 13px;

    font-weight: 600;

    color: rgba(255, 255, 255, 0.72);
}


/* =========================================
   DESKRIPSI
========================================= */

.footer-description {

    max-width: 500px;

    margin-top: 24px;

    font-size: 13px;

    line-height: 1.8;

    color:
        rgba(255, 255, 255, 0.72);
}


/* =========================================
   JUDUL FOOTER
========================================= */

.footer-title {

    display: block;

    margin-bottom: 20px;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1.5px;

    color: #f4c542;
}


/* =========================================
   NAVIGASI
========================================= */

.footer-navigation {

    display: flex;

    flex-direction: column;

    align-items: flex-start;
}


.footer-navigation a {

    position: relative;

    margin-bottom: 11px;

    color:
        rgba(255, 255, 255, 0.76);

    text-decoration: none;

    font-size: 13px;

    line-height: 1.5;

    transition:
        color 0.25s ease,
        transform 0.25s ease;
}


.footer-navigation a::before {

    content: "→";

    position: absolute;

    left: -18px;

    opacity: 0;

    color: #f4c542;

    transition:
        opacity 0.25s ease,
        left 0.25s ease;
}


.footer-navigation a:hover {

    color: #ffffff;

    transform: translateX(4px);
}


.footer-navigation a:hover::before {

    left: -16px;

    opacity: 1;
}


/* =========================================
   PROFIL
========================================= */

.footer-profile {

    padding-left: 35px;

    border-left:
        1px solid rgba(255, 255, 255, 0.14);
}


.footer-profile h3 {

    margin: 0;

    font-size: 17px;

    font-weight: 800;

    color: #ffffff;
}


.footer-profile p {

    margin: 6px 0 18px;

    font-size: 13px;

    color:
        rgba(255, 255, 255, 0.68);
}


.footer-unit {

    display: block;

    max-width: 220px;

    font-size: 12px;

    line-height: 1.7;

    color:
        rgba(255, 255, 255, 0.58);
}


/* =========================================
   DIVIDER
========================================= */

.footer-divider {

    position: relative;

    z-index: 1;

    width: calc(100% - 120px);

    max-width: 1380px;

    height: 1px;

    margin: 0 auto;

    background:
        rgba(255, 255, 255, 0.13);
}


/* =========================================
   FOOTER BOTTOM
========================================= */

.footer-bottom {

    position: relative;

    z-index: 1;
}


.footer-bottom-container {

    width: 100%;

    max-width: 1500px;

    margin: 0 auto;

    padding:
        22px 60px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    font-size: 11px;

    color:
        rgba(255, 255, 255, 0.55);
}


.footer-diklat {

    color:
        rgba(255, 255, 255, 0.7);

    font-weight: 600;
}


/* =========================================
   KEMBALI KE ATAS
========================================= */

.footer-back-top {

    color: #ffffff;

    text-decoration: none;

    font-size: 11px;

    font-weight: 700;

    transition:
        color 0.25s ease;
}


.footer-back-top:hover {

    color: #f4c542;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1100px) {

    .footer-container {

        padding:
            60px 35px 45px;

        grid-template-columns:
            1.4fr
            1fr;

        gap: 50px;
    }


    .footer-profile {

        padding-left: 0;

        border-left: none;

        border-top:
            1px solid rgba(255, 255, 255, 0.14);

        padding-top: 30px;
    }


    .footer-divider {

        width: calc(100% - 70px);
    }


    .footer-bottom-container {

        padding:
            20px 35px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 700px) {

    .footer-container {

        padding:
            50px 24px 40px;

        grid-template-columns: 1fr;

        gap: 38px;
    }


    .footer-brand-top img {

        width: 46px;
        height: 46px;
    }


    .footer-institution span {

        font-size: 15px;
    }


    .footer-institution strong {

        font-size: 12px;
    }


    .footer-description {

        font-size: 12px;

        line-height: 1.7;
    }


    .footer-profile {

        padding-top: 28px;
    }


    .footer-divider {

        width: calc(100% - 48px);
    }


    .footer-bottom-container {

        padding:
            20px 24px;

        flex-direction: column;

        align-items: flex-start;

        gap: 10px;
    }


    .footer-back-top {

        margin-top: 5px;
    }

}