html {
    font-size: 14px;
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px;
    overflow-x: clip;
}

.loader-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(0, 0, 0, 0.2); /* Optional: Semi-transparent overlay */
    z-index: 9999;
}

.flag-desktop {
    display: block;
}

.flag-mobile {
    display: none;
}

footer {
    font: var(--zf-body-16--300) !important;
    font-weight: 400;
}

    footer h5 {
        margin-bottom: 24px;
    }

.bg-zurichblue {
    color: white;
    background-color: #2167ae !important;
}

.footer-inner {
    padding: 80px 0;
}

.footer-top {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

    .footer-top .social-bar ul {
        column-gap: 0;
    }

.footer-links {
    flex: 1 1;
}

    .footer-links ul {
        margin: 0;
    }

    .footer-links:nth-child(2) ul {
        column-count: 2;
    }

.footer-links--horizontal {
    order: inherit;
    padding-left: 15px;
    flex: 2 1;
}

    .footer-links--horizontal ul {
        float: none;
    }

.footer-bottom ul.footer-legal {
    display: flex;
    justify-content: space-evenly;
}

.social-bar {
    margin-bottom: 0;
}

    .social-bar ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        list-style: none;
        margin: 0;
        padding: 0;
    }

.copyright {
    font-size: .875rem;
    text-align: center;
    font-weight: 700;
    line-height: 1.5;
}

.inverted ul.link-list a, ul.link-list.inverted a {
    color: #fff;
}

.footer ul li a {
    font-size: 16px;
    text-decoration: none;
}

ul.link-list {
    padding: 0;
}

    ul.link-list li {
        display: block;
        line-height: 1;
        list-style-type: none;
        margin-bottom: 16px;
        margin-left: 0;
    }

        ul.link-list li a {
            color: #2167ae;
            font-size: 18px;
            line-height: 1.5;
        }

.inverted a, a.inverted {
    color: #fff;
}

    .inverted a.icon, .inverted button.icon, a.icon.inverted, button.icon.inverted {
        color: #fff
    }

        .inverted a.icon:hover, .inverted button.icon:hover, a.icon.inverted:hover, button.icon.inverted:hover {
            color: #91bfe3
        }

.inverted a, a.inverted {
    color: #fff
}

    .inverted a:hover, a.inverted:hover {
        color: #91bfe3 !important;
    }

a {
    transition: all .2s
}

    a:hover {
        color: #2167ae;
        text-decoration: none
    }

.slider-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    background-color: transparent;
    width: 100%
}

svg {
    width: 100%;
    max-width: 750px;
    height: 100px;
}

text {
    font-family: var(--bs-font-sans-serif);
    font-size: 16px;
    fill: #2167ae;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.icon--alert {
    vertical-align: middle;
    cursor: pointer;
}

    .icon--alert:hover {
        background-color: #2C438B;
    }

@media (max-width: 600px) {
    html {
        font-size: 16px;
    }

    .flag-desktop {
        display: none;
    }

    .flag-mobile {
        display: inline;
    }
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

@media (min-width: 992px) {
    body {
        font-size: 20px;
        line-height: 1.5;
    }

    .footer-bottom ul.footer-legal {
        justify-content: flex-end;
    }
}