/*
Theme Name:         Sage Starter Theme
Theme URI:          https://roots.io/sage/
Description:        Theme for AFS Air- and Fluidsystems by Southvision
Version:            1.06
Author:             Southvision
Author URI:         https://southvision.de/
Text Domain:        sage
License:            MIT License
License URI:        http://opensource.org/licenses/MIT

*/

.skip-link {
	position: absolute;
	left: -9999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
	z-index: 100;
	pointer-events: none;
}

.skip-link:focus {
	left: 16px;
	top: 16px;
	width: auto;
	height: auto;
	padding: 0.5em 1em;
	background: #000;
	color: #fff;
	text-decoration: none;
	pointer-events: auto;
}


/* VARIABLES */

:root{
	--black: #05161D;
	--white: #fff;
	--blue1: #003260;
	--blue2: #00243C;
	--lightblue1: #00A8DD;
	--grey1: #C4DCE3;
	--grey2: #EEF7FB;
	--grey3: #F9FCFE;
	--grey4: #46626E;
	--grey5: #6F7072;
	--white70: rgba(255, 255, 255, 0.7);
	--white45: rgba(255, 255, 255, 0.45);
	--white30: rgba(255, 255, 255, 0.3);
	--white15: rgba(255, 255, 255, 0.15);
	--white10: rgba(255, 255, 255, 0.1);
	--shadowCard: 0 12px 40px rgba(0, 50, 96, 0.06);
	--shadowSoft: 0 1px 3px rgba(0, 50, 96, 0.08);
	--shadowImage: 0 24px 80px rgba(0, 50, 96, 0.12);
	--shadowButton: 0 10px 15px rgba(0, 50, 96, 0.1);
	--radiusCard: 2.4rem;
	--radiusTile: 1.6rem;
	--radiusIcon: 1.2rem;
	--sectionPadding: 12rem;
	--headerBackground: #fff;
}


/* ALLGEMEIN */

*:focus {
	outline: none!important;
}

html {
	scroll-behavior: smooth;
}

body {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.6rem;
	line-height: 1.7;
	font-weight: 400;
	color: var(--grey4);
	background: var(--grey3);
	-webkit-font-smoothing: antialiased;
}

p{
	margin-top: 0;
	margin-bottom: 1.6rem;
}

p:last-child {
	margin-bottom: 0;
}

section{
	position: relative;
	padding-top: var(--sectionPadding);
	padding-bottom: var(--sectionPadding);
	background: var(--grey3);
}

img, video {
	width: 100%;
	height: auto;
	display: block;
}

section .textWrap img {
	width: revert-layer;
}

iframe {
	width: 100%;
	display: block;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
	margin-top: 0;
	margin-bottom: 2.4rem;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.03em;
	color: var(--blue1);
	text-wrap: balance;
}

h1, .h1 {
	font-size: 7.2rem;
	line-height: 1;
	letter-spacing: -0.045em;
}

h2, .h2 {
	font-size: 4.8rem;
}

h3, .h3 {
	font-size: 2.4rem;
	letter-spacing: -0.01em;
}

h4, .h4 {
	font-size: 2rem;
	letter-spacing: 0;
}

h5, .h5 {
	font-size: 1.8rem;
	letter-spacing: 0;
}

h6, .h6 {
	font-size: 1.6rem;
	letter-spacing: 0;
}

h1 .grau,
h2 .grau,
h3 .grau {
	color: var(--grey5);
}

strong, b {
	font-weight: 700;
}

a{
	color: var(--lightblue1);
	text-decoration: none;
	-webkit-transition: color 0.3s ease;
	-o-transition: color 0.3s ease;
	transition: color 0.3s ease;
}

a:hover{
	color: var(--blue1);
}

ul, ol {
	margin-top: 0;
	margin-bottom: 1.6rem;
	padding-left: 2rem;
}

.myAnchor {
	position: relative;
	top: -10rem;
	display: block;
	visibility: hidden;
}

