/*
Theme Name: sino AG
Author: vonHand
Description: sino AG Theme 2020
Version: 1.0.0
*/



/** BASICS **/


* {
	box-sizing: border-box;
	-webkit-tap-highlight-color: rgba(0,0,0,0); /* Remove blue highlights when tapping in mobile browsers */
}

html, body {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}



/** TYPE **/


@font-face {
	font-family: 'Manrope';
	src:
		url('fonts/manrope-light.woff2') format('woff2'),
		url('fonts/manrope-light.woff') format('woff');
	font-weight: 300;
	font-style: normal;
}

@font-face {
	font-family: 'Manrope';
	src:
		url('fonts/manrope-semibold.woff2') format('woff2'),
		url('fonts/manrope-semibold.woff') format('woff');
	font-weight: 600;
	font-style: normal;
}

@font-face {
	font-family: 'Manrope';
	src:
		url('fonts/manrope-extrabold.woff2') format('woff2'),
		url('fonts/manrope-extrabold.woff') format('woff');
	font-weight: 800;
	font-style: normal;
}

body {
	font-family: 'Manrope', sans-serif;
	font-weight: 300;
	font-size: 15px;
	line-height: 1.667em;
	letter-spacing: 0.033em;
	color: rgb(109,110,115);
}

h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4, .h5 {
	color: rgb(0,0,0);
	font-weight: 600;
	line-height: 1.5em;
}

h2:first-child, h3:first-child, h4:first-child, h5:first-child, .h2:first-child, .h3:first-child, .h4:first-child, .h5:first-child {
	margin-top: 0em;
}

h1, .h1 {
	font-size: 3em;
	line-height: 1.33em;
	margin: 0em 0em 1.125em;
}

h2, .h2 {
	font-size: 1.867em;
	margin: 1.875em 0em 1.25em;
}

h3, .h3 {
	font-size: 1.2em;
	margin: 1.875em 0em 1.25em;
}

p {
	margin: 0 0 1.667em;
	max-width: 840px;
	min-height: 1.667em;
	line-height: 1.667em;
}

p:last-child {
	margin: 0;
}

b,strong {
	font-weight: 600;
}

.big-type {
	font-size: 1.133em;
	line-height: 1.765em;
}

.small-type {
	font-size: 0.933em;
}

small,
.x-small-type {
	font-size: 12px;
	line-height: 20px;
}

small,
.weak {
	color: rgb(159,160,165);
}

.kicker {
	margin-bottom: 0.833em;
	color: rgb(0,41,89);
	font-weight: 600;
}

.kicker + h2, .kicker + h3 {
	margin-top: 0px;
}

sup a {
	color: inherit !important;
}

.center {
	text-align: center;
}

.text.blue {
	color: rgb(0,41,89);
}



/** BROWSER STANDARD FIXES **/


a {
	border: none;
	text-decoration: none;
	color: inherit;
}

a:active, a:hover, a:focus {
	outline: none;
}

a:hover {
	color: rgb(0,41,89);
}

p a {
	color: rgb(0,41,89);
}

input, textarea, select, option, hr, blockquote {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: medium none;
	filter: none; /* Remove yellow color of autofill fields in FF */
}

hr {
	width: 100%;
	height: 1px;
	margin: 20px 0px;
	background-color: rgb(237,238,242);
}

select {
	border: 0;
	outline: none;
}

ul,ol,
.block ul,ol {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
}

ul li:before,
.block ul li:before {
	display: none;
}

main ul,
.wpedit ul {
	padding-left: 20px;
	list-style: none;
	margin: 0 0  1.667em;
}

main ul li:before,
.wpedit ul li:before {
	display: block;
	position: absolute;
	content: "\25A0";
	color: rgb(0,41,89);
	font-weight: 600;
	width: 20px;
	margin-left: -20px;
}

svg, img {
	display: block;
}

img {
	height: auto;
	max-width: 100%;
}



/** WP EDITOR SETTINGS **/


.wysiwyg ul {
	margin-bottom: 1.25em;
}

.wysiwyg ul:last-child {
	margin-bottom: 0em;
}

.has-text-align-center img {
	margin: auto;
}



/** GRID **/


.row, .col {
	display: flex;
}

.row {
	flex-direction: row;
	align-items: flex-start;
}

.col {
	flex-direction: column;
	align-items: flex-start;
}

.boxed {
	display: flex;
	align-items: center;
	justify-content: center;
}

.wrapped {
	flex-wrap: wrap;
}

.wrapper {
	padding: 0 100px;
	width: 100%;
	margin: 0 auto;
}

.wrapper.nogap {
	padding: 0px;
}

.wrapper-1080 {			max-width: 1280px; }
.wrapper-1200 {			max-width: 1400px; }
.wrapper-1320 {			max-width: 1520px; }
.wrapper-1440 {			max-width: 1640px; }
.wrapper-1200.nogap {	max-width: 1200px; }
.wrapper-1320.nogap {	max-width: 1320px; }
.wrapper-1440.nogap {	max-width: 1440px; }


section {
	position: relative;
	padding: 60px 140px;
}

.page-footer {
	padding: 0px 140px;
}

.mw300 { max-width: 300px; }
.mw360 { max-width: 360px; }
.mw400 { max-width: 400px; }
.mw420 { max-width: 420px; }
.mw480 { max-width: 480px; }
.mw540 { max-width: 540px; }
.mw600 { max-width: 600px; }
.mw720 { max-width: 720px; }
.mw840 { max-width: 840px; }

.fw {
	width: calc(100% + 280px);
	margin-left: -140px;
}



/** SVG **/


.fill.white {
	fill: rgb(255,255,255);
}

.fill.blue {
	fill: rgb(0,41,89);
}

.fill.gray {
	fill: rgb(109,110,115);
}

.fill.gray-02 {
	fill: rgb(159,160,165);
}



/** BUTTONS, ICONS & OUTLINES **/


.logo.big {
	width: 120px;
	height: 120px;
}

.logo.small {
	width: 80px;
	height: 80px;
}

.logo svg {
	width: 100%;
	height: 100%;
}

/* Button */

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0px 30px;
	font-weight: 600;
	letter-spacing: 0.05em;
	cursor: pointer;
}

.button.size-04	{ min-height: 120px; }
.button.size-03	{ min-height: 80px; }
.button.size-02	{ min-height: 60px; }
.button.size-01	{ min-height: 40px; }

.button.full {
	width: 100%;
}

.button.blue	{ background-color: rgb(0,41,89);		color: rgb(255,255,255); }
.button.green	{ background-color: rgb(0,148,79);		color: rgb(255,255,255); }
.button.white	{ background-color: rgb(255,255,255);	color: rgb(0,41,89); }
.button.yellow	{ background-color: rgb(167,154,0);		color: rgb(255,255,255); }
.button.gray	{ background-color: rgb(240,241,243);	color: rgb(0,41,89); }

.button.blue:hover		{ background-color: rgb(0,50,108); }
.button.green:hover		{ background-color: rgb(26,159,97); }
.button.yellow:hover	{ background-color: rgb(176,164,26); }

.button.border {
	box-shadow: inset 0px -2px 0px 0px rgb(0,41,89);
}

.button.frame {
	padding: 20px;
	font-size: 28px;
	line-height: 30px;
	font-weight: 800;
	text-transform: uppercase;
	color: rgb(0,41,89);
	letter-spacing: 0;
	background: -webkit-linear-gradient(0deg, rgb(0,148,79), rgb(0,41,89));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	border-width: 20px;
	border-style: solid;
	border-image:
	linear-gradient(
	  90deg, 
	  rgb(0,148,79) 0%, 
	  rgb(0,41,89) 100%
	) 1 round;
}

