/* Version: 05.03.2018 */

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

/* --- Italic --- */
@font-face { font-family: "Roboto";
	 
  src: url('https://fonts.pwrk.dev/ofl/roboto/Roboto-Italic[wdth,wght].woff2') format('woff2') ;
	font-weight: 100, 200, 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: 'Roboto', Arial, Helvetica, sans-serif;
/* ------------------- NICHT VERÄNDERN ------------------------- */
  font-size: 100%;
 /* ------------------------------------------------------------ */
  color: #000;
  text-decoration: none;
  font-weight: 300;
  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 {
  margin: 0.5rem 0 0rem 0;
}

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

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

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

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

.firma {
	padding: 0.5rem 8% 0rem 13%;

	font-size: 0.825rem;
}
#logo {
	position: absolute;
	bottom: 9.25rem;
	right: 1.15%;
   
}

#bild {
	position: absolute;
	bottom: 1.5rem;
	right: 1%;
	border: 0.1rem solid #fff;
	
}

#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: 0.75rem 5% 0rem 11%;
}

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

#title {
	background-image: url("balken.jpg");
	background-repeat: no-repeat;

	color: #fff;
	padding: 0.5rem 4% 2rem 13%;
}
#title02 {
	background-image: url("balken.jpg");
	background-repeat: no-repeat;
	
	color: #fff;
	padding: 0.25rem 4% 1.25rem 13%;
}
.box-left {
  float: left;
  width: 48%;
}

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

#footer {
padding: 0.5rem 8% 1.5rem 13%;
	background-color: #ec0004;
	color: #000;
	font-size: 1.25rem;
	font-weight: 500;
}

#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: #0f1e58;
}

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

.white {
	color: #fff!important;
}

.blue {
	color: #0f1e58!important;
}

ul {
  margin: 0.5rem auto 1rem 0.25rem;
  padding-left: 0.5rem;
  list-style-type: none;
}

li {
   position: relative; 
  margin: auto;
  padding-left: 0.75rem;
}


li::before {
  position: absolute;
  top: 0;
  left: -0.7rem;
  content: "■";
  font-size: 0.6rem;
  color: #0f1e58;
} 



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

.hide {
  display: none;
}

    .hide_m {
      
    }

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

.flex div {
	border: 0.01rem #000 solid;
	padding: 0.25rem 2%;
}

div.flex_01 {
	border: 0.01rem #000 solid;
	background-color: aqua;
	
}
div.flex_02 {
	border: 0.01rem #000 solid;
	background-color: coral;
	
}

div.flex_03 {
	border: 0.01rem #000 solid;
	background-color: darkgray;
	
}

div.flex_03 {
	border: 0.01rem #000 solid;
	background-color: crimson;
	
}
.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 a {
  display: inline-block;
  background-color: #005b53;
  padding: 0.6rem 2.5rem 0.6rem 2.5rem;
  margin: 2rem auto;
  cursor: pointer;
  -webkit-border-radius: 1.5rem;
  border-radius: 1.5rem;
  border: 0.1rem solid #005b53;
  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: #7ebab5;
  text-decoration: none;
  color: #fff;
}

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




/* ---- slider mit 4 Bildern seitwärts ----- */

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

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

.slideshow-4-bilder li span {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    color: transparent;
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: none;
    opacity: 0;
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-animation: image-4-bilder 16s linear infinite;
    animation: image-4-bilder 16s linear infinite;
}

@keyframes image-4-bilder {
    0% {
        opacity: 1;
        transform: translateX(100%);
    }

    1% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(0);
    }

    26% {
        opacity: 1;
        transform: translateX(-100%);
    }

    27% {
        opacity: 0;
        transform: translateX(-100%);
    }
}

@-webkit-keyframes image-4-bilder {
    0% {
        opacity: 1;
        transform: translateX(100%);
    }

    1% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(0);
    }

    26% {
        opacity: 1;
        transform: translateX(-100%);
    }

    27% {
        opacity: 0;
        transform: translateX(-100%);
    }
}

.slideshow-4-bilder li {
    margin: 0;
    padding: 0;
    list-style: none;
}

.slideshow-4-bilder li:nth-child(1) span {}

.slideshow-4-bilder li:nth-child(2) span {
    -webkit-animation-delay: 4s;
    animation-delay: 4s;
}

.slideshow-4-bilder li:nth-child(3) span {
    -webkit-animation-delay: 8s;
    animation-delay: 8s;
}

.slideshow-4-bilder li:nth-child(4) span {
    -webkit-animation-delay: 12s;
    animation-delay: 12s;
}

ul.slideshow-4-bilder {
    margin: 0;
    padding: 0;
    list-style-type: none;
    list-style: none;
    border: 0;
}

.slideshow-4-bilder li::before {
    display: none;
}

/*
_______________________

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