@import "fonts.css";
@import "grid.css";
@import "components.css";
@import "form.css";
@import "scroll.css";
@import "detail.css";
@import "intern.css";
@import "login.css";
@import "artletter.css";
@import "video.css";

@font-face {
	font-family: "meine-schrift";
	src: url("/typo3conf/ext/kmv_package/Resources/Public/Fontsmeinerschrift.ttf")
		format("truetype");
}

::-webkit-scrollbar {
	display: none;
}
/* html {overflow: -moz-scrollbars-none;
overflow-x: -moz-hidden-unscrollable;
-ms-overflow-style: -ms-autohiding-scrollbar;} */

* {
	box-sizing: border-box;
}

html {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin: 0;
	padding: 0;
	font-size: 16px;
	font-family: "Yantramanav", sans-serif;
	color: #494e64;
	height: 100%;
	width: 100%;
	cursor: url("/typo3conf/ext/kmv_package/Resources/Public/Icons/cursor.png") 25
			15,
		auto;
}

body {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin: 0;
	/* padding: 0 10px; */
	font-size: 16px;
	font-family: "Yantramanav", sans-serif;
	color: #494e64;
	height: 100%;
	width: 100%;
	cursor: url("/typo3conf/ext/kmv_package/Resources/Public/Icons/cursor.png") 25
			15,
		auto;
}

/* Reset */
h1,
h2,
h3,
h4,
p,
a,
b,
i {
	margin: 0 0 20px 0;
	padding: 0;
	color: #494e64;
}

h1 {
	font-family: "HeimatSans-Regular", sans-serif;
	font-size: 48px;
	font-weight: 400;
	margin-bottom: 30px;
}

h2 {
	font-family: "HeimatSans-Regular", sans-serif;
	font-size: 40px;
	font-weight: 400;
	margin-bottom: 30px;
}

p,
li {
	font-weight: 100;
	line-height: 26px;
	font-size: 16px;
}
.bodytext {
	font-size: 18px;
}

li {
	font-family: "Yantramanav", sans-serif;
	font-size: 16px;
}

.image-default {
	width: 80%;
	height: auto;
	margin: 0;
	padding: 0;
	box-shadow: 0px 20px 121px -9px rgba(31, 85, 99, 0.5);
	border: 2px solid white;
	float: right;
}
.image-default.image-vertical {
	width: 60%;
	height: auto;
	float: right;
	margin-right: 8vw;
}

.image_default-hide-mobile {
	display: block;
}

.container_content-right .image-default {
	float: left;
}

.container_content-left .image-default {
	float: right;
}

.kontakt .image-default {
	width: 80%;
}

/*Marc: IE 11 zeigt strong nicht standardmäßig bold an*/
strong {
	font-weight: bold;
}

em {
	font-style: normal;
	color: red;
}

/* section{
  margin-bottom: 4vw;
} */
section.intro {
	margin-bottom: 8vw;
}

/* Wrapping */
/* Main */
main {
	margin-top: 0px;
	display: block;
	position: relative;
	padding-top: 148px;
	min-height: calc(100vh - 150px);
}

.main-custom {
	margin-top: 0px;
	/* height: 80vh; */ /* Siva Änderung*/
}

.main_wrapper {
	width: 100%;
	height: 100%;
	padding: 40px 20px;
	position: fixed;
	z-index: 0;
	background-color: #a5bac9;
	border-right: 10px solid white;
	border-left: 10px solid white;
	border-top: 10px solid white;
	/* border: 10px solid white; */ /* Siva Änderung*/
	border-top: 0;
	top: 0px;
}
.main_wrapper-0 {
	border: 0;
}

.main_wrapper-white-theme {
	background-color: white;
}

.main_wrapper-0 {
	width: 0%;
	padding: 0;
}
.main_wrapper-3 {
	width: 45%;
	top: 200px;
	height: 100%;
}
.main_wrapper-frame {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 100%;
	margin: 0 auto;
	position: relative;
	padding: 0px 10px;
}

