
/*==================================================
 * GRID
 * ================================================*/
.splits.gutter-40 {
	margin: 0 -20px;
}
.gutter-40 .split {
	padding: 0 20px;
}
.splits.gutter-8 {
	margin: 0 -4px;
}
.gutter-8 .split {
	padding: 0 4px;
}


/*==================================================
 * KLARO
 * ================================================*/
.iframe-container {
	position: relative;
	background-color: #EFEEEB;
}
.iframe-container a {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}



/*==================================================
 * LAYOUT
 * ================================================*/
.global {
	background-color: #fff;
	max-width: 1240px;
	margin: 0 auto;
	overflow: hidden;
}

.container {
	max-width: 1240px;
}

.arrange-top {
	padding-top: 17px;
	margin-bottom: 20px;
}

#header > .inner,
#main > .inner,
#footer > .inner {
	padding: 0 5%;
}

#main {
  position: relative;
}

/* 768 px */
@media screen and (min-width: 48.000em) {
	#header > .inner,
	#main > .inner,
	#footer > .inner {
		padding: 0 4% 0 5%;
	}
	.arrange-top {
		margin-bottom: 25px;
	}
	.arrange-left {
		width: 30%;
		float: left;
	}
	.arrange-right {
		width: 70%;
		float: left;
	}
	.arrange-right > .inner {
    padding-left: 4.5%;
	}
}
/* 1024px */
@media screen and (min-width: 64.000em) {
	.arrange-top {
		margin-bottom: 32px;
	}
	.arrange-left {
		width: 21.7%;
	}
	.arrange-right {
		width: 78.3%;
	}
}

/* 768 px */
@media screen and (max-width: 47.937em) {
	#main > .inner {
		position: relative;
	}
	#sidebar-top {
		position: absolute;
		top: 0px;
	}
}


/*==================================================
* STICKY FOOTER
* ================================================*/
@media screen and (min-width: 64.000em) {
  html, body {
    height: 100%;
    width: 100%;
  }
  #globalWrapper {
    width: 100%;
    height: 100%;
    display: table;
    table-layout: fixed;
    position: relative;
  }
  #header,
  #main,
  #footer{
    display: table-row;
		width: 100%;
  }
	#main {
		height: 100%;
	}
}

/*==================================================
* HEADER
* ================================================*/
#header {
  padding: 0px;
  position: relative;
  z-index: 300;
}
#header > .inner {
  position: relative;
}
#headerImage {
	margin: 0 -62px;
}
/* 768 px */
@media screen and (max-width: 47.937em) {
	#header {
		background-color: #d20026;
	}
}


/*==================================================
* LOGO
* ================================================*/
#logo {
  text-align: center;
  margin-bottom: 20px;
}
#logo a {
  margin-top: 26px;
	text-decoration: none;
	width: 151px;
  width: 7rem;
}
#logo img {
	max-width: 70%;
	display: inline-block;
	margin-top: 15px;
}
#logoText {
	color: #fff;
	width: 100%;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0.01em;
	line-height: 1.37em;
	text-transform: uppercase;
	margin: 0 auto;
	word-spacing: -0.03em;
}
#logoText .line2 {
	letter-spacing: 0.065em;
}
#logoText span {
	display: block;
}
/* 256px */
@media screen and (min-width: 20em) {
  #logo {
    text-align: left;
		margin-bottom: 0px;
		margin-left: -15px;
		height: 100%;
		position: absolute;
  }
	#logo a {
    display: inline-block;
    margin-top: 27px;
		margin-bottom: 10px;
    position: relative;
		width: 5rem;
	}
	#logo img {
		width: 100%;
		max-width: 100%;
		margin: 0px;
	}
	#logoText {
    position: absolute;
		font-size: 12px;
    left: 100%;
    top: -5px;
		color: #d20026;
		margin: 0px;
		padding-left: 10px;
		width: 300px;
	}
}
/* 256px */
@media screen and (min-width: 23em) {
	#logo a {
		width: 5rem;
	}
	#logoText {
		font-size: 15px;
	}
}
/* 256px */
@media screen and (min-width: 25em) {
	#logo a {
		width: 7rem;
	}
	#logoText {
		font-size: 16px;
	}
}
/* 768 px */
@media screen and (min-width: 48.000em) {
	#logo-wrap {
		padding: 0 62px;
	}
  #logo {
		position: relative;
		margin-left: 0px;
  }
	#logo a {
		width: 9.438rem;
		position: absolute;
		right: 0px;
		margin-bottom: 0px;
	}
	#border {
		display: block;
		position: absolute;
		width: 1px;
		background-color: #d10026;
		right: 0px;
	}
	#logoText {
		font-size: 19px;
	}
}
/* 1024px */
@media screen and (min-width: 64.000em) {
  #logo {
		width: 21.7%;
  }
}

