@charset 'UTF-8';
/* nanum-gothic-regular - latin */
@font-face {
  font-family: 'Nanum Gothic';
  font-style: normal;
  font-weight: 400;
  font-display: fallback;
  src: local('NanumGothic'),
       url('../googlefonts/nanum-gothic-v16-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../googlefonts/nanum-gothic-v16-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nanum-gothic-700 - latin */
@font-face {
  font-family: 'Nanum Gothic';
  font-style: normal;
  font-weight: 700;
  font-display: fallback;
  src: local('NanumGothic Bold'), local('NanumGothic-Bold'),
       url('../googlefonts/nanum-gothic-v16-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../googlefonts/nanum-gothic-v16-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* nanum-gothic-800 - latin */
@font-face {
  font-family: 'Nanum Gothic';
  font-style: normal;
  font-weight: 800;
  font-display: fallback;
  src: local('NanumGothic ExtraBold'), local('NanumGothic-ExtraBold'),
       url('../googlefonts/nanum-gothic-v16-latin-800.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../googlefonts/nanum-gothic-v16-latin-800.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* Basics ------------------------------------------------------------------------- */
html {
  -webkit-text-size-adjust: 100%; /* iOS */
  -ms-text-size-adjust: 100%; /* IE */
  height: 100%;
}
body {
  padding: 0;
  margin: 0;
  font-family: 'Nanum Gothic', Helvetica, Sans-Serif;
  font-size: 18px;
  font-weight: 400;
  color: #666666;
  background: #FFFFFF;
  width: 100%;
  max-width: 1920px;
  line-height: 150%;
  margin: 0 auto 0;
}
form, h1, h2, h3, h4, h5, h6, img, div, p {
  position: relative;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
img {
  max-width: 100%;
  height: auto;
}
b, strong, span[style*="bold"] {
  font-weight: 600;
}
.iframe,
iframe {
  max-width: 100%;
  border: 0;
}
a img {
  border: none;
}
main.umrandung img {
  margin: 4px 20px;
}
/* Default Hyperlinks ------------------------------------------------------------------------- */
a:link, a:visited, a:hover, a:focus, a:active {
  color: #005BAA;
  text-decoration: none;
}
a:hover, a:focus, a:active {
  color: #000000;
}
/* Headlines ------------------------------------------------------------------------- */
.headline1 {
  font-family: 'Nanum Gothic', Helvetica, Sans-Serif;
  font-size: 1.944em;
  font-weight: 400;
  line-height: 150%;
  color: #005BAA;
  background-image: url("../images/underline.jpg");
  background-repeat: no-repeat;
  background-position: bottom left;
  margin-bottom: 20px;
  word-wrap: break-word;
  -moz-hyphens: auto;
  -o-hyphens: auto;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto; 
}
.headline2 {
  font-family: 'Nanum Gothic';
  font-size: 1.556em;
  font-weight: 400;
  line-height: 150%;
  color: #7BA71F;
  text-align: left;
  margin-bottom: 20px;
}
.headline2 a:link, .headline2 a:visited, .headline2 a:focus, .headline2 a:hover, .headline2 a:active {
  color: #005BAA;
}
.headline2 a:focus, .headline2 a:hover, .headline2 a:active {
  color: #000000;
}
.headline3 {
  font-family: 'Nanum Gothic';
  font-size: 1.556em;
  font-weight: 400;
  line-height: 150%;
  color: #EB5084;
  text-align: left;
  margin-bottom: 20px;
}
.headline4 {
  font-family: 'Nanum Gothic';
  font-size: 1.556em;
  font-weight: 400;
  line-height: 150%;
  color: #005BAA;
  text-align: left;
  margin-bottom: 20px;
}
.headline5 {
  font-family: 'Nanum Gothic';
  font-size: 1.556em;
  font-weight: 400;
  line-height: 150%;
  color: #314043;
  text-align: left;
  margin-bottom: 20px;
}
.logo-slider .headline2,
.logo-slider .headline3,
.logo-slider .headline4 {
  max-width: 1520px;
  width: 100%;
  margin: 0 auto 20px;
  padding: 0 50px;
}
.headline2 + .style1 {
  margin-top: 20px;
}
.headline3 + .style1 {
  margin-top: 20px;
}
.headline4 + .style1 {
  margin-top: 20px;
}
/* Layout -------------------------------------------------------------------------------- */
header.header {
  position: fixed;
  width: 100%;
  top: 0;
  max-width: 1920px;
}
header.header div.logo {
  margin: 10px 50px 0 50px;
  width: 200px;
  height: 78px;
  display: inline-block;
}
header.header div.logo svg {
  width: 100%;
  height: auto;
}
.sessioninfo {
  position: absolute;
  top: 50%;
  right: 40px;
  width: fit-content;
  max-width: 300px;
  max-height: 100%;
  margin-top: 5px;
  padding: 10px 20px;
  font-size: 0.78em;
  line-height: 140%;
  color: white;
  z-index: 100;
  background-color: rgb(123, 167, 31);
  text-align: right;
  transform: translate(0,-50%);
  overflow: hidden;
}
.sessioninfo div {
  justify-content: space-between;
  column-gap: 10px;
  display: flex;
}

.sessioninfo a {
  text-decoration: underline;
  color: #FFFFFF;
}
#sessionlogin {
  cursor: pointer;
}
.form-tabs {
  display: flex;
  width: 100%;
  margin-bottom: 40px;
  column-gap: 10px;
}
.form-tabs button {
  display: block;
  width: 100%;
  background: transparent;
  border: 0;
  padding: 15px;
  color: #333;
  font-family: 'Nanum Gothic', Helvetica, Sans-Serif;
  font-size: 0.9em;
  border-bottom: 3px solid #CCC;
  cursor: pointer;
  outline: none;
}
.form-tabs button.active {
  border-bottom: 3px solid #005BAA;
  font-weight: bold;
  color: #005BAA;
}
.form-tabs button.active::before, .form-tabs button.active::after {
  content: '•';
}
div.top-container {
  background-color: #FFFFFF;
  z-index: 100;
}
div.kopfbild-container {
  position: relative;
  background-color: #005BAA;
  margin-top: 100px;
  margin-bottom: 50px;
  width: 100%;
  max-width: 1920px;
}
div.kopfbild-container img {
  width: 100%;
  max-height: 400px;
  object-fit: cover;
}
body.session div.kopfbild-container {
  margin-top: 132px;
}

div.kopfbild-container.start div.kopfbild {
  opacity: 0;
}
div.kopfbild ul, div.kopfbild ul li {
  /*position: relative;*/
  list-style: none;
  padding: 0;
  margin: 0;
}
div.kopfbild-container img {
  display: block;
}
div.kopfbild img {
  display: block;
}


div.kopfbild ul li {
  background-position: top center;
  background-size: cover;
}

div.kopfbild-text {
  position: relative;
  padding: 0 0 0 0;
  line-height: 150%;
  
}
div.kopfbild-container.start div.kopfbild-text {
  opacity: 0;
  /*margin-top: -20px;*/
}
div.kopfbild-text ul, div.kopfbild-text ul li {
  list-style: none;
  padding: 0;
  margin: 0;
}
div.kopfbild-text .headline6,
div.kopfbild-text h6 {
  font-size: 1.944em;
  color: #FFFFFF;
  font-weight: 400;
  padding-top: 17px;
  padding: 18px 50px 25px;
  line-height: 150%;
  text-align: right;
  background-image: url("../images/kopfbildoverlay-schmal.jpg");
  background-repeat: no-repeat;
  background-position: bottom left;
}
div.kopfbild-text div.langtext {
  float: right;
  min-width: 300px;
  margin: 0 50px 0 50px;
  font-size: 1em;
  color: #FFFFFF;
  outline: none;
  text-align: right;
}
main.umrandung {
  width: 100%;
  max-width: 1920px;
}
div.main-bottom, div.main-top {
  margin-bottom: 60px;
}
div.content-container {
  width: 100%;
  max-width: 1520px;
  margin: 0 auto;
  padding: 0 50px;
  overflow: hidden;
}
div.smaller-width {
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
}
div.parallax-container {
  position: relative;
  max-width: 1920px;
  width: 100%;
  margin-bottom: 60px;
}
div.parallax {
  text-align: center;
  width: 100%;
  max-height: 340px;
  overflow: hidden;
}

div.logo-slider {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto 50px; 
  text-align: center;
}
div.logo-slider-gradient-left, div.logo-slider-gradient-right,
div.parallax-gradient-left, div.parallax-gradient-right {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 250px;
  background-image: url("../images/parallax-gradient-left.png");
  background-repeat: repeat-y;
  background-position: left;
}
div.logo-slider-gradient-right,
div.parallax-gradient-right {
  left: initial;
  right: 0;
  background-image: url("../images/parallax-gradient-right.png");
  background-position: right;
}
footer.footer {
  max-width: 1920px;
  width: 100%;
  background-color: #EB5084;
  min-height: 200px;
}
footer.footer .headline1, 
footer.footer .headline2,
footer.footer .headline3,
footer.footer .headline4  {
  color: #FFFFFF;
  margin-bottom: 10px;
}
div.footer-inner a:link, div.footer-inner a:visited, div.footer-inner a:focus, div.footer-inner a:hover, div.footer-inner a:active {
  color: #CCC;
}
div.footer-inner a:focus, div.footer-inner a:hover, div.footer-inner a:active {
  color: #666;
}

div.footer-inner {
  position: relative;
  max-width: 1380px;
  width: 100%;
  margin: 0 auto;
  padding: 20px 20px 10px 20px;
}
div.footer-content-container {
  width: 100%;
  color: #FFFFFF;
  font-size: 0.889em;
}
div.footer-after {
  position: relative;
  width: 75%;
  padding: 3px 0 0 100px;
  font-size: 0.7em;
  text-align: left;
  color: #CCC;
  margin: 0 0 20px 0;
  display: inline-block;
}
div.quickmenu {
  width: 100%;
  text-align: left;
}

a.button {
  display: inline-block;
  padding: 7px 18px;
  margin: 5px 0;
  background-color: #005BAA;
  border-radius: 3px;
  color: #FFF;
  font-size: 0.9em;
}
a.button.schmal {
  margin: 0;
  font-size: 0.9em;
  padding: 5px 10px;
  line-height: 150%;
}
a.button:hover, a.button:focus, a.button:active {
  background-color: #004078;
}


button.red, button.blue {
  margin: 0;
  padding: 5px 10px;
  border: 0;
  border-radius: 3px;
  background-color: #c30b0e;
  font-size: 0.9em;
  color: #FFF;
  cursor: pointer;
  display: inline-block;
}
button.red:hover, button.blue:hover {
  background-color: #e10c10;
}

button.blue {
  background-color: #005BAA;
}
button.blue:hover {
  background-color: #004078;
}
button.red[disabled], button.blue[disabled] {
  background-color: #CCC;
  cursor: default;
}

div.breadcrumb {
  padding: 0 0 10px 0;
  border-bottom: 1px solid #CCC;
  margin-bottom: 30px;
}

div.anmerkungen {
  position: relative;
  border: 2px dashed orange;
  margin-top: 10px;
  padding: 7px 15px;
  font-size: 0.8em;
}
#anmeldebutton {
  display: block;
  margin: 10px 0 0 0;
}
#anmeldebutton.anmeldeinfo {
  border: 1px solid #FFF;
  padding: 5px 10px;
  background: rgba(255,255,255,0.1);
}
#anmeldebutton.anmeldeinfo::before {
  display: inline-block;
  margin-right: 10px;
  content: '\1f6c8';
  font-size: 16px;
}
#anmeldebutton button {
  border: 2px solid #FFF;
  border-radius: 3px;
  padding: 10px 25px;
  font-family: 'Nanum Gothic', Helvetica, Sans-Serif;
  color: #FFF;
  background: transparent;
  font-weight: bold;
  text-transform: uppercase;
  cursor: pointer;
}
#anmeldebutton button:hover {
  opacity: 0.7;
}

.preloader {
  position: relative;
  width: 80px;
  height: 18px;
  display: inline-block;
}
.preloader div {
  position: absolute;
  top: 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.preloader div:nth-child(1) {
  left: 8px;
  animation: preloader1 0.6s infinite;
}
.preloader div:nth-child(2) {
  left: 8px;
  animation: preloader2 0.6s infinite;
}
.preloader div:nth-child(3) {
  left: 32px;
  animation: preloader2 0.6s infinite;
}
.preloader div:nth-child(4) {
  left: 56px;
  animation: preloader3 0.6s infinite;
}
@keyframes preloader1 {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes preloader2 {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(24px, 0);
  }
}
@keyframes preloader3 {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0);
  }
}

