/*
Theme Name: drais Theme
Author: Jochen Dippel
Description: drais Theme
*/

/* titillium-web-300 - latin */
@font-face {
  font-display: swap;
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/titillium-web-v17-latin-300.woff2') format('woff2');
}

/* titillium-web-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/titillium-web-v17-latin-regular.woff2') format('woff2');
}

/* titillium-web-700 - latin */
@font-face {
  font-display: swap;
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/titillium-web-v17-latin-700.woff2') format('woff2');
}


* {
	box-sizing: border-box;
	font-family: 'Titillium Web', sans-serif;
	font-weight: 400;
	--bodywidth: 1024px;
	--sliderheight: 520px;
	--slidertextwidth: 600px;
}
@media (max-width: 1024px) {
	body.admin-bar {
		margin-top: -32px;
	}
}
@media (max-width: 782px) {
	body.admin-bar {
		margin-top: -46px;
	}
}
body {
	font-size: 1rem;
	line-height: 1.5;
	letter-spacing: .05rem;
	margin: 0;
	padding: 0;
	color: var(--layout-black);
	background-color: var(--layout-white);
}
.bodywrap {
	position: relative;
	width: var(--bodywidth);
	min-height: 100%;
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
}
@media (max-width: 1024px) {
	.bodywrap {
		padding-left: 20px;
		padding-right: 20px;
	}
}
.pagebody {
}
.pagehead {
	position: absolute;
	top: 100px;
	left: 0;
	z-index: 100;
	height: 150px;
	width: 100%;
	transition: height .3s;
}
.pagehead .logo {
	position: absolute;
	top: 0;
	left: 0;
	width: 128px;
	height: 230px;
	transition: height .3s;
	& a {
		display: block;
		width: 100%;
		height: 100%;
		background: url(img/drais_logo.svg) no-repeat center transparent;
		background-size: contain;
	}
}
.pagehead .menubox {
	position: absolute;
	top: 0;
	right: 0;
}
.pagehead .menubox > ul {
	display: inline-block;
}
.pagehead .mainmenubox li:first-child {
	margin-left: 0;
}
.pagehead .mainmenubox li:last-child {
	margin-right: 40px;
}
/*
@media (min-width: 1025px) {
	.pagehead.small {
		height: 66px;
	}
	.pagehead.small .logo {
		height: 66px;
	}
	.pagehead.small .logo img {
		padding: 5%;
	}
}
*/
.menubox {
	position: relative;
	font-size: 0;
	line-height: 0;
}
.menubox ul {
	padding: 0;
	margin: 0;
	list-style-type: none;
	vertical-align: middle;
}
.menubox li {
	display: inline-block;
	margin: 0 15px;
	&.menu-item-40.current_page_item a {
		color: rgb(var(--layout-red));
	}
	&.menu-item-39.current_page_item a {
		color: rgb(var(--layout-yellow));
	}
}
.menubox {
	& a {
		font-size: 16px;
		line-height: 1;
		color: rgb(var(--layout-yellow));
		font-weight: 400;
		text-decoration: none;
	}
	& .current_page_item > a, .menubox li:hover > a {
		color: rgb(var(--layout-blue));
		text-decoration: none;
	}
	& .current_page_item > a {
		font-weight: 700;
	}
}
.socialmenubox li {
	margin: 0 10px;
}
.socialmenubox a {
	font-size: 0;
	line-height: 0;
	width: 20px;
	height: 20px;
	display: block;
	background: url(img/icon_facebook-white-100.svg) no-repeat center;
	background-size: contain;
}
.pagehead .socialmenubox .smfb a {
	background-image: url(img/icon_facebook-white-100.svg);
}
.pagehead .socialmenubox .smig a {
	background-image: url(img/icon_instagram-white-100.svg);
}
.pagehead .socialmenubox .smli a {
	background-image: url(img/icon_linkedin-white-100.svg);
}
.pagefooter .socialmenubox .smfb a {
	background-image: url(img/icon_facebook-white-100.svg);
}
.pagefooter .socialmenubox .smig a {
	background-image: url(img/icon_instagram-white-100.svg);
}
.pagefooter .socialmenubox .smli a {
	background-image: url(img/icon_linkedin-white-100.svg);
}
.pagefooter {
	position: relative;
	background-color: rgb(var(--layout-grey));
	padding: 40px 0;
}
.pagefooter a {
	color: rgb(var(--layout-white));
}
.pagefooter ul {
	text-align: center;
}
.pagefooter .socialmenubox {
	margin-bottom: 25px;
}
.mobilemenu {
	position: absolute;
	top: 0;
	right: 0;
	width: 75px;
	height: 100%;
	background: url(img/Menue.svg) no-repeat center;
	background-size: 35%;
	cursor: pointer;
	font-size: 0;
	line-height: 0;
	display: none;
}
.mobilemenu.open {
	background-image: url(img/Menue-close.svg);
}