.183p #logo {
  display: none !important;
}



/*==================================================
 * MAIN NAVIGATION
 * ================================================*/
#mainNav {
	width: 100%;
}


/*==================================================
 * SIDEBAR
 * ================================================*/
#sidebar-top {
	overflow: hidden;
}
#sidebar-top > .inner {
	position: relative;
	padding-left: 67px;
}
/* 768 px */
@media screen and (min-width: 48.000em) {
	#sidebar {
		padding-bottom: 105px;
	}
}


/*==================================================
 * CONTENT
 * ================================================*/
#breadcrumb {
	width: 100%;
}
.startpage #breadcrumb  {
	visibility: hidden;
}
#breadcrumb ol {
	margin: 0px;
	padding: 0px;
}
#breadcrumb li {
	display: inline-block;
	margin: 0px;
	padding: 0px;
}
#breadcrumb a {
	text-decoration: none;
	color: #000;
	font-weight: normal;
}
#breadcrumb a:hover {
	color: #000;
}
#breadcrumb li:after {
	display: inline-block;
	content: ">";
	font-size: 15px;
	font-size: 0.938rem;
	margin-left: 11px;
	margin-right: 9px;
}
#breadcrumb li:last-child a {
  pointer-events: none;
}
#breadcrumb li:last-child:after {
	display: none;
}
#breadcrumb ol li:before {
	display: none;
}



/*==================================================
 * CONTENT
 * ================================================*/
body.subpage #content {
	padding-bottom: 40px;
}
#content .column-essential {
	padding-bottom: 29px;
}
#content .column-aside {
	padding-bottom: 20px;
}
#content .column-aside h1 {
	font-size: 19px;
	font-size: 1.188rem;
	margin-bottom: 1em;
	font-weight: normal;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

/* 768 px */
@media screen and (min-width: 48.000em) {
	#content {
		float: right !important;
	}
}

/* 1024px */
@media screen and (min-width: 64.000em) {
	#content .column-essential {
		width: 79%;
		margin-top: -4px;
	}
	#content .column-aside {
		width: 21%;
		margin-top: 3px;
	}
	.startpage #content .column-essential {
		width: 69% !important;
	}
	.startpage #content .column-aside {
		width: 31% !important;
	}
}


/*==================================================
 * LAYOUT: BLOG
 * ================================================*/
.blog #content {
  width: 100% !important;
	padding-bottom: 100px;
}
.blog #sidebar {
  display: none !important;
}




/* CONTACT
* ----------------------------------------------- */
.ce-contact {
  font-size: 16px;
  margin-top: 25px;
}

.ce-contact p {
  line-height: 20px;
  margin-bottom: 15px;
}
.adressGroup,
.phoneGroup,
.emailGroup {
  padding-left: 25px;
  position: relative;
}
.adressGroup:before {
  content: '';
  width: 25px;
  height: 25px;
  display: block;
  position: absolute;
  left: -5px;
  background-image: url('/fileadmin/layout/images/icons/icons-sprite.png');
  background-repeat: no-repeat;
  background-position: -40px -75px;
}
.phoneGroup:before {
  content: '';
  width: 25px;
  height: 25px;
  display: block;
  position: absolute;
  left: -5px;
  background-image: url('/fileadmin/layout/images/icons/icons-sprite.png');
  background-repeat: no-repeat;
  background-position: -5px -110px;
}
.emailGroup:before {
  content: '';
  width: 25px;
  height: 25px;
  display: block;
  position: absolute;
  left: -5px;
  background-image: url('/fileadmin/layout/images/icons/icons-sprite.png');
  background-repeat: no-repeat;
  background-position: -5px -75px;
}

/*==================================================
 * Display Transformability
 * ================================================*/
