/* Version: 05.03.2018 */


@font-face {
	font-family: "Open Sans";
	src: url('https://fonts.pwrk.dev/ofl/opensans/OpenSans[wdth,wght].woff2') format('woff2');
	font-weight: 300, 400, 500, 600, 700, 800;
	font-style: normal;
}

@font-face {
	font-family: "Open Sans";
	src: url('https://fonts.pwrk.dev/ofl/opensans/OpenSans-Italic[wdth,wght].woff2') format('woff2');
	font-weight: 300, 400, 500, 600, 700, 800;
	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: 'Open Sans', 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: 700;
	padding: 1rem 0;
	margin: 0;
}

h1 span {
    font-size: 1.4rem;
    font-weight: 400;
}

h2 {
	margin: 0;
	line-height: 1.5;
	font-size: 1.1rem;
	font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

h3 {
	margin: 1rem 0;
	line-height: 1.5;
	font-size: 1.6rem;
	font-weight: 700;
    letter-spacing: 1px;
}

hr.grey-one {
    border: solid 2px #e2e1e3;
    margin: 2rem 0; 
}

hr.grey-two {
    border: solid 2px #e2e1e3;
    margin: 2rem 0 2rem; 
}


.blue {
    color: #004F8C;
}

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

.content {
	padding: 2rem;
}

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

.header{
	position: relative;
}

.logo {
	background: #FFF;
    padding: 1rem 2rem;
}

#title-block {
	position: absolute;
	bottom: 0;
	right: 0;
	padding: 0.5rem 2rem;
	/* -- FALLBACK FÜR BROWSER DIE RGBA-WERTE NICHT UNTERSTÜTZEN -- */
	background: rgb(0, 79, 154);
	/* -------------------------------------------------------------- */
	background: rgba(0, 79, 154, 0.7);
	color: #fff;
    width: 100%;
}

#logo-left {
	float: left;
	width: 70%;
    color: #004F8C;
}

#logo-right {
	float: right;
	width: 22%;
    text-align: right;
}

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

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

#about {
    margin: 2rem 0 0;
	padding: 0.5rem;
    background: #E2E1E3;
    color: #707173;
    font-size: 0.75rem
}

#footer {
	padding: 2rem;
}

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

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

a:link {
	color: #004F8C;
	text-decoration: none;
    font-weight: 600;
}

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

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

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

#about :link {
	color: #707173;
	text-decoration: none;
    font-weight: 400;
}

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

#about a:hover {
	text-decoration: underline;
	color: #004F8C;
}

#about a:active {
	text-decoration: none;
	color: #004F8C;
}

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: #004f91;
	font-size: 0.65rem;
    font-weight: 700;
}

ul.green-bp li::before{
	content: '■';
    position: absolute;
    left: 0;
    top: 0;
	margin-top: 0.1rem;
	color: #ccce00;
	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: 1rem 0;
}

.left {
	width: 135%;
	padding: 0;
	margin-right: 0.5rem;
}

.right {
	width: 100%;
	padding: 3%;
	margin-left: 1rem;
    margin-top: 1.5rem;
    margin-bottom: 2rem;
}

.left-1 {
	width: 48%;
	padding: 0;
}

.right-1 {
	width: 48%;
	padding: 0;
    
}

.grey-bg {
    background: #ebebeb;
}

/* -------------- 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);
}

.video { 
margin: 2rem 0 0;
}

.button_box {
	text-align: center;
}

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

/*_______________________

BUTTON MIT ANIMATION
_______________________
*/

.button a {
	display: inline-block;
	background: #235092;
	padding: 0.6rem 1.5rem;
	margin: 2rem auto 0;
	cursor: pointer;
	-webkit-border-radius: 1.5rem;
	border-radius: 0;
	transition: all 140ms ease 0s;
	-moz-transition: all 140ms ease 0s;
	-webkit-transition: all 140ms ease 0s;
	color: #fff;
}
.button a:hover {
	background-position: 15px center;
	background-color: #e2e1e3;
	text-decoration: none;
	color: #235092;
}

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


.slider-wrap {
  max-width: 100%;
  width: auto;
  height: auto;
  position: relative;
  padding-top: 0;
  margin: 0;
  overflow: hidden;
}

.slideshow {
  position: absolute;
  width: 100%;
  top: 0px;
  left: 0px;
  z-index: 0;
}
.slideshow 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 18s linear infinite;
  animation: image 18s linear infinite;
}

/*

Keyframe-Berechnung:

1. 100 / Anzahl der Bilder
2. Ergebnis ist das Intervall eines einzelnen Keyframes
(Im Beispiel unten ist es die 51% {opacity: 0;})
3. Also passiert eine einzelne Animation zwischen 0% und 51%.
(0% - 8% (Differenz 8%) wird das Bild eingeblendet. Von 43% - 51% (Differenz 8%) sollte dann das Bild ausgeblendet werden)
4. Falls die Geschwindigkeit erhöht werden soll, kann die Differenz verringert werden, wobei dies am Anfang sowie am Ende gleichbleibend sein muss, damit die Animation symmetrisch abläuft.

*/

@keyframes image {
  0% {
    opacity: 0;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  5% {
    opacity: 1;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  38.333% {
    opacity: 1;
  }
  43.333% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes image {
  0% {
    opacity: 0;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  5% {
    opacity: 1;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  38.333% {
    opacity: 1;
  }
  43.333% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

.slideshow li {
  margin:0;
  padding:0;
  list-style: none;
  -webkit-animation-delay: 18s;
  animation-delay: 18s;
}
.slideshow li:nth-child(1) span {}
.slideshow li:nth-child(2) span {
  -webkit-animation-delay: 6s;
  animation-delay: 6s;
}
.slideshow li:nth-child(3) span {
  -webkit-animation-delay: 12s;
  animation-delay: 12s;
}
ul.slideshow {
  margin:0;
  padding-left: 0;
}
.slideshow li::before{
	content:"";
	position: absolute;

}

/*
_______________________

MARKIERTER TEXT
_______________________

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

*/
.apply {text-decoration: underline; color: blue;}