.recolor-white-100 {
	a {
		color: rgb(var(--layout-white));
	}
	.smfb a {
		background-image: url(img/icon_facebook-white-100.svg) !important;
	}
	.smig a {
		background-image: url(img/icon_instagram-white-100.svg) !important;
	}
	.smli a {
		background-image: url(img/icon_linkedin-white-100.svg) !important;
	}
	.mobilemenu {
		background-image: url(img/Menue-white-100.svg) !important;
	}
	.mobilemenu.open {
		background-image: url(img/Menue-close-white-100.svg);
	}
}
.recolor-black-100 {
	a {
		color: rgb(var(--layout-black));
	}
	.smfb a {
		background-image: url(img/icon_facebook-black-100.svg) !important;
	}
	.smig a {
		background-image: url(img/icon_instagram-black-100.svg) !important;
	}
	.smli a {
		background-image: url(img/icon_linkedin-black-100.svg) !important;
	}
	.mobilemenu {
		background-image: url(img/Menue-black-100.svg) !important;
	}
	.mobilemenu.open {
		background-image: url(img/Menue-close-black-100.svg);
	}
}
.recolor-blue-100 {
  a {
	  color: rgb(var(--layout-blue));
  }
	.smfb a {
		background-image: url(img/icon_facebook-blue-100.svg) !important;
	}
	.smig a {
		background-image: url(img/icon_instagram-blue-100.svg) !important;
	}
	.smli a {
		background-image: url(img/icon_linkedin-blue-100.svg) !important;
	}
	.mobilemenu {
		background-image: url(img/Menue-blue-100.svg) !important;
	}
	.mobilemenu.open {
		background-image: url(img/Menue-close-blue-100.svg);
	}
}
.recolor-green-100 {
	a {
		color: rgb(var(--layout-green));
	}
	.smfb a {
		background-image: url(img/icon_facebook-green-100.svg) !important;
	}
	.smig a {
		background-image: url(img/icon_instagram-green-100.svg) !important;
	}
	.smli a {
		background-image: url(img/icon_linkedin-green-100.svg) !important;
	}
	.mobilemenu {
		background-image: url(img/Menue-green-100.svg) !important;
	}
	.mobilemenu.open {
		background-image: url(img/Menue-close-green-100.svg);
	}
}
.recolor-red-100 {
	a {
		color: rgb(var(--layout-red));
	}
	.smfb a {
		background-image: url(img/icon_facebook-red-100.svg) !important;
	}
	.smig a {
		background-image: url(img/icon_instagram-red-100.svg) !important;
	}
	.smli a {
		background-image: url(img/icon_linkedin-red-100.svg) !important;
	}
	.mobilemenu {
		background-image: url(img/Menue-red-100.svg) !important;
	}
	.mobilemenu.open {
		background-image: url(img/Menue-close-red-100.svg);
	}
}
.recolor-yellow-100 {
	a {
		color: rgb(var(--layout-yellow));
	}
	.smfb a {
		background-image: url(img/icon_facebook-yellow-100.svg) !important;
	}
	.smig a {
		background-image: url(img/icon_instagram-yellow-100.svg) !important;
	}
	.smli a {
		background-image: url(img/icon_linkedin-yellow-100.svg) !important;
	}
	.mobilemenu {
		background-image: url(img/Menue-yellow-100.svg) !important;
	}
	.mobilemenu.open {
		background-image: url(img/Menue-close-yellow-100.svg);
	}
}
.recolor-beige-100 {
	a {
		color: rgb(var(--layout-beige));
	}
	.smfb a {
		background-image: url(img/icon_facebook-beige-100.svg) !important;
	}
	.smig a {
		background-image: url(img/icon_instagram-beige-100.svg) !important;
	}
	.smli a {
		background-image: url(img/icon_linkedin-beige-100.svg) !important;
	}
	.mobilemenu {
		background-image: url(img/Menue-beige-100.svg) !important;
	}
	.mobilemenu.open {
		background-image: url(img/Menue-close-beige-100.svg);
	}
}
.recolor-grey-100 {
	a {
		color: rgb(var(--layout-grey));
	}
	.smfb a {
		background-image: url(img/icon_facebook-grey-100.svg) !important;
	}
	.smig a {
		background-image: url(img/icon_instagram-grey-100.svg) !important;
	}
	.smli a {
		background-image: url(img/icon_linkedin-grey-100.svg) !important;
	}
	.mobilemenu {
		background-image: url(img/Menue-grey-100.svg) !important;
	}
	.mobilemenu.open {
		background-image: url(img/Menue-close-grey-100.svg);
	}
}