#filters {
  display: flex;
  column-gap: 10px;
  flex-wrap: wrap;
}
#filters:empty {
  display: none;
}
.filter {
  display: inline-block;
  background-color: #CCC;
  padding: 3px 15px;
  font-size: 0.8em;
  color: #666;
  border-radius: 5px;
  cursor: pointer;
}
.filter.active {
  background-color: rgb(123,167,31);
  color: white;
}
.filter span {
  display: none;
}
.filter.active span {
  display: inline-block;
  padding: 0 0 0 10px;
}

.hidebyclass {
  display: none;
}
.hidebykl {
  display: none;
}

/* Styles ------------------------------------------------------------------------- */
div.style1 {
  display: flex;
  width: 100%;
  justify-content: space-between;
  margin-top: 50px;
  margin-bottom: 50px;
}
div.style1:last-of-type {
  margin-bottom: 0;
}
div.style1 div.style2, div.style1 div.style3, div.style1 div.style4, div.style1 div.style5 {
  flex: 1 1 30%;
}
div.style3 {
  background-color: rgb(0,91,170);
  background-size: cover;
  background-position: center;
  font-size: 0.8em;
  color: #FFFFFF;
  padding: 10px;
}
div.style4 {
  background-color: rgb(235,80,132);
  background-size: cover;
  background-position: center;
  font-size: 0.8em;
  color: #FFFFFF;
  padding: 10px;
} 
div.style5 {
  background-color: rgb(123,167,31);
  background-size: cover;
  background-position: center;
  font-size: 0.8em;
  color: #FFFFFF;
  padding: 10px;
}
div.rahmenlos img {
  width: calc( 100% + 20px );
  max-width: none;
  margin: -10px 0 0 -10px !important;
}
div.inner-style{
  width: 100%;
  height: 100%;
  padding: 10px;
}
div.style3 .headline1, 
div.style3 .headline2,
div.style3 .headline3,
div.style3 .headline4,
div.style4 .headline1, 
div.style4 .headline2,
div.style4 .headline3,
div.style4 .headline4,
div.style5 .headline1, 
div.style5 .headline2,
div.style5 .headline3,
div.style5 .headline4  {
  color: #FFFFFF;
}
div.style1 div.style2 + div.style2 {
  margin-left: 50px;
}
div.style1 div.style2 + div.style3, 
div.style1 div.style2 + div.style4,
div.style1 div.style2 + div.style5,
div.style1 div.style3 + div.style2,
div.style1 div.style3 + div.style3, 
div.style1 div.style3 + div.style4,
div.style1 div.style3 + div.style5, 
div.style1 div.style4 + div.style2,
div.style1 div.style4 + div.style3, 
div.style1 div.style4 + div.style4,
div.style1 div.style4 + div.style5,
div.style1 div.style5 + div.style2,
div.style1 div.style5 + div.style3, 
div.style1 div.style5 + div.style4,
div.style1 div.style5 + div.style5  {
  margin-left: 30px;
}
main.start div.style1 div.style3,
main.start div.style1 div.style4,
main.start div.style1 div.style5 {
  opacity: 0;
  padding: 30px;
  font-size: 1em;
}
main.start div.style1 div.animate {
  animation-name: show;
  animation-duration: 4s;
  animation-fill-mode: forwards;
}
main.start div.style1 div.animate:first-of-type {
  animation-name: show;
  animation-duration: 2s;
  animation-fill-mode: forwards;
}
main.start div.style1 div.animate:last-of-type {
  animation-name: show;
  animation-duration: 6s;
  animation-fill-mode: forwards;
}
@keyframes show {
  from { opacity: 0; }
  to { opacity: 1; }
}
div.style3 a:link, div.style3 a:visited, div.style3 a:focus, div.style3 a:hover, div.style3 a:active, 
div.style4 a:link, div.style4 a:visited, div.style4 a:focus, div.style4 a:hover, div.style4 a:active, 
div.style5 a:link, div.style5 a:visited, div.style5 a:focus, div.style5 a:hover, div.style5 a:active  {
  color: #CCCCCC;
}
div.style3 a:focus, div.style3 a:hover, div.style3 a:active, 
div.style4 a:focus, div.style4 a:hover, div.style4 a:active, 
div.style5 a:focus, div.style5 a:hover, div.style5 a:active {
  color: #000000;
}
div.style6 {
  display: inline-block;
}
div.style6:after {
  content: "/";
}

