/*---------------------------------------------------------------------------------

	Theme Name: InSkills2Go
	Text Domain: inskills2go
	Version: 1.3.2
	Description: Theme für den Weiterbildungsverbund InSkills2Go
	Tags: 
	Author: Visualtech
	Author URI: https://visualtech.de
	License: 
	License URI: 
	Theme URI: 
	
---------------------------------------------------------------------------------*/



/* FONTS */

@font-face {
  font-family: "OpenSans-Regular";
  src: url("assets/fonts/OpenSans-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "Prompt-Regular";
  src: url("assets/fonts/Prompt-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "Varta";
  src: url("assets/fonts/Varta-Variable.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}



/* VARIABLES */

:root {
/* browser appearance */
	--scrollbar-width: 8px;
	
/* colors */
	--white: #ffffff;
	--linen: #fff5eb;
	--light-blue: #358be2;
	--medium-blue: #0257b8;
	--light-brown: #b38a4c;
	--turquoise: #2f8ea6;
	--yellow: #f3c149;
	--dark-brown: #353230;
	--rifle-green: #4c543b;
	
	--blue-light: #009fe3;
	--blue-medium: #006daf;
	--blue-dark: #005578;
	--gold: #d4a129;
	--gray-light: #f8f8f8;
	--gray-medium: #777;
	
/* font */
  --color: #000;
  --font-family: "Varta", sans-serif;
  --font-size-factor: 1;
	--line-height: 1.2;
	
	--h1-font-size: 2.5rem;
	--h2-font-size: 1.5rem;
	--h2-archive-font-size: 1.23rem;
	
/* buttons */
/* 	--button-height: 2.5em; */
	--button-font-family: "Prompt-Regular", sans-serif;
  --button-color: #fff;
  --button-background-color: rgba(2,87,184,.75);
  --button-background-hover-color: var(--yellow);
	
/* body */
  --body-background-color: #fff;
  
/* header */
	--header-height: 100px;
	--header-padding-right-left: 75px;
	
	--header-background-color: #fff;
  --header-shadow: 5px 5px 10px rgba(0,0,0,.25);
	
	--header-logo-container-height: var(--header-height);
  --logo-width: 165px;

  --top-menu-height: var(--header-height);
  --top-menu-primary-background-color: #fff;
  --top-menu-secondary-background-color: #fff;
  --top-menu-color: #000;
  --top-menu-hover-color: #000;
  --top-menu-font-family: "Prompt-Regular", sans-serif;
  --top-menu-font-size: 1.25rem;
	--top-menu-toggle-width: 2rem;
	--top-menu-toggle-font-size: 2.5rem;
	
/* archive */
	--archive-post-font-size: 1.125rem;
  
/* main */
	--main-min-height: calc(100vh - var(--top-menu-height) - var(--footer-height));
	--main-font-size: 1.125rem;
	
  --content-width: 1200px;
	
	--section-padding-top-bottom: 75px;
	--section-padding-right-left: calc((100vw - var(--content-width)) / 2);
	
	--section-home-min-height: calc(100vh - var(--top-menu-height));
	--section-home-padding-right-left: 150px;
	
	--slide-margin-bottom: 25px;
	--slider-shadow: 0 0 10px rgba(0,0,0,.5);
	--slider-arrow-width: 37.5px;
	--slider-arrow-height: var(--slider-arrow-width);
	--slider-arrow-background-width: calc(var(--slider-arrow-width) * 2);
	--slider-arrow-background-height: var(--slider-arrow-background-width);
	--slider-dots-width: 20px;
	--slider-dots-height: var(--slider-dots-width);
	--slider-dots-gap: 25px;
	
	--module-width: min(calc((100vw - var(--section-home-padding-right-left) * 2 - var(--module-gap) * 2) / 3), 300px);
	--module-height: var(--module-width);
	--module-gap: 75px;
	
	--post-preview-width: min(calc((100vw - var(--section-home-padding-right-left) * 2 - var(--post-preview-gap) * 2) / 3), 400px);
	--post-preview-height: var(--post-preview-width);
	--post-preview-gap: 75px;
	
	--contact-envelope-width: 432px;
	--contact-envelope-height: calc(var(--contact-envelope-width) * .75);
  
	--single-person-text-width-factor: .6;
	--single-person-ifcs-width-factor: .35;
	--single-person-ifcs-solo-width-factor: .5;
	--single-person-image-width-factor: 1;
	--single-person-image-width: calc(var(--content-width) * var(--single-person-ifcs-width-factor) * var(--single-person-image-width-factor));
	--single-person-image-height: var(--single-person-image-width);
	--single-person-image-solo-width: calc(var(--content-width) * var(--single-person-ifcs-solo-width-factor) * var(--single-person-image-width-factor));
	--single-person-image-solo-height: var(--single-person-image-solo-width);
		
/* shortcode - person */
	--scp-image-width: 200px;
	--scp-image-height: var(--scp-image-width);
	
	--scp-general-font-size: 16px;
	--scp-name-function-font-size: 18px;
	--scp-contact-icon-font-size: var(--scp-name-function-font-size);
	
	--scp-social-icon-width: 25px;
	--scp-social-icon-height: var(--scp-social-icon-width);
  
	
/* footer */
	--footer-padding-top-bottom: var(--section-padding-top-bottom);
	--footer-padding-right-left: 75px;
	
	--footer-row-width: min(calc(100vw - var(--footer-padding-right-left) * 2), var(--content-width));
	
	--footer-background-color: #fff;
	
	--footer-font-size: .875rem;
  
  font-size: 16px;
  font-weight: 400;
  color: var(--color);
  font-family: var(--font-family);
	line-height: var(--line-height);
}



/* GENERAL SETTINGS & STYLES */

* {
  scrollbar-width: thin;
  scrollbar-color: var(--blue-medium) var(--blue-light);
}

*::-webkit-scrollbar {
  width: var(--scrollbar-width);
}

*::-webkit-scrollbar-track {
  background: var(--blue-light);
}

*::-webkit-scrollbar-thumb {
  background: var(--blue-medium);
}

body {
  min-height: 100vh;
  display: flex;
	flex-direction: column;
  position: relative;
  margin: 0;
	overflow-x: hidden;
  background: var(--body-background-color);
	font-family: var(--font-family);
} 

body * {
  box-sizing: border-box;
}

/* Farbpalette aus Gutenberg */
.has-light-blue-color { color: #009fe3; }
.has-light-blue-background-color { background-color: #009fe3; }

.has-medium-blue-color { color: #006daf; }
.has-medium-blue-background-color { background-color: #006daf; }

.has-dark-blue-color { color: #005578; }
.has-dark-blue-background-color { background-color: #005578; }

.has-white-color { color: #ffffff; }
.has-white-background-color { background-color: #ffffff; }

.has-black-color { color: #000000; }
.has-black-background-color { background-color: #000000; }


h1, h2, h3, h4, h5, h6 {
  margin: 1.25em 0 .75em;
  font-family: "Prompt-Regular";
	font-weight: 400;
	text-transform: uppercase;
	text-align: center;
	color: var(--blue-medium);
}

h1 {
  font-size: var(--h1-font-size);
  color: var(--blue-light);
}

h1:nth-of-type(1) {
	margin-top: 0;
}

h2 {
  font-size: var(--h2-font-size);
}

a {
	color: var(--blue-light);
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
	transform: all .3s ease-out;
}

.button {
	display: flex;
	padding: .5em 1.5em;
	border: 4px solid var(--button-color);
	font-family: "Prompt-Regular";
	color: var(--button-color);
}

.button:hover {
/* 	background: var(--button-color);
	color: transparent; */
}

.button-fill {
	background: var(--button-background-color);
	border-color: var(--button-background-color);
}



/* HEADER */

header {
  width: 100%;
	height: var(--header-height);
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: auto auto;
  position: fixed;
  top: 0;
/* 	padding: 0 var(--header-padding-right-left); */
	background: var(--header-background-color);
	-webkit-box-shadow: var(--header-shadow);
	-moz-box-shadow: var(--header-shadow);
	box-shadow: var(--header-shadow);
  z-index: 99999;
}

body.admin-bar header {
  margin-top: 32px;
}

header a {
	text-decoration: none;
	color: var(--color);
}

header a:hover {
	text-decoration: none;
}

.header-logo-container {
	height: var(--header-logo-container-height);
	display: flex;
}

.header-logo-container img {
	width: auto;
	height: 75%;
}

ul.menu {
  margin: 0;
  list-style: none;
  padding: 0;
}

ul.sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}



/* MAIN */

main {
  grid-row: 2 / 3;
  width: 100%;
  min-height: var(--main-min-height);
  margin-top: var(--header-height);
	font-size: var(--main-font-size);
}

main ul:not(.slick-dots) li {
	position: relative;
	margin: .5em 0 .5em 1em;
	list-style: none;
	break-inside: avoid;
}

main ul:not(.slick-dots) li:nth-of-type(1) {
	margin-top: 0;
}

main ul:not(.slick-dots) li::before {
	content: '';
	width: 1em;
	height: 1.25em;
	display: inline-block;
	position: absolute;
	left: -1em;
	background-image: url("assets/images/bullet-point.png");
	-webkit-background-size: 50%;
	background-size: 50%;
	background-repeat: no-repeat;
	background-position: 0 60%;
}

section {
  width: 100%;
	min-height: 100%;
	flex-direction: column;
	padding: var(--section-padding-top-bottom) var(--section-padding-right-left);
}


/* home page */

body.home main ul:not(.slick-dots) {
	-webkit-column-count: 2;
	-moz-column-count: 2;
	column-count: 2;
	column-gap: 1.75em;
	padding: 0;
}

body.home section {
	min-height: var(--section-home-min-height);
	display: flex;
	justify-content: center;
	align-items: center;
	padding: var(--section-padding-top-bottom) var(--section-home-padding-right-left);
}

body.home section:nth-of-type(2n + 1) {
	background: var(--gray-light);
}

body.home section:not(#above-the-fold) > * {
	max-width: var(--content-width);
}

body.home section *:is(h2,h3,h4,h5,h6) {
	width: 100%;
	max-width: var(--content-width);
	margin: 0 0 1.5em;
}

/* body.home section h1 {
	margin-bottom: 2em;
} */

body.home section h2 {
	font-size: 2.5rem;
}

section#above-the-fold {
	height: var(--section-home-min-height);
	position: relative;
	padding: 0;
	color: #fff;
}

.slider {
	width: 100%;
	height: 100%;
}

.slide {
	width: 100%;
	height: 100%;
	position: relative;
}

.slide-image-source-container {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.slide-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.slide-source,
.image-source {
	position: absolute;
	color: #fff;
}

.slide-source {
	right: 15px;
	bottom: 2px;
	font-size: .75em;
	text-shadow: 0 0 5px #000;
}

.image-source {
	right: 0;
	bottom: 7px;
}

.slide-source a,
.image-source a {
	color: #fff;
}

.slide-text {
	width: 65%;
	max-width: 1000px;
	position: absolute;
	top: 40%;
	left: 15%;
	padding: 1em 1.5em;
	border-radius: 10px;
	background: rgba(0,0,0,.25);
	text-shadow: 0 0 10px rgba(0,0,0,.5);
}

.slide-text a {
	color: #fff;  
}

.slide-text a:hover {
  text-decoration-thickness: 0.25rem;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
}

.slide-text p a:hover {
  text-decoration-thickness: 0.1rem;
}

.slide-text h1 {
	color: #fff;
	margin-bottom: .125em;
	text-align: left;
	font-size: 4rem;
}

.slide-text p {
	margin: 0;
	font-size: 1.875rem;
}

.slide-text p a {
  font-size: 1.4rem;
}

.slide-text p.readmore  {
  text-align: right;
  margin-right: 10%;
}

section.text-section {
	display: flex;
	flex-direction: column;
}

section.text-section h2.ts-heading {
	margin-bottom: 1.5625rem;
}

section.text-section h3.ts-subheading {
	margin-bottom: 1.5625rem;
	font-size: 1.5625rem;
	text-transform: none;
	color: var(--gray-medium);
}

.heading-icon-container {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 25px;
	padding-bottom: 25px;
}

.heading-icon.line {
	width: 75px;
	height: 2px;
	background: var(--gray-medium);
}

.heading-icon.gear {
	width: 50px;
	height: 50px;
	background-image: url("assets/images/gear-icon.svg");
}

.ts-content {
	font-size: 1.125rem;
	line-height: 1.5;
}

.ts-content > p:nth-of-type(1) {
	margin-top: 0;
}

.modules-container {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: space-between;
}

.modules-column {
	display: flex;
	flex-direction: column;
	gap: var(--module-gap);
}

.module {
	width: var(--module-width);
	height: var(--module-height);
	background: transparent;
	perspective: 1000px;
}

.module-front-back-container {
	width: 100%;
	height: 100%;
	position: relative;
	transition: transform .75s;
	transform-style: preserve-3d;
	border-radius: 6%;
	-webkit-box-shadow: var(--header-shadow);
	-moz-box-shadow: var(--header-shadow);
	box-shadow: var(--header-shadow);
}

.module:hover .module-front-back-container {
	transform: rotateY(180deg);
}

.module-front,
.module-back {
	width: 100%;
	height: 100%;
	position: absolute;
	border-radius: 6%;
	background: #fff;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.module-front {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 10%;
}

.module-icon {
	width: calc(var(--module-width) * .75);
	height: calc(var(--module-width) * .5625);
}

#coordination .module-icon {
	background: url("assets/images/IS2G_Icon_Koordinierung_RGB.png") no-repeat center;
	background-size: contain;
}

#network .module-icon {
	background: url("assets/images/IS2G_Icon_Netzwerk_RGB.png") no-repeat center;
	background-size: contain;
}

#pythia .module-icon {
	background: url("assets/images/IS2G_Icon_Pythia_RGB.png") no-repeat center;
	background-size: contain;
}

#sibyl .module-icon {
	background: url("assets/images/IS2G_Icon_Sibyl_RGB.png") no-repeat center;
	background-size: contain;
}

#search-provide .module-icon {
	background: url("assets/images/IS2G_Icon_Suche-Biete_RGB.png") no-repeat center;
	background-size: contain;
}

#database .module-icon {
	background: url("assets/images/IS2G_Icon_Datenbank_RGB.png") no-repeat center;
	background-size: contain;
}

.module-title {
	width: calc(var(--module-width) * .875);
	height: calc(var(--module-width) * .0875);
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: .25em;
	font-family: "Prompt-Regular", sans-serif;
	font-size: calc(var(--module-width) * .0875 * .75);
	text-transform: uppercase;
	color: var(--blue-medium);
}

.module-back {
	display: flex;
	justify-content: center;
	align-items: center;
	transform: rotateY(180deg);
}

.module-description {
	width: calc(var(--module-width) * .875);
	max-height: calc(var(--module-width) * .875);
	display: block;
	text-align: center;
	font-size: calc(var(--module-width) * .0875 * .75);
}

section#appointments {
	--content-width: 1350px;
	min-height: unset;  
}

section#news {
	--content-width: 1350px;
}

.news-container {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--post-preview-gap);
}

a.post-preview {
	width: var(--post-preview-width);
	height: var(--post-preview-height);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: calc(var(--post-preview-height) * .05);
	position: relative;
	border-radius: 6%;
	background: #fff;
	overflow: hidden;
	box-shadow: 5px 5px 10px rgba(0,0,0,.25);
	transition: all .3s ease-out;
}

a.post-preview:hover {
	box-shadow: 5px 5px 15px rgba(0,0,0,.5);
	text-decoration: none;
	transition: all .3s ease-out;
}

.post-image-container {
	width: 100%;
	height: 60%;
}

img.post-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

section#news h3.post-heading,
.post-date-duration {
	max-width: calc(var(--post-preview-width) * .95);
}

section#news h3.post-heading {
	margin: 0;
	font-size: calc(var(--post-preview-width) * 0.06);
}

.post-date-duration {
	position: absolute;
	bottom: 3.5%;
	font-size: calc(var(--post-preview-width) * 0.045);
	color: var(--gray-medium);
}

section#contact {
	min-height: unset;
	position: relative;
	background: var(--blue-light);
	color: #fff;
	overflow: hidden;
}

section#contact a.contact-link {
	width: 100%;
	max-width: unset;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9;
}

.contact-envelope {
	width: var(--contact-envelope-width);
	height: var(--contact-envelope-height);
	position: absolute;
	top: -5%;
	left: calc(50% - var(--contact-envelope-width) * 1.4);
	background: url("assets/images/envelope-icon-white.svg") no-repeat center;
	background-size: contain;
	opacity: .5;
	transform: rotateZ(-17deg);
	transition: all .3s ease-out;
}

a.contact-link:hover + .contact-envelope {
	transform: scale(1.5) rotateZ(-17deg);
	transition: all .3s ease-out;
}

section#contact h2.contact-heading {
	margin-bottom: 1.5625rem;
	color: #fff;
}

