/* signika-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Signika';
  font-style: normal;
  font-weight: 300;
  src: url('/fileadmin/fonts/signika-v25-latin-300.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/fileadmin/fonts/signika-v25-latin-300.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* signika-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Signika';
  font-style: normal;
  font-weight: 400;
  src: url('/fileadmin/fonts/signika-v25-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/fileadmin/fonts/signika-v25-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* signika-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Signika';
  font-style: normal;
  font-weight: 600;
  src: url('/fileadmin/fonts/signika-v25-latin-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/fileadmin/fonts/signika-v25-latin-600.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* signika-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Signika';
  font-style: normal;
  font-weight: 700;
  src: url('/fileadmin/fonts/signika-v25-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/fileadmin/fonts/signika-v25-latin-700.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* crimson-text-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Crimson Text';
  font-style: normal;
  font-weight: 400;
  src: url('/fileadmin/fonts/crimson-text-v19-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/fileadmin/fonts/crimson-text-v19-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* crimson-text-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Crimson Text';
  font-style: italic;
  font-weight: 400;
  src: url('/fileadmin/fonts/crimson-text-v19-latin-italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/fileadmin/fonts/crimson-text-v19-latin-italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* crimson-text-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Crimson Text';
  font-style: normal;
  font-weight: 700;
  src: url('/fileadmin/fonts/crimson-text-v19-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/fileadmin/fonts/crimson-text-v19-latin-700.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* Allgemeines CSS*/
html {
    position: relative;
    min-height: 100%;
}
body {
    color: #4a4a49;
    font-family: 'Signika';
    overflow-x: hidden;
}
body.no-scroll{
    overflow: hidden;
    height: 100vh;
}
a{
    color: #5189c4;
}
a:hover, a {
    text-decoration: none;
}
button:focus{
    box-shadow: none;
}
img{
    width: 100%;
    height: auto;
}
iframe{
    width: 100%;
}
.content{
    padding-top: 40px;
    min-height: 80vh;
}
/*Header Top*/
.headtop {
    border-bottom: 1px solid #5189c4;
    position: fixed;
    width: 100%;
    background: white;
    z-index: 12;
}
.navbar-light .navbar-brand {
    z-index: 13;
}
.navbar-nav{
    text-align: right;
}
.navbar-collapse{
    padding-top: 20px;
}
.nav-link{
    font-size: 22px;
    text-transform: none;
    font-weight: 300;
    color: rgba(0,0,0,0.5);
}
.navbar-toggler{
    position: fixed;
    right: 20px;
    padding: 10px;
    background-color: white !important;
}
.navbar-toggler:focus{
    box-shadow: none;
}
.headtop a {
    color: #5189c4;
    padding: 5px;
    font-size: 140%;
    margin-right: 10px;
    font-weight: 300;
}
/*Header */
.navbar button{
    background: transparent;
    border: none;
    z-index: 10;
}
.navbar{
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    min-height: 66px;
}
.navbar-light .navbar-brand{
    color: black;
    background: white;
    border-radius: 50%;
    height: 105px;
    width: 105px;
    margin-bottom: -71px;
    padding: 7px;
}
.nav-item{
    text-align: center;
}
#navbarNav{
    position: fixed;
    z-index: 1;
}
.navbar-nav.d-lg-none{
    height: 100%;
    position: fixed;
    background-color: white;
    left: 0;
    margin-top: 10px;
    max-height: 100vh;
    overflow-y: auto;
}
.icon-menu {
     position: relative;
     display: inline-block;
     width: 35px;
     height: 25px;
     vertical-align: middle;
     fill: none;
     float: right;
}
.icon-menu .line {
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 3px;
     border-radius: 3px;
    -webkit-transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1.000);
       -moz-transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1.000);
         -o-transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1.000);
            transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1.000);
    -webkit-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1.000);
       -moz-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1.000);
         -o-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1.000);
            transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1.000);
    background-color: #5189c4;
}

.icon-menu .line-1 {
    top: 0;
}
.icon-menu .line-2 {
    top: 50%;
    margin-top: -1.5px;
}
.icon-menu .line-3 {
    bottom: 0;
}

/*Modal Navigaiton*/
.modal{
    --bs-modal-border-radius: 0;
}
.modal-dialog {
    max-width: none;
    height: 100vh;
    margin: 0;
}
.modal-content{
    height: 100vh;
}
.modal-header{
    border: none;
    padding-top: 0;
    padding-right: 0;
}
.modal-header .btn{
	position: relative;
	margin-left: auto;
    margin-bottom: auto;
    padding: 0;
}
.modal-header .btn:active{
	border: none;
}
.modal-menu {
     position: relative;
     display: inline-block;
     width: 35px;
     height: 25px;
     vertical-align: middle;
     fill: none;
     float: right;
}
.modal-menu .line {
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 3px;
    border-radius: 3px;
    -webkit-transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1.000);
       -moz-transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1.000);
         -o-transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1.000);
            transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1.000);
    -webkit-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1.000);
       -moz-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1.000);
         -o-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1.000);
            transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1.000);
    background-color: #5189c4;
}