@media (max-width: 1024px) {
	.bodywrap {
		width: 100%;
		padding: 0 40px;
	}
	.pagefooter a {
		line-height: 2;
	}
	.mobilemenu {
		display: block;
		z-index: 10;
	}
	#wpadminbar {
		display: none;
	}
	.pagehead {
		position: fixed;
		top: 0;
		left: 0;
		height: 70px;
		/*box-shadow: 0 3px 5px rgba(0,0,0,.2);*/
		z-index: 100;
	}
	.pagebody {
		/*margin-top: 50px;*/
	}
	.pagehead .logo {
		top: 10px;
		width: 60px;
		height: 60px;
		z-index: 10;
		box-shadow: none !important;
		border-radius: 0 !important;
		background-color: transparent !important;
	}
	.pagehead .menushade {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgb(var(--layout-white));
		z-index: 1;
		opacity: 0;
	}
	.pagehead .menubox {
		position: fixed;
		display: block;
		top: -100vh;
		right: 0;
		width: 100%;
		height: auto;
		max-height: 50vh;
		overflow: auto;
		transition: all .3s ease-in-out;
		box-shadow: none !important;
		border-radius: 0 !important;
		background-color: transparent !important;
		z-index: 0;
	}
	.pagehead .menubox.open {
		top: 0;
		padding-top: 50px;
		&::before {
			content: '';
	    position: fixed;
	    top: 0;
	    left: 0;
	    right: 0;
	    bottom: 0;
	    background: rgba(255, 255, 255, 0.3);
	    backdrop-filter: blur(10px);
	    z-index: -1;
		}
	}
	.pagehead .menubox > ul {
		display: block;
		text-align: center;
	}
	.pagehead .mainmenubox li {
		display: block;
		margin: 10px 0 !important;
	}
	.pagehead .mainmenubox a {
		line-height: 2;
	}
	.pagehead .socialmenubox {
		margin: 30px 0;
	}
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 700;
	line-height: 1.5;
	margin: 0;
}
h1 {
	font-size: 50px;
	text-transform: uppercase;
}
h2 {
	font-size: 22px;
}
h3 {
	font-size: 20px;
}
h4 {
	font-size: 18px;
}
h5 {
	font-size: 16px;
}
h6 {
	font-size: 14px;
}
a {
	color: rgb(var(--layout-black));
	text-decoration: underline;
}
strong {
	font-weight: 700;
}
.content .outerwrap {
	padding: 75px 0;
}

.content p:first-child {
	margin-top: 0;
}
.content p:last-child {
	margin-bottom: 0;
}
.content > section:first-child:not(.type-introarticle) {
	padding-top: 350px;
}
.content > section .subcontent > section {
	padding-top: 0 !important;
	background-color: inherit !important;
	color: inherit !important;
}
@media (max-width: 1024px) {
	.content > section:first-child:not(.type-introarticle) {
		padding-top: 80px;
	}
}
.content .authorimage {
	display: block;
	width: 300px;
	height: 300px;
	background-position: center bottom;
	background-size: contain;
	background-repeat: no-repeat;
}
.content .author {
	display: block;
	margin-top: 30px;
}
.content .author .name {
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
}
.content .author .position {
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	margin-top: 14px;
}
.content h1.short {
	text-transform: uppercase;
	padding-bottom: 12px;
}
.content h1.short.noline {
	border-bottom: 0 none;
}
.linkcircle {
	position: absolute;
	bottom: -85px;
	right: 60px;
	width: 170px;
	height: 170px;
	padding: 50px 30px;
	border-radius: 200px;
	background-color: var(--layout-green);
	text-align: center;
}
.linkcircle a {
	text-decoration: none;
	display: block;
}
.linkcircle .t {
	display: block;
	text-transform: uppercase;
	font-size: 24px;
	font-weight: 700;
	text-decoration: none;
	line-height: 1;
}
.linkcircle .s {
	display: block;
	margin-top: 8px;
	text-decoration: underline;
}
@media (max-width: 768px) {
	.type-intro .block, .type-introquestion .block {
		margin-bottom: 190px !important;
	}
	.linkcircle {
		bottom: -195px;
		left: auto !important;
		right: 50% !important;
		transform: translateX(50%);
	}
}
.content .images > div {
	display: block;
	width: 100%;
	height: auto;
}
.content .images img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}
.content .images .image {
	font-size: 0;
	line-height: 0;
}
.content .images .info {
	padding: 15px 20px;
	background-color: rgb(var(--layout-white));
	display: none;
}
.content .images .info .desc.table {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-gap: 5px 20px;
	margin-bottom: 30px;
}
@media (max-width: 768px) {
	.content .images .info .desc.table {
		grid-template-columns: 1fr;
	}
}
.content .images .info .desc.table > div:nth-child(odd) {
	font-weight: 700;
}
.content .images .info .download {
	margin-top: 10px;
}
.content .img span {
	display: none;
}
.content .images .missingimg {
	border: 1px dotted rgb(var(--layout-black));
	background-color: var(--layout-grey);
	padding: 20px;
}
.content .link .button {
	display: inline-block;
	padding: 10px 20px;
	text-decoration: none;
	font-size: .9rem;
}
.content .imagegroup {
	display: grid;
	margin: 40px 0;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 40px;
	align-items: start;
	justify-items: start;
}
@media (max-width: 1024px) {
	.content .imagegroup {
		grid-template-columns: 1fr 1fr;
	}
}
@media (max-width: 768px) {
	.content .imagegroup {
		grid-template-columns: 1fr;
	}
}
.content .imagegroup > div {
	position: relative;
	background-color: rgb(var(--layout-white));
}
.content .imagegroup > div .info {
	padding: 10px;
}
.content .imagegroup img {
	max-width: 100%;
}

.ask-box {
	display: inline-block;
	margin-top: 50px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	& a {
		display: block;
		width: 120px;
		height: 60px;
		cursor: pointer;
		font-size: 0;
		line-height: 0;
		text-decoration: none;
	}
	&.yellow {
		background-image: url(img/fraguns_yellow.svg);
	}
	&.green {
		background-image: url(img/fraguns_green.svg);
	}
	&.blue {
		background-image: url(img/fraguns_blue.svg);
	}
	&.red {
		background-image: url(img/fraguns_red.svg);
	}
	&.beige {
		background-image: url(img/fraguns_beige.svg);
	}
}

