footer.site-footer {
    position: relative;
    isolation: isolate;
    z-index: 10;
    width: 100%;
    flex-shrink: 0;
    margin-top: -8px;
    padding-top: calc(4rem + 8px) !important;
    padding-bottom: 0 !important;
    background-image: url("../images/footer-bg.webp") !important;
    background-color: rgb(4, 12, 24) !important;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    border-top: 0 !important;
    color: #ffffff;
}

.site-footer .footer-overlay {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: rgba(4, 12, 24, 0.64);
    pointer-events: none;
}

.site-footer > .container {
    position: relative;
    z-index: 1;
    max-width: 1600px;
}

.site-footer > .container > .grid {
    padding: 2.5rem;
    background-color: transparent !important;
}

.site-footer .svg-icon {
    width: 1em;
    height: 1em;
    display: inline-block;
    vertical-align: -0.125em;
    flex-shrink: 0;
}

.site-footer [data-icon="phone"] + span {
    white-space: nowrap;
}

.site-footer h3,
.site-footer h3 svg,
.site-footer .text-primary,
.site-footer h3.text-dark {
    color: #60a5fa;
}

.site-footer h3.text-dark {
    font-weight: 700;
}

.site-footer .text-dark,
.site-footer .text-gray-500,
.site-footer .text-gray-600,
.site-footer .text-gray-700,
.site-footer a {
    color: rgba(255, 255, 255, 0.82);
}

.site-footer a:hover {
    color: #ffffff;
}

.site-footer .bg-gray-100 {
    background-color: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(4px);
}

.site-footer .border-gray-200 {
    border-color: rgba(255, 255, 255, 0.18);
}

.site-footer > .container > .border-t {
    padding-bottom: 2rem;
    background-color: transparent !important;
    box-shadow: none !important;
    clip-path: inset(0 -100vmax);
}

.site-footer .solutions-column {
    width: max-content;
    max-width: 100%;
    justify-self: start;
}

.site-footer .solutions-column h3 {
    white-space: nowrap;
}

@media (min-width: 1024px) {
    .site-footer > .container > .grid {
        grid-template-columns: minmax(0, 2.8fr) max-content max-content minmax(0, 2fr) minmax(230px, 2.4fr);
    }
}

@media (min-width: 1536px) {
    .site-footer > .container > .grid {
        padding-right: 1.5rem;
        padding-left: 1.5rem;
        column-gap: 1.25rem;
        grid-template-columns: minmax(380px, 2.8fr) max-content max-content minmax(200px, 2fr) minmax(250px, 2.4fr);
    }

    .site-footer .solutions-column ul {
        width: max-content;
        grid-template-columns: repeat(2, max-content);
    }
}

@media (max-width: 767px) {
    .site-footer {
        background-position: 38% center;
    }

    .site-footer > .container > .grid {
        padding: 1.5rem;
    }
}