#displayTransformability {
	position: absolute;
	left: -2px;
}
#displayTransformability button {
	background-image: url('/fileadmin/layout/images/icons/spritesheet-icons.png');
	background-repeat: no-repeat;
	display: block;
	text-indent: -9999em;
	font-size: 0px;
	color: transparent;
	border: 0px;
	margin: 0 1px;
	float: left;
}

/*==================================================
 * LOGOS
 * ================================================*/
#content .logos .column {
	margin-bottom: 20px;
}

/*==================================================
 * SEARCH FORM
 * ================================================*/
#searchForm {
	padding-right: 9px;
}
#searchForm .term {
	background-color: #d0d0d0;
	border: 0px;
	width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
	padding: 3px 5px 2px;
	font-size: 13px;
}
#searchForm .button {
	width: 24px;
	height: 25px;
	background: url('/fileadmin/layout/images/icons/magnifier.png') no-repeat center;
	position: absolute;
	top: 0px;
	right: 0px;
	border: 0px;
	font-size: 0px;
	text-indent: -9999em;
	color: transparent;
}

#text-smaller {
	width: 28px;
	height: 23px;
	background-position: -97px -38px;
}
#text-bigger {
	width: 28px;
	height: 23px;
	background-position: -97px -5px;
}


/*==================================================
 * FOOTER MENUE
 * ================================================*/
#footer-menue {
  width: 100%;
}
#footer-menue a {
  background-color: #009aa3;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
	font-size: 18px;
	font-size: 1.125rem;
	letter-spacing: -0.01em !important;
  margin-top: 0px !important;
  margin-bottom: 0px !important;
  color: #FFFFFF !important;
  font-weight: bold !important;
}
#footer-menue #newsletter a {
  background-color: #d20027;
}
#footer-menue a:hover,
#footer-menue a:focus {
  background-color: #9c9d9d !important;
  text-decoration: none !important;
  color: #FFFFFF;
}
/* 768 px */
@media screen and (min-width: 48.000em) {
  #footer-menue {
    position: absolute;
    bottom: 100%;
    margin-bottom: 10px;
  }
}
.additionalLinks {
	margin: 0 -10px;
}
.additionalLinks a {
	float: left;
	padding: 0 10px;
	display: inline-block;
}




/*==================================================
 * GOOGLE MAP
 * ================================================*/
#googleMap {
  width: 100%;
  height: 397px;
  position: relative;
  background-color: rgb(229, 227, 223);
  overflow: hidden;
}
/* 768 px */
@media screen and (min-width: 48.000em) {
  #googleMap {
    height: 497px;
  }
}
/* 1024px */
@media screen and (min-width: 64.000em) {
  #googleMap {
    height: 597px;
  }
}



/*==================================================
 * FOOTER
 * ================================================*/
#footer > .inner{
	border-top: 1px solid #d10026;
	padding-top: 10px;
	padding-bottom: 10px;
	clear: both;
}
#footer .arrange-left {
	position: relative;
}
#footer a {
	color: #000;
	font-weight: normal;
}
#footer a:hover {
	text-decoration: underline;
}
/* 1024px */
@media screen and (min-width: 64.000em) {
	#footer .column-essential {
		width: 70%;
	}
	#footer .column-aside {
		width: 30%;
	}
}



/*==================================================
 * SOCIAL BAR
 * ================================================*/
.socialLinks {
  margin: 10px -2px 0;
}
.socialLinks .socialItem {
  padding: 0 2px;
  float: left;
}
.socialLinks a {
	background-image: url('/fileadmin/layout/images/icons/spritesheet-icons.png');
	background-repeat: no-repeat;
	display: block;
}
.socialLinks .facebook {
	width: 40px;
	height: 40px;
	background-position: -47px -5px;
}
.socialLinks .youtube {
	background-image: url('/fileadmin/layout/images/icons/youtube.png');
	width: 40px;
	height: 40px;
	background-position: center;
}
/* 1024px */
@media screen and (min-width: 64.000em) {
  .socialLinks {
    margin-top: 0px;
  }
}


/*==================================================
 * SPECIAL MENUE
 * ================================================*/