main.umrandung img.style-top-image {
  width: 100%;
  margin: 0 ;
  padding: 0;
  display: block;
  object-fit: cover;
  background: #F2F2F2;
}

main.umrandung div.style-head {
  position: relative;
}

main.umrandung div.style-head .headline2 {
  color: #FFFFFF;
  width: calc(100% - 20px);
  position: absolute;
  bottom: 0;
  padding: 10px;
  margin: 0;
  text-shadow:  1px  1px 1px black,
  1px -1px 1px black,
  -1px  1px 1px black,
  -1px -1px 1px black;
}

main.umrandung div.style-head .headline2 a {
  color: #FFFFFF;
  width: calc(100% - 20px);
  position: absolute;
  bottom: 0;
  padding: 10px;
  margin: 0;
  text-shadow:  1px  1px 1px black,
  1px -1px 1px black,
  -1px  1px 1px black,
  -1px -1px 1px black;
}

div.kurse-overview, div.kurse-modul,
div.partnerangebote-overview, div.partnerangebote-modul{
  display: grid;
  margin-top: 30px;
  grid-template-columns: repeat( 3, minmax(0,1fr ));
  column-gap: 30px;
  row-gap: 30px;
  grid-auto-flow: dense;
}
div.kurs-bild,
div.partnerangebot-bild {
  font-size: 0.8em;
}
div.kurs-bild img,
div.partnerangebot-bild img {
  margin: 0;
}
div.preview .kurs-bild img,
div.preview .partnerangebot-bild img {
  object-fit: cover;
  width: 460px;
  height: 250px;
}
div.kurs-bild .headline2,
div.partnerangebot-bild .headline2 {
  position: absolute;
  padding: 0 20px;
  bottom: 0;
  color: #FFFFFF;
}
div.kurs-bild .headline2 a,
div.partnerangebot-bild .headline2 a {
  color: #FFFFFF;
  text-shadow:  1px  1px 1px black,
  1px -1px 1px black,
  -1px  1px 1px black,
  -1px -1px 1px black;
}
div.kurs-text,
div.partnerangebot-text {
  font-size: 0.8em;
  color: #FFFFFF;
  padding: 0 10px 10px 10px;
}
div.kurs.nurtext,
div.partnerangebot.nurtext {
  font-size: 0.8em;
  color: #FFFFFF;
  padding: 10px;
}
div.kurs.nurtext .headline2,
div.kurs.nurtext a,
div.partnerangebot.nurtext .headline2,
div.partnerangebot.nurtext a {
    color: #CCC;
}
div.kurs.nurtext .headline2,
div.partnerangebot.nurtext .headline2 {
  text-align: center;
}

div.kurse-overview div.kurs,
div.preview div.kurs,
div.kurse-modul div.kurs,
div.partnerangebote-overview div.partnerangebot,
div.preview div.partnerangebot,
div.partnerangebote-modul div.partnerangebot {
  background-color: #bebebe;
}

div.kurse-overview div.kurs[data-category="22"],
div.preview div.kurs[data-category="22"],
#forms5_detail .preview .style3[data-category="22"],
div.kurse-modul div.kurs[data-category="22"],
div.partnerangebote-overview div.partnerangebot[data-category="30"],
div.preview div.partnerangebot[data-category="30"],
#forms13_detail .preview .style3[data-category="30"],
div.partnerangebote-modul div.partnerangebot[data-category="30"] {
  background-color: rgb(0,91,170);
}
div.kurse-overview div.kurs[data-category="22"],
div.partnerangebote-overview div.partnerangebot[data-category="30"] {
    grid-column: 1 / 2;
}
div.kurse-overview div.kurs[data-category="23"],
div.preview div.kurs[data-category="23"],
#forms5_detail .preview .style3[data-category="23"],
div.kurse-modul div.kurs[data-category="23"],
div.partnerangebote-overview div.partnerangebot[data-category="31"],
div.preview div.partnerangebot[data-category="31"],
#forms13_detail .preview .style3[data-category="31"],
div.partnerangebote-modul div.partnerangebot[data-category="31"] {
  background-color: rgb(123,167,31);
}
div.kurse-overview div.kurs[data-category="23"],
div.partnerangebote-overview div.partnerangebot[data-category="31"] {
  grid-column: 2 / 3;
}
div.kurse-overview div.kurs[data-category="24"],
div.preview div.kurs[data-category="24"],
#forms5_detail .preview .style3[data-category="24"],
div.kurse-modul div.kurs[data-category="24"],
div.partnerangebote-overview div.partnerangebot[data-category="32"],
div.preview div.partnerangebot[data-category="32"],
#forms13_detail .preview .style3[data-category="32"],
div.partnerangebote-modul div.partnerangebot[data-category="32"] {
  background-color: rgb(235,80,132);
}
div.kurse-overview div.kurs[data-category="24"],
div.partnerangebote-overview div.partnerangebot[data-category="32"] {
  grid-column: 3 / 4;
}

div.partnerangebote-detail {
  display: grid;
  grid-template-columns: 1fr 1fr;
  row-gap: 0;
  column-gap: 50px;
}
div.partnerangebote-detail-content:first-child > .headline1 {
  margin-bottom: 0;
}

div.partnerbox {
  display: flex;
  border: 2px solid #F2F2F2;
  padding: 10px;
  margin-bottom: 30px;
  column-gap: 20px;
  align-items: center;
}
div.partnerbox-logo {
  max-width: 200px;
}
div.partnerbox-logo img {
  margin: 0;
  vertical-align: bottom;
}
div.partnerbox-content {
  line-height: 150%;
}

/* Menü --------------------------------------------------------------------------- */
header.header nav.mainmenu {
  position: relative;
  display: inline-block;
  width: calc(100% - 350px);
  margin-right: 50px;
  margin-top: 20px;
  font-family: 'Nanum Gothic', Helvetica, Sans-Serif;
  background-color: #FFFFFF;
  font-weight: 400;
  z-index: 100;
  transition: background-color 0.5s;
  vertical-align: top;
}
nav.mainmenu.menopen {
  background-color: #FFFFFF;
}
header.header.fixed div.menu-container {
  height: calc( 100vh - 50px );
}
div.menu-overlay {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 1920px;
  height: 100vh;
  background: rgba(0,0,0,0.5);
  z-index: 99;
}
div.menu-container {
  position: relative;
  display: none;
  width: 100%;
  max-width: 1200px;
  margin: 1px auto 0;
  height: 100vh;
  overflow: auto;
  z-index: 102;
}
#menu {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
#menu .col {
  position: absolute;
  top: 0;
  left: 0;
  width: calc( 33.33% - 1px );
  height: 100%;
  border-right: 1px solid #CCC;
  background: #FFF;
  overflow: auto;
}
#menu ul, #menu li {
  position: relative;
  padding: 0;
  margin: 0;
  list-style: none;
  background: none;
}
#menu ul {
  margin: 40px 20px 40px 20px;
}
#menu ul li:first-of-type {
  border-bottom: 1px solid #ccc;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