.button.arrow,
.button.icon {
	white-space: nowrap;
}

.button.arrow.arrow-left .arrow {
	margin-right: 15px;
	margin-left: -10px;
}

.button.arrow.arrow-right .arrow {
	margin-left: 15px;
	margin-right: -10px;
}

.button.icon.icon-left .icon {
	margin-right: 10px;
	margin-left: -10px;
}

.button.icon.icon-right .icon {
	margin-left: 10px;
	margin-right: -10px;
}

.button.arrow .arrow {
	transition: transform 0.1s;
	transform: translateX(0px);
}

.button.arrow:hover .arrow {
	transform: translateX(5px);
}

/* Special Buttons */

.button.login {
	min-width: 240px;
}

.button.cta-scroll {
	height: 100%;
	min-width: 165px;
}

.button.type {
	font-size: 1.2em;
	color: rgb(0,0,0);
}

.button.type:hover {
	box-shadow: inset 0px -2px 0px 0px rgb(0,0,0);
}

.arrow-link {
	display: flex;
	align-items: center;
	font-weight: 600;
	color: rgb(0,41,89);
}

.arrow-link svg {
	margin-left: 10px;
	transition: margin-left 0.2s;
}

.arrow-link:hover svg {
	margin-left: 15px;
}

/* Outlines */

.page-outline {
	position: fixed;
	top: 0px;
	z-index: -1;
	width: 1px;
	height: 100vh;
	background-color: rgb(237,238,242);
}

.page-outline.left {
	left: 119px;
}

.page-outline.right {
	right: 119px;
}

.page-outline.inner-left {
	left: calc(33.33% + 40px);
}

.page-outline.inner-right {
	right: calc(33.33% + 40px);
}

.page-outline.boxed-outline {
	position: absolute;
	z-index: 1;
	height: 100%;
}

.page-footer .page-outline {
	background-color: rgb(219,219,221);
}

.fastlane .page-outline {
	background-color: rgba(255,255,255,0.2);
}



/** FORMS **/

/* Allgemein */

input,
textarea {
	font-family: 'Manrope', sans-serif;
	font-weight: 300;
	box-shadow: none;
	font-size: 1em;
}

input[type=text],
input[type=search],
input[type=password],
textarea {
	width: 100%;
	min-height: 50px;
	padding: 0px 20px;
	color: rgb(0,0,0);
	letter-spacing: 0.025em;
}

textarea {
	padding: 15px;
	min-height: 120px;
	line-height: 22.5px;
}

label {
	display: block;
}

.checkfield {
	display: none;
}

input[type="submit"] {
	cursor: pointer;
}

::-webkit-input-placeholder {
	font-family: 'Manrope', sans-serif;
	font-size: 1em;
	font-weight: 300;
	color: rgb(159,160,165);
	opacity: 1 !important;
	letter-spacing: 0.025em;
}

::-moz-placeholder {
	font-family: 'Manrope', sans-serif;
	font-size: 1em;
	font-weight: 300;
	color: rgb(159,160,165);
	opacity: 1 !important;
	letter-spacing: 0.025em;
}

:-ms-input-placeholder {
	font-family: 'Manrope', sans-serif;
	font-size: 1em;
	font-weight: 300;
	color: rgb(159,160,165);
	opacity: 1 !important;
	letter-spacing: 0.025em;
}

/* Input Fields */

.formular {
	display: flex;
	flex-wrap: wrap;
	width: calc(100% + 20px);
	margin-left: -10px;
}

.in-field {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	flex: 1 1 100%;
	margin: 10px;
}

.in-field.full {
	flex: 1 1 100%;
}

.in-field.half {
	flex: 1 1 calc(50% - 20px);
}

.formular input[type="submit"].button {
	margin: 30px 10px 10px;
	min-width: 360px;
}

.text-small {
	font-size: 12px;
	font-weight: 300;
	opacity: 0.75;
	line-height: 20px;
}

.form-text-option {
	font-size: 13px;
	font-weight: 300;
	color: rgb(0,0,0);
	line-height: 20px;
}

.in-field-text {
	margin: 0em 0em 1em;
	color: rgb(109,110,115)
}

.in-field-heading {
	margin: 1em 0em;
	font-weight: 600;
}

/* Checkbox */

.checkbox label {
	cursor: pointer;
}

.checkbox label {
	display: flex;
	align-items: center;
}

.checkbox-checkfield {
	margin-right: 20px;
}

.checkbox-checkfield input {
	position: absolute;
	margin: 0px;
}

.checkbox-box {
	width: 40px;
	height: 40px;
	box-shadow: inset 0px 0px 0px 10px rgb(240,241,243);
}

.checkbox svg {
	display: none;
}

.checkbox input:checked ~ .checkbox-box svg {
	display: block;
}

/* Radio Button*/

.radio-button label {
	margin-right: 30px;
	cursor: pointer;
}

.radio-button label:last-child {
	margin-bottom: 0px;
}

.radio-row {
	align-items: center;
}

input[type="radio"] {
	height: 30px;
	width: 30px;
	margin: 0px 15px 0px 0px;
	border: 10px solid rgb(240,241,243);
	background: rgb(255,255,255);
	border-radius: 50%;
	cursor: pointer;
}

input[type="radio"]:checked {
	background: rgb(0,41,89);
}

/* Options Liste */

.form-option-info {
	margin: 5px 0px 20px 45px !important;
}

.radio-button-list label {
	margin-bottom: 10px;
}

/* Options Table (Radio Groups) */

.radio-cell {
	text-align: center;
}

.radio-cell input {
	margin-right: 0px;
}

/* Select List */

.select-list {
    position: relative;
    min-width: 180px;
	color: rgb(159,160,165);
}

.select-list.selected .select-selection {
    color: rgb(0,0,0);
}

.select-list-input {
	display: none;
}

.select-selection,
.select-option {
	display: flex;
	align-items: center;
    width: 100%;
	padding: 0px 80px 0px 20px;
	cursor: pointer;
}

.select-selection {
    height: 50px;
	background-color: rgb(243,244,246);
	box-shadow: inset 0px 0px 0px 1px rgb(228,229,230);
}

.select-option {
    height: 40px;
}

.select-options {
	position: absolute;
    left: 0px;
	top: calc(100% - 1px);
	z-index: 1;
	display: none;
    width: 100%;
	background-color: rgb(255,255,255);
	box-shadow: 0px 10px 20px 0px rgba(0,0,0,0.05), inset 0px 0px 0px 1px rgb(228,229,230);
}

.select-option:hover {
	color: rgb(0,41,89);
	background-color: rgba(240,241,243,0.5);
}

.select-icon {
	position: absolute;
	bottom: 5px;
	right: 0px;
	height: 40px;
	width: 50px;
	pointer-events: none;
	box-shadow: inset 2px 0px 0px 0px rgb(255,255,255);
}

.select-list.active .select-icon svg {
    transform: rotate(180deg);
}

.formular hr {
	margin: 10px 10px;
}

/* Select List - Style 01 */

.select-list.style-01 {
	color: rgb(0,41,89);
}

.select-list.style-01 .select-selection,
.select-list.style-01 .select-option {
	font-weight: 600;
}

/* Form Accordion */

.form-accordion {
	flex: 1 1 100%;
	margin: 0px 10px;
}

