/*=============================*/
/*=====----- GENERAL -----=====*/
/*=============================*/

.panel-footer {
    position: relative;
    z-index: 10;
    background: var(--blue-mid-dark);
    text-align: center;
    color: var(--white);
}

.panel-footer .cards-row {
    background: var(--sw-body-bg);
}

.panel-footer .footer-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 30px;
    width: 100%;
    max-width: 1200px;
    padding: 40px 15px 38px;
    margin: 0 auto;
}

.panel-footer .logo-col {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 18px;
}

.panel-footer .logo-footer {
    width: 100%;
    max-width: 189px;
    margin: 0 auto;
}

.panel-footer .logo-footer a {
    display: block;
    text-decoration: none !important;
}

.panel-footer .logo-footer img {
    width: 100%;
}

.panel-footer .contact-info {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 14px;
    font-family: var(--font-body);
    font-weight: normal;
    font-size: var(--text-sm);
    line-height: 1.5;
    color: inherit;
}

.panel-footer .contact-info a {
    font: inherit;
    text-decoration: none;
    color: inherit;
}

.panel-footer .social-links {
    margin-top: 9px;
}

.panel-footer .nav-col {
    margin: 6px 0 9px;
}

.panel-footer .cta-col {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 20px;
}

.panel-footer .footer-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 24px;
}

.panel-footer .footer-bottom a {
    font: inherit;
    color: inherit;
}

.panel-footer .copyright-col {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    align-items: start;
    gap: 12px;
}

.panel-footer .copyright {
    margin: 0;
    font-family: var(--font-body);
    font-weight: normal;
    font-size: var(--text-xs);
    line-height: 1.5;
    color: inherit;
}

.panel-footer .made-by-sv {
    display: block;
    width: 144px;
    text-decoration: none !important;
}

.panel-footer .made-by-sv img {
    width: 100%;
}

.panel-footer .logos-col {
    order: -1;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}

.panel-footer .logos-col .contentRender_name_plugins_core_textbox {
    padding: 0;
}

.panel-footer .logos-col .contentRender_name_plugins_core_textbox * {
    margin: 0 !important;
}