#menu ul li a, #menu ul li strong {
  display: block;
  font-weight: 300;
  padding: 15px 20px;
  color: #333;
}
#menu ul li a:hover, #menu ul li strong, #menu ul li.hasSub:hover, #menu ul li.active, #menu ul li.active a, #menu ul li a.menu-list-marked {
  color: #005BAA;
}
#menu ul li ul {
  display: none;
}
nav.mainmenu ul li.hasSub a:after {
  content: '';
  background-image:  url('../images/pfeil-runter.png');
  background-size: cover;
  width: 8px;
  height: 10px;
  cursor: pointer;
  margin-left: 5px;
  vertical-align: middle;
  display: inline-block;
}
nav.mainmenu ul li.hasSub a:hover:after {
  content: '';
  background-image:  url('../images/pfeil-hover.png');
  background-size: cover;
  width: 8px;
  height: 10px;
  cursor: pointer;
  margin-left: 5px;
  vertical-align: middle;
  display: inline-block;
}
nav.mainmenu ul li.hasSub a.active:after {
  content: '';
  background-image:  url('../images/pfeil-rauf.png');
  background-size: cover;
  width: 8px;
  height: 10px;
  cursor: pointer;
  margin-left: 5px;
  vertical-align: middle;
  display: inline-block;
}
#menu ul li.hasSub a:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  cursor: pointer;
  font-weight: bold;
  transition: 150ms;
  transform: translate(0,-50%);
  -webkit-transform: translate(0,-50%);
  display: block;
  border: 7px solid transparent;
  border-right: 0;
  border-left: 8px solid #999;
  content: '';
}
#menu ul li.hasSub.active a:after {
  right: 0;
  border-left: 8px solid #005BAA;
}
div.menu-container-back {
  display: none;
  position: fixed;
  top: 150px;
  left: 0;
  padding: 30px 10px;
  cursor: pointer;
  z-index: 110;
  background: #F1F1F1;
  width: 30px;
}
/*
div.menu-container-close {
  position: fixed;
  top: 105px;
  right: 10px;
  padding: 10px 10px;
  cursor: pointer;
  z-index: 110;
  background: transparent;
  // width: 30px;
  font-size: 30px;
  color: #FFFFFF;
}
*/
div.menu-container-close {
  position: absolute;
  top: 5px;
  left: 0;
  padding: 10px 10px;
  cursor: pointer;
  z-index: 110;
  background: #F1F1F1;
  width: 30px;
  color: #005BAA;
}