.contact-content {
	text-align: center;
}



/* MAIN - PAGE */

section.page {
	min-height: var(--main-min-height);
	background: var(--gray-light);
}

.page.color-bar {
	width: 100%;
	height: 150px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--blue-medium);
}

.page.image-container {
	width: 250px;
	height: 100%;
	display: flex;
}

.page.image-container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 0 15%;
}

.page.content > *:last-child {
	margin-bottom: 0;
}


/* gutenberg */

.wp-block-columns {
/* 	flex-wrap: wrap !important; */
}

.wp-block-columns:last-child {
	margin-bottom: 0;
}

section.page .wp-block-columns p:only-child {
	margin: 0;
}

section.page .wp-block-column ul {
	margin: 0;
	padding: 0;
}

.wp-block-file {
	width: fit-content;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	margin: 1.25em 0;
}

.wp-block-file:last-of-type {
	margin-bottom: 0;
}

.wp-block-file > a[href*=".zip"],
.single.content a[href*=".zip"] {
	min-height: 7.5rem;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	position: relative;
	font-size: var(--main-font-size);
}

.wp-block-file > a[href*=".zip"]:not(.wp-element-button)::before,
.single.content a[href*=".zip"]:not(.wp-element-button)::before {
	content: '\f1c6';
	position: absolute;
	top: 0;
	font-family: 'Font Awesome 5 Free';
	font-size: 5rem;
	line-height: 1;
	font-weight: 900;
	color: var(--blue-medium);
}

