/*
Theme Name: Pit Theme
Theme URI: http://www.pitteam.ch/
Author: pit team GmbH
Author URI: http://www.pitteam.ch/
Description: WP-Theme fuer die Website www.pitteam.ch, September 2020. Ueberarbeitung Juni 2021.
Version: 1.1
Text Domain: pit_theme
*/




/* -------------------------------------------------------------------------- */
/*	Document Setup
/* -------------------------------------------------------------------------- */

html,
body {
	border: none;
	margin: 0;
	padding: 0;
	}

html {
	scroll-behavior: smooth;
	}
		@media (prefers-reduced-motion: reduce) {
			html { scroll-behavior: auto; }
			}

*,
*:before,
*:after {
	box-sizing: inherit;
	-webkit-font-smoothing: antialiased;
	word-break: break-word;
	word-wrap: break-word;
	}





/* -------------------------------------------------------------------------- */
/*	ALLGEMEIN
/* -------------------------------------------------------------------------- */

body {
	min-height: 100vh; /* Use vh as a fallback for browsers that do not support Custom Properties */
	min-height: calc(var(--vh, 1vh) * 100);
	font-size: 1.1em;
	line-height: 1.4em;
	letter-spacing: 0.03em;
	background-color: var(--color-general-bg);
	background-size: 100% auto;
	color: var(--color-general-txt);
	}
	
html {
	scroll-behavior: smooth;
	}

#navbar,
#navbar *,
/*#headerstart,
#headerstart *,*/
.entry-content *,
.footer *,
*:before,
*:after {
		-webkit-transition: all 300ms ease;
		-moz-transition: all 300ms ease;
		-ms-transition: all 300ms ease;
		-o-transition: all 300ms ease;
		transition: all 300ms ease;
	}

/* ------ Aufbau für Sticky Footer via Flexbox ------ */
/* https://css-tricks.com/couple-takes-sticky-footer/ */
body {
	display: -webkit-box;  display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; /* or inline-flex */
	flex-direction: column;
	}
.wrapper {
	flex: 1 0 auto;
	}
.footer {
	flex-shrink: 0;
	background-color: var(--color-footer-bg);
	}





/* -------------------------------------------------------------------------- */
/* 	BASIS – Beitragsbild nur fuer Beitraege
/* -------------------------------------------------------------------------- */

.postimage-single {
	width: 90%;
	max-width: 1100px;
	margin: var(--spacer-big) auto var(--spacer-text) auto;
	line-height: 0;
	overflow: hidden;
	}
.postimage-single img {
	height: auto;
	max-height: 700px;
	object-fit: cover;
	object-position: 50% 50%;
	}

		@media (min-width:1210px) {
			.wp-block-image .alignleft.postimage-single {
				max-width: 500px !important;
				}
		}
		@media (min-width:1760px) {
			.wp-block-image .alignleft.postimage-single {
				max-width: 670px !important;
				}
		}





/* -------------------------------------------------------------------------- */
/* 	BASIS
/* -------------------------------------------------------------------------- */

.entry-content {
	/* -------------------------------------------------------------------- grosser Abstand -------------------------------------------------------------------- */ margin-top: var(--spacer-big);
		/* ------------------------------------------------------------------------------------------------------- border: 1px dashed #ccc;*/
	}





/* -------------------------------------------------------------------------- */
/* 	ARCHIV
/* -------------------------------------------------------------------------- */

.theme-archive {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 0;
	/* --------------------------------------------------------------------------------------------------------------- margin-bottom: 4em; */
	}
.theme-archive.alignbasic {
	width: 90%;
	max-width: 1100px;
	}
.theme-archive.alignwide {
	width: 90%;
	max-width: 1600px;
	}
.theme-archive.alignfull {
	width: 90%;
	max-width: 90%;
	}
		@media (min-width:1760px) {
			.theme-archive.alignfull { width: calc(100% - 8rem); max-width: calc(100% - 8rem); }
		}
.theme-archive a:link, .theme-archive a:visited, .theme-archive a:active, .theme-archive a:hover {
	text-decoration: none;
	color: inherit;
	}
.theme-archive small {
	opacity: 0.5;
	}

.archive-item {
	position: relative;
	/* -------------------------------------------------------------------- kleiner Abstand -------------------------------------------------------------------- */ margin-top: var(--spacer-small);
	}
.archive-item:first-child {
	margin-top: 0 !important;
	}
.archive-item .archive-txt p {
	margin: 0.4em 0 0.5em 0;
	}
.archive-item .archive-txt:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: var(--color-light);
	z-index: -1;
	opacity: 1;
	}
.archive-item:hover .archive-txt:before {
	background-color: var(--color-general-link);
	opacity: 1;
	}
.archive-item .archive-img {
	flex-basis: 100%;
	line-height: 0;
	margin-bottom: 0.3em;
	height: 0 !important;
	padding: 0 0 65% 0;
	position: relative !important;
	overflow: hidden;
	}
.archive-item .archive-img img {
	width: 100%;
	height: 100% !important;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	object-fit: cover;
	}
.archive-item .archive-txt {
	flex-basis: 100%;
	padding: 1.2em 1em 1.3em 1em;
	}
.archive-item:hover .archive-txt {
	color: white;
	}

.archive-item h2 {
	margin-left: 0;
	margin-right: 0;
	color: var(--color-general-link);
	}
.archive-item:hover h2 {
	color: white;
	}
		@media (max-width:781px) {
			body.search .archive-item .archive-img { display:none; }
		}


/* --- fuegt Link fuer ganzes Archiv-Element hinzu --- */
/* https://generatepress.com/forums/topic/latest-posts-content-block-clickable-featured-images/ */

.archive-item {
	position: relative;
	}