/* Header */
header {
	position: relative;
	margin: 0;
	padding: 0;
	width: 100%;
	left: 0;
	top: 0;
	/* border-right: 10px solid white;
	border-left: 10px solid white;
	border-top: 10px solid white; */
	/* background: -moz-linear-gradient(top, rgba(165,186,201,1) 0%, rgba(165,186,201,0) 100%);
  background: -webkit-linear-gradient(top, rgba(165,186,201,1) 0%,rgba(165,186,201,0) 100%);
  background: linear-gradient(to bottom, rgba(165,186,201,1) 0%,rgba(165,186,201,0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a5bac9', endColorstr='#00a5bac9',GradientType=0 ); */
	z-index: 3;
	position: fixed;
}
header.sticky {
	background-color: white;
	box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.4);
}
.header-theme-dark {
	background-color: #a5bac9;
	border-right: 10px solid white;
	border-left: 10px solid white;
	border-top: 10px solid white;
}

.header-theme-dark > .header_wrap > #mobile_toggle {
	top: 30px;
	right: 30px;
}

body.red .main_wrapper {
	background-color: #cd9a9a;
}

body.red .header-theme-dark {
	background-color: #cd9a9a;
}

body.red .container_content-dark-theme {
	background: #681b1c;
}

body.red .container_content-dark-theme .document_box h3,
body.red .container_content-dark-theme .document_box p {
	color: white;
}

body.green .main_wrapper {
	background-color: #c2c5bc;
}

body.green .header-theme-dark {
	background-color: #c2c5bc;
}

body.green .container_content-dark-theme {
	background: #585956;
}

body.green .container_content-dark-theme .document_box h3,
body.green .container_content-dark-theme .document_box p {
	color: white;
}

.header_wrap {
	display: grid;
	grid-auto-flow: column;
	display: -ms-grid;
	-ms-grid-auto-flow: column;
	margin: 0 auto;
	/* border-right: 10px solid white;
	border-left: 10px solid white;
	border-top: 10px solid white; */
}

/* Logo */
.home_link {
	padding: 42px 7vw;
	cursor: url("/typo3conf/ext/kmv_package/Resources/Public/Icons/cursor-cta.png")
			25 15,
		auto;
	display: -ms-grid;
	grid-column: 1;
	grid-row: 1;
	-ms-grid-column: 1;
	-ms-grid-row: 1;
	margin-bottom: 0px;
}
.home_link-light {
	background: white;
}
.home_link-dark {
	background: none;
}
.home_link-image {
	width: 130px;
	height: auto;
}
.home_link-image-footer {
	display: none;
}

/* Navigation */
#nav {
	transition: transform 0.8s cubic-bezier(1, -0.01, 0, 0.99);
	margin-top: 40px;
	padding-right: 7vw;
	grid-column: 2;
	grid-row: 1;
	-ms-grid-column: 2;
	-ms-grid-row: 1;
}

#nav {
	position: absolute;
	width: 100vw;
	padding-right: 30px;
	right: 0;
}

.nav_list {
	margin: -40px 0 0 0;
	padding: 0;
	list-style: none;
	float: right;
}
.nav_list-item {
	float: left;
	position: relative;
	overflow: hidden;
	padding: 0 0.7vw;
	cursor: pointer;
	cursor: url("/typo3conf/ext/kmv_package/Resources/Public/Icons/cursor-cta.png")
			25 15,
		auto;
}
.nav_list-item.active .nav_list-link {
	color: #7a97ab;
}
.nav_list-item.active .nav_list-item-state {
	transform: translate3d(0%, 0%, 0px);
}
.nav_list-item-state {
	width: 100%;
	height: 4px;
	background: #494e64;
	display: block;
	transform: translate3d(-200%, 0%, 0px);
	transition: transform 0.8s cubic-bezier(0.82, 0.09, 0.17, 0.9);
}
.nav_list-item:hover .nav_list-item-state {
	transform: translate3d(0%, 0%, 0px);
}
.nav_list-link {
	text-decoration: none;
	line-height: 4.5vw;
	font-weight: bold;
	font-size: 16px;
	cursor: inherit;
}