/* a[href*="tel:"],
a[href*="mailto:"] {
	display: flex;
	align-items: center;
	position: relative;
	padding-left: 1.5em;
}

a[href*="tel:"]::before,
a[href*="mailto:"]::before {
	position: absolute;
	top: calc(50% - .5em);
	left: 0;
	font-family: 'remixicon';
	font-size: 1em;
	line-height: 1;
	font-style: normal;
	color: var(--blue-medium);
}

a[href*="tel:"]::before {
	content: '\efe9';
}

a[href*="mailto:"]::before {
	content: "\ea83";
} */

.wp-block-buttons a.wp-block-button__link,
.wp-block-file a.wp-block-file__button,
.wp-block-file a.wp-block-file__button:active,
.wp-block-file a.wp-block-file__button:focus,
.wp-block-file a.wp-block-file__button:hover,
.wp-block-file a.wp-block-file__button:visited {
	width: fit-content;
  min-height: 2.5em;
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: .5em 1.5em;
	border: 0;
	border-radius: .15em;
	background: var(--blue-medium);
	font-family: "Prompt-Regular";
	font-size: 1.25rem;
	color: #fff;
	text-decoration: none;
}

.wp-block-column .wp-block-buttons {
	margin-top: .75em;
}

.wp-block-buttons .wp-block-button {
	margin-bottom: 0;
}

