/**
 * Footer CSS
 * 
 * This file contains all styling for the theme footer:
 * - Footer container and columns layout (.theme-footer, .footer-columns-container)
 * - Footer logo positioning
 * - Social media list styling (.social-media-list)
 * - Footer partners section (.footer-partners-container, .partners-list)
 * - Footer newsletter section (.footer-newsletter)
 * - Footer navigation menu (.footer-navigation-container, .footer-menu)
 * - Footer mission and disclaimer sections
 * 
 * Extracted from main.css lines 3960-4188
 */

.theme-footer,
.theme-footer li,
.theme-footer p {
    font-size: .85rem;
    line-height: 1.15rem
}

.theme-footer>.theme-container {
    flex-direction: column
}

.theme-footer .footer-columns-container {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap
}

.theme-footer .footer-columns-container .theme-logo {
    width: 15rem
}

@media screen and (min-width:991px) {
    .theme-footer .footer-columns-container {
        flex-direction: row
    }
}

.footer-column {
    flex: 1 1 auto;
    min-width: 1px
}

.footer-column+.footer-column {
    margin-top: 48px
}

@media screen and (min-width:991px) {
    .footer-column+.footer-column {
        margin-left: 48px;
        margin-top: 0
    }

    .footer-column:first-of-type {
        max-width: 45%
    }

    .footer-column:last-of-type {
        max-width: calc(55% - 48px)
    }
}

.footer-column h6 {
    text-transform: uppercase
}

.footer-social {
    margin: 1rem 0
}

.social-media-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap
}

.social-media-list>li {
    margin-bottom: 16px
}

.social-media-list>li:not(:last-of-type) {
    margin-right: 16px
}

.social-media-list>li>a {
    align-items: center;
    display: flex;
    flex-flow: row nowrap
}

.footer-navigation-container,
.footer-partners-container {
    margin-top: 40px
}

@media screen and (min-width:991px) {

    .footer-navigation-container,
    .footer-partners-container {
        margin-top: 50px
    }
}

.footer-partners-container {
    margin-top: 32px;
    text-align: center
}

@media screen and (min-width:991px) {
    .footer-partners-container {
        margin-top: 42px
    }
}

.footer-partners-container h6 {
    margin-bottom: 1.25rem;
    text-transform: uppercase
}

.partners-list {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 2rem 3rem;
    justify-content: center;
    width: 100%
}

.partners-list>li:not(:last-of-type) {
    margin-right: 0
}

.partners-list>li img {
    max-width: 5rem
}

.social-media-list span {
    display: none
}

.social-media-list [class^=icon-] {
    display: inline-block;
    font-size: 1.5rem;
    margin-right: 4px
}

.social-media-list [class^=icon-]:before {
    color: #7ab5b0;
    color: var(--theme-primary-color)
}

@media screen and (min-width:991px) {
    .social-media-list span {
        display: inline-block
    }
}

.footer-newsletter {
    border-radius: 16px;
    padding: 20px
}

.footer-newsletter p {
    margin-bottom: 0;
    margin-top: 0
}

.footer-newsletter p+p {
    margin-top: 4px
}

.footer-newsletter a {
    background-color: #7ab5b0;
    background-color: var(--theme-primary-color);
    border: none;
    border-radius: 2rem;
    color: #fff !important;
    color: var(--theme-white-color) !important;
    display: inline-block;
    margin-top: 1rem !important;
    padding: .5rem 1.5rem;
    -webkit-text-decoration: none !important;
    text-decoration: none !important
}

@media screen and (min-width:991px) {
    .footer-newsletter {
        padding: 40px
    }
}

.footer-mission>.theme-logo+* {
    margin-top: 24px
}

.footer-navigation-container {
    font-size: .75rem;
    line-height: 1.5rem;
    text-align: center
}

.footer-navigation-container .footer-menu {
    align-items: center;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    text-transform: uppercase
}

.footer-navigation-container .footer-menu>li:first-of-type {
    flex: 1 1 100%
}

.footer-navigation-container .footer-menu>li:not(:last-of-type) {
    margin-right: 16px
}

@media screen and (min-width:991px) {
    .footer-navigation-container .footer-menu {
        flex-wrap: nowrap
    }

    .footer-navigation-container .footer-menu>li:first-of-type {
        flex: initial
    }
}

.footer-navigation-container>p {
    font-size: inherit;
    line-height: 1rem
}

.footer-navigation-container>*+* {
    margin-top: 16px
}

.footer-disclaimer {
    margin-top: 2.5rem
}

@media screen and (min-width:991px) {
    .footer-disclaimer {
        margin-top: 5rem
    }
}
