/* Version: 05.03.2018 */


 /* ------------------- NICHT VERÄNDERN ------------------------- */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;900&display=swap');
 html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

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

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

body {
  font-family: 'Roboto', Arial, Helvetica, sans-serif;
/* ------------------- NICHT VERÄNDERN ------------------------- */
  font-size: 100%;
 /* ------------------------------------------------------------ */
  color: #58585a;
  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 0rem 0;
}

.abstand {text-align:center;
	margin-top: 0.5rem;
}

.abstand2 {
  margin-top: 0.25rem;
}
.ueber {
	background-image: linear-gradient(90deg,#00aad2,#b7cf41);
	color: #fff;
	padding: 0.25rem 2%;
	font-size: 0.95rem;
}

.box_oben{background-color: #e5edf5;
		  padding: 1.5rem 2rem;
}

h1 {
  line-height: 1.5;
  font-size: 1.5rem;
  font-weight: 700;
  padding: 0;
  margin: 0;
  color:#58585A;
}

h2 {
  margin: 0;
  line-height: 1.5;
  font-size: 1.0rem;
  font-weight: normal;
  
}

#frame-outer {
  position: relative;
  padding: 0;
  width: 780px;
  margin: 1.3rem auto;
  background-color: #FFF;
  border: 0.02rem solid #A7A9A4;
  box-shadow: -0.1rem 0.1rem 1rem #999;
  font-size: 0.7735rem;
}

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


#logo {
   padding: 1.1rem 4%;
}

#header {
  position: relative;
}

#slogan {
  position: absolute;
  bottom: 3%;
  left: 0;
  padding: 0.5rem 3%;
  /* --------------------- FALLBACK FÜR BROWSER DIE RGBA-WERTE NICHT UNTERSTÜTZEN -------------------- */
  background: rgb(100, 30, 30);
  /* ------------------------------------------------------------------------------------------------- */
  background: rgba(100, 30, 30, 0.8);
  color: #fff;

} 

.content {
  padding: 1.1rem 4%;
}

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

#title {
	background-color: #0055a0;
	border: 0.01rem #0055a0 solid;
	border-bottom-right-radius: 2rem;
	color: #fff;
	padding: 0.2rem 4%;
	margin-right: 4%;
}

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

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

.column {
  width: 100%;
  column-count: 2;
  column-gap: 1rem;
	margin-top: 0.25rem;
	margin-bottom: 0.5rem;

}


#footer {
padding: 0.5rem 4% 1.5rem 4%;
	
}

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

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

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

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

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

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

.white {
	color: #fff!important;
}

.blue {
	color: #0055a0!important;
}

ul {
  margin: 0 auto 0.3rem 0.5rem;
  padding-left: 0.8rem;
  list-style-type: disc;
  list-style-type: none;
}

li {
  position: relative; 
  margin: auto;
  padding-bottom: 0.3rem;
}

li::before {
  position: absolute;
  top: -0.25rem;
  left: -1rem;
  content: "•";
  font-size: 1.25rem;
  color: #0cb0a1;
}




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

p:empty {
  height: 1rem;
}

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

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

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

.left {
  width: 48%;
  padding: 1rem 3%;
}

.right {
  width: 48%;
  padding: 1rem 3%;
}

.button_box {
  text-align: center;
}

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


/*_______________________

BUTTON MIT ANIMATION
_______________________
*/

.button:link, .button:visited, .button:active {
               color: #FFF;
               text-decoration: none;
               background-color: #00559F;
               padding: 9px 18px;
               -webkit-transition: all 0.3s ease-out;
               -moz-transition: all 0.3s ease-out;
               -ms-transition: all 0.3s ease-out;
               -o-transition: all 0.3s ease-out;
               transition: all 0.3s ease-out;
               -webkit-border-radius: 6px;
               -moz-border-radius: 6px;
               border-radius: 6px;
               display: inline-block;
}
.button:hover {
               color: #FFF;
               text-decoration: none;
               background-color: #009fe0;
}

.slider-wrap {
    max-width: 800px;

    width: auto;
    height: auto;
    position: relative;
    
    margin: 0;
    overflow: hidden;
	border-bottom: #59c1da solid 0.25rem;

}
  
.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 24s linear infinite;
    animation: image 24s 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;
    }
    20% {
      opacity: 1;
    }
    25% {
      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;
    }
    20% {
        opacity: 1;
    }
    25% {
        opacity: 0;
    }
    100% {
        opacity: 0;
    }
}
  
.slideshow li {
    margin:0;
    padding:0;
    list-style: none;
    -webkit-animation-delay: 24s;
    animation-delay: 24s;
}
.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;
}
.slideshow li:nth-child(4) span {
    -webkit-animation-delay: 18s;
    animation-delay: 18s;
}

ul.slideshow {
    margin: 0;
    padding-left: 0;
}

/*
_______________________

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


/*
_______________________

MARKIERTER TEXT
_______________________

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

*/
.apply {}
