/* @gula-code */

.gb-knoten, .gb-start {
	--gb-fg: var(--sitefgcolor, #d8dbe0);
	--gb-bg: var(--sitebgcolor, #40434b);
	--gb-akzent: var(--site_link_color, currentColor);
	--gb-linie: color-mix(in srgb, var(--gb-fg) 22%, transparent);
	--gb-flaeche: color-mix(in srgb, var(--gb-fg) 7%, transparent);
}

.gb-zugang {
	max-width: 26rem;
	margin: 6vh auto 10vh;
	padding: 2.25rem 2rem 2rem;
	background: var(--gb-flaeche);
	border: 1px solid var(--gb-linie);
	border-radius: 6px;
	text-align: center;
}
.gb-zugang .gb-titel { margin: 0 0 .35rem; }
.gb-zugang-hinweis { margin: 0 0 1.5rem; opacity: .75; font-size: .95em; }
.gb-zugang-form { display: flex; flex-direction: column; gap: .6rem; text-align: left; }
.gb-zugang-form label { font-size: .85em; letter-spacing: .04em; text-transform: uppercase; opacity: .8; }
.gb-zugang-form input[type="password"] {
	width: 100%;
	box-sizing: border-box;
	padding: .75rem .9rem;
	font: inherit;
	color: var(--gb-fg);
	background: var(--input_bg, color-mix(in srgb, var(--gb-bg) 70%, #000));
	border: 1px solid var(--gb-linie);
	border-radius: 4px;
}
.gb-zugang-form input[type="password"]:focus-visible {
	outline: 2px solid var(--gb-akzent);
	outline-offset: 1px;
	border-color: transparent;
}
.gb-zugang-form button {
	margin-top: .4rem;
	padding: .75rem 1rem;
	font: inherit;
	font-weight: 600;
	letter-spacing: .03em;
	color: var(--gb-bg);
	background: var(--gb-fg);
	border: 0;
	border-radius: 4px;
	cursor: pointer;
	transition: opacity .15s;
}
.gb-zugang-form button:hover { opacity: .85; }
.gb-zugang-form button:focus-visible { outline: 2px solid var(--gb-akzent); outline-offset: 2px; }
.gb-zugang-fehler {
	margin: 1rem 0 0;
	padding: .6rem .8rem;
	font-size: .95em;
	color: #fff;
	background: color-mix(in srgb, #c0392b 75%, transparent);
	border-radius: 4px;
}

.gb-zurueck { margin: 0 0 .4rem; font-size: .9em; }
.gb-zurueck a { text-decoration: none; opacity: .85; }
.gb-zurueck a:hover { opacity: 1; }
.gb-modi { display: flex; gap: .4rem; flex-wrap: wrap; margin: .5rem 0 1.25rem; }
.gb-modi a {
	padding: .3rem .8rem;
	font-size: .9em;
	text-decoration: none;
	border: 1px solid var(--gb-linie);
	border-radius: 999px;
}
.gb-modi a.aktiv { background: var(--gb-fg); color: var(--gb-bg); border-color: var(--gb-fg); }

.gb-suche { margin: 0 0 1.5rem; }
.gb-suche > summary { cursor: pointer; width: max-content; opacity: .85; }
.gb-suche > summary:hover { opacity: 1; }
.gb-suche[open] > summary { margin-bottom: .75rem; }
.gb-suche-ergebnis { margin: 0 0 1rem; }

@media (max-width: 480px) {
	.gb-zugang { margin-top: 3vh; padding: 1.75rem 1.25rem 1.5rem; }
}

body.gb-ohne-menu .navitem_exp { visibility: hidden; }

.gb-start { min-height: 45vh; }
.gb-start .gb-titel { margin-bottom: .75rem; }
.gb-start-text p { max-width: 38rem; }
.gb-start-bearbeiten { margin-top: 2rem; font-size: .85em; opacity: .7; }

.gb-untertitel { margin: -.25rem 0 1.25rem; opacity: .8; }

.gula-lb__cap .gb-exif { display: block; margin: .6rem auto 0; text-align: center; }
.gula-lb__cap .gb-exif > summary { cursor: pointer; font-size: .8em; letter-spacing: .06em; text-transform: uppercase; opacity: .7; list-style: none; }
.gula-lb__cap .gb-exif > summary::-webkit-details-marker { display: none; }
.gula-lb__cap .gb-exif > summary::before { content: "▶"; font-size: .75em; margin-right: .35em; }
.gula-lb__cap .gb-exif[open] > summary::before { content: "▼"; }
.gula-lb__cap .gb-exif-panel { display: flex; flex-direction: column; align-items: center; gap: .1rem; padding-top: .35rem; }
.gula-lb__cap .gb-exif-kamera { font-weight: 600; }
.gula-lb__cap .gb-exif-objektiv, .gula-lb__cap .gb-exif-technik { opacity: .85; }
.gula-lb__cap .gb-exif-datum { opacity: .7; }
.gula-lb__cap .gb-exif-keins { display: block; margin-top: .4rem; font-size: .8em; opacity: .5; }

.gula-image-info:has(> .gb-exif-karte) { flex-wrap: wrap; }
.gula-image-info .gb-exif-karte { display: block; flex: 0 0 100%; width: 100%; margin-top: .35rem; text-align: left; font-size: .72rem; line-height: 1.4; }
.gula-image-info .gb-exif-karte > summary { cursor: pointer; list-style: none; letter-spacing: .04em; opacity: .6; width: max-content; }
.gula-image-info .gb-exif-karte > summary::-webkit-details-marker { display: none; }
.gula-image-info .gb-exif-karte > summary::before { content: "▶"; font-size: .75em; margin-right: .35em; }
.gula-image-info .gb-exif-karte[open] > summary::before { content: "▼"; }
.gula-image-info .gb-exif-karte > summary:hover { opacity: .9; }
.gula-image-info .gb-exif-karte .gb-exif-panel { display: flex; flex-direction: column; gap: .1rem; padding-top: .3rem; }
.gula-image-info .gb-exif-karte .gb-exif-kamera { font-weight: 600; opacity: .9; }
.gula-image-info .gb-exif-karte .gb-exif-objektiv, .gula-image-info .gb-exif-karte .gb-exif-technik { opacity: .75; }
.gula-image-info .gb-exif-karte .gb-exif-datum { opacity: .6; }
.gula-image-info .gb-exif-keins { display: block; margin-top: .3rem; font-size: .68rem; opacity: .45; }

.gb-nur-admin { display: inline-block; margin-left: .5em; padding: .05em .5em; font-size: .75em; letter-spacing: .03em; border: 1px solid currentColor; border-radius: 999px; opacity: .8; }

.gb-dateien { columns: 2 24rem; column-gap: 2.5rem; margin: 1.25rem 0 3rem; }
.gb-dateigruppe { break-inside: avoid; margin: 0 0 1.5rem; }
.gb-dateisymbol { display: block; width: 24px; height: auto; margin: 0 0 .45rem; }
.gb-dateigruppe ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 3px; }
.gb-dateigruppe li { display: flex; align-items: baseline; gap: .75rem; margin: 0; padding: .4rem .65rem; background: var(--gb-flaeche); border-radius: 3px; font-size: .9em; hyphens: manual; }
.gb-dateigruppe li::before { content: none; display: none; }
.gb-datei { display: inline; flex: 1; min-width: 0; text-decoration: none; overflow-wrap: anywhere; hyphens: manual; }
.gb-datei:hover .gb-datei-name, .gb-datei:focus-visible .gb-datei-name { text-decoration: underline; }
.gb-datei[download]::before { content: "↓"; display: inline-block; width: 1.1em; opacity: .7; }
.gb-datei[data-gula-pdf]::before { content: "↗"; display: inline-block; width: 1.1em; opacity: .7; }
.gb-datei-groesse { font-size: .8em; opacity: .6; white-space: nowrap; }
.galerie-image.gb-kachel-dateien { background-size: 78% !important; background-position: 50% 30%; }
