/*
 * Footer v2.
 *
 * The approved desktop redesign starts at 1200px. Porto's existing footer is
 * deliberately preserved below that breakpoint until a mobile footer design
 * has been approved.
 */

.fwb-footer-v2 {
    display: none;
}

@media (min-width: 1200px) {
    body.fwb-footer-v2-enabled .footer-wrapper > #footer,
    body.fwb-footer-v2-enabled #social-icons-menu-footer {
        display: none !important;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2 {
        --fwb-footer-v2-bg: #f8f9fa;
        --fwb-footer-v2-blue: #1f8cc5;
        --fwb-footer-v2-orange: #ff6b00;
        --fwb-footer-v2-text: #0b2d4f;
        --fwb-footer-v2-muted: #294866;
        --fwb-footer-v2-border: rgba(11, 45, 79, 0.14);
        --fwb-footer-v2-light: #f8f9fa;
        --fwb-footer-v2-ink: #0b2d4f;
        display: block;
        width: 100%;
        font-family: "Open Sans", sans-serif;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2 *,
    body.fwb-footer-v2-enabled .fwb-footer-v2 *::before,
    body.fwb-footer-v2-enabled .fwb-footer-v2 *::after {
        box-sizing: border-box;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2 a {
        text-decoration: none;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__main {
        padding: 54px 0 48px;
        background: var(--fwb-footer-v2-bg);
        color: var(--fwb-footer-v2-text);
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__grid {
        display: grid;
        grid-template-columns: minmax(250px, 1.05fr) repeat(3, minmax(175px, 1fr)) minmax(245px, 1.18fr);
        gap: clamp(20px, 2vw, 32px);
        align-items: start;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__about {
        min-width: 0;
        padding-right: clamp(12px, 1.2vw, 22px);
        border-right: 1px solid var(--fwb-footer-v2-border);
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__logo-link {
        display: inline-flex;
        max-width: 200px;
        margin-bottom: 28px;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__logo {
        display: block;
        width: 185px;
        max-width: 100%;
        height: auto;
        object-fit: contain;
        object-position: left center;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__contact {
        display: grid;
        gap: 14px;
        margin: 0 0 22px;
        font-style: normal;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__contact a {
        display: grid;
        grid-template-columns: 20px minmax(0, 1fr);
        gap: 10px;
        align-items: start;
        color: var(--fwb-footer-v2-text);
        font-size: 13px;
        line-height: 1.5;
        transition: color 160ms ease;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__contact a:hover,
    body.fwb-footer-v2-enabled .fwb-footer-v2__contact a:focus-visible {
        color: var(--fwb-footer-v2-blue);
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__contact svg {
        width: 18px;
        height: 18px;
        margin-top: 1px;
        fill: none;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.8;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__hours {
        max-width: 310px;
        padding-top: 17px;
        border-top: 1px solid var(--fwb-footer-v2-border);
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__hours h3 {
        margin: 0 0 9px;
        color: var(--fwb-footer-v2-text);
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 0.02em;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__hours dl {
        display: grid;
        gap: 4px;
        margin: 0;
        color: var(--fwb-footer-v2-muted);
        font-size: 12.5px;
        line-height: 1.45;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__hours dl > div {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__hours dt,
    body.fwb-footer-v2-enabled .fwb-footer-v2__hours dd {
        margin: 0;
        font-weight: 400;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__menu-column,
    body.fwb-footer-v2-enabled .fwb-footer-v2__menu-widget {
        min-width: 0;
        margin: 0;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__menu-title {
        position: relative;
        margin: 0 0 16px;
        padding-bottom: 13px;
        color: var(--fwb-footer-v2-text);
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 0.045em;
        line-height: 1.25;
        text-transform: uppercase;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__menu-title::after {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 32px;
        height: 2px;
        background: var(--fwb-footer-v2-orange);
        content: "";
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__menu-widget ul.menu {
        display: grid;
        gap: 0;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__menu-widget ul.menu > li {
        position: relative;
        display: flex;
        min-height: 54px;
        margin: 0;
        padding: 0 0 0 18px;
        align-items: center;
        border: 0;
        border-bottom: 1px solid var(--fwb-footer-v2-border);
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__menu-widget ul.menu > li::before {
        position: absolute;
        top: 50%;
        left: 1px;
        width: 5px;
        height: 5px;
        border-top: 1.5px solid var(--fwb-footer-v2-orange);
        border-right: 1.5px solid var(--fwb-footer-v2-orange);
        content: "";
        transform: translateY(-50%) rotate(45deg);
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__menu-widget ul.menu > li > a {
        display: flex;
        min-height: 53px;
        width: 100%;
        padding: 10px 0;
        align-items: center;
        color: var(--fwb-footer-v2-muted);
        font-size: 15px;
        font-weight: 400;
        line-height: 1.45;
        transition: none;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__menu-widget ul.menu > li:hover {
        background: transparent !important;
        transform: none !important;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__menu-widget ul.menu > li:hover::before {
        top: 50%;
        left: 1px;
        transform: translateY(-50%) rotate(45deg);
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__menu-widget ul.menu > li > a:hover {
        background: transparent !important;
        color: var(--fwb-footer-v2-muted) !important;
        text-decoration: none !important;
        transform: none !important;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__menu-widget ul.menu > li > a:focus-visible {
        color: var(--fwb-footer-v2-blue);
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__trust {
        padding: 12px 0;
        border-bottom: 1px solid #e2e5e9;
        background: #fff;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__trust-grid {
        display: grid;
        min-height: 56px;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        align-items: stretch;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__trust-item {
        display: flex;
        min-width: 0;
        align-items: center;
        justify-content: center;
        gap: clamp(13px, 1.4vw, 24px);
        padding: 2px clamp(14px, 2vw, 28px);
        color: var(--fwb-footer-v2-ink);
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__trust-item + .fwb-footer-v2__trust-item {
        border-left: 1px solid #e2e5e9;
    }

    body.fwb-footer-v2-enabled a.fwb-footer-v2__trust-item:hover,
    body.fwb-footer-v2-enabled a.fwb-footer-v2__trust-item:focus-visible {
        color: var(--fwb-footer-v2-blue);
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__trust-label {
        flex: 0 0 auto;
        color: inherit;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 0.025em;
        line-height: 1.3;
        text-transform: uppercase;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__trust-image {
        display: block;
        width: auto;
        max-width: min(132px, 45%);
        height: auto;
        max-height: 48px;
        object-fit: contain;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__social-links {
        display: flex;
        gap: 8px;
        align-items: center;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__social-links a {
        display: inline-flex;
        width: 34px;
        height: 34px;
        align-items: center;
        justify-content: center;
        border: 1px solid #dce2e8;
        border-radius: 50%;
        background: #fff;
        color: var(--fwb-footer-v2-ink);
        transition: border-color 160ms ease, color 160ms ease, transform 160ms ease;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__social-links a:hover,
    body.fwb-footer-v2-enabled .fwb-footer-v2__social-links a:focus-visible {
        border-color: var(--fwb-footer-v2-blue);
        color: var(--fwb-footer-v2-blue);
        transform: translateY(-1px);
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__social-links svg {
        width: 17px;
        height: 17px;
        fill: currentColor;
        stroke: none;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__social-links a:nth-child(2) svg {
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__social-links .fwb-footer-v2__youtube-play {
        fill: #fff;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__social-links a:last-child,
    body.fwb-footer-v2-enabled .fwb-footer-v2__social-links a:last-child:hover,
    body.fwb-footer-v2-enabled .fwb-footer-v2__social-links a:last-child:focus-visible {
        border-color: #e62117;
        color: #e62117;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__bottom {
        padding: 12px 0;
        background: var(--fwb-footer-v2-light);
        color: #697386;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__bottom-grid {
        display: grid;
        min-height: 20px;
        grid-template-columns: minmax(0, 1.4fr) auto minmax(0, 1fr);
        gap: 24px;
        align-items: center;
        font-size: 11.5px;
        line-height: 1.35;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__bottom p {
        margin: 0;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__legal {
        display: flex;
        gap: 9px;
        align-items: center;
        justify-content: center;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__bottom a {
        color: #4e5b70;
        font-weight: 600;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__bottom a:hover,
    body.fwb-footer-v2-enabled .fwb-footer-v2__bottom a:focus-visible {
        color: var(--fwb-footer-v2-blue);
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__credit {
        text-align: right;
    }
}

@media (min-width: 1200px) and (max-width: 1399px) {
    body.fwb-footer-v2-enabled .fwb-footer-v2__grid {
        grid-template-columns: 250px repeat(3, minmax(165px, 1fr)) minmax(240px, 1.18fr);
        gap: 16px;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__trust-item {
        gap: 12px;
        padding-right: 14px;
        padding-left: 14px;
    }

    body.fwb-footer-v2-enabled .fwb-footer-v2__trust-label {
        font-size: 10.5px;
    }
}
