/* VARIABLEN */

:root {
    --website-bg-color: #F9FBFC;
    --template-color-red: #E34242;
    --template-color-green: #5FB762;
    --template-color-red-10: rgba(227, 66, 66, 0.1);
    --template-color-green-10: rgba(95, 183, 98, 0.1);
    --root-color-100: #000000;
    --root-color-80: #333333;
    --root-color-60: #666666;
    --root-color-30: #B2B2B2;
    --root-color-15: #D9D9D9;
    --root-color-10: #D9D9D9;
    --root-color-07: #EEEEEE;
    --primary-color-100: #0080C6;
    --secondary-color-100: #ED1C24;
    --primary-color-80: #3399D1;
    --secondary-color-80: #F14950;
    --primary-color-60: #66B3DD;
    --secondary-color-60: #F4777C;
    --primary-color-30: #99CCE8;
    --secondary-color-30: #FABABD;
    --primary-color-15: #D9ECF6;
    --secondary-color-15: #FCDDDE;
    --primary-color-10: #E6F2F9;
    --secondary-color-10: #FDE8E9;
    --primary-color-07: #EDF6FB;
    --secondary-color-07: #FEEFF0;
    --primary-box-shadow: 0px 15px 40px rgba(0, 128, 198, 0.2);
    --secondary-box-shadow: 0px 15px 40px rgba(237, 28, 36, 0.2);
    --root-box-shadow: 0px 5px 50px rgba(0, 0, 0, 0.08);
    --root-box-shadow-bold: 0px 20px 60px 10px rgba(0, 0, 0, 0.15);
    --mappoint-shadow: 0px 6px 12px rgba(0, 0, 0, 0.35);
    --primary-color-100-opacity-80: rgba(0, 129, 198, 0.8);
    --primary-color-10-opacity-80: rgba(230, 242, 249, 0.8);
    --primary-color-07-opacity-80: rgba(237, 246, 251, 0.8);
    --secondary-color-100-opacity-80: rgba(237, 28, 35, 0.8);
    --secondary-color-10-opacity-80: rgba(253, 232, 233, 0.8);
    --secondary-color-07-opacity-80: rgba(254, 239, 240, 0.8);
    --alert-color-black: #333333;
    --alert-color-red: #ED1C24;
    --alert-color-blue: #0080C6;
    --alert-color-yellow: #F9E538;
}

html {
	font-size: 10px;
}

body { 
	font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.6rem;
    line-height: 1.5;
    color: var(--root-color-100);
    background-color: var(--website-bg-color);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    scrollbar-width: thin;
    scrollbar-color: var(--primary-color-100);
}

/* SCROLLBAR */

body::-webkit-scrollbar {
  width: 0.8rem;
}
body::-webkit-scrollbar-track {
  background: white;
}
body::-webkit-scrollbar-thumb {
  background-color: var(--primary-color-100) ;
  border-radius: 0px;
  border: 0px solid white;
}

body br {
	line-height: 0px !important;
	margin-bottom: 0px !important;
}
.bh-bemode {
	padding-top: 50px;
}
#Page {
    min-height: 100%;
    padding-top: 15.1rem;
    position: relative;
    max-width: 1920px;
    margin: 0 auto;
    overflow-x: hidden;
    transition: ease-in-out padding-top 0.2s;
}
.bh-femode #Page {
    transition: ease-out padding-top 1s;
}

/*-------------------*/
/*---- Schriften ----*/
/*-------------------*/


.bh-bodytext a {
    color: var(--primary-color-100);
    font-weight: 700;
    text-decoration: underline;
}
.bh-bodytext p {
    margin-top: 0px; 
}
.bh-bodytext ul {
    padding-left: 1.5rem;
    margin: 0px;
    margin-bottom: 2rem;
}
.bh-bodytext ul {
    list-style: none;
    padding: 0;
    margin-bottom: 3rem;
}
.bh-bodytext ul li {
	padding-left: 3rem;
    position: relative;
}
.bh-bodytext ul li:before {
    content: '';
    font-family: 'bakehouse-iconset' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-align: center;
    height: 0.8rem;
    width: 0.8rem;
    font-size: 0.8rem;
    line-height: 1;
    /* position: absolute;
    left: 0px;
    top: 1rem; */
    float: left;
    margin: 0.8rem auto auto -3rem;
    background-color: var(--primary-color-100);
}
h1, h2, h3, h4, .text-h4, .text-h1 {
    font-family: 'Rockwell', serif;
    font-weight: 400;
    margin-top: 0px;
    padding-top: 1rem;
}
h1,
.text-h1 {
    font-size: 6rem;
    line-height: 1.1;
    letter-spacing: -0.005em;
    color: var(--primary-color-100);
}
h2 {
    font-size: 4rem;
    line-height: 1.1;
}
h3 {
    font-size: 3.4rem;
    line-height: 1.2;
}
h4,
.text-h4 {
    font-size: 2.4rem;
    line-height: 1.3;
}
h5 {
	font-size: 2rem;
	line-height: 1.3;
	letter-spacing: 0em;
	margin-top: 0px;
}
h6 {
	font-size: 1.3rem;
	line-height: 1.2;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
	margin-top: 0px;
    margin-bottom: 10px
}
.bh-styleclass-teaser {
    font-family: 'Rockwell', serif;
	font-size: 1.8rem;
	line-height: 1.6;
}
.bh-styleclass-intro {
	font-size: 1.9rem;
	line-height: 1.5;
}
.bh-styleclass-footnote {
    font-size: 1.3rem;
    line-height: 1.6;
    font-weight: 400;
    font-style: italic;
    color: var(--root-color-60);
}
.bh-styleclass-teaser-line {
    display: block;
    position: relative;
    padding-left: 3rem;
    font-family: 'Rockwell', serif;
    font-size: 2.4rem;
    line-height: 1.3;
    color: var(--primary-color-100);
    border-left: 4px solid var(--primary-color-100);
}
span.bh-styleclass-color-primary,
.bh-styleclass-color-primary {
    color: var(--primary-color-100);
}
span.bh-styleclass-color-secondary,
.bh-styleclass-color-secondary {
    color: var(--secondary-color-100);
}
span.bh-styleclass-color-white {
    color: white;
}
span.bh-styleclass-color-red {
    color: var(--template-color-red);
}
span.bh-styleclass-color-green {
    color: var(--template-color-green);
}

.bh-styleclass-linkarrow {
	position: relative;
	padding-right: 4rem;
}
.bh-styleclass-linkarrow:after {
	content: '\e902';
	position: absolute;
	height: 100%;
	width: 4rem;
	right: 0px;
	top: 0px;
	line-height: 2rem;
	text-align: center;
	font-family: 'bakehouse-iconset' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    letter-spacing: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transition: ease-in transform 0.3s;
}
.bh-styleclass-linkarrow:hover:after {
	transform: translateX(1rem);
    transition: ease-out transform 0.3s;
}
.bh-styleclass-uppercase {
	text-transform: uppercase;
}
.bh-styleclass-lowercase {
	text-transform: lowercase !important;
}
.bh-styleclass-white { color: white; }
.bh-styleclass-nowrap {
    white-space: nowrap !important;
}

sub,sup {
    line-height: 0px;
}
/*---- ÜBERSCHRIFTEN IM BEARBEITEN-MODUS ----*/

.bhe-state-editing h1,
.bhe-state-editing h2,
.bhe-state-editing h3,
.bhe-state-editing h4,
.bhe-state-editing h5,
.bhe-state-editing h6 {
    position: relative;
}
.bhe-state-editing h1:after,
.bhe-state-editing h2:after,
.bhe-state-editing h3:after,
.bhe-state-editing h4:after,
.bhe-state-editing h5:after,
.bhe-state-editing h6:after {
    content: 'h1';
    position: absolute;
    left: -3rem;
    top: -1rem;
    background-color: var(--secondary-color-30);
    padding: 0.5rem;
    font-size: 12px;
    font-weight: 300;
    letter-spacing: 0em;
    font-family: Arial;
    text-transform: none;
    color: var(--root-color-100);
    box-shadow: var(--secondary-box-shadow);
    margin: 0;
    pointer-events: none;
}
.bhe-state-editing h2:after {
    content: 'h2';
}
.bhe-state-editing h3:after {
    content: 'h3';
}
.bhe-state-editing h4:after {
    content: 'h4';
}
.bhe-state-editing h5:after {
    content: 'h5';
}
.bhe-state-editing h6:after {
    content: 'h6';
}