.archive-item a:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	}

		@media (min-width:782px) {
			.theme-archive.archive-list .archive-item a:before {
				border-left: 5px solid transparent;
				}
			.theme-archive.archive-list .archive-item:hover a:before {
				border-left: 5px solid var(--color-accent);
				}
			.theme-archive.archive-grid .archive-item a:before {
				border-top: 5px solid transparent;
				}
			.theme-archive.archive-grid .archive-item:hover a:before {
				border-top: 5px solid var(--color-accent);
				}
			}


/* --- Archiv als Liste --- */

		@media (min-width:782px) {
			.archive-list {
				}
			.archive-list .archive-item {
				position: relative;
				}
			.archive-list .archive-item:first-child {
				margin-top: 0 !important;
				}
			.archive-list .archive-img {
				width: calc(33.333% - 16px);
				padding-bottom: 0 !important;
				height: 100% !important;
				margin-right: calc(32px - 1em);
				margin-bottom: 0 !important;
				position: absolute !important;
				top: 0;
				left: 0;
				bottom: 0;
				}
			.archive-list .archive-img + .archive-txt {
				width: calc(65% - 16px);
				margin-left: auto;
				}
			.archive-list .archive-txt {
				display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; /* or inline-flex */ 
				-webkit-flex-flow: column wrap;
				flex-flow: column wrap;
				justify-content: center;
				}
			.archive-list .archive-txt > * {
				margin-left: 0;
				margin-right: 0;
				}
			}

		@media (min-width:782px) {
			/*.archive-list .archive-item { min-height: calc(90vw / 5.7 - 16px); }
			.archive-list .archive-txt { min-height: calc(90vw / 5.7 - 16px); }
			.archive-list.alignwide .archive-item { min-height: calc(90vw / 5.7 - 16px); }
			.archive-list.alignwide .archive-txt { min-height: calc(90vw / 5.7 - 16px); }
			.archive-list.alignfull .archive-item { min-height: calc(90vw / 5.7 - 16px); }
			.archive-list.alignfull .archive-txt { min-height: calc(90vw / 5.7 - 16px); }*/
			.archive-list .archive-img { min-height: calc(90vw / 5.7 - 16px); }
			.archive-list.alignwide .archive-img { min-height: calc(90vw / 5.7 - 16px); }
			.archive-list.alignfull .archive-img { min-height: calc(90vw / 5.7 - 16px); }
			.archive-list .archive-img + .archive-txt { min-height: calc(90vw / 5.7 - 16px); }
			.archive-list.alignwide .archive-img + .archive-txt { min-height: calc(90vw / 5.7 - 16px); }
			.archive-list.alignfull .archive-img + .archive-txt { min-height: calc(90vw / 5.7 - 16px); }
			}
		@media (min-width:1210px) {
			/*.archive-list .archive-item { min-height: calc(1100px / 5.2 - 16px); }
			.archive-list .archive-txt { min-height: calc(1100px / 5.2 - 16px); }
			.archive-list.alignwide .archive-item { min-height: calc(100vw / 5.7 - 16px); }
			.archive-list.alignwide .archive-txt { min-height: calc(100vw / 5.7 - 16px); }*/
			.archive-list .archive-img { min-height: calc(1100px / 5.2 - 16px); }
			.archive-list .archive-img + .archive-txt { min-height: calc(1100px / 5.2 - 16px); }
			.archive-list.alignwide .archive-img { min-height: calc(100vw / 5.7 - 16px); }
			.archive-list.alignwide .archive-img + .archive-txt { min-height: calc(100vw / 5.7 - 16px); }
			}
		@media (min-width:1760px) {
			/*.archive-list.alignwide .archive-item { min-height: calc(1600px / 5.2 - 16px); }
			.archive-list.alignwide .archive-txt { min-height: calc(1600px / 5.2 - 16px); }*/
			.archive-list.alignwide .archive-img { min-height: calc(1600px / 5.2 - 16px); }
			.archive-list.alignwide .archive-img + .archive-txt { min-height: calc(1600px / 5.2 - 16px); }
			}

		@media (min-width:1210px) {
			.archive-list.alignfull .archive-img { width: calc(30.333% - 16px); }
			.archive-list.alignfull .archive-img + .archive-txt { width: calc(68% - 16px); }
			/*.archive-list.alignfull .archive-item { min-height: calc(100vw / 5.7 - 16px); }
			.archive-list.alignfull .archive-txt { min-height: calc(100vw / 5.7 - 16px); }*/
			.archive-list.alignfull .archive-img { min-height: calc(100vw / 5.7 - 16px); }
			.archive-list.alignfull .archive-img + .archive-txt { min-height: calc(100vw / 5.7 - 16px); }
			}


/* --- Archiv als Raster --- */

		@media (min-width:782px) {
			.archive-grid {
				display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; /* or inline-flex */ 
				-webkit-flex-flow: row wrap;
				flex-flow: row wrap;
				}
			.archive-grid .archive-item {
				width: calc(33.3% - 21.3px);
				margin-left: 32px;
				}
			.archive-grid .archive-item:nth-child(1),
			.archive-grid .archive-item:nth-child(2),
			.archive-grid .archive-item:nth-child(3) {
				margin-top: 0;
				}
			.archive-grid .archive-item:nth-child(3n + 1) {
				margin-left: 0;
				}
			.archive-grid .archive-img {
				flex-basis: 100%;
				padding-bottom: 65%;
				margin-right: 0;
				margin-bottom: 0;
				}
			.archive-grid .archive-txt {
				flex-basis: 100%;
				align-self: auto;
				}
			}


/* --- Archiv als Portfolio --- */

.archive-port.theme-archive.alignbasic {
	max-width: 1110px; /* -- mit Abstand --- */
	}
.archive-port.theme-archive.alignwide {
	max-width: 1600px; /* -- mit Abstand --- */
	}
.archive-port .archive-item {
	margin: 0 0 10px 0; /* -- mit Abstand --- */
	overflow: hidden;
	}