.accordion.style-01.form-accordion .accordion-arrow {
	flex: 0;
	margin-right: 50px;
}

.accordion.style-01.form-accordion .accordion-content {
	width: calc(100% + 20px);
	margin-left: -10px;
	padding: 0px;
}

.form-accordion-content {
	display: flex;
	flex-wrap: wrap;
	padding-bottom: 10px;
}

/* Input Icon */

.in-field.has-icon input[type="text"],
.in-field.has-icon input[type="search"],
.in-field.has-icon input[type="password"],
.in-field.has-icon-button input[type="text"],
.in-field.has-icon-button input[type="search"],
.in-field.has-icon-button input[type="password"] {
	padding-right: 50px;
}

.in-icon,
.has-icon-button input[type=submit] {
	position: absolute;
	top: 0px;
	right: 0px;
	width: 50px;
	height: 50px;
	background-color: transparent;
}

.has-icon-button input[type=submit] {
	z-index: 1;
}

/* Big Input */

.in-field.big input {
	height: 60px;
	font-size: 1.2em;
	font-weight: 600;
}

.in-field.big ::-webkit-input-placeholder {
	font-weight: 600;
}

.in-field.big ::-moz-placeholder {
	font-weight: 600;
}

.in-field.big :-ms-input-placeholder {
	font-weight: 600;
	color: rgb(0,0,0);
}

.in-field.big.has-icon-button input[type="text"],
.in-field.big.has-icon-button input[type="search"],
.in-field.big.has-icon-button input[type="password"] {
	padding-right: 60px;
}

.in-field.big .in-icon,
.in-field.big.has-icon-button input[type=submit] {
	position: absolute;
	top: 0px;
	right: 0px;
	width: 60px;
	height: 60px;
	background-color: transparent;
}

.has-icon-button input[type=submit] {
	z-index: 1;
}

/* Style 01 - Underlined */

.form-style-01 input[type=text],
.form-style-01 input[type=search],
.form-style-01 input[type=password],
.form-style-01 textarea {
	box-shadow: 0px 2px 0px 0px rgb(0,0,0);
}

/* Style 02 - Boxed */

.form-style-02 input[type=text],
.form-style-02 input[type=search],
.form-style-02 input[type=password],
.form-style-02 textarea {
	background-color: rgb(243,244,246);
	box-shadow: inset 0px 0px 0px 1px rgb(228,229,230);
}

.form-style-02 input[type="text"]:focus,
.form-style-02 input[type=password]:focus,
.form-style-02 textarea:focus {
	border-radius: 1px;
	box-shadow: 0px 0px 0px 2px rgb(0,41,89), 0px 0px 2px 1px rgb(0,41,89);
	background-color: rgb(255,255,255);
}

/* Alerts */

.form-alert,
.democreateok,
.democreateerror {
	display: flex;
	align-items: center;
	min-height: 60px;
	padding: 15px;
}

.form-alert-success,
.democreateok {
	color: rgb(93,110,57);
	background: rgb(236,246,214);
	border-bottom: 2px solid rgb(93,110,57);
}

.form-alert-error,
.democreateerror {
	color: rgb(81,15,44);
	background: rgb(246,214,220);
	border-bottom: 2px solid rgb(81,15,44);
}

.democreateok,
.democreateerror {
	margin-bottom: 10px;
}




/** MENUS & LAYER **/


/* Main Nav Bar */

.main-nav-bar {
	position: relative;
	font-size: 17px;
	font-weight: 600;
	letter-spacing: 0.05em;
	color: rgb(0,0,0);
}

.wrapper-main-navigation {
	max-width: 1560px;
	padding: 0px 360px 0px 240px;
}

.home .wrapper-main-navigation {
	max-width: 1680px;
}

.main-navigation {
	display: flex;
	align-items: center;
	min-height: 120px;
}

.main-navigation-items {
	flex-wrap: wrap;
}

.main-navigation-items li {
	margin-right: 40px;
	line-height: 30px;
}

.login-button-wrapper {
	position: absolute;
	top: 0px;
	right: 0px;
}

.login-button {
	height: 120px;
	padding: 0px 30px;
	background-color: rgb(255,255,255);
}


/* Layer Nav Bar */

.layer-nav-bar {
	position: fixed;
	left: 0px;
	top: 0px;
	z-index: 4;
	display: flex;
	flex-direction: column;
	padding-top: 30px;
}

.nav-icon {
	width: 120px;
	height: 60px;
}

.opener-icon, .closer-icon {
	position: absolute;
	transition: opacity 0.2s;
}

.opener-icon,
.nav-icon.active .closer-icon {
	opacity: 1;
}

.closer-icon,
.nav-icon.active .opener-icon {
	opacity: 0;
}

.menu-opener {
}

.search-opener {
}

.contact-opener {
}

/* Main Menu Lists (FSN & Footer) */

.menu-count-small {
	font-size: 0.75em;
	font-weight: 600;
	line-height: 20px;
	display: block;
}

.menu-main-entries {
	width: calc(100% + 20px);
	margin-left: -10px;
}

.menu-main-entries-list {
	padding: 0px 10px;
	margin-bottom: 40px;
}

.menu-main-entry {
	font-size: 0.933em;
}

.menu-main-entry.main-section {
	margin: 20px 0px;
	font-weight: 600;
	font-size: 1em;
}

/* Moving Layer */

body.layer-active {
	overflow-Y: hidden;
}

.moving-layer {
	position: fixed;
	z-index: 3;
	top: 0px;
	height: 100vh;
	will-change: transform;
	border-top-color: rgb(255,255,255);
	background-color: rgb(255,255,255);
}

.moving-layer-content {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: auto;
}

.moving-layer.left .moving-layer-content {
	padding-left: 120px;
}

.moving-layer.right .moving-layer-content {
	padding-right: 120px;
}

.moving-layer-wrapper {
	display: flex;
	width: 100%;
	min-height: 100%;
	padding: 60px;
}

.moving-layer-wrapper h3 {
	font-size: 1.25em !important;
}

.moving-layer.big	{ width: 66.66vw;	transition: transform 0.5s cubic-bezier(.77,0,.175,1), border-top-color 0.5s;	}
.moving-layer.small	{ width: 600px;		transition: transform 0.4s cubic-bezier(.77,0,.175,1), border-top-color 0.4s;	}

.moving-layer.left {
	left: 0px;
	transform: translateX(-100%);
}

.moving-layer.right {
	right: 0px;
	transform: translateX(100%);
}

.moving-layer.active {
	border-top-color: rgb(250,250,250);
	transform: translateX(0%) !important;
}

.opener {
	cursor: pointer;
}

.moving-layer-overlay {
	position: fixed;
	z-index: 2;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100vh;
	transform: translateX(-100%);
	opacity: 0;
	background-color: rgba(0,0,0,0.1);
	will-change: transform, opacity;
	transition: transform 0s 0.4s, opacity 0.4s cubic-bezier(.77,0,.175,1);
}

.layer-active .moving-layer-overlay {
	transform: translateX(0%);
	opacity: 1;
	transition: transform, opacity 0.4s cubic-bezier(.77,0,.175,1);
}

.layer-closer {
	position: absolute;
	cursor: pointer;
}

.moving-layer.left .layer-closer {
	top: 50px;
	left: 50px;
}

.moving-layer.right .layer-closer {
	top: 50px;
	right: 50px;
}

/* Full Screen Navigation */

.fsn, .fsn p, .fsn a:hover {
	color: rgb(255,255,255);
}