.wp-block-media-text {
	grid-template-columns: 30% 1fr;
}

.wp-block-media-text .wp-block-media-text__media {
	height: 200px;
	padding: 20px;
	background: #fff;
	border-radius: 12px;
	box-shadow: 5px 5px 10px rgba(0,0,0,.25);
}

.wp-block-media-text .wp-block-media-text__media img {
	max-height: 100%;
	object-fit: contain;
}

/* .page.content > .akteure, */
.page.content .box-weiss {
	padding: 2em;
	border-radius: 1em;
	background: #fff;
	box-shadow: 5px 5px 10px rgba(0,0,0,.25);
}

.page.content .box-weiss h2 {
	margin-top: .75em;
}

.page.content > .box-weiss .wp-block-image,
.page.content > .box-weiss figure.wp-block-embed.is-type-video iframe {
	border-radius: 12px;
	box-shadow: none;
	overflow: hidden;
}

.wp-block-columns .wp-block-image {
	margin-bottom: 2em;
}

.wp-block-columns .is-vertically-aligned-center > .wp-block-image {
	margin-bottom: 0;
}

hr.wp-block-separator {
	margin: 50px 0;
	border-bottom: 0;
	border-color: rgba(0,0,0,.25);
}

figure.wp-block-embed.is-type-video iframe {
  border-radius: 12px;
  box-shadow: 5px 5px 10px rgba(0,0,0,.25);
}



/* MAIN - SINGLE */

section.single {
	background: var(--gray-light);
}

section.single :is(h2,h3,h4,h5,h6) {
	text-align: left;
}

.single.featured-image-container {
	width: 100vw;
	position: relative;
	margin: -75px 0 var(--section-padding-top-bottom) calc((100vw - var(--content-width)) / (-2));
}

img.single.featured-image {
	width: 100%;
	height: 400px;
	object-fit: cover;
	object-position: center;
}

.single.featured-image-container p {
	width: fit-content;
	position: absolute;
	right: 0;
	bottom: 7px;
	margin: 0;
	padding: .5em 15px .35em .5em;
	background: rgba(0,0,0,.25);
	border-radius: .12em 0 0 0;
	font-size: .6em;
	color: #fff;
}

.single.featured-image-container .image-source p.isc-source-text {
  position: unset;
}

.single.featured-image-container a {
	color: inherit;
}

.single.post-info-container {
	display: flex;
/*	flex-direction: column; */
	margin-bottom: 1.5em;
/* 	font-size: 20px; */
}

.single.appointment.post-info-container,
.single.job.post-info-container,
.single.event.post-info-container {
	flex-direction: column;
}

.single.post-info {
	display: flex;
	margin: 0 1.5em .5em 0;
}

.single.post-icon {
	color: var(--gold);
  padding-top: .75px;
	margin-top: -2px;
  margin-right: .5em;
}

.single.post-category a {
	color: #000;
  text-decoration: none;
}

.single.post-category a:hover {
  text-decoration: underline;
}

.single.post-date {
	margin-right: 1.5em;
}


/* MAIN - SINGLE-APPOINTMENT */

.single.appointment.date,
.single.appointment.location {
	margin-right: 1.5em;
}

.single.appointment.link {
	text-decoration: none;
}

.appointment.former-appointments {
  display: none; /* Vorrübergehend keine zurückliegenden Veranstaltungen ausgeben */
}


/* MAIN - SINGLE-PERSON */

.single.person.container {
	display: flex;
	justify-content: space-between;
}

