h1, h2, h3, h4, h5, p, a, blockquote {
	font-family: 'Fira Sans', sans-serif;
	color: #000;
}


/* GENERAL */

a.active, a:active, a:focus, a:hover {
	text-decoration: none;
}

a:focus {
    box-shadow: none;
}

.btn:focus {
    box-shadow: none;
}

header {
	background: white;
    z-index: 10;
}

.content {
	padding-top: 6em;
}

a.navbar-link {
	text-transform: uppercase;
	color: #121087;
	border-bottom: 2px solid #fff;
}

a.navbar-link:hover {
    text-decoration: none;
	border-bottom: 2px solid #121087;
}



/* obsolete */

.static_menu {
	text-align: center;
}

.static_menu img {
	width: 50%;
}

/* menu */

.page_header {
	padding-top: 1em;
	padding-bottom: 1em;
	width: 87.5em;
	z-index: 10;
	background-color: #fff;
}

.page_header img {
	height: 3.5em;
}

.page_header ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

.page_header ul li {
	float: left;
}

.page_header ul li a {
	display: block;
    padding: 0 0 .5em 0;
	margin-right: 2.5em;
    text-transform: uppercase;
    font-size: .97em;
    font-weight: 400;
    color: #000;
	border-bottom: 2px solid #fff;
}

.page_header ul li.selected a {
	border-bottom: 2px solid black;
}

.page_header ul li a:hover {
	border-bottom: 2px solid black;
	text-decoration: none;
}

.page_header .container .text-col {
	align-items: center;
    display: grid;
    flex-wrap: wrap;
}

/* Modal */

.modal {
	padding: 1em;
}

.modal .modal-overlay i {
	margin-right: 5px;
	margin-top: 5px;
	color: #000;
	background-color: #fff;
}

.modal-container, .modal.modal-lg .modal-overlay {
	background-color: #004361;
}

.modal.modal-lg .modal-container {
	text-align: center;
}

.modal-container ul li a {
	color: #fff;
	padding: 1em;
	border: none;
	font-size: 1.2em;
    margin-right: 0;
	font-weight: 500;
}

.modal-container ul li.selected a {
	font-weight: 700;
	border: none;
}

.modal-container ul li a:hover {
	border: none;
}

.modal-container ul li {
	float: none;
}


/* Zitate */

.cite .text-black cite, .cite .text-black span {
	color: #000;
}

.cite .text-black span {
    font-size: 0.7em;
    font-weight: 600;
    letter-spacing: 0.15em;
    line-height: 1.5em;
    padding-top: 1em;
    display: inline-block;
}

.cite blockquote {
	border: none;
	font-style: italic;
	text-align: center;
	font-weight: 200;
	line-height: 1.1em;
	padding-top: 0;
    padding-bottom: 0;
    margin-top: 1em;
    margin-bottom: 0.5em;
}

section .cite blockquote p {
	line-height: 1.1em;
}

.cite cite {
	font-style: normal;
	/*text-align: center;*/
	text-transform: uppercase;
	display: block; /* aligns it to the center */
	font-weight: 600;
    color: #acc6dd;
    font-size: 0.9em;
    letter-spacing: 0.4em;
}

.cite.text-light blockquote p {
	color: #fff;
    line-height: 1.1em !important;
}


.cite.text-light p cite {
	color: #fff;
    font-size: 0.9em;
}

.cite.text-light p span {
	color: #acc6dd;
    font-size: 0.7em;
    font-weight: 600;
    letter-spacing: 0.15em;
}



/* SPACINGS */

/* see spacings.css */

/* Header */

.bg-grey {
	background-color: #f7f7f7;
}

.bg-darkblue {
	background-color: #004361;
}


.header h1 {
	/* z.B. Unterseite Stellenbeschreibung */
	font-style: italic;
    font-weight: 300;
    font-size: 4em;
	text-transform: uppercase;
}

.header h2 {
	font-style: italic;
    font-weight: 200;
    font-size: 3.5em;
}



/* Header v2 (Unternehmen) */

.header.v2 h2 {
	margin-bottom: 0;
}

/* Footer */

.footer {
	background-color: #004462;
	margin-top: 7em;
}

.footer p {
	text-transform: uppercase;
	color: #fff;
	font-size: 0.75em;
    font-weight: 500;
    margin-bottom: 0.6em;
}

.footer a, .footer a:link, .footer a:visited {
	color: #fff;
}

.footer a[href^="mailto"], .footer a[href^="mailto"]:link, .footer a[href^="mailto"]:visited {
	color: #a3a300;
}

.footer a:hover {
	color: #fff;
	text-decoration: underline;
}

.footer a[href^="mailto"]:hover {
	color: #a3a300;
	text-decoration: underline;
}

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

.footer .col-bordered {
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
}