.fsn-backgrounds {
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: -1;
	width: 100%;
	height: 100%;
	background-color: rgb(0,41,89);
}

.fsn-background {
	position: absolute;
	width: 100%;
	height: 100%;
	opacity: 0;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0s 0.4s, opacity 0s 0.4s;
}

.fsn-background.active {
	opacity: 1;
	transform: scaleX(1);
	z-index: 1;
	transition: transform 0.5s cubic-bezier(.77,0,.175,1), opacity 0.2s;
}

.fsn-main-wrapper {
	flex: 1 1 66.66%;
	height: 100%;
	border-left: 1px solid rgba(255,255,255,0.1);
}

.fsn-maps-wrapper {
	position: relative;
	flex: 1 1 33.33%;
	height: 100%;
	overflow: hidden;
}

.fsn-menu-wrapper,
.fsn-menu-extension {
	flex: 1 1 50%;
	width: 100%;
}

.fsn-menu-wrapper {
	padding: 50px 60px 0px;
}

.fsn-menu-extension {
	padding-left: 60px;
}

.fsn-menu-extension-infos {
	position: relative;
	width: 100%;
	height: 100%;
}

.fsn-menu-extension-info {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity 0.2s;
}

.fsn-menu-extension-info.active {
	opacity: 1;
}

.fsn-menu-extension-content {
	flex: 1 1 100%;
	height: 100%;
	margin-right: 20px;
}

.fsn-menu-extension-info {
	flex: 1 1 100%;
	width: 100%;
}

.fsn-menu-extension-entries {
	display: flex;
	align-content: center;
	flex-wrap: wrap;
	flex: 0 0 120px;
	width: 100%;
}

.fsn-menu-extension-image {
	flex: 0 0 240px;
	height: 100%;
	overflow: hidden;
}

.fsn-menu-extension-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fsn-menu-count-big {
	margin-bottom: 60px;
}

.fsn .menu-main-entry:not(.main-section),
.fsn-menu-extension-entry  {
	opacity: 0.75;
}

.fsn .menu-main-entry:hover,
.fsn-menu-extension-entry:hover {
	opacity: 1;
}

.fsn-menu-extension-entry {
	margin-right: 15px;
	font-size: 0.933em;
}

.fsn-maps-address {
	position: absolute;
	z-index: 1;
	left: 0px;
	bottom: 0px;
	height: 50vh;
	padding-top: 140px;
	padding-left: 60px;
	pointer-events: none;
}

.fsn-maps-address p {
	color: rgb(0,41,89);
	font-weight: 600;
	pointer-events: all;
}

#fsn-map {
	width: 100%;
	height: 100%;
	background: url('img/map.jpg') no-repeat center center;
}

/* Full Screen Navigation - Animation */

.moving-layer.fsn {
	width: 100vw;
	transition: transform 0.6s cubic-bezier(.77,0,.175,1) 0.4s , border-top-color 0.6s 0.4s;
}

.moving-layer.fsn.active {
	transition: transform 0.6s cubic-bezier(.77,0,.175,1), border-top-color 0.6s;
}

.menu-opener svg,
.contact-opener svg,
.search-opener svg {
	fill: rgb(0,0,0);
	transition: fill 0.2s 0.8s;
}

.fsn-active .menu-opener svg,
.fsn-active .contact-opener svg,
.fsn-active .search-opener svg {
	fill: rgb(255,255,255);
	transition: fill 0.2s;
}

.fsn-menu-wrapper {
	transform: translateX(-120px);
	opacity: 0;
	transition: transform 0.4s, opacity 0.4s;
}

.moving-layer.fsn.active .fsn-menu-wrapper {
	transform: translateX(0px);
	opacity: 1;
	transition: transform 0.4s 0.6s, opacity 0.4s 0.6s;
}

.fsn-menu-extension-content {
	transform: translateX(-120px);
	opacity: 0;
	transition: transform 0.4s , opacity 0.4s;
}

.moving-layer.fsn.active .fsn-menu-extension-content {
	transform: translateX(0px);
	opacity: 1;
	transition: transform 0.4s 0.6s, opacity 0.4s 0.6s;
}

.fsn-menu-extension-image img {
	transform: translateX(-100%);
	opacity: 0;
	transition: transform 0.4s, opacity 0.4s;
}

.moving-layer.fsn.active .fsn-menu-extension-image img {
	transform: translateX(0%);
	opacity: 1;
	transition: transform 0.4s 0.6s, opacity 0.4s 0.6s;
}

#fsn-map {
	transform: translateX(-100%);
	opacity: 0;
	transition: transform 0.4s, opacity 0.4s;
}

.moving-layer.fsn.active #fsn-map {
	transform: translateX(0%);
	opacity: 1;
	transition: transform 0.4s 0.6s, opacity 0.4s 0.6s;
}

.fsn-maps-address {
	transform: translateX(-100%);
	opacity: 0;
	transition: transform 0.4s, opacity 0.4s;
}

.moving-layer.fsn.active .fsn-maps-address {
	transform: translateX(0%);
	opacity: 1;
	transition: transform 0.4s 0.6s, opacity 0.4s 0.6s;
}



/** INTRO SECTION **/


/* Main Page Intro */

.intro-section {
	padding-top: 75px;
}

.breadcrump {
	flex-wrap: wrap;
}

.breadcrump-item {
	margin-right: 20px;
}

.breadcrump-item:after {
	content: "/";
	left: 8px;
	position: relative;
}

.breadcrump-item:last-child:after {
	content: "";
}