.single.person.content {
	width: calc(var(--content-width) * var(--single-person-text-width-factor));
}

.single.person.content > p:first-child {
	margin-top: 0;
}

.single.person.image-functions-contact-social {
	width: calc(var(--content-width) * var(--single-person-ifcs-width-factor));
	display: flex;
	flex-direction: column;
}

.single.person.image-functions-contact-social:only-child {
	width: calc(var(--content-width) * var(--single-person-ifcs-solo-width-factor));
	align-items: center;
	margin: 0 auto;
}

.single.person.image {
	width: var(--single-person-image-width);
	height: var(--single-person-image-height);
}

.single.person.functions-contact-social {
	width: var(--single-person-image-width);
}

.single.person.functions {
	padding-top: 1em;
	font: var(--bold-font);
	color: var(--secondary-color);
}

.single.person.function {
	font-size: var(--h3-font-size);
	text-transform: uppercase;
}

.single.person.additional-function {
	padding-top: 5px;
	font-size: var(--h4-font-size);
}

.single.person.contact-item {
	display: flex;
	margin: 15px 0;
}

.single.person.contact-icon {
	width: 1.5em;
	flex-shrink: 0;
	color: var(--secondary-color);
}

.single.person.contact-text {
	text-decoration: none;
}

.single.person.social {
	display: flex;
	flex-wrap: wrap;
	margin-top: 25px;
}

.single.person.social-item {
	display: flex;
	justify-content: center;
	align-items: center;
	width: calc(var(--content-width) * var(--single-person-ifcs-width-factor) * var(--single-person-image-width-factor) * 1/5);
	height: calc(var(--content-width) * var(--single-person-ifcs-width-factor) * var(--single-person-image-width-factor) * 1/5);
	background-color: var(--primary-color);
	font-size: calc(var(--content-width) * var(--single-person-ifcs-width-factor) * var(--single-person-image-width-factor) * 1/5 * .5);
	color: #fff;
	text-decoration: none;
}

.single.person.press-image {
	display: flex;
	margin-top: 25px;
}

.single.person.image-functions-contact-social:only-child .single.person.social-item {
	width: calc(var(--content-width) * var(--single-person-ifcs-solo-width-factor) * var(--single-person-image-width-factor) * 1/5);
	height: calc(var(--content-width) * var(--single-person-ifcs-solo-width-factor) * var(--single-person-image-width-factor) * 1/5);
	font-size: calc(var(--content-width) * var(--single-person-ifcs-solo-width-factor) * var(--single-person-image-width-factor) * 1/5 * .5);
}

.single.person.social-item:nth-of-type(even) {
	background-color: var(--secondary-color);
}

.single.person.social-item:hover {
	color: var(--tertiary-color);
	transition: all .3s ease-out;
}


/* MAIN - SHORTCODES */

/* person */

.person-shortcode {
	width: 100%;
	min-width: 450px;
	display: flex;
	align-items: center;
	gap: 1em;
}

.person-shortcode + .person-shortcode {
	margin: 2em 0;
}

h2 + .person-shortcode,
h3 + .person-shortcode,
h4 + .person-shortcode,
h5 + .person-shortcode,
h6 + .person-shortcode {
	margin-top: .5em;
}

section.page .person-shortcode + h2 {
	margin-top: 2.5em;
}

.person-shortcode a {
	display: flex;
	text-decoration: none;
}

.person-shortcode-image {
	width: var(--scp-image-width);
	height: var(--scp-image-height);
	border-radius: 6%;
}

.person-shortcode-info > * {
	margin: 5px 0;
}

.person-shortcode-info *:not(.person-shortcode-name, .person-shortcode-function, .person-shortcode-contact-icon) {
	font-size: var(--scp-general-font-size);
}

.person-shortcode-name {
	font-family: "Prompt-Regular";
	color: var(--blue-medium);
	text-transform: uppercase;
}

.person-shortcode-function {
	font-family: "Prompt-Regular";
	color: var(--blue-dark);;
}

.person-shortcode-contact {
	display: flex;
	gap: .5em;
}

.person-shortcode-contact-icon {
	color: var(--gold);
}

.person-shortcode-contact-text {
	display: flex;
	align-items: center;
}

.person-shortcode-social {
	display: flex;
}

.person-shortcode-social-icon {
	width: var(--scp-social-icon-width);
	height: var(--scp-social-icon-height);
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--primary-color);
	color: #fff;
}

.person-shortcode-social .person-shortcode-social-icon:nth-of-type(even) {
	background-color: var(--secondary-color);
}

.person-shortcode-social-icon:hover {
	color: var(--tertiary-color);
	transition: all .3s ease-out;
}


/* MAIN - ARCHIVE */

section.archive {
	min-height: var(--main-min-height);
	background: var(--gray-light);
}

body:not(.home) .archive :is(h2,h3,h4,h5,h6) {
	width: 100%;
	text-align: left;
}

.archive.posts-container a {
	text-decoration: none;
}

.archive.post {
  width: 100%;
  min-height: 250px;
  display: flex;
/* 	justify-content: flex-end; */
  position: relative;
  background-color: var(--primary-color);
	border-radius: 15px;
	overflow: hidden;
	box-shadow: 5px 5px 10px rgba(0,0,0,.25);
	background: #fff;
	font-size: var(--archive-post-font-size);
}

.archive.post:nth-of-type(2n) {
  flex-direction: row-reverse;
  margin: 50px 0;
}

.archive.post:last-of-type {
  margin-bottom: 50px;
}

.archive.post-image-link {
	width: 250px;
	height: 100%;
	display: flex;
	position: relative;
}

.archive.post > .post-image-link {
	height: unset;
}

.archive.post-image {
  width: 100%;
  height: 100%;
  flex-shrink: 0;
  object-fit: cover;
  position: absolute;
}

.archive.post-body {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  padding: 20px;
	overflow: hidden;
}