.footer .col-bordered .column {
	padding: 1em 2em;
}

.footer .col-bordered a {
	padding: 1em;
	color: #fff;
	text-transform: uppercase;
	font-size: .75em;
}

.footer .copyright {
	padding-top: 2em;
	padding-bottom: 2em;
	font-size: .75em;
}


.text-light h3 {
	color: #fff;
}

.container.w-wide, .container.w-mid, .container.w-narrow {
	margin: 5em 0;	
}

.container.con-gapless {
	padding-left: 0;
	padding-right: 0;
}

.container.two-cols-with-image .columns .column img {
	max-width: 100%;
}

.container.two-cols-with-image .text-col {
	align-items: center;
    display: flex;
    flex-wrap: wrap;
}

section .backgroundimage {
	/*min-height: 5em;*/
	
}

.backgroundimage.bg-left {
	background-position-x: -18em;
}

.backgroundimage.bg-left2 {
	background-position-x: -6em;
}

.backgroundimage.bg-contain {
	background-size: contain;
}

.backgroundimage.bg-cover {
	background-size: cover;
}

.backgroundimage.bg-right {
	background-position-x: calc(100% + 10em);
}

.backgroundimage.bg-right2 {
	background-position-x: right;
}

.backgroundimage.bg-right3 {
	background-position-x: calc(100% + 49em);
}
.backgroundimage.bg-bottom {
	background-position-y: bottom;
}

/* IMAGE BORDERS */

.top-bottom-left-border {
	border-top: 1em solid white;
	border-bottom: 1em solid white;
	border-left: 1em solid white;
	background: white;
}

.wh-100 img, img.wh-100 {
	width: 100%;
	height: 100%;
}

/* SECTION TEXT */

section h2 {
	font-style: italic;
    font-weight: 200;
    font-size: 2.7em;
}

.header h3, section h3 {
	text-transform: uppercase;
    font-size: 1.3em;
    letter-spacing: 0.1em;
    font-weight: 400;
    margin-bottom: 2.5em;
}

section h3.narrow {
    margin-bottom: 0;
}

section p {
	line-height: 1.87em;

}

section ul {
	padding-top: 1.5em;
	list-style: disc outside;
}

section ul li {
	line-height: 1.87em;
	color: #000;
	font-size: .8rem;
	font-family: 'Fira Sans', sans-serif;
	margin-top: 0;
	padding-left: 1em;
}

/* TABLE */

.table th {
	border-bottom-width: 0;
	border-bottom: none;
	font-family: 'Fira Sans', sans-serif;
	padding: 0.3rem 0.8rem 0.3rem 0;
}

.table td {
	border-bottom-width: 0;
	border-bottom: none;
	font-family: 'Fira Sans', sans-serif;
	padding: 0.3rem 0.8rem 0.3rem 0;
}

.table tr {
	vertical-align: top;
}

h3 + .table {
	margin-top: -2.5em;
}

/* Button Links */

.btn {
	text-transform: uppercase;
    border-radius: 0;
    border: 0.2rem solid;
    
    padding: 0.8rem 2.2rem 0.8rem 0.7rem;
    height: 2.8rem;
    line-height: 1rem;
    letter-spacing: .31rem;    
    font-weight: 600;
    font-size: .8em;
}

.btn.btn-gold {
	background: url('/static/cms_kpe2022/images/arrow-openpage.svg') no-repeat;
	background-position-x: calc(100% - 1.4em);
    background-position-y: calc(50%);
    border-color: #aea709; /* gold */
    color: #aea709; /* gold */
}

a.link-gold {
	color: #aea709; /* gold */
	font-weight: 500;
}

.btn.btn-link {
	background: url('/static/cms_kpe2022/images/arrow-left.svg') no-repeat;
	background-position-x: left;
    background-position-y: calc(50%);
    color: #004462;
    padding: 0.9rem 0.7rem 0.8rem 2.2rem;
    border: none;
    font-weight: 400;
    letter-spacing: .10em;
    font-size: .9em;
}

.btn.btn-blau {
	border-color: #004361;
    background: url('/static/cms_kpe2022/images/arrow-right.svg') no-repeat;
    background-position-x: calc(100% - 1em);
    background-position-y: calc(50%);
    padding: 0.75rem 2.2rem 0.6rem 0.7rem;
    color: #004361;
}


/* Swiper */

.slick-slide img {
	height: 40em;
    margin-right: 1em;
}

.slick.slick-25 .slick-slide img {
    height: 25em !important;   /* 400px */
}

.slick-prev {
	position: relative;
    top: 22.5em;
    left: -2.5em;
    z-index: 1;
}

.slick.slick-25 .slick-prev {
    top: 14.5em;
}