.archive-port .archive-img {
	flex-basis: 100%;
	padding-bottom: 100%;
	margin-right: 0;
	margin-bottom: 0;
	background-color: var(--color-light);
	}
.archive-port .archive-txt {
	flex-basis: 100%;
	position: absolute;
	left: 1.5em;
	right: 1.5em;
	bottom: -100%;
	align-self: auto;
	opacity: 0;
	}
.archive-port .archive-item:hover .archive-txt {
	bottom: 1.5em;
	opacity: 0.9;
	}

		@media (max-width:781px) {
			.archive-port .archive-txt small { display:none; }
			}

		@media (min-width:782px) {
			.archive-port {
				display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; /* or inline-flex */ 
				-webkit-flex-flow: row wrap;
				flex-flow: row wrap;
				overflow: hidden;
				}
			.archive-port .archive-item { margin: 0 0 10px 10px; }				/* -- mit Abstand --- */
			.archive-port .archive-item { width: calc(50% - 5px); } 			/* -- mit Abstand --- */
			.archive-port .archive-item:nth-child(2n + 1) { margin-left: 0; }
			}
		@media (min-width:1210px) {
			.archive-port .archive-item { width: calc(50% - 5px); } 			/* -- mit Abstand --- */
			.archive-port .archive-item:nth-child(2n + 1) { margin-left: 0; }
			
			.archive-port.alignwide .archive-item { width: calc(33.3% - 6px); } /* -- mit Abstand --- */
			.archive-port.alignwide .archive-item:nth-child(2n + 1) { margin-left: inherit; }
			.archive-port.alignwide .archive-item:nth-child(3n + 1) { margin-left: 0; }

			.archive-port.alignfull .archive-item { width: calc(33.3% - 6px); } /* -- mit Abstand --- */
			.archive-port.alignfull .archive-item:nth-child(2n + 1) { margin-left: inherit; }
			.archive-port.alignfull .archive-item:nth-child(3n + 1) { margin-left: 0; }
			}
		@media (min-width:1760px) {
			.archive-port.alignwide .archive-item { width: calc(33.3% - 6px); } /* -- mit Abstand --- */
			.archive-port.alignwide .archive-item:nth-child(2n + 1) { margin-left: inherit; }
			.archive-port.alignwide .archive-item:nth-child(3n + 1) { margin-left: 0; }

			.archive-port.alignfull .archive-item { width: calc(25% - 7.5px); } /* -- mit Abstand --- */
			.archive-port.alignfull .archive-item:nth-child(2n + 1) { margin-left: inherit; }
			.archive-port.alignfull .archive-item:nth-child(3n + 1) { margin-left: inherit; }
			.archive-port.alignfull .archive-item:nth-child(4n + 1) { margin-left: 0; }
			}


		@media (min-width:782px) {
			body.search .archive-item .archive-img + .archive-txt {
				min-height: calc(220px - 2.5em);
				}
			}




/* ----------------------------------
	POST NAVIGATION
---------------------------------- */

.archive-nav {
	width: 90%;
	margin: var(--spacer-small) auto var(--spacer-big) auto !important;
	padding: 0 0 0 0;
	display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 0.9em;
	/*line-height: 4rem;*/
	}
body.single .archive-nav {
	line-height: 2rem;
	margin: 0 auto 0 auto !important;
	}
body.single .spacer-last {
	margin-bottom: 0;
	height: var(--spacer-small);
	}
body.single .spacer-last:last-of-type {
	margin-bottom: 10px;
	height: var(--spacer-big);
	}

.archive-nav.alignbasic {
	max-width: 1100px;
	}
.archive-nav.alignwide {
	max-width: 1600px;
	}
.archive-nav.alignfull {
	max-width: 90%;
	}
		@media (min-width:1760px) {
			.archive-nav.alignfull { width: calc(100% - 8rem); max-width: calc(100% - 8rem); }
		}

.archive-nav a,
.archive-nav a:link,
.archive-nav a:visited {
	color: var(--color-general-txt) !important;
	text-decoration: none;
	padding: 0 !important;
	}
.archive-nav a:hover,
.archive-nav a.active,
.archive-nav a.disabled {
	color: var(--color-accent) !important;
	text-decoration: none;
	}



/* --- Arrow --- */

.archive-arrow-btn {
	width: 30%;
	flex-grow:1;
	text-align: center;
	}
.archive-arrow-btn.btn-left {
	text-align: left;
	}
.archive-arrow-btn.btn-right {
	text-align: right;
	}


span.arrow-line,
.archive-arrow-btn a:hover > span.arrow-line {
		-webkit-transition: all 300ms ease;
		-moz-transition: all 300ms ease;
		-ms-transition: all 300ms ease;
		-o-transition: all 300ms ease;
		transition: all 300ms ease;
	}
span.arrow-line {
	display: inline-block;
	width: 0.01rem;
	height: 2px;
	margin-bottom: 3.25px;
	border-top: 1.5px solid var(--color-general-txt);
	}
.archive-arrow-btn a:hover > span.arrow-line {
	width: 30px;
	border-color: var(--color-accent);
	}


span.arrow-space,
.archive-arrow-btn a:hover > span.arrow-space {
		-webkit-transition: all 300ms ease;
		-moz-transition: all 300ms ease;
		-ms-transition: all 300ms ease;
		-o-transition: all 300ms ease;
		transition: all 300ms ease;
	}
span.arrow-space {
	display: inline-block;
	width: 16px;
	}
.archive-arrow-btn a:hover > span.arrow-space {
	width: 12px;
	}


span.arrow-l,
span.arrow-r,
.archive-arrow-btn a:hover > span.arrow-l,
.archive-arrow-btn a:hover > span.arrow-r {
		-webkit-transition: all 300ms ease;
		-moz-transition: all 300ms ease;
		-ms-transition: all 300ms ease;
		-o-transition: all 300ms ease;
		transition: all 300ms ease;
	}