/* Mobile Toggle */
#mobile_toggle {
	position: fixed;
	padding: 14px 10px;
	display: none;
	height: 40px;
	width: 40px;
	top: 30px;
	right: 30px;
	z-index: 9999;
	background-color: white;
	border-radius: 100%;
	cursor: pointer;
}
#mobile_toggle_bg {
	height: 44px;
	width: 44px;
	display: none;
	position: absolute;
	top: 18px;
	right: 18px;
	border-radius: 100%;
	border: 2px solid #404054;
	background: #404054;
	transition: transform 0.8s ease-in-out;
}
#mobile_toggle span {
	height: 2px;
	width: 20px;
	display: block;
	margin-bottom: 3px;
	background: #494e64;
}

/* Footer */
footer {
	margin-top: auto;
	position: relative;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 3;
	/* margin-right: 10px;
	margin-left: 10px; */ /* Siva Änderung */
}

/* .footer-fixed-bottom {
  position: fixed;
} */ /* Siva Änderung */

.footer_wrapper {
	width: 100%;
	margin: 0 auto;
}
.footer-copyright {
	padding: 30px 0;
	margin: 0;
}

/* Footer Navigation */
.nav_footer_list {
	margin: 0;
	padding: 0;
	list-style: none;
	float: right;
}
.nav_footer_list-item {
	float: left;
	padding: 30px 20px;
}
.nav_footer_list-link {
	text-decoration: none;
}
.nav_footer_list-link.social {
	font-weight: bold;
}

.cookie_note {
	position: fixed;
	width: 100%;
	bottom: -300px;
	z-index: 9999;
	margin-bottom: 0px;
	transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
	color: white;
	font-weight: 100;
	font-size: 14px;
}
.cookie_note.slide-in {
	bottom: 20px;
	left: 20px;
}
.cookie_note .row {
	margin: 0;
	width: 51%;
	padding: 55px;
	background-color: white;
	box-shadow: -1px 6px 20px 8px rgba(0, 0, 0, 0.03);
}
.cookie_note .row p {
	width: 80%;
	float: left;
	margin-bottom: 0px;
}
button#cookie-ok-button {
	border: 1px solid gray;
	padding: 5px 30px;
	float: right;
	background-color: white;
}

