html {
    overflow-y:scroll;
}
body {
    --bs-body-font-size: 18px;
    overflow-x: hidden;
}

/* Navi*/

.page-header {
	position: fixed;
	top: 0;
	z-index: 900;
	width: 100%;
	/*max-width: 1920px;*/
	background: #fff;	
	margin: 0 auto;
	-webkit-transition: -webkit-transform .3s ease-out;
	transition: -webkit-transform .3s ease-out;
	transition: transform .3s ease-out;
	transition: transform .3s ease-out, -webkit-transform .3s ease-out;
    border-bottom: 1px solid var(--bs-primary);
}

.page-header:after {
	content: '';
	display: block;
	height: 3px;
	overflow: hidden;
	position: relative;
	top: -2px;
	background: #fff;
	-webkit-box-shadow:0 2px 2px 0 rgba(162,162,162,.3);
	/*! box-shadow:0 2px 2px 0 rgba(162,162,162,.3); */
	z-index:950
	
}
.noscroll .page-header {
	position: fixed;
	top: 0;
	z-index: 5000;
	width: 100%;
	max-width: 1920px;
	margin: 0 auto
}

.page-header.hide-page-header {
	-webkit-transform: translate(0, -100%);
	transform: translate(0, -100%)
}
.page-header-inner {
	height: 60px;
	padding: 8px 0px;
	position: relative;
	background: #fff
}

.page-header a.flag img {border-radius: 2px;}


@media only screen and (min-width:768px) {
	.page-header-inner {
		height: 60px;
		padding: 8px 0px
	}
}
@media only screen and (min-width:1600px) {
	.page-header-inner {
		height: 60px;
		padding: 8px 0px
	}
}

/**/

@media only screen and (max-width:991px) {
	.nav-top .dynamic,
	.nav-header button span {display:none;}
	
}


@media only screen and (max-width:420px) {
	.page-header .row.page-header-inner .col-5.pt-5 {padding: 0 5px;}
	.nav-top .list-inline-item {margin-right:0.3rem;}
}



.navbar-mainnavigation {box-shadow:none; }

.navbar-mainnavigation #icon-search a,
.navbar-mainnavigation #icon-lang button,
.navbar-mainnavigation #icon-accessibility a,
.navbar-mainnavigation #icon-close a{padding: 0.25rem;}
.navbar-mainnavigation #icon-search svg,
.navbar-mainnavigation #icon-lang svg {heigth: 24px!important;}
.navbar-mainnavigation #icon-lang button {display:block;}

.navbar-mainnavigation .nav-link {color: var(--bs-primary);}
.navbar-mainnavigation {padding: 1rem 0;}
.navbar-mainnavigation .nav-link:not(.nav-link-toggle).show::before, .navbar-mainnavigation .nav-link:not(.nav-link-toggle).active::before,
.navbar-mainnavigation .nav-link:not(.nav-link-toggle):hover::before, .navbar-mainnavigation .nav-link:not(.nav-link-toggle):focus-visible::before {
    opacity: 0;
}
.navbar-mainnavigation .nav-link:not(.nav-link-toggle).show, .navbar-mainnavigation .nav-link:not(.nav-link-toggle).active,
.navbar-mainnavigation .nav-link:not(.nav-link-toggle):hover, .navbar-mainnavigation .nav-link:not(.nav-link-toggle):focus-visible{
    font-weight: 600;
    color: var(--bs-primary);
}

#mega-navi {border:none;display:none;margin-top: 4rem;}
#mega-navi .row {min-height:60vh;}
#mega-navi .page-info {border-left: 2px solid var(--bs-primary);}


.megamenu-item.list-group-item {border:none; padding: 0 1rem 0 0; text-decoration: none;}
.megamenu-subitem.list-group-item {border:none; padding-left: 0;}

.megamenu-submenu .list-group.level-2,
.megamenu-submenu .list-group.level-3 {display:none;}


.megamenu-link {text-decoration: none;}

.megamenu-link.show, .megamenu-link.active,.megamenu-link:hover, .megamenu-link:focus-visible {
    font-weight: 600;
}

.megamenu-page-name {font-size: 3.1rem;}
.megamenu-subtitle {font-size: 2.2rem; ⁨⁨line-height: normal;}
.megamenu-image img {border-radius: 1rem;}

#language_menu.language-menu .list-group-item.active span.lang-text {color: var(--bs-list-group-active-color);}
#language_menu.language-menu.list-group .list-group-item:not(.active):hover {background-color: var(--bs-quaternary);}


