@charset "utf-8";

/* Gegenwartsschicht für das BG-Archiv. */

#content {
	background-image:none !important;
}

.klassentreffen-global-box,
.abifilm-global-box {
	margin:18px 0 22px;
	padding:16px 18px;
	border:1px solid #b9d0e4;
	border-top:4px solid #216fa8;
	background:#fff;
	border-radius:4px;
	box-shadow:0 1px 2px rgba(0,0,0,0.12);
}

#sidebar {
	padding-top:20px;
	background:none !important;
}

#sidebar.colp33,
#sidebar.col6 {
	background:none !important;
}

#sidebar .nav_sidebar + .termine-years {
	margin-top:-30px;
	border-top:0;
}

#sidebar .nav_sidebar:has(+ .termine-years) {
	border-bottom:0;
}

#sidebar .nav_sidebar + .termine-years li:first-child a {
	border-top:0;
}

body.klassentreffen #sidebar {
	padding-top:61px;
	background:url("/static/img/sidebar_colp33.png") top no-repeat !important;
}

.klassentreffen-global-box h3,
.abifilm-global-box h3 {
	margin-bottom:8px;
	color:#2d8a2d;
	border-bottom:1px solid #e5e5e5;
}

.klassentreffen-global-box p,
.abifilm-global-box p {
	margin-bottom:10px;
}

body.dark .klassentreffen-global-box,
body.dark .abifilm-global-box,
.dark .klassentreffen-global-box,
.dark .abifilm-global-box {
	background:#f8fbff;
	color:#333;
}

body.dark .klassentreffen-global-box p,
body.dark .abifilm-global-box p,
body.dark .klassentreffen-global-box strong,
body.dark .abifilm-global-box strong,
.dark .klassentreffen-global-box p,
.dark .abifilm-global-box p,
.dark .klassentreffen-global-box strong,
.dark .abifilm-global-box strong {
	color:#333;
}

body.dark .klassentreffen-global-box h3,
body.dark .abifilm-global-box h3,
.dark .klassentreffen-global-box h3,
.dark .abifilm-global-box h3 {
	color:#2d8a2d;
}

.klassentreffen-global-button,
.klassentreffen-ak-link,
.klassentreffen-inline-cta,
.abifilm-global-button,
.abifilm-watch-button {
	display:inline-block;
	box-sizing:border-box;
	min-height:34px;
	padding:7px 13px;
	color:#fff;
	text-align:center;
	text-decoration:none;
	border-radius:4px;
}

.klassentreffen-global-button:visited,
.klassentreffen-global-button:hover,
.klassentreffen-global-button:focus,
.klassentreffen-global-button:active,
.klassentreffen-ak-link:visited,
.klassentreffen-ak-link:hover,
.klassentreffen-ak-link:focus,
.klassentreffen-ak-link:active,
.klassentreffen-inline-cta:visited,
.klassentreffen-inline-cta:hover,
.klassentreffen-inline-cta:focus,
.klassentreffen-inline-cta:active,
.abifilm-global-button:visited,
.abifilm-global-button:hover,
.abifilm-global-button:focus,
.abifilm-global-button:active,
.abifilm-watch-button:visited,
.abifilm-watch-button:hover,
.abifilm-watch-button:focus,
.abifilm-watch-button:active {
	color:#fff;
	text-decoration:none;
}

a.submit,
a.submit:visited,
a.submit:hover,
a.submit:focus,
a.submit:active,
input[type=submit],
input[type=submit]:hover,
input[type=submit]:focus,
input[type=submit]:active {
	color:#fff !important;
	text-decoration:none;
}

input.reunion-submit {
	box-sizing:border-box;
	max-width:100%;
	text-align:center;
}

.reunion-row small {
	display:block;
	margin:5px 0 0;
	color:#666;
	font-size:12px;
	line-height:18px;
}

.reunion-row small a {
	white-space:nowrap;
}

#subscr_newsl h5 a,
#subscr_newsl h5 a:visited,
#subscr_newsl h5 a:hover,
#subscr_newsl h5 a:focus {
	color:#2d8a2d;
	text-decoration:none;
}

#subscr_newsl h5 a img {
	margin-right:12px;
	vertical-align:middle;
}

.klassentreffen-post-actions {
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	align-items:center;
	margin-top:12px;
}

.klassentreffen-post-actions .read-more {
	position:static;
	display:inline-block;
	margin:0;
}

.klassentreffen-inline-cta {
	min-width:128px;
}

.klassentreffen-ak-note {
	border-left:4px solid #7aa949;
	padding-left:12px;
	color:#555;
}

.klassentreffen-activity-teaser {
	margin:18px 0 22px;
}