div.menu-container-back:after {
  display: block;
  border: 7px solid transparent;
  border-left: 0;
  border-right: 8px solid #005BAA;
  content: '';
}
nav.mainmenu ul, nav.mainmenu li {
  padding: 0;
  margin: 0;
}
nav.mainmenu li {
  display: block;
  float: left;
  padding: 16px 20px;
}
nav.mainmenu ul li ul {
  display: none;
}
nav.mainmenu li a:link, nav.mainmenu li a:visited, nav.mainmenu li a:focus, nav.mainmenu li a:hover, nav.mainmenu li a:active, nav.mainmenu li a.menu-list-marked, nav.mainmenu li strong {
  display: block;
  font-weight: 400;
  font-size: 1em;
  color: #000000;
}
nav.mainmenu li a:focus, nav.mainmenu li a:hover, nav.mainmenu li a:active, nav.mainmenu li a.menu-list-marked, nav.mainmenu li strong {
  color: #005BAA;
}
nav.mainmenu li:first-child a {
  border-left: 0;
  padding-left: 0;
}
a.mainmenu-switch {
  display: none;
}
div.menu-switch-icon {
  position: relative;
  display: inline-block;
  margin-right: 10px;
  width: 24px;
  height: 24px;
  vertical-align: middle;
}
div.menu-switch-icon span {
  position: absolute;
  top: 4px;
  left: 0;
  width: 100%;
  height: 3px;
  background: #000;
  transition: 300ms;
}
div.menu-switch-icon span:nth-child(2) {
  top: 10px;
}
div.menu-switch-icon span:nth-child(3) {
  top: 16px;
}
a.mainmenu-switch.open div.menu-switch-icon span:nth-child(1) {
  top: 11px;
  transform: rotate(45deg);
}
a.mainmenu-switch.open div.menu-switch-icon span:nth-child(2) {
  width: 0;
  opacity: 0;
}
a.mainmenu-switch.open div.menu-switch-icon span:nth-child(3) {
  top: 11px;
  transform: rotate(-45deg);
}
/* News ------------------------------------------------------------------------- */
.start div.news {
  flex: 0 1 45%;
  margin-right: 5%;
}
.start div.news + div.news {
  margin-right: 0;
  margin-left: 5%;
}
.start  div.news .headline2 {
  margin-bottom: 10px;
  background-image: none;
}
.start  div.news .headline2 a {
  display: block;
}
.start  div.news .headline2 a:after{
  content:' >>>';
  font-size: 0.7em;
}
.start  div.news small {
  display: inline-block;
  color: #666;
  font-size: 0.9em;
  position: absolute;
  top: 0;
  left: 0;
  padding: 5px;
  background-color: #ffffff;
  border-radius: 0 0 10px 0;
}
.start div.news img {
  margin: 0 0 10px 0;
}
/* News ------------------------------------------------------------------------- */
.smaller-width div.news {
  position: relative;
}
.smaller-width div.news + div.news {
  padding-top: 30px;
  margin-top: 30px;
}
.smaller-width div.news .headline2 {
  margin-bottom: 10px;
  background-image: none;
}
.smaller-width div.news small {
  display: inline-block;
  color: #666;
  font-size: 0.9em;
  padding: 0 0 5px 0;
}
.smaller-width div.news-image {
  position: relative;
  max-width: calc( 45% - 40px );
  padding: 20px;
  margin: 0 13% 0 0;
  -webkit-box-shadow: 0 1px 10px 2px #ccc;
  box-shadow: 0 0 10px 2px #ccc;
  float: left;
  text-align: center;
  background: #FFFFFF;
}
.smaller-width div.news-image:after {
  display: block;
  clear: both;
  content: '';
}
.smaller-width div.news img {
  margin: 4px 20px;
}
/* Modul Navigation ------------------------------------------------------------------------- */
div.pagenav {
  margin: 20px 0;
}
a.modul-pagebutton:link, a.modul-pagebutton:visited, a.modul-pagebutton:focus, a.modul-pagebutton:hover, a.modul-pagebutton:active, div.modul-pagebutton-inactive, div.modul-pagebutton-seperator, 
a.modul-pagebutton-marked:link, a.modul-pagebutton-marked:visited, a.modul-pagebutton-marked:focus, a.modul-pagebutton-marked:hover, a.modul-pagebutton-marked:active {
  position: relative;
  display: inline-block;
  padding: 0.3em 0.8em 0.3em 0.8em;
  margin: 0.3em 0.2em 0.4em 0.2em;
  font-size: 0.9em;
  font-style: normal;
  color: #FFF;
  cursor: pointer;
  float: left;
  background: #005BAA;
}
a.modul-pagebutton:focus, a.modul-pagebutton:hover, a.modul-pagebutton:active,
a.modul-pagebutton-marked:link, a.modul-pagebutton-marked:visited, a.modul-pagebutton-marked:focus, a.modul-pagebutton-marked:hover, a.modul-pagebutton-marked:active {
  color: #FFF;
  background: rgb(0,69,129);
}
a.modul-pagebutton:first-child, div.modul-pagebutton-inactive:first-child {
  margin-left: 0;
}
div.modul-pagebutton-inactive, div.modul-pagebutton-seperator {
  color: #CCC;
  background: #F0F0F0;
  cursor: default;
}
div.modul-pages {
  position: relative;
  text-align: center;
  float: left;
}
a.modul-page:link, a.modul-page:visited, a.modul-page:focus, a.modul-page:hover, a.modul-page:active, div.modul-page-inactive, div.modul-page-seperator, 
a.modul-page-marked:link, a.modul-page-marked:visited, a.modul-page-marked:focus, a.modul-page-marked:hover, a.modul-page-marked:active {
  position: relative;
  display: inline-block;
  padding: 0.4em 10px;
  margin: 0.3em 0.2em 0.8em 0.2em;
  font-weight: bold;
  font-size: 1em;
  font-style: normal;
  color: #185D9A;
  cursor: pointer;
  float: left;
  background: rgba(0,0,0,0.05);
  border-radius: 5px;
}
a.modul-page:focus, a.modul-page:hover, a.modul-page:active,
a.modul-page-marked:link, a.modul-page-marked:visited, a.modul-page-marked:focus, a.modul-page-marked:hover, a.modul-page-marked:active {
  color: #666;
  font-weight: bold;
}
div.modul-numall, div.modul-position {
  position: relative;
  padding: 0.6em 0;
  float: right;
  font-weight: 400;
  font-style: normal;
  text-decoration: none;
  color: #666;
}
div.modul-position {
  padding: 0.6em 1em;
  float: left;
}
div.modul-navigation {
  display: flex;
  position: relative;
  justify-content: space-between;
  margin: 0 0 20px 0;
  padding: 0;
  flex-wrap: wrap;
}
/* Image Alignments ------------------------------------------------------------------------- */
div.image   {
  min-width:  100px;
  margin-top: 7px;
  margin-bottom: 4px;
  margin-left:  5px;
  margin-right:  14px;
}
div.image-left   {
  min-width:  100px;
  margin-top: 7px;
  margin-bottom: 4px;
  margin-left:  0;
  margin-right:  14px;
  float: left;
}
div.image-right   {
  min-width:  100px;
  margin-top: 7px;
  margin-bottom: 4px;
  margin-left:  9px;
  margin-right:  0;
  float: right;
}
div.image-center   {
  width:  100%;
  text-align: center;
  margin-top: 10px;
  margin-bottom: 7px;
}
div.image, div.image-left, div.image-right, div.image-center {
  font-size: 0.8em;
}
div.image img, div.image-left img, div.image-right img, div.image-center img {
  margin: 0;
  padding: 0;
}
/* Listen ------------------------------------------------------------------------- */
ul {
  margin: 0;
  margin-top: 10px;
  margin-left: 5px;
  margin-bottom: 5px;
  padding: 0;
}
ol {
  margin: 0;
  margin-top: 10px;
  margin-left: 20px;
  margin-bottom: 5px;
  padding: 0;
}
li {
  margin: 0;
  margin-left: 15px;
  margin-bottom: 5px;
  padding: 0 0 0 5px;
}
/* By Cybox Zeile ------------------------------------------------------------------------- */
div.by-cybox {
  position: relative;
  width: 100%;
  max-width: 1380px;
  font-size: 0.7em;
  text-align: right;
  color: #EB5084;
  margin: 0 auto;
  padding: 0 20px;
}
div.by-cybox a:link, div.by-cybox a:visited, div.by-cybox a:focus, div.by-cybox a:hover, div.by-cybox a:active {
  color: #EB5084;
}
div.by-cybox a:focus, div.by-cybox a:hover, div.by-cybox a:active {
  color: #EB5084;
}
div.by-cybox a.by-cybox:link, div.by-cybox a.by-cybox:visited, div.by-cybox a.by-cybox:hover, div.by-cybox a.by-cybox:focus, div.by-cybox a.by-cybox:active, div.by-cybox span.by-cybox {
  color: #CCC;
}
div.by-cybox a.by-cybox:hover, div.by-cybox a.by-cybox:focus, div.by-cybox a.by-cybox:active {
  color: #666;
}
/* Cyres Editor Fixes ------------------------------------------------------------------------- */
.unsichtbar, dfn {
  position:absolute;
  left:-1000px;
  top:-1000px;
  width:0;
  height:0;
  overflow:hidden;
  display:inline;
}
.clear {
  padding: 0;
  margin: 0;
  height: 0;
  width: 0;
  clear: both;
}
.scrollbar-measure {
  width: 100px;
  height: 100px;
  overflow: scroll;
  position: absolute;
  top: -9999px;
}
/* Magnific Popup - CSS ------------------------------------------------------------------------- */
.mfp-bg,.mfp-wrap{position:fixed;left:0;top:0}.mfp-bg,.mfp-container,.mfp-wrap{height:100%;width:100%}.mfp-container:before,.mfp-figure:after{content:''}.mfp-bg{z-index:1042;overflow:hidden;background:#0b0b0b;opacity:.8;filter:alpha(opacity=80)}.mfp-wrap{z-index:1043;outline:0!important;-webkit-backface-visibility:hidden}.mfp-container{text-align:center;position:absolute;left:0;top:0;padding:0 8px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mfp-container:before{display:inline-block;height:100%;vertical-align:middle}.mfp-align-top .mfp-container:before{display:none}.mfp-content{position:relative;display:inline-block;vertical-align:middle;margin:0 auto;text-align:left;z-index:1045}.mfp-close,.mfp-preloader{text-align:center;position:absolute}.mfp-ajax-holder .mfp-content,.mfp-inline-holder .mfp-content{width:100%;cursor:auto}.mfp-ajax-cur{cursor:progress}.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:-moz-zoom-out;cursor:-webkit-zoom-out;cursor:zoom-out}.mfp-zoom{cursor:pointer;cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.mfp-auto-cursor .mfp-content{cursor:auto}.mfp-arrow,.mfp-close,.mfp-counter,.mfp-preloader{-webkit-user-select:none;-moz-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none!important}.mfp-preloader{color:#CCC;top:50%;width:auto;margin-top:-.8em;left:8px;right:8px;z-index:1044}.mfp-preloader a{color:#CCC}.mfp-close,.mfp-preloader a:hover{color:#FFF}.mfp-s-error .mfp-content,.mfp-s-ready .mfp-preloader{display:none}button.mfp-arrow,button.mfp-close{overflow:visible;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;display:block;outline:0;padding:0;z-index:1046;-webkit-box-shadow:none;box-shadow:none}button::-moz-focus-inner{padding:0;border:0}.mfp-close{width:44px;height:44px;line-height:44px;right:0;top:0;text-decoration:none;opacity:.65;filter:alpha(opacity=65);padding:0 0 18px 10px;font-style:normal;font-size:28px;font-family:Arial,Baskerville,monospace}.mfp-close:focus,.mfp-close:hover{opacity:1;filter:alpha(opacity=100)}.mfp-close:active{top:1px}.mfp-close-btn-in .mfp-close{color:#333}.mfp-iframe-holder .mfp-close,.mfp-image-holder .mfp-close{color:#FFF;right:-6px;text-align:right;padding-right:6px;width:100%}.mfp-counter{position:absolute;top:0;right:0;color:#CCC;font-size:12px;line-height:18px;white-space:nowrap}.mfp-figure,img.mfp-img{line-height:0}.mfp-arrow{position:absolute;opacity:.65;filter:alpha(opacity=65);margin:-55px 0 0;top:50%;padding:0;width:90px;height:110px;-webkit-tap-highlight-color:transparent}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:focus,.mfp-arrow:hover{opacity:1;filter:alpha(opacity=100)}.mfp-arrow .mfp-a,.mfp-arrow .mfp-b,.mfp-arrow:after,.mfp-arrow:before{content:'';display:block;width:0;height:0;position:absolute;left:0;top:0;margin-top:35px;margin-left:35px;border:inset transparent}.mfp-arrow .mfp-a,.mfp-arrow:after{border-top-width:13px;border-bottom-width:13px;top:8px}.mfp-arrow .mfp-b,.mfp-arrow:before{border-top-width:21px;border-bottom-width:21px;opacity:.7}.mfp-arrow-left{left:0}.mfp-arrow-left .mfp-a,.mfp-arrow-left:after{border-right:17px solid #FFF;margin-left:31px}.mfp-arrow-left .mfp-b,.mfp-arrow-left:before{margin-left:25px;border-right:27px solid #3F3F3F}.mfp-arrow-right{right:0}.mfp-arrow-right .mfp-a,.mfp-arrow-right:after{border-left:17px solid #FFF;margin-left:39px}.mfp-arrow-right .mfp-b,.mfp-arrow-right:before{border-left:27px solid #3F3F3F}.mfp-iframe-holder{padding-top:40px;padding-bottom:40px}.mfp-iframe-holder .mfp-content{line-height:0;width:100%;max-width:900px}.mfp-image-holder .mfp-content,img.mfp-img{max-width:100%}.mfp-iframe-holder .mfp-close{top:-40px}.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}.mfp-iframe-scaler iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;box-shadow:0 0 8px rgba(0,0,0,.6);background:#000}.mfp-figure:after,img.mfp-img{width:auto;height:auto;display:block}img.mfp-img{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:40px 0;margin:0 auto}.mfp-figure:after{position:absolute;left:0;top:40px;bottom:40px;right:0;z-index:-1;box-shadow:0 0 8px rgba(0,0,0,.6);background:#444}.mfp-figure small{color:#BDBDBD;display:block;font-size:12px;line-height:14px}.mfp-figure figure{margin:0}.mfp-bottom-bar{margin-top:-36px;position:absolute;top:100%;left:0;width:100%;cursor:auto}.mfp-title{text-align:left;line-height:18px;color:#F3F3F3;word-wrap:break-word;padding-right:36px}.mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}@media screen and (max-width:800px) and (orientation:landscape),screen and (max-height:300px){.mfp-img-mobile .mfp-image-holder{padding-left:0;padding-right:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{top:0;bottom:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-left:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,.6);bottom:0;margin:0;top:auto;padding:3px 5px;position:fixed;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{right:5px;top:3px}.mfp-img-mobile .mfp-close{top:0;right:0;width:35px;height:35px;line-height:35px;background:rgba(0,0,0,.6);position:fixed;text-align:center;padding:0}}@media all and (max-width:900px){.mfp-arrow{-webkit-transform:scale(.75);transform:scale(.75)}.mfp-arrow-left{-webkit-transform-origin:0;transform-origin:0}.mfp-arrow-right{-webkit-transform-origin:100%;transform-origin:100%}.mfp-container{padding-left:6px;padding-right:6px}}.mfp-ie7 .mfp-img{padding:0}.mfp-ie7 .mfp-bottom-bar{width:600px;left:50%;margin-left:-300px;margin-top:5px;padding-bottom:5px}.mfp-ie7 .mfp-container{padding:0}.mfp-ie7 .mfp-content{padding-top:44px}.mfp-ie7 .mfp-close{top:0;right:0;padding-top:0}
/* Slick Slider ------------------------------------------------------------- */
/* Slider */
/* Icons */
@font-face
{
    font-family: 'slick';
    font-weight: normal;
    font-style: normal;
    src: url('../others/slickfonts/slick.eot');
    src: url('../others/slickfonts/slick.eot?#iefix') format('embedded-opentype'), url('../others/slickfonts/slick.woff') format('woff'), url('../others/slickfonts/slick.ttf') format('truetype'), url('../others/slickfonts/slick.svg#slick') format('svg');
}
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}
.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}
.slick-list:focus {
    outline: none;
}
.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}
.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after {
    display: table;
    content: '';
}
.slick-track:after {
    clear: both;
}
.slick-loading .slick-track {
    visibility: hidden;
}
.slick-slide {
    display: none;
    float: left;
    min-height: 1px;
    margin: 0;
    padding: 0;
    outline: none;
}
[dir='rtl'] .slick-slide {
    float: right;
}
.slick-slide img {
    display: block;
}
.logo-slider .slick-slide img {
    display: initial;
}
.slick-slide.slick-loading img {
    display: none;
}
.slick-slide.dragging img {
    pointer-events: none;
}
.slick-initialized .slick-slide {
    display: block;
}
.slick-loading .slick-slide {
    visibility: hidden;
}
.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}
.slick-loading .slick-list {
    background: #fff url('../images/ajax-loader.gif') center center no-repeat;
}
/* Arrows */
.slick-prev,
.slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: 50px;
    height: 50px;
    padding: 0;
    -webkit-transform: translate(0, -25%);
    -ms-transform: translate(0, -25%);
    transform: translate(0, -25%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
    z-index: 99;
    transition: top 1s, opacity 1s; 
    opacity: 0;
}
.logo-slider .slick-prev,
.logo-slider .slick-next {
    top: initial;
    bottom: 20px;
    opacity: 1;
}
.logo-slider:hover .slick-prev,
.logo-slider:hover .slick-next,
.kopfbild-container:hover .slick-prev,
.kopfbild-container:hover .slick-next {
  opacity: 1;
  transition: opacity 1s; 
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
    color: transparent;
    outline: none;
    background: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
    opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
    opacity: .25;
}
.slick-prev:before,
.slick-next:before {
    font-family: 'slick';
    font-size: 50px;
    line-height: 1;
    opacity: .75;
    color: white;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.logo-slider .slick-prev:before, 
.logo-slider .slick-next:before {
  color: #999999;
}
.slick-prev {
    left: 25px;
}
[dir='rtl'] .slick-prev {
    right: -25px;
    left: auto;
}
.slick-prev:before {
    content: '←';
}
[dir='rtl'] .slick-prev:before {
    content: '→';
}
.slick-next {
    right: 25px;
}
[dir='rtl'] .slick-next {
    right: auto;
    left: -25px;
}
.slick-next:before {
    content: '→';
}
[dir='rtl'] .slick-next:before {
    content: '←';
}
/* Dots */
.slick-dots {
  position: absolute;
  bottom: 13px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 0;
  margin-right: 10px !important;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  line-height: 0;
  display: block;
  width: 20px;
  height: 20px;
  padding: 10px;
  cursor: pointer;
  color: transparent;
  border: 2px solid #FFFFFF;
  border-radius: 100%;
  background-color: #005BAA;
  text-align: center;
  outline: none;
}
.slick-dots li.slick-active button,
.slick-dots li button:hover,
.slick-dots li button:focus {
  border: 2px solid #005BAA;
  background-color: #FFFFFF;
  border-radius: 100%;
  outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
  border-radius: 100%;
  outline: none;
}
.slick-dots li button:before {
  line-height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  content: '';
  text-align: center;
  outline: none;
  color: #005BAA;
}
.slick-dots li.slick-active button:before {
  color: #005BAA;
  background-color: #FFFFFF;
  border-radius: 100%;
  margin-top: 2px;
  margin-left: 2px;
  outline: none;
}


#popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1001;
}
#popup_bg {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: rgba(255,255,255,0.7);
}