.breadcrump-item:last-child {
	max-width: 480px;
	margin-right: 0px;
	color: rgb(0,0,0);
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.article-teaser .breadcrump-item:last-child {
	color: unset;
}

.intro-banner {
	position: relative;
	height: 240px;
	margin-top: 20px;
}

.page-template-template-main .intro-banner {
	height: 360px;
}

.intro-banner-border {
	position: absolute;
	bottom: -30px;
	left: 0px;
	height: 30px;
	width: 50%;
}

.intro-text {
	margin: -20px 0px 60px;
}


/* Home Intro */

.home .intro-section {
	position: relative;
	z-index: 2;
	margin-bottom: -120px;
	padding-top: 90px;
	padding-bottom: 0px;
}

.home .intro-section .wrapper {
	padding-right: 0px;
}

.home-intro-header {
	align-items: last baseline;
	justify-content: space-between;
	padding-right: 210px;
}

.home-intro-header h1 {
	font-size: 5.333em;
	line-height: 1em;
	font-weight: 800;
	letter-spacing: 0;
	background: -webkit-linear-gradient(0deg, rgb(0,148,79), rgb(0,41,89));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.home-intro-cta p {
	margin-top: -45px;
	margin-bottom: 95px;
}

.home-intro-cta .button {
	position: relative;
	z-index: 1;
	width: calc(100% + 120px);
	padding-right: 120px;
}

.intro-cta-button-arrow {
	position: absolute;
	right: 0px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	width: 100px;
	height: 100px;
}

.intro-cta-button svg {
	transform: translateY(0px);
	transition: transform 0.2s;
}

.intro-cta-button:hover svg {
	transform: translateY(5px);
}

.home-intro-cta .col:nth-child(1) {
	flex: 0 0 480px;
}

.home-intro-cta .col:nth-child(2) {
	flex: 1 1 auto;
}

.home-intro-cta .col:nth-child(2) img {
	width: calc(100% + 100px);
}

.home-intro-header .page-outline {
	top: -225px;
	margin-left: 60px;
	z-index: -1;
}

.scroll-down {
	width: 120px;
	height: 120px;
	margin-bottom: -60px;
	background-color: rgb(255,255,255);
}

/* Fastlane */

.fastlane {
	margin-bottom: 60px;
	padding: 180px 0px 0px;
	overflow: hidden;
	background: linear-gradient(90deg, rgb(0,148,79) 0%, rgb(0,41,89) 100%);
}

.fastlane-slider {
	flex: 0 0 calc(66.66% + 120px);
	padding-right: 120px;
	overflow: hidden;
}

.fastlane-slider div {
	overflow: visible !important;
}

.fastlane-slide {
	align-items: stretch;
	justify-content: space-between;
	padding: 0px 60px 120px;
}

.fastlane-controls .fastlane-slide {
	padding-bottom: 0px;
}

.fastlane h2,
.fastlane .h2,
.fastlane h3,
.fastlane p {
	margin-top: 0px;
	color: rgb(255,255,255);
}

.fastlane h3 {
	margin-bottom: 40px;
}

.wrapper-fastlane {
	max-width: 1920px;
	padding: 0 120px;
	overflow: visible;
}

.fastlane-controls {
	flex: 0 0 33.33%;
}

.fastlane-slide p {
	font-size: 15px;
	opacity: 0.8;
}

.fastlane-count {
	margin-top: 55px;
}

.fastlane-count .h2 {
	width: 40px;
}

.fastlane-count .h2:nth-child(2) {
	width: 30px;
	margin: 0px 10px;
	text-align: center;
}

.fastlane-slide-number {
	margin-bottom: 30px;
	font-weight: 600;
	color: rgb(255,255,255);
	font-size: 0.933em;
}

.fastlane-count .h2:nth-child(3) {
	text-align: right;
}

.fastlane-control-buttons {
	height: 120px;
	margin-top: 40px;
	box-shadow: inset 0px 2px 0px 0px rgb(255,255,255);
}

.fastlane-control-button {
	width: 60px;
	height: 60px;
	cursor: pointer;
	margin: 0px 15px;
}

.fastlane-control-button.prev {
	transform: rotate(180deg);
}

.fastlane-control-button svg {
	transform: translateX(0px);
	transition: transform 0.2s;
}

.fastlane-control-button:hover svg {
	transform: translateX(5px);
}


/** FOOTER **/


.page-footer {
	position: relative;
	margin-top: 60px;
	background-color: rgb(240,241,243);
}

.footer-top {
	margin-bottom: 20px;
}

.footer-address {
	flex: 1 1 20%;
	padding-top: 20px;
	margin-right: 30px;
}

.footer-menus .menu-main-entries {
	flex: 1 1 80%;
}

.footer-bottom {
	position: relative;
	min-height: 120px;
	padding: 25px 0px;
	font-weight: 600;
}

.bottom-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	font-size: 0.933em;
	line-height: 30px;
}

.bottom-links a {
	margin: 0px 15px;
    white-space: nowrap;
}

.socials-container {
	margin-top: 20px;
}

.socials-link {
	padding: 0px 2px;
}

.page-footer p a {
	color: inherit;
}

.page-footer p a:hover {
	color: rgb(0,41,89);
}






/***** ----- BLOCKS ----- *****/



/** ARTICLE TEASER **/


/* Allgemein */

.article-meta-container {
	align-items: baseline;
	margin-bottom: 10px;
}

.article-teaser .article-icon {
	margin-right: 10px;
}


/* Style 01 - With Button */

.article-teaser.style-01 {
	align-items: center;
	justify-content: space-between;
	margin-top: -1px;
	padding: 30px 0px;
	border-top: 1px solid rgb(237,238,241);
	border-bottom: 1px solid rgb(237,238,241);
}

.article-teaser-button {
	margin-left: 120px;
}


/* Style 02 - With Button */

.article-teaser.style-02 {
	padding: 5px 0px;
}

.article-teaser.style-02 .article-meta-container {
	margin-bottom: 5px;
}

.article-teaser.style-02 h3 {
	font-size: 1em;
}



/** NEWS ARCHIVE **/


/* Filter */

.news-category {
	min-height: 40px;
	padding: 0px 15px;
	font-weight: 600;
	color: rgb(0,0,0);
	cursor: pointer;
}

.news-category.active {
	color: rgb(0,41,89);
	box-shadow: 0px 2px 0px 0px rgb(0,41,89);
}

.news-category:hover {
	color: rgb(0,41,89);
}

.news-archive-date-selection {
	border-top: 1px solid rgb(240,241,243);
	border-bottom: 1px solid rgb(240,241,243);
	margin: 30px 0px;
	padding: 10px 0px;
}

/* Artikel */

.news-archive-entries article,
.news-archive-placeholder {
	display: none;
}

.news-archive-entries article.active,
.news-archive-placeholder.active {
	display: flex;
}

.news-archive-placeholder {
	min-height: 60px;
}



/** CTA BOX **/


.cta-box-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 40px;
    border-width: 20px;
    border-style: solid;
    border-color: rgb(240,241,243);
}

.cta-box-wrapper.image {
    padding: 10px;
}

.cta-content {
    align-items: center;
	width: 100%;
}

.cta-spalten-wrapper {
    justify-content: space-evenly;
	align-items: center;
    width: 100%;
}

.cta-spalte {
	align-items: center;
	padding: 5px 15px;
	text-align: center;
}

.cta-expanded-icon {
	width: 60px;
	height: 40px;
}

.cta-image {
	width: 60px;
	height: 60px;
	margin-right: 30px;
}

.cta-box-wrapper p {
	max-width: unset;
	width: 100%;
    margin-bottom: 0px;
	font-size: 1.25em;
	font-weight: 600;
    color: rgb(0,41,98);
}

.cta-box-link {
	flex: 1 0 auto;
	margin-left: 60px;
    color: rgb(0,41,89);
    font-weight: 600;
}

.cta-box-link span {
    margin-right: 10px;
}

.cta-box-link svg {
    transition: transform 0.2s;
}

.cta-box-link:hover svg {
    transform: translateX(5px);
}

.bg-grau .cta-box-link .arrow,
.rahmen-bunt .cta-box-link .arrow {
	width: 60px;
	height: 60px;
	border: 2px solid rgb(0,41,89);
}

/* Border Verlauf */