.archive.post-image-link + .archive.post-body {
  width: calc(100% - 250px);
}

.archive.post:nth-of-type(2n) .archive.post-image {
  right: 0;
}

.archive.post:nth-of-type(2n+1) .archive.post-image {
  left: 0;
}

h2.archive.post-headline {
/*   max-height: calc(1.3em * 3 + 2px); */
	margin-top: 0;
	margin-bottom: .5em;
  overflow: hidden;
	font-size: var(--h2-archive-font-size);
	text-align: left;
}

h2.archive.post-headline a {
  color: var(--blue-medium);
}

.archive.post-info-container {
  display: flex;
  margin-bottom: .5em;
	font-size: 16px;
}

.archive.post-info {
	display: flex;
}

.archive.post-icon {
  padding-top: .75px;
	margin-top: -2px;
  margin-right: .5em;
	color: var(--gold);
}

.archive.post-info:not(:last-child) > *:last-child {
	margin-right: 1.5em;
}

.archive.post-category a {
/* 	color: #fff; */
}

.archive.post-teaser {
  height: calc(1.2em * 2);
  position: relative;
/*   text-align: justify; */
  overflow: hidden;
	hyphens: auto;
}

.archive.post-teaser::after {
  content: "";
  text-align: right;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 150px;
  height: 1.2em;
	background: linear-gradient(to right, transparent, #fff);
  background: -webkit-linear-gradient(left, rgba(255,255,255,0), rgba(255,255,255,1));
}

.archive.post-teaser > p {
	margin: 0;
}

.archive.read-more-container {
  margin-top: .5em;
}

.archive.read-more {
	color: var(--blue-light);
}

.archive.post-category a:hover,
.archive.read-more:hover {
	color: var(--blue-medium);
	transition: all .3s ease-out;
}

.archive.post span.isc-source-text {
  font-size: 0.6em !important;
  top: unset !important;
  left: 8px !important;
  bottom: 8px;
  /* Keine Quellen auf Titelbild-Vorschau ausgeben */
  display:none !important;
}

/* pagination */

.pagination {
	width: 100%;
	display: flex;
	justify-content: center;
}

.pagination > * {
	display: flex;
	padding-top: 3px;
	text-decoration: none;
}

.pagination a:hover {
	text-decoration: none;
}

.page-numbers:not(.prev, .next) {
	width: 25px;
	height: 25px;
	justify-content: center;
	align-items: center;
	margin: 0 2.5px;
	border-radius: 6%;
	background-color: var(--blue-medium);
	color: #fff;
}

.page-numbers.prev,
.page-numbers.next {
	margin: 0 10px;
	padding-top: 4px;
}

.page-numbers.current {
	background-color: var(--blue-light);
}

.page-numbers:not(.prev, .current, .next):hover {
	background-color: var(--blue-light);
	transition: all .3s ease-out;
}

.page-numbers.prev:hover,
.page-numbers.next:hover {
	color: var(--blue-medium);
	transition: all .3s ease-out;
}

.archive.appointment.category {
  text-transform: uppercase;
}


/* FOOTER */

footer {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 0 var(--footer-padding-right-left);
  background: var(--footer-background-color);
	font-family: var(--footer-font-family);
	font-size: var(--footer-font-size);
}

footer a {
  color: inherit;
  text-decoration: none;
}

footer a:hover {
	text-decoration: none;
}

.footer-row {
	width: var(--footer-row-width);
	display: flex;
	justify-content: space-between;
}

.footer-row.top {
	--content-width: 1770px;
	align-items: center;
	padding: 50px 0;
}

.footer-logo {
	background-size: contain;
	background-repeat: no-repeat;
}

.footer-logo#ibe {
	--footer-logo-width: calc(var(--footer-row-width) * .18);
	width: var(--footer-logo-width);
	height: calc(var(--footer-logo-width) * .2102);
	background-image: url("assets/images/IBE_Logo.svg");
}

.footer-logo#pm {
	--footer-logo-width: calc(var(--footer-row-width) * .1409);
	width: var(--footer-logo-width);
	height: calc(var(--footer-logo-width) * .401);
	background-image: url("assets/images/PM_Logo.png");
}

.footer-logo#lvu {
	--footer-logo-width: calc(var(--footer-row-width) * .0463);
	width: var(--footer-logo-width);
	height: calc(var(--footer-logo-width) * .9757);
	background-image: url("assets/images/LVU_Logo.png");
}

.footer-logo#cv {
	--footer-logo-width: calc(var(--footer-row-width) * .2012);
	width: var(--footer-logo-width);
	height: calc(var(--footer-logo-width) * .2246);
	background-image: url("assets/images/CV_Logo.jpg");
}

.footer-logo#vem {
	--footer-logo-width: calc(var(--footer-row-width) * .1569);
	width: var(--footer-logo-width);
	height: calc(var(--footer-logo-width) * .252);
	background-image: url("assets/images/VEM_Logo.png");
}

.footer-separator {
	width: 100%;
	height: 1px;
	background: rgba(0,0,0,.25);
}

.footer-row.bottom {
	--content-width: 1350px;
	padding: var(--footer-padding-top-bottom) 0;
}

.footer-column {
	display: flex;
}

ul#menu-fussmenue {
	display: flex;
	gap: var(--footer-padding-right-left);
}

ul#menu-fussmenue > li {
	display: flex;
	flex-direction: column;
	gap: 1.5em;
}

ul#menu-fussmenue > li > a {
	font-family: "Prompt-Regular", sans-serif;
	font-size: 1.25rem;
	text-transform: uppercase;
}

ul#menu-fussmenue > li > ul.sub-menu {
	display: flex;
	flex-direction: column;
	gap: .75em;
}

.footer-column.right-bottom {
	align-items: flex-end;
}