.slick-next {
	position: relative;
    top: -22.5em;
    left: 2.5em;
    z-index: 1;
    float: right;
}

.slick.slick-25 .slick-next {
    top: -15.5em;
}

/* home_content_nav.html */

.content-nav .prev-link-section {
	background-image: url('/static/cms_kpe2022/images/vorheriges-projekt-back.png');
    background-repeat: no-repeat;
    background-size: cover;
    background-position-y: -1em;
    background-position-x: 0;
    
}

.content-nav .prev-link-section .column.text-center {
	padding-bottom: 7em;
    margin-top: -3em;
}

.content-nav .prev-link-section .column.text-left {
	margin-top: -2em;
}

.content-nav .next-link-section {
	background-image: url('/static/cms_kpe2022/images/naechstes-projekt-back.png');
    background-repeat: no-repeat;
    background-size: cover;
	background-position-y: top;
    background-position-x: 0;
}

.content-nav .next-link-section .column.text-center {
	padding-bottom: 7em;
    margin-top: -3em;
}

.content-nav .next-link-section .column.text-right {
	margin-top: -2em;
}

.content-nav img.page-img {
	/*max-width: 100%;*/
	width: 12em;
	height: 11em;
	object-fit: cover;
}

.content-nav p {
	text-transform: uppercase;
	margin-top: 3em;
	font-size: 1.6em;
	margin-bottom: 0.5em;
}

.content-nav a:hover {
	text-decoration: none;
}

/* Plugin SubPageMenu */

.subpagemenu .subpagemenu-entry {
	margin-bottom: 1em; 
	padding: 2em 2em;
	background-image: url('/static/cms_kpe2022/images/arrow-right.svg');
	background-repeat: no-repeat;
	background-position-x: calc(100% - 2em);
	background-position-y: center;
}

.subpagemenu a {
	display: contents;
    font-size: 1.1em;
    font-weight: 500;
    color: #000;
    font-style: italic;
    text-transform: uppercase;
	
}

.subpagemenu a.unpub {
	color: #aea709;
}


/* Section Wide-Download (An- und Verkauf) */

section.wide-download a {
	padding: 1em;
	color: #fff;
}

section.wide-download a, section.wide-download a:link, section.wide-download a:active, section.wide-download a:visited, section.wide-download a:hover {
	color: #fff;
}

section.wide-download a:hover {
	text-decoration: none;
}

section.wide-download p {
	margin-bottom: 0;
	color: #fff;
	line-height: 1.5em;
}

section.wide-download .as-btn {
	border: 4px solid #fff;
    padding: 1em 4em;
    margin-right: 1em;
    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: .1em;
    font-size: .9em;
}

.justify-end {
	justify-content: end;
}

/* AKTUELLES

	backgroundimage: bg-right2 bg-bottom bg-contain

		container two-cols-with-image

*/

.header.aktuelles-header {

}

.header.aktuelles-header .backgroundimage .container {
	height: 27em;
}

.header.aktuelles-header .backgroundimage .container .columns {
	padding-top: 11em;
}

section.akutelles-section h2 {
	margin-bottom: 1em;
}

section.akutelles-section h3 {
	margin-bottom: 0.5em;
}

/* CMS */

div.cms .cms-structure.cms-structure-condensed {
	width: 700px !important;
}

/* Cookie */

.gdprcookie {
	padding-top: 2rem;
}

.gdprcookie h1, .gdprcookie h2, .gdprcookie p {
	color: #fff;
	text-align: center;
}

.gdprcookie h2 {
	font-size: 16px;
	margin: 15px;
	font-weight: 500;
}

.gdprcookie .gdprcookie-buttons {
	margin: 20px;
}

.gdprcookie .gdprcookie-types ul {
	margin: 0 2rem;
}

.gdprcookie .gdprcookie-types li {
	text-align: center;
}




/* DESKTOP */
@media screen and (min-width: 87.5em) {

	.page {
		width: 87.5em;
		/*border-left: 1px solid black;
		border-right: 1px solid black;*/
	}
	.static_menu {
		width: 25em;
	}

	.cite {
		width: 65em;
	}

	.header-logo-padding {
		background-size: cover;
	}

	.header-logo-padding .backgroundimage-plugin {
		padding-top: 8em;
		padding-bottom: 11em;
		text-align: right;
		padding-right: 13em;
	}

	.cite blockquote {
    	font-size: 3.2em;
	}

	/* OVERLAPS */

	.overlap-4 {
		margin-top: -4em;
		margin-bottom: -4em;

	}

	.overlap-4-content {
		padding: 4em 0;
	}


}