.cta-box-wrapper.rahmen-bunt {
    border-image: linear-gradient(90deg, rgb(0, 148, 79) 0%, rgb(0, 41, 89) 100%) 1 round;
}
.rahmen-bunt p {
    background: linear-gradient(90deg, rgb(0, 148, 79) 0%, rgb(0, 41, 89) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Background Grau */

.cta-box-wrapper.bg-grau {
    background: rgb(240,241,243);
}

/* Border Grau */

.cta-box-wrapper.rahmen-grau {
    width: calc(100% - 120px);
    padding: 30px 40px;
}

.rahmen-grau .cta-box-link {
    height: 100px;
    margin-right: -180px;
	padding: 0px 30px;
    border-width: 20px;
	border-style: solid;
    border-image: linear-gradient(90deg, rgb(0, 148, 79) 0%, rgb(0, 41, 89) 100%) 1 round;
}

.rahmen-grau .cta-box-link {
    background: rgb(255,255,255);
}



/** TEXT BILD TEASER **/

.block-text-bild-teaser {
	display: flex;
}

.block-text-bild-teaser h2 {
	font-size: 1.867em !important;
}

.text-bild-teaser-thumb {
	position: relative;
	flex: 0 0 50%;
}

.text-bild-teaser-thumb img {
	width: 100%;
	height: auto;
}

.text-bild-teaser-content {
	flex: 0 0 50%;
	align-items: flex-end;
}

.text-bild-teaser-content-box {
	width: calc(100% + 70px);
	border: 20px solid #f0f1f3;
	margin-top: 40px;
	padding: 60px 60px 60px 120px;
}

.text-bild-teaser-link {
	position: absolute;
	height: 120px;
	width: 120px;
	background: #062c5b;
	bottom: 0px;
	right: 0px;
}



/** SLIDER **/

.slides-wrapper {
}

.slider-content-text {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	min-height: 480px;
	width: calc(50% + 120px);
	margin-right: -120px;
	padding: 60px 180px 60px 60px;
	border-width: 20px;
	border-style: solid;
	border-image:
	linear-gradient(
	  90deg, 
	  rgb(0,148,79) 0%, 
	  rgb(0,41,89) 100%
	) 1 round;
}

.slider-content-img {
	margin-top: 120px;
	width: 50%;
}

.slider-image {
	height: 480px;
	width: 100%;
	background-repeat: no-repeat;
	background-size: cover;
}

.slider-nav {
	position: absolute;
	bottom: -20px;
	right: -20px;
}

.slider-nav .prev,
.slider-nav .next {
	width: 120px;
	height: 120px;
	background-color: rgb(0,41,89);
	cursor: pointer;
}

.slider-nav .prev svg {
	transform: rotate(180deg);
}



/** CHAT **/

.btn, .form-control, .input-group-addon {
	border-radius: 0px !important;
	font-family: 'Manrope' !important;
}

.cta-scroll-buttons {
	position: fixed;
	bottom: 0px;
	right: 15px;
	z-index: 2;
	height: 60px;
	transform: translateY(0px);
	transition: transform 0.2s;
}

.cta-scroll-buttons.scrolling {
	transform: translateY(40px);
}

.cta-scroll-buttons .button {
	margin: 0px 5px;
}

#chat {
	display: flex !important;
	transition: none !important;
	opacity: 1 !important;
}

#vcht_chatPanel {
    height: calc(100vh - 280px) !important;
}



/** TABS **/

.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
}

.tab-trigger {
    font-size: 1.4em;
    font-weight: 600;
    color: #999999;
    line-height: 1.8em;
    cursor: pointer;
}

.tab-trigger.active {
    color: #062c5b;
}

.text-bild-lang-thumb img {
    height: 360px;
    width: auto;
    object-fit: cover;
}

.tab-content-liste-wrapper {
    background: #ffffff;
    margin-top: -120px;
    padding: 60px 60px 0px;
    position: relative;
    width: 100%;
}

.tab-farbverlauf {
    height: 20px;
    width: 100%;
    background: linear-gradient(90deg, rgb(0, 148, 79) 0%, rgb(0, 41, 89) 100%);
    position: absolute;
    left: 0px;
    top: -20px;
}

.tab-trigger-liste-wrapper {
    width: 100%;
    max-width: 480px;
    padding-left: 60px;
    padding-top: 30px;
}

.tab-content-headline {
    font-size: 1.0em;
    color: #062c5b;
}



/** EINFACHE TERMINLINSTE **/

.einfache-terminliste li {
	display: flex;
	margin-bottom: -1px;
	padding: 15px 0px;
	border-top: 1px solid rgb(237,238,242);
	border-bottom: 1px solid rgb(237,238,242);
}
.einfache-terminliste li span:first-child {
	flex: 0 0 120px;
	font-weight: 600;
}
.einfache-terminliste {
	margin-bottom: 60px !important;
}


/** TRADESLIST **/

.trades-list {
	width: 100%;
}
.trades-list-header {
	align-items: center;
	min-height: 60px;
	margin-bottom: 30px;
	font-weight: 600;
	color: rgb(0,0,0);
	box-shadow: inset 0px 2px 0px 0px rgb(0,0,0), inset 0px -2px 0px 0px rgb(0,0,0);
}
.trades-list-header,
.trades-list-row {
	display: flex;
}
.trades-list-row {
	margin-bottom: 5px;
}
.trades-list-header span:first-child,
.trades-list-row span:first-child {
	flex: 0 0 33.33%;
}
.trades-list-header span:last-child,
.trades-list-row span:last-child {
	flex: 0 0 66.66%;
}



.loader {
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100vh;
	z-index: 20;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s;
	background-color: rgba(0,0,0,0.75);
}
.loader.active {
	opacity: 1;
	pointer-events: all;
}
.loader-spinner {
	display: flex;
	justify-content: center;
	margin-bottom: 20px;
}
.loader-alert p {
	text-align: center;
	max-width: 480px;
	color: rgb(255,255,255);
}

