.skip-link{position:fixed;top:0;left:1rem;z-index:10000;padding:.75rem 1rem;color:#fff;background:#000;transform:translateY(-120%)}
.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:3px solid #ffbf47!important;outline-offset:3px}
.topmenu__item:focus-within .topmenu__sublist{opacity:1;transform:translateX(0);pointer-events:auto}
.topmenu__sublist li:focus-within>ul{opacity:1;pointer-events:auto}
/* Preserve the original link-based appearance after using semantic buttons. */
.widget-fonts button {
    appearance: none;
    border: 0;
    padding: 4px;
    color: inherit;
    background: transparent;
    font: inherit;
    font-size: 16px;
    font-weight: bold;
    line-height: inherit;
    cursor: pointer;
    transition: .3s ease all;
}
.widget-fonts button:hover { color: #eee; transform: scale(1.2); }
@media (max-width: 1430px) { .widget-fonts button { font-size: 14px; } }

.menu-button-mobile {
    appearance: none;
    color: inherit;
    background: transparent;
    font: inherit;
    cursor: pointer;
}

.logo {
    display: block;
    margin-top: 0;
    margin-bottom: .5rem;
    font-size: 2.5rem;
    font-weight: 500;
    line-height: 1.2;
}
/* Definitive keyboard navigation overrides. */
.skip-link {
    position: fixed;
    top: 0;
    left: 1rem;
    z-index: 2147483647;
    display: block;
    width: auto;
    height: auto;
    padding: .75rem 1rem;
    overflow: visible;
    clip: auto;
    white-space: nowrap;
    color: #fff !important;
    background: #000;
    opacity: 1;
    visibility: visible;
    transform: translateY(-150%);
}
.skip-link:focus,
.skip-link:focus-visible {
    top: 1rem;
    transform: none !important;
}

.topmenu__item--sublist:focus-within > .topmenu__sublist,
.topmenu__item:focus-within > .topmenu__sublist {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(0) !important;
    pointer-events: auto !important;
}
.topmenu__sublist li:focus-within > ul {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}
.topmenu__item--sublist:focus-within > a span,
.topmenu__sublist li:focus-within > span > a {
    color: #b17f20;
}
/* WCAG fixes that retain the original visual language. */
.tiles__container a.box,
a.box.js-tilesBox {
    color: inherit;
    text-decoration: none;
}
.tiles__container a.box:focus,
a.box.js-tilesBox:focus {
    text-decoration: none;
}
.cookies-close {
    appearance: none;
    border: 0;
    padding: 0;
    color: #fff;
    background: transparent;
    font: inherit;
    font-weight: bold;
    cursor: pointer;
}
.cookies-close:hover,
.cookies-close:focus {
    color: #2baeb8;
    text-decoration: none;
}
html {
    scroll-padding-top: 7rem;
    scroll-padding-bottom: 7rem;
}
#main-content {
    scroll-margin-top: 7rem;
}
#main-content:focus {
    outline: none !important;
}
.accessible-page-title-container {
    padding-top: 2rem;
    padding-bottom: 1rem;
}
.accessible-page-title {
    margin: 0;
    color: #282828;
    font-family: "Playfair Display", serif;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
}
@media (max-width: 1200px) {
    .accessible-page-title {
        font-size: 28px;
    }
}
@media (max-width: 768px) {
    .accessible-page-title-container {
        padding-top: 1.5rem;
        padding-bottom: .75rem;
    }
    .accessible-page-title {
        font-size: 24px;
    }
}
.accessible-content-list {
    padding-left: 1.5rem;
    list-style: disc;
}

.cookies-message-container {
    bottom: 0 !important;
}

.required-fields-note {
    flex: 0 0 100%;
    margin: 0 0 .75rem;
    color: #4a4a4a;
    font-size: .9rem;
}
.contact-form-errors {
    flex: 0 0 100%;
    width: 100%;
    margin: 0 0 1rem;
    padding: .75rem 1rem;
    color: #65151b;
    background: #fff5f5;
    border-left: 4px solid #b4232f;
}
.contact-form-errors p {
    margin: 0 0 .4rem;
    font-weight: 600;
}
.contact-form-errors ul {
    margin: 0;
    padding-left: 1.25rem;
}
.contact-form-errors a {
    color: #65151b;
    text-decoration: underline;
}
.kontakt-form.contact__form {
    flex-wrap: wrap;
}

.accessible-separator {
    display: block;
    width: 100%;
    height: 1px;
    margin: 1rem 0;
    overflow: hidden;
    border: 0;
    background: rgba(0, 0, 0, .1);
    pointer-events: none;
    user-select: none;
    cursor: default;
}
