/* ----------------------------------
   Footer
---------------------------------- */

.main-containerfooter{
	display:contents;
}


.cst-site-footer {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2.5rem;
    min-height: 36rem;
    padding: 6.25rem;
    overflow: hidden;
    background: #0a1f3a;
    color: #ffffff;
    font-family: "Gabarito", "Poppins", sans-serif;
}

.cst-site-footer::before,
.cst-site-footer::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.cst-site-footer::before {
    background: var(--cst-footer-bg) center / cover no-repeat;
    opacity: 1;
}

.cst-site-footer::after {
    background: rgba(10, 31, 58, 0.9);
}

.cst-footer__logo,
.cst-footer__content,
.cst-footer__divider,
.cst-footer__bottom {
    position: relative;
    z-index: 1;
}

.cst-footer__logo {
    display: block;
    width: clamp(5rem, 7.4vw, 7.9rem);
    height: clamp(5.16rem, 7.65vw, 8.17rem);
    aspect-ratio: 126.417 / 130.645;
    object-fit: contain;
}

.cst-footer__content {
    width: min(100%, 82.5rem);
}

.cst-footer__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2.5rem;
    padding: 2.5rem 1.875rem;
}

.cst-footer__col {
    min-width: 0;
    padding: 1.25rem 0.625rem;
}

.cst-footer__title {
    margin: 0;
    color: #fffcf9;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.25rem;
    letter-spacing: 0;
}

.cst-footer__rule {
    width: 100%;
    height: 1px;
    margin: 1.25rem 0 0.875rem;
    background: #1a3754;
}

.cst-footer__links {
    display: grid;
    gap: 0.25rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cst-footer__links a,
.cst-footer__links span {
    color: #ffffff;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.85rem;
    text-decoration: none;
    transition: color 180ms ease;
}

.cst-footer__links a:hover,
.cst-footer__links a:focus {
    color: #cde2fe;
}

.cst-footer__links .is-muted {
    color: #8096ab;
}

.cst-footer__hours {
    display: grid;
    gap: 0;
    color: #ffffff;
    font-size: 1rem;
}

.cst-footer__hours-row {
    display: grid;
    grid-template-columns: 4.7rem 1fr;
    gap: 1.25rem;
    align-items: center;
    line-height: 1.85rem;
}

.cst-footer__hours-row strong {
    font-weight: 500;
}

.cst-footer__hours-row span {
    font-weight: 400;
}

.cst-footer__actions {
    display: grid;
    align-self: flex-start;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    width: max-content;
    margin-top: 1.25rem;
}

.cst-footer__divider {
    width: min(100%, 82.5rem);
    height: 1px;
    background: #1a3754;
}

.cst-footer__bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
}

.cst-footer__socials {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.625rem;
}

.cst-footer__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    transition: transform 180ms ease, opacity 180ms ease;
}

.cst-footer__social-link:hover,
.cst-footer__social-link:focus {
    opacity: 0.82;
    transform: translateY(-1px);
}

.cst-footer__social-link img {
    width: 2.25rem;
    height: 2.25rem;
}

.cst-footer__copyright {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3125rem;
    color: #e8e8e8;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.875rem;
}

.cst-footer__copyright::before {
    content: "©";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    font-size: 1.125rem;
    line-height: 1;
}

@media (max-width: 1199.98px) {
    .cst-site-footer {
        padding: 5rem 3rem;
    }

    .cst-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .cst-site-footer {
        align-items: flex-start;
        padding: 4rem 1.25rem;
    }

    .cst-footer__logo {
        align-self: center;
    }

    .cst-footer__grid {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: 1.5rem 0;
    }

    .cst-footer__col {
        padding: 1rem 0;
    }

    .cst-footer__bottom,
    .cst-footer__divider {
        align-self: center;
    }
}