.klassentreffen-activity-teaser p:last-child a + a {
	display:inline-block;
	margin-top:10px;
}

.klassentreffen-activity-teaser h3,
.klassentreffen-ak-overview h4 {
	color:#bf1338;
}

.klassentreffen-ak-overview dl.text {
	display:grid;
	grid-template-columns:150px minmax(0, 1fr);
	column-gap:18px;
	row-gap:10px;
	overflow:visible;
}

.klassentreffen-ak-overview dl.text dt,
.klassentreffen-ak-overview dl.text dd,
.text .klassentreffen-ak-overview dl.text dd {
	float:none;
	position:static;
	left:auto;
	box-sizing:border-box;
	width:auto;
	max-width:none;
	margin:0;
	padding:0;
	border:0;
}

.klassentreffen-ak-overview dl.text dt {
	color:#24384c;
}

.klassentreffen-ak-leads {
	margin:0;
	padding:0;
	list-style:none;
}

.klassentreffen-ak-leads li {
	margin:0 0 9px;
	line-height:18px;
}

.klassentreffen-ak-leads a {
	font-size:12px;
}

.current-reunion-event {
	border:0;
	background:transparent;
	padding:0 0 18px 88px;
	border-radius:0;
	box-shadow:none;
}

.current-reunion-event h3 {
	border:none;
	margin-bottom:8px;
}

.current-reunion-event h3 a {
	color:#2d8a2d;
}

.current-reunion-event .meta_description {
	color:#555;
}

body.klassentreffen #appointment {
	margin-bottom:22px;
	padding:16px 18px 16px 128px;
	border:0;
	border-left:4px solid #216fa8;
	background:#f8fbff;
	border-radius:3px;
}

body.klassentreffen #appointment .meta_date_start {
	left:22px;
	top:16px;
}

body.klassentreffen .meta_description {
	margin:0 0 22px;
	padding:0 0 0 14px;
	border-left:4px solid #7aa949;
	font-size:12px;
	line-height:20px;
}

.reunion-countdown {
	display:block;
	margin-top:4px;
	color:#2d8a2d;
}

.reunion-captcha input {
	width:360px;
	max-width:100%;
	box-sizing:border-box;
}

.klassentreffen-blog-title {
	max-width:760px;
	font-size:34px;
	line-height:42px;
	color:#263a4f;
	border-bottom:6px solid #bf1338;
	padding-bottom:14px;
	margin-bottom:14px;
}

.abifilm-hero {
	margin:18px 0 48px;
}

.abifilm-hero h2 {
	margin-bottom:8px;
}

.abifilm-lead {
	font:18px/28px 'Ubuntu', Helvetica, Arial, sans-serif;
	color:#2d8a2d;
}

.abifilm-player-wrap {
	position:relative;
	box-sizing:border-box;
	width:100%;
	max-width:460px;
	margin:18px 0 24px;
	padding:8px;
	border-radius:4px;
	background:#1f2f3f;
	box-shadow:0 3px 8px rgba(0,0,0,0.22);
}

.abifilm-player-wrap:before {
	content:"";
	display:block;
	padding-top:56.25%;
}

.abifilm-player {
	position:absolute;
	inset:8px;
	width:calc(100% - 16px);
	height:calc(100% - 16px);
	background:#000;
}

.abifilm-page .abifilm-gallery-picture {
	padding:10px;
}

.abifilm-page .galerie_picture .abifilm-player-wrap {
	max-width:none;
	width:100%;
	margin:0 auto;
	padding:0;
	background:#000;
	box-shadow:none;
}

.abifilm-page .galerie_picture .abifilm-player {
	display:block;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
}

.abifilm-page .meta_description {
	margin-bottom:22px;
	color:#ccc;
}

.abifilm-page .abifilm-related {
	margin-top:22px;
}

.abifilm-page .abifilm-related p {
	color:#ccc;
}

.abifilm-gallery-album .image-wrapper {
	background-size:cover;
}

.newsletter-response,
.contact-response,
.admin-message {
	margin:8px 0 10px;
	padding:8px 10px;
	border:1px solid #a8ce82;
	background:#edf7e6;
	border-radius:3px;
	line-height:18px;
}

.newsletter-response-error,
.contact-response-error {
	border-color:#d96b43;
	background:#ffe5dc;
}

.contact-form {
	display:block;
}

.reunion-required {
	color:#bf1338;
	font-weight:bold;
}

.bg-captcha-card {
	position:relative;
	display:block;
	width:360px;
	max-width:100%;
	margin:6px 0 8px;
	padding:0;
	box-sizing:border-box;
	overflow:visible;
}