.bgHelper {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

.bgHelper video,
.bgHelper img {
	position: absolute;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.flexRow {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	margin-right: -1.5rem;
	margin-left: -1.5rem;
}

.flexWrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}

.justCenter {
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.justBetween {
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}

.alignConCenter {
	-ms-flex-line-pack: center;
	    align-content: center;
}

.alignItemsCenter {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.alignItemsEnd {
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
}

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

.text-left{
	text-align: left;
}

.text-right{
	text-align: right;
}

.padTo3 {
	padding-top: 3rem;
}

.maTo3 {
	margin-top: 3rem;
}

.maTo6 {
	margin-top: 6rem;
}

/* Icon-Ausgabe: einfarbige SVG/PNG-Icons werden als Maske eingefaerbt */

.iconMask {
	display: inline-block;
	width: 2.4rem;
	height: 2.4rem;
	background-color: var(--lightblue1);
	-webkit-mask-image: var(--iconUrl);
	        mask-image: var(--iconUrl);
	-webkit-mask-size: contain;
	        mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
	-webkit-mask-position: center;
	        mask-position: center;
}

/* Vorspann (kleine Zeile ueber der Ueberschrift, TinyMCE-Format) */

.vorspann {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 1.2rem;
	margin-bottom: 2rem;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--lightblue1);
}

.vorspann.mitLinie:before {
	content: '';
	display: block;
	width: 4rem;
	height: 1px;
	background: var(--lightblue1);
}

.text-center .vorspann {
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

/* Buttons */

.ctaBtn {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 0.8rem;
	padding: 1.5rem 2.4rem;
	border: 1px solid var(--blue1);
	border-radius: 10rem;
	background: var(--blue1);
	color: var(--white);
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	-webkit-transition: color 0.3s ease, background 0.3s ease, border-color 0.3s ease, -webkit-transform 0.3s ease;
	transition: color 0.3s ease, background 0.3s ease, border-color 0.3s ease, -webkit-transform 0.3s ease;
	-o-transition: transform 0.3s ease, color 0.3s ease, background 0.3s ease, border-color 0.3s ease;
	transition: transform 0.3s ease, color 0.3s ease, background 0.3s ease, border-color 0.3s ease;
	transition: transform 0.3s ease, color 0.3s ease, background 0.3s ease, border-color 0.3s ease, -webkit-transform 0.3s ease;
}

.ctaBtn:hover {
	color: var(--white);
	-webkit-transform: translateY(-2px);
	    -ms-transform: translateY(-2px);
	        transform: translateY(-2px);
}

.ctaBtn.white {
	background: var(--white);
	border-color: var(--white);
	color: var(--blue1);
}

.ctaBtn.white:hover {
	color: var(--blue1);
}

.ctaBtn.ghostBtn {
	background: transparent;
	border-color: var(--grey1);
	color: var(--black);
}

.ctaBtn.ghostBtn:hover {
	border-color: var(--blue1);
	color: var(--blue1);
	-webkit-transform: none;
	    -ms-transform: none;
	        transform: none;
}

.ctaBtn:before {
	content: none;
	display: block;
	width: 1.6rem;
	height: 1.6rem;
	background-color: currentColor;
	-webkit-mask-size: contain;
	        mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
	-webkit-mask-position: center;
	        mask-position: center;
}

.ctaBtn:after {
	content: none;
	display: block;
	width: 1.6rem;
	height: 1.6rem;
	background-color: currentColor;
	-webkit-mask-size: contain;
	        mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
	-webkit-mask-position: center;
	        mask-position: center;
}

.ctaBtn.iconTelefon:before {
	content: '';
	-webkit-mask-image: url('../images/icon-phone.svg');
	        mask-image: url('../images/icon-phone.svg');
}

.ctaBtn.iconMail:before {
	content: '';
	-webkit-mask-image: url('../images/icon-mail.svg');
	        mask-image: url('../images/icon-mail.svg');
}

.ctaBtn.iconPfeil:after {
	content: '';
	-webkit-mask-image: url('../images/icon-arrow-right.svg');
	        mask-image: url('../images/icon-arrow-right.svg');
}

.multipleCtaWrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 1.2rem;
	margin-top: 1.6rem;
}

.text-center .multipleCtaWrap {
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

legend {
	border: none;
}

@media (min-width: 992px) {
	.order1md {
		-webkit-box-ordinal-group: 2;
		    -ms-flex-order: 1;
		        order: 1;
	}

	.order2md {
		-webkit-box-ordinal-group: 3;
		    -ms-flex-order: 2;
		        order: 2;
	}

	.order3md {
		-webkit-box-ordinal-group: 4;
		    -ms-flex-order: 3;
		        order: 3;
	}

	.order4md {
		-webkit-box-ordinal-group: 5;
		    -ms-flex-order: 4;
		        order: 4;
	}
}

@media (max-width: 1199px){
	:root {
		--sectionPadding: 9rem;
	}

	h1, .h1 {
		font-size: 6rem;
	}

	h2, .h2 {
		font-size: 4.2rem;
	}

	.maToMD3 {
		margin-top: 3rem;
	}

	.maToMD6 {
		margin-top: 6rem;
	}
}

@media (max-width: 991px){
	.maToSM3 {
		margin-top: 3rem;
	}

	.maToSM6 {
		margin-top: 6rem;
	}
}

@media (min-width: 768px) and (max-width: 991px){
	html {
		font-size: 9px;
	}

	.order1sm {
		-webkit-box-ordinal-group: 2;
		    -ms-flex-order: 1;
		        order: 1;
	}

	.order2sm {
		-webkit-box-ordinal-group: 3;
		    -ms-flex-order: 2;
		        order: 2;
	}

	.order3sm {
		-webkit-box-ordinal-group: 4;
		    -ms-flex-order: 3;
		        order: 3;
	}

	.order4sm {
		-webkit-box-ordinal-group: 5;
		    -ms-flex-order: 4;
		        order: 4;
	}
}

@media (max-width: 767px){
	html {
		font-size: 8px;
	}

	:root {
		--sectionPadding: 8rem;
	}

	body {
		font-size: 1.8rem;
	}

	h1, .h1 {
		font-size: 5.6rem;
	}

	h2, .h2 {
		font-size: 4rem;
	}

	h3, .h3 {
		font-size: 2.6rem;
	}

	.ctaBtn {
		font-size: 1.6rem;
		padding: 1.6rem 2.4rem;
	}

	.vorspann {
		font-size: 1.4rem;
	}

	.maToXS3 {
		margin-top: 3rem;
	}

	.maToXS6 {
		margin-top: 6rem;
	}

	.order1xs {
		-webkit-box-ordinal-group: 2;
		    -ms-flex-order: 1;
		        order: 1;
	}

	.order2xs {
		-webkit-box-ordinal-group: 3;
		    -ms-flex-order: 2;
		        order: 2;
	}

	.order3xs {
		-webkit-box-ordinal-group: 4;
		    -ms-flex-order: 3;
		        order: 3;
	}

	.order4xs {
		-webkit-box-ordinal-group: 5;
		    -ms-flex-order: 4;
		        order: 4;
	}
}


/* HINTERGRUNDVARIANTEN */

section.blue {
	background: var(--blue1);
	color: var(--white70);
}

section.blue h1, section.blue h2, section.blue h3, section.blue h4, section.blue h5, section.blue h6,
section.blue .h1, section.blue .h2, section.blue .h3, section.blue .h4, section.blue .h5, section.blue .h6 {
	color: var(--white);
}

section.blue a {
	color: var(--white);
}

section.blue a:hover {
	color: var(--lightblue1);
}

section.blue .ctaBtn {
	background: var(--white);
	border-color: var(--white);
	color: var(--blue1);
}

section.blue .ctaBtn:hover {
	color: var(--blue1);
}

section.blue .ctaBtn.ghostBtn {
	background: transparent;
	border-color: var(--white30);
	color: var(--white);
}

section.blue .ctaBtn.ghostBtn:hover {
	background: var(--white10);
	border-color: var(--white30);
	color: var(--white);
}

section.lightblue {
	background: var(--grey2);
}


/* HEADER */

header {
	position: relative;
	z-index: 10;
	background: var(--headerBackground);
	border-bottom: 1px solid var(--grey1);
}

header.scrolled {
	top: -400px;
	-webkit-transition: top 1.5s ease;
	-o-transition: top 1.5s ease;
	transition: top 1.5s ease;
	position: fixed;
	width: 100%;
	z-index: 50;
	-webkit-box-shadow: var(--shadowSoft);
	        box-shadow: var(--shadowSoft);
}

header.scrolled.sticky {
	top: 0;
}

header .navbar {
	margin-bottom: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	min-height: 0;
}

header .navbar-header {
	float: none;
}

header .navbar-brand {
	height: auto;
	padding: 1.8rem 0;
	float: none;
	display: block;
}

header .logoWrap {
	width: 17.6rem;
}

header.sticky .logoWrap {
	width: 14.8rem;
}

header .headerCtaWrap {
	display: none;
}

header .headerCtaWrap .ctaBtn {
	padding: 1.2rem 2rem;
}

@media(min-width: 992px){
	header .container-fluid:before, header .container-fluid:after, header .row:before, header .row:after, header .navbar:before, header .navbar:after {
		display: none;
	}

	header .container-fluid {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		padding-left: 4rem;
		padding-right: 4rem;
	}

	header .navbar-collapse.collapse {
		display: -webkit-box!important;
		display: -ms-flexbox!important;
		display: flex!important;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		gap: 4rem;
		padding: 0;
	}

	header .headerCtaWrap {
		display: block;
	}

	.navbar-nav > li > a {
		padding-top: 2.8rem;
		padding-bottom: 2.8rem;
	}

	header.scrolled .navbar-nav > li > a {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
}


/* Menu */

header .navbar-nav li a{
	font-size: 1.4rem;
	font-weight: 500;
	color: var(--grey4);
	text-decoration: none;
}

header .navbar-nav > li {
	margin-left: 1.6rem;
}

header .navbar-nav > li:first-child {
	margin-left: 0;
}

header .navbar-nav .dropdown-menu{
	margin-top: 0;
	margin-bottom: 0;
	background-color: var(--white);
	border: 1px solid var(--grey1);
	border-radius: var(--radiusIcon);
	-webkit-box-shadow: var(--shadowCard);
	        box-shadow: var(--shadowCard);
}

header .navbar-nav li > a:hover + .dropdown-menu{
	display: block;
}

header .navbar-nav li > .dropdown-menu:hover{
	display: block;
}

header .dropdown-menu li{
	padding-top: .4rem;
	padding-bottom: .4rem;
}

header li.current-menu-item > a,
header li > a:hover,
header li > a:focus{
	color: var(--blue1);
	background: transparent;
}

/* Mobile Menu */

.navbar-toggle {
	border: none;
	padding: 1rem;
}

.navbar-toggle .icon-bar{
	background-color: var(--blue1);
	width: 2.4rem;
	height: 2px;
}

header .mobileMenuLogoWrap,
header .navbar-close{
	display: none;
}

@media(max-width: 991px){
	header .container-fluid {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		padding-left: 2.4rem;
		padding-right: 2.4rem;
	}

	header .container-fluid:before, header .container-fluid:after {
		display: none;
	}

	header .navbar-header {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: row-reverse;
		        flex-direction: row-reverse;
		width: 100%;
	}

	header .navbar-brand {
		margin-left: 0;
	}

	.navbar-collapse{
		top: 0;
		position: fixed;
		height: 100vh;
		right: 0;
		background: var(--headerBackground);
		width: 100%;
		z-index: 99;
		-webkit-transform: translateX(100%);
		    -ms-transform: translateX(100%);
		        transform: translateX(100%);
		-webkit-transition: -webkit-transform 0.4s ease;
		transition: -webkit-transform 0.4s ease;
		-o-transition: transform 0.4s ease;
		transition: transform 0.4s ease;
		transition: transform 0.4s ease, -webkit-transform 0.4s ease;
		pointer-events: none;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-ms-flex-line-pack: start;
		    align-content: flex-start;
		margin: 0!important;
		padding: 35px;
		padding-bottom: 100px;
		padding-top: 12rem;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		min-height: 101vh;
		background-color: var(--white);
		border: none;
		-webkit-box-shadow: none;
		        box-shadow: none;
	}

	.navbar-collapse > *{
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 100%;
		        flex: 0 0 100%;
	}

	.navbar-collapse.in{
		-webkit-transform: translateX(0%);
		    -ms-transform: translateX(0%);
		        transform: translateX(0%);
		pointer-events: all;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		overflow: auto;
	}

	.navbar-toggle{
		margin: 0;
		float: none;
	}

	header .navbar-close {
		text-align: right;
		font-size: 5rem;
		line-height: 1;
		position: absolute;
		right: 20px;
		top: 12px;
		display: block;
		color: var(--blue1);
		font-weight: 200;
		cursor: pointer;
	}

	header .mobileMenuLogoWrap {
		position: absolute;
		top: 2.4rem;
		width: 17.6rem;
		left: 3.5rem;
		display: block;
	}

	header .navbar-nav {
		margin: 0;
	}

	header .navbar-nav li a {
		font-size: 2.2rem;
		font-weight: 700;
		color: var(--blue1);
		padding-left: 0;
	}

	header .navbar-nav > li {
		margin-left: 0;
		padding-top: .8rem;
	}

	header .navbar-nav .dropdown-menu{
		position: relative;
		width: 100%;
		padding-left: 2rem;
		float: none;
		border: none;
		-webkit-box-shadow: none;
		        box-shadow: none;
	}

	header .navbar-nav .dropdown-menu li a{
		font-size: 1.8rem;
	}

	header .navbar-nav li.menu-item-has-children > a{
		padding-bottom: 0;
	}

	header .headerCtaWrap {
		display: block;
		margin-top: 3rem;
	}
}


/* FOOTER */

footer {
	background: var(--blue1);
	color: var(--white70);
	padding-top: 5rem;
	padding-bottom: 5rem;
	font-size: 1.4rem;
	line-height: 1.6;
}

footer a {
	color: var(--white70);
}

footer a:hover {
	color: var(--white);
}

footer .footerInner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
	gap: 3rem;
}

footer .footerLogoWrap {
	width: 18rem;
	margin-bottom: 2rem;
}

footer .footerLogoWrap img.invertiert {
	-webkit-filter: brightness(0) invert(1);
	        filter: brightness(0) invert(1);
}

footer .footerTextWrap {
	max-width: 32rem;
}

footer .footerTextWrap p {
	margin-bottom: 0;
}

footer .footerRightWrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
	gap: 0.8rem;
	text-align: right;
}

footer .footerRightWrap p {
	margin-bottom: 0;
}

footer .subfooterLinks {
	margin-top: 1.6rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 1.6rem;
	font-size: 1.2rem;
}

footer .subfooterLinks a {
	color: var(--white45);
}

footer .subfooterLinks a:hover {
	color: var(--white);
}

@media(max-width: 991px){
	footer .footerInner {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
	}

	footer .footerRightWrap {
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
		text-align: left;
	}
}


/* 1920px+ Auflösungen */

@media(min-width: 2400px){
	html{
		font-size: 12.5px;
	}
	.container {
		width: calc(1320px * 1.25);
	}
}

@media(min-width: 2880px){
	html{
		font-size: 15px;
	}
	.container {
		width: calc(1320px * 1.5);
	}
}

@media(min-width: 3360px){
	html{
		font-size: 17.5px;
	}
	.container {
		width: calc(1320px * 1.75);
	}
}

@media(min-width: 3840px){
	html{
		font-size: 20px;
	}
	.container {
		width: calc(1320px * 2);
	}
}