.type-title h1 {
	text-transform: uppercase;
	padding-bottom: 20px;
}
.type-introarticle {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	& > .bodywrap {
		width: 100%;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	& .introarticle-box {
		width: 100%;
		background-attachment: fixed;
		background-position: center;
		background-repeat: no-repeat;
		background-size: cover;
		background-color: rgb(var(--layout-black));
		min-height: 880px;
		& .bodywrap {
			padding-top: 450px;
		}
		& h1 {
			color: inherit;
		}
		& .subtitle {
			padding-top: 50px;
			& * {
				font-weight: 700;
			}
			& a {
				color: inherit;
			}
		}
	}
}
@media (max-width: 1024px) {
	.type-introarticle .introarticle-box {
		min-height: auto;
		& .bodywrap {
			padding-top: 100px;
			padding-bottom: 50px;
		}
	}
}
.type-intro .block {
	position: relative;
	border: 1px solid rgb(var(--layout-black));
	padding: 40px 60px;
	margin-left: 280px;
	margin-bottom: 75px;
}
.type-intro .block h1 {
	text-transform: uppercase;
	padding-bottom: 40px;
}
.type-intro .authorimage {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 10;
}
.type-introquestion h1 {
	text-transform: uppercase;
	padding-bottom: 40px;
}
.type-introquestion .text {
	font-weight: 700;
	margin-bottom: 75px;
	padding-bottom: 40px;
	padding-right: 200px;
	border-bottom: 1px solid rgb(var(--layout-black));
}
.type-introquestion .linkcircle {
	right: 0;
	background-color: var(--layout-red);
}
@media (max-width: 768px) {
	.type-intro .authorimage {
		position: relative;
	}
	.type-intro .block {
		padding: 20px 30px;
		margin-left: 0;
	}
}
.type-summary ul {
	margin: 50px 0 0 0;
	padding: 0;
	list-style: none;
}
.type-summary li {
	padding-left: 20px;
	font-weight: 700;
	margin-bottom: 10px;
}
.type-summary li::before {
	content: '\2022';
	font-size: 20px;
	line-height: 1;
	display: inline-block;
	width: 20px;
	margin-left: -20px;
	font-weight: 700;
}
.type-text .text {
	display: flex;
	margin: 50px 0;
}
.type-text .text.noimages {
	margin: 0;
}
.type-text h1 + .text.noimages {
	margin-top: 50px;
}
.type-text + .type-text.bg-repeated, .type-text + .type-quotefree.bg-repeated, .type-quotefree + .type-text.bg-repeated {
	padding-top: 0;
}
.type-text .columns {
	flex: 1;
	column-count: 2;
	column-gap: 60px;
}
.type-text .columns.singlecolumn {
	column-count: 1;
}
.type-text .images {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 60px;
}
.type-text .images.singlecolumn {
	grid-template-columns: 1fr;
}
@media (max-width: 768px) {
	.type-text .columns {
		column-count: 1;
	}
	.type-text .images {
		grid-template-columns: 1fr;
	}
}
.type-imgtext {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-blend-mode: overlay;
}
.type-imgtext .floatbox {
	padding: 50px;
	background-color: rgba(0,0,0,.8);
	color: rgb(var(--layout-white));
}
@media (max-width: 768px) {
	.type-imgtext .floatbox {
		padding: 25px;
	}
}
.type-imgtext .title {
	text-transform: uppercase;
	padding-bottom: 20px;
	border-bottom: 1px solid rgb(var(--layout-white));
	color: rgb(var(--layout-white));
}
.type-imgtext .text {
	margin-top: 50px;
	margin-bottom: 50px;
}
.type-imgtext .button {
	filter: invert();
}
.type-imgtext a {
	color: rgb(var(--layout-white));
}
.type-gallery .imgslider, .type-gallery .imgslider-nav {
	position: relative;
	margin-top: 50px;
	background-color: rgb(var(--layout-white));
}
.type-gallery .imgslider img {
	width: 100%;
	height: auto;
	max-width: 100%;
	margin: 0 auto;
	display: block;
}
.type-gallery .slick-arrow {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	z-index: 10;
	width: 40px;
	height: 150px;
	background: url(img/SR_PDF_Bildergallerie_Pfeil_Links.svg) no-repeat center var(--layout-green);
	background-size: 35%;
	border: 0 none;
	font-size: 0;
	line-height: 0;
	cursor: pointer;
}
.type-gallery .slick-next {
	left: auto;
	right: 0;
	background-image: url(img/SR_PDF_Bildergallerie_Pfeil_Rechts.svg);
}
.type-gallery .imgslider-nav {
	height: 150px;
}
.type-gallery .imgslider-nav .imagebox {
	display: block;
	height: 150px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	margin: 0 1px 0 0;
	cursor: pointer;
}
.type-gallery .imginfo {
	padding: 15px 20px;
}
.type-gallery .imginfo a {
	display: inline-block;
}
.type-gallery .downloadimages {
	margin-right: 20px;
}
.type-gallery .info {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-gap: 20px;
	padding: 0 20px 15px 20px;
	background-color: rgb(var(--layout-white));
}
.type-gallery .info > div:nth-child(2) {
	align-self: end;
}
.type-gallery .extlink {
	padding: 5px 20px !important;
}
.type-btw h1.short {
	border-bottom: 0 none;
}
.type-btw .boxes {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 60px;
}
.type-btw .box {
	padding: 30px 25px 0 25px;
	margin-bottom: 70px;
	border: 1px solid rgb(var(--layout-black));
}
.type-btw .title {
	text-transform: uppercase;
	padding: 30px 25px;
	font-size: 24px;
}
.type-btw .text {
	padding: 30px 25px;
	font-weight: 700;
}
.type-btw .box1 .title {
	background-color: var(--layout-green);
	color: rgb(var(--layout-white));
}
.type-btw .box2 .title {
	background-color: rgb(var(--layout-black));
	color: var(--layout-green);
}
.type-btw .box3 .title {
	background-color: rgb(var(--layout-white));
	color: var(--layout-red);
}
@media (max-width: 768px) {
	.type-btw .boxes {
		grid-template-columns: 1fr;
		grid-gap: 0;
	}
}
.type-similar h1 {
	margin-bottom: 80px;
}
.type-similar .box {
	display: grid;
	grid-template-columns: 500px 1fr;
	background-color: rgb(var(--layout-white));
	margin-bottom: 60px;
}
.type-similar .img {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.type-similar .content {
	align-self: center;
	padding: 50px 60px;
}
.type-similar .title {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 35px;
}
@media (max-width: 768px) {
	.type-similar .content {
		padding: 25px 30px;
	}
}
.type-similar .text {
	display: -webkit-box;
	-webkit-line-clamp: 5;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 2em;
}
.type-similar .link a {
	font-weight: 700;
	text-decoration: none;
}
@media (max-width: 1024px) {
	.type-similar .box {
		grid-template-columns: 1fr;
	}
	.type-similar .img {
		padding-top: 66%;
	}
	.type-similar .content {
		padding-left: 0;
		padding-right: 0;
	}
}

.ui-menu-item {
	cursor: pointer;
	color: rgb(var(--layout-black));
	border-bottom: 1px solid rgb(var(--layout-black));
	padding: 5px 10px;
	overflow: hidden;
	display: block;
}
.ui-menu-item:hover, .ui-menu-item .ui-state-active {
	background-color: rgb(var(--layout-black));
	color: rgb(var(--layout-white));
}
.ui-menu-item:last-child {
	border-bottom: 0 none;
}

.type-authornote .contact > div, .type-quote .quotebox > div, .type-quotefree .quotebox > div {
	display: grid;
	grid-template-columns: 300px 1fr;
	grid-gap: 60px;
}
.type-quote .quotebox > div:first-child, .type-quotefree .quotebox > div:first-child {
	border-bottom: 1px solid rgb(var(--layout-black));
}
.type-quote .quote, .type-quotefree .quote {
	font-size: 24px;
	font-weight: 700;
	text-transform: uppercase;
}
.type-quote .text, .type-quotefree .text {
	margin-top: 40px;
	font-size: 12px;
	line-height: 2em;
}
.type-author .author {
	display: grid;
	grid-template-columns: 300px 1fr;
	grid-template-areas: "author text";
	grid-gap: 60px;
	padding: 40px;
	margin-bottom: 150px;
}
.type-author .author .left {
	grid-area: author;
}
.type-author .author .right {
	grid-area: text;
}
.type-author .author:nth-child(even) {
	grid-template-areas: "text author";
	grid-template-columns: 1fr 300px;
}
.type-author .image {
	border-bottom: 1px solid rgb(var(--layout-black));
}
.type-author .quote {
	font-size: 24px;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 40px;
}
.type-author .description {
	margin-top: 40px;
}
.type-author .description .readmore {
	font-weight: 700;
	cursor: pointer;
}
.type-author .description .text {
	display: none;
}
@media (max-width: 768px) {
	.type-author .author {
		display: block;
		padding: 20px;
	}
	.type-author .right {
		margin-top: 40px;
	}
}
.type-interview .interview {
	display: grid;
	grid-template-columns: 50% 50%;
	grid-gap: 0;
	background-color: var(--layout-green);
}
.type-interview .image {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	height: 100%;
	width: 100%;
}
.type-interview .content {
	display: grid;
	grid-template-rows: 1fr 100px;
	grid-gap: 20px;
	padding: 40px;
}
.type-interview .upper {
	justify-self: start;
	align-self: center;
}
.type-interview .quote {
	font-size: 24px;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 40px;
}
.type-interview .text {
	font-weight: 700;
	color: rgb(var(--layout-white));
}
.type-interview .link {
	justify-self: start;
	align-self: end;
}
@media (max-width: 768px) {
	.type-interview .content {
		padding: 20px;
	}
	.type-interview .interview {
		grid-template-columns: 1fr;
	}
	.type-interview .image {
		padding-top: 66%;
	}
}
.type-promote .title {
	font-weight: 700;
	margin-bottom: 20px;
}
.type-promote .text {
	position: relative;
	width: 100%;
	height: auto;
	transform: skewY(-15deg);
	font-size: 80px;
	line-height: 1.2em;
	font-weight: 700;
	text-transform: uppercase;
	padding: 0 0 200px 0;
	color: var(--layout-red);
	word-break: break-word;
	word-wrap: break-word;
}
@media (max-width: 768px) {
	.type-promote .text {
		font-size: 40px;
		padding-bottom: 60px;
	}
}
.type-newsletter {
	padding: 70px 0 !important;
}
.type-newsletter .newsletter {
	display: grid;
	grid-template-columns: 300px 1fr;
	grid-gap: 50px;
	justify-items: start;
	align-items: start;
	& .title {
		font-weight: 700;
		font-size: 24px;
		text-transform: uppercase;
		margin-bottom: 30px;
	}
	& .text {
		font-weight: 700;
		margin-bottom: 30px;
	}
	& .image {
		background-size: contain;
		background-position: top center;
		background-repeat: no-repeat;
		height: 100%;
		width: 100%;
		display: block;
		background-image: url(img/newsletter.svg);
	}
}
@media (max-width: 768px) {
	.type-newsletter .newsletter {
		grid-template-columns: 45% 1fr;
	}
}
@media (max-width: 480px) {
	.type-newsletter .newsletter {
		grid-template-columns: 1fr;
		& .image {
			padding-bottom: 50%;
		}
	}
}
.type-video .video {
	margin-top: 40px;
}
.type-video .videobox .videopreview {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	padding-top: 56.25%;
	background-size: cover;
	background-position: center;
	cursor: pointer;
}
.type-video .videobox .playbutton {
	position: absolute;
	top: calc(50% - 80px);
	left: calc(50% - 40px);
	width: 80px;
	height: 80px;
	display: block;
	background: url(img/SR_PDF_VideoIcon.svg) no-repeat center transparent;
	background-size: contain;
	cursor: pointer;
}
.type-video iframe {
	width: 100%;
	border: 0 none;
}
.type-video .info {
	padding: 15px 20px;
	background-color: rgb(var(--layout-white));
}
.type-podcast .podcast {
	margin-top: 60px;
}
.type-news .newsslider {
	margin-top: 60px;
	margin-right: -60px;
	padding-bottom: 120px;
}
.type-news .image {
	width: 100%;
	padding-top: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.type-news .slide {
	margin: 0 60px 0 0;
	background-color: rgb(var(--layout-white));
}
.type-news .content {
	position: relative;
	padding: 30px 25px 20px 25px;
}
.type-news .content .title {
	margin-bottom: 20px;
}
.type-news .button {
	font-size: 12px;
	color: rgb(var(--layout-white));
	background-color: rgb(var(--layout-black));
	font-weight: 700;
	text-decoration: none;
	padding: 6px 15px;
}
.type-news .more {
	margin-top: 20px;
}
.type-news .subtitle {
	font-weight: 700;
	margin-bottom: 20px;
}
.type-news .more .button {
	color: rgb(var(--layout-black));
	background-color: var(--layout-green);
}
.type-news .slick-arrow {
	position: absolute;
	bottom: 25px;
	left: 0;
	padding: 0;
	width: 25px;
	height: 50px;
	background: url(img/SR_PDF_PfeilLinks_schwarz.svg) no-repeat center transparent;
	background-size: contain;
	border: 0 none;
	font-size: 0;
	cursor: pointer;
}
.type-news .slick-next {
	left: 60px;
	background-image: url(img/SR_PDF_PfeilRechts_schwarz.svg);
}
@media (max-width: 1024px) {
	.type-news .bodywrap {
		overflow: hidden;
	}
}
.type-sitemap + .type-sitemap {
	padding-top: 0;
}
.introimg .img {
	margin-top: 60px;
	text-align: center;
	font-size: 0;
	line-height: 0;
	max-width: 100%;
}
.introimg .img img {
	max-width: 100%;
}
.introimg .info {
	display: none;
}
.introimg .downloadbar {
	margin-top: 30px;
	padding: 20px;
}
.introimg .downloadbar a, .introimg .downloadbar .dateinfo {
	display: inline-block;
	padding-left: 30px;
	background-size: contain;
	background: url(img/SR_PDF_DownloadIcon.svg) no-repeat center left transparent;
	font-size: 12px;
	line-height: 20px;
	font-weight: 700;
	text-decoration: none;
	margin-right: 40px;
}
.introimg .downloadbar .dateinfo {
	background: none;
	float: right;
	line-height: 30px;
	margin-right: 0;
}
.type-iframe iframe {
	width: 100%;
	height: 100%;
	border: 0 none;
}
.type-code h1 {
	text-transform: uppercase;
	padding-bottom: 20px;
}
.type-code .code {
	margin-top: 40px;
}
.cookiesrequired {
	display: block;
	padding: 40px;
	background-color: rgb(var(--layout-white));
	border: 1px dashed rgb(var(--layout-black));
	cursor: pointer;
}
.cookiesrequired .button, .wpcf7-submit, .site_form .button, .site_form input[type="submit"] {
	border: 1px solid rgb(var(--layout-black));
	margin-top: 20px;
	font-size: 1rem;
	color: rgb(var(--layout-black));
	background-color: rgb(var(--layout-white));
	font-weight: 700;
	text-decoration: none;
	padding: 6px 24px;
	cursor: pointer;
}
.cookiesrequired ul {
	padding: 0;
	margin: 20px 0;
	list-style: none;
}
.cookiesrequired ul li {
	padding: 0;
	margin: 0;
}
.cookiesrequired ul li::before {
	display: inline-grid;
	content: '-';
	margin-right: 6px;
}
.contactform {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 20px;
}
.contactform > div {
	align-self: start;
	justify-self: start;
	display: grid;
	grid-gap: 20px;
	align-items: start;
	align-content: start;
	width: 100%;
}
.contactform .row1 {
	grid-template-columns: 1fr 1fr 1fr;
}
.contactform .row2 {
	grid-template-columns: 1fr;
}
.contactform .row3 {
	grid-template-columns: 1fr;
}
.contactform p {
	margin: 0;
	padding: 0;
}
.contactform label {
	font-weight: 700;
}
.contactform input[type="text"], .contactform input[type="email"], .contactform textarea, .site_form input[type="text"], .site_form input[type="email"], .site_form input[type="password"], .site_form textarea {
	width: 100%;
	border: 0 none;
	padding: 6px;
	background-color: var(--layout-grey);
	color: rgb(var(--layout-black));
	font-size: 14px;
	line-height: 1.4em;
}
.speechbubble {
	position: relative;
	display: block;
	margin: 0 auto;
	width: 100%;
	max-width: 660px;
	& .title {
		font-weight: 700;
		text-transform: uppercase;
		font-size: 40px;
		line-height: 1.2em;
		padding-bottom: 20px;
	}
	& .text {
		border-top: 2px solid rgb(var(--layout-black));
		padding: 30px 40px 10px 40px;
		font-weight: 700;
	}
	& .bar-left, & .bar-right {
		width: 2px;
		height: calc(100% - 148px);
		background: rgb(var(--layout-black));
		position: absolute;
		top: 0;
		left: 0;
	}
	& .bar-right {
		left: auto;
		right: 0;
		height: calc(100% - 106px);
	}
	&::after {
		content: '';
		display: block;
		width: 100%;
		height: 150px;
		background: url(img/speechbubble_bottom.svg) no-repeat center bottom transparent;
		background-size: 100% auto;
	}
}
@media (max-width: 740px) {
	.speechbubble {
		& .bar-left, & .bar-right {
			height: calc(100% - ((100vw - 80px) * 148 / 660));
		}
		& .bar-right {
			height: calc(100% - ((100vw - 80px) * 106 / 660));
		}
		&::after {
			aspect-ratio: 660 / 150;
			height: auto;
		}
	}
}
@media (max-width: 512px) {
	.speechbubble {
		& .text {
			border-top-width: 1px;
		}
		& .bar-left, & .bar-right {
			width: 1px;
		}
	}
}
.type-subpage {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	& .subcontent {
		display: none;
		border-top: 1px solid rgb(var(--layout-white));
		padding-top: 50px;
	}
	& .title {
		cursor: pointer;
		font-weight: 700;
		text-transform: uppercase;
		font-size: 1rem;
		line-height: 1.2em;
		padding: 10px 0;
		& .arrow::after {
			margin-left: 6px;
			font-size: .9rem;
			display: inline-block;
			content: '\25BC';
		}
		&.open {
			& .arrow::after {
				content: '\25B2';
			}
		}
	}
}
.content.single .type-subpage {
	& .subcontent {
		display: block;
	}
}
.type-projects {
	padding-top: 125px !important;
	padding-bottom: 125px !important;
	& .titleblock {
		position: relative;
		margin-bottom: 80px;
		& h1 {
			border-top: 1px solid rgb(var(--layout-black));
			border-bottom: 1px solid rgb(var(--layout-black));
			padding: 10px 0;
			line-height: 1em;
		}
		& .arrow {
			position: absolute;
			bottom: -30px;
			left: 0;
			width: 20px;
			height: 30px;
			background: url(img/projects_arrow.svg) no-repeat center transparent;
			background-size: contain;
		}
	}
	& .projectlist .project {
		display: grid;
		grid-template-columns: 300px 1fr;
		grid-template-rows: 1fr auto;
		grid-template-areas:
			"image content"
			"image link";
		& .image {
			grid-area: image;
			background-size: cover;
			background-position: center;
			background-repeat: no-repeat;
			height: 100%;
			min-height: 300px;
		}
		& .content {
			grid-area: content;
			padding: 30px 50px;
			& h1 {
				line-height: 1;
				font-size: 40px;
				margin-bottom: 20px;
			}
		}
		& .link {
			grid-area: link;
			align-self: end;
			& a {
				display: block;
				padding: 10px 50px;
				text-decoration: none;
				color: rgb(var(--layout-white));
				background-color: rgb(var(--layout-black));
			}
		}
	}
}
.projectlist .project + .project {
	margin-top: 60px;
}
@media (max-width: 768px) {
	.type-projects {
		& .projectlist .project {
			grid-template-columns: 1fr;
			grid-template-areas:
				"image"
				"content"
				"link";
			& .image {
				min-height: 0;
				padding-bottom: 100%;
			}
			& .content {
				padding: 30px;
			}
			& .link {
				& a {
					padding: 10px 30px;
				}
			}
		}
	}
}
.type-projectlist {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
.type-emptyheader {
	padding-top: 300px;
}
@media (max-width: 768px) {
	.type-emptyheader {
		padding-top: 150px;
	}
}
.type-textimg1, .type-textimg2 {
	& .title {
		position: relative;
		text-align: left;
		margin: 0 auto 0 0;
		width: 75%;
		font-size: 40px;
		text-transform: uppercase;
		z-index: 1;
	}
	& .imgblock {
		position: absolute;
		overflow: hidden;
		bottom: 0;
		right: 0;
		width: 75%;
		max-height: 100vh;
	}
	& .imgcontainer {
		position: sticky;
		top: 0;
		right: 0;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
	}
	& .img {
		position: absolute;
		top: 0;
		right: 0;
		background-size: auto;
		background-position: right center;
		background-repeat: no-repeat;
		width: 100%;
		height: 100%;
		&.parallax {
		  transform: translateX(-50%);
		  width: 100%;
		  background-size: contain;
		  will-change: transform;
		}
	}
	& .titleblock {
		position: relative;
		padding-bottom: 200px;
		&.orientation-right {
			& .title {
				text-align: right;
				margin: 0 0 0 auto;
			}
			& .imgblock {
				right: auto;
				left: 0;
				& .img {
					background-position: left center;
				}
			}
		}
		& .imagewrapper {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			overflow: hidden;
		}
	}
}
.type-textimg2 {
	& .text {
		position: relative;
		text-align: left;
		z-index: 1;
		&.orientation-right {
			& .title {
				text-align: right;
				margin: 0 0 0 auto;
			}
			& .imgblock {
				right: auto;
				left: 0;
				& .img {
					background-position: left center;
				}
			}
		}
	}
}
.type-textquote1 {
	& .titleblock {
		position: relative;
		width: 75%;
		& h1 {
			border-top: 1px solid rgb(var(--layout-black));
			border-bottom: 1px solid rgb(var(--layout-black));
			padding: 10px 0;
			line-height: 1em;
		}
		& .arrow {
			position: absolute;
			bottom: -30px;
			left: 0;
			width: 20px;
			height: 30px;
			background: url(img/projects_arrow.svg) no-repeat center transparent;
			background-size: contain;
		}
		&.orientation-right {
			text-align: right;
			margin: 0 0 0 auto;
		}
	}
	&.bg-black-100, &.bg-blue-100, &.bg-green-100, &.bg-red-100, &.bg-yellow-100, &.bg-beige-100, &.bg-grey-100, &.bg-blue-75, &.bg-green-75, &.bg-red-75, &.bg-yellow-75, &.bg-beige-75, &.bg-grey-75, &.bg-grey-50 {
		& .titleblock {
			& h1 {
				border-top: 1px solid rgb(var(--layout-white));
				border-bottom: 1px solid rgb(var(--layout-white));
			}
			& .arrow {
				background-image: url(img/projects_arrow_white.svg);
			}
		}
	}
}
@media (max-width: 768px) {
	.type-textquote1 {
		& .titleblock {
			width: 100%;
		}
	}
}
.type-textquote2 {
	& .text {
		position: relative;
		width: 75%;
		text-transform: uppercase;
		font-size: 22px;
		&::after {
			content: '';
			display: block;
			width: 100%;
			height: 100%;
			margin-top: 10px;
			max-width: 300px;
			max-height: 70px;
			aspect-ratio: 4.3;
			background: url(img/quote.svg) no-repeat center bottom transparent;
			background-size: 100% auto;
		}
		&.orientation-right {
			text-align: left;
			margin: 0 0 0 auto;
		}
	}
	&.bg-black-100, &.bg-blue-100, &.bg-green-100, &.bg-red-100, &.bg-yellow-100, &.bg-beige-100, &.bg-grey-100, &.bg-blue-75, &.bg-green-75, &.bg-red-75, &.bg-yellow-75, &.bg-beige-75, &.bg-grey-75, &.bg-grey-50 {
		& .text {
			&::after {
				background-image: url(img/quote_white.svg);
			}
		}
	}
}
@media (max-width: 768px) {
	.type-textquote2 {
		& .text {
			width: 100%;
		}
	}
}
.type-textquote3 {
	& .contentblock {
		width: 75%;
		&.orientation-right {
			text-align: left;
			margin: 0 0 0 auto;
		}
	}
	& .titleblock {
		display: grid;
		grid-template-columns: auto 1fr;
		grid-gap: 20px;
	}
	& .title {
		position: relative;
		text-transform: uppercase;
		font-size: 18px;
		font-weight: 700;
	}
	& .line {
		position: relative;
		display: block;
		width: 100%;
		border-bottom: 1px solid rgb(var(--layout-black));
		height: calc(100% - 8px);
	}
	& .text {
		padding: 15px 0 20px 0;
		border-bottom: 1px solid rgb(var(--layout-black));
	}
	&.bg-black-100, &.bg-blue-100, &.bg-green-100, &.bg-red-100, &.bg-yellow-100, &.bg-beige-100, &.bg-grey-100, &.bg-blue-75, &.bg-green-75, &.bg-red-75, &.bg-yellow-75, &.bg-beige-75, &.bg-grey-75, &.bg-grey-50 {
		& .line {
			border-bottom: 1px solid rgb(var(--layout-white));
		}
		& .text {
			border-bottom: 1px solid rgb(var(--layout-white));
		}
	}
}
@media (max-width: 768px) {
	.type-textquote3 {
		& .contentblock {
			width: 100%;
		}
	}
}
.type-logos .logos {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-gap: 30px;
	& .logo {
		display: flex;
		justify-content: center;
		align-items: center;
		& img {
			max-width: 100%;
			max-height: 100%;
		}
	}
}
@media (max-width: 768px) {
	.type-logos .logos {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
@media (max-width: 480px) {
	.type-logos .logos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
.shadowbox {
  background-color: rgba(0,0,0,.4);
  border-radius: 5px;
	box-shadow: 0 0 35px 45px rgba(0,0,0,.4);
}