/*
====================================================
SpyX Footer
====================================================
*/

.spyx-footer {
    position: relative;

    overflow: hidden;

    background: #070707;

    border-top: 1px solid rgba(255,255,255,.08);

    padding: 80px 20px 30px;
}

.spyx-footer-radar {
    position: absolute;

    top: 0;
    right: 0;

    width: 420px;
    height: 100%;

    background-repeat: no-repeat;
    background-position: right center;
    background-size: contain;

    opacity: .18;

    pointer-events: none;
}

/*
====================================================
Top Area
====================================================
*/

.spyx-footer-top {
    display: grid;

    grid-template-columns: 320px repeat(4, 1fr);

    gap: 40px;

    align-items: flex-start;

    position: relative;

    z-index: 2;
}

/*
====================================================
Brand
====================================================
*/

.spyx-footer-brand img {
    max-width: 180px;

    margin-bottom: 22px;
}

.spyx-footer-brand p {
    margin: 0;

    color: #b9b9b9;

    font-size: 17px;

    line-height: 1.9;
}

.spyx-footer-social {
    display: flex;

    gap: 16px;

    margin-top: 30px;
}

.spyx-footer-social a {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    border-radius: 50%;

    background: #161616;

    border: 1px solid rgba(255,255,255,.08);

    color: #ffffff;

    text-decoration: none;

    transition: .35s ease;
}

.spyx-footer-social a:hover {
    background: #d71920;

    border-color: #d71920;

    transform: translateY(-3px);
}

/*
====================================================
Columns
====================================================
*/

.spyx-footer-column {
    display: flex;

    flex-direction: column;

    padding-left: 30px;

    border-left: 1px solid rgba(255,255,255,.08);

    min-height: 230px;
}

.spyx-footer-column h4 {
    margin: 0 0 18px;
    color: #ffffff;
    font-size: 20px;
    text-transform: uppercase;
    font-family: Oswald, sans-serif;
}

.spyx-footer-column p {
    margin: 0 0 24px;

    color: #b7b7b7;

    font-size: 17px;

    line-height: 1.9;
}

.spyx-footer-icon {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 54px;
    height: 54px;

    margin-top: auto;

    border-radius: 50%;

    border: 2px solid rgba(215,25,32,.45);

    color: #d71920;

    font-size: 24px;

    text-decoration: none;

    transition: .35s;
}

.spyx-footer-icon:hover {
    background: #d71920;

    color: #ffffff;

    transform: scale(1.05);
}

/*
====================================================
Bottom
====================================================
*/

.spyx-footer-bottom {
    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-top: 70px;

    padding-top: 28px;

    border-top: 1px solid rgba(255,255,255,.08);
}

.spyx-footer-bottom p {
    margin: 0;

    color: #9c9c9c;
}

.spyx-footer-links {
    display: flex;

    gap: 35px;
}

.spyx-footer-links a {
    color: #9c9c9c;

    text-decoration: none;

    transition: .3s;
}

.spyx-footer-links a:hover {
    color: #d71920;
}

/*
====================================================
Responsive
====================================================
*/

@media (max-width:1100px) {

    .spyx-footer-top{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:40px 30px;
    }

    /* Brand stays full width */

    .spyx-footer-brand{
        grid-column:1 / -1;
        margin-bottom:10px;
    }

    /* Footer columns become 2 columns */

    .spyx-footer-column{
        min-height:220px;

        padding-left:0;

        border-left:none;

        border-top:1px solid rgba(255,255,255,.08);

        padding-top:30px;
    }

}

@media (max-width:767px) {

    .spyx-footer{

        padding:60px 20px 30px;
    }

    .spyx-footer-top{

        display:grid;

        grid-template-columns:repeat(2,minmax(0,1fr));

        gap:35px 20px;
    }

    /* Logo + Description full width */

    .spyx-footer-brand{

        grid-column:1 / -1;

        margin-bottom:15px;
    }

    .spyx-footer-brand img{

        max-width:170px;
    }

    .spyx-footer-brand p{

        font-size:16px;

        line-height:1.8;
    }

    .spyx-footer-social{

        margin-top:25px;
    }

    /* Cards */

    .spyx-footer-column{

        min-height:auto;

        padding-top:25px;

        padding-left:0;

        border-left:none;

        border-top:1px solid rgba(255,255,255,.08);
    }

    .spyx-footer-column h4{

        font-size:18px;

        margin-bottom:15px;
    }

    .spyx-footer-column p{

        font-size:15px;

        line-height:1.8;

        margin-bottom:20px;
    }

    .spyx-footer-icon{

        margin-top:10px;
    }

    /* Bottom */

    .spyx-footer-bottom{

        flex-direction:column;

        gap:18px;

        text-align:center;
    }

    .spyx-footer-links{

        justify-content:center;

        flex-wrap:wrap;

        gap:18px;
    }

    .spyx-footer-radar{

        display:none;
    }

}