/* Version: 05.03.2018 */

/* --- Normal --- */
@font-face { font-family: "Montserrat";
	 
  src: local('Montserrat'),     
	   url('https://fonts.pwrk.dev/ofl/montserrat/Montserrat[wght].woff2') format('woff2') ;
	font-weight: 300, 400, 500, 600, 700, 800, 900;
  font-style: normal;
}

/* --- Italic --- */
@font-face { font-family: "Montserrat";
	 
  src: local('Montserrat'),     
	   url('https://fonts.pwrk.dev/ofl/montserrat/Montserrat-Italic[wght].woff2') format('woff2') ;
font-weight: 300, 400, 500, 600, 700, 800, 900;
  font-style: italic;
}

 /* ------------------- NICHT VERÄNDERN ------------------------- */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
	 line-height: 1.15; /* 1 */
	-webkit-text-size-adjust: 100%; /* 2 */
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

 /* ----------------------------------------------------------- */

body {
	font-family: 'Montserrat', sans-serif;
	/* ------------------- NICHT VERÄNDERN ------------------------- */
	font-size: 100%;
	/* ------------------------------------------------------------ */
	color: #000;
	text-decoration: none;
	font-weight: normal;
	word-spacing: normal;
	line-height: 1.3;
	background-color: #f1f1f1;
	/*	Hintergrundbilder werden in Chrome mit ausgedruckt	*/
	-webkit-print-color-adjust:exact;
}

p {
	margin: 0 0 0.2rem 0;
}

h1 {
	line-height: 1.9rem;
	font-size: 1.5rem;
	font-weight: 600;
	padding: 0;
	margin: 0;
}

h2 {
	margin: 1rem 0 0;
	line-height: 1.5;
	font-size: 1.3rem;
	font-weight: 700;
}

.button span {
  text-transform: uppercase;
  color: #fff;
} 


h3 {
	line-height: 1.9rem;
	font-size: 0.95rem;
	font-weight: 700;
	padding: 0;
	margin: 0;
}

.purple {
    color: #3E0D81;
}

.purple-light {
    color: #573EEF;
}

.frame-outer {
	position: relative;
	padding: 0;
	width: 780px;
	margin: 1.3rem auto;
	background-color: #fff;
	border: 0.02rem solid #7d7d7d7;
	box-shadow: -0.1rem 0.1rem 1rem #cecece;
	font-size: 0.84rem;
}

.frame-outer::after {
	content: "";
	display: block;
	clear: both;
}

.header{
	position: relative;
}

.logo {
	width: 11rem;
}

.logo-bg {
	padding: 1rem 2rem;
    background: #3E0D81;
}

.logo-bg::after {
	content: "";
	display: block;
	clear: both;
}

#title-block {
	position: absolute;
	top: 0;
    bottom: 0;
    margin-top: 5.0rem;
    margin-bottom: auto;
	left: 0;
	padding: 0 0 0 2rem;
	/* -- FALLBACK FÜR BROWSER DIE RGBA-WERTE NICHT UNTERSTÜTZEN -- */
	color: #fff;
    width: 48%;
    font-size: 0.88rem;
}

.headline-1 {
	padding: 1.0rem;
    background-color: #573EEF;
    color: #FFF;
    text-align: center;
    font-size: 1.3rem;
    font-weight: 700;
}

.about {
	padding: 2rem;
}

.about::after {
	content: "";
	display: block;
	clear: both;
}

.content {
	padding: 2rem;
    background-color: #f9d957;
}

.content::after {
	content: "";
	display: block;
	clear: both;
}

.separator-1 {
    background-color: #f9d957;
    padding: 0;
}

.separator-1::after {
	content: "";
	display: block;
	clear: both;
}

.arrow {
    z-index: 99;
    position: relative;
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-left: 1.5em solid transparent;
    border-right: 1.5em solid transparent;
    border-top: 1.5em solid rgb(255, 255, 255);
    margin: 0 auto -1.5em;
    background-color: #f9d957;
}

.separator-2 {
    background-color: #FFF;
    padding: 0;
}

.separator-2::after {
	content: "";
	display: block;
	clear: both;
}

.arrow-1 {
    z-index: 99;
    position: relative;
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-left: 1.5em solid transparent;
    border-right: 1.5em solid transparent;
    border-top: 1.5em solid rgb(249, 217, 87);
    margin: 0 auto -1.5em;
}

#box-left {
	float: left;
	width: 48%;
}

#box-right {
	float: right;
	width: 48%;
}

#footer-left {
	float: left;
	width: 48%;
}