/*---- BUTTON RESET ----*/

button {
    appearance: none;
    -webkit-appearance: none;
    border-radius: 0px;
    border: none;
    font-family: inherit;
    background-color: transparent;
    padding: 0;
    text-align: inherit;
    cursor: pointer;
}

/*---- TEMPLATE BUTTONS ----*/

.template-button-primary,
.template-button-secondary,
.template-button-primary-outline {
    font-family: 'Source Sans Pro', sans-serif;
    width: auto;
    background-color: var(--primary-color-100);
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #FFFFFF;
    padding: 1.5rem 2rem;
    border: 1px solid var(--primary-color-100);
    border-radius: 0px;
    cursor: pointer;
    box-sizing: border-box;
    transition: ease-in-out all 0.3s;
}
.template-button-secondary {
    background-color: var(--secondary-color-100);
}
.template-button-primary:hover {
    box-shadow: var(--primary-box-shadow);
}
.template-button-secondary:hover {
    box-shadow: var(--secondary-box-shadow);
}
.template-button-primary-outline {
    background-color: transparent;
    color: var(--primary-color-100);
}
.template-button-primary-outline:hover {
    background-color: var(--primary-color-10);
}
.template-button-primary-underline,
.template-button-primary.withIcon {
    position: relative;
    width: 100%;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
   -webkit-box-pack: center;
   -ms-flex-pack: center;
   justify-content: center;
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
   margin-bottom: 2rem;
}
.template-button-primary-underline-inner {
    position: relative;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: transparent;
    padding: 1.6rem 2rem;
    box-sizing: border-box;
    transition: ease-in-out all 0.3s;
    cursor: pointer;
}
.template-button-primary-underline .template-button-text {
    position: relative;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: 600;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--primary-color-100);
}
.template-button-primary-underline.withIcon .template-button-text,
.template-button-primary.withIcon .template-button-primary-text {
    margin-right: 2rem;
}
.template-button-primary-underline.withIcon .template-button-icon {
    color: var(--primary-color-100);
}
.template-button-primary.withIcon .template-button-icon {
    color: white;
}
.template-button-primary-underline .template-button-text:after {
	content: '';
	width: 100%;
	height: 2px;
	position: absolute;
	left: 0px;
	bottom: -5px;
	background-color: var(--primary-color-100);
	transition: ease-in height 0.3s;
}
.template-button-primary-underline-inner:hover .template-button-text:after {
	height: 4px;
	transition: ease-in height 0.3s;
}

/*-------------------------*/
/*---- GLOBAL SETTINGS ----*/
/*-------------------------*/

/* fullheight */

.js-fullheight {
    transition: ease-in-out height 1s;
}

/* COLS IN TEMPLATE */

.ti-cols {
    width: calc(100% + 2rem);
    margin-left: -1rem;
    margin-top: -1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}
.ti-col-50 {
    width: calc(50% - 2rem);
    margin: 1rem;
}

/*---- FORMS & INPUTS ----*/

#Page input[type="text"],
#Page .styling-anfrage-input,
#Page input[type="number"],
#Page input[type="email"],
#Page textarea,
#Page select {
    font-family: 'Source Sans Pro', sans-serif;
    width: 100%;
    -webkit-appearance: none;
    border: 1px solid var(--root-color-15);
    border-radius: 0px;
    background-color: var(--root-color-07);
    font-size: 1.5rem;
    line-height: 1.5;
    color: var(--root-color-80);
    padding: 1.2rem 1.4rem;
    border-radius: 2px;
    box-sizing: border-box;
}
#Page select,
#Page .styling-anfrage-input-select {
    padding-right: 4rem;
    position: relative;
}
#Page .select-icon,
#Page .styling-anfrage-input-select .select-icon {
    position: absolute;
    width: 3rem;
    height: 4.8rem;
	color: var(--primary-color-100);
	bottom: 0;
	right: 1rem;
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 24px;
    line-height: 4.8rem;
    text-align: center;
    box-sizing: border-box;
    pointer-events: none;
}
#Page .fieldtype-select.select-multiple .select-icon {
    height: 100%;
    min-height: 4.8rem;
}
#Page input[type="text"]:focus,
#Page input[type="number"]:focus,
#Page input[type="email"]:focus,
#Page .styling-anfrage-input:focus,
#Page textarea:focus,
#Page input[type="text"]:focus-visible,
#Page input[type="number"]:focus-visible,
#Page input[type="email"]:focus-visible,
#Page textarea:focus-visible {
    border: 1px solid var(--primary-color-100);
    background-color: var(--primary-color-10);
    color: var(--primary-color-100);
}
#Page input:-ms-input-placeholder,
#Page textarea:-ms-input-placeholder {
    color: var(--root-color-30);
    font-size: 1.5rem;
    line-height: 1.5;
}
#Page input::-webkit-input-placeholder,
#Page textarea::-webkit-input-placeholder {
    color: var(--root-color-30);
    font-size: 1.5rem;
    line-height: 1.5;
}
#Page input::placeholder,
#Page textarea::placeholder {
    color: var(--root-color-30);
    font-size: 1.5rem;
    line-height: 1.5;
}
#Page input[type="submit"] {
    -webkit-appearance: none;
}
form label,
form .checkbox-headline,
.field-upload-text {
    font-size: 1.4rem;
    line-height: 1.1;
}
form .checkbox-headline {
    margin-bottom: 1rem;
}

/* RANGE INPUT */

#Page input[type=range] {
    height: 33px;
    -webkit-appearance: none;
    margin: 10px 0;
    width: 100%;
}
#Page input[type=range]:focus {
    outline: none;
}
#Page input[type=range]::-webkit-slider-runnable-track {
    width: 100%;
    height: 8px;
    cursor: pointer;
    animate: 0.2s;
    box-shadow: 0px 20px 80px rgba(41, 41, 42, 0.12);
    background: var(--primary-color-100);
    border-radius: 8px;
    border: none;
}
#Page input[type=range]::-webkit-slider-thumb {
    box-shadow: 0px 20px 80px rgba(41, 41, 42, 0.12);
    border: 4px solid var(--primary-color-100);
    height: 23px;
    width: 23px;
    border-radius: 23px;
    background: #FFFFFF;
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: -9.5px;
}
#Page input[type=range]:focus::-webkit-slider-runnable-track {
    background: var(--primary-color-100);
}
#Page input[type=range]::-moz-range-track {
    width: 100%;
    height: 8px;
    cursor: pointer;
    animate: 0.2s;
    box-shadow: 0px 20px 80px rgba(41, 41, 42, 0.12);
    background: var(--primary-color-100);
    border-radius: 8px;
    border: 0px solid #18D501;
}
#Page input[type=range]::-moz-range-thumb {
    box-shadow: 0px 20px 80px rgba(41, 41, 42, 0.12);
    border: 4px solid var(--primary-color-100);
    height: 23px;
    width: 23px;
    border-radius: 23px;
    background: #FFFFFF;
    cursor: pointer;
}
#Page input[type=range]::-ms-track {
    width: 100%;
    height: 8px;
    cursor: pointer;
    animate: 0.2s;
    background: transparent;
    border-color: transparent;
    color: transparent;
}
#Page input[type=range]::-ms-fill-lower {
    background: var(--primary-color-100);
    border: 0px solid #18D501;
    border-radius: 16px;
    box-shadow: 0px 20px 80px rgba(41, 41, 42, 0.12);
}
#Page input[type=range]::-ms-fill-upper {
    background: var(--root-color-10);
    border: 0px solid #18D501;
    border-radius: 16px;
    box-shadow: 0px 20px 80px rgba(41, 41, 42, 0.12);
}
#Page input[type=range]::-ms-thumb {
    margin-top: 1px;
    box-shadow: 0px 0px 0px #00AA00;
    border: 4px solid var(--primary-color-100);
    height: 23px;
    width: 23px;
    border-radius: 23px;
    background: #FFFFFF;
    cursor: pointer;
}
#Page input[type=range]:focus::-ms-fill-lower {
    background: var(--primary-color-100);
}
#Page input[type=range]:focus::-ms-fill-upper {
    background: var(--root-color-10);
}

/*---------------------------*/
/* ----- ACCESSIBILITY ----- */
/*---------------------------*/

/*---- SKIP-LINKS ----*/

#SkipLinks .main-skip-links {
    position: absolute;
    left: 0px;
    top: 0px;
    z-index: 110;
}
.bh-bemode #SkipLinks .main-skip-links {
    top: 60px;
    left: 60px;
}
#SkipLinks .main-skip-link {
    position: absolute;
    left: 2rem;
    top: 2rem;
    background-color: white;
    padding: 1rem 2rem;
    border: 2px dashed var(--primary-color-100);
    color: var(--primary-color-100);
    font-weight: 700;
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    border: 0;
    clip-path: inset(50%);
    white-space: nowrap;
}
#SkipLinks .main-skip-link:focus {
    min-width: 200px;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip-path: none;
    white-space: inherit;
    z-index: 10;
    background-color: white;
    padding: 1rem 2rem;
    border: 2px dashed var(--primary-color-100);
}

/*---- SKIP POPUP ----*/

#SkipPopup .main-skip-link {
    display: block;
    font-weight: 700;
    color: var(--primary-color-100);
    margin-bottom: 1.5rem;
}

/*--------------------*/
/* ----- LAYOUT ----- */
/*--------------------*/

/*---- TOP ----*/

#Top {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: auto;
	z-index: 100;
}
.bh-bemode #Top {
	top: 80px;
}
/* .bhe-state-editing #Top {
    top: 80px;
    transition: ease-in-out top 0.3s;
} */

/* ALERT CONTENT */

.bh-femode .top-alert-content {
    max-height: 0px;
    overflow: hidden;
    transition: ease-out max-height 1s;
}
.bh-bemode .top-alert-content {
    pointer-events: none;
}
.bh-bemode[data-page="1"] .top-alert-content {
    pointer-events: all !important;
}

.top-inner {
	position: relative;
	width: 100%;
	height: 100%;
	max-width: 1920px;
	margin: 0 auto;
	background-color: white;
	transition: ease-in all 0.4s;
}
.scrolled .top-inner {
    box-shadow: 0px 0px 100px rgba(0, 0, 0, 0.15);
    -webkit-box-shadow: 0px 0px 100px rgba(0, 0, 0, 0.15);
}
.top-pre {
    position: relative;
    height: 5.1rem;
    background: linear-gradient(180deg, #F7F7F7 0%, #FEFEFE 100%);
    box-sizing: border-box;
    width: 100%;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: var(--root-color-80);
    border-top: 4px solid var(--primary-color-100);
}
.top-pre-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 2rem;
    height: 2rem;
    width: 2rem;
    margin: 0 0.5rem;
    color: var(--root-color-80);
}
.top-home-button {
    position: absolute;
    left: var(--website-padding-50);
    top: 50%;
    transform: translate(-50%, -50%);
}
.main-navigation-wrapper {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    position: relative;
}
.main-navigation-wrapper-active-indicator {
    position: absolute;
    top: 0;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 0.5rem 1.2rem 0 1.2rem;
    border-color: var(--primary-color-100) transparent transparent transparent;
    transform: translateX(-1.2rem);
    opacity: 0;
    transition: ease-in opacity 0.4s;
}
.main-navigation-wrapper-active-indicator.show-marker {
    opacity: 1;
    transition: ease-out opacity 0.4s;
}
.main-navigation-wrapper-active-indicator.hide-marker {
    display: none;
}
.search-button-desktop {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    cursor: pointer;
}
.search-button-desktop .search-button-icon {
    color: var(--root-color-60);
    margin-right: 1.5rem;
    font-size: 2rem;
}
.search-button-desktop .search-button-text {
    font-weight: 600;
    font-size: 1.5rem;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: var(--root-color-30);
}

.top-main {
    position: relative;
}
.top-main-inner {
    width: 100%;
    height: 10rem;
    padding-right: 12rem;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}


/* TOP LOGO */
.top-logo {
	
    position: absolute;
    top: 0px;
    right: 0px;
}
.top-logo .logo-link {
	display: block;
	width: 12rem;
	height: 12rem;
	background-image: url('/fileadmin/images/project/logo.svg');
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
}


/*---- HEADER ----*/


#Header {
	position: relative;
	width: 100%;
	height: auto;
}
.header-inner {
	position: relative;
	width: 100%;
    height: auto;
}
.bhe-state-editing .header-inner {
    padding-top: 30px;
}


/*---- CONTENT ----*/

#Content {
	position: relative;
	pointer-events: none;
}
.content-inner {
	position: relative;
	padding-top: 10rem;
	padding-bottom: 14.5rem;
	pointer-events: all;
}

/*------------------------*/
/*-------- FOOTER --------*/
/*------------------------*/


/*---- FOOTER TOP ----*/

#Footer-Top {
    position: relative;
    padding-top: 2rem;
    padding-bottom: 2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.footer-top-logo {
    display: block;
    height: 7.2rem;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}
.footer-top-logo:not(:last-child) {
    margin-right: 2.5rem;
}

/*---- FOOTER LOGOS ----*/

/* siehe project.css */

/*---- FOOTER MAIN ----*/

#Footer-Main {
	position: relative;
    background-color: #666666;
    padding-top: 5.6rem;
    padding-bottom: 5.6rem;
}
.footer-main-inner {
    width: 100%;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}
.footer-main-left {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding-right: 3rem;
    box-sizing: border-box;
}

/*---- FOOTER LOGO ----*/

.footer-main-logo {
    margin-bottom: 3rem;
}
.footer-main-logo .logo-link {
    display: block;
    height: 10rem;
    width: 10rem;
    background-image: url('/fileadmin/images/project/logo.svg');
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}

/*---- FOOTER INFOS ----*/

.footer-main-address {
    color: white;
    margin-bottom: 2rem;
}
.footer-info {
    color: white;
    margin-bottom: 1.2rem;
}
.date-info {
    position: relative;
    display: inline-block;
    min-width: 6.3rem;
    margin-right: 0.4rem;
}
.footer-info a {
    color: white;
}
.footer-info-links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}
.footer-info-headline {
    font-weight: 700;
    color: white;
    margin-bottom: 0.5rem;
}
.footer-main-link {
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.footer-main-link-icon {
    color: white;
    font-size: 1.8rem;
    margin-right: 1rem;
}
.footer-main-link-text {
    color: white;
    text-decoration: none;
}

/*---- FOOTER BUTTONS ----*/

.footer-buttons {
    position: relative;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: calc(100% + 2rem);
    margin-left: -1rem;
    margin-bottom: 2rem;
}
.footer-button {
    display: block;
    width: auto;
    height: auto;
    padding: 1.4rem 2rem;
    border: 1px solid #FFFFFF;
    box-sizing: border-box;
    color: white;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 1rem;
    transition: ease-in background-color 0.3s;
}
.footer-button:hover {
    background-color: rgba(255,255,255,0.1);
    transition: ease-out background-color 0.3s;
}
.footer-button-text {
    display: block;
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1.4;
    text-align: center;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-right: 2rem;
}
.footer-button-icon {
    display: block;
    font-size: 2.2rem;
}

/*---- FOOTER ROUTEBOX ----*/

.footer-route-box {
    position: relative;
    width: 34rem;
    width: clamp(32rem, 26.3vw, 38rem);
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}
.footer-route-box-img {
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
    height: auto;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}
.footer-route-box-img-top {
    background-image: url('/fileadmin/images/project/routenplaner01.jpg');
}
.footer-route-box-img-bottom {
    background-image: url('/fileadmin/images/project/routenplaner02.jpg');
}
.footer-route-box-button {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
    /* width: auto;
    height: auto;
    padding: 1rem 2.5rem;
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    white-space: nowrap;
    background-color: var(--primary-color-100);
    color: white;
    cursor: pointer; */
}

/*---- FOOTER BOTTOM ----*/

#Footer-Bottom {
    width: 100%;
    min-height: 6rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: white;
}
.footer-bottom-servicenavigation .servnavi_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.footer-bottom-servicenavigation .servnavi_item {
    position: relative;
}
.footer-bottom-servicenavigation .servnavi_item > a {
    font-size: 1.2rem;
    line-height: 1.2;
    text-align: center;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--root-color-100);
}
.footer-bottom-servicenavigation .servnavi_item:not(:last-child) {
    margin-right: 4rem;
}
.footer-bottom-servicenavigation .servnavi_item:not(:last-child):after {
    content: '';
    position: absolute;
    right: -2rem;
    top: 50%;
    height: 0.6rem;
    width: 0.6rem;
    transform: translateY(-50%);
    background-color: var(--root-color-100);
}

@media only screen and (max-width:600px) {
  #Footer-Bottom {
    padding-bottom: 7rem;
  }
}

/*----------------------------*/
/*-------- LINK POPUP --------*/
/*----------------------------*/


#LinkPopup,
#AccessibilityPopup {
    display: block;
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100vw;
    height: 100vh;
    opacity: 0;
    pointer-events: none;
    transition: ease-out opacity 0.3s;
    z-index: 100;
}
.link-popup-open #LinkPopup,
.accessibility-open #AccessibilityPopup {
    opacity: 1;
    pointer-events: all;
    transition: ease-in opacity 0.3s;
}
.page-popup-overlay {
    position: absolute;
    left: 0px;
    top: 0px;
    height: 100%;
    width: 100%;
    background-color: rgba(0,0,0,0.4);
    backdrop-filter: blur(20px) opacity(1);
    -webkit-backdrop-filter: blur(20px) opacity(1);
    z-index: 5;
    cursor: pointer;
}
.page-popup-window {
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    width: min(90vw, 40rem);
    height: auto;
    background-color: #e7eaf0;
    transform: translate(-50%, -150%);
    opacity: 0;
    pointer-events: none;
    z-index: 10;
    transition: ease-out opacity 0.3s, ease-out transform 0.3s;
}
.link-popup-open .page-popup-window,
.accessibility-open .page-popup-window,
.show-popup .page-popup-window {
    transform: translate(-50%, -50%);
    opacity: 1;
    pointer-events: all;
    transition: ease-in opacity 0.3s, ease-in transform 0.3s;
}
.page-popup-window-header {
    position: relative;
    width: 100%;
    padding: 2rem 3rem;
    color: var(--primary-color-100);
    font-weight: 600;
    box-sizing: border-box;
    border-bottom: 1px solid #cfcfcf;
}
.page-popup-close {
    position: absolute;
    height: 2rem;
    width: 2rem;
    top: 50%;
    right: 2.5rem;
    text-align: center;
    font-size: 24px;
    line-height: 2rem;
    color: var(--primary-color-100);
    transform: translateY(-50%);
    cursor: pointer;
}
.page-popup-content {
    padding: 3rem;
}
.page-popup-text h4 {
    font-size: 2.2rem;
}
.page-popup-text {
    margin-bottom: 2rem;
}


/*---------------*/
/*---- NAVIS ----*/
/*---------------*/

/*---- OVERLAY ----*/

#Overlay {
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0,0,0,0.6);
    backdrop-filter: blur(10px) opacity(1);
    -webkit-backdrop-filter: blur(10px) opacity(1);
    opacity: 0;
    pointer-events: none;
    transition: ease-in opacity 0.3s 0.2s;
    z-index: 80;
}
.navi-open #Overlay,
.searching #Overlay {
    opacity: 1;
    pointer-events: all;
    cursor: pointer;
    transition: ease-out opacity 0.2s;
}

/*---- MAIN - NAVIGATION ----*/

.main-navigation {
    position: relative;
    width: 100%;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}
.main-navigation-left {
    width: calc(50% - 5rem);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.main-navigation-right {
    width: calc(50% - 5rem);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.main-nav-item {
    display: block;
    margin: 0 0.75rem;
}
.main-nav-item:first-child {
    margin-left: 0;
}
.main-nav-item > a {
    font-weight: 600;
    font-size: 1.5rem;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: var(--root-color-80);
}

/* !- Special Design in Top Level */

@media only screen and (min-width:971px) {
  .main-nav-item.special-design {
    border: 1px solid var(--primary-color-100);
    border-radius: 0.3rem;
    padding: 0 0.7rem;
  }
  .main-nav-item.special-design > a {
    color: var(--primary-color-100);
  }
}
@media only screen and (max-width:970px) {
  .main-nav-item.special-design > a {
    border: 1px solid var(--primary-color-100);
    border-radius: 0.3rem;
    padding-left: 0.7rem;
    padding-right: 0.7rem;
    color: var(--primary-color-100);
  }
}

.main-nav-item.active > a {
    color: var(--primary-color-100);
}
.main-nav-go-sub {
    display: none;
}

/*---- SUB - NAVIGATION ----*/

#Navigation ul {
    list-style-type: none;
}

.sub-navigation {
    height: 100%;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    margin: 0;
    padding: 0;
}
.sub-nav-item {
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    box-sizing: border-box;
    border-bottom: 4px solid transparent;
    padding-top: 4px;
    margin-right: 1.5rem;
    transition: ease-in border 0.3s;
}
.sub-nav-item:last-child {
    margin-right: 0px;
}

.sub-nav-item > .nav-link {
    font-weight: 600;
    font-size: 1.9rem;
    letter-spacing: -0.015em;
    line-height: 1;
    color: var(--root-color-80);
}
.with-highlightbutton .sub-nav-item:last-child > .nav-link,
.sub-nav-item.highlightbutton > .nav-link {
    border: 1px solid var(--primary-color-100);
    padding: 0.8rem;
    font-size: 1.7rem;
    border-radius: 3px;
    color: var(--primary-color-100);
    transition: ease-in-out all 0.3s;
}
.with-highlightbutton .sub-nav-item:last-child > .nav-link:hover,
.sub-nav-item.highlightbutton > .nav-link:hover,
.sub-nav-item.highlightbutton.active > .nav-link {
    background-color: var(--primary-color-10);
}
@media only screen and (min-width:971px) {
    .sub-navigation:not(.active),
    button.nav-button-back {
        display: none;
    }
    .sub-sub-navigation-wrapper {
        position: absolute;
        left: 0px;
        top: 100%;
        width: 100%;
        height: auto;
        background-color: var(--primary-color-07);
        box-sizing: border-box;
        opacity: 0;
        pointer-events: none;
        transition: ease-in opacity 0.3s;
    }
    .sub-nav-item.sub-open .sub-sub-navigation-wrapper {
        opacity: 1;
        pointer-events: all;
        transition: ease-out opacity 0.3s;
    }
    .sub-nav-item.active,
    .sub-nav-item.sub-open,
    .sub-nav-item:hover {
        border-bottom: 4px solid var(--primary-color-100);
        transition: ease-in border 0.3s;
    }
    .sub-navigation.with-highlightbutton .sub-nav-item.active:last-child,
    .sub-navigation.with-highlightbutton .sub-nav-item:last-child:hover,
    .sub-nav-item.highlightbutton:hover,
    .sub-nav-item.highlightbutton.active {
      border-bottom: 4px solid transparent;
    }
    .sub-navi-item-arrow {
        display: none;
    }
}
.sub-sub-navigation-wrapper .servnavi_box {
    width: 100%;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.sub-sub-navigation-wrapper .servnavi_item > a {
    position: relative;
    font-size: 1.3rem;
    line-height: 1.2;
    letter-spacing: 0.1px;
    color: var(--root-color-60);
}
.sub-sub-navigation-wrapper .servnavi_item:not(:last-child) > a {
    margin-right: 3rem;
}
.sub-sub-navigation-wrapper .servnavi_item:not(:last-child) > a:after {
    content: '-';
    position: absolute;
    right: -1.7rem;
}


/*----------------------------*/
/*---- SUB-NAVI TEMPLATES ----*/
/*----------------------------*/

/*---- GENERAL ----*/

.sub-sub-navigation-wrapper {
    padding-top: 6rem;
    padding-bottom: 4rem;
}
.sub-sub-navigation-wrapper.with-service .sub-sub-navigation-inner {
    margin-bottom: 2rem;
}
.sub-sub-navigation {
    margin-left: -1rem;
    margin-top: -1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    box-sizing: border-box;
    padding: 0;
}
.sub-sub-nav-item .navitem-text {
    font-family: 'Rockwell', serif;
    font-size: 1.8rem;
    line-height: 1.4;
    color: var(--primary-color-100);
    margin-bottom: 0.2rem;
}
.sub-sub-nav-item .navitem-subtext {
    font-size: 1.5rem;
    line-height: 1.25;
    color: var(--root-color-60);
}

/*---- SUB-NAVI TEMPLATE 1 & TEMPLATE 2 ----*/

.template-1 .sub-sub-navigation,
.template-2 .sub-sub-navigation {
    width: 100%;
}
.template-1 .sub-sub-nav-item,
.template-2 .sub-sub-nav-item {
    display: block;
    width: calc((100% / 3) - 2rem);
    margin: 1rem;
    padding: 0 0 2rem;
}

/*---- SUB-NAVI TEMPLATE 2 & TEMPLATE 4 ----*/

.template-2 .sub-sub-nav-item .nav-link,
.template-4 .sub-sub-nav-item .nav-link {
    width: 100%;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}
.template-2 .sub-sub-nav-item .navitem-icon,
.template-4 .sub-sub-nav-item .navitem-icon {
    font-size: 5rem;
    color: var(--primary-color-100);
    margin-right: 1.5rem;
}

/*---- SUB-NAVI TEMPLATE 3 & TEMPLATE 4 ----*/

.template-3 .sub-sub-navigation-inner,
.template-4 .sub-sub-navigation-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}
.template-3 .sub-sub-navigation,
.template-4 .sub-sub-navigation {
    width: calc(((100% / 3) * 2) + 2rem);
    padding: 0 2rem 0 0;
}
.template-3 .sub-sub-navigation-content,
.template-4 .sub-sub-navigation-content {
    width: calc(100% / 3);
}
.template-3 .sub-sub-nav-item,
.template-4 .sub-sub-nav-item {
    display: block;
    width: calc(50% - 2rem);
    margin: 1rem;
    padding: 0 0 2rem;
}


/*---- TOP SERVICE NAVIGATION ----*/

.top-service-navigation.navi {
    height: 100%;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 1.25rem;
}
li.top-service-nav-item {
    position: relative;
    margin: 0 0.75rem;
}
.service-nav-link {
    display: block;
    padding: 1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.service-nav-link .navitem-icon {
    margin: 0 auto 0.8rem;
    height: 2.9rem;
    width: 2.8rem;
    font-size: 3rem;
    color: var(--primary-color-100);
    transition: ease-in color 0.3s;
}
.service-nav-link .navitem-text {
    font-size: 1.4rem;
    letter-spacing: -0.02em;
    color: var(--primary-color-100);
    transition: ease-in color 0.3s;
}
.service-nav-link:hover .navitem-icon,
.service-nav-link:hover .navitem-text,
.service-nav-link.active .navitem-icon,
.service-nav-link.active .navitem-text {
    color: var(--secondary-color-100);
    transition: ease-out color 0.3s;
}

.top-service-sub-nav-box {
    position: absolute;
    width: 34rem;
    top: calc(100% + 4.3rem);
    left: 50%;
    transform: translate(-50%, 3rem);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    padding: 1rem;
    margin: 0;
    background: #FFFFFF;
    box-shadow: 0px 20px 25px rgba(0, 0, 0, 0.25);
    border-radius: 2px;
    opacity: 0;
    z-index: 95;
    pointer-events: none;
    transition: ease-in opacity 0.3s, ease-in transform 0.3s;
}
.top-service-nav-item.sub-open .top-service-sub-nav-box {
    transform: translate(-50%, 0px);
    opacity: 1;
    
    pointer-events: all;
    transition: ease-out opacity 0.3s, ease-out transform 0.3s;
}
.top-service-sub-nav-box:before {
    position: absolute;
    left: calc(50% - 12.5px);
    top: -12.5px;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 12.5px 12.5px 12.5px;
    border-color: transparent transparent #ffffff transparent;
    pointer-events: none;
}
.top-service-sub-nav-item {
    width: calc(100% / 3);
    box-sizing: border-box;
}
.top-service-sub-nav-item > .service-nav-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 1rem;
}
.top-service-sub-nav-item .service-nav-link .navitem-icon {
    font-size: 5rem;
    height: 4.8rem;
    width: 4.8rem;
    color: var(--root-color-100);
}
.top-service-sub-nav-item .service-nav-link .navitem-text {
    font-family: 'Rockwell', serif;
    font-size: 1.3rem;
    letter-spacing: 0;
    text-align: center;
    color: var(--root-color-100);
}
.top-service-sub-nav-item:nth-child(-n+3) {
    border-bottom: 1px solid var(--root-color-07);
}
.top-service-sub-nav-item:nth-child(3n+1),
.top-service-sub-nav-item:nth-child(3n+2) {
    border-right: 1px solid var(--root-color-07);
}
.top-service-sub-nav-item.button {
    width: 100%;
    border: none;
    padding: 0.4rem 1rem;
    background-color: var(--primary-color-100);

}
.top-service-sub-nav-item.button .navitem-icon {
    display: none;
}
.top-service-sub-nav-item.button .navitem-texts {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.top-service-sub-nav-item.button .navitem-text {
    font-family: inherit;
    font-weight: 700;
    font-size: 1.4;
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #FFFFFF;
    margin-right: 1.5rem;
}
.top-service-sub-nav-item.button .navitem-button-icon {
    font-size: 2rem;
    color: #FFFFFF;
}

/*---- LANGUAGE - NAVIGATION ----*/

.top-pre ul.bh-language-menu {
	padding: 0;
	margin: 0;
	list-style-type: none;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column nowrap;
	flex-flow: column nowrap;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 2.4rem;
	overflow: hidden;
}
.top-pre ul.bh-language-menu li {
	transition: ease-in transform 0.4s;
}
.top-pre ul.bh-language-menu:hover li {
	transform: translateY(-100%);
	transition: ease-out transform 0.4s;
}
.top-pre ul.bh-language-menu li,
.top-pre ul.bh-language-menu li a {
	font-weight: 600;
    font-size: 1.4rem;
    line-height: 2.2rem;
    text-transform: uppercase;
    color: var(--root-color-80);
}
.top-pre ul.bh-language-menu li {
	height: 2.2rem;
	padding: 0 0.2rem;
	margin: 0.1rem 0;
	box-sizing: border-box;
}
.top-pre ul.bh-language-menu li a {
	line-height: 2.2rem;
}
.top-pre ul.bh-language-menu li.active {
	-webkit-box-ordinal-group: 2;
	-ms-flex-order: 1;
	order: 1;
}
.top-pre ul.bh-language-menu li:not(.active) {
	-webkit-box-ordinal-group: 3;
	-ms-flex-order: 2;
	order: 2;
}






/* TOGGLER */

.navi-toggler {
    display: none;
}



/*------------------*/
/*---- ELEMENTE ----*/
/*------------------*/

/*---- TABS ----*/

.bh-tabtogglers {
    width: calc(100% + 1.2rem);
    margin-left: -0.6rem;
    margin-top: -0.6rem;
    padding: 0 0 3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.toggler-center .bh-tabtogglers {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.bhTabElement {
    display: block;
    float: none;
    border: 1px solid var(--primary-color-15);
    font-weight: 600;
    font-size: 1.5rem;
    line-height: 1.2;
    text-align: center;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    background-color: transparent;
    padding: 1.2rem 1.6rem;
    margin: 0.6rem;
    color: var(--primary-color-100);
    transition: ease-in background-color 0.3s, ease-in border 0.3s, ease-in color 0.3s;
}
.bhTabElement.bhElement {
    margin-bottom: 0.6rem !important;
}
.bhTabElement:first-child {
    border: 1px solid var(--primary-color-15);
}
.bhTabElement.bh-tabtoggler-active {
    border: 1px solid var(--primary-color-100);
    background-color: var(--primary-color-100);
    color: white;
    transition: ease-out background-color 0.3s, ease-out border 0.3s, ease-out color 0.3s;
}
.bhTabElement:not(.bh-tabtoggler-active):hover {
    border: 1px solid var(--primary-color-15);
    background-color: var(--primary-color-15);
    color: ;
    transition: ease-out background-color 0.3s, ease-out border 0.3s, ease-out color 0.3s;
}

/* ---- SWIPER ---- */

.swiper-pagination:not(.swiper-pagination-lock) {
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.swiper-pagination-bullet {
    background: #fff;
    opacity: 0.5;
    height: 0.8rem;
    width: 0.8rem;
}
.swiper-pagination-bullet-active {
    height: 1.2rem;
    width: 1.2rem;
    opacity: 1;
}
.swiper-button-next,
.swiper-button-prev {
    background-image: none;
    left: 1.5rem;
}
.swiper-button-next {
    left: auto;
    right: 1.5rem;
}
.swiper-navigation {
	color: white;
}
.swiper-button-next,
.swiper-button-prev {
    width: 4.5rem;
    height: 4.5rem;
    background-color: var(--primary-color-100);
    color: white;
    background-image: none;
    top: 50%;
    margin: 0;
    transform: translateY(-50%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.swiper-button-prev.swiper-button-lock,
.swiper-button-next.swiper-button-lock {
    display: none;
}
.swiper-button-next:after,
.swiper-button-prev:after {
    content: "\e901";
    color: white;
    font-family: 'bakehouse-iconset' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    letter-spacing: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 24px;
    text-align: center;
}
.swiper-button-next:after {
  content: "\e902";
}
.swiper-button-next:before,
.swiper-button-prev:before {
    display: none !important;
}

/* ----- ACCORDION ----- */

.bhAccordeonItem.bhElement {
    padding: 2px 0;
}
.bhAccordeonItem.bhElement > .bhElementInner {
    padding: 1.8rem 8rem 1.8rem 2.5rem;
    box-sizing: border-box;
    border: 1px solid var(--primary-color-15);
}
.bhAccordeonItem.bhElement .bh-accordion-toggler {
	padding: 0;
	margin: 0;
}
.bhAccordeonItem.bhElement.accordeon-last .bh-accordion-element {
	
}
.bhAccordeonItem.bhElement .bh-accordion-toggler-inner {
	font-size: 1.7rem;
    font-weight: 600;
	line-height: 1.5;
    padding: 0;
	color: var(--primary-color-100);
    transition: ease-in padding 0.3s;
}
.bhAccordeonItem.bhElement .bh-accordion-toggler-inner h1,
.bhAccordeonItem.bhElement .bh-accordion-toggler-inner h2,
.bhAccordeonItem.bhElement .bh-accordion-toggler-inner h3,
.bhAccordeonItem.bhElement .bh-accordion-toggler-inner h4,
.bhAccordeonItem.bhElement .bh-accordion-toggler-inner h5,
.bhAccordeonItem.bhElement .bh-accordion-toggler-inner h6 {
    margin-bottom: 0 !important;
    padding-top: 0 !important;
}
.bhAccordeonItem.bhElement .bh-accordion-active .bh-accordion-toggler-inner {
    padding-bottom: 0.8rem;
    transition: ease-out padding 0.3s;
}
.bhAccordeonItem.bhElement .bh-accordion-active .bh-accordion-element-inner {
    padding-top: 0;
}
.bhe-state-editing .bh-accordion-element-inner,
.bhe-state-editing .bhAccordeonItem.bhElement .bh-accordion-active .bh-accordion-element-inner {
    padding-top: 30px;
}
.bhAccordeonItem.bhElement .bh-accordion-toggler-inner:after {
	content: "\e90f";
	width: 50px;
	height: 50px;
	position: absolute;
	top: 0.5rem;
	right: 0.5rem;
	font-family: 'bakehouse-iconset' !important;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-align: center;
	font-size: 24px;
	line-height: 50px;
	transition: .4s;
	color: var(--primary-color-100);
}
.bhAccordeonItem.bhElement .bh-accordion-active .bh-accordion-toggler-inner:after {
	content: "\e910";
}
.bhContainer .bhAccordeonItem.accordeon-last {
    margin-bottom: 50px;
}


/*---- COPYRIGHT IN BILDERN IN ELEMENTEN ----*/

.bhElement.copyright .bh-image-background,
.bhElement.copyright .bhBackgroundImage {
	position: relative;
}
.bhElement .file-copyright {
	position: absolute;
	right: 5px;
	top: 3px;
	font-size: 11px;
    color: white;
    text-align: right;
    text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.8);
    padding-left: 0.5rem;
    box-sizing: border-box;
    z-index: 1;
}
.el-header.bhElement .file-copyright {
	bottom: 5px;
	top: auto;
} 

/*---- TARIFRECHNER-WIDGET ----*/

.itc-widget-wrapper {
    background-color: white;
    width: 100%;
    height: 100%;
    padding: 1.4rem;
    box-sizing: border-box;
}
.itc-widget-top-buttons {
    width: 100%;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
   -webkit-box-pack: start;
   -ms-flex-pack: start;
   justify-content: flex-start;
   -webkit-box-align: stretch;
   -ms-flex-align: stretch;
   align-items: stretch;
   margin-bottom: 1rem;
}
.itc-widget-top-button {
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1.2;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 0.6rem 1.6rem;
    border: 1px solid var(--primary-color-100);
    color: var(--primary-color-100);
}
.itc-widget-top-button.active {
    color: white;
    background-color: var(--primary-color-100);
}
.itc-widget-headline {
    font-family: 'Rockwell', serif;
    font-size: 1.8rem;
    line-height: 1.3;
    letter-spacing: -0.003em;
    color: var(--root-color-80);
    margin-bottom: 1rem;
}
.itc-widget-wrapper label {
    font-size: 1.6rem;
    line-height: 1.5;
    color: var(--root-color-60);
}
.itc-widget-customer-type label:not(:last-child) {
    margin-right: 1.5rem;
}
.itc-widget-customer-type {
    margin-bottom: 0.5rem;
}
.itc-widget-night {
    padding-bottom: 0.6rem;
    margin-bottom: 0.6rem;
    border-bottom: 1px solid var(--root-color-07);
}
.itc-widget-plz,
.itc-widget-consumption,
.itc-widget-consumption-night {
    width: 100%;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
   -webkit-box-pack: justify;
   -ms-flex-pack: justify;
   justify-content: space-between;
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
   margin-bottom: 0.6rem;
}
.itc-widget-plz .itc-widget-input-label,
.itc-widget-consumption .itc-widget-input-label,
.itc-widget-consumption-night .itc-widget-input-label {
    margin-bottom: 0;
}
.itc-widget-consumption-night:not(.visible) {
	display: none;
}
#Page .itc-widget-plz input,
#Page .itc-widget-consumption input,
#Page .itc-widget-consumption-night input {
    width: 55%;
}
.itc-widget-input-label {
    width: 45%;
    padding-right: 1.5rem;
    box-sizing: border-box;
    color: var(--root-color-60);
}
.itc-widget-submit {
    padding-top: 0.3rem;
}
.itc-widget-submit-button {
    margin-bottom: 0 !important;
}
.itc-widget-submit-button .template-button-primary-icon {
    font-size: 24px;
}
.itc-widget-person-selector-label {
    display: block;
    color: var(--root-color-60);
    margin-bottom: 0.3rem;
}
.itc-widget-person-selector-persons {
    width: 100%;
    height: auto;
    min-height: 6rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
   -webkit-box-pack: start;
   -ms-flex-pack: start;
   justify-content: flex-start;
   -webkit-box-align: stretch;
   -ms-flex-align: stretch;
   align-items: stretch;
   background-color: var(--root-color-07);
   border: 1px solid var(--root-color-10);
   margin-bottom: 0.8rem;
   box-sizing: border-box;
}
.itc-widget-person-selector-persons-person {
    width: 25%;
    padding: 0.5rem;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
   -webkit-box-pack: end;
   -ms-flex-pack: end;
   justify-content: flex-end;
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
   cursor: pointer;
}
.itc-widget-person-selector-persons-person:not(:last-child) {
    border-right: 1px solid var(--root-color-10);
}
.itc-widget-person-selector-persons-person.active {
	background:rgba(51, 51, 51, 1.000);
	color: white; 
}
.itc-widget-person-selector-persons-person-icons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
   -webkit-box-pack: center;
   -ms-flex-pack: center;
   justify-content: center;
   -webkit-box-align: end;
   -ms-flex-align: end;
   align-items: flex-end;
}
.itc-widget-person-selector.hide {
	display: none;
}

.itc-widget-qm-selector input {
    width: 100%;
}
.itc-widget-input-label {
    margin-bottom: 1rem;
}
.itc-widget-qm-selector-label {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
   -webkit-box-pack: start;
   -ms-flex-pack: start;
   justify-content: flex-start;
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
}
.itc-widget-qm-selector-text {
    display: block;
    margin-right: 0.5rem;
}
.itc-widget-qm-selector-value {
    display: block;
    font-weight: 600;
    font-size: 1.5rem;
    line-height: 1.2;
    border: 1px solid #72BD4F;
    box-sizing: border-box;
    border-radius: 2px;
    padding: 0.5rem 1rem;
    min-width: 8rem;
    box-sizing: border-box;
}
@media only screen and (min-width:901px) {
    #Page .itc-widget-wrapper input[type="text"],
    #Page .itc-widget-wrapper input[type="number"] {
        font-size: 2.2rem;
        line-height: 1;
        letter-spacing: 0.02em;
        padding: 0.8rem 1.2rem;
    }
}
@media only screen and (max-width:900px) {
    #Page .itc-widget-plz input,
    #Page .itc-widget-consumption input,
    #Page .itc-widget-consumption-night input {
        width: 45%;
    }
    .itc-widget-input-label {
        width: 55%;
    }
    #Page .itc-widget-wrapper input[type="text"],
    #Page .itc-widget-wrapper input[type="number"] {
        font-size: 1.8rem;
        padding: 0.8rem 1.2rem;
    }
}
@media only screen and (max-width:900px) and (min-width:768px) {
    .itc-widget-person-selector-persons-person-icons {
        display: none;
    }
    .itc-widget-person-selector-persons {
        min-height: 4.8rem;
    }
    .itc-widget-wrapper {
        padding: 1.1rem;
    }
}

/* ----- COOKIES CONSENT BUTTON ----- */

.el-cookies-consent-button.bhElement {
    text-align: left;
    margin-bottom: 50px;
}
.el-cookies-consent-button.bhElement .bh-cookies-consent-button p {
    display: inline-block;
    background: transparent;
    padding: 1.6rem 2rem;
    box-sizing: border-box;
    background-color: var(--primary-color-100);
    font-size: 1.4rem;
    line-height: 1.5;
    font-weight: 700;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    transition: ease-in-out all 0.3s;
}


/*---- DISPLAY CLASSES ----*/

.display-none {
    display: none !important;
}
.hide-desktop {
    display: none;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/* !- Barrierefreiheits Widget */
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

.burgermenu-open #bh-accessibility-widget:not([data-position-mode=inline]) .bh-accessibility-toggler:not(:focus):not(:focus-visible),
.searching #bh-accessibility-widget:not([data-position-mode=inline]) .bh-accessibility-toggler:not(:focus):not(:focus-visible),
.accessibility-open #bh-accessibility-widget:not([data-position-mode=inline]) .bh-accessibility-toggler:not(:focus):not(:focus-visible) {
    transform: translate(var(--accessibility-transform-hidden-horizontal), var(--accessibility-transform-hidden-vertical));
    pointer-events: none;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/* !- Social-Wall */
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

.bhElement.el-social {
  max-width: 1440px;
  .swiper-container {
    padding-bottom: 3.5rem;
  }
  .bh-social-datewrapper {
    background: var(--primary-color-100);
    font-family: 'Rockwell', serif;
    font-weight: 400;
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
  }
  .swiper-pagination  {
    width: auto !important;
  }
  .swiper-pagination-bullet {
    background: var(--root-color-10);
    border-radius: 0;
  }
  .swiper-pagination-bullet-active {
    background: var(--primary-color-100);
  }
  .bh-social-post {
    background-color: lightgrey;
  }
  .swiper-navigation {
    color: white;
  }
  .swiper-button-next,
  .swiper-button-prev {
      width: 4.5rem;
      height: 4.5rem;
      background-color: var(--primary-color-100);
      color: white;
      background-image: none;
      top: 50%;
      margin: 0;
      transform: translateY(-50%);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
      flex-flow: row nowrap;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
  }
  
}


/*-----------------------*/
/*---- MEDIA QUERIES ----*/
/*-----------------------*/


@media only screen and (max-width:1290px) and (min-width:971px) {

    /* NAVIGATION */
    .sub-nav-item > .nav-link {
        font-size: 1.8rem;
    }
    .with-highlightbutton .sub-nav-item:last-child > .nav-link,
    .sub-nav-item.highlightbutton > .nav-link {
        font-size: 1.6rem;
        line-height: 1.2;
    }

    /* TOP SERVICE NAVI */
    .top-service-nav-item > .service-nav-link > .navitem-texts {
        display: none;
    } 
}
@media only screen and (max-width:1290px) {
    .top-home-button {
        left: var(--website-padding-50);
        margin: 0;
        transform: translate(0px, -50%);
    }
}
@media only screen and (max-width:1100px) and (min-width:971px) {
    /* NAVIGATION */
    .sub-nav-item > .nav-link {
        font-size: 1.6rem;
        letter-spacing: -0.01em;
    }
    .with-highlightbutton .sub-nav-item:last-child > .nav-link,
    .sub-nav-item.highlightbutton > .nav-link {
        font-size: 1.4rem;
    }
    .sub-nav-item:not(:last-child) {
        margin-right: 1.2rem;
    }
}


@media only screen and (max-width:1024px) {
    h1,
    .text-h1 {
        font-size: 5rem;
    }
    h2 {
        font-size: 3.6rem;
    }
    .top-pre.website-padding-left-100 {
        padding-left: 6rem !important;
    }
}
@media only screen and (max-width:970px) {
    #Page {
        padding-top: 14.1rem;
    }
    .top-main-inner {
        height: 9rem;
        padding-right: 11rem;
    }
    .top-logo {
        z-index: 100;
    }
    .top-logo .logo-link {
        height: 11rem;
        width: 11rem;
    }
    .hide-mobile.search-button-desktop {
        display: none;
    }
    .hide-desktop.top-search-button {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
        flex-flow: row nowrap;;
    }
    .top-pre {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
    #Footer-Top {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }
    .footer-top-logo {
        margin-top: 1rem;
        margin-bottom: 1rem;
    }



    /*--------------------*/
    /*---- NAVIGATION ----*/
    /*--------------------*/

    .burgermenu-open {
        max-height: 100vh;
        overflow: hidden;
    }

    /* TOGGLER */
    .navi-toggler {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
        flex-flow: row nowrap;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        color: var(--primary-color-100);
        cursor: pointer;
        
    }
    button.navi-toggler {
        appearance: none;
        -webkit-appearance: none;
        border-radius: 0px;
        border: none;
        font-family: inherit;
        background-color: transparent;
    }
    .navi-toggler-icon {
        font-size: 24px;
        margin-right: 2rem;
    }
    .navi-toggler-text {
        font-size: 1.8rem;
        font-weight: 600;
    }
    .navi-toggler-icon-open,
    .navi-toggler-text-open,
    .burgermenu-open .navi-toggler-icon-closed,
    .burgermenu-open .navi-toggler-text-closed {
        display: none;
    }
    .burgermenu-open .navi-toggler-icon-open,
    .burgermenu-open .navi-toggler-text-open,
    .navi-toggler-icon-closed,
    .navi-toggler-text-closed {
        display: block;
    }

    /* DISPLAY NONE */

    .hideMenu {
        display: none;
    }

    /* MAIN NAVI */
    .main-navigation-wrapper {
        position: fixed;
        width: 100%;
        bottom: 0px;
        left: 0px;
        right: 0px;
        background-color: var(--primary-color-07);
        overflow-y: auto;
        opacity: 0;
        pointer-events: none;
        transition: ease-in opacity 0.3s;
    }
    .burgermenu-open .main-navigation-wrapper {
        opacity: 1;
        pointer-events: all;
        transition: ease-out opacity 0.3s;
    }
    .main-nav-go-sub {
        width: 5.2rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
        flex-flow: row nowrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        font-size: 24px;
        color: var(--primary-color-100);
        /* border: 1px solid var(--primary-color-60); */
        margin-left: 2rem;
    }
    .main-navigation {
        height: auto;
        min-height: 100%;
        width: 100%;
        padding: 8rem 3rem 4rem;
        box-sizing: border-box;
        display: block;
    }
    .main-navigation-left,
    .main-navigation-right {
        width: auto;
        max-width: 50rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column nowrap;
        flex-flow: column nowrap;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
    }
    .main-nav-item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
        flex-flow: row nowrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        margin: 0;
        padding: 0;
    }
    .main-nav-item{
        margin-bottom: 0.4rem;
    }
    .main-nav-item .nav-link {
        font-size: 3.2rem;
        padding: 0.8rem 0;
    }

    /* BACK BUTTON */

    button.nav-button-back {
        font-size: 3.2rem;
        font-weight: 600;
        color: var(--root-color-80);
        position: relative;
        cursor: pointer;
        margin-bottom: 2rem;
        padding-left: 3rem;
    }
    button.nav-button-back:before {
        content: "\e905";
        font-family: 'bakehouse-iconset' !important;
        speak: none;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        letter-spacing: 0;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: 24px;
        color: var(--primary-color-100);
        position: absolute;
        left: -1.5rem;
        top: 0.8rem;
    }

    /* SUB NAVI */
    .sub-navigation-wrapper {
        position: fixed;
        width: 100%;
        /* height: 70vh; */
        bottom: 0px;
        left: 0px;
        right: 0px;
        z-index: 92;
        transform: translateX(10rem);
        opacity: 0;
        pointer-events: none;
        transition: ease-in opacity 0.3s, ease-out transform 0.3s;
    }
    .burgermenu-open .sub-navigation-wrapper {
        opacity: 1;
        transform: translateX(0px);
        transition: ease-out opacity 0.3s, ease-out transform 0.3s;
    }
    .sub-navigation {
        width: 100%;
        background-color: var(--primary-color-07);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column nowrap;
        flex-flow: column nowrap;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        padding: 8rem 2rem 4rem;
        box-sizing: border-box;
        overflow-y: auto;
        opacity: 0;
        transform: translateX(10rem);
        pointer-events: none;
        transition: ease-in opacity 0.3s, ease-out transform 0.3s;
    }
    .sub-navigation.show {
        opacity: 1;
        transform: translateX(0px);
        pointer-events: all;
        transition: ease-out opacity 0.3s, ease-out transform 0.3s;
    }
    .sub-navigation.showing-sub {
        overflow: hidden;
    }
    
    .sub-nav-item {
        padding: 0.5rem 0px 0.5rem 3rem;
        box-sizing: border-box;
        margin: 1rem 0;
        border: none;
        max-width: 50rem;
    }
    .sub-nav-item > .nav-link {
        width: 100%;
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
        flex-flow: row nowrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        font-size: 2.2rem;
    }
    .with-highlightbutton .sub-nav-item:last-child > .nav-link,
    .sub-nav-item.highlightbutton > .nav-link {
        width: auto;
        display: block;
    }
    .sub-navi-item-arrow {
        display: block;
        font-size: 24px;
        height: 100%;
        width: 24px;
        text-align: right;
        color: var(--primary-color-100);
    }
    .with-highlightbutton .sub-nav-item:last-child > .nav-link .sub-navi-item-arrow,
    .sub-nav-item.highlightbutton > .nav-link .sub-navi-item-arrow {
        display: none;
    }

    /* SUB SUB NAVI */
    .sub-sub-navigation-wrapper {
        position: absolute;
        left: 0px;
        top: 0px;
        width: 100%;
        height: 100%;
        background-color: var(--primary-color-07);
        padding: 8rem 2rem 4rem !important;
        box-sizing: border-box;
        overflow-y: auto;
        z-index: 94;
        opacity: 0;
        pointer-events: none;
        transform: translateX(10rem);
        transition: ease-in opacity 0.3s, ease-in transform 0.3s;
    }
    .sub-nav-item .sub-sub-navigation-wrapper.show {
        pointer-events: all;
        transform: translateX(0px);
        opacity: 1;
        transition: ease-out opacity 0.3s, ease-out transform 0.3s;
    }
    .sub-sub-navigation-inner {
        display: block;
        max-width: 50rem;
    }
    .sub-sub-navigation-inner .sub-sub-navigation {
        width: 100%;
        padding: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column nowrap;
        flex-flow: column nowrap;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
    .template-1 .sub-sub-nav-item,
    .template-2 .sub-sub-nav-item,
    .template-3 .sub-sub-nav-item,
    .template-4 .sub-sub-nav-item {
        width: 100%;
        padding: 0.5rem 0px 0.5rem 3rem;
        box-sizing: border-box;
    }
    .template-2 .sub-sub-nav-item .navitem-icon,
    .template-4 .sub-sub-nav-item .navitem-icon {
        font-size: 3rem;
    }
    .sub-sub-navigation-content {
        display: none;
    }
    .sub-sub-navigation-wrapper .servnavi_box {
        padding-left: 3rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
        box-sizing: border-box;
    }
    .sub-sub-navigation-wrapper .servnavi_item {
        margin: 0.5rem 0;
    }
    .sub-sub-navigation-wrapper .servnavi_item:not(:last-child) > a {
        margin-right: 1.5rem;
    }
    .sub-sub-navigation-wrapper .servnavi_item:not(:last-child) > a:after {
        right: -0.9rem;
    }
}

@media only screen and (max-width:900px) {
    #Footer .ti-col-50 {
        width: 100%;
    }
    #Footer .ti-cols .ti-col:not(:last-child) {
        margin-bottom: 2rem;
    }
    .footer-route-box {
        max-height: 45rem;
    }
}

@media only screen and (max-width: 800px) {
	html {
		font-size: 9px;
	}
    body {
        font-size: 1.8rem;
    }
}

@media only screen and (max-width:700px) {
    .footer-main-inner {
        display: block;
    }
    .footer-main-left,
    .footer-main-right {
        width: 100%;
        padding: 0;
    }
    .footer-main-left {
        margin-bottom: 2rem;
    }
    .footer-route-box {
        height: 45rem;
        width: calc(100% + 6rem);
        margin-left: -3rem;
    }
    #Footer-Main {
        padding-bottom: 0px;
        background-image: none;
    }
}

@media only screen and (max-width:600px) {

    /* TOP SERVICE NAVI */
    .top-service-nav-item > .service-nav-link > .navitem-texts {
        display: none;
    }
    .navi-toggler-icon {
        margin-right: 1rem;
    }
}
@media only screen and (max-width:500px) {
    #Page {
        padding-top: 11.1rem;
    }
    .top-main-inner {
        height: 6rem;
        padding-right: 7rem;
    }
    .top-logo .logo-link {
        height: 7rem;
        width: 7rem;
    }
    .top-home-button {
        left: var(--website-padding-50);
    }
    .main-navigation {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
    .top-service-sub-nav-box {
        position: fixed;
        left: calc(50% - 18rem);
        top: 15.4rem;
        transform: translate(0px, 3rem);
    }
    .bh-bemode .top-service-sub-nav-box {
        top: calc(15.4rem + 50px);
    }
    .top-service-nav-item.sub-open .top-service-sub-nav-box {
        transform: translate(0px, 0px);
    }
    .top-service-link-text {
        display: none;
    }
    #navigation .hnavi_box {
        height: calc(100vh - 11.1rem);
    }
    h1,
    .text-h1 {
        font-size: 3.3rem;
    }
    h2 {
        font-size: 2.8rem;
    }
    h3 {
        font-size: 2.5rem;
    }
    h4 {
        font-size: 2.2rem;
    }
    h5 {
        font-size: 1.8rem;
    }
    h6 {

    }
    .bh-styleclass-teaser {
        font-size: 1.8;
    }
    .bh-styleclass-teaser-line {
        font-size: 2.4rem;
    }
    .footer-route-box {
        height: 45rem;
        width: calc(100% + 3rem);
        margin-left: -1.5rem;
    }

    /* FOOTER */
    .footer-bottom-servicenavigation .servnavi_box {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding-top: 2rem;
    }
    .footer-bottom-servicenavigation .servnavi_item {
        margin-bottom: 2rem;
    }
}


.bh-cookies-popup-intro-cookies-list-cookie-description {
    color: var(--root-color-80) !important;
}