/* Navigation Breakpoint */
@media only screen and (max-width: 1100px) {
	.image-default {
		box-shadow: none;
	}

	.header_wrap {
		display: grid;
		grid-auto-flow: column;
		display: -ms-grid;
		-ms-grid-auto-flow: column;
		margin: 0 auto;
		/* border-right: 10px solid white;
		border-left: 10px solid white;
		border-top: 10px solid white; */
	}
	header {
		border: 0;
	}
	.header_wrap {
		border: 0;
	}
	body {
		padding: 0;
	}
	html {
		height: auto;
		overflow-y: visible;
	}
	.bodytext {
		font-size: 20px;
	}
	p,
	li {
		font-weight: 500;
		line-height: 26px;
		font-size: 16px;
	}
	main {
		margin-top: 50px;
		top: 0px;
		padding-top: 80px;
	}
	/* Wrapping */
	.main_wrapper {
		padding: 10px 20px;
		border-bottom: 0px;
	}
	.main_wrapper-3 {
		width: 100%;
		height: 100%;
		top: 0;
	}
	.main_wrapper-0 {
		width: 100%;
		padding: 0;
	}
	.main_wrapper-frame {
		border-right: 10px solid white;
		border-left: 10px solid white;
		border-top: 10px solid white;
		height: auto;
	}
	.main-custom {
		margin-top: 50px;
		height: auto;
	}
	/* Images */
	.image_default-hide-mobile {
		display: none;
	}
	/* Logo */
	.home_link {
		background: none;
		padding: 20px 7vw;
	}
	.home_link-image-footer {
		display: block;
	}
	/* Navigation */
	#nav {
		position: fixed;
		height: 100vh;
		width: 100vw;
		background: none;
		top: 10px;
		left: 100%;
		display: grid;
		align-content: center;
		margin-top: -10px;
		padding-right: 0px;
		z-index: 1;
	}
	.nav_list {
		margin: 0;
		padding: 0;
		list-style: none;
		text-align: center;
		vertical-align: center;
	}
	.nav_list-item {
		float: none;
		padding: 10px 20px;
	}
	.nav_list-item-state {
		display: none;
	}
	.nav_list-link {
		text-decoration: none;
		line-height: 11.5vw;
		font-weight: bold;
		font-size: 10vw;
		color: white;
	}
	#mobile_toggle {
		/* Siva Änderung */
		display: block;
		top: 20px;
		right: 20px;
		z-index: 9999;
		background-color: white;
		border-radius: 100%;
		cursor: pointer;
	}
	#mobile_toggle_bg {
		display: block;
	}
	/* Footer */
	footer {
		position: static;
		bottom: 0;
		width: 100%;
		left: 0;
		margin-left: 0;
		border-left: none;
		border-bottom: none;
		border-right: none;
		background-color: #fff;
		padding: 60px 0 30px 0;
	}
	.footer-fixed-bottom {
		position: static;
	}
	/* Grid */
	.container-5-7 {
		display: grid;
		grid-auto-flow: row;
		grid-template-columns: 1fr;
	}
	.container-6-6 {
		display: grid;
		display: -ms-grid;
		grid-auto-flow: row;
		grid-template-columns: 1fr;
		padding: 0;
	}
	.container-left,
	.container-right {
		display: grid;
		display: -ms-grid;
		align-content: center;
		justify-content: center;
		justify-items: center;
	}
	.container_content-left {
		grid-column: auto;
		-ms-grid-column: auto;
	}
	.container_content-right {
		grid-column: auto;
		-ms-grid-column: auto;
	}
	.footer-copyright {
		padding: 30px 0 0 0;
		margin: 0;
		text-align: center;
	}
	.cookie_note {
		position: fixed;
		width: 100%;
		bottom: -300px;
		z-index: 9999;
		margin-bottom: 0px;
		transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
		color: white;
		font-weight: 100;
		font-size: 14px;
		padding: 20px;
	}
	.cookie_note.slide-in {
		bottom: 20px;
		left: 0px;
	}
	.cookie_note .row {
		margin: 0;
		width: 100%;
		padding: 20px;
		background-color: white;
		box-shadow: -1px 6px 20px 8px rgba(0, 0, 0, 0.03);
	}
	.cookie_note .row p {
		width: 100%;
		float: left;
		text-align: center;
		margin-bottom: 30px;
	}
	button#cookie-ok-button {
		border: 1px solid gray;
		padding: 5px 30px;
		float: none;
		margin: 0 auto;
		display: block;
		text-align: center;
	}
}
/* Tablet Breakpoint */
@media only screen and (max-width: 769px) {
	/* Logo */
	body {
		padding: 0;
	}
	.home_link-image {
		width: 25vw;
	}
}

/* Tablet Breakpoint */
@media only screen and (max-width: 500px) {
	body {
		padding: 0;
	}

	html {
		height: auto;
		overflow-y: visible;
	}
	/* Footer */
	footer {
		position: static;
		bottom: 0;
		width: 100%;
		left: 0;
		margin-left: 0;
	}
	/* Footer Navigion */
	.nav_footer_list-item {
		float: none;
		padding: 10px 20px;
	}
}
