:root {
    --ruethnick-forest: #18472f;
    --ruethnick-forest-dark: #0d3522;
    --ruethnick-meadow: #3f7338;
    --ruethnick-leaf: #8fb753;
    --ruethnick-cream: #f7f3e7;
    --ruethnick-paper: #fffdf7;
    --ruethnick-terracotta: #a74625;
    --ruethnick-ink: #173327;
}

body.cms-template-ruethnickmodern {
    background: var(--ruethnick-cream);
    color: var(--ruethnick-ink);
    font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    padding-bottom: calc(var(--cms-footer-height) + env(safe-area-inset-bottom, 0px));
}

.ruethnick-modern-shell {
    background: transparent;
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
    isolation: isolate;
    min-height: 100vh;
    position: relative;
}

.ruethnick-modern-shell::before,
.ruethnick-modern-shell::after {
    content: "";
    inset: 0;
    pointer-events: none;
    position: fixed;
}

.ruethnick-modern-shell::before {
    background-color: #dfe9dd;
    background-image: url("../images/RuethnickModern/BackgrL.jpg");
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -2;
}

.ruethnick-modern-shell::after {
    background:
        linear-gradient(90deg, rgb(247 243 231 / 18%), transparent 45%),
        linear-gradient(180deg, rgb(13 53 34 / 4%), rgb(13 53 34 / 17%));
    z-index: -1;
}

.ruethnick-modern-shell > * {
    position: relative;
    z-index: 1;
}

.cms-template-ruethnickmodern .cms-sticky-nav-container {
    min-height: 4.25rem;
    position: relative;
    z-index: 500;
}

.cms-template-ruethnickmodern .cms-top-bar,
.cms-template-ruethnickmodern .cms-top-bar ul,
.cms-template-ruethnickmodern .cms-top-bar li,
.cms-template-ruethnickmodern .cms-top-bar a,
.cms-template-ruethnickmodern .cms-top-bar button,
.cms-template-ruethnickmodern .cms-top-bar .button,
.cms-template-ruethnickmodern #responsive-menu {
    background-color: var(--ruethnick-forest-dark) !important;
}

.cms-template-ruethnickmodern .cms-top-bar {
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgb(255 255 255 / 18%);
    box-shadow: 0 0.4rem 1.6rem rgb(13 53 34 / 18%);
    min-height: 4.25rem;
    padding: 0.35rem clamp(1rem, 3vw, 3.5rem);
}

.cms-template-ruethnickmodern .cms-top-bar .cms-brand,
.cms-template-ruethnickmodern .cms-top-bar .menu a,
.cms-template-ruethnickmodern .cms-top-bar .menu button,
.cms-template-ruethnickmodern .cms-top-bar .button.clear {
    color: #fffdf7;
}

.cms-template-ruethnickmodern .cms-brand {
    align-items: center;
    display: none;
    flex: 0 0 auto;
    gap: 0.65rem;
    max-width: none;
    overflow: visible;
    white-space: nowrap;
}

.cms-template-ruethnickmodern .cms-brand::after {
    color: #fffdf7;
    content: "Rüthnick.info";
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.12rem, 2vw, 1.48rem);
    font-weight: 700;
    letter-spacing: 0.012em;
    display: none;
}

.cms-template-ruethnickmodern .cms-brand-desktop,
.cms-template-ruethnickmodern .cms-brand-mobile {
    display: none !important;
}

.cms-template-ruethnickmodern .cms-top-bar .menu a,
.cms-template-ruethnickmodern .cms-top-bar .menu button,
.cms-template-ruethnickmodern .cms-top-bar .button {
    border-color: transparent;
    box-shadow: none;
}

.cms-template-ruethnickmodern .cms-top-bar .menu .is-active > a {
    box-shadow: inset 0 -0.2rem 0 var(--ruethnick-leaf);
    color: #f6d79a;
}

.cms-template-ruethnickmodern .cms-top-bar .menu a:hover,
.cms-template-ruethnickmodern .cms-top-bar .menu a:focus,
.cms-template-ruethnickmodern .cms-top-bar .menu button:hover,
.cms-template-ruethnickmodern .cms-top-bar .menu button:focus,
.cms-template-ruethnickmodern .cms-top-bar .button:hover,
.cms-template-ruethnickmodern .cms-top-bar .button:focus,
.cms-template-ruethnickmodern .cms-top-bar .button.clear:hover,
.cms-template-ruethnickmodern .cms-top-bar .button.clear:focus {
    background-color: var(--ruethnick-forest-dark) !important;
    color: #f6d79a !important;
}

.cms-template-ruethnickmodern .cms-top-bar .label {
    background: transparent !important;
    border-color: rgb(255 253 247 / 62%);
    color: #fffdf7;
}

.cms-template-ruethnickmodern .cms-top-bar .menu-icon.dark::after {
    background: #fffdf7;
    box-shadow: 0 7px 0 #fffdf7, 0 14px 0 #fffdf7;
}

.cms-template-ruethnickmodern .cms-top-bar .menu-icon.dark:hover::after,
.cms-template-ruethnickmodern .cms-top-bar .menu-icon.dark:focus::after {
    background: #f6d79a;
    box-shadow: 0 7px 0 #f6d79a, 0 14px 0 #f6d79a;
}

.ruethnick-modern-content {
    background: transparent;
    flex: 1 0 auto;
    min-height: calc(100vh - 4.25rem - var(--cms-footer-height));
    padding: clamp(0.75rem, 2vw, 1.5rem) 0 clamp(3rem, 7vw, 6rem);
    position: relative;
    z-index: 1;
}

.cms-template-ruethnickmodern .ruethnick-modern-content > .cms-main {
    backdrop-filter: none;
    background: rgb(255 253 247 / 86%);
    border: 1px solid rgb(24 71 47 / 14%);
    border-radius: 1.25rem;
    box-shadow: 0 1.25rem 3.5rem rgb(13 53 34 / 18%);
    margin-bottom: 0;
    margin-top: 0;
    min-height: 18rem;
    padding: clamp(1.25rem, 3vw, 2.5rem);
}

.cms-template-ruethnickmodern .ruethnick-modern-content > .cms-main.cms-main--boundaries {
    backdrop-filter: none;
    background: transparent;
    border: 0;
    box-shadow: none;
    padding-bottom: 0;
    padding-top: 0;
}

.cms-template-ruethnickmodern .cms-content-boundary,
.cms-template-ruethnickmodern .callout,
.cms-template-ruethnickmodern .card {
    background-color: rgb(255 253 247 / 92%);
    border-color: rgb(24 71 47 / 16%);
    border-radius: 0.9rem;
    box-shadow: 0 0.45rem 1.5rem rgb(13 53 34 / 9%);
}

.cms-template-ruethnickmodern h1,
.cms-template-ruethnickmodern h2,
.cms-template-ruethnickmodern h3 {
    color: var(--ruethnick-forest-dark);
    font-family: Georgia, "Times New Roman", serif;
    letter-spacing: -0.02em;
}

.cms-template-ruethnickmodern .ruethnick-modern-content a:not(.button) {
    color: #27652f;
    text-decoration-color: rgb(39 101 47 / 42%);
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.16em;
}

.cms-template-ruethnickmodern .ruethnick-modern-content a:not(.button):hover,
.cms-template-ruethnickmodern .ruethnick-modern-content a:not(.button):focus {
    color: var(--ruethnick-terracotta);
}

.cms-template-ruethnickmodern .button:not(.secondary):not(.success):not(.warning):not(.alert) {
    background: var(--ruethnick-forest);
    color: #fff;
}

.cms-template-ruethnickmodern .button:not(.secondary):not(.success):not(.warning):not(.alert):hover,
.cms-template-ruethnickmodern .button:not(.secondary):not(.success):not(.warning):not(.alert):focus {
    background: var(--ruethnick-meadow);
    color: #fff;
}

.cms-template-ruethnickmodern :is(a, button, input, select, textarea):focus-visible {
    outline: 3px solid #d78351;
    outline-offset: 3px;
}

.cms-template-ruethnickmodern .accordion-title {
    color: var(--ruethnick-forest-dark);
    font-size: 1.15rem;
    font-weight: 700;
}

.cms-template-ruethnickmodern .cms-footer {
    background: var(--ruethnick-forest-dark);
    border-top: 0.3rem solid var(--ruethnick-leaf);
    bottom: 0;
    box-shadow: none;
    color: #fffdf7;
    left: 0;
    position: fixed;
    right: 0;
    z-index: 400;
}

.cms-template-ruethnickmodern .cms-footer a {
    color: #f6d79a;
}

.cms-template-ruethnickmodern .cms-footer a:hover,
.cms-template-ruethnickmodern .cms-footer a:focus {
    color: #fff;
}

@media screen and (max-width: 63.9375em) {
    .ruethnick-modern-shell::before {
        background-image: url("../images/RuethnickModern/BackgrM.jpg");
        background-position: center bottom;
    }
}

@media screen and (min-width: 64em) {
    .cms-template-ruethnickmodern .cms-brand {
        display: inline-flex;
    }

    .cms-template-ruethnickmodern .cms-brand::after {
        display: inline;
    }
}

@media screen and (max-width: 39.9375em) {
    .ruethnick-modern-shell::before {
        background-image: url("../images/RuethnickModern/BackgrS.jpg");
        background-position: center top;
    }

    .ruethnick-modern-shell::after {
        background: linear-gradient(180deg, rgb(247 243 231 / 8%), rgb(13 53 34 / 18%));
    }

    .cms-template-ruethnickmodern .cms-sticky-nav-container,
    .cms-template-ruethnickmodern .cms-top-bar {
        min-height: 3.65rem;
    }

    .cms-template-ruethnickmodern .cms-top-bar {
        padding: 0.25rem 0.85rem;
    }

    .ruethnick-modern-content {
        min-height: calc(100vh - 3.65rem - var(--cms-footer-height));
        padding: 0.65rem 0 3rem;
    }

    .cms-template-ruethnickmodern .ruethnick-modern-content > .cms-main {
        border-left: 0;
        border-radius: 0;
        border-right: 0;
        padding: 1rem;
    }

    .cms-template-ruethnickmodern .ruethnick-modern-content > .cms-main.cms-main--boundaries {
        padding-left: 0.625rem;
        padding-right: 0.625rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cms-template-ruethnickmodern * {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}
