:root {
    --hamburg-footer-height:30px;
}

@media screen and (min-width:360px) {
    :root {
        --teha-logo-height:2.875rem;
        --teha-header-button-size:1.875rem
    }
}
@media (min-width:768px) {
    :root {
        --teha-sticky-header-height:3rem;
        --teha-full-width-padding-x:1.5rem;
        --hamburg-footer-height:40px;
        --teha-header-button-margin:1.25rem;
        --teha-header-button-size:2.25rem;
        --teha-header-icon-stroke-width:1.5;
        --teha-icon-menu-item-size:5.5rem;
        --teha-icon-menu-icon-size:1.75rem;
        --teha-icon-menu-font-size:0.75rem
    }
}
@media (min-width:992px) {
    :root {
        --hamburg-footer-height:50px
    }
}





.hamburg-footer {
    background:#003063;
    bottom:0;
    height:var(--hamburg-footer-height);
    left:0;
    position:fixed;
    right:0;
    transition:transform .3s;
    z-index:1035
}
.hamburg-footer .svg-container {
    position:absolute;
    top:0;
    transform:translate3d(0,-50%,0)
}
.hamburg-footer .svg-container svg {
    height:calc(var(--hamburg-footer-height)*.9);
    width:auto
}
.sticky-header .hamburg-footer {
    transform:translate3d(0,calc(var(--hamburg-footer-height) + var(--hamburg-footer-height)*.9),0)
}

.skip-link {
    position: absolute;
    top: -48px;
    left: 12px;
    z-index: 9999;
    padding: 12px 16px;
    background: #003063;
    color: #ffffff;
    text-decoration: none;
    border-radius: 6px;
}

.skip-link:focus {
    top: 12px;
}

.box-nav-menu a:focus,
.nav-icon-item:focus,
.btn-open-menu:focus,
.btn-action:focus {
    outline: 2px solid #003063;
    outline-offset: 2px;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