.panel-footer .logos-col .contentRender_name_plugins_core_textbox > * > * {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.panel-footer .logos-col .contentRender_name_plugins_core_textbox > * > * > * {
    flex-shrink: 0;
}

.panel-footer .logos-col .contentRender_name_plugins_core_textbox img {
    width: auto;
    max-width: 85px;
    max-height: 40px;
}

.panel-footer .logos-col .made-by-sv {
    display: none;
    flex-shrink: 0;
}

.panel-footer .mobile-fixed {
    position: fixed;
    bottom: 0px;
    width: 100%;
    z-index: 9999;
}

/*=============================================*/
/*=====----- MICROSITE (black) THEME -----=====*/
/*=============================================*/

.theme-microsite .panel-footer {
    margin-top: 30px;
    background: var(--black);
}

.theme-microsite .panel-footer.no-image-cards::before {
    position: absolute;
    inset: -30px 0 auto;
    z-index: -1;
    display: block;
    height: 31px;
    content: '';
    background: url('/includes/public/assets/shared/edge-texture-black.svg') repeat-x center top / auto 100%;
    pointer-events: none;
}

.theme-microsite .panel-footer .logo-footer {
    max-width: 256px;
}

/*====================================*/
/*=====----- LAVENDER THEME -----=====*/
/*====================================*/

.theme-lavender .panel-footer {
    background: var(--lavender-dark);
}

.theme-lavender .panel-footer.no-image-cards::before {
    position: absolute;
    inset: -30px 0 auto;
    z-index: -1;
    display: block;
    height: 31px;
    content: '';
    background: url('/includes/public/assets/shared/edge-texture-lavender.svg') repeat-x center top / auto 100%;
    pointer-events: none;
}

/*===================================*/
/*=====----- MEDIA QUERIES -----=====*/
/*===================================*/

@media (min-width: 48em) {
    .panel-footer .cards-row {
        position: relative;
        z-index: 2;
    }

    .panel-footer .cards-row::before,
    .panel-footer .cards-row::after {
        position: absolute;
        z-index: -1;
        display: block;
        content: '';
    }

    .panel-footer .cards-row::before {
        inset: calc(50% + 28px) 0 0;
        background: var(--blue-mid-dark);
    }

    .panel-footer .cards-row::after {
        inset: 50% 0 auto;
        height: 31px;
        background: url('/includes/public/assets/shared/edge-texture-blue.svg') repeat-x center top / auto 100%;
    }

    /*----- microsite (black) theme -----*/

    .theme-microsite .panel-footer:not(.no-image-cards)::before {
        display: none;
    }

    .theme-microsite .panel-footer .cards-row::before {
        background: var(--black);
    }

    .theme-microsite .panel-footer .cards-row::after {
        background-image: url('/includes/public/assets/shared/edge-texture-black.svg');
    }

    /*----- lavender theme -----*/

    .theme-lavender .panel-footer:not(.no-image-cards)::before {
        display: none;
    }

    .theme-lavender .panel-footer .cards-row::before {
        background: var(--lavender-dark);
    }

    .theme-lavender .panel-footer .cards-row::after {
        background-image: url('/includes/public/assets/shared/edge-texture-lavender.svg');
    }
}

@media (min-width: 64em) {
    .panel-footer {
        text-align: left;
    }

    .panel-footer .footer-inner {
        grid-template:
            'logo nav cta' auto
            'bottom bottom bottom' auto / 30% minmax(0, 1fr) 31.47%;
        justify-content: space-between;
        padding: 60px var(--space-5) 0;
    }

    .panel-footer .logo-col {
        grid-area: logo;
        gap: 30px;
    }

    .panel-footer .logo-footer {
        max-width: 287px;
        margin: 0;
    }

    .panel-footer .social-links {
        margin: 0;
    }

    .panel-footer .address,
    .panel-footer .phone {
        display: grid;
        grid-template-columns: 21px minmax(0, 1fr);
        align-items: start;
        gap: 10px;
    }

    .panel-footer .address::before,
    .panel-footer .phone::before {
        justify-self: center;
        font: var(--fa-font-solid);
    }

    .panel-footer .address::before {
        content: '\f3c5';
    }

    .panel-footer .phone::before {
        content: '\f095';
    }

    .panel-footer .nav-col {
        justify-self: center;
        grid-area: nav;
        margin: 0;
    }

    .panel-footer .cta-col {
        grid-area: cta;
    }

    .panel-footer .footer-bottom {
        display: flex;
        align-items: center;
        justify-content: space-between;
        grid-area: bottom;
        padding: 20px 0;
        margin-top: 20px;
        border-top: 1px solid rgba(255, 255, 255, 0.5);
    }

    .panel-footer .made-by-sv {
        width: 160px;
    }

    .panel-footer .copyright-col .made-by-sv {
        display: none;
    }

    .panel-footer .logos-col {
        display: flex;
        align-items: center;
        justify-content: end;
        flex-wrap: nowrap;
        order: unset;
        border: none;
        gap: 50px;
        padding: 0;
    }

    .panel-footer .logos-col .contentRender_name_plugins_core_textbox > * > * {
        justify-content: end;
        flex-wrap: nowrap;
        gap: 50px;
    }

    .panel-footer .logos-col .contentRender_name_plugins_core_textbox img {
        max-width: 113px;
        max-height: 52px;
    }

    .panel-footer .logos-col .made-by-sv {
        display: block;
    }

    /*----- microsite (black) theme -----*/

    .theme-microsite .panel-footer .footer-inner {
        padding-top: 50px;
    }

    .theme-microsite .panel-footer .logo-footer {
        max-width: 350px;
    }
}