.modal-menu .line-1 {
    top: 0;
    -webkit-transform: translateY(11px) translateX(0) rotate(45deg);
       -moz-transform: translateY(11px) translateX(0) rotate(45deg);
            transform: translateY(11px) translateX(0) rotate(45deg);
}
.modal-menu .line-2 {
    top: 50%;
    margin-top: -1.5px;
    opacity: 0;
}
.modal-menu .line-3 {
    bottom: 0;
    -webkit-transform: translateY(-11px) translateX(0) rotate(-45deg);
       -moz-transform: translateY(-11px) translateX(0) rotate(-45deg);
            transform: translateY(-11px) translateX(0) rotate(-45deg);
}
.modal-footer{
    border: none;
}
.modal .nav-item.first > .nav-link{
    color: #000;
    text-transform: uppercase;
}
.modal .navbar-nav > .nav-item::after, .navbar-brand div::after{
    content: "";
    border-bottom: 1px solid #5189c4;
    display: block;
    clear: both;
    padding: 0;
    margin: 25px 0;
}
.modal .navbar-nav .nav-item.first.active > a, .modal .navbar-nav .nav-item.first.active .sub .nav-item.sub.active > a{
    color: #5189c4;
}
.modal .sub.list-unstyled{
    line-height: 1rem;
}
.modal-body .logo {
	position: absolute;
	z-index: 0;
	opacity: 0.3;
	width: 53%;
	left: -64px;
	top: -20px;
}
.impressum, .impressum a{
	font-size: 22px;
	text-transform: none;
	font-weight: 300;
	color: rgba(0,0,0,0.5);
}
/*Content*/
.leveltitel {
    position: relative;
    font-size: 60px;
    color: #5189c4;
}
.sideheader {
	position: relative;
	font-size: 40px;
	color: #5189c4;
}
.list-group{
    border-radius: 2px;
}
.list-group-item.active{
    background-color: #5189c4;
    border-color: #5189c4;
}
.list-group-item.active a{
    color: white;
}
.list-group-item.sub.active{
    background-color: white;
    border-color: #dee2e6;
}
.list-group-item.sub.active a{
    color: #1e456f;
}
.list-group-item.active .list-group-item a{
    color: #5189c4;
}
.list-group-item.active .list-group .list-group-item{
    border: none;
}
.list-group-item.active .list-group-item.active{
    background-color: #5189c4;
}
.list-group-item.active .list-group-item.active a{
    color: white;
}
.ce-image .ce-gallery{
    margin-bottom: 10px;
}
/*Cookiehinweis*/
#CookieBox{
    max-height: unset;
    min-height: unset !important;
    top: 10% !important;
}
#CookieBox .cookie-btn{
    background: #5189c4 !important;
}
#CookieBox .intro .cookie-legal, #CookieBox2 .intro .cookie-legal {
	text-align: center !important;
}
#CookieBox .activated, #CookieBox2 .activated {
	background: #5189c4 !important;
}
#CookieBox .cookie-fix .cookieback, #CookieBox .cookie-fix .cookie-refuse, #CookieBox .cookie-btn, #CookieBox .cookie-management, #CookieBox .cookie-refuse{
	border-radius: 10px !important;
}
.cookie-set.script p, .cookie-set-direct.script p {
	padding: 5px !important;
    margin: 20px !important;
    background-color: #ccc !important;
}
/*Footer*/
.footer{
    margin-top: 30px;
}
@media (max-width: 576px){
    .container{
        padding: 0 2rem 0 2rem;
    }
}
@media(min-width: 576px){
    .modal-body .container{
        min-height: 80vh;
    }
}
@media (max-width: 768px){
    .leveltitel {
        position: relative;
        font-size: 40px;
        color: #5189c4;
    }
}
@media(min-width: 768px){
    .leveltitel {
        position: relative;
        top: -63px;
        font-size: 60px;
        color: #fff;
    }
    .navbar-light .navbar-brand{
        height: 135px;
        width: 135px;
        margin-bottom: -100px;
        padding: 7px;
        margin-top: 9px;
    }
}
@media (max-width: 992px){    
    .submenu .btn{
        margin: 5px 5px 5px 0;
        font-size: 22px;
        text-transform: none;
        font-weight: 300;
        color: rgba(0,0,0,0.5);
        border-radius: 1.5rem;
    }
    .submenu .part:nth-child(1) a{
        background-color: #ffb400;
        color: whitesmoke;
    }
    .submenu .part:nth-child(1) a:hover{
        background-color:  #b97f00;
        color: whitesmoke;
    }
    .submenu .part:nth-child(2) a{
        background-color:  #18892d;
        color: whitesmoke;
    }
    .submenu .part:nth-child(2) a:hover{
        background-color:  #156321;
        color: whitesmoke;
    }
    .submenu .part:nth-child(3) a{
        background-color:  #006964;
        color: whitesmoke;
    }
    .submenu .part:nth-child(3) a:hover{
        background-color:  #00423d;
        color: whitesmoke;
    }
    .submenu .part:nth-child(4) a{
        background-color:  #01377f;
        color: whitesmoke;
    }
    .submenu .part:nth-child(4) a:hover{
        background-color:  #011f3f;
        color: whitesmoke;
    }
    .submenu .part:nth-child(5) a{
        background-color:  #681462;
        color: whitesmoke;
    }
    .submenu .part:nth-child(5) a:hover{
        background-color:  #45103f;
        color: whitesmoke;
    }
    .submenu .part:nth-child(6) a{
        background-color:  #951723;
        color: whitesmoke;
    }
    .submenu .part:nth-child(6) a:hover{
        background-color:  #59141c;
        color: whitesmoke;
    }
}
@media (min-width: 992px){
    /*Header*/
    .header{
        padding-top: 20px;
    }
    .navbar{
        min-height: unset;
    }
    #navbarNav{
        position: relative;        z-index: 100;
    }
    .navbar-light .navbar-brand{
        height: 168px;
        width: 168px;
        z-index: 100;
    }
    .navbar-collapse{
        padding-top: 0;
    }
    .navbar-collapse.show {
        max-height: 500px; 
        opacity: 1;
        transition: opacity 1s ease-in-out;
    }
    #c297{
        display: none;
    }
    .nav-justified .nav-item{
        min-width: 160px;
        text-align: center !important;
        max-width: 180px;
        margin-right: 15px;
    }
    .site-header .navbar-light .navbar-nav .nav-link{
        font-size: 18px;
        text-align: center;
        color: #f8f9fa;
        position: relative;
    }
    .navbar-expand-lg .navbar-nav .nav-link{
        padding-right: 0.5rem;
        padding-left: 0.5rem;
        top: 53px;
        position: relative;
        color: #f8f9fa;
        font-size: 18px;
    }
    .nav-justified li.nav-item a.nav-link::after{
        content: "";
        display: block;
        width: 100%;
        height: 0;
        padding-bottom: 100%;
        background: #4679BD;
        border-radius: 50%;
        margin-top: -59%;
        position: absolute;
        z-index: -1;
        margin-left: -7px;
    }
    .nav-justified li.nav-item:nth-child(1) a.nav-link::after{
        background-color: #ffb400;
    }
    .nav-justified li.nav-item:nth-child(1) a.nav-link::after,
    .nav-justified li.nav-item:nth-child(1) a.nav-link.active::after {
      background: #ffb400;
    }
    .nav-justified li.nav-item:nth-child(1) a.nav-link:hover::after {
      background: #b97f00;
    }
    .nav-justified li.nav-item:nth-child(2) a.nav-link::after,
    .nav-justified li.nav-item:nth-child(2) a.nav-link.active::after {
      background: #18892d;
    }
    .nav-justified li.nav-item:nth-child(2) a.nav-link:hover::after {
      background: #156321;
    }
    .nav-justified li.nav-item:nth-child(3) a.nav-link::after,
    .nav-justified li.nav-item:nth-child(3) a.nav-link.active::after {
      background: #006964;
    }
    .nav-justified li.nav-item:nth-child(3) a.nav-link:hover::after {
      background: #00423d;
    }
    .nav-justified li.nav-item:nth-child(4) a.nav-link::after,
    .nav-justified li.nav-item:nth-child(4) a.nav-link.active::after {
      background: #01377f;
    }
    .nav-justified li.nav-item:nth-child(4) a.nav-link:hover::after {
      background: #011f3f;
    }
    .nav-justified li.nav-item:nth-child(5) a.nav-link::after,
    .nav-justified li.nav-item:nth-child(5) a.nav-link.active::after {
      background: #681462;
    }
    .nav-justified li.nav-item:nth-child(5) a.nav-link:hover::after {
      background: #45103f;
    }
    .nav-justified li.nav-item:nth-child(6) a.nav-link::after,
    .nav-justified li.nav-item:nth-child(6) a.nav-link.active::after {
      background: #951723;
    }
    .nav-justified li.nav-item:nth-child(6) a.nav-link:hover::after {
      background: #59141c;
    }

}