.subsidy {
	width: 190px;
	height: 100%;
	background-image: url("assets/images/BMAS_Logo_1030x956.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position-y: 5px;
}

.eu-logo {
	width: 175px;
	height: 71%;
	background-image: url("assets/images/EU-Logo.svg");
	background-size: contain;
	background-repeat: no-repeat;
  background-position: bottom;
}

.copyright {
	padding-top: var(--footer-padding-top-bottom);
	font-size: .85em;
}


/* OTHER */

#overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5);
  visibility: hidden;
  opacity: 0;
  transition: all 0.3s ease-out;
}

#overlay.open {
  visibility: visible;
  opacity: 1;
}


/* contact form */

form.wpcf7-form {
	min-width: 450px;
	max-width: 600px;  
	padding: 2em;
	border-radius: 1em;
	background: #fff;
	box-shadow: 5px 5px 10px rgba(0,0,0,.25);
}

form.wpcf7-form > p:nth-of-type(1) {
	margin-top: 0;
}

form.wpcf7-form > p:last-of-type {
	position: relative;
	margin-bottom: 0;
}

form.wpcf7-form :is(input,textarea).wpcf7-form-control {
	width: 100%;
	height: 2.5em;
	padding: .5em;
	border: 1px solid #fcfcfc;
	border: 0;
	border-radius: .15em;
	background: var(--gray-light);
	background: #f4f4f4;
/* 	box-shadow: 5px 5px 10px rgba(0,0,0,.075); */
	font-size: 1.125rem;
	font-family: inherit;
}

form.wpcf7-form textarea.wpcf7-form-control {
	height: 7.5em;
}

span.wpcf7-acceptance span.wpcf7-list-item {
	margin: 0;
	font-size: .85em;
}

span.wpcf7-acceptance label {
	display: flex;
	align-items: flex-start;
}

form.wpcf7-form input[type=checkbox] {
	-webkit-appearance: none;
	appearance: none;
  background-color: #fff;
	flex-shrink: 0;
  width: 1em;
  height: 1em;
	display: grid;
  place-content: center;
  margin: 0;
  font: inherit;
  color: currentColor;
  border: .15em solid var(--gray-medium);
  border-radius: 6%;
	cursor: pointer;
	transition: .15s all ease-out;
}

form.wpcf7-form input[type=checkbox]:checked {
	background-color: var(--blue-medium);
	border-color: var(--blue-medium);
}

form.wpcf7-form input[type=checkbox]::before {
	content: '';
	width: .6em;
	height: .6em;
	transform: scale(0);
	transform-origin: bottom left;
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
	box-shadow: inset 1em 1em #fff;
	transition: .15s transform ease-out;
}

form.wpcf7-form input[type=checkbox]:checked::before {
	transform: scale(1);
}

span.wpcf7-acceptance span.wpcf7-list-item-label {
	margin-left: .5em;
}

form.wpcf7-form input[type=submit] {
	background: var(--blue-medium);
	border: 0;
	color: #fff;
	font-family: "Prompt-Regular" !important;
	cursor: pointer;
	transition: .15s opacity ease-out;
}

form.wpcf7-form input[type=submit]:disabled {
	opacity: .5;
}

.wpcf7-spinner {
  display: flex;
  background-color: var(--blue-light);
  opacity: 1;
  position: absolute;
  top: calc(50% - 12px);
}

.wpcf7-spinner::before {
	background-color: #fff;
}

form.wpcf7-form .wpcf7-response-output {
	margin: 1em 0;
	padding: .6em 1em .4em;
	border-radius: .15em;
}

form.wpcf7-form .wpcf7-response-output:first-of-type {
	margin-top: 1.5em;
}

form.wpcf7-form .wpcf7-response-output:last-of-type {
	margin-bottom: 0;
}



/* MEDIA QUERIES */

/* interaction */

@media (hover: none) {
	
}

/* screen width */

@media screen and (max-width: 1440px) {
	:root {
		--section-padding-right-left: 150px;
		--section-home-padding-right-left: var(--section-padding-right-left);
		--post-preview-gap: 50px;
	}
	.single.featured-image-container {
		margin-left: calc(var(--section-padding-right-left) / (-1));
	}
  #post {
    font-size: 1.2rem;
  }
  #post-excerpt {
    font-size: 1.5rem;
  }
  #post-thumbnail {
    height: 50vh;
  }
  #post-body > * {
    margin-left: 15px;
    margin-right: 15px;
  }
  #post-body > figure.wp-block-image {
    width: 100%;
    max-height: 100vh;
    overflow: hidden;
  }
}

@media screen and (max-width: 1240px) {
	:root {
		--header-height: 75px;
    --header-padding-right-left: 25px;
		--section-padding-right-left: 75px;
	}
  header {
    max-height: var(--mobile-vh);
/*     overflow: hidden; */
	}
	.header-logo-container {
		margin-left: var(--header-padding-right-left);
	}
	.header-top-menu-toggle {
		margin-right: var(--header-padding-right-left);
	}
	.wp-block-columns > .wp-block-column > .wp-block-columns {
		flex-direction: column;
	}
	.wp-block-columns > .wp-block-column > .wp-block-columns:empty {
		display: none;
	}
}

@media screen and (max-width: 1040px) {
	body.home section {
		min-height: unset;
	}
	.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
		flex-basis: unset;
	}
}