span.arrow-l {
	display: inline-block;
	width: 12px;
	height: 12px;
	transform: rotateY(0deg) rotate(-45deg); /* needs Y at 0 deg to behave properly*/
	border-top: 1.5px solid var(--color-general-txt);
	border-left: 1.5px solid var(--color-general-txt);
	margin-right: -14px;
	margin-bottom: -1px;
	margin-left: 2px;
	}
span.arrow-r {
	display: inline-block;
	width: 12px;
	height: 12px;
	transform: rotateY(0deg) rotate(-45deg); /* needs Y at 0 deg to behave properly*/
	border-right: 1.5px solid var(--color-general-txt);
	border-bottom: 1.5px solid var(--color-general-txt);
	margin-left: -14px;
	margin-bottom: -1px;
	margin-right: 2px;
	}
.archive-arrow-btn a:hover > span.arrow-l,
.archive-arrow-btn a:hover > span.arrow-r {
	border-color: var(--color-accent);
	}


/* --- Pagination --- */

.pagination {
	margin: 0 !important;
	}
.entry-content .pagination h2 + :not(p):not(ul):not(ol):not(.wp-block-pullquote) {
	margin-top: 0 !important;
	}
.pagination > * {
	margin: 0 !important;
	}
.pagination h2 {display:none;}
.pagination a.prev {display:none;}
.pagination a.next {display:none;}

.pagination span {
	font-size: 1.1em; 
	color: var(--color-general-txt);
	font-weight: var(--font-general-bold);
	}
.pagination span.dots {
	font-weight: var(--font-general-regular);
	}
.pagination a,
.pagination a.link,
.pagination a:link,
.pagination a:visited,
.pagination a:hover {
	padding-right: 4px;
	text-decoration: none;
	font-weight: var(--font-general-regular) !important;
	}

		@media (min-width:782px) {
			.pagination .nav-links:before {
				content: "Seite: ";
				display: inline !important;
				}
			}





/* -------------------------------------------------------------------------- */
/*	RSS-Feed (Darstellung)
/* -------------------------------------------------------------------------- */

.entry-content > ul.rss-wrap {
	padding: 0;
	padding-left: 0 !important;
	list-style-type: none;
	}
.entry-content > p + ul.rss-wrap {
	margin-top: 2em;
	}
.rss-wrap li {
	background-color: var(--color-light);
	padding: calc(50vw + 1em) 1em 1.25em 1em;
	position: relative;
	}
.rss-wrap li:hover {
	background-color: var(--color-accent);
	color: white;
	}
.rss-wrap li:hover p:before {
	content: "";
	display:block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-top: 5px solid var(--color-accent);
	z-index: 3;
	}
.rss-item::after {
	content: "";
	display: block;
	width: 100%;
	height: 50vw;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-accent);
	background-image: url(assets/img/icon-external-link.svg);
	background-size: 10% auto;
	background-position: 52% center;
	background-repeat: no-repeat;
	z-index: 2;
	opacity: 0;
	}
.rss-item:hover::after {
	opacity: 0.9;
	}
.rss-wrap a:link,
.rss-wrap a:visited,
.rss-wrap a:active {
	text-decoration: none;
	color: var(--color-general-txt);
	}
.rss-wrap li + li {
	margin-top: var(--spacer-text);
	}
.entry-content h3 + .publish-date:not(p):not(ul):not(ol):not(.wp-block-pullquote) {
	margin-top: 0 !important;
	border-top: 0 !important;
	}
.rss-wrap li h3 {
	color: var(--color-accent) !important;
	margin-bottom: 0.2em !important;
	}
.rss-wrap li:hover h3 {
	color: white !important;
	}
.rss-wrap .publish-date {
	font-size: 0.8em;
	opacity: 0.5;
	line-height: 1em;
	margin-bottom: 0.7em;
	}
.rss-wrap p {
	font-size: 0.9em;
	line-height: 1.6em;
		/* Required declarations: */
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
		/* Limit the text block to a number of lines */
	-webkit-line-clamp: 4;
	}
.rss-wrap img {
	width: 100%;
	max-width: 100%;
	height: 50vw !important;
	margin: 0 0 1em 0;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	object-fit: cover;
	object-position: 50% 40% !important;
	}

		@media (min-width:600px) {
			.rss-wrap li {
				padding: 1em 1.1em 1.1em 1.1em;
				}
			.rss-wrap li:hover p:before {
				border-top: 0 solid var(--color-accent);
				border-left: 5px solid var(--color-accent);
				}
			.rss-wrap h3,
			.rss-wrap p,
			.rss-wrap .publish-date {
				padding-left: calc(50% + 1em);
				}
			.rss-wrap li img {
				width: 50%;
				max-width: 50%;
				height: 100% !important;
				position: absolute;
				top: 0;
				left: 0;
				object-fit: cover;
				}
			.rss-item::after {
				width: 50%;
				height: 100%;
				}
			}
		@media (min-width:782px) {
			.rss-wrap h3,
			.rss-wrap p,
			.rss-wrap .publish-date {
				padding-left: 20.5rem;
				}
			.rss-wrap li img {
				width: 20rem;
				max-width: 20rem;
				}
			.rss-item::after {
				width: 20rem;
				height: 100%;
				}
			}





/* -------------------------------------------------------------------------- */
/*	FOOTER
/* -------------------------------------------------------------------------- */

.footer .widget-wrap.alignbasic,
.footer .widget-wrap.alignwide,
.footer .widget-wrap.alignfull {
	width: 90%;
	padding: 2rem 0 2rem 0;
	}
		@media (min-width:782px) {
			.footer .widget-wrap.alignbasic,
			.footer .widget-wrap.alignwide,
			.footer .widget-wrap.alignfull {
				padding: 4rem 0 4rem 0;
				}
		}
		@media (min-width:1760px) {
			.footer .widget-wrap.alignfull { width: calc(100% - 8rem); }
		}