.bg-captcha-card img {
	display:block;
	width:100%;
	max-width:100%;
	height:auto;
	background:#fff;
	box-sizing:border-box;
}

.bg-captcha-reload {
	position:absolute;
	right:6px;
	bottom:6px;
	width:30px;
	height:28px;
	padding:0;
	border:1px solid #8fb4d5;
	border-radius:5px;
	background:rgba(255,255,255,.94);
	color:#1369bf;
	text-align:center;
	cursor:pointer;
	box-shadow:0 1px 2px rgba(0,0,0,.2);
}

.bg-captcha-reload svg {
	display:block;
	width:18px;
	height:18px;
	margin:4px auto;
}

.bg-captcha-reload:hover,
.bg-captcha-reload:focus {
	background:#edf6ff;
	border-color:#1369bf;
	color:#1369bf;
}

.captcha-loading,
.reunion-captcha-reload[disabled],
.bg-captcha-reload[disabled] {
	opacity:.65;
	cursor:wait;
}

.bg-404-panel {
	margin:28px 0 48px;
	padding:22px 24px;
	border-top:8px solid #bf1338;
	background:#fff;
	box-shadow:0 2px 5px rgba(0,0,0,0.18);
}

.bg-404-panel code {
	background:#f2f2f2;
	padding:1px 4px;
}

.admin-page #content {
	background:#fff;
}

.admin-main {
	padding-top:20px;
	padding-bottom:40px;
}

.admin-main h2 {
	margin-bottom:6px;
}

.admin-stand {
	margin:0 0 18px;
	color:#666;
}

.admin-stats {
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:12px;
	margin:0 0 24px;
}

.admin-stats div {
	padding:13px 14px;
	border:1px solid #ccc;
	background:#f9f9f9;
	border-radius:4px;
}

.admin-stats strong {
	display:block;
	font:28px/32px 'Ubuntu', Helvetica, Arial, sans-serif;
	color:#bf1338;
}

.admin-stats span {
	color:#555;
}

.admin-table {
	margin-bottom:28px;
}

.admin-table th,
.admin-table td {
	text-align:left;
	vertical-align:top;
}

.admin-table form {
	margin:0;
}

.admin-inline-form {
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	align-items:flex-end;
	margin:0 0 12px;
	padding:12px;
	border:1px solid #d8e5f0;
	background:#f8fbff;
	border-radius:4px;
}

.admin-inline-form label {
	min-width:220px;
}

.admin-inline-form input[type=email],
.admin-inline-form input[type=text] {
	width:100%;
}

.admin-inline-form input[type=submit] {
	margin-left:0;
}

.admin-copy-line {
	margin:0 0 18px;
}

.admin-copy-button {
	display:inline-block;
	box-sizing:border-box;
	min-width:190px;
	height:40px;
	padding:0 18px;
	border-radius:4px;
	font-size:14px;
	line-height:38px;
	vertical-align:middle;
}

.admin-copy-status {
	margin-left:8px;
	color:#555;
}

.admin-links li {
	margin-bottom:4px;
}

.admin-login {
	max-width:360px;
	padding-top:30px;
	padding-bottom:40px;
}

.admin-login label {
	margin-bottom:12px;
}

.admin-login input[type=text],
.admin-login input[type=password] {
	box-sizing:border-box;
	width:100%;
}

.admin-login input[type=submit] {
	width:160px;
	height:34px;
}

.admin-login-error {
	border-color:#d96b43;
	background:#ffe5dc;
}

@media screen and (max-width: 980px) {
	.current-reunion-event {
		padding-left:86px;
	}
}

@media screen and (max-width: 820px) {
	body.klassentreffen #sidebar {
		padding-top:0;
		background:none !important;
	}
}

