/*
Theme Name:         Sage Starter Theme
Theme URI:          https://roots.io/sage/
Description:        Theme for xxxx 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; 
}

/* inter-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/inter-v20-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/inter-v20-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/inter-v20-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/inter-v20-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/inter-v20-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/inter-v20-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* VARIABLES */

:root{
	--black: #000;
	--white: #fff;
	--lightblue1: #009FE3;
	--blue1: #0A0464;
	--grey1: #D9D9D9;
	--grey2: #E8E8E8;
	--grey3: #F7F7F7;
	--grey4: #6c757d;
	--sectionPadding: 8rem;
}

/* ALLGEMEIN */

*:focus {
	outline: none!important;
}

html {
	scroll-behavior: smooth;
}

body {
	font-family: 'Inter','Arial',sans-serif;
	font-size: 1.8rem;
	font-weight: 400;
}

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

section{
	padding-top: var(--sectionPadding);
	padding-bottom: var(--sectionPadding);
}

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 {
	margin-top: 0;
}

h1, .h1 {
  font-size: 4rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.08;
}

h2, .h2 {
  font-size: 2.6rem;
  font-weight: 700;
}

h3, .h3 {
  font-size: 2.3rem;
  font-weight: 700;
}

h4, .h4 {
  font-size: 2rem;
  font-weight: 700;
}

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

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

.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: -15px;
    margin-left: -15px;
}

.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: space-between;
	    -ms-flex-pack: space-between;
	        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;
}


.ctaBtn {
	padding: 1.5rem 1.5rem;
	-webkit-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
	display: inline-block;
	text-align: center;
	position: relative;
	font-size: 1.5rem;
	font-weight: 500;
	text-transform: uppercase;
	text-decoration: none;
	-webkit-transition: background .3s ease, color .3s ease;
	-o-transition: background .3s ease, color .3s ease;
	transition: background .3s ease, color .3s ease;
}

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

.ctaBtn.ctaWysiwyg {
	margin-top: 1rem;
	margin-right: 1.5rem;
}

legend {
	border: none;
}

.topline{
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;

}

@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){	
	.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;
	}

	.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;
	}
}

@media (min-width: 1400px) {
    .container {
        width: 1420px;
    }
}

/* HEADER */

header {
  -webkit-box-shadow: 0px 4px 20px 0px rgba(10,4,100,0.2); 
  box-shadow: 0px 4px 20px 0px rgba(10,4,100,0.2);
  background-color: var(--white);
}

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: 5;
	background-color: rgba(255, 255, 255, .8);
}

header.scrolled .navbar > .mainContainer .navbar-brand {
	padding-top: 1.5rem;
}

header.scrolled .topHeader{
	display: none;
}

header.scrolled.sticky {
	top: 0;
}

header .logoWrap {
  width: 20rem;
}

header.scolled .logoWrap {
  width: 18rem;
}

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

	header .mainContainer {
		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;
	}

	header .navbar-collapse.collapse {
		justify-content: center;
		flex: 1;
		display: flex!important;
		flex-wrap: wrap;
	}

	header .totalMenuWrap {
		display: inline-block;
	}

	.navbar-nav > li > a {
		padding-top: .8rem;
		padding-bottom: .8rem;
		padding-left: 1.6rem;
		padding-right: 1.6rem;
	}

	.navbar-nav > li {
        margin-left: .5rem;
        margin-right: .5rem;
    }

	.navbar-nav > li:last-child {
        margin-right: 0;
    }

	.navbar > .mainContainer .navbar-brand {
		padding-top: 0;
	}
}

/* Top Header */

.topHeader {
	padding-top: 1rem;
}

.topHeader .innerWrap{
	text-align: right;
	font-size: 1.6rem;
	font-weight: 300;
}

.topHeader .innerWrap a{
	text-decoration: underline;
	color: var(--black);
}

/* Menu */

header .navbar-nav li a{
  font-weight: 500;
  color: var(--black);
  text-transform: uppercase;
  text-decoration: none;
}

header .navbar-nav .dropdown-menu{
  margin-top: 0;
  margin-bottom: 0;
  background-color: rgba(255, 255, 255, .8);
  border: none;
  border-radius: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
}



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 > a{
	transition: all 0.3s ease;
}

header li.current-menu-item > a,
header li > a:hover{
	background-color: var(--black);
	color: var(--white);

}

/* Mobile Menu */

.navbar-toggle .icon-bar{
  background-color: var(--blue1);
}

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

@media(max-width: 991px){
	.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: justify;
		    align-content: space-between;
		margin: 0!important;
		padding: 35px;
		padding-bottom: 100px;
		padding-top: 80px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		min-height: 101vh;
		background-color: var(--white);
	}

	.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: scroll;
	}

	.navbar-toggle{
		margin-top: 14px;
		margin-bottom: 0;
	}

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

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

	header .navbar-nav .dropdown-menu{
		position: relative;
		width: 100%;
		padding-left: 2rem;
		float: 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 .navbar-nav > li{
		padding-top: .8rem;
	}
}