#footer-right {
	float: right;
	width: 28%;
    text-align: right;
}

#footer {
    padding: 2rem;
    background-color: #3E0D81;
    color: #FFF;
}

#footer::after {
	content: "";
	display: block;
	clear: both;
}

img {
	max-width: 100%;
	height: auto;
	width: auto9;
	border: 0;
	vertical-align: middle;
}

a:link {
	color: #FFF;
	text-decoration: none;
}

a:visited {
	text-decoration: none;
	color: #FFF;
}

a:hover {
	text-decoration: underline;
	color: #573EEF;
}

a:active {
	text-decoration: none;
	color: #573EEF;
}

ul {
	list-style: none;
    padding-left: 0.3rem;
	margin-top: 0.5rem;
	margin-bottom: 0.0rem;
}

li {
	position: relative;
    padding-left: 1.5rem;
	padding-bottom: 0.4rem;
}

li::after {
	position: relative;
    padding-left: 1.0rem;
	padding-bottom: 0.0rem;
}

li::before{
	content: '►';
    position: absolute;
    left: 0;
    top: 0;
	margin-top: 0.1rem;
	color: #573EEF;
	font-size: 0.65rem;
    font-weight: 700;
}

/* -- FALLS ETWAS ANDERES ALS DIE STANDARD AUFZÄHLUNGSZEICHEN GEWÜNSCHT --  */

/* 
li::before {
	position: absolute;
	top: 0;
	left: -0.8rem;
	content: "■";
	font-size: 0.8rem;
	color: red;
} 
*/

/*
_______________________

KAPITÄLCHEN, BULLETPOINT
_______________________

<span class="capital" style="float: left; width: 43px; height: 20px; line-height: 47px; background: transparent; font-size: 38px; margin-top: -5px; margin-right: -32px; margin-bottom: 5px; background-color: transparent;">I</span>

ul li {
background: url(bp.jpg) no-repeat 2px 5px; padding-left:8px;
}
*/

.flex {
	display: flex;
	display: -ms-flexbox;
	display: -webkit-flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin: 0 0;
}

.left {
	width: 100%;
	padding: 1rem 3%;
	margin-right: 0.4rem;
}

.right {
	width: 100%;
	padding: 1rem 3%;
	margin-left: 0.4rem;
}

.box {
    transition: box-shadow .5s ease;
    box-shadow: 0px 0px 3px 0px #BBB;
    cursor: pointer;
    background: #FFF;
}

.box:hover {
    transition: box-shadow .5s ease;
    box-shadow: 0px 0px 7px 0px #3E0D81;
    cursor: pointer;
    background: #FFF;
}

/* -------------- FLEXBOX EIGENSCHAFTEN -------------------- */
/* -----GENERELL: FLEXBOX STATT FLOAT NEHMEN, DA SIE BESSERE OPTIONEN ZUR GESTALTUNG BIETEN, 
JEDOCH DARAUF ACHTEN, DASS FLEXBOXEN NICHT VOM INTERNET EXPLORER 9 UND ABWÄRTS UNTERSTÜTZT WERDEN. => IN DEM FALL FLOATEN --------------------- */
/* 
.flex {
	display: table;
	display: flex;
	display: -ms-flexbox;
	display: -webkit-flex;
	-webkit-flex-direction: row;
	flex-direction: row;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 1rem 0;
} 
*/
/* -- FLEXBOX EIGENSCHAFTEN FÜR GLEICHE HOHE BOXEN MIT "PLATZ ZWISCHEN DEN BOXEN" (siehe "justify-content: space-between;") -- */

p:empty {
	height: 0.625rem;
}

.clear {
	clear: both;
	font-size: 0;
	line-height: 0;
}

.hide {
	display: none;
}

.refnr {}

.justifier {
	text-align: justify;
	text-align-last: justify;
}

.justifier:after {
	content: "";
	display: inline-block;
	width: 100%;
}

.table {
	display: table;
	width: 100%;
	/* -- LÄSST GRENZEN VERSCHWINDEN, SODASS KEINe BEGRENZUNG ERSCHEINT -- */
	/* border-collapse: collapse; */
	/* --------------------------------------------------------------------*/
	table-layout: fixed;
	/* ----- ERSTELLT EINEN BEGRENZUNGSRAHMEN JEDOCH AN ALLEN SEITEN ----- */
	/* border-spacing: 3rem; */
	/* --------------------------------------------------------------------*/
}

.row {
	display: table-row;
}