@media screen and (max-width: 940px) {
	:root {
		--module-width: min(calc((100vw - var(--section-home-padding-right-left) * 2 - var(--module-gap)) / 2), 300px);
		--post-preview-width: min(calc((100vw - var(--section-home-padding-right-left) * 2 - var(--post-preview-gap)) / 2), 400px);
		--contact-envelope-width: 350px;
	}
	section#premises-gallery .wp-block-gallery.columns-5 .blocks-gallery-item {
		width: calc(50% - 1em);
		margin-right: 1em;
	}
	section#premises-gallery li.blocks-gallery-item::before {
		border-width: 7px;
	}
  .slide-text {
    width: 70%;
    max-width: 750px;
    top: 35%;
    left: 15%;
   }
  .slide-text h1 {
    font-size: 2rem;
  }
  .slide-text p {
    font-size: 1.2rem;
  }
  .slide-text p a {
    font-size: 1.2rem;
  }
	.modules-container {
		flex-direction: column;
		gap: var(--module-gap);
	}
	.modules-column {
		flex-direction: row;
		justify-content: space-between;
	}
	.news-container {
		justify-content: center;
		flex-wrap: wrap;
	}
	.contact-envelope {
		top: -5%;
		left: calc(50% - var(--contact-envelope-width));
	}
	section.page .wp-block-columns.is-layout-flex {
		flex-direction: column;
	}
	.footer-row {
		justify-content: space-around;
		flex-wrap: wrap;
		gap: 50px;
	}
	.footer-logo#ibe {
  	--footer-logo-width: calc(var(--footer-row-width) * .244);
	}
	.footer-logo#pm {
  	--footer-logo-width: calc(var(--footer-row-width) * .2818);
	}
	.footer-logo#lvu {
  	--footer-logo-width: calc(var(--footer-row-width) * .0926);
	}
	.footer-logo#cv {
  	--footer-logo-width: calc(var(--footer-row-width) * .4024);
	}
	.footer-logo#vem {
  	--footer-logo-width: calc(var(--footer-row-width) * .3138);
	}
	.footer-column.right-bottom {
		width: 100%;
		justify-content: space-around;
		flex-wrap: wrap;
	}
	.subsidy {
		height: calc(190px * .928);
	}
}

@media screen and (max-width: 782px) {
  #wpadminbar + header {
    margin-top: 46px;
  }
  .slide-text {
    width: 70%;
    max-width: 750px;
    top: 30%;
    left: 15%;
   }
  
}

@media screen and (max-width: 768px) {
	:root {
		--section-padding-right-left: 50px;
		--footer-padding-right-left: 50px;
	}
  h1 {
    font-size: 2rem;
  }
  h2 {
    font-size: 1.5rem;
  }
	.slide-text {
		top: 35%;
	}
	img.single.featured-image {
		height: 350px;
	}
	.archive.post,
  .archive.post:nth-of-type(even) {
    flex-direction: column;
  }
	.archive.post-image-link {
		width: 100%;
	}
  .archive.post-image {
    width: 100%;
    height: 250px;
    position: static;
  }
  .archive.post-image-link + .archive.post-body {
    width: unset;
  }
  .archive.post-body {
    min-height: 250px;
  }
}

@media screen and (max-width: 600px) {
	:root {
		--header-padding-right-left: 15px;
		--module-width: min(calc(100vw - var(--section-home-padding-right-left) * 2), 300px);
		--post-preview-width: min(calc(100vw - var(--section-home-padding-right-left) * 2), 400px);
		--contact-envelope-width: 300px;
	}
  #wpadminbar {
    position: fixed;
  }
	body.home main ul:not(.slick-dots) {
		-webkit-column-count: 1;
		-moz-column-count: 1;
		column-count: 1;
	}
	.slide-source a {
		font-size: .875rem;
	}
	.modules-column {
		flex-direction: column;
		align-items: center;
	}
	.contact-envelope {
  	top: 5%;
	}
	.person-shortcode {
		min-width: unset;
		flex-direction: column;
	}
	.person-shortcode-info {
		width: 100%;
	}
	.footer-row.bottom > * {
		width: 100%;
	}
	nav#footer-menu {
		width: 100%;
	}
	ul#menu-fussmenue {
		width: 100%;
		justify-content: space-around;
		gap: 0;
	}
	.footer-column.right-bottom {
		justify-content: space-around;
		gap: 0;
	}
	.subsidy {
		width: 150px;
		height: calc(150px * .928);
		margin-left: -15px;
	}
	.eu-logo {
		width: 120px;
		height: calc(150px * .66);
	}
	.archive.post-info-container {
		flex-direction: column;
		gap: .5em;
	}
}

@media screen and (max-width: 540px) {
	:root {
		--section-padding-right-left: 25px;
		--footer-padding-right-left: 25px;
	}
	h1 {
		font-size: 1.75rem;
	}
	h2 {
		font-size: 1.25rem;
	}
	form.wpcf7-form {
		min-width: unset;
	}
	.footer-row {
		justify-content: center;
	}
	.footer-logo#ibe {
  	--footer-logo-width: calc(var(--footer-row-width) * .61);
	}
	.footer-logo#pm {
  	--footer-logo-width: calc(var(--footer-row-width) * .7045);
	}
	.footer-logo#lvu {
  	--footer-logo-width: calc(var(--footer-row-width) * .2315);
	}
	.footer-logo#cv {
  	--footer-logo-width: calc(var(--footer-row-width));
	}
	.footer-logo#vem {
  	--footer-logo-width: calc(var(--footer-row-width) * .7845);
	}
}

@media screen and (max-width: 440px) {
	:root {
		--main-font-size: 1rem;
	}
	h1 {
		font-size: 1.5rem;
	}
	h2 {
		font-size: 1.125rem;
	}
	section#premises-gallery li.blocks-gallery-item::before {
    border-width: 4px;
	}
  .slide-text {
    width: 90%;
    left: 5%;
    top: 35%;
   }
  .slide-text h1 {
    font-size: 2.5rem;
  }
  .slide-text p {
    font-size: 1.2rem;
  }
  .slide-text p a {
    font-size: 1.2rem;
  }  
	ul#menu-fussmenue,
	.footer-column.right-bottom {
		justify-content: space-between;
	}
	img.single.featured-image {
		height: 250px;
	}
}

@media screen and (max-width: 360px) {
	:root {
		--footer-font-size: .75rem;
	}
	ul#menu-fussmenue > li > a {
		font-size: 1rem;
	}
	.footer-column.right-bottom {
		justify-content: space-between;
	}
	.eo-logo {
		width: 100px;
	}
}




