.lds-ellipsis {
	display: inline-block;
	position: relative;
	width: 80px;
	height: 80px;
}
.lds-ellipsis div {
	position: absolute;
	top: 33px;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	background: #fff;
	animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.lds-ellipsis div:nth-child(1) {
	left: 8px;
	animation: lds-ellipsis1 0.6s infinite;
}
.lds-ellipsis div:nth-child(2) {
	left: 8px;
	animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(3) {
	left: 32px;
	animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(4) {
	left: 56px;
	animation: lds-ellipsis3 0.6s infinite;
}
@keyframes lds-ellipsis1 {
	0% {
		transform: scale(0);
	}
	100% {
		transform: scale(1);
	}
}
@keyframes lds-ellipsis3 {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(0);
	}
}
@keyframes lds-ellipsis2 {
	0% {
		transform: translate(0, 0);
	}
	100% {
		transform: translate(24px, 0);
	}
}




@media screen and ( max-width: 1560px ) {


.home-intro-header {
	padding-right: 30px;
}

.home-intro-header .page-outline {
	display: none;
}


}




@media screen and ( max-width: 1440px ) {


/* Grid: Einheit 120 -> 90 */

section,
.page-footer {
	padding-left: 110px;
	padding-right: 110px;
}

.wrapper {
	padding: 0px 70px;
}

.wrapper-fastlane {
	padding: 0px 90px !important;
}

.fw {
	width: calc(100% + 220px);
	margin-left: -110px;
}

.layer-nav-bar {
	padding-top: 15px;
}

.wrapper-main-navigation {
	flex: 1 1 100%;
	width: auto;
	padding: 0px 0px 0px 110px !important;
}

.main-navigation {
	padding: 0px;
}

.main-navigation {
	min-height: 90px;
}

.search-opener {
	left: 90px;
}

.login-button-wrapper {
	position: relative;
}

.logo.big {
	width: 90px;
	height: 90px;
}

.nav-icon {
	width: 90px;
}

.page-outline.left {
	left: 89px;
}

.page-outline.right {
	right: 89px;
}

.page-outline.inner-left {
	left: calc(33.33% + 30px);
}

.page-outline.inner-right {
	right: calc(33.33% + 30px);
}

.button.size-04 {
	min-height: 90px;
}

.moving-layer.left .layer-closer {
	top: 35px;
	left: 35px;
}

.moving-layer.right .layer-closer {
	top: 35px;
	right: 35px;
}

/* Navigation */

.main-navigation-items li {
    margin-right: 25px;
}

.button.login {
	min-width: unset;
}

.main-nav-bar {
	font-size: 1em;
}

/* Fullscreen Menu */

.moving-layer.left .moving-layer-content {
	padding-left: 90px;
}

.moving-layer.right .moving-layer-content {
	padding-right: 90px;
}

.fsn-menu-wrapper {
	padding: 35px 30px 0px;
}

.fsn-menu-extension {
	padding-left: 30px;
}

.fsn-menu-extension-entries {
	flex: 0 0 90px;
}

.fsn-maps-address {
	padding-left: 30px;
}

.fsn p {
	font-size: 1em;
}

/* Home Header */

.home .intro-section {
	margin-bottom: -60px;
}

.home-intro-header {
	padding-right: 0px;
}

.home-intro-header .scroll-down {
	display: none;
}

.home h1 {
	font-size: 4em;
}

.home-intro-cta p {
	margin-top: 0px;
	margin-bottom: 60px;
}

.fastlane {
	padding: 90px 0px 0px;
}

.home-intro-cta .col:nth-child(2) img {
	width: calc(100% + 70px);
}

/* Blocks */

.text-bild-teaser-link {
	height: 90px !important;
	width: 90px !important;
}

.text-bild-teaser-content-box {
	padding: 45px 45px 45px 80px;
}

.text-bild-teaser-content-box {
	width: calc(100% + 55px);
}

/* Chat */

#vcht_chatPanel {
    height: calc(100vh - 250px) !important;
}


}




@media screen and ( max-width: 1320px ) {


/* Home Header */

.home-intro-header {
	padding-right: 0px;
}

.home-intro-cta .col:nth-child(1),
.home-intro-cta .col:nth-child(2) {
	flex: 0 0 50%;
}

.home-intro-cta p {
	margin-bottom: 50px;
	padding-right: 20px;
}

.button.frame {
	font-size: 20px;
	line-height: 20px;
	border-width: 15px;
}

.home-intro-cta .button {
	width: calc(100% + 90px);
	padding-right: 95px;
}

.intro-cta-button-arrow {
	width: 75px;
}


}




@media screen and ( max-width: 1200px ) {


/* Moving Layer */

.wrapper {
	padding: 0px;
}

/* Moving Layer */

.moving-layer.big	{ width: 100vw; }

/* Home Header */

.home .intro-section {
	margin-bottom: 60px;
}

.home-intro-cta .col:nth-child(2) img {
	width: 100%;
}

.fastlane-slider {
	flex: 0 0 calc(66.66% + 90px);
	padding-right: 90px;
}

.fastlane-slide {
	flex: 0 0 50%;
}

.page-outline.inner-right {
	display: none;
}

.fastlane .page-outline.inner-right {
	display: none;
}

/* Footer */

.footer-menus {
	flex-direction: column;
}

.footer-address {
	flex: 1 1 auto;
	margin-right: 0px;
	margin-bottom: 50px;
}

.footer-menus .menu-main-entries {
	flex: 1 1 auto;
}

/* Blocks */

.cta-box-wrapper.rahmen-grau {
	width: calc(100% - 60px);
}

.rahmen-grau .cta-box-link {
	margin-right: -120px;
}


}




@media screen and ( max-width: 1079px ) {


.main-nav-bar {
	justify-content: flex-end;
}

.wrapper-main-navigation {
	display: none;
}

/* Fullscreen Menu */

.fsn-main-wrapper {
	flex: 1 1 100%;
}

.fsn-maps-wrapper {
	display: none;
}

/* Intro Header */

.intro-section {
	padding-top: 60px;
}

.intro-text {
	margin: 0px 0px 60px;
}

/* Home Intro Header */

.home-intro-cta {
	align-items: flex-end;
	padding-left: 0px;
}

.home-intro-cta .button {
	margin-bottom: 60px;
}

.fastlane-slide {
	padding: 0px 30px 120px;
}

.fastlane-control-button {
	width: 30px;
	height: 30px;
}

/* Type */

h1, .h1 {
	font-size: 2em;
}

h2, .h2 {
	font-size: 1.5em;
}

h3, .h3 {
	font-size: 1em;
}

/* Blocks */

.slider-wrapper {
	flex-direction: column;
}

.slider-content-text {
	width: calc(100% - 120px);
	margin-right: 0px;
	padding: 60px 60px 180px 60px;
}

.slider-content-img {
	margin-top: -120px;
	width: 100%;
	padding-left: 120px;
}

}




@media screen and ( max-width: 960px ) {

/* Grid */

section,
.page-footer {
	padding-left: 110px;
	padding-right: 20px;
}

.page-outline.right {
	display: none;
}

.fastlane .page-outline.left,
.fastlane .page-outline.right {
	display: block;
}

.fw {
	width: calc(100% + 130px);
	margin-left: -110px;
}

.button.demo {
	display: none;
}

/* Blocks */

.tab-trigger-liste-wrapper {
    padding-left: 0px;
}
.tab-trigger {
    font-size: 1.2em;
}

.tab-content-liste-wrapper {
	padding: 60px 30px 0px;
}

}




@media screen and ( max-width: 840px ) {

/* Type */

body {
	font-size: 14px;
}

h1, .h1 {
	font-size: 1.5em;
}

h2, .h2 {
	font-size: 1.25em;
}

/* Grid */

section,
.page-footer {
	padding-left: 45px;
	padding-right: 45px;
}

.page-outline.left,
.page-outline.right {
	display: none;
}

/* Menu */

.layer-nav-bar {
	position: relative;
	flex-direction: row;
	width: 270px;
	padding-top: 0px;
}

.main-nav-bar {
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 4;
	justify-content: space-between;
	width: 100%;
	box-shadow: inset 0px -2px 0px 0px rgb(0,41,89);
	background-color: rgb(255,255,255);
}

main {
	padding-top: 90px;
}

.nav-icon {
	height: 90px;
	border-right: 1px solid rgba(0,0,0,0.1);
}

.fsn-active .menu-opener svg,
.fsn-active .contact-opener svg,
.fsn-active .search-opener svg {
	fill: rgb(0,0,0);
}

.moving-layer {
	padding-top: 90px;
	width: 100vw !important;
}

.moving-layer-content {
	box-shadow: 0px -2px 0px 0px rgb(0,41,89);
}

/* Main Menu Lists */

.menu-main-entries {
	flex-wrap: wrap;
	align-content: flex-start;
}

.menu-main-entries-list {
	flex: 1 0 50% !important;
}

.menu-main-entry.main-section {
    margin: 15px 0px;
    font-size: 0.933em;
}

/* Fullscreen Menu */

.moving-layer.left .moving-layer-content {
	padding-left: 0px;
}

.moving-layer.right .moving-layer-content {
	padding-right: 0px;
}

.fsn-main-wrapper {
	justify-content: space-between;
	border-left: none;
}

.fsn-menu-extension,
.fsn-menu-wrapper {
	flex: 0 1 auto;
	padding: 45px;
}

.fsn-menu-extension-infos,
.fsn-menu-extension-image {
	display: none;
}

.fsn-menu-extension-content {
	margin-right: 0px;
}

.fsn-background {
	display: none;
}

.fsn-main-wrapper {
	overflow-y: scroll;
}

/* Layer */

.moving-layer-wrapper {
	padding: 45px;
}

/* Main Header */

.breadcrump-item:last-child {
	max-width: 360px;
}

/* Home Header */

.home .intro-section {
	margin-bottom: -120px;
}

.home h1 {
	font-size: 8vw;
}

.home-intro-cta .col:nth-child(1),
.home-intro-cta .col:nth-child(2) {
	flex: 0 0 100%;
	max-width: 480px;
}

.home-intro-cta .col:nth-child(2) {
	margin-left: auto;
}

.home-intro-cta {
	flex-direction: column;
	align-items: flex-start;
	
}

.home-intro-cta .button {
	width: 100%;
	padding-right: 70px;
}

.home .intro-section {
	margin-bottom: -120px;
}

.fastlane {
	padding: 180px 0px 0px;
}

.wrapper-fastlane {
	flex-direction: column;
}

.fastlane-slider {
	flex: 0 0 auto;
	width: calc(100% + 90px);
	overflow: visible;
}

.fastlane .page-outline.inner-left {
	display: none;
}

.fastlane-slide {
	padding: 0px 30px 90px;
}

.fastlane-controls {
	flex: 0 0 auto;
}

.fastlane-control-buttons {
	height: 60px;
	box-shadow: inset 0px 0px 0px 2px rgb(255,255,255);
	margin-bottom: 40px;
}

.fastlane-control-button {
	width: 60px;
	height: 60px;
}

.button.training {
	display: none;
}

/* Blocks */

.article-teaser.style-01 {
	flex-direction: column;
	align-items: flex-start;
}

.article-teaser.style-01 .article-teaser-button {
	flex: 1 1 auto;
	margin-top: 30px;
	margin-left: 0px;
}

.cta-box-wrapper.rahmen-grau,
.cta-box-wrapper {
	flex-direction: column;
	padding: 20px;
}

.cta-box-wrapper.rahmen-grau {
	align-items: flex-end;
	width: 100%;
	margin-bottom: 40px;
}

.cta-box-link {
	margin: 20px 0px 0px;
}

.rahmen-grau .cta-box-link {
	margin: 20px 0px -80px;
}

.bg-grau .cta-box-link,
.rahmen-bunt .cta-box-link {
    height: 60px;
	padding: 0px 30px;
    border: 2px solid rgb(0,41,89);
}

.bg-grau .cta-box-link .arrow,
.rahmen-bunt .cta-box-link .arrow {
	width: 25px;
	height: 25px;
	border: none;
}

.cta-box-wrapper p {
	font-size: 1.25em;
}

.cta-box-wrapper.bg-grau p,
.cta-box-wrapper.rahmen-bunt p {
	text-align: center;
}

.cta-image {
	display: none;
}

.block-text-bild-teaser {
	flex-direction: column-reverse;
}

.text-bild-teaser-thumb {
	margin: -65px 90px 0px;
}

.text-bild-teaser-content-box {
	width: 100%;
	padding: 45px 45px 90px 45px;
}

.text-bild-teaser-content {
	align-items: flex-start;
}

}




@media screen and ( max-width: 600px ) {

/* Grid */

section,
.page-footer {
	padding-left: 20px;
	padding-right: 20px;
}

main {
	padding-top: 60px;
}

.fw {
	width: calc(100% + 40px);
	margin-left: -20px;
}

/* Menu */

.logo.big, .nav-icon {
    width: 60px;
    height: 60px;
}

.button.size-04 {
	min-height: 60px;
}

.main-nav-bar {
	font-size: 12px;
}

.button.login svg {
	display: none;
}

.moving-layer {
	padding-top: 60px;
}

.moving-layer.left .layer-closer {
	top: 20px;
	left: 20px;
}

.moving-layer.right .layer-closer {
	top: 20px;
	right: 20px;
}

/* Home Header */

.home .intro-section {
	padding-top: 60px;
}

.home-intro-cta .button {
	margin-bottom: 30px;
}

.fastlane {
	padding: 150px 0px 0px;
}

.wrapper-fastlane {
	padding: 0px 10px 0px 10px !important;
}

.fastlane-slide {
	padding: 0px 10px 60px 10px;
}

.fastlane .page-outline.left,
.fastlane .page-outline.right {
	display: none;
}

.fastlane-control-buttons {
	margin-top: 20px;
}

/* Main Header */

.breadcrump-item:last-child {
	max-width: 240px;
}

/* Allgemein */

.button {
	padding: 0px 15px;
}

.button.arrow {
	padding: 0px 15px 0px 20px;
}

/* Blocks */

.article-teaser-content p {
	display: none;
}

.text-bild-teaser-thumb {
	margin: -65px 40px 0px;
}

.text-bild-teaser-link {
	height: 60px !important;
	width: 60px !important;
}

.article-teaser.style-01 .article-teaser-button {
	margin-top: 10px;
}

.termin {
	flex-direction: column;
	align-items: flex-start !important;
}

.anmelde-button {
	margin-top: 15px;
}

.tab-content-liste-wrapper {
	padding: 30px 0px 0px;
	margin-top: 40px;
}

.text-bild-lang-content {
	flex-direction: column;
}

.slider-content-text {
	width: 100%;
	min-height: unset;
	padding: 30px 30px 90px 30px;
}

.slider-content-img {
	margin-top: 30px;
	padding-left: 0px;
}

.slider-nav .prev, .slider-nav .next {
	width: 60px;
	height: 60px;
}


}




@media screen and ( max-width: 480px ) {
	
p {
	margin-bottom: 22.5px;
}
	
p:last-child {
	margin-bottom: 0px;
}

.moving-layer-wrapper {
	padding: 45px 20px;
}

.formular input[type="submit"].button {
	width: 100%;
	min-width: unset;
}

/* Main Menu Lists */

.menu-main-entries-list {
	flex: 0 0 100% !important;
	margin-bottom: 15px;
}

.menu-main-entries-list .menu-count-small {
    display: none;
}

/* Full Screen Menu */

.fsn-menu-extension,
.fsn-menu-wrapper {
	padding: 20px;
}

/* Footer */

.bottom-links a {
	margin: 0px 5px;
}

/* Allgemein */

.button.training {
	display: none;
}

.intro-banner {
	background-attachment: scroll !important;
}

/* Blocks */

.cta-box-link {
	width: 100%;
	min-width: unset !important;
	padding: 0px 20px;
}

.cta-spalten-wrapper {
	flex-direction: column;
}

/* Chat */

#vcht_chatPanel {
	height: 100% !important;
	bottom: 0px !important;
}


}