#cell-left,
#cell-right {
	display: table-cell;
	vertical-align: bottom;
	padding: 1rem 3%;
}

#cell-left {
	border-right: 15px solid #fff;
}

#cell-right {
	border-left: 15px solid #fff;
}

.bg-darkblue {
	background: rgb(78, 147, 250);
}

.bg-lightblue {
	background: rgb(127, 174, 245);
}

.button_box {
	text-align: center;
}

.button_box::after {
	clear: both;
	content: "";
	display: block;
}

/*_______________________

BUTTON MIT ANIMATION
_______________________
*/

.button {
	display: inline-block;
	background: #f9d957;
	padding: 0.6rem 2.5rem 0.6rem 2.5rem;
	margin: 2rem auto;
	cursor: pointer;
	-webkit-border-radius: 1.5rem;
	border-radius: 0;
	transition: all 140ms ease 0s;
	-moz-transition: all 100ms ease 0s;
	-webkit-transition: all 100ms ease 0s;
	color: #000;
    font-weight: 700;
}
.button: hover {
	background-position: 15px center;
	background-color: #573EEF;
	text-decoration: none;
	color: #FFF;
}


/*
_______________________

MARKIERTER TEXT
_______________________

::selection {
background: #ffb7b7;
}
::-moz-selection {
background: #ffb7b7;
}

*/
.apply {}


/*-----Slider-----*/

#sliderBox{
	position: relative;
}

.slider-wrap {
  width: auto;
  height: auto;
  position: relative;
  overflow: hidden;
	z-index: 2;
}

/*---3Bilder---*/

.slideshow_3Bilder {
  position: absolute;
  width: 100%;
  top: 0px;
  left: 0px;
  z-index: 0;
}

.slideshow_3Bilder li span {
  width: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  color: transparent;
  opacity: 0;
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-animation: image_3Bilder 9s linear infinite;
  animation: image_3Bilder 9s linear infinite;
}

@keyframes image_3Bilder {
  0% {
    opacity: 0;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  4% {
    opacity: 1;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  35% {
    opacity: 1;
  }
  39% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes image_3Bilder {
  0% {
    opacity: 0;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  4% {
    opacity: 1;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  35% {
    opacity: 1;
  }
  39% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

.slideshow_3Bilder li {
  margin:0 !important;
  padding:0 !important;
  list-style: none !important;
}
.slideshow_3Bilder li:nth-child(1) span {}
.slideshow_3Bilder li:nth-child(2) span {
  -webkit-animation-delay: 3s;
  animation-delay: 3s;
}
.slideshow_3Bilder li:nth-child(3) span {
  -webkit-animation-delay: 6s;
  animation-delay: 6s;
}

ul.slideshow_3Bilder {
	margin:0 !important;
	padding: 0 !important;
}

.slideshow_3Bilder li::before{
	display:none !important;
}

.slideshow_3Bilder ul {
	margin:0 !important;
	padding-left:0 !important;
	list-style-type: none !important;
	list-style:none !important;
}

/*---4Bilder---*/

.slideshow_4Bilder {
  position: absolute;
  width: 100%;
  top: 0px;
  left: 0px;
  z-index: 0;
}

.slideshow_4Bilder li span {
  width: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  color: transparent;
  opacity: 0;
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-animation: image_4Bilder 12s linear infinite;
  animation: image_4Bilder 12s linear infinite;
}

@keyframes image_4Bilder {
  0% {
    opacity: 0;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  4% {
    opacity: 1;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  30% {
    opacity: 1;
  }
  34% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes image_4Bilder {
  0% {
    opacity: 0;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  4% {
    opacity: 1;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  30% {
    opacity: 1;
  }
  34% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

.slideshow_4Bilder li {
  margin:0 !important;
  padding:0 !important;
  list-style: none !important;
}
.slideshow_4Bilder li:nth-child(1) span {}
.slideshow_4Bilder li:nth-child(2) span {
  -webkit-animation-delay: 3s;
  animation-delay: 3s;
}
.slideshow_4Bilder li:nth-child(3) span {
  -webkit-animation-delay: 6s;
  animation-delay: 6s;
}
.slideshow_4Bilder li:nth-child(4) span {
  -webkit-animation-delay: 9s;
  animation-delay: 9s;
}

ul.slideshow_4Bilder {
	margin:0 !important;
	padding: 0 !important;
}

.slideshow_4Bilder li::before{
	display:none !important;
}

.slideshow_4Bilder ul {
	margin:0 !important;
	padding-left:0 !important;
	list-style-type: none !important;
	list-style:none !important;
}