/* TABLET
40em bis 87.5em
640px - 1400px

*/
@media screen and (max-width: 87.5em) and (min-width: 40em) {
	.page_header {
		width: 100%;
	}
	.page {
		width: 100%;
	}
	.static_menu {
		width: 40em;
	}
	.cite {
		width: 100%;
	}

	/* remove navbar links */
	.navbar-link {
		display: none;
	}
	
	.mob-d-block {
	    display: block !important;
	}

	.header-logo-padding {
		background-size: cover;
	}

    .header-logo-padding .backgroundimage-plugin {
        padding-top: 12vw;
        padding-bottom: 15vw;
        text-align: right;
        padding-right: 16vw;
    }

    .header-logo-padding .backgroundimage-plugin img {
        width: 17vw;
    }

	.cite blockquote {
    	font-size: 2.9em;
	}
	
	.mob-justify-center {
		justify-content: center;
	}
	
	section.wide-download .as-btn {
	    margin-bottom: 1em;
	}

}

/*
MOBILE
40em = bis 640px
*/

@media screen and (max-width: 40em) {
	.page_header {
		width: 100%;
	}
	.page {
		width: 100%;
	}
	.static_menu {
		width: 100%;
	}
	.cite {
		width: 100%;
	}

	/* remove navbar links */
	.navbar-link {
		display: none;
	}

	.header-logo-padding {
		background-size: cover;
	}
	
	.mob-d-block {
	    display: block !important;
	}

	.header-logo-padding .backgroundimage-plugin {
		padding-top: 4em;
		padding-bottom: 4em;
		text-align: right;
		padding-right: 3em;
	}

	.header-logo-padding .backgroundimage-plugin img {
		width: 6em;
	}

	.cite blockquote {
    	font-size: 2.0em;
		margin-left: 0;
    	margin-right: 0;
	}

	.cite cite {
		color: #b5bbbb;
		font-size: 0.7em;
		padding-top: 1em;
	}

	section h2 {
		font-size: 2em;
	}

	section .container, section.container, .header .container {
		padding-left: 1em;
		padding-right: 1em;
	}

	section .container .mob-no-padding {
		margin-left: -1em;
		margin-right: -1em;
	}

	.top-bottom-left-border {
		border-left: 0 solid transparent;
		border-bottom: 0 solid transparent;
		border-top: 0 solid transparent;
		padding-right: 1em !important;
		background: none;
	}

	.cite.text-light p cite {
		padding-top: 0;
		line-height: 1.2;
	}
	.cite.text-light p span {
		line-height: 1.2;
	}

	.footer {
		padding-left: 1em;
		padding-right: 1em;
		margin-top: 2em;
	}

	.footer p {
		font-size: 1em;
	}

	.header h2 {
		font-size: 2.1em;
	}

	.header h3, section h3 {
		font-size: 1.1em;
	}

	.backgroundimage.bg-left2 {
		background-position-x: -9em;
		background-size: auto 47%;
	}

	.backgroundimage.bg-right2 {
		background-position-x: right;
		background-size: auto 50%;
	}

	.mob-bg-cover {
		background-size: cover!important;
	}

	.mob-bg-bottom {
		background-position-y: bottom;
	}

	.backgroundimage.bg-right2.mob-clear-bg {
		background-position-x: initial;
		background-size: auto;
	}

	.backgroundimage.mob-bg-33 {
    	background-size: auto 33% !important;
	}

	.table td, .table tr {
		font-size: 0.9em;
	}

	.slick-prev {
		left: 0;
	}

	.slick-next {
		left: 0;
	}

	.cite cite {
		line-height: 1.2;
		color: #000;

	}

	.cite span {
		font-size: 0.7em;
    	font-weight: 700;
	}

	.content-nav p {
		font-size: .8em;
	}

	.subpagemenu .subpagemenu-entry {
		padding: 2em 5em 2em 1em;
	}

	.header h1 {
		font-size: 2em;
	}

	section ul {
		padding-top: 1.5em;
		list-style: disc outside;
		padding-left: 1em;
	}

	.mob-justify-center {
		justify-content: center;
	}

	section.wide-download .as-btn {
		margin-right: 0;
		margin-bottom: 1em;
	}

	.header.aktuelles-header .backgroundimage .container .columns {
		padding-top: 11em;
	}

	.header.aktuelles-header .backgroundimage.bg-bottom {
		background-position-y: -4em;
	}


}

/*
SMALL MOBILE
30em = 480px
*/

@media screen and (max-width: 30em) {
	.page_header {
		width: 100%;
	}

	.header-logo-padding .backgroundimage-plugin {
		padding-top: 2em;
		padding-bottom: 4em;
		text-align: right;
		padding-right: 3em;
	}

	.header-logo-padding .backgroundimage-plugin img {
		width: 5em;
	}

	.cite.text-light p span {
		line-height: 1;
		letter-spacing: 0;
	}
	
	.btn {
	    letter-spacing: .2rem;
	}
}
