/* =========================================================
   GK CONSULTANCY - BLACK + BLUE FOOTER
========================================================= */

.footer {
    position: relative;
    overflow: hidden;

    background: #050505;

    color: #ffffff;

    padding-top: 85px;
}


/* =========================================================
   BLUE TOP LINE
========================================================= */

.footer::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 4px;

    background: #2563EB;
}


/* =========================================================
   BACKGROUND BLUE GLOW
========================================================= */

.footer::after {
    content: "";

    position: absolute;

    right: -150px;
    bottom: -150px;

    width: 350px;
    height: 350px;

    border-radius: 50%;

    background: rgba(37, 99, 235, 0.08);

    pointer-events: none;
}


/* =========================================================
   CONTAINER
========================================================= */

.footer-container {

    position: relative;

    z-index: 2;

    max-width: 1400px;

    margin: auto;

    padding: 0 7% 65px;

    display: grid;

    grid-template-columns:
        2.2fr
        1fr
        1fr
        1.3fr;

    gap: 55px;
}


/* =========================================================
   LOGO
========================================================= */

.footer-logo {

    display: flex;

    align-items: center;

    gap: 15px;

    margin-bottom: 20px;
}


.footer-logo img {

    width: 82px;

    height: auto;

    object-fit: contain;

    background: none;

    border-radius: 0;

    padding: 0;

    box-shadow: none;

    transition: .35s;
}


.footer-logo img:hover {

    transform: scale(1.05);
}


.footer-logo h2 {

    margin: 0;

    font-family:
        'Montserrat',
        sans-serif;

    font-size: 27px;

    font-weight: 700;

    color: #ffffff;
}


/* BLUE LOGO ACCENT */

.footer-logo h2 span {

    color: #2563EB;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.footer-box p {

    font-size: 14px;

    line-height: 1.9;

    color: #BDBDBD;

    margin-bottom: 18px;
}


/* =========================================================
   HEADINGS
========================================================= */

.footer-box h3 {

    position: relative;

    margin: 0 0 25px;

    padding-bottom: 12px;

    font-size: 20px;

    font-weight: 700;

    color: #ffffff;
}


.footer-box h3::after {

    content: "";

    position: absolute;

    left: 0;

    bottom: 0;

    width: 52px;

    height: 3px;

    border-radius: 10px;

    background: #2563EB;
}


/* =========================================================
   LINKS
========================================================= */

.footer-box a {

    display: flex;

    align-items: center;

    gap: 10px;

    padding: 9px 0;

    color: #BDBDBD;

    text-decoration: none;

    font-size: 14px;

    transition: .3s;
}


.footer-box a::before {

    content: "›";

    color: #2563EB;

    font-size: 20px;

    transition: .3s;
}


.footer-box a:hover {

    color: #ffffff;

    padding-left: 8px;
}


.footer-box a:hover::before {

    transform: translateX(5px);

    color: #60A5FA;
}


/* =========================================================
   CONTACT
========================================================= */

.footer-contact p {

    display: flex;

    align-items: flex-start;

    gap: 13px;

    margin-bottom: 16px;

    color: #BDBDBD;
}


.footer-contact i {

    width: 40px;

    height: 40px;

    min-width: 40px;

    border-radius: 10px;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 16px;

    background: #111111;

    border: 1px solid #222222;
}


/* ALL CONTACT ICONS BLUE */

.footer-contact .bi-telephone-fill,
.footer-contact .bi-envelope-fill,
.footer-contact .bi-geo-alt-fill {

    color: #2563EB;
}


/* =========================================================
   SOCIAL
========================================================= */

.footer-social {

    display: flex;

    gap: 12px;

    margin-top: 22px;
}


.footer-social a {

    width: 44px;

    height: 44px;

    padding: 0;

    border-radius: 11px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: #111111;

    border: 1px solid #222222;

    color: #ffffff;

    font-size: 18px;

    transition: .35s;
}


/* REMOVE ARROW FROM SOCIAL */

.footer-social a::before {

    display: none;
}


.footer-social a:hover {

    color: #ffffff;

    background: #2563EB;

    border-color: #2563EB;

    transform: translateY(-5px);

    box-shadow:
        0 12px 25px rgba(37,99,235,.30);
}


/* =========================================================
   FOOTER BOTTOM
========================================================= */

.footer-bottom {

    position: relative;

    z-index: 3;

    border-top:
        1px solid #222222;

    background: #030303;

    padding: 22px 7%;

    display: flex;

    align-items: center;

    justify-content: space-between;

    flex-wrap: wrap;

    gap: 10px;

    color: #888888;

    font-size: 13px;
}


.footer-bottom a {

    color: #2563EB;

    text-decoration: none;

    margin-left: 18px;

    transition: .3s;
}


.footer-bottom a:hover {

    color: #60A5FA;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 992px) {

    .footer-container {

        grid-template-columns:
            1fr 1fr;

        gap: 40px;

        padding:
            0 5% 50px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 768px) {

    .footer {

        padding-top: 55px;
    }


    .footer-container {

        grid-template-columns: 1fr;

        gap: 30px;

        padding:
            0 20px 30px;

        text-align: center;
    }


    /* LOGO */

    .footer-logo {

        justify-content: center;

        gap: 10px;
    }


    .footer-logo img {

        width: 68px;
    }


    .footer-logo h2 {

        font-size: 23px;
    }


    /* BOX */

    .footer-box {

        width: 100%;

        padding-bottom: 25px;

        border-bottom:
            1px solid #222222;
    }


    .footer-box:last-child {

        border-bottom: none;
    }


    /* HEADING */

    .footer-box h3 {

        font-size: 19px;

        margin-bottom: 18px;
    }


    .footer-box h3::after {

        left: 50%;

        transform:
            translateX(-50%);
    }


    /* TEXT */

    .footer-box p {

        font-size: 13px;

        line-height: 1.8;
    }


    /* LINKS */

    .footer-box a {

        justify-content: center;

        font-size: 13px;

        padding: 7px 0;
    }


    /* CONTACT */

    .footer-contact p {

        justify-content: center;

        align-items: center;

        text-align: left;

        max-width: 280px;

        margin:
            0 auto 15px;
    }


    /* SOCIAL */

    .footer-social {

        justify-content: center;

        flex-wrap: wrap;

        gap: 10px;

        margin-top: 18px;
    }


    .footer-social a {

        width: 42px;

        height: 42px;

        font-size: 17px;
    }


    /* BOTTOM */

    .footer-bottom {

        flex-direction: column;

        justify-content: center;

        text-align: center;

        padding:
            18px 15px;

        font-size: 12px;

        gap: 7px;
    }


    .footer-bottom a {

        margin-left: 0;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .footer {

        padding-top: 45px;
    }


    .footer-container {

        padding:
            0 16px 25px;

        gap: 25px;
    }


    .footer-logo img {

        width: 60px;
    }


    .footer-logo h2 {

        font-size: 20px;
    }


    .footer-box h3 {

        font-size: 18px;
    }


    .footer-box p {

        font-size: 12px;
    }


    .footer-box a {

        font-size: 12px;
    }


    .footer-contact p {

        font-size: 12px;

        max-width: 260px;
    }


    .footer-contact i {

        width: 36px;

        height: 36px;

        min-width: 36px;

        font-size: 14px;
    }


    .footer-social a {

        width: 40px;

        height: 40px;
    }


    .footer-bottom {

        font-size: 11px;
    }
}