.footer .widget-wrap {
    display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; /* or inline-flex */ 
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	justify-content: flex-start;
    font-size: 0.9em;
    line-height: 1.5em;
	}

.footer, .footer .title,
.footer h1, .footer h2, .footer h3, .footer h4, .footer h5, .footer h6,
.footer a:link, .footer a:visited, .footer a:active {
    color: var(--color-footer-txt);
	}
.footer a:link, footer a:visited, footer a:active {
	text-decoration: underline;
	}
.footer a:hover {
	text-decoration: underline;
	color: var(--color-footer-link);
	}
.footer p {
	margin: 0;
	}

.footer img.footer-logo {
	width: 100%;
	height: 3em;
	object-fit: contain;
	object-position: 0 0;
	margin-bottom: -0.5em;
	}



/* ------ Footer Widgets ------ */

.footer-widget {
	width: 100%;
    margin: 0 auto 0 auto;
    margin-top: 2rem;
	padding: 0;
	}
.footer-widget .widget {
	margin-top: 2rem;
	}
.footer-widget .widget:first-child {
	margin-top: 0;
	}

.footer-widget .title {
	font-size: 1.1em;
	font-weight: var(--font-general-bold);
	margin: 0 0 0.5em 0;
	}

		@media (min-width:600px) {
			.footer-widget { 
				flex-grow: 1; 
				width: calc(50% - 1rem); 
				max-width: calc(50% - 1rem); 
				margin-left: 2rem; 
				}
			.footer-widget:nth-child(1) { margin-left: 0; margin-top: 0; }
			.footer-widget:nth-child(2) { margin-top: 0; }
			.footer-widget:nth-child(3) { margin-left: 0; }
			}
		@media (min-width:1000px) {
			.footer-widget { 
				flex-grow: 1; 
				width: calc(25% - 1.5rem); 
				max-width: calc(50% - 1rem);
				}
			.footer-widget:nth-child(2) { margin-top: 0; }
			.footer-widget:nth-child(3) { margin-left: 2rem; margin-top: 0; }
			.footer-widget:nth-child(4) { margin-top: 0; }
			}
		@media (max-width:599px) {
			.footer-widget:first-child { margin-top: 0; }
			}



/* ------ Footer Menu > Current Item ------ */

.footer .current-menu-item a:link,
.footer .current-menu-item a:visited,
.footer .current_page_item a:link,
.footer .current_page_item a:visited {
	color: var(--color-footer-link);
	}



/* ------ Footer Menu --- nur Landscape ------ */

.footer .menu-footer-menu-container {
	display: none;
	}

		@media (min-width:1000px) {
			.footer .menu-footer-menu-container {
				display: block;
				}
			.footer .menu-footer-menu-container ul {
				margin: 0 -0.8em 0 0;
				text-align: right;
				}
			.footer .menu-footer-menu-container li {
				list-style: none;
				padding: 0;
				}
			.footer .menu-footer-menu-container a,
			.footer .menu-footer-menu-container a:link,
			.footer .menu-footer-menu-container a:visited {
				text-decoration: none;
				}
			.footer .menu-footer-menu-container a:hover,
			.footer .menu-footer-menu-container a.active,
			.footer .menu-footer-menu-container a.disabled {
				text-decoration: none;
				}
		}



/* ------ Footer Credit ------ */

.footer .copyright {
	padding: 1.4em 0 1.6em 0;
    font-size: 0.75em;
    line-height: 1.6em;
    position: relative;
	}
.footer .copyright:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: black;
	opacity: 0.07;
	}
.footer .credit.alignbasic,
.footer .credit.alignwide,
.footer .credit.alignfull {
    width: 90%; 
	}
		@media (min-width:1760px) {
			.footer .credit.alignfull { width: calc(100% - 8rem); }
		}

.credit {
    display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; /* or inline-flex */ 
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap; 
	justify-content: flex-between; 
	}

.credit a:hover {
	color: inherit;
	}
.credit p, 
.credit p+p {
	margin: 0 3rem 0 0;
	flex-grow: 1;
	opacity: 0.6;
	}
.credit p+p {
	margin: 0 2rem 0 0;
	flex-grow: 0;
	font-size: 0.8em;
	/*text-align: right;*/
	}

		@media (max-width:599px) {
			.credit p, .credit p+p { width: 100%; display: block; }
			}
		@media (min-width:600px) {
			.credit { margin: 0 auto 0 auto; }
			}
		@media (min-width:1000px) {
			.credit p, .credit p+p { margin-right: 1rem; }
			}
		@media (min-width:1210px) {
			.credit p, .credit p+p { margin-right: 0; }
			}



/* ------ Such-Widget im Footer ------ */

.footer .searchform {
	max-width: 320px;
	}
.footer input[type="text"],
.footer input[type="search"] {
	border: 1px solid var(--color-footer-txt) !important;
	color: var(--color-footer-txt) !important;
	background-color: transparent;
	}
.footer .searchform #searchsubmit {
	background: var(--color-footer-txt);
	}

		@media (min-width: 782px) {
			.footer .searchform:hover input[type="text"],
			.footer .searchform:hover input[type="search"] {
				border-color: var(--color-footer-link) !important;
				}
			.footer .searchform:hover #searchsubmit {
				background: var(--color-footer-link);
				}
			}
		/* weitere Einstellungen fuer input und submit >>> siehe style-pit-blocks.css >>> ca. Zeile 2070 */



/* ------ Button to Top ------ */

.topbutton {
	height: 2em;
	width: 2em;
	position: fixed;
	bottom: 1.3em;
	right: 3.2vw;
	z-index: 1;
    background-color: #aaa;
		-webkit-mask-image: url(assets/img/button-top.svg);
		-webkit-mask-size: 100% auto;
		-webkit-mask-repeat: no-repeat;
		-webkit-mask-position: center;
		mask-image: url(assets/img/button-top.svg);
		mask-size: 100% auto;
		mask-repeat: no-repeat;
		mask-position: center;
	display: none;
	opacity: 0.5;
	-webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-ms-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
	}

		@media (min-width:600px) {
			.topbutton { bottom: 0.75em; right: 1rem; }
		}
		@media (min-width:782px) {
			.topbutton:hover { background-color: var(--color-general-link); opacity: 1.0; }
		}





/* -------------------------------------------------------------------------- */
/*	Social Media Icons > diverse Platzierungen
/* -------------------------------------------------------------------------- */

/* --- Font Awesome Icons --- */

.fa {
	font-size: inherit;
	width: 1.5em;
	line-height: 1.48em !important;
	height: 1.5em !important;
	text-align: center;
	text-decoration: none;
		-moz-border-radius: 0.15em;
		-webkit-border-radius: 0.15em;
		border-radius: 0.15em;
	margin: 0.15em 0.1em;
	}
.fa:link,
.fa:active,
.fa:visited {
	color: white !important;
	text-decoration: none !important;
	background: var(--color-second-light) !important;
	opacity: 0.4;
		-webkit-transition: all 300ms ease;
		-moz-transition: all 300ms ease;
		-ms-transition: all 300ms ease;
		-o-transition: all 300ms ease;
		transition: all 300ms ease;
	}

		@media (min-width:782px) {
			/* Add a hover effect if you want */
			li .fa:hover {
				opacity: 1;
				}
			}

/* Set a specific color for each brand */
.fa-facebook:hover { background: #3B5998; }
.fa-xing:hover { background: #026466; } 
.fa-linkedin:hover { background: #3b78aa; } 
.fa-pinterest:hover { background: #c8232c; } 
.fa-youtube:hover { background: #FF0000; } 
.fa-instagram:hover { background: #d6249f; background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%); } 
.fa-flickr:hover { background: #0063dc; } 
.fa-envelope:hover { background: var(--color-accent); } 
.fa-twitter:hover { background: #88badd; } 
.fa-rss:hover { background: var(--color-accent); }
.fa-link:hover { background: var(--color-accent); }



/* --- Allgemein --- */

.slide-wrap ul,
.popup-wrap ul,
.social-footer ul,
.widget ul {
	list-style-type: none;
	padding-left: 0 !important;
	margin: 0 !important;
	}

ul.social-icons span {
	font-size: 0.6em;
	margin-left: 7px;
	-webkit-transition: all 300ms ease;
	-moz-transition: all 300ms ease;
	-ms-transition: all 300ms ease;
	-o-transition: all 300ms ease;
	transition: all 300ms ease;
	}

.social-title {
	font-size: 0.75em;
	margin-bottom: 1em;
	margin-left: 0.15em;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	}



/* --- Toggle Button (fuer Slide in & Popup) --- */

.social-toggle {
	font-size: 0;
	position: sticky;
	bottom: 4rem;
	right: 0;
	width: 3rem;
	height: 3rem;
	overflow: hidden;
	margin: -3rem 0 0 auto;
	z-index: 70;
	background: var(--color-second-light);
		-moz-border-radius: 0.3rem 0 0 0.3rem;
		-webkit-border-radius: 0.3rem 0 0 0.3rem;
		border-radius: 0.3rem 0 0 0.3rem;
	cursor: pointer;
		-webkit-transition: all 300ms ease;
		-moz-transition: all 300ms ease;
		-ms-transition: all 300ms ease;
		-o-transition: all 300ms ease;
		transition: all 300ms ease;
	}
.social-toggle:hover {
	width: 8rem;
	background: var(--color-accent);
	}
.social-toggle.toggle-out,
.social-toggle.toggle-out:hover {
	position: fixed;
	width: 8rem;
		-webkit-transition: all 300ms ease;
		-moz-transition: all 300ms ease;
		-ms-transition: all 300ms ease;
		-o-transition: all 300ms ease;
		transition: all 300ms ease;
	}
.social-toggle .toggle-text {
	font-size: 0.9rem;
	line-height: 1rem;
	text-align: left;
	display: block;
	position: absolute;
	top: 0;
	left: 3rem;
	color: white;
	width: 3rem;
	height: 2rem;
	padding: 0.45rem 0;
	}
.social-toggle .fa {
	display: inline-block;
	font-size: 1rem;
	width: 3rem;
	line-height: 3rem !important;
	height: 3rem !important;
	text-align: center;
	text-decoration: none;
	margin: 0;
	color: white;
	}

		@media (max-width:781px) {
		/* bis Medium */
			.social-toggle { display:none; }
			}



/* --- Slider von rechts --- */

.slide-wrap {
	width: 15rem;
	position: fixed;
	top: 0;
	bottom: 0;
	right: 0;
	transform: translate(100%, 0%);
	display: -webkit-box;  display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; /* or inline-flex */
	flex-direction: column;
	justify-content: center;
	background: var(--color-light);
		-webkit-transition: all 1000ms ease;
		-moz-transition: all 1000ms ease;
		-ms-transition: all 1000ms ease;
		-o-transition: all 1000ms ease;
		transition: all 1000ms ease;
	z-index: 1099;
	}
.slide-wrap.slide-in {
	transform: translate(0%, 0%);
	}
.slide-close {
	width: 5rem;
	height: 5rem;
	display: block;
	background-color: var(--color-accent);
		-webkit-mask-image: url(assets/img/icon-exit.svg);
		-webkit-mask-size: 100% auto;
		-webkit-mask-repeat: no-repeat;
		-webkit-mask-position: center;
		mask-image: url(assets/img/icon-exit.svg);
		mask-size: 100% auto;
		mask-repeat: no-repeat;
		mask-position: center;
	position: absolute;
	top: 1rem;
	right: 1rem;
	cursor: pointer;
	}
.slide-content {
	padding: 0 15%;
	}
.slide-wrap ul {
	font-size: 1.3em;
	margin-left: -0.15em !important;
	}

		@media (max-width:781px) {
		/* bis Medium */
			.slide-wrap { display:none; }
			}

		@media (min-width:782px) {
		/* ab Medium */
			.slide-wrap li .fa {
				margin: 0.2em 0.1em;
				}
			.slide-wrap li .fa:hover {
				transform: scale(1.3); /* Equal to scaleX(0.7) scaleY(0.7) */
				}
			}



/* --- als Popup --- */

#social-popup {
	text-align: center;
	}
#social-popup .social-title {
	width: 100% !important;
	text-align: center;
	font-size: 0.75em;
	margin-bottom: 1em;
	margin-left: 0;
	}
#social-popup ul {
	font-size: 1.6em;
	width: 90%;
	max-width: 1100px;
	margin: 0 auto !important;
	padding: 0 !important;
	}
#social-popup ul li {
	display: inline-block;
	position: relative;
	}
#social-popup ul.social-icons li span {
	display: block;
	font-size: 0.38em;
	margin-left: 0;
	/*display: none;*/
	position: absolute;
	left: -50%;
	right: -50%;
	top: 4em;
	opacity: 0;
	}
#social-popup ul.social-icons li:hover span {
	opacity: 1;
	}
#social-popup .popup-content {
	width: 90% !important;
	max-width: 1100px !important;
	}
#social-popup .fa { 
	margin: 0.15em 0.05em; }

		@media (min-width:782px) {
		/* ab Medium */
			#social-popup li {
				-webkit-transition: all 300ms ease;
				-moz-transition: all 300ms ease;
				-ms-transition: all 300ms ease;
				-o-transition: all 300ms ease;
				transition: all 300ms ease;
				}
			#social-popup li:hover {
				transform: scale(1.3); /* Equal to scaleX(0.7) scaleY(0.7) */
				}
			#social-popup li.social-title:hover {
				transform: none;
				}
			}