@media screen and (max-width: 620px) {
	.klassentreffen-global-box {
		margin:0 0 18px;
		padding:14px;
	}

	.abifilm-global-box {
		margin:0 0 18px;
		padding:14px;
	}

	.apm_list > li.current-reunion-event,
	.current-reunion-event,
	#sidebar .apm_item.current-reunion-event {
		padding:0 0 16px;
	}

	.current-reunion-event .meta_date_start,
	#sidebar .current-reunion-event .meta_date_start {
		float:left;
		position:static;
		margin:0 12px 8px 0;
	}

	.current-reunion-event h3 {
		clear:none;
		margin-top:0;
	}

	.current-reunion-event .meta {
		clear:both;
		display:block;
	}

	.current-reunion-event .meta li,
	#appointment .meta li {
		display:block;
		margin:0 0 4px;
		line-height:20px;
	}

	#appointment,
	body.klassentreffen #appointment {
		display:grid;
		grid-template-columns:58px minmax(0, 1fr);
		column-gap:14px;
		row-gap:0;
		overflow:hidden;
		padding:14px;
		border:0;
		border-left:4px solid #216fa8;
		background:#f8fbff;
		border-radius:3px;
	}

	#appointment .meta_date_start,
	body.klassentreffen #appointment .meta_date_start {
		position:static;
		float:none;
		grid-column:1;
		grid-row:1;
		margin:6px 0 0;
		width:44px;
		align-self:start;
	}

	body.klassentreffen #sidebar {
		padding-top:0;
		background:none !important;
	}

	body.klassentreffen #appointment .meta {
		clear:none;
		grid-column:2;
		grid-row:1;
		margin:0;
		min-width:0;
	}

	body.klassentreffen #appointment .meta li {
		margin:0 0 7px;
		line-height:20px;
	}

	.klassentreffen-ak-overview dl.text {
		display:block;
	}

	.klassentreffen-ak-overview dl.text dt {
		margin:0 0 3px;
	}

	.klassentreffen-ak-overview dl.text dd {
		margin:0 0 10px;
	}

	.reunion-submit,
	.klassentreffen-global-button,
	.klassentreffen-ak-link,
	.klassentreffen-inline-cta,
	.abifilm-global-button,
	.abifilm-watch-button {
		width:100%;
	}

	.reunion-registration,
	.reunion-form,
	.reunion-row,
	.reunion-captcha {
		box-sizing:border-box;
		max-width:100%;
		min-width:0;
	}

	input.reunion-submit {
		display:block;
		min-width:0;
		height:44px;
		padding:0 12px;
		font-size:16px;
		line-height:42px;
		white-space:normal;
	}

	a.button,
	.colp66 a.button,
	.colp33 a.button {
		position:static;
		box-sizing:border-box;
		width:100%;
		margin:16px 0 0;
	}

	#subscr_newsl form p:first-of-type {
		display:flex;
		gap:8px;
		align-items:flex-start;
	}

	#NewsletterEMailAddress {
		flex:1 1 auto;
		width:auto;
	}

	#NewsletterSubmit {
		flex:0 0 72px;
		width:72px;
	}

	.archivwahl.col12 {
		padding-left:14px;
		padding-right:14px;
	}

	.aw_months {
		display:grid;
		grid-template-columns:repeat(3, 1fr);
		gap:8px;
		margin:10px 0 18px;
		padding:0;
		border-bottom:0;
	}

	.aw_months li,
	.aw_months .aw_empty {
		float:none;
		box-sizing:border-box;
		width:auto;
		height:auto;
		min-height:42px;
		margin:0;
		padding:0;
		line-height:42px;
	}

	.aw_months span,
	.aw_months a {
		position:static;
		box-sizing:border-box;
		width:100%;
		min-height:42px;
		line-height:42px;
		padding:0 !important;
		border:1px solid #6b1c2d;
		border-radius:4px;
	}

	.aw_months .aw_empty {
		color:#9fb6cc;
		background:#edf6ff;
		border:1px solid #c7dcef;
		border-radius:4px;
	}

	.admin-stats {
		grid-template-columns:repeat(2, 1fr);
	}

	.admin-table {
		display:block;
		overflow:visible;
		border:0;
	}

	.admin-table thead {
		display:none;
	}

	.admin-table tbody,
	.admin-table tr,
	.admin-table td {
		display:block;
		box-sizing:border-box;
		width:100%;
	}

	.admin-table tr {
		margin:0 0 10px;
		border:1px solid #c9dceb;
		background:#fff;
		border-radius:4px;
		overflow:hidden;
	}

	.admin-table td {
		display:flex;
		gap:12px;
		justify-content:space-between;
		padding:8px 10px;
		border:0;
		border-bottom:1px solid #e5eef6;
		word-break:break-word;
	}

	.admin-table td:before {
		content:attr(data-label);
		flex:0 0 78px;
		font-weight:bold;
		color:#24384c;
	}

	.admin-table td:last-child {
		border-bottom:0;
	}

	.admin-table td.admin-action {
		display:block;
		text-align:right;
	}

	.admin-table td.admin-action:before {
		content:"";
		display:none;
	}

	.admin-table td.admin-action .cancel {
		min-width:96px;
	}

	.admin-inline-form {
		display:block;
	}

	.admin-inline-form label,
	.admin-inline-form input[type=submit] {
		box-sizing:border-box;
		width:100%;
		margin-left:0;
		margin-bottom:8px;
	}

	.klassentreffen-blog-title {
		font-size:28px;
		line-height:36px;
	}

}