.ce-menu.ce-menu-1 {
	list-style: none;
	padding: 0px;
}
.ce-menu.ce-menu-1 .split {
	margin-bottom: 15px;
}
.ce-menu.ce-menu-1 .menuItem {
	background-color: #9c9d9d;
	position: relative;
	display: table;
	width: 100%;
}
.ce-menu.ce-menu-1 .menuItem:hover {
	background-color: #d20027;
}
.ce-menu.ce-menu-1 li:before {
	display: none;
}
.ce-menu.ce-menu-1 a {
	text-decoration: none;
	color: #fff;
	height: 100%;
	display: block;
	padding: 20px;
	font-size: 18px;
	line-height: 1em;
	text-align: center;
	height: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
	display: table-cell;
	vertical-align: middle;
}

.column-aside .ce-menu {
	margin: 0px;
}
.column-aside .ce-menu li:before {
	display: none;
}
.column-aside .ce-menu li:after {
	content: ">";
	color: #009aa3;
	display: inline-block;
	font-weight: bold;
}
.column-aside .ce-menu a {
	color: #009aa3;
	font-weight: bold;
	text-decoration: none;
}

/* 768 px */
@media screen and (min-width: 48.000em) {
	.ce-menu.ce-menu-1 .split {
		margin-bottom: 25px;
	}
}

/* 1024px */
@media screen and (min-width: 64.000em) {
	.ce-menu.ce-menu-1 .menuItem {
		background-color: #9c9d9d;
		width: 100%;
		min-height: 113px;
	}
}


/*==================================================
 * TO TOP LINK
 * ================================================*/
.toTop a {
	color: #009aa3;
	text-decoration: none;
}
.toTop a:hover {
	text-decoration: underline;
}

/*==================================================
 * UPLOADS
 * ================================================*/

.ce-uploads {
	margin: 0px;
}
.ce-uploads li {
	display: table;
	margin-bottom: 10px;
}
.ce-uploads li:before {
	display: none;
}
.ce-uploads li a > span {
	display: table-cell;
	vertical-align: middle;
}
.ce-uploads li a,
.ce-uploads li a:hover {
	color: #009aa3;
	text-decoration: none;
	font-weight: bold;
}
.ce-uploads li .sprite-download {
	padding-right: 10px;
}


.column-aside .ce-uploads {
	margin: 0px;
}
.column-aside .ce-uploads li {
	display: block;
	margin-bottom: 0px;
	padding-left: 0px;
}
.column-aside .ce-uploads li:before {
	display: none;
}
.column-aside .ce-uploads li span:after {
	content: ">";
	color: #009aa3;
	display: inline-block;
	font-weight: bold;
}
.column-aside .ce-uploads li a > span {
	display: inline-block;
	vertical-align: middle;
}
.column-aside .ce-uploads a
.column-aside .ce-uploads li a:hover {
	color: #009aa3;
	font-weight: bold;
	text-decoration: none;
}



/*==================================================
 * HISTORY
 * ================================================*/
.historyEntry {
	margin-bottom: 20px;
}
.historyEntry .year {
	font-weight: bold;
	padding-right: 5px;
}
/* 1024px */
@media screen and (min-width: 64.000em) {
	.historyEntry {
		display: table;
	}
	.historyEntry .year,
	.historyEntry .text{
    display: table-cell;
    position: relative;
	}
	.historyEntry .year {
		width: 47px;
	}
	.historyEntry .year:after {
    content: "|";
    display: inline-block;
    position: absolute;
    right: 0;
		top: 0px;
	}
	.historyEntry .text {
		padding-left: 5px;
	}
}

/*==================================================
 * BRANCHES
 * ================================================*/
.branchItem {
	margin-bottom: 30px;
	max-width: 483px;
  max-width: 100%;
}
.branchItem .googleMaps {
	max-width: 100%;
	position: relative;
}
.branchItem .link-to-google {
	font-size: 13px;
	font-size: 0.813rem;
}
.branchItem .google-map-deactivated {
	position: relative;
	display: table;
	width: 100%;
	height: 100%;
}
.branchItem .google-map-deactivated > .inner {
	width: 100%;
	height: 100%;
	background-color: #d0d0d0;
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	padding: 20px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	opacity: 0.9;
	font-style: italic;
	line-height: 1.5em;
	font-size: 0.9rem;
}
.branchItem .google-map-deactivated a {
	display: block;
}

/*==================================================
 * Contactpoint
 * ================================================*/
.contactPoint .person {
	margin-bottom: 20px;
}
.contactPoint h1,
.contactPoint h2,
.contactPoint a {
  /* These are technically the same, but use both */
  overflow-wrap: break-word;
  word-wrap: break-word;

  -ms-word-break: break-all;
  /* This is the dangerous one in WebKit, as it breaks things wherever */
  word-break: break-all;
  /* Instead use this non-standard one: */
  word-break: break-word;

  /* Adds a hyphen where the word breaks, if supported (No Blink) */
  -ms-hyphens: auto;
  -moz-hyphens: auto;
  -webkit-hyphens: auto;
  hyphens: auto;
}



/*==================================================
 * FOOTER NAVI
 * ================================================*/
#footerNavi ul {
	list-style: none;
	padding: 0px;
	margin: 17px -10px;
	overflow: hidden;
}
#footerNavi ul li {
	padding: 0 10px;
	float: left;
}
#footerNavi ul li:before {
	display: none;
}
#footerNavi a {
	font-size: 18px;
	font-size: 1.125rem;
	letter-spacing: 0.005em;
	text-decoration: none;
	color: #000;
}




/*==================================================
 * INDEXED SEARCH
 * ================================================*/
.tx-indexedsearch-res {
	margin-bottom: 40px;
}
.tx-indexedsearch-info {
	overflow: hidden;
}
.tx-indexedsearch-info dt,
.tx-indexedsearch-info dd {
	float: left;
}
.tx-indexedsearch-info dt {
	font-weight: bold;
}
.tx-indexedsearch-info dd {
	margin-left: 0px;
	margin-right: 20px;
}
div.tx-indexedsearch-browsebox {
	width: 100%;
	overflow: hidden;
	margin-bottom: 50px;
}
ul.tx-indexedsearch-browsebox {
  list-style: none;
  left: 50%;
  text-align: center;
  clear: left;
  float: left;
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  left: 50%;
  text-align: center;
  margin-top: 30px;
  margin-bottom: 50px;
}
ul.tx-indexedsearch-browsebox li {
  right: 50%;
  display: block;
  float: left;
  list-style: none;
  margin: 1px;
  padding: 0;
  position: relative;
  right: 50%;
}
ul.tx-indexedsearch-browsebox li:before {
  display: none;
}
ul.tx-indexedsearch-browsebox li a {
  display: inline-block;
  background-color: #e6e6e6;
  padding: 5px 10px;
  text-decoration: none;
}
ul.tx-indexedsearch-browsebox li.tx-indexedsearch-browselist-currentPage a,
ul.tx-indexedsearch-browsebox li a:hover,
ul.tx-indexedsearch-browsebox li a:focus {
  background-image: none !important;
  background: #b40222;
  text-decoration: none;
  color: #fff;
}
.tx-indexedsearch-redMarkup {
	color: #d20026;
}

.hinweismmb {
  display: block;
  margin-bottom: 10px;
}
@media screen and (max-width: 1200px) {
  .ce-menu.ce-menu-1 a {
    font-size: 14px;
  }
}



/*==================================================
 * PRINT LINK
 * ================================================*/
#print {
  margin-top: 17px;
  position: absolute;
  right: 20px;
}
#print a {
	color: #000;
	font-weight: normal;
}
@media screen and (max-width: 1200px) {
  #print {
    display: none;
  }
}

/*==================================================
 * COOKIE
 * ================================================*/
.klaro .cookie-notice {
	border-radius: 0px !important;
	box-shadow: none !important;
}
.klaro .cookie-modal a, .klaro .cookie-notice a {
	color: #009aa3 !important;
}
.klaro .cm-btn {
	border-radius: 0px !important;
	box-shadow: none !important;
}
.klaro .cookie-modal .cm-btn.cm-btn-success,
.klaro .cookie-notice .cm-btn.cm-btn-success {
	background-color: #009aa3 !important;
}
.klaro .cookie-modal .cm-btn.cm-btn-danger,
.klaro .cookie-notice .cm-btn.cm-btn-danger {
	background-color: #d20027 !important;
}
.klaro .cookie-modal .cm-app-input:checked + .cm-app-label .slider,
.klaro .cookie-notice .cm-app-input:checked + .cm-app-label .slider {
	background-color: #009aa3 !important;
}



@media screen and (max-width: 768px) {
  #breadcrumb ol {
      margin: 50px 0 0;
      padding: 0;
  }
}