/* --- oberhalb des Footers --- */

.social-footer {
	text-align: center;
	position: relative;
	padding: var(--spacer-small) 0;
	background-color: var(--color-light);
	border-top: 2px solid var(--color-light);
	}
.social-footer .social-title {
	width: 4em !important;
	position: relative;
	top: 0.4em;
	font-size: 0.6em;
	line-height: 1.2em;
	text-align: right;
	margin-bottom: 1em;
	margin-left: -0.5em;
	margin-right: 0.6em;
	}
.social-footer ul {
	font-size: 1.5em;
	width: 90%;
	max-width: 1100px;
	margin: 0 auto 0.3rem auto !important;
	padding: 0 !important;
	display: -webkit-box;  display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; /* or inline-flex */
	flex-flow: row wrap;
	justify-content: center;
	}
.social-footer ul li {
	display: block;
	position: relative;
	margin: 0 0.05em;
	}
.social-footer ul li span {
	display: block;
	font-size: 0.38em;
	margin-left: 0;
	/*display: none;*/
	position: absolute;
	left: -50%;
	right: -50%;
	top: 4em;
	opacity: 0;
	}
.social-footer ul li:hover span {
	opacity: 1;
	}
.social-footer .fa { 
	margin: 0.15em 0.15em;
	}

		@media (min-width:782px) {
		/* ab Medium */
			.social-footer li {
				-webkit-transition: all 300ms ease;
				-moz-transition: all 300ms ease;
				-ms-transition: all 300ms ease;
				-o-transition: all 300ms ease;
				transition: all 300ms ease;
				}
			.social-footer li:hover {
				transform: scale(1.3); /* Equal to scaleX(0.7) scaleY(0.7) */
				}
			.social-footer li.social-title:hover {
				transform: none;
				}
			}



/* --- als Widget im Footer --- */

.widget ul.social-icons {
	font-size: 1.5em;
	width: 90%;
	margin: 0 auto 0 -0.15em !important;
	padding: 0 !important;
	display: -webkit-box;  display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; /* or inline-flex */
	flex-flow: row wrap;
	}
.widget ul.social-icons .social-title {
	display: none;
	}
.widget ul.social-icons li {
	display: block;
	position: relative;
	}
.widget ul.social-icons li span {
	display: none;
	}
.widget .fa {
	margin: 0.15em 0.15em;
	}



/* --- in der Mobile-Navigation --- */

.social-links {
	padding: 1.5rem 5vw 2rem 5vw !important;
	background: var(--color-light);
	}
.social-links span {
	text-transform: uppercase;
	}
.social-links ul.social-icons {
	position: relative !important;
	padding: 0 !important;
	margin: 0.5rem -0.15em 0 -0.15em;
	font-size: 1.4em;
	display: -webkit-box;  display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; /* or inline-flex */
	flex-flow: row wrap;
	justify-content: flex-start;
	}
.social-links ul.social-icons li {
	display: block !important;
	position: relative !important;
	}
.social-links ul.social-icons li span {
	display: none;
	}
.social-links .fa {
	margin: 0.15em 0.15em;
	}

		@media (min-width:782px) {
		/* ab Medium */
			.social-links { display:none; }
			}




/* -------------------------------------------------------------------------- */
/*	POPUP im Desktop
/* -------------------------------------------------------------------------- */

.popup-wrap {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	color: white;
	z-index: 1000 !important;
	display: none;
	}
.visible {
	display: block;
	}
.popup-wrap,
.popup-wrap * {
	-webkit-transition: all 300ms ease;
	-moz-transition: all 300ms ease;
	-ms-transition: all 300ms ease;
	-o-transition: all 300ms ease;
	transition: all 300ms ease;
	}

.popup-esc {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #222222;
	opacity: 0.95;
	}