@media screen and ( max-height: 768px ) {

/* Full Screen Menu */

.fsn-menu-count-big {
	display: none;
}

.fsn-menu-extension-info {
	justify-content: center;
}

.fsn-menu-extension-image {
	flex: 0 0 180px;
}

}


@media screen and ( max-height: 620px ) {

/* Full Screen Menu */

.fsn-menu-extension-image {
	display: none;
}

}






.wp-block-table {
	overflow-x: auto;
	margin: 50px 0px;
}

table, tr, td {
	border: 1px solid rgb(240,241,243);
	border-collapse: collapse;
	font-size: 14px;
}

table {
	width: 100%;
	margin-bottom: 1.667em;
}

.wp-block-table table {
	margin-bottom: 0em;
}

td,th {
	padding: 10px;
}

th {
	font-weight: 600;
	border: 1px solid rgb(255,255,255);
	background: rgb(240,241,243);
}

.table-head th:first-child {
	border-left: none;
}

.table-head th:last-child {
	border-right: none;
}

.table-head:first-child th {
	border-top: none;
	padding: 20px 10px;
	vertical-align: top;
}

figcaption {
	font-size: 12px;
	color: rgba(0,0,0,0.33);
	line-height: 20px;
	margin-top: 20px;
	max-width: 840px;
}

#standderdinge td {
	min-width: 240px;
}