/*!
 *  GLOBAL.CSS
 *  Setting main CSS classes and overriding bootstrap styles
 */


@font-face {
  font-family: "TradeGothicLTPro-Bd2";
  src: url('fonts/TradeGothicLTProBd2/font.woff2') format('woff2'), url('../fonts/TradeGothicLTProBd2/font.woff') format('woff');
}
@font-face {
  font-family: "TradeGothicLTPro";
  src: url('fonts/TradeGothicLTPro/2font.woff2') format('woff2'), url('../fonts/TradeGothicLTPro/2font.woff') format('woff');
}
@font-face {
  font-family: "TradeGothicLTPro-Bold";
  src: url('fonts/TradeGothicLTProBold/2font.woff2') format('woff2'), url('../fonts/TradeGothicLTProBold/2font.woff') format('woff');
}

@font-face {
  font-family: 'fontawesome4';
  src:  url('fonts/fontawesome-webfont.eot?vydfj1');
  src:  url('fonts/fontawesome-webfont.eot?vydfj1#iefix') format('embedded-opentype'),
    url('fonts/fontawesome-webfont.ttf?vydfj1') format('truetype'),
    url('fonts/fontawesome-webfont.woff?vydfj1') format('woff'),
    url('fonts/fontawesome-webfont.svg?vydfj1#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}


* {
  box-sizing: border-box;
}

.vc_row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

*:before,
*:after {
  box-sizing: border-box;
}

html {
  -webkit-tap-highlight-color: rgba(0,0,0,0);
   font-size:18px;
   scroll-behavior: smooth;

}

html {
   font-size:18px;
   padding:0;
   margin:0;
}

.dis-scroll {
    position: fixed; overflow-y:scroll 
}

    
@media (max-width: 991px) {
html {
    font-size:16px;
}
}


body {
  font-family: trade-gothic-next, sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #000;
  padding: 0;
  font-size:1rem;
  margin:0;
  box-sizing: border-box;
}



.page-content {
    margin-top: 144px;
}

.showMobileMenu {
    overflow:hidden;
}

.page-padding-left {
        padding-left: 4rem !important;
}

.page-padding-right {
        padding-right: 4rem !important;
}

    
@media (max-width: 1399px) {
.page-padding-left-xl {
        padding-left: 4rem !important;
}
}

    
@media (max-width: 1199px) {
.page-padding-left-lg {
        padding-left: 4rem !important;
}

.page-padding-right-lg {
        padding-right: 4rem !important;
}

}



ion-icon {
  pointer-events: none;
}

p {
  margin: 0 0 0.5rem 0;
}

    
@media (min-width: 992px) {
p {
    line-height:1.5;
}
}


@media (max-width: 991px) {
p {
    line-height:1.4;
}
}


.text-ellipse {
     white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nowrap {
     white-space: nowrap;
}

hr {
  height: 1px;
  background-color: #707070;
  border: none;
  margin: 0;
  width: 100%;
  margin-top:0.875rem;
  margin-bottom:0.875rem;
}

.hr-2 {
    background-color:#333;
    margin-top:1.5rem;
    margin-bottom:1.5rem;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;
}


.sr-only-focusable, .sr-only-focusable:active, .sr-only-focusable:focus {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip: auto;
  }

.bold {
    font-weight:700;
}

.tg-bold {
    font-family: TradeGothicLTPro-Bold, sans-serif;
}

.show {
    display:block !important;
}

.show-flex {
    display:flex !important;
}

label {
 color: inherit;
 text-decoration:inherit;
}

/*!
 *  ====================================================
 *  Google reCaptcha V3
 *  ====================================================
 */

.grecaptcha-badge {
    width:310px !important;
}

.grecaptcha-badge iframe {
    width:100% !important;
}



/*!
 *  ====================================================
 *  ICON-Fix
 *  ====================================================
 */
.icon-teilen {
    padding-right: 0.3rem;
    padding-top: 0.1rem;
    padding-left: 0.1rem;
}

.icon-loeschen {
  padding-left: 0.2rem;
  padding-right:0.2rem;
  padding-top:0.1rem;
}

.icon-drucken {
  padding-top:0.1rem;
}

.icon-merkliste {
  padding-top:0.1rem;
  padding-right:0.1rem;
}





/*!
 *  ====================================================
 *  Typography
 *  ====================================================
 */
@media (min-width: 992px) {
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
      line-height:1.1;
      font-family: TradeGothicLTPro-Bold, sans-serif;
    }
    h1 {
      font-size: 2.25rem;
    }
    h2 {
      font-size: 1.7rem;
    }
    h3 {
      font-size: 1.25rem;
    }
    h4 {
      font-size: 1.125rem;
    }
    h5 {
      font-size: 1rem;
    }
    h6 {
      font-size: 0.875rem;
    }
}


@media (min-width: 992px) {
    .h1,
    .h2,
    .h3,
    .h4,
    .h5,
    .h6 {
      line-height:1.1;
      font-family: TradeGothicLTPro-Bold, sans-serif;
    }
    .h1 {
      font-size: 2.25rem;
    }
    .h2 {
      font-size: 1.7rem;
    }
    .h3 {
      font-size: 1.25rem;
    }
    .h4 {
      font-size: 1.125rem;
    }
    .h5 {
      font-size: 1rem;
    }
    .h6 {
      font-size: 0.875rem;
    }
}


@media (max-width: 991px) {
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
      line-height:1.1;
      font-family: TradeGothicLTPro-Bold, sans-serif;
    }
    h1 {
      font-size: 2rem;
    }
    h2 {
      font-size: 1.375rem;
    }
    h3 {
      font-size: 1.25rem;
    }
    h4 {
      font-size: 1.125rem;
    }
    h5 {
      font-size: 1rem;
    }
    h6 {
      font-size: 0.875rem;
    }
}

@media (max-width: 991px) {
    .h1,
    .h2,
    .h3,
    .h4,
    .h5,
    .h6 {
      line-height:1.1;
      font-family: TradeGothicLTPro-Bold, sans-serif;
    }
    .h1 {
      font-size: 1.75rem;
    }
    .h2 {
      font-size: 1.375rem;
    }
    .h3 {
      font-size: 1.25rem;
    }
    .h4 {
      font-size: 1.125rem;
    }
    .h5 {
      font-size: 1rem;
    }
    .h6 {
      font-size: 0.875rem;
    }
}

.text-sm {
    font-size:0.889rem;
}

.text-xs {
    font-size:0.75rem;
}

/*!
 *  ====================================================
 *  Colors
 *  ====================================================
 */

.text-primary {
    color:#e5222f !important;
}

.text-secondary {
   color:#5d666b !important;
}

.text-success {
    color:#29e532 !important;
}


.text-black {
    color:#212529 !important;
}

/*!
 *  ====================================================
 *  Backgrounds
 *  ====================================================
 */

.bg-primary {
    background-color:#e5222f !important;
}

.bg-secondary {
   background-color:#e9ebee !important;
}

.bg-tertiary {
    background-color: #5d666b !important;
}

/*!
 *  ====================================================
 *  Borders
 *  ====================================================
 */

.border-bottom {
    border-bottom: 1px solid #ccc!important;
}

.border-start {
    border-left: 1px solid #ccc!important;
}

.border-end {
    border-right: 1px solid #ccc!important;
}

.border-top {
    border-top: 1px solid #ccc!important;
}

@media (min-width: 576px) {
  .border-sm-top {
    border-top: 1px solid #ccc !important;
  }
  .border-sm-right {
    border-right: 1px solid #ccc !important;
  }
  .border-sm-bottom {
    border-bottom: 1px solid #ccc !important;
  }
  .border-sm-left {
    border-left: 1px solid #ccc !important;
  }
  .border-sm-top-0 {
    border-top: 0 !important;
  }
  .border-sm-right-0 {
    border-right: 0 !important;
  }
  .border-sm-bottom-0 {
    border-bottom: 0 !important;
  }
  .border-sm-left-0 {
    border-left: 0 !important;
  }
  .border-sm-x {
    border-left: 1px solid #ccc !important;
    border-right: 1px solid #ccc !important;
  }
  .border-sm-y {
    border-top: 1px solid #ccc !important;
    border-bottom: 1px solid #ccc !important;
  }
  .border-sm {
    border-top: 1px solid #ccc !important;
    border-bottom: 1px solid #ccc !important;
    border-left: 1px solid #ccc !important;
    border-right: 1px solid #ccc !important;
  }
  .border-sm-0 {
    border-top: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
  }
}

@media (min-width: 768px) {
  .border-md-top {
    border-top: 1px solid #ccc !important;
  }
  .border-md-right {
    border-right: 1px solid #ccc !important;
  }
  .border-md-bottom {
    border-bottom: 1px solid #ccc !important;
  }
  .border-md-left {
    border-left: 1px solid #ccc !important;
  }
  .border-md-top-0 {
    border-top: 0 !important;
  }
  .border-md-right-0 {
    border-right: 0 !important;
  }
  .border-md-bottom-0 {
    border-bottom: 0 !important;
  }
  .border-md-left-0 {
    border-left: 0 !important;
  }
  .border-md-x {
    border-left: 1px solid #ccc !important;
    border-right: 1px solid #ccc !important;
  }
  .border-md-y {
    border-top: 1px solid #ccc !important;
    border-bottom: 1px solid #ccc !important;
  }
  .border-md {
    border-top: 1px solid #ccc !important;
    border-bottom: 1px solid #ccc !important;
    border-left: 1px solid #ccc !important;
    border-right: 1px solid #ccc !important;
  }
  .border-md-0 {
    border-top: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
  }
}

@media (min-width: 992px) {
  .border-lg-top {
    border-top: 1px solid #ccc !important;
  }
  .border-lg-right {
    border-right: 1px solid #ccc !important;
  }
  .border-lg-bottom {
    border-bottom: 1px solid #ccc !important;
  }
  .border-lg-left {
    border-left: 1px solid #ccc !important;
  }
  .border-lg-top-0 {
    border-top: 0 !important;
  }
  .border-lg-right-0 {
    border-right: 0 !important;
  }
  .border-lg-bottom-0 {
    border-bottom: 0 !important;
  }
  .border-lg-left-0 {
    border-left: 0 !important;
  }
  .border-lg-x {
    border-left: 1px solid #ccc !important;
    border-right: 1px solid #ccc !important;
  }
  .border-lg-y {
    border-top: 1px solid #ccc !important;
    border-bottom: 1px solid #ccc !important;
  }
  .border-lg {
    border-top: 1px solid #ccc !important;
    border-bottom: 1px solid #ccc !important;
    border-left: 1px solid #ccc !important;
    border-right: 1px solid #ccc !important;
  }
  .border-lg-0 {
    border-top: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
  }
}

@media (min-width: 1200px) {
  .border-xl-top {
    border-top: 1px solid #ccc !important;
  }
  .border-xl-right {
    border-right: 1px solid #ccc !important;
  }
  .border-xl-bottom {
    border-bottom: 1px solid #ccc !important;
  }
  .border-xl-left {
    border-left: 1px solid #ccc !important;
  }
  .border-xl-top-0 {
    border-top: 0 !important;
  }
  .border-xl-right-0 {
    border-right: 0 !important;
  }
  .border-xl-bottom-0 {
    border-bottom: 0 !important;
  }
  .border-xl-left-0 {
    border-left: 0 !important;
  }
  .border-xl-x {
    border-left: 1px solid #ccc !important;
    border-right: 1px solid #ccc !important;
  }
  .border-xl-y {
    border-top: 1px solid #ccc !important;
    border-bottom: 1px solid #ccc !important;
  }
  .border-xl {
    border-top: 1px solid #ccc !important;
    border-bottom: 1px solid #ccc !important;
    border-left: 1px solid #ccc !important;
    border-right: 1px solid #ccc !important;
  }
  .border-xl-0 {
    border-top: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
  }
}


 /*!
 *  ====================================================
 *  Header
 *  ====================================================
 */


.main-header {
    height:144px;
    width:100%;
    position:fixed;
     top:0;
     z-index:3;
     display:flex;
     flex-direction:column;
}

.main-header .logo-linkcontainer {
    width:15rem;
}

.main-header .logo-linkcontainer .logo {
    width: 100%; 
    height: auto;
}



 .header-right .header-menu-mobile {
        display:none;
         height: 100%;
          width: 100%;
            justify-content:flex-end;
        align-items:center;
    }

 .header-right .header-menu-mobile .btn-mobile-menu {
     border:none;
     background:none;
     padding:0;
     margin:0;
     display:flex;
     flex-direction:column;
      justify-content:center;
      align-content:center;
      font-size:2rem;
      position:relative;
   
 }

  .header-right .header-menu-mobile .btn-mobile-menu,  .header-right .header-menu-mobile .btn-mobile-menu:focus {
         outline:none !important;
         color:#000 !important;
         outline-width:0 !important;
  }



.header-right .header-menu-mobile .btn-mobile-menu:hover, .header-right .header-menu-mobile .btn-mobile-menu:active, .header-right .header-menu-mobile .btn-mobile-menu:focus {
    color:#e5222f;
}



 .header-right .header-menu-tothetop {
    margin-left: 2rem;
    border-left: 1px solid #555;
    padding-left: 2rem;
  }

    .header-right .header-menu-tothetop img {
        width: 2.5rem;
        cursor:pointer;
    }


.main-nav {
      display:flex;
      width:100%;
      height:100%;
      background-color:#fff;
}

.main-nav .header-left {
    display:flex;
    align-items:center;
}

.main-nav .header-left .logo-inner {
    height: 100%;
    display: flex;
    align-items: center;
    -webkit-box-shadow: 0 10px 10px -10px rgba(0,0,0, .23);
    box-shadow: 0 10px 10px -10px rgba(0,0,0, .23);

}



.logo-signature {
    background-color: #ffffff;
    width: 1rem;
    height: 100%;
    transform: skewX(340deg);
    -webkit-box-shadow: 0px 1px 10px 0px rgba(0,0,0, .23);
    box-shadow: 0px 1px 10px 0px rgba(0,0,0, .23);
    position: relative;
    z-index: 1;
}

.header-left .logo-signature.noshadow {
    box-shadow: 0;
    z-index: 2;
    box-shadow: 0;
    box-shadow: none;
    left:1px;
}


.header-left .logo-signature.splitter {
    margin-left:1rem;
    margin-right:1rem;
}


.main-nav .header-left .logo-inner .logo-linkcontainer, .main-nav .header-left .logo-inner .btn {
    z-index:16;
}

.main-nav .header-left .logo-inner .submenu-container {
        margin-left: 0;
        right:auto;
    cursor: auto;
    left: 0;
    margin-top:0;
}


.main-nav .header-left .logo-inner .submenu-container .submenu {
             width: 31rem;
             padding-top:10rem;
}

.main-nav .header-left .logo-inner .submenu-container .submenu-content {
            box-shadow:none;
             -webkit-box-shadow:none;
            
             padding:5rem;
              padding-top:0;
}


.main-nav .header-left .logo-inner.selector-show > .submenu-container .submenu{
         opacity:1; 
	 visibility:visible;
     height:auto;
     margin-top:0;
}



.main-nav .header-left .logo-inner .submenu-container .submenu .submenu-content > ul > li > .form-check {
   display:none;
   align-items:center;
}

.main-nav .header-left .logo-inner .submenu-container .submenu .submenu-content > ul > li.selected > .form-check {
   display:flex;
}



.header-right {
    display:flex;
    align-items:center;
    width:100%;
    -webkit-box-shadow: 0 10px 10px -10px rgba(0,0,0, .23);
    box-shadow: 0 10px 10px -10px rgba(0,0,0, .23);
}




.header-right .searchbox-red {
    background-color: #e5222f;
    width: 20rem;
    height: 100%;
    transform: skewX(340deg);
    display:flex;
    align-items:center;
    justify-content:center;
    position:absolute;
    pointer-events:none;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}


.header-right .searchbox-container {
    height: 100%;
    position: inherit;
    display: flex;
    justify-content: flex-start;
    position: inherit;
    align-items: center;
    cursor:pointer;
        width: 20rem;
    padding-right: 3.5rem;
}

.header-right .searchbox-container-inner {
    display: flex;
    justify-content: space-between;
    color: white;
    padding-bottom: 0.4rem;
    z-index: 2;
    margin-left: 4.5rem;
    width: 11rem;
    height: 2rem;
    pointer-events:none;
}

 .header-right .searchbox-container-inner i {
    font-size:1.2rem;
    padding-top:0.2rem;
 }

 .header-right .searchbox-container-inner-mobile {
        font-size: 2.3rem;
    margin-left: 3.6rem;
    color: white;
    pointer-events: none;
    z-index: 2;
    display:none;
   }


 @media (max-width: 1700px) {

    .header-right .header-menu {
        display:none !important;
    }

    .header-right .header-menu-mobile {
        display:flex !important;
      
    }

    .header-right .header-menu-tothetop {
        display:none;
    }


    .header-right {
        padding-right:5rem;
    }

}

@media (max-width: 1023px), (max-height: 450px) {

    .header-right .searchbox-container {
        width: 15rem;
        padding-right:0;
   }

  .header-right .searchbox-container-inner {
        display:none;
   }
   .header-right .searchbox-container-inner-mobile {
        display:block;
   }

    .header-right .searchbox-red {
        width:10rem;
    }

}




.header-right .course-search-container .submenu-container {
          margin-left: 2%;
          right:auto;
    cursor: auto;
    left: 0;
}

.searchbutton {
    background: none;
    border: none;
    font: inherit;
    color: inherit;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.searchbutton:focus {
    border: 1px solid;
}

.header-right .course-search-container.selector-show > .submenu-container .submenu{
     opacity:1; 
	 visibility:visible;
     height:auto;
     margin-top:0;
}


.header-right .header-menu {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    width:100%;
    height:100%;

}




.main-nav .header-menu > ul {
    display:flex;
    list-style: none; 
    margin: 0; 
    padding: 0; 
    height:100%;
}



.main-nav .header-menu > ul > li {
    padding-left:2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction:column;
    height:100%;
}

.main-nav .header-menu > ul li:first-child {
   padding-left:0;
}

.main-nav .header-menu > ul > li > .menu-link > button {
    color: #333;
    padding-top: 0.3rem;
    padding-bottom: 0.3rem;
    padding-left: 0.7rem;
    padding-right: 0.7rem;
    border-radius: 0.25rem;
    text-decoration: none;
    z-index: 2;
    border: none;
    background: none;
}


.main-nav .header-menu > ul > li:hover > .menu-link > button,
.main-nav .header-menu > ul > li > .menu-link > button:hover,
.main-nav .header-menu > ul > li > .menu-link > button:focus {
    color: #fff;
    background-color: #e5222f;
    outline: none;
}

.main-header .submenu .submenu-content > ul > li > a, .submenu.small .menulogin-container ul > li > a, .menulogin-container ul > li > a >i:before{
   color:#333;
   text-decoration:none;
}
.main-header .submenu .submenu-content > ul > li > a:hover, .submenu.small .menulogin-container ul > li > a:hover, .menulogin-container ul > li > a:hover > i:before{
   color:#e5222f;
   text-decoration:none;
}
.main-nav .header-left .logo-inner .submenu-container .submenu .submenu-content > ul > li.selected > a {
    color: #e5222f;
    font-weight: 700;
    cursor: default;
}
.main-nav .header-left .logo-inner .submenu-container .submenu .submenu-content > ul > li > a:hover {
    color: #e5222f;
}



.main-header .submenu .submenu-content > ul > li > button, .submenu.small .menulogin-container ul > li > button, .menulogin-container ul > li > button > i:before {
    color: #333;
    border: none;
    background: none;
}

.main-header .submenu .submenu-content > ul > li > button:hover, .submenu.small .menulogin-container ul > li > button:hover, .menulogin-container ul > li > button:hover > i:before {
    color: #e5222f;
    outline: none;
}

.main-nav .header-left .logo-inner .submenu-container .submenu .submenu-content > ul > li.selected > button {
    color: #e5222f;
    font-weight: 700;
    cursor: default;
}

.main-nav .header-left .logo-inner .submenu-container .submenu .submenu-content > ul > li > button:hover {
    color: #e5222f;
}

.btn-usermenu {
    background-color: #e5222f !important;
}


.main-nav .header-menu > ul > li > .menu-link > a {
    color:#333;
    padding-top: 0.3rem;
    padding-bottom: 0.3rem;
    padding-left: 0.7rem;
    padding-right: 0.7rem;
    border-radius: 0.25rem;
    text-decoration:none;
    z-index:2;
}

.main-nav .header-menu > ul > li:hover > .menu-link > a {
    color: #fff;
    background-color: #e5222f;
}

.main-nav .header-menu > ul > li.hasSub:hover > .menu-link > a {
    cursor: default;
}

.main-nav .header-menu > ul > li > .menu-link {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.main-nav .header-menu .menu-pointer {
    width: 1rem;
    height: 1rem;
    background-color: #e5222f;
    position: absolute;
    top: 1.4rem;
    transform: rotate(45deg);
    border-radius: 0.25rem;
    z-index: 1;
    display:none;
}


.main-header .submenu-container {
  
    position:absolute;
    top:0;
    right:0;
    margin-top:8rem;
      z-index:15;
}

.main-header .submenu {
    background-color:#e5222f;
       transition: opacity .30s ease-in-out;
    background-color: #ffffff;
    width: 59rem;
    height: 100%;
    margin-right: 5rem;
    display:flex;
     opacity: 0;
      visibility:hidden;
   
    margin-top:-100rem;
}

.main-header .submenu.course-overview {
    width:84rem;
}

.main-nav .header-menu > ul > li.hasSub:hover > .menu-link .menu-pointer, li.hasSub:active > .menu-link .menu-pointer {
    display: block;
}

.main-nav .header-menu > ul > li.hasSub:hover > .submenu-container .submenu, li.hasSub.active > .submenu-container .submenu {
    opacity: 1;
    visibility: visible;
    height: auto;
    margin-top: 0;
}

.main-nav .header-menu > ul > li.show-usermenu > .submenu-container .submenu {
    opacity: 1;
    visibility: visible;
    height: auto;
    margin-top: -24px;
    box-shadow:none;
    -webkit-box-shadow:none;
-webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.26); 
box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.26);
width:47rem;
}

.main-nav .header-menu > ul > li.show-usermenu > .submenu-container .submenu.small {
width:13rem;
}

.main-nav .header-menu > ul > li.show-usermenu > .submenu-container .submenu .menulogin-container {
    padding: 2rem;
    width:100%;
}

.main-nav .header-menu > ul > li.show-usermenu > .submenu-container .submenu.small .menulogin-container {
    padding-top:1rem;
}

.b-right {
    border-right: 1px solid #ccc;
}




 .main-nav .header-menu > ul > li:after,  .header-right .course-search-container:after, .header-left .logo-inner:after{
      content: ''; 
      top: 8rem;
      right: 0;
      bottom: 0;
      left: 0;
      opacity: 0;
      visibility:hidden;
      background-color: rgba(0,0,0,.7);
      pointer-events: none;
      -webkit-box-shadow: inset 0 9px 9px -9px rgba(0,0,0, .23);
       box-shadow: inset 0 9px 9px -9px rgba(0,0,0, .23);
  }

 .main-nav .header-menu > ul > li.hasSub:hover:after, .header-left .logo-inner.selector-show:after, .header-right .course-search-container.selector-show:after {
	z-index:10; opacity:1; 
	visibility:visible;
	position: fixed;
  }




.main-header .submenu .submenu-content {
    width:100%;
    height:100%;
    padding:3.5rem;
    -webkit-box-shadow: inset 0 9px 9px -9px rgba(0,0,0, .23);
    box-shadow: inset 0 9px 9px -9px rgba(0,0,0, .23);
}


.main-header .submenu .submenu-content.left {
    background-color:#e9ebee;

}


.main-header .submenu .submenu-content.left .info-label {
    color:#5d666b;
    margin-bottom:1rem;
    font-size: 0.875rem;
     font-family: TradeGothicLTPro-Bold, sans-serif;
}

.main-header .submenu .submenu-content.left .info-header{
    font-weight:700;

    line-height: 1.1;
    font-size:2.25rem;

}


.main-header .submenu .submenu-content > ul, .submenu.small .menulogin-container ul {
    list-style: none; 
    margin: 0; 
    padding: 0; 
}


.main-header .submenu .submenu-content > ul > li, .submenu.small .menulogin-container ul > li {
    border-bottom: 1px solid #e9ebee;
    line-height: 3.2;
}








.main-header .submenu.gf-overview  {
    width:84rem;
}

.main-header .submenu .submenu-content > ul > li {
   display:flex;
   justify-content:space-between;
}

.main-header .submenu.gf-overview .submenu-content.right > ul > li > .gf-links {
   display:flex;
   justify-content:flex-end;
   align-items:center;
}

.main-header .submenu.gf-overview .submenu-content.right > ul > li > .gf-links a {
   font-size:0.875rem;
   font-weight:700;
}

.main-header .submenu.gf-overview .submenu-content.right > ul > li > .gf-links button {
    font-size: 0.875rem;
    font-weight: 700;
    border:none;
    background:none;
}

.main-header .submenu.gf-overview .submenu-content.right .delimiter {
   color:#ccc;
}

.main-header .submenu.gf-overview .submenu-content.right > ul > li > .gf-links .anchor-primary {
  min-width:6rem;
}

.main-header .submenu.gf-overview .submenu-content.right > .gf-option {
   display:flex;
   margin-bottom: 2rem;
   font-size: 0.875rem;
   font-weight:bold;
}

.main-header .submenu.gf-overview .submenu-content.right > .gf-option > .form-check label {
   cursor:pointer;
}

.main-header .submenu.gf-overview .submenu-content.right > .gf-option > .form-check input {
   border: 1px solid #000;
   cursor:pointer;
}

.main-header .submenu.gf-overview .submenu-content.right > .gf-option > .form-check.ischecked {
    border-bottom: 1px solid #e5222f;
}


.main-header .submenu.gf-overview .submenu-content.right > .gf-option > .form-check.ischecked > label {
    color:#e5222f;
}

.main-header .menu-link .btn-icon {
    font-size:1rem;
    width:2rem;
    height:2rem;
}




.submenu.course-search {
    display:block;
}

.submenu.course-search .textbox-container {
    padding:3.5rem;
    background-color: #e5222f;
}

.submenu.course-search .textbox-container .textbox-inner {
    color:white;
    display:flex;
    padding-bottom:1rem;
    border-bottom:1px solid #fff;
    width:100%;
    align-items:center;
}

.submenu.course-search .textbox-container .textbox-inner {
    color:white;
    display:flex;
    padding-bottom:0.875rem;
    border-bottom:1px solid #fff;
    width:100%;
    font-size:1.4rem;

}

.submenu.course-search .textbox-container .textbox-inner input {
    color:#fff;
    background:none;
    border:none;
    width:100%;
    font-weight:700;
}

.submenu.course-search .textbox-container .textbox-inner i {
       margin-right: 1rem;
    position: relative;
    top: 2px;
    font-size: 1.2rem;
}


.submenu.course-search .textbox-container .textbox-inner input::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #fff;
  opacity: 1; /* Firefox */
}

.submenu.course-search .textbox-container .textbox-inner input:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #fff;
}e

.submenu.course-search .textbox-container .textbox-inner input::-ms-input-placeholder { /* Microsoft Edge */
  color: #fff;
}


.submenu.course-search .textbox-container .textbox-inner input:hover, .submenu.course-search .textbox-container .textbox-inner input:active, .submenu.course-search .textbox-container .textbox-inner input:focus {
    text-decoration:none;
    outline: none !important;
    box-shadow: none !important;
}


.submenu.course-search .searchresult-container {
    display:none;
    margin:0.5rem;

}

.submenu.course-search .searchresult-container .searchresult-container-inner::-webkit-scrollbar {
  width: 0.4rem;
}
 
.submenu.course-search .searchresult-container .searchresult-container-inner::-webkit-scrollbar-track  {
    border-radius: 0.5rem;
    -webkit-box-shadow: inset 0 0 4px rgba(148, 148, 148, 0.30);
    box-shadow: inset 0 0 4px rgba(148, 148, 148, 0.30);
}

.submenu.course-search .searchresult-container .searchresult-container-inner::-webkit-scrollbar-thumb {
    background-color: #5d666b;
    border-radius: 0.5rem;
}

.submenu.course-search .searchresult-container-inner {
        padding:3.5rem;
    padding-top:2.8rem;
      height: 20rem;
    overflow-y: scroll;
    -webkit-mask-image: linear-gradient(to bottom, black 62%, transparent 100%);
    mask-image: linear-gradient(to bottom, black 62%, transparent 100%);
    display:none;

      scrollbar-color: #5d666b #fff;
      scrollbar-width: thin;
}

.submenu.course-search .searchresult-loader {

    display:none;
}



.submenu.course-search .searchresult-container-inner .result-count {
    font-weight:700;
    margin-bottom:1.5rem;
}

.submenu.course-search .searchresult-container-inner .result-item {
    padding-bottom:0.75rem;
    border-bottom:1px solid #ccc;
    margin-bottom:0.75rem;
}

.submenu.course-search .searchresult-container-inner .result-item:hover {
    color: #e5222f;
    cursor:pointer;
}

.submenu.course-search .searchresult-container-inner .result-item .result-description {
    opacity:0.5;
}

.submenu.course-search .searchresult-button {
        padding:3.5rem;
    padding-top:1.5rem;
    padding-bottom:2rem;
       display:flex;
   align-items:baseline;
   justify-content:space-between;
}



.submenu.course-search .filter-container {
    padding:3.5rem;
    padding-top:2.8rem;
    display:none;
}

.submenu.course-search .filter-container .filter-container-buttons {
   display:flex;
   align-items:baseline;
   justify-content:space-between;
   margin-top:2rem;
}




.header-left .logo-inner .btn{
      margin-left: 2rem;
    font-size: 1rem;
}

/*!
 *  ====================================================
 *  FOOTER
 *  ====================================================
 */

.main-footer {
      -webkit-box-shadow: 0px -3px 15px 5px #c9c9c9;
    box-shadow: 0px 1px 15px 5px #c9c9c9;
    position:relative;
}


.main-footer .top-footer .footer-contact {
    padding-top:4rem;
    padding-bottom:3rem;
}


@media (min-width: 768px) {
   .main-footer .top-footer .footer-top-contact {
      width:22rem;
    }
}

 


.main-footer .bottom-footer{
    padding-top:2rem;
    padding-bottom:2rem;
    border-top:1px solid #dedfe1;
    display: flex;
    align-items: center;
    justify-content:space-between;
    flex-wrap:wrap;
}

.main-footer .bottom-footer .left-links {
    display: flex;
    flex-wrap: wrap;
    align-content: center;

}

.main-footer .bottom-footer .right-links {
    display:flex;
    flex-wrap:wrap;
    align-content:center;
    justify-content:flex-end;
}

.main-footer .bottom-footer .right-links img {
    width:9rem;
}

.main-footer .bottom-footer .left-links .link-item {
    color:#000;
    font-weight:bold;
    text-decoration:none;
    margin-right:2rem;
}

.main-footer .bottom-footer .left-links .link-item:hover {
    text-decoration:underline;
}


.main-footer .bottom-footer .left-links .link-item:last-child {
    margin-right:0;
}

.main-footer .bottom-footer .left-links .corporate-title {
    font-size: 0.775rem;
    color: #5d666b;

        display: flex;
    align-items: center;
    font-weight:700;
    width:22rem;
}


.iframe-container {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding-top: 56.25%; /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */
}

/* Then style the iframe to fit in the container div with full height and width */
.responsive-iframe {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
}


.main-footer .bottom-logo-footer {
    border-top:1px solid #dedfe1;
    padding-top:1rem;
    padding-bottom:2rem;
}

.main-footer .bottom-logo-footer .footer-logo {
    width:22%;
    display:flex;
    align-items:center;
    border-right: 1px solid #dedfe1;
    padding-left:1rem;
    padding-right:1rem;
}

.main-footer .bottom-logo-footer .footer-logo img {
    max-width: 9rem;
    height: auto;
}

.main-footer .bottom-logo-footer .footer-logo:last-child {
    border-right:none;
    padding-right:0;
    width:17%;
}

.main-footer .bottom-logo-footer .footer-logo:first-child {
    padding-left:0;
    width:17%;
}

#googlemaps {
    width:100%;
    height:25rem;
}


@media (max-width: 1399px) {
#googlemaps {
    height:37rem;
}

.main-footer .bottom-footer .left-links  {
    display:block;
 }

.main-footer .bottom-footer .left-links .corporate-title {
    margin-bottom:1rem;
    
}

.main-footer .bottom-logo-footer .footer-logo img {
    max-width: 90%;
}

.main-footer .bottom-logo-footer .footer-logo{
    width:22% !important;
}

}


@media (max-width: 767px) {


.main-footer .bottom-footer .left-links  {
    order:2;
    border-top:1px solid #dedfe1;
    margin-top:1rem;
    padding-top:1.25rem;
    width:100%;
 }

.main-footer .bottom-footer .left-links .corporate-title {
    width:100%;
}

.main-footer .bottom-footer .right-links {
    order:1;
}
.main-footer .bottom-footer .right-links img {
    width:6rem;
}


.main-footer .bottom-footer .left-links .link-item {
    display:none;
}

#googlemaps {
    height:20rem;
}


}


/*!
 *  ====================================================
 *  Mobile Menu
 *  ====================================================
 */

.mobilemenu-container {
    position:fixed;
    top:0;
    left:0;
    z-index:40;
    min-height:100%;
    width:100%;
    background-color:#fff;
    overflow-y: scroll;
    left:100%;
    transition: left 0.2s ease-out;
    height: 0;
    overflow: hidden;
}



.showMobileMenu .mobilemenu-container {
    left:0;
    height: 100%;
    position:fixed;
    overflow:scroll;
}

.mobilemenu-container .headerbar-container {
    height:144px;
    display:flex;
    justify-content:space-between;
    align-items:center;
     -webkit-box-shadow: 0 10px 10px -10px rgba(0,0,0, .23);
    box-shadow: 0 10px 10px -10px rgba(0,0,0, .23);
    position:relative;
}

.mobilemenu-container .headerbar-container .headerbar-red {
    background-color: #e5222f;
    width: 21rem;
    height: 100%;
    transform: skewX(340deg);
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    pointer-events: none;
    width: calc(100% - 8rem);
    left: -2rem;
}


.mobilemenu-container .headerbar-container .headerbar-content {
    height: 100%;
    position: inherit;
    display: flex;
    justify-content: flex-start;
    position: inherit;
    align-items: center;
    width: calc(100% - 13rem);
        
}



.mobilemenu-container .headerbar-container .headerbar-content .searchbox-container-inner {
    display: flex;
    justify-content: space-between;
    padding-bottom: 0.4rem;
    z-index: 2;
    width: 100%;
    height: 2rem;
    pointer-events: none;
    color: white !important;
    font-size: 26px;

}

.mobilemenu-container .headerbar-container .headerbar-content .btn-mobilemenu-back{
    font-size: 1.8rem;
}

.mobilemenu-container .headerbar-container .headerbar-content .btn-mobilemenu-back i:before {
    color:#fff;
}


.mobilemenu-container .headerbar-container .btclose {
    font-size: 2rem;
}


.mobilemenu-container .mobilemenu-inner {
    padding-bottom:3rem;
    padding-top:2.5rem;
    min-height: calc(100vh - 18rem);
}

.mobilemenu-container .mobilemenu-inner .top-buttons {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding-bottom: 2.5rem;
}

.mobilemenu-container .mobilemenu-inner .top-buttons .btn {
    position:relative;
}

.mobilemenu-container .mobilemenu-inner .top-buttons .btn .icon-badge {
    margin-top:0.1rem;
    margin-right:0.1rem;
}

.mobilemenu-container .top-infocontent{
    padding-top:2.5rem;
    padding-bottom: 2.5rem;
    background-color:#e9ebee;
    height:100%;
}


.mobilemenu-container .info-label {
    color:#5d666b;
    font-weight:700;
    margin-bottom:1rem;
    font-size: 0.875rem;
    font-family: TradeGothicLTPro-Bold, sans-serif;
}

.mobilemenu-container .info-header{
    font-weight:700;
    padding-right: 5rem;
    line-height: 1.1;
    font-size:2rem;

}



.mobilemenu-container .mobilemenu-inner .menu-items {
    display:flex;
    flex-direction:column;
}

.mobilemenu-container .mobilemenu-inner .menu-items > a {
    display:flex;
    justify-content:space-between;
    align-items: center;
    line-height:2.5;
    border-bottom:1px solid #ccc;
    color:#000;
}


.mobilemenu-container .mobilemenu-inner .menu-items > a:first-child {
    border-top:1px solid #ccc;
}

.mobilemenu-container .mobilemenu-inner .menu-items > a:hover {
    text-decoration:none;
    color:#e5222f;
}


.mobilemenu-container .mobilemenu-inner .menu-items > a span {
    font-size:1.2rem;
}


.mobilemenu-container .mobilemenu-inner .menu-items.main-menu > a span{
    font-size:1.8rem;
}

.mobilemenu-container .mobilemenu-inner .menu-items > a ion-icon{
    font-size:2rem;
    color: #e5222f;
}

.mobilemenu-container .mobilemenu-footer {
background-color: #e9ebee;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 9rem;
}



.mobilemenu-container .mobilemenu-footer a {
    color:#000;
    font-weight:bold;
    text-decoration:none;
    display:block;
}

.mobilemenu-container .mobilemenu-footer a:hover {
    text-decoration:underline;
}

.mobilemenu-container .mobilemenu-footer img {
    width:4rem;
}

.mobilemenu-container .mobilemenu-inner .mobile-kursangebot-header {
    display:flex;
    justify-content:space-between;
    align-items: center;
    line-height:1;
    border-bottom:1px solid #ccc;
    color:#e5222f;
    font-weight:bold;
    width:100%;
    cursor:pointer;
    padding-bottom: 1.4rem;
}

.mobilemenu-container .mobilemenu-inner .mobile-kursangebot-group .mobile-kursangebot-items {
    display:none;
}

.mobilemenu-container .mobilemenu-inner .mobile-kursangebot-group .mobile-kursangebot-header .icon-dropdown-up {
    display:none;
}

.mobilemenu-container .mobilemenu-inner .mobile-kursangebot-group.active .mobile-kursangebot-header .icon-dropdown-down {
    display:none;
}

.mobilemenu-container .mobilemenu-inner .mobile-kursangebot-group.active .mobile-kursangebot-header .icon-dropdown-up {
    display:block;
}

.mobilemenu-container .mobilemenu-inner .mobile-kursangebot-group.active .mobile-kursangebot-items {
    display:block;
}

.mobilemenu-container .mobilemenu-inner .mobile-kursangebot-group .mobile-kursangebot-items .gf-item {
    display:flex;
    justify-content:space-between;
    align-items: center;
    line-height:2.5;
    border-bottom:1px solid #ccc;
}

.mobilemenu-container .mobilemenu-inner .mobile-kursangebot-group .mobile-kursangebot-items .gf-item .left {
  display: flex;
    flex-direction: column;
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
}

.mobilemenu-container .mobilemenu-inner .mobile-kursangebot-group .mobile-kursangebot-items .gf-item .left .title {
    line-height:1;
}





@media (min-width: 768px) and (min-height:1024px) {

    .mobilemenu-container {
         height:100vh;
    }

      .mobilemenu-container .container-fluid, .mobilemenu-container .row.g-0 {
          height: 100%
    }



 }




/*!
 *  ====================================================
 *  Modal Dialogs 
 *  ====================================================
 */

 .modal-header {
     border-bottom:none;
     padding:1.5rem;
 }

 .modal-body {
     padding:4rem;
     padding-top:0rem;
     padding-bottom:0rem;
 }

 .modal-content {
     border-radius:0;
     border:none;
     padding-bottom:4rem;
 }

 .modal-footer {
     border-top:none;
     padding-left:4rem;
     padding-right:4rem;
     padding-bottom:0rem;
     padding-top:0;
 }

 .cookie-button-container {
     display:flex;
     justify-content:space-between;
     align-items:center;
     flex-wrap:wrap;
 }

  .cookie-button-container .left-items {
     display:flex;
     justify-content:flex-start;
     align-items:center;
     margin-bottom:2rem;
 }

    .cookie-button-container .right-items {
     display:flex;
     justify-content:flex-start;
     align-items:center;
     flex-wrap:wrap;
 }

    .modal-grey {
        background-color:#e9ebee;
    }

.modal-content.youtube {
    padding-bottom:0;
}

.modal-content.youtube .modal-body {
    background-color:#000;
    padding:0;
}


@media (max-width: 991px) {
    .modal-dialog {
       width: auto;
    margin: 0.5rem;
    max-width:100%;
    }


}

@media (max-width: 767px) {

     .modal-body {
     padding:1.5rem;
 }

 .modal-content {
     padding-bottom:1.5rem;
 }

 .modal-footer {
     padding-left:1.5rem;
     padding-right:1.5rem;
 }

 .w-xs-100 {
     width:100% !important;
 }


}


/*!
 *  ====================================================
 *  Link/Anchors
 *  ====================================================
 */

a {
    color:#e5222f;
    text-decoration:none;
    
}

a:hover, a:active, a:focus {
    color:#e5222f;
    text-decoration:underline;
}

a.nostyle {
    color:inherit;
}

a.nostyle.noclick {
    pointer-events:none;
}

/*!
 *  ====================================================
 *  Info-Table
 *  ====================================================
 */

.infotable-container .infotable-item {
    display:flex;
    align-items:center;
    border-bottom:1px solid #ccc;
    font-size:0.875rem;
    padding-bottom:0.3rem;
    margin-bottom:0.3rem;
}

.infotable-container .item-label {
    font-weight:700;
    width: 4rem;
    font-size:0.75rem;
    align-self: baseline;
}

.infotable-container .item-label.large {
    width:10rem;
}

.infotable-container .item-content {
    width:100%;
}

.infotable-container .item-content .form-group ,.infotable-container .item-content .btn{
    max-width: 23rem;
}

@media (max-width: 575px) {
    .infotable-container .infotable-item {
        display:block;
    }

    .infotable-container .item-label {
        margin-bottom:0.2rem;
    }
}

@media (max-width: 1620px) and (min-width: 1200px) {
    .course-info-container .infotable-container .infotable-item {
        display:block;
    }

    .course-info-container .infotable-container .item-label {
        margin-bottom:0.2rem;
    }
}



/*!
 *  ====================================================
 *  Bullet List
 *  ====================================================
 */

.page-content ul, .submenu:not(.small) .menulogin-container ul {
    list-style-type: none;
    padding-left:1rem;
}

.page-content ul li:before, .submenu:not(.small) .menulogin-container ul li:before {    
     font-family: 'icomoon' !important;
      speak: never;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
       margin:0 5px 0 -15px;
       content: "\e922";
       color: #e52330;
       font-size: 0.35rem;
       position: relative;
       top: -3px;
}


/*!
 *  ====================================================
 *  Custom Tooltips
 *  ====================================================
 */

.custom-tooltip.tooltip 
{
    opacity:1;
    z-index:800;
}

.custom-tooltip.tooltip > .tooltip-inner
{
    background-color:white;
    color:#000;
    -webkit-box-shadow: 0px 0px 8px 3px #d5d5d5;
    box-shadow: 0px 0px 8px 3px #d5d5d5;
    opacity:1;
    font-size:0.6rem;
    padding:0.6rem;
    border-radius:0;
    padding-top:0.4rem;
    padding-bottom:0.4rem;
    line-height:1.1;
}

.custom-tooltip.tooltip .tooltip-arrow {
     border-bottom-color: #fff; 
}

 .tooltip.bs-tooltip-top .tooltip-arrow::before {
      border-top-color: #fff;
    }

    .tooltip.bs-tooltip-bottom .tooltip-arrow::before {
      border-bottom-color: #fff;
    }

    .tooltip.bs-tooltip-start .tooltip-arrow::before {
      border-left-color: #fff;
    }

    .tooltip.bs-tooltip-end .tooltip-arrow::before {
      border-right-color: #fff;
    }


/*!
 *  ====================================================
 *  Buttons
 *  ====================================================
 */

.btn {
    border-radius:0.313rem;
    border:none;
    line-height: 2.25rem;
    white-space:nowrap;
    font-family:TradeGothicLTPro-Bold, sans-serif;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}



.btn:hover, .btn:active, .btn:focus, button:hover,  button:active, button:focus  {
    text-decoration:none;
     outline: none !important;
     box-shadow: none !important;
}

.btn:not(.btn-icon-only):active {
-webkit-box-shadow:inset 0rem 0.688rem 0.5rem -0.375rem rgba(0,0,0,0.25) !important;
box-shadow: inset 0rem 0.688rem 0.5rem -0.375rem rgba(0,0,0,0.25) !important;
}




.btn  {
    padding: 0.223rem 1rem;
    font-size:1rem;
    padding-bottom:0;
}



.btn-primary, .btn-primary:focus  {
    background-color: #e5222f;
    outline:none;
}

.btn-primary:hover, .btn-primary:active{
    background-color: #b11c28;
}

.btn-primary:disabled {
    background-color: #f6959d;
}

.btn-white, .btn-white:focus  {
    background-color: #fff;
    color:#e5222f;
    outline:none;
}

.btn-white:hover, .btn-white:active{
    background-color: #eee;
    color:#e5222f;
}


.btn-black, .btn-black:focus  {
    background-color: #333;
    color:white;
    outline:none;
}

.btn-black:hover, .btn-black:active{
    background-color: #000;
    color:white;
}


.btn-icon {
    font-size: 1rem;
    align-items: center;
    justify-content: center;
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    padding:0;
}


.btn-icon-only {
    padding:0;
    font-size:1rem;
    color: #5d666b;
    display:flex;
    justify-content:center;
    align-items:center;
}

.btn-icon-only i:before {
    color: #5d666b;
}

.btn-icon-only:hover, .btn-icon-only:hover i:before {
    color: #3c4346;
}

.btn-icon-only.text-primary i:before {
    color: #e5222f;
}



.btn-labelbutton {
    width:100%;
}

.btn-labelbutton .btn-label {
    pointer-events:none;
    background-color:#e9ebee;
    text-align:left;
}


.btn-labelbutton .btn-secondary {
   max-width:3.5rem;
   min-width:3.5rem;
}


.btn-labelbutton .btn-secondary i:before {
   color:#fff;
}


.btn-sm, .btn-group-sm > .btn {
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
    border-radius: 0.25rem;
    line-height: 1.5;
    padding-bottom:0.1rem;
}


.input-group .form-floating {
    flex: 1 1 auto;
    width: 1%;
}

.sidebar {
    position: fixed;
    right: 0;
    top: 0;
    z-index:2;
}

.sidebar.active
 {
    z-index:999;
}

.sidebar-container {
    width: 30rem;
    position: absolute;
    right: -30rem;
    top: 0;
    padding-top: 0rem;
   z-index:30;
   pointer-events:none;

}

.sidebar.active .sidebar-container {
    pointer-events:auto;
}

.sidebar-container .btn-close {
     position: absolute;
    right: 0;
    margin-right: 1rem;
    margin-top: 1rem;
}



.sidebar-buttons {
    position:absolute;
    right:0;
    top:0;
    height:100vh;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    z-index:30;
}

.sidebar-buttons .btn {
    margin-bottom:0.2rem;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    width: 2.8rem;
    height: 2.5rem;
    position:relative;
}

.sidebar-buttons .btn-white i:before {
    color:#000;
}


.btn .icon-badge {
position: absolute;
    height: 1rem;
    width: 1rem;
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.6rem;
    font-family: trade-gothic-next, sans-serif;
    right:0;
    top:0;
    margin-top: 0.25rem;
    margin-right: 0.25rem;
}

.btn-white .icon-badge {
     background-color: #e5222f;
     color:white;
}


.btn-primary .icon-badge {
    background-color: #000;
    color:white;
}


.sidebar-content {
    display:none;
        background-color: #fff;
       
        flex-direction:column;
}

.sidebar-content.warenkorb {
    padding:3rem;
    min-height: 100vh;
}

.sidebar-content.merkliste {
    padding:3rem;
    height:100%;
}

.sidebar-content.kursbuch {
    min-height:100%;
}

.sidebar-content.kursbuch .kursbuch-item i:before {
    color: #e5222f;
}

.sidebar .btn-close {
    z-index:30;
}

.sidebar.merkliste .sidebar-content.merkliste {
    display:flex;
}

.sidebar.kursbuch .sidebar-content.kursbuch {
    display:flex;
}

.sidebar.warenkorb .sidebar-content.warenkorb {
    display:flex;
}

.sidebar.kursbuch .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}




.sidebar-content .kurs-list  {
    height: 100%;
   
     padding-right:1rem;

  flex:1;
       
}

.sidebar-content .kurs-list.oscroll  {
     overflow-y: scroll;
     -webkit-mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
     mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
      scrollbar-color: #5d666b #fff;
      scrollbar-width: thin; 
}


.sidebar-content .kurs-list::-webkit-scrollbar {
  width: 0.4rem;
}
 
.sidebar-content .kurs-list::-webkit-scrollbar-track {
    box-shadow: inset 0 0 4px #9494944d;
    border-radius: 0.5rem;
}
 
.sidebar-content .kurs-list::-webkit-scrollbar-thumb {
    background-color: #5d666b;
    border-radius: 0.5rem;
}


.sidebar-content .kurs-list .kurs-item-wrapper {
    border-bottom: 1px solid #ccc;
    padding-bottom: 1rem;
    margin-bottom: 1rem;

}


.sidebar-content .kurs-list .kurs-item {
    cursor:pointer;
}

.sidebar-content .kurs-list .kurs-item .title {
   font-weight:700;
}

.sidebar-content .kurs-list .kurs-item .description {
   font-size:0.875rem;
}


.sidebar-content .kurs-list .kurs-item-wrapper .btn-icon-only{
 float:right;
position:relative;
top:-1.5rem;
}

.sidebar-content .kurs-list .kurs-item:hover {
    color: #e5222f;
}

.sidebar-content .kurs-list.nokurse{
    display:flex;
    align-items:center;
    text-align:center;
    padding-bottom:15rem;
}



.sidebar-content.kursbuch .top-container{
    background-color:#292c31;
    position:relative;
    height:20rem;
}


.sidebar-content.kursbuch .top-container img{
    position: absolute;
    left: 3rem;
    bottom: -5rem;
    -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.58);
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.58);

}

.sidebar-content.kursbuch .bottom-container{
    padding:3rem;
    padding-top:7rem;
}


.sidebar-content.kursbuch .bottom-container .kursbuch-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #000;
    width: 100%;
    font-weight: normal;
    border-bottom: 1px solid #ccc;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
}

.sidebar-content.kursbuch .bottom-container .kursbuch-item:hover, .sidebar-content.kursbuch .bottom-container .kursbuch-item i {
    color: #e5222f;
    text-decoration:none;
}





 .sidebar:after{
      content: ''; 
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      transition: opacity .15s ease-in-out;
      opacity: 0;
      visibility:hidden;
      background-color: rgba(0,0,0,.7);
      pointer-events: none;
      -webkit-box-shadow: inset 0 9px 9px -9px rgba(0,0,0, .23);
       box-shadow: inset 0 9px 9px -9px rgba(0,0,0, .23);
  }

.sidebar.active:after {
	z-index:10; opacity:1; 
	visibility:visible;
	position: fixed;
  }


@media (max-height: 1100px) {

         .sidebar-content.kursbuch .top-container img {
       height:13rem;
    }
         .sidebar-content.kursbuch .top-container {
                 height: 11rem;
         }
  
 }


  


@media (max-height: 700px), (max-width:768px) {
    .sidebar-buttons {
       display:none;
    }

    .sidebar.active .sidebar-container {
        padding-top:0;
        width:100%;
        position: absolute;
        overflow: scroll;
    }

    .sidebar {
        width:100%;
    }

    .sidebar-content.kursbuch {
        height:auto;
    }

    .sidebar-content.kursbuch .top-container {
        height:10rem;
    }

 

 }


/*!
 *  ====================================================
 *  Anchor
 *  ====================================================
 */

.anchor {
     padding: 0px;
    text-decoration:none !important;
    line-height:1.5;
    display: inline-block;
    white-space:nowrap;
}

.anchor:not(.nounderline) {
      padding-bottom:0.313rem;
}


.anchor:not(.nounderline):after {
    content: '';
    height: 1px;
    display:block;
}

.anchor.anchor-secondary {
     color:#6c757d;
     font-weight:bold;
}

.anchor.anchor-secondary:after {
    background: #6c757d;
}


.anchor.anchor-secondary:hover, .anchor.anchor-secondary:active,  .anchor.anchor-secondary:focus {
    color: #333;
}

.anchor.anchor-secondary:hover::after, .anchor.anchor-secondary:active::after,  .anchor.anchor-secondary:focus::after {
    background: #333;
}

.anchor.anchor-secondary.anchor-detailback {
    width:100%;
}

.anchor.anchor-secondary.anchor-detailback i {
    font-size:0.75rem;
}

.anchor.anchor-secondary.anchor-detailback:after {
    margin-top:0.75rem;
    background:#ccc;
}



.anchor.anchor-primary {
    color:#e5222f;
    font-weight:bold;
}

.anchor.anchor-primary:after {
    background: #e5222f;
}

.anchor.anchor-primary:hover, .anchor.anchor-primary:active,  .anchor.anchor-primary:focus {
    color: #b11c28;
}

.anchor.anchor-primary:hover::after, .anchor.anchor-primary:active::after,  .anchor.anchor-primary:focus::after {
    background: #b11c28;
}

.anchor.anchor-white {
    color:#fff;
    opacity:0.8;
}

.anchor.anchor-white:after {
    background: #fff;
    opacity:0.8;
}

.anchor.anchor-white:hover, .anchor.anchor-white:active,  .anchor.anchor-white:focus {
    opacity:1;
}

.anchor.anchor-white:hover::after, .anchor.anchor-white:active::after,  .anchor.anchor-white:focus::after {
     opacity:1;
}



.iconanchor {
     padding: 0px;
     padding-bottom:0.313rem;
    text-decoration:none !important;
    line-height:1.5;
    color:#6c757d;
    font-weight:bold;
    white-space:nowrap;
}

.iconanchor.black {
    color:#242424;

}


.iconanchor i {
    margin-right: 0.313rem;
    display: inline-block;
    color: #e5222f;
}


@media (min-width: 992px) {
.iconanchor:not(.nounderline) i {
    font-size: 1.313rem;
    vertical-align: -0.25rem;
}
.iconanchor i {
    font-size: 0.875rem;
}
}

@media (max-width: 991px) {
.iconanchor:not(.nounderline) i {
    font-size: 1.5rem;
    vertical-align: -0.375rem;
}
.iconanchor i {
    font-size: 1rem;
}
}


.iconanchor span {
    display:inline-block;
}


.iconanchor:not(.nounderline) span:after {
    content: '';
    height: 1px;
    background: #6c757d;
    display:block;

}

.iconanchor:hover, .iconanchor:active,  .iconanchor:focus {
    color: #333;
}

.iconanchor:hover::after, .iconanchor:active::after,  .iconanchor:focus::after {
    background: #333;
}


.anchor.anchor-sm  {
    font-size: 0.75rem;
    line-height:1rem;
}





/*!
 *  ====================================================
 *  Forms White
 *  ====================================================
 */


.form-control {
    font-size: 0.889rem !important;
}

.form-control-sm {
    font-size: 0.7rem !important;
}

.form-searchbox {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
}

.form-searchbox .form-control {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
    height: calc(2.75rem + 2px);
    line-height: 1.25;
    padding-left: 3.25rem;
}


.form-searchbox .form-control::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #444;
  opacity: 1; /* Firefox */
}

.form-searchbox .form-control:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #444;
}e

.form-searchbox .form-control::-ms-input-placeholder { /* Microsoft Edge */
  color: #444;
}

.form-searchbox .form-searchbox-icon {
    display: flex;
    position: absolute;
    left: 1.25rem;
    z-index: 2;
    height:100%;
}

.form-searchbox .form-searchbox-icon i {
    align-self: center;
    font-size: 1.1rem;
}

.form-searchbox .form-searchbox-icon i:before {
    color:#555;
}

.form-group  {
    display:flex;
    background-color:#fff;
    border-radius: 0.25rem;
    flex-flow: column;
    font-size: 0.889rem;
}



.form-group .inner-container {
      display:flex;
      justify-content: space-between !important;
      padding:1rem;
      flex-wrap:wrap;
      position:relative;
}



.form-group .form-searchbox-label {
    font-weight:700;
    align-self: center;
    pointer-events:none;
    min-width:7rem;
   
}


.form-group.form-big .form-searchbox-label {
    width:100%;
}


.form-group .label-legende {
        float: right;
    display: flex;
    font-size:0.7rem;
}

.form-group .label-legende .form-check {

}

.legende-input-container {
    background-color: #e5222f !important;
    border: 1px solid #e5222f;
    padding: 0.1rem;
    border-radius: 0.2rem;
    float: left;
    margin-left: -1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1px;
    position: relative;
    top: 3px;
}

.legende-input-container.white {
    background-color: #fff !important;
    border:1px solid #333;
}


.form-group .label-legende .form-check input {
  width: 10px;
    height: 10px;
    min-width: 9px;
    min-height: 10px;
    margin-left: 0;
    margin-top: 0;
}

.form-group .label-legende .form-check input.checked{
         background-color: #e5222f !important;
    border-color: #fff !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6 10l3 3l6-6'/%3e%3c/svg%3e") !important;

}


.form-group .label-legende .form-check:last-child {
        margin-left:0.5rem;
}

.form-group .label-legende .form-check:last-child input {
    border-color: #333;
    background-color: transparent;
  
}

.form-group .form-searchbox-input{
     display:flex;
    justify-content: flex-end !important;
    flex-wrap:wrap;
}

.form-group.form-big .form-searchbox-input {
        justify-content: flex-start !important;
        width:100%;
}


.form-group .datepicker-item {
    height:100%;
    display:flex;
}


.form-group .datepicker-item input {
    cursor:pointer;
}


.form-group .datepicker-item input::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  font-weight:normal;
  color:#000;
}

.form-group .datepicker-item input:-ms-input-placeholder { /* Internet Explorer 10-11 */
 font-weight:normal;
  color:#000;
}

.form-group .datepicker-item input::-ms-input-placeholder { /* Microsoft Edge */
  font-weight:normal;
  color:#000;
}


.form-group .datepicker-item i {
    font-size:0.75rem;
    padding-top:0.17rem;
}


.form-group .datepicker-item.splitter {
      margin-right: .9rem;
    border-right: 1px solid #000;
    padding-right: .1rem;
    height: 0.85rem;
    margin-top: 0.4rem;
}



.form-group .form-searchbox-input i {
     color: #636769;
     align-self: center;
     cursor:pointer;
}

.form-group .form-searchbox-input i.hasDate {
     color: #e5222f;
}

.form-check {
    margin-bottom:0px;
}


.form-group .form-searchbox-input input[type=text], .form-group .form-searchbox-input input[type=DATE] {
 background: none;
    border: none;
    align-self: center;
    height: 100%;
    height: 1.5rem;
    margin-left: 0.5rem;
    width: 5rem;
    padding: 0;

}

.form-group .form-searchbox-input input:hover, .form-group .form-searchbox-input input:active, .form-group .form-searchbox-input input:focus {
    text-decoration:none;
    outline: none !important;
    box-shadow: none !important;
}



.datepicker table tr td.active:active, .datepicker table tr td.active.highlighted:active, .datepicker table tr td.active.active, .datepicker table tr td.active.highlighted.active {
    color: #fff;
    background-color: #e5222f !important;
    border-color: none;
}

.datepicker table tr td span.active, .datepicker table tr td span.active:hover, .datepicker table tr td span.active.disabled, .datepicker table tr td span.active.disabled:hover {
 color: #fff;
    background-color: #e5222f !important;
    border-color: none;
}

.datepicker table tr td span.active:active:hover, .datepicker table tr td span.active:hover:active:hover, .datepicker table tr td span.active.disabled:active:hover, .datepicker table tr td span.active.disabled:hover:active:hover, .datepicker table tr td span.active.active:hover, .datepicker table tr td span.active:hover.active:hover, .datepicker table tr td span.active.disabled.active:hover, .datepicker table tr td span.active.disabled:hover.active:hover, .datepicker table tr td span.active:active:focus, .datepicker table tr td span.active:hover:active:focus, .datepicker table tr td span.active.disabled:active:focus, .datepicker table tr td span.active.disabled:hover:active:focus, .datepicker table tr td span.active.active:focus, .datepicker table tr td span.active:hover.active:focus, .datepicker table tr td span.active.disabled.active:focus, .datepicker table tr td span.active.disabled:hover.active:focus, .datepicker table tr td span.active:active.focus, .datepicker table tr td span.active:hover:active.focus, .datepicker table tr td span.active.disabled:active.focus, .datepicker table tr td span.active.disabled:hover:active.focus, .datepicker table tr td span.active.active.focus, .datepicker table tr td span.active:hover.active.focus, .datepicker table tr td span.active.disabled.active.focus, .datepicker table tr td span.active.disabled:hover.active.focus {
       color: #fff;
    background-color: #e5222f !important;
    border-color: none;
}


.form-group .popup-selection {
    height:100%;
      display:flex;
    justify-content: flex-end !important;
}

.form-group.form-big .popup-selection {
     justify-content: space-between !important;
     width:100%;
}

.form-group .popup-selection .selection-text {
     align-self: center;
     cursor:pointer;
     margin-right:1rem;
      max-width: 30rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
      -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Old versions of Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome, Edge, Opera and Firefox */
}

.form-group.termin-picker .popup-selection .selection-text {
    font-weight:bold;
}

.form-group.termin-picker .inner-container {
    padding:0.5rem;
        padding-left:0.75rem;
    padding-right:0.75rem;

}


.form-group .popup-selection .toogle-icon {
     align-self: center;
     cursor:pointer;
     display:flex;
     align-items:center;
}


.form-group .popup-selection .toogle-icon i {
     color:#5d666b !important;
     font-size:0.5rem;
}


.form-group .popup-wrapper {
    display:none;
    justify-content:flex-end;
    position: relative;
    z-index:1;

}

.form-group .popup-outer-container {
    background-color:#fff;
    position: absolute;
     padding-left: 0.3rem;
    padding-right: 0.3rem;
     border-radius: 0.25rem;
   top: -0.25rem;
}

.form-group .popup-container {
    position: relative;
    background-color: #fff;
    padding: 1rem;
    z-index: 2;
    min-width: 18rem;
}

.form-group .popup-container.scrollable {
    height: 12rem;
    overflow-y: scroll;
     -webkit-mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
     mask-image: linear-gradient(to bottom, black 50%, transparent 100%);

       scrollbar-color: #5d666b #fff;
  scrollbar-width: thin;

}

.form-group.termin-picker .popup-container {
    padding:0.5rem;
    min-width:auto;
}

.form-group.termin-picker .popup-container .popup-item {
    border-bottom:none;
}


.form-group .popup-container.scrollable::-webkit-scrollbar {
  width: 0.4rem;
}
 
.form-group .popup-container.scrollable::-webkit-scrollbar-track {
    box-shadow: inset 0 0 4px #9494944d;
    border-radius: 0.5rem;
}
 
.form-group .popup-container.scrollable::-webkit-scrollbar-thumb {
    background-color: #5d666b;
    border-radius: 0.5rem;
}



.form-group.form-big:not(.form-bundesland) .popup-container {
         width: 100%;
}


.form-group.form-big:not(.form-bundesland) .popup-outer-container {
         width: 100%;
}

.search-filter-mobile-container .form-group.form-big.form-bundesland .popup-outer-container {
        top:-20rem;
}


.form-group .popup-wrapper.open{
    display:flex;
}

.form-group .popup-container .popup-item {
    display: flex;
    justify-content: space-between !important;
    line-height: 2;
    border-bottom: 1px solid #ccc;
    cursor:pointer;
     -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Old versions of Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome, Edge, Opera and Firefox */
}

.form-group .popup-container .popup-item .form-check-input {
     pointer-events: none;
     position: relative;
     top: 3px;
}



.form-group .popup-container .popup-item:hover>.popup-name {
    font-weight:700;
}

.form-group.isdisabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.form-group.isdisabled .label-legende {
    visibility:hidden;
}

.form-group .form-searchbox-input .kategorie-item {
    border-radius: 0.25rem;
    padding-left: 0.4rem;
    padding-right: 0.4rem;
    border: 1px solid #333;
    color: #333;
    margin-right:0.5rem;
    cursor:pointer;
    font-size:0.889rem;
}




.form-group .form-searchbox-input .kategorie-item .form-check {
      pointer-events:none;
}


.form-group .form-searchbox-input .kategorie-item .form-check label {
         -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Old versions of Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome, Edge, Opera and Firefox */
        white-space:nowrap;

}

  .form-group .form-searchbox-input .kategorie-item {
     
         margin-top:0.5rem;
    }



.form-group .form-searchbox-input .kategorie-item:first-child {
    margin-left:0;
}

.form-group .form-searchbox-input .kategorie-item input {
     border: 1px solid #333;
     background-color:transparent;
}

.form-group .form-searchbox-input .kategorie-item.ischecked {
    background-color: #e5222f;
    border: 1px solid #e5222f;
    color: white;
}

.form-group .form-searchbox-input .kategorie-item.ischecked input {
     background-color: #e5222f !important;
    border-color: #fff !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6 10l3 3l6-6'/%3e%3c/svg%3e") !important;

}




.form-control, .form-select {
    border-color:#fff;
    
}

.form-control:hover, .form-control:active, .form-control:focus, .form-select:hover, .form-select:active, .form-select:focus, .form-check-input:hover, .form-check-input:active, .form-check-input:focus     {
    text-decoration:none;
    outline: none !important;
    box-shadow: none !important;
}

.form-control:disabled, .form-control[readonly] {
    opacity:0.8;
    background-color:white;
    color:#a0a6ab;
}

.form-control:active:not([disabled]), .form-control:focus:not([disabled]), .form-select:active:not([disabled]), .form-select:focus:not([disabled]) {
    border:1px solid #333;
}


.form-floating.isMandatory label:after {
    font-size: 0.5rem;
    margin-left: 0.313rem;
    vertical-align: 0.313rem;
    color: #e5222f;
    font-family: 'fontawesome4';
    content: '\f069';
}

.form-floating>.form-control, .form-floating>.form-select {
    height: calc(2.75rem + 2px);
    line-height: 1.25;
}

.form-floating>label {
    padding: .65rem .75rem;
    color: #bac1c7;
    font-weight:100;
    opacity:1 !important;
    font-size:0.889rem;
}

.form-floating > .form-select {
    padding-top: 1.25rem;
    padding-bottom: 0.325rem;
}

.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown) {
    padding-top: 1.563rem;
    padding-bottom: 0.625rem;
}

.form-floating.isDisabled>label {
     opacity:0.8 !important;
     color:#a0a6ab;
}

.form-check-input {
    border-color:#e5222f;
    border-radius: 1rem !important;
    min-width:1rem;
    min-height:1rem;
}

.form-check-input:checked {
    background-color:#fff !important;
    border-color:#e5222f !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23e61a30' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6 10l3 3l6-6'/%3e%3c/svg%3e") !important;
}


.form-check-input:active:not([disabled]), .form-check-input:focus:not([disabled]), .form-check-input:active:not([disabled]),.form-check-input:focus:not([disabled]) {
    border:1px solid #e5222f;
}

.form-check-input:disabled {
    border-color: #333 !important;
}

.form-check-input:checked:disabled {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23333' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6 10l3 3l6-6'/%3e%3c/svg%3e") !important;
}



/*!
 *  ====================================================
 *  Forms Grey
 *  ====================================================
 */

.form-grey .form-control, .form-grey .form-select {
    border-color:#e9ebee;
    background-color:#e9ebee;
}


.form-grey .form-control:disabled, .form-grey .form-control[readonly] {
    opacity:0.5;
    background-color:#e9ebee;
    color:#758289;
}


.form-floating.form-grey.isMandatory label:after {
    font-size: 0.4rem;
    margin-left: 0.313rem;
    vertical-align: 0.313rem;
    color: #e5222f;
    font-family: 'fontawesome4';
    content: '\f069';
}

.form-floating.form-grey>.form-control, .form-floating.form-grey>.form-select {
    height: calc(2.75rem + 2px);
    line-height: 1.25;
}

.form-floating.form-grey>label {
    padding: .65rem .75rem;
    color: #71787c;
    font-weight:100;
    white-space:nowrap;
}

.form-floating.form-grey.isDisabled>label {
     opacity:0.5 !important;
     color:#758289;
}

.form-group.form-grey {
     border-color:#e9ebee;
    background-color:#e9ebee;
}


.form-group.form-grey .popup-container {
    background-color:#e9ebee;
   }


.form-group.form-grey .popup-outer-container {
    background-color:#e9ebee;
   }


.form-group.form-grey .datepicker-item ion-icon {
    color:#5d666b;
}



.datepicker {
    padding: 0.75rem;
}


#course-search-dropdownbox {
    position:relative;
}


/*!
 *  ====================================================
 *  FORMS Validation
 *  ====================================================
 */

.was-validated .form-control:invalid, .form-control.is-invalid {
    border-color: #e5222f;
}

.was-validated .form-control:valid, .form-control.is-valid {
    border-color: #198754;
}


/*!
 *  ====================================================
 *  Alerts
 *  ====================================================
 */

.alert-info {
        background-color: #e9ebee;
    border: none;
    color: #000;
    border-radius: 0;
    width: calc(100% - 15px);
}

.alert-info .icon-container {
     float: right;
    position: relative;
    top: -34px;
    background-color: #e5222f;
    color: white;
    height: 40px;
    width: 40px;
    border-radius: 40px;
    display: flex;
    padding-top:2px;
    justify-content: center;
    right: -30px;
    align-items:center
}

.alert-info .icon-container .texticon {
       font-size: 1.4rem;
       font-weight: 700;
       position:relative;
       top:-3px;
} 

.alert-info .icon-container .fa {
       font-size: 1.1rem;
}


.alert-danger {
    background-color: #fdf0f0;
    color: #A31414;
    border: none;
    padding-top: 0.5rem;
    padding-bottom: 0.7rem;
    font-size: 0.889rem;
}

.swal2-icon.swal2-error {
    border-color: #e5222f;
    color: #e5222f;
}

.swal2-popup {
    border-radius:0;
}

.alert-danger a{
    font-weight:bold;
}


 /*!
 *  ====================================================
 *  Teaser
 *  ====================================================
 */

 .teaser-wall-container {
     display:flex;
     flex-wrap:wrap;
    left: -5px;
    width: calc(100% + 10px);
    position:relative;
 }

 .teaser-wall-container .teaser-container {
     height: 30rem;
 }



 .teaser-wall-container .teaser-outer-container {
      width:25%;
      padding:0.3rem;
}

 .swiper-container .teaser-outer-container {
     padding:0.5rem;
 }

 .teaser-wall-container.three-teaser-row .teaser-outer-container {
      width:33%;
}


  .teaser-wall-container .teaser-outer-container.teaser-sm .teaser-container {
     height: 15rem;
     line-height:1.2;
 }


@media (max-width: 1399px) {

     .teaser-wall-container .teaser-outer-container, .teaser-wall-container.three-teaser-row .teaser-outer-container {
      width:50%
    }

}

@media (max-width: 767px) {

    .teaser-wall-container .teaser-outer-container, .teaser-wall-container.three-teaser-row .teaser-outer-container {
      width:100%
}

.teaser-wall-container .teaser-container {
     height: auto;
 }

.teaser-wall-container .teaser-container .body-inner-bottom {
     margin-top:2rem !important;
 }



}


 .teaser-container {
     background-color:#fff;
     -webkit-box-shadow: 0px 0px 11px 5px #eaeaea;
    box-shadow: 0px 0px 11px 5px #eaeaea;
    display: flex;
    flex-direction: column;
    position:relative;
 }

 .teaser-container.clickable {
    cursor:pointer;
}

.teaser-container.clickable:hover {
   -webkit-box-shadow: 0px 0px 11px 5px #d1d1d1;
    box-shadow: 0px 0px 11px 5px #d1d1d1;
     -webkit-transition : box-shadow ease-in-out .2s;
      transition : box-shadow ease-in-out .2s;
}

 .teaser-image img {
    max-width: 100%;
    height:auto;
 }

  .teaser-body {
    padding: 2rem;
    padding-top: 1.8rem;
    height:100%;
 }

    .teaser-body .teaser-body-inner {
    display:flex;
    flex-direction:column;
    height:100%;
 }


 .teaser-body .teaser-body-inner .body-inner-top {
          margin-bottom: auto !important;
  }

  
.teaser-body .teaser-body-inner  .body-inner-bottom {
    display:flex;
    align-items:center;
    justify-content:space-between;

  }

.teaser-body .teaser-body-inner  .body-inner-bottom .anchor, .teaser-body .teaser-body-inner  .body-inner-bottom .iconanchor  {
    font-size:0.889rem;
  }


.teaser-categorie {
    position: absolute;
    right: 0;
    font-size: 0.75rem;
    height: 2rem;
    display: flex;
    align-items: center;
    padding-left: 0.75rem;
    padding-right: 1rem;
    color:white;
}

.teaser-categorie .cat-slant {
        height: 100%;
    width: 1.4rem;
    transform: skewX(340deg);
    position: absolute;
    left: -0.45rem;
    z-index: 1;
 
}

.teaser-categorie span {
    z-index: 2;
    font-weight:bold;
}


.teaser-categorie.cat-color-neuestekurse, .teaser-categorie.cat-color-neuestekurse .cat-slant  {
    background-color: #e5222f;
}

.teaser-categorie.cat-color-allgemeines, .teaser-categorie.cat-color-allgemeines .cat-slant  {
    background-color: #5d666b;
}

.teaser-categorie.cat-color-ansprechpartner, .teaser-categorie.cat-color-ansprechpartner .cat-slant  {
    background-color: #000;
}

.teaser-body .teaser-body-inner .teaser-quicklinks-icon {
    height: 4rem;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #ccc;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
}

.teaser-body .teaser-body-inner .teaser-quicklinks-icon img {
    max-width:9rem;
}


 /*!
 *  ====================================================
 *  Breadcrumb
 *  ====================================================
 */


.page-breadcrumb-container {
    height:6rem;
    width:100%;
    display:flex;
    align-items:center;
    flex-wrap:wrap;
}

.page-breadcrumb-container .breadcrumb-item {
   font-size:0.75rem;
}

.page-breadcrumb-container .breadcrumb-item .btn-icon {
      width: 1rem;
    height: 1rem;
    font-size: 0.5rem;
    border-radius: 0.2rem;
 }


.page-breadcrumb-container .breadcrumb-item.active {
   font-weight:bold;
   color:#000;
}

.page-breadcrumb-container .breadcrumb-splitter {
   margin-left: 0.5rem;
   margin-right:0.5rem;
}




/*!
 *  ====================================================
 *  Barrierefreiheit
 *  ====================================================
 */

.section-karriereleiter .tg-bold, .karriereleiter-counter .counter-row .counter-number, .karriereleiter-counter .counter-row .counter-number,
.karriereleiter-row.headline .karriereleiter-bar, .karriereleiter-row.headline .karriereleiter-links, .section-quicklinks .tg-bold {
    color: #000 !important;
}

.iconanchor {
    color: #616970;
}

.karriereleiter-bottom-container {
    background-color:transparent !important;
}

.header-right .searchbox-container-inner {
    font-weight: bold;
    background-color: #e5222f;
}


.header-right .searchbox-container-inner i {
    font-weight:bold;
}

.karriereleiter-bar .anchor {
    font-weight: bold;
    opacity: 1 !important;
}

.anchor.anchor-secondary {
    color: #616970;
}

.anchor.anchor-secondary:after {
    background: #616970;
}

.startseite-slider-container .swiper-slide .video-overlay:after {
    background-color: rgba(0,0,0,.6) !important;
}

.mobilemenu-container .headerbar-container .headerbar-content .searchbox-container-inner {
    background-color: #e5222f;
}

.startseite-slider-container .swiper-slide .video-overlay a span {
    display:none;
}

.form-floating.form-grey > label {
    color: #494E50;
}

.form-floating > label {
    color: #50595E;
}

.form-grey .form-control:disabled, .form-grey .form-control[readonly] {
    opacity: 1;
    background-color: #fcfcfc;
    color: #545559;
    cursor: not-allowed;
}

.booking-overview-container .step-list li {
    border-bottom: 1px solid #000;
    color: #000;
}

.booking-overview-container .marker-container .marker {
    opacity: 1;
    border: 2px solid #fff;
}

.booking-overview-container .marker-container .delimiter {
    opacity: 1;
    border-right: 2px solid #fff;
}

.booking-overview-container .marker-container .marker i {
    font-size:0.3rem;
}

/*!
 *  ====================================================
 *  Mobile
 *  ====================================================
 */
@media (max-width: 1024px) {
    .header-right .course-search-container .submenu-container {
        margin-left: 0;
        width: 100%;
    }

    .header-right .course-search-container .submenu-container .submenu{
        width: 100%;
    }
}

  


 @media (max-width: 991px) {

    .page-padding-left {
        padding-left:2.5rem !important;
    }

    .page-padding-right {
        padding-right: 2.5rem !important;
    }

    .page-padding-left-xl {
        padding-left:2.5rem !important;
    }

       .page-padding-left-lg {
        padding-left:2.5rem !important;
    }

             .page-padding-right-lg {
        padding-right:2.5rem !important;
    }

      .page-padding-left-md {
        padding-left:2.5rem !important;
    }

    .page-padding-right-md {
        padding-right: 2.5rem !important;
    }


    .main-footer .top-footer .footer-contact {
        padding-left:2.5rem !important;
      padding-right: 2.5rem !important;
    }

      .main-footer .top-footer .footer-contact, .main-footer .bottom-footer {
        padding-left:2.5rem !important;
      padding-right: 2.5rem !important;
    }



}

@media (max-height:900px) {

.submenu-container .search-filter-container {
    height: 100vh;
    overflow: auto;
}

.submenu-container .search-filter-mobile-container {
    height: 100vh;
    overflow: auto;
}

    .header-right .course-search-container.selector-show .submenu-container {
        height: calc(100vh - 7rem);
        overflow-y: auto;
    }

}



@media (max-width: 767px), (max-height:450px) {

    .main-header {
        height:5rem;
    }

    .header-right .searchbox-container {
            width: 5rem;
    }

    .mobilemenu-container .mobilemenu-inner {
        min-height:auto;
    }


    .submenu.course-search .searchresult-container-inner, .submenu.course-search .searchresult-button {
        padding: 1.5rem;
    }

    .page-content {
        margin-top:6rem;
    }

     .page-content.homesite {
        margin-top:5rem;
    }

 

     .page-padding-left  {
        padding-left:1.5rem !important;
    }

    .page-padding-right {
        padding-right: 1.5rem !important;
    }

     .page-padding-left-xs  {
        padding-left:1.5rem !important;
    }

     .page-padding-left-xl {
        padding-left: 1.5rem !important;
}

          .page-padding-left-lg {
        padding-left: 1.5rem !important;
}

          .page-padding-right-lg {
        padding-right: 1.5rem !important;
}

          .page-padding-left-md {
        padding-left:1.5rem !important;
    }

    .page-padding-right-md {
        padding-right: 1.5rem !important;
    }


    .page-padding-right-xs {
        padding-right: 1.5rem !important;
    }

    .page-breadcrumb-container {
        height:3rem;
    }

      .mobilemenu-container .headerbar-container .headerbar-content {
        width: calc(100% - 8.5rem);
    }

    .mobilemenu-container .headerbar-container .headerbar-red {
        width: calc(100% - 5rem);
    }

    .mobilemenu-container .headerbar-container {
        height: 5rem;
    }

    .mobilemenu-container .headerbar-container {
        height: 5rem;
    }

      .mobilemenu-container .headerbar-container .btclose {
    font-size: 1.4rem;
    }




    .sidebar-content.merkliste, .sidebar-content.warenkorb {
        padding:2rem;
    }

    .main-header .logo-linkcontainer {
        width:8.8rem;
    }


    .header-left .logo-inner .btn{
        margin-left:1rem;
    }

    .logo-signature {
        width:0.5rem;
        -webkit-box-shadow: 0px 1px 6px 0px rgba(0,0,0, .23);
    box-shadow: 0px 1px 6px 0px rgba(0,0,0, .23);

    }

    .main-nav .header-left .logo-inner {
         -webkit-box-shadow: 0 10px 7px -10px rgba(0,0,0, .23);
         box-shadow: 0 10px 7px -10px rgba(0,0,0, .23);
    }

    .header-right {
       -webkit-box-shadow: 0 10px 7px -10px rgba(0,0,0, .23);
       box-shadow: 0 10px 7px -10px rgba(0,0,0, .23);
    }

    .main-footer {
        -webkit-box-shadow:  0 1px 11px 2px #c9c9c9;
        box-shadow: 0 1px 11px 2px #c9c9c9;
    }
   


    .header-left .logo-signature.splitter {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
}

    .header-right .searchbox-red {
        width:4.2rem;

    }

    .header-right .searchbox-container-inner-mobile {
      font-size: 1.3rem;
      margin-left: 1.4rem;
    }

   .header-right .header-menu-mobile .btn-mobile-menu {
       font-size:1.5rem;
   }

   .header-right .header-menu-mobile .btn-mobile-menu .bt-mobile-inner {
       font-size:0.4rem;
   }

   .main-header .submenu-container {
       margin-top:5rem;
   }




    .submenu.course-search .textbox-container, .submenu.course-search .filter-container {
        padding:2rem;
    }

    .submenu.course-search .textbox-container .textbox-inner {
        font-size:1rem;
        padding-bottom:0.5rem;
    }

    .submenu.course-search .textbox-container .textbox-inner i {
        top:5px;
    }

     .submenu.course-search .filter-container .anchor-secondary {
        font-size:0.75rem;
    }

     .main-nav .header-left .logo-inner.selector-show > .submenu-container .submenu {
         padding-top:5rem;
         width:16rem;
     }

     .main-nav .header-left .logo-inner .submenu-container .submenu-content {
           padding:1.5rem;
           padding-top:0;
           
     }


       .main-footer .top-footer .footer-contact {
        padding-left:1.5rem !important;
      padding-right: 1.5rem !important;
    }

      .main-footer .top-footer .footer-contact, .main-footer .bottom-footer {
        padding-left:1.5rem !important;
      padding-right: 1.5rem !important;
    }

    .main-footer .bottom-footer .left-links {
        display:flex;
        flex-direction:column;
        margin-right:0;
    }

}

@media (max-width: 320px) {
    .header-right .searchbox-red {
    width: 3rem;
}
    .header-right .searchbox-container-inner-mobile {
    margin-left: 0.8rem;
}

      .page-padding-left  {
        padding-left:1rem !important;
    }

    .page-padding-right {
        padding-right: 1rem !important;
    }

     .page-padding-left-xs  {
        padding-left:1rem !important;
    }

     .page-padding-left-xl {
        padding-left: 1rem !important;
}

          .page-padding-left-lg {
        padding-left: 1rem !important;
}

                    .page-padding-right-lg {
        padding-right: 1rem !important;
}


          .page-padding-left-md {
        padding-left:1rem !important;
    }

    .page-padding-right-md {
        padding-right: 1rem !important;
    }


    .page-padding-right-xs {
        padding-right: 1rem !important;
    }


}



 /*!
 *  ====================================================
 *  CSS Loader
 *  ====================================================
 */



.loadingspinner-container {
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-direction:column;
}

.loadingspinner-container .loadingspinner {
  width: 50px;
  height: 50px;
  border: 3px solid rgba(0,0,0,.3);
  border-radius: 50%;
  border-top-color: #000;
  animation: spin 1s ease-in-out infinite;
  -webkit-animation: spin 1s ease-in-out infinite;
  display:inline-block;
}


 .searchresult-loader {
     display:none;
     height:20rem;
 }

 
.loadingspinner-container .loadingtext {
   font-weight:700;
   margin-top:1rem;
   font-size: 0.889rem;
 }


@keyframes spin {
  to { -webkit-transform: rotate(360deg); }
}
@-webkit-keyframes spin {
  to { -webkit-transform: rotate(360deg); }
}

 /*!
 *  ====================================================
 *  CSS Loader
 *  ====================================================
 */

 .content-table {
    width:100%;
}

.content-table, .content-table th, .content-table td {
    border: 1px solid #5d666b;
    font-size:0.889rem;
}

.content-table th, .content-table td {
    padding:0.5rem;
}

.content-table th .marker, .content-table td .marker{
    margin: auto;
}

.stundenplan-table {
    width:100%;
    border:none;
}

.stundenplan-table tr {
    border-bottom:1px solid #ccc;
}

.stundenplan-table thead td {
        font-size:0.75rem;
    font-weight:bold;
    color:#5d666b;
}


.stundenplan-table  td {
   padding:0.5rem;
}




.mwst {
    font-size: small;
    font-weight: normal;
    color:#5d666b !important;
}

@media (min-width: 992px) {
    .form--centered {
        max-width: 580px;
        margin-left: auto;
        margin-right: auto;
    }
    .alert--centered {
        max-width: 580px;
        margin-left: auto;
        margin-right: auto;
    }
}

 /*!
 *  ====================================================
 *  Social Sharing
 *  ====================================================
 */

.jssocials-share-link {
    font-size: 0.7rem;
    border-radius: 0.25rem;
}

.jssocials-share-link:hover {
    text-decoration:none !important;
}

.modal-transparent {
    background-color:transparent;
}

.linkbutton {
    border: none;
    background: none;
    color: #6c757d;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}