/* Kleine Links im jeweiligen Layout, ohne einen zusätzlichen festen Button. */
.gc-impressum-footer {
    box-sizing: border-box;
    margin: 1.5rem 0 0;
    padding: .6rem 0 0;
    text-align: center;
    font: inherit;
    font-size: 13px;
    line-height: 1.5;
    color: inherit;
}
.gc-impressum-footer .gc-impressum-link {
    display: inline-block;
    position: static;
    padding: .25rem .4rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: normal;
    letter-spacing: normal;
    text-transform: none;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .2em;
    cursor: pointer;
}
.gc-impressum-footer .gc-impressum-link:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}
.gc-impressum-footer--paper { color: #6a4c38; border-top: 1px dotted #6a4c3855; }
.gc-impressum-footer--radio { color: var(--text-main, #c9c0ae); border-top: 1px solid #ffffff14; }
.gc-impressum-footer--intro { position: absolute; bottom: max(8px, env(safe-area-inset-bottom)); left: 0; right: 0; margin: 0; padding: 0; border: 0; }
.gc-impressum-footer--controls { margin: .25rem 0 0; padding: 0; border: 0; }
.gc-impressum-footer--stage { position: absolute; right: 12px; bottom: max(6px, env(safe-area-inset-bottom)); margin: 0; padding: 0; border: 0; z-index: 3; }
.gc-impressum-footer--terminal { color: #79bb9b; font-family: 'Courier New', monospace; }
.gc-impressum-footer--stars { color: #a9b8c1; font-family: 'Courier New', monospace; }
.gc-site--stars .text-container { bottom: 44px; }
.gc-impressum-footer--map { color: inherit; text-align: left; margin: 0 0 1rem; padding: 0 0 .5rem; border-bottom: 1px solid #8b0000; }
.gc-impressum-footer--darkness { position: static; color: inherit; text-align: left; margin-top: 1rem; padding-top: .75rem; border-top: 1px solid #555; }
:is(.gc-site--calendar, .gc-site--calendarhelp) { display: flex; flex-direction: column; align-items: stretch; }
:is(.gc-site--calendar, .gc-site--calendarhelp) > .calendar-container { flex: 1 1 0; min-height: 0; height: auto; }
.gc-impressum-footer--calendar { flex: 0 0 auto; width: 100%; margin: 0; padding: .2rem 0 max(.2rem, env(safe-area-inset-bottom)); color: #f5eee1; background: #261b16b8; font-family: Georgia, serif; }
.gc-impressum-footer--calendar #help { position: static; display: inline-block; padding: .25rem .4rem; background: transparent; color: inherit; font: inherit; border-radius: 0; text-decoration: underline; }

.gc-impressum-footer--year { position: absolute; bottom: max(10px, env(safe-area-inset-bottom)); right: 10px; margin: 0; padding: 0; color: #000; font-size: 1.2em; z-index: 10; white-space: nowrap; }
.gc-impressum-footer--year .gc-impressum-link { padding: 0; text-decoration: none; }
.gc-impressum-footer--year #help { position: static; bottom: auto; right: auto; font: inherit; }
.gc-impressum-footer--darkintro { color: #d6d6d6; }
.gc-site--map .save-controls { flex-wrap: wrap; justify-content: flex-end; align-items: center; max-width: calc(100% - 20px); }
@media (max-width: 600px) {
    .gc-impressum-footer--year, .gc-site--year .bottom-left-links a { font-size: 13px; }
    .gc-site--year .bottom-left-links { gap: 12px; }
}

.gc-darkness-help { width: min(32rem, calc(100% - 40px)); box-sizing: border-box; max-height: calc(100% - 40px); overflow-y: auto; padding: 1.5rem; border: 1px solid #666; border-radius: 10px; background: #181a1b; color: #e2e2e2; font: 16px/1.6 system-ui, sans-serif; box-shadow: 0 8px 40px #0008; }
.gc-darkness-help::backdrop { background: #000b; }
.gc-darkness-help h2 { margin: 0 0 1rem; font-size: 1.2rem; }
.gc-darkness-help ul { margin: 0; padding-left: 1.25rem; }
.gc-darkness-help li + li { margin-top: .4rem; }
.gc-darkness-help form { margin-top: 1rem; text-align: right; }
.gc-darkness-help button { padding: .4rem .8rem; border: 1px solid #666; border-radius: 5px; background: #282a2b; color: inherit; font: inherit; cursor: pointer; }
.gc-darkness-help button:focus-visible { outline: 2px solid #ddd; outline-offset: 3px; }

.gc-calendar-help-trigger { flex: 0 0 auto; width: 100%; text-align: center; padding: .2rem 0 max(.2rem, env(safe-area-inset-bottom)); color: #f5eee1; background: #261b16b8; font: 13px/1.5 Georgia, serif; }
.gc-calendar-help-trigger #help { position: static; display: inline-block; padding: .25rem .4rem; background: transparent; color: inherit; font: inherit; border-radius: 0; text-decoration: underline; }
.gc-impressum-footer--calendarhelp { margin: 0 0 1rem; padding: 0 0 .5rem; color: #555; text-align: right; border-bottom: 1px solid #ddd; }
.gc-site--calendarhelp .overlay-content { box-sizing: border-box; width: min(440px, calc(100% - 40px)); max-height: calc(100% - 40px); overflow-y: auto; }

.gc-site--mixtape .gc-impressum-link { color: inherit; font: inherit; text-decoration: underline; text-underline-offset: .2em; }
.gc-site--mixtape .footer { flex-wrap: wrap; align-items: baseline; }
.gc-site--mixtape .footer > span { flex: 1 1 240px; }
.gc-site--mixtape .footer > .gc-impressum-link { margin-left: auto; white-space: nowrap; text-decoration: none; text-transform: uppercase; }
.gc-site--mixtape .access-card > .gc-impressum-link { display: block; margin-top: 1rem; text-align: right; color: var(--muted); font: 11px var(--mono); }
.gc-site--mixtape #opening > .gc-impressum-link { position: absolute; bottom: 70px; left: 28px; color: #d3cbb7; font: 11px var(--mono); }
.gc-site--mixtape .gc-impressum-link:focus-visible { outline: 2px solid var(--red); outline-offset: 4px; }

.gc-impressum-footer--nocache { right: 14px; bottom: max(10px, env(safe-area-inset-bottom)); color: #9aa686; font-family: 'Courier New', Courier, monospace; font-size: 12px; z-index: 100001; }
.gc-impressum-footer--nocache .gc-impressum-link { text-decoration: none; }