.popup-close {
	width: 5rem;
	height: 5rem;
	position: absolute;
	top: 1rem;
	right: 1rem;
	display: block;
	cursor: pointer;
	background-color: white;
		-webkit-mask-image: url(assets/img/icon-exit.svg);
		-webkit-mask-size: 100% auto;
		-webkit-mask-repeat: no-repeat;
		-webkit-mask-position: center;
		mask-image: url(assets/img/icon-exit.svg);
		mask-size: 100% auto;
		mask-repeat: no-repeat;
		mask-position: center;
	}
.popup-close:hover {
	background-color: var(--color-accent);
	}

.popup-content {
	width: 80%;
	max-width: 550px;
	height: 8rem;
	position: absolute;
	left: 50%;
	top: calc(50% - 1rem);
	transform: translate(-50%, -50%);
	}
.popup-content .popup-title {
	text-align: center;
	text-transform: uppercase;
	margin-bottom: 2em;
	letter-spacing: 0.1em;
	}

.popup-content .searchform input[type="text"] {
	background-color: white !important;
	border-color: white !important;
	}
.popup-content .searchform input[type="submit"] {
	border-color: transparent !important;
	}
.popup-content .screen-reader-text {
	display:none;
	}

		@media (min-width: 782px) {
			.popup-content .searchform:hover input[type="submit"] {
				border-color: var(--color-accent) !important;
				}
			}


/* --- Popup auf Mobile --- */

		@media (max-width:781px) {
			.popup-wrap.visible { 
				display: none;
				}
		}






/* -------------------------------------------------------------------------- */
/*	Edit-Link
/* -------------------------------------------------------------------------- */

.section-inner {
	max-width: 100%;
	height: 0;
	padding: 0;
	position: sticky;
bottom: 4rem;
left: 0;
	z-index: 4;
	}

.post-edit-link {
	position: absolute;
	bottom: 0;
	left: 3rem;
	transform: translate(-100%, 0%);
	text-align: right;
		-moz-border-radius: 0 0.3rem 0.3rem 0;
		-webkit-border-radius: 0 0.3rem 0.3rem 0;
		border-radius: 0 0.3rem 0.3rem 0;
	background-color: var(--color-second-light);
		-webkit-transition: all 300ms ease;
		-moz-transition: all 300ms ease;
		-ms-transition: all 300ms ease;
		-o-transition: all 300ms ease;
		transition: all 300ms ease;
	}
.post-edit-link:hover {
	background-color: var(--color-accent);
	left: 0;
	transform: translate(0%, 0%);
	}
a.post-edit-link,
a.post-edit-link:link,
a.post-edit-link:active,
a.post-edit-link:visited,
a.post-edit-link:hover {
	color: white;
	}

.section-inner .fa {
	font-size: 1.5rem;
	width: 3rem;
	height: 3rem !important;
	line-height: 3rem !important;
	margin: 0 0 0 0.2em !important;
	text-decoration: none !important;
	}
.section-inner .fa-edit:before {
	margin-left: 0.15em;
	}
.post-edit-link span {
	display: inline-block;
	width: 6em;
	font-size: 0.9rem;
	line-height: 1rem;
	padding: 0;
	margin-left: 2rem;
	position: relative;
	top: 4px;
	}




/* --------------------------------------------------------------------
	Plugin Simple Lightbox
-------------------------------------------------------------------- */

		@media (min-width:782px) {
			#slb_viewer_wrap .slb_theme_slb_baseline .slb_template_tag_item_content > * {
				height: calc(100% - 30px) !important;
				object-fit: cover !important;
				}
			#slb_viewer_wrap .slb_theme_slb_default .slb_details {
				margin-top: -30px !important;
				}
			}

#slb_viewer_wrap .slb_theme_slb_default .slb_data_title, 
#slb_viewer_wrap .slb_theme_slb_default .slb_group_status {
	font-size: 1rem !important;
	margin-right: .5em !important;
	}
		@media (min-width:782px) {
			#slb_viewer_wrap .slb_theme_slb_default .slb_data_title, 
			#slb_viewer_wrap .slb_theme_slb_default .slb_group_status {
				font-size: 1.3rem !important;
				}
			}




/* --------------------------------------------------------------------
	Plugin Cookie Notice
-------------------------------------------------------------------- */

#cookie-notice {
	font-family: var(--font-general-family) !important;
	font-weight: var(--font-general-regular) !important;
	font-size: 0.9rem !important;
	}
#cookie-notice * {
	font-family: var(--font-general-family) !important;
	font-weight: var(--font-general-regular) !important;
	}
.cookie-notice-container,
.cookie-revoke-container {
	}
.cn-text-container {
	}
#cookie-notice h1, #cookie-notice h2, #cookie-notice h3,
#cookie-notice h4, #cookie-notice h5, #cookie-notice h6 {
	color: var(--color-accent) !important;
	}


.cn-button {
	background: var(--color-accent) !important;
	}
.cn-button:hover {
	color: var(--color-accent) !important;
	background: white !important;
	}


.cn-button.cn-revoke-inline {
	font-family: var(--font-general-family) !important;
	font-weight: var(--font-general-regular) !important;
	font-size: 0.9rem !important;
	display: inline;
	padding: 4px 10px !important;
	width: auto;
	max-width: auto;
	background: var(--color-light) !important;
	color: var(--color-accent) !important;
	}
.cn-button.cn-revoke-inline:hover {
	background: var(--color-accent) !important;
	color: white !important;
	}




/* -------------------------------------------------------------------------- */
/*	VERSCHIEDENES
/* -------------------------------------------------------------------------- */

.clear {clear: both;}
.img-full {margin: 1em 0 0 0;}



/* --- Markierungsfarbe ändern --- */

::-moz-selection {
	background-color: var(--color-general-link);
	color: white;
	}
::selection {
	background-color: var(--color-general-link);
	color: white;
	padding-left: 5px;
	}