#popup #popup_loginform, #popup #popup_pwform, #popup #popup_pwforgottenform, #popup #popup_error {
  position: absolute;
  top: calc( 50% - 120px );
  left: calc( 50% - 260px );
  width: 500px;
  padding: 10px 15px;
  background-color: white;
  box-shadow: 3px 3px 12px #555;
}

#popup_loginform label, #popup_pwform label, #popup_pwforgottenform label  {
  width: 150px;
  display: inline-block;
}
#popup_loginform input.submit-button, #popup_pwform input.submit-button, #popup_pwforgottenform input.submit-button {
  margin: 0;
  padding: 7px 15px;
  border: 0;
  border-radius: 3px;
  background-color: #005BAA;
  color: white;
  vertical-align: middle;
  cursor: pointer;
  outline: none;
}
#popup_loginform input.submit-button:hover, #popup_pwform input.submit-button:hover, #popup_pwforgottenform input.submit-button:hover {
  background-color: #006fca;
}
#popup_loginform input.submit-button:focus, #popup_pwform input.submit-button:focus, #popup_pwforgottenform input.submit-button:focus,
#popup_loginform input.submit-button:active, #popup_pwform input.submit-button:active, #popup_pwforgottenform input.submit-button:active {
  background-color: #006fca !important;
  box-shadow: 0 0 1px rgba(0,0,0,0.25);
  transform: translate(0,1px);
}

#popup_loginform input.text, #popup_pwform input.text, #popup_pwforgottenform input.text {
  width: calc( 100% - 172px );
  font-size: 1em;
  padding: 4px 10px;
  margin-bottom: 7px;
  border: 1px solid #CCC;
  border-radius: 3px;
  box-shadow: inset 0 2px 1px rgba(0,0,0,0.05);
  outline: none;
  color: #666;
}
#popup_loginform input.text-readonly, #popup_pwform input.text-readonly, #popup_pwforgottenform input.text-readonly {
  width: 215px;
  padding: 2px;
  border-top: 1px solid black;
  border-left: 1px solid black;
  border-right: 1px solid #BCCCCD;
  border-bottom: 1px solid #BCCCCD;
  background-color: #F7F7F7;
}
#popup_loginform input::placeholder, #popup_pwform input::placeholder, #popup_pwforgottenform input::placeholder {
  color: #AAA;
}
#popup_loginform input.text::-webkit-input-placeholder, #popup_pwform input.text::-webkit-input-placeholder, #popup_pwforgottenform input.text::-webkit-input-placeholder {
  color: #AAA;
}
#popup_loginform input.text::-ms-input-placeholder, #popup_pwform input.text::-ms-input-placeholder, #popup_pwforgottenform input.text::-ms-input-placeholder {
  color: #AAA;
}

.vl-half1 {
  width: 45%;
  margin-right: 3%;
  float: left;
}
.vl-half2 {
  width: 52%;
  float: left;
}

.errormsg {
  padding: 0 0 10px 0;
  text-align: center;
  color: red;
}
.errormsg:empty {
  height: 2.1em;
}

.showpwdfrgtn, .showlogin {
  color: #005BAA;
  cursor: pointer;
  margin-bottom: 4px;
  display: inline-block;
}
.showpwdfrgtn:hover, .showlogin:hover {
  color: #000000;
}
/* Responsive ------------------------------------------------------------- */
@media all and (max-width:1450px ) {
  div.footer-content-container {
    padding-right: 50px;    
  }
}

@media all and (max-width:1300px ) {
  div.kopfbild-text .headline6,
  div.kopfbild-text h6 {
    font-size: 1.5em;
  }
}

@media all and (max-width:1250px ) {
  nav.mainmenu li {
    padding: 16px 10px;
  }
  div.kopfbild-container div.kopfbild-overlay {
      right: -200px;
  }
  div.overflow-border {
    overflow: hidden;
  }
  div.kopfbild-text div.langtext {
    padding: 10px 30px 30px 30px;
    margin-top: 0;
    margin-right: 0;
  }
  
  footer.footer {
    background-size: 600px auto;
    background-position: top left;
  }  
}

@media all and (max-width:1150px) and (min-width:500px) {
  .sessioninfo {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    max-width: 100%;
    margin-top: 5px;
    transform: none;
    flex-direction: row;
  }
  .sessioninfo br {
    display: none;
  }
  .sessioninfo div {
    display: inline-block;
  }
  .sessioninfo span {
    margin: 0 0 0 20px;
    display: inline-block;
  }
}
@media all and (max-width:1150px) {
  .menu-container-close {
    display: none;
  }
  nav.mainmenu ul {
    display: none;
  }
  a.mainmenu-switch, a.mainmenu-back {
    display: block;
    position: relative;
    padding: 20px 0 10px 0;
    font-weight: 700;
    font-size: 1em;
    text-align: right;
    color: #000000;
    vertical-align: top;
  }
  a.mainmenu-back {
    background: #E0E0E0;
    padding: 10px 20px 10px 0;
  }
  #menu .col:first-of-type ul {
    margin-top: 40px;
  }
  div.menu-container {
    height: calc( 100vh - 50px );
  }
  div.kopfbild-container {
    margin-top: 140px;
  }
  div.kopfbild-container div.kopfbild-overlay {
      right: -400px;
  }
  div.kopfbild-text {
    background-image: none;
  }
  div.kopfbild-text .headline6,
  div.kopfbild-text h6 {
    font-size: 1.5em;
    margin-bottom: 0;
    background-image: none;
    text-align: left;
    padding: 18px 30px 25px;
  }
  div.kopfbild-text div.langtext {
    max-width: 100%;
    margin: 0 30px;
    padding: 0;
    text-align: left;
  }
  .form-tabs {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    row-gap: 10px;
  }
  body.session div.kopfbild-container {
    margin-top: 140px;
  }
}
@media all and (max-width:1000px) {
  div.style1 {
    display: block;
  }
  div.style1 div.style2, div.style1 div.style3, div.style1 div.style4 {
    flex: 0 1 100%;
    margin: 0;
  }
  main.umrandung img.style-top-image {
    max-height: 30vh;
    object-fit: contain;
  }

  div.style1 div.style5 {
    flex: 0 1 50%;
  };
  div.style1 div.style2 + div.style2 {
    margin: 50px 0;
  }
  div.style1 div.style2 + div.style3, 
  div.style1 div.style2 + div.style4,
  div.style1 div.style2 + div.style5,
  div.style1 div.style3 + div.style2,
  div.style1 div.style3 + div.style3, 
  div.style1 div.style3 + div.style4,
  div.style1 div.style3 + div.style5, 
  div.style1 div.style4 + div.style2,
  div.style1 div.style4 + div.style3, 
  div.style1 div.style4 + div.style4,
  div.style1 div.style4 + div.style5,
  div.style1 div.style5 + div.style2,
  div.style1 div.style5 + div.style3, 
  div.style1 div.style5 + div.style4,
  div.style1 div.style5 + div.style5  {
    margin: 50px 0;
  }
  div.partnerangebote-detail {
    grid-template-columns: 100%;
    row-gap: 30px;
  }
  div.partnerbox {
    margin: 0;
  }
  div.kopfbild-container div.kopfbild-overlay {
      right: -400px;
  }
  div.kopfbild-text .headline6,
  div.kopfbild-text h6 {
    font-size: 2em;
  }
  .start div.news, .start div.news + div.news {
    margin: 0 0 50px 0;
  }
  .start div.news-image {
    width: 100%;
    max-width: 660px;
    margin: 0 auto;
  }
  .start div.news img {
    margin: 0 auto 20px;
    float: none !important;
  }
  div.menu-container-close {
    position: fixed;
    top: 100px;
  }
  #menu .col {
    width: calc( 50% - 1px );
  }
  div.kopfbild-container div.kopfbild-overlay {
    background-image: none;
    right: -500px;
  }
  div.by-cybox,
  div.footer-after {
    width: 100%;
    display: block;
    padding: 0 20px;
  }
  footer.footer {
    background-image: none;
  }
  div.footer-content-container {
    float: none;
    max-width: 960px;
    width: 100%;
    color: #FFFFFF;
    font-size: 0.889em;
    padding-left: 20px;
    padding-right: 20px;
    text-align: center;
  }
  footer.footer .headline1, 
  footer.footer .headline2,
  footer.footer .headline3,
  footer.footer .headline4  {
    color: #FFFFFF;
    margin-bottom: 10px;
    text-align: center;
  }
  div.by-cybox,
  div.quickmenu {
    text-align: center;
  }
  div.kopfbild-overlay {
    display: none;
  }
  header.header {
    z-index: 100;
  }
  .slick-dots {
    z-index: 98;
  }
  div.kopfbild-text {
    position: relative;
    padding: 0;
    width: 100%;
  }
  div.kopfbild-text .headline6,
  div.kopfbild-text h6 {
    height: auto;
    font-size: 1.5em;
    font-weight: 400;
    line-height: 150%;
  }
  div.kopfbild-text div.langtext {
    width: 100%;
    margin: 0;
    font-size: 1em;
    padding: 10px 30px 30px 30px;
    background-color: transparent;
    color: #FFFFFF;
  }
  div.kopfbild-text div.langtext a:link, div.kopfbild-text div.langtext a:visited, div.kopfbild-text div.langtext a:focus, div.kopfbild-text div.langtext a:hover, div.kopfbild-text div.langtext a:active {
    color: #cccccc;
  }
  div.kopfbild-text div.langtext a:focus, div.kopfbild-text div.langtext a:hover, div.kopfbild-text div.langtext a:active {
    color: #000000;
  }
  div.kopfbild-text div.langtext:before {
    background-image: none;
  }
  .slick-dots li button {
    border: 2px solid #FFFFFF;
  }
  div.content-container {
    padding: 0 20px;
  }
  .logo-slider .headline2,
  .logo-slider .headline3,
  .logo-slider .headline4 {
    padding: 0 20px;
  }
  div.kopfbild-container {
    margin-bottom: 50px;
  }
  a.mainmenu-switch, a.mainmenu-back {
    padding: 20px 0 10px 0;
  }
  header.header div.logo {
    margin-left: 20px;
  }
  header.header nav.mainmenu {
    width: calc(100% - 290px);
    margin-right: 20px;
  }
  
}
@media all and (max-width:600px) {
  /* Headlines ------------------------------------------------------------------------- */
  .headline1 {
    font-size: 1.5em;
  }
  .headline2 {
    font-size: 1.2em;
  }
  .headline3 {
    font-size: 1.2em;
  }
  .headline4 {
    font-size: 1.2em;
  }

  #menu .col {
    width: calc( 100% - 1px );
  }
  div.kopfbild-overlay {
    display: none;
  }
  .slick-dots {
    z-index: 98;
  }
  header.header {
    z-index: 100;
  }
  .slick-dots li button {
    border: 2px solid #FFFFFF;
  }
  div.parallax-gradient-right, 
  div.parallax-gradient-left,
  div.logo-slider-gradient-right, 
  div.logo-slider-gradient-left {
    display: none;
  }
  .logo-slider .slick-prev:before, .logo-slider .slick-next:before {
    color: #999999;
  }
  div.quickmenu {
    width: 100%;
    text-align: center;
    margin-top: 20px;
  }
  .slick-dots {
    bottom: 3px;
  }
  .sessioninfo {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    max-width: 100%;
    margin-top: 5px;
    transform: none;
    flex-direction: row;
  }
}
@media all and (max-width:500px) {
  .vl-half1 {
    width: 100%;
    margin-right: 0;
    margin-bottom: 80px;
    float: none;
  }
  .vl-half2 {
    width: 100%;
    float: none;
  }
  header.header {
    /*height: 70px;*/
  }
  header.header div.logo {
    width: 150px;
    margin-left: 20px;
  }
  header.header nav.mainmenu {
    width: calc(100% - 240px);
    margin-right: 20px;
  }
  div.kopfbild-container {
    margin-top: 133px;
  }
  body.session div.kopfbild-container {
    margin-top: 152px;
  }
  a.mainmenu-switch, a.mainmenu-back {
    padding: 10px 0 10px 0;
  }
}
@media all and (max-width:350px) {
  header.header div.logo {
    width: 100px;
    margin-left: 20px;
    margin-top: 20px;
  }
  header.header nav.mainmenu {
    width: calc(100% - 190px);
    margin-right: 20px;
  }
}

.boxreminder {
  position: relative;
  margin: 10px 0 20px  0;
  padding: 8px 10px 8px 35px;
  background-color: white;
}
 .boxtodelete {
  color: rgba(173,20,22,0.8);
 }
.boxreminder span {
  position: absolute;
  left: 0;
  top: calc( 50% - 12px );
  color: #ea5084;
  font-size: 1.1em;
  display: box;
}

table.liste, table.liste2 {
  width: 100%;
  border-collapse: collapse;
}
table.liste tr, table.liste2 tr {
  height: 3em;
}
table.liste tr:nth-child(even), table.liste2 tr:nth-child(even) {
  background: #E0E0E0;
}
table.liste tr:nth-child(odd), table.liste2 tr:nth-child(odd) {
  background: #F0F0F0;
}
table.liste thead tr, table.liste2 thead tr {
  height: 1em;
}
table.liste th, table.liste2 th {
  background-color: #888;
  padding: 3px 15px 3px 7px;
  font-size: 0.87em;
  font-weight: bold;
  color: white;
  text-align: left;
}
table.liste .mobillabel {
  display: none;
}
table.liste td, table.liste2 td {
  padding: 3px 15px 3px 7px;
  border-top: 2px solid white;
  vertical-align: middle;
  text-align: left;
}
table.liste td.buttons, table.liste2 td.buttons {
  white-space: nowrap;
}
table.liste a, table.liste a.red, table.liste2 a, table.liste button, table.liste2 button, table.teilnehmerdetails a, table.teilnehmerdetails button {
  display: inline-block;
  padding: 2px 8px;
  margin: 5px 5px 5px 0;
  border: 0;
  border-radius: 3px;
  background: #005BAA;
  font-size: 0.83em;
  color: #FFF;
  line-height: 150%;
  cursor: pointer;
  box-sizing: content-box;
}
table.liste a:hover, table.liste2 a:hover, table.liste button:hover, table.liste2 button:hover, table.teilnehmerdetails a:hover, table.teilnehmerdetails button:hover {
  background: #004078;
}

table.liste a.red, table.liste2 button.red {
  background-color: #c30b0e;
}
table.liste a.red:hover, table.liste2 button.red:hover {
  background-color: #e10c10;
}
table.liste button .preloader, table.liste2 button .preloader, table.liste2 button.red .preloader, table.teilnehmerdetails button .preloader {
  height: 18px;
}
table.liste button[disabled], table.liste2 button[disabled], table.liste2 button.red[disabled] {
  background-color: #CCC !important;
  cursor: default;
}
/*table.liste a + a, table.liste2 a + a {
  margin-left: 5px;
}*/

table.liste2 tr.ehemalig {
  font-style: italic;
  color: #DDD;
  background-color: #F8F8F8;
}
table.liste2 tr.ehemalig select, table.liste2 tr.ehemalig a {
  display: none;
}

table.teilnehmerdetails th {
  text-align: left;
  padding-right: 20px;
  vertical-align: top;
}
table.teilnehmerdetails td {
  text-align: left;
  vertical-align: top;
}


@media all and (max-width: 1000px) {
  table.liste td {
    padding: 3px 0;
    padding-bottom: 15px;
    background-color: white;
    text-align: center;
    display: list-item;
    list-style: none;
  }
  table.liste thead {
    display: none;
  }
  table.liste tr + tr td:nth-child(1) {
    border-top: 1px dotted #888;
    padding-top: 15px;
  }
  table.liste a {
    margin-bottom: 5px;
  }
  table.liste .mobillabel {
    display: inline-block;
    //padding: 3px 5px;
    //border-radius: 3px;
    line-height: 115%;
    //background-color: #999;
    vertical-align: middle;
    margin-right: 10px;
    //color: white;
    color: #999;
    font-size: 0.63em;
  }
  div.kurse-overview, div.kurse-overview, div.kurse-modul {
    grid-template-columns: 100%;
  }
  div.kurse-overview div.kurs[data-category="22"],
  div.kurse-overview div.kurs[data-category="23"],
  div.kurse-overview div.kurs[data-category="24"] {
    grid-column: auto;
  }
  div.kurse-overview div.kurs[data-category="22"] {
    order: 1;
  }
  div.kurse-overview div.kurs[data-category="23"] {
    order: 2;
  }
  div.kurse-overview div.kurs[data-category="24"] {
    order: 3;
  }
  div.style1 div.style2 + div.style2 {
    margin-left: 0;
    margin-top: 40px;
  }
}

@media all and (max-width: 600px) {
  #popup {
  z-index: 99;
  }
  #popup #popup_loginform, #popup #popup_pwform, #popup #popup_pwforgottenform, #popup #popup_error {
    left: 10px;
    top: 150px;
    width: calc( 100% - 20px );
  }
  #popup #popup_loginform label, #popup #popup_pwform label, #popup #popup_pwforgottenform label {
    width: 100%;
  }
  #popup_loginform input.text, #popup_pwform input.text, #popup_pwforgottenform input.text {
  width: calc( 100% - 22px );
  }
  table.liste td {
    text-align: left;
  }
}

@media all and (max-width: 400px) {
  div.modul-navigation {
    font-size: 0.9em;
    align-items: center;
  }
  div.modul-position {
    padding: 0.4em;
  }
}