.legal-menu ul {gap:0px;}
.legal-menu ul li a {border-right: 2px solid #F2F2A0; padding-right: 0.5rem; margin-right: 0.5rem;}
.legal-menu ul li:last-child a {border-right: none;}
.legal-menu ul li a {font-size: 0.95rem; font-weight: 400; text-decoration: none;}
.legal-menu ul li a:hover {font-weight: 600;}


#page-content {margin-top:4rem;}

/* Section-Menu */ 
.list-group.list-group-horizontal.menu-section a:hover {font-weight: 600;}

/* Headers */
h2.h1 {font-size: 2.25rem;}

/* Hero */
.hero .hero-image .gallery-row,
.hero .hero-image .gallery-item figure {height: 100%;}
.hero .hero-image .gallery-item img, 
.hero .hero-image .gallery-item picture {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Share */
.share-box {position: relative;}
.share-box img.share-btn:hover {cursor: pointer;}
.share-box .share-content {position: absolute;  display:none; right:0; bottom:0; z-index: 1050; width: 200px;background-repeat: no-repeat; background-position: 100% 0; background-size: 18px; background-image:url("../Icons/close-circled.svg"); background-color: var(--bs-white); border: 1px solid #00387b; border-radius: 0.5rem; padding: 1rem;}
.share-box .share-content a {text-decoration: none;}

/* Bilder & Videos*/ 
figure img, .rounded figure img, figure video {border-radius: 1rem;}
.textmedia-left figure video,
.media-left figure img, .media-left figure video, .media-right figure img, .media-right figure video {border-radius: 0;}

/* Hover-Box */ 
.hoverbox {position: relative; overflow: hidden; border-radius: 1rem;}
.hoverbox .slide-wrapper {position: absolute; bottom:0px; background-color: var(--bs-primary); color: var(--bs-white); padding: 0.5rem 1rem 1rem 1rem; border-bottom-left-radius: 1rem; border-bottom-right-radius: 1rem; width: 100%;}
.hoverbox .slide-wrapper .slider-header {font-weight: 600; font-size: 1.125rem;}
.hoverbox .slider-content {padding: 1rem 0 0; display:none;}

/* Menu Card*/
.card-menu-item a {text-decoration: none;}
.card-menu-item .card {background-color:#F2F5F8; border:none;}
.card-menu-item .card-body {padding: 1rem;}
.card-menu-item .card-title {font-size: 1.5rem;}

/* Body-Classes */
.lead {font-size: 2.25rem;}
.btn {border-radius: 1.5rem;}
.contentcontainer-column {position:relative;}
.position-absolute.center-pos {top: 25%; bottom:25%;}
.mt-10 {margin-top:10%}
.mt-20 {margin-top:20%}
.mt-30 {margin-top:30%}
.mt-40 {margin-top:40%}
.mt-50 {margin-top:50%}
.mt-60 {margin-top:60%}
.ml-10 {margin-left:10%}
.ml-20 {margin-left:20%}
.ml-30 {margin-left:30%}
.ml-40 {margin-left:40%}
.ml-50 {margin-left:50%}
.ml-60 {margin-left:60%}
.mr-10 {margin-right:10%}
.mr-20 {margin-right:20%}
.mr-30 {margin-right:30%}
.mr-40 {margin-right:40%}
.mr-50 {margin-right:50%}
.mr-60 {margin-right:60%}


.frame-space-before-zero {padding-top: 0 !important;}
.frame-space-after-zero {padding-bottom: 0 !important;}

/* Lists*/
.list-group.list-group-horizontal .list-group-item {border:none; padding: 0 1rem 0 0;}
.list-group .list-group-item a {text-decoration: none;}


/* Caroussel  */
.carousel-content-splitscreen {
    display: flex;
    align-items: basline;
    gap: 1rem;
	margin-bottom:4rem;
	height:100%
}

.container-carousel .element-header,
.carousel-content-splitscreen .carousel-item-header{font-size: 3rem;}

.carousel-splitscreen .carousel-backgroundimage-container {position:relative}

.container-carousel .carousel-indicators {
	position: absolute;
	right: 0;
	bottom: 0;
	left: calc(50% - (1280px/2));
	z-index: 2;
	display: flex;
	justify-content:left;
	padding: 0;
	margin-right: 50%;
	margin-left: 0%;
	margin-bottom: 1rem;
}

.container-carousel .carousel-indicators [data-bs-target] {
  box-sizing:content-box;
  flex:0 1 auto;
  width: 9px;
  height:9px;
  padding:0;
  margin-right:3px;
  margin-left:3px;
  text-indent:-999px;
  cursor:pointer;
  background-color:var(--bs-primary);
  background-clip:padding-box;
  border:0;
  border-top:10px solid transparent;
  border-bottom:10px solid transparent;
  opacity:0.5;
  transition:opacity 0.6s ease;
  border-radius: 50%;
}

.container-carousel .carousel-indicators button,
.container-carousel .carousel-indicators button.active {
	height: 9px;
	border:0;
	opacity:1;	
}


/* DATEILINKS / Downloads */
.grpl-dl a {text-decoration: none;}
.grpl-dl.row-odd {background: rgba(0, 56, 123, 0.05);}

/*###############################*/
/*######## HINTERGRÜNDE #########*/
/*###############################*/

/*######## Boxen ########*/

.gray.bg-h-100.bg-w-100 {background-color: #f2f5f8;}


.bg-box.blue.left {background-image: url('../Images/bg-box-blue.svg'); background-size: 33% 75%; background-position: 0 0; background-repeat: no-repeat; background-origin: border-box;}
.bg-box.blue.top.left {background-image: url('../Images/bg-box-blue.svg'); background-size: 90% 50%; background-position: 0 0; background-repeat: no-repeat; background-origin: border-box;}
.bg-box.blue.right.bottom {background-image: url('../Images/bg-box-blue.svg'); background-size: 100% 100%; background-position: 100% 0; background-repeat: no-repeat; background-origin: border-box;}    
.bg-box.blue.left.bottom {background-image: url('../Images/bg-box-blue.svg'); background-size: 100% 100%; background-position: 0 0; background-repeat: no-repeat; background-origin: border-box;}    
.bg-box.blue.top.center {background-image: url('../Images/bg-box-blue.svg'); background-size: 80% 40%; background-position: top center; background-repeat: no-repeat; background-origin: border-box;}    
.bg-box.blue.top.center.bg-h-100 {background-size: 80% 100%; color:var(--bs-white)!important;}    
.bg-box.blue.top.center.bg-h-100 a {color:var(--bs-white)!important;}    

.bg-box.blue.top h2 {color: var(--bs-white);padding-bottom: 1rem;}
.bg-box.blue.top img:not(.card-img-top) {border-radius: 0rem;}

.bg-box.gray.left {background-image: url('../Images/bg-box-gray.svg'); background-size: 33% 75%; background-position: 0 0; background-repeat: no-repeat; background-origin: border-box;}
.bg-box.gray.right.bottom {background-image: url('../Images/bg-box-gray.svg'); background-size: 100% 100%; background-position: 100% 0; background-repeat: no-repeat; background-origin: border-box;}    
.bg-box.gray.top.right {background-image: url('../Images/bg-box-gray.svg'); background-size: 33% 75%; background-position: 100% 0; background-repeat: no-repeat; background-origin: border-box;}


/*######## Verläufe ########*/
.gradient-white-gray {background-image: linear-gradient(white 0%, #e6ebf2 90%)}
.gradient-primary-white-33-66 {
    background:
        linear-gradient(transparent 80%, white 80%), 
        linear-gradient(to right, var(--bs-primary) 33%, var(--bs-white) 33%);
}
.gradient-white-primary-20-80 {
    background:
        linear-gradient(white 20%, transparent 20%), 
        linear-gradient(to right, var(--bs-white) 17%, var(--bs-primary) 17%);
}
.gradient-white-primary-33-66 {
    background:
        linear-gradient(white 20%, transparent 20%), 
        linear-gradient(to right, var(--bs-white) 33%, var(--bs-primary) 33%);
}


/* POWERMAIL */
.form-control {margin-bottom: 1rem;}

/* FOOTER */

footer#page-footer a {text-decoration: none;}
footer#page-footer a:hover {text-decoration: underline;}

footer#page-footer .footer-sociallinks .sociallinks-list {justify-content:flex-start;}
footer#page-footer .footer-sociallinks .sociallinks-link {justify-content: flex-start;align-items: center;flex-shrink: 0;color: inherit;background-color: transparent;width: 1.5rem;  height: 1.5rem; margin-right: 0.5rem;}
footer#page-footer .sociallinks-link-icon {font-size: 1.5rem; width: 1.5rem; height: 1.5rem;opacity: 1;}

footer#page-footer .footer-content-bottom .frame-inner {border-top: 2px solid var(--bs-white);}
footer#page-footer .footer-copyright, footer#page-footer .footer-navigation-link-level-1 {font-weight: 400; font-size: 0.9rem}


/* Privacy */
a#btn-privacy {position:fixed; left: 1rem; bottom:2rem; color: #f2f5f8; width: 2rem; height: 2rem;padding:0}


/* Scroll Top*/
.scroll-top {background-color:transparent; width: 48px; height: 48px;}

/*
X-Small devices (portrait phones, less than 576px)
No media query for `xs` since this is the default in Bootstrap
Small devices (landscape phones, 576px and up)*/

@media (min-width: 576px) {
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) { 

}

@media (max-width: 991px) {
.gray.bg-h-100.bg-w-100,
.bg-box.blue.left,
.bg-box.blue.top.left,
.bg-box.blue.right.bottom,    
.bg-box.blue.left.bottom,    
.bg-box.blue.top.center,    
.bg-box.blue.top.center.bg-h-100,    
.bg-box.blue.top.center.bg-h-100,    
.bg-box.gray.left,
.bg-box.gray.right.bottom,    
.bg-box.gray.top.right {background-image: none; background-color: transparent;}    

/*
.bg-box.blue.top h2 {color: var(--bs-white);padding-bottom: 1rem;}
.bg-box.blue.top img:not(.card-img-top) {border-radius: 0rem;}
*/
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    .carousel-content-splitscreen {
      margin-left: calc(100% - (920px /2) + 20px);
    }
    .media-left .carousel-content-splitscreen {
        margin-left:0;
        margin-right: calc(100% - (920px /2) + 20px);
    }
    .bg-box.blue.right.bottom {
        background-image: url('../Images/bg-box-blue.svg'); background-size:  calc(50% + (920px /2)); background-position: 100% 3rem; background-repeat: no-repeat; background-origin: border-box;    
    }      
    .bg-box.gray.right.bottom {
        background-image: url('../Images/bg-box-gray.svg'); background-size:  calc(50% + (920px /2)); background-position: 100% 3rem; background-repeat: no-repeat; background-origin: border-box;    
    }      
    .bg-box.blue.left.bottom {
        background-image: url('../Images/bg-box-blue.svg'); background-size:  calc(50% + (920px /2)); background-position: 0 3rem; background-repeat: no-repeat; background-origin: border-box;
    }	
}

/* X-Large devices (large desktops, 1200px and up)*/
@media (min-width: 1200px) {
    .carousel-content-splitscreen {
      margin-left: calc(100% - (1100px /2) + 20px);
    }
    .media-left .carousel-content-splitscreen {
        margin-left:0;
        margin-right: calc(100% - (1100px /2) + 20px);
    }
    .bg-box.blue.right.bottom {
        background-image: url('../Images/bg-box-blue.svg'); background-size:  calc(50% + (1100px /2)); background-position: 100% 3rem; background-repeat: no-repeat; background-origin: border-box;
	}    
    .bg-box.gray.right.bottom {
        background-image: url('../Images/bg-box-gray.svg'); background-size:  calc(50% + (1100px /2)); background-position: 100% 3rem; background-repeat: no-repeat; background-origin: border-box;
	}    
    .bg-box.blue.left.bottom {
        background-image: url('../Images/bg-box-blue.svg'); background-size:  calc(50% + (1100px /2)); background-position: 0 3rem; background-repeat: no-repeat; background-origin: border-box;
    }	
}

/* XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {
    .carousel-content-splitscreen {
      margin-left: calc(100% - (1280px /2) + 20px);
    }
    .media-left .carousel-content-splitscreen {
        margin-left:0;
        margin-right: calc(100% - (1280px /2) + 20px);
    }
    
    .bg-box.blue.right.bottom {
        background-image: url('../Images/bg-box-blue.svg'); background-size:  calc(50% + (1280px /2)); background-position: 100% 3rem; background-repeat: no-repeat; background-origin: border-box;
    }

    .bg-box.gray.right.bottom {
        background-image: url('../Images/bg-box-gray.svg'); background-size:  calc(50% + (1280px /2)); background-position: 100% 3rem; background-repeat: no-repeat; background-origin: border-box;
    }

    .bg-box.blue.left.bottom {
        background-image: url('../Images/bg-box-blue.svg'); background-size:  calc(50% + (1280px /2)); background-position: 0 3rem; background-repeat: no-repeat; background-origin: border-box;
    }

}