/*
Theme Name: HMS Custom Theme
Theme URI: https://unique.de
Author Name: Kai Meinhardt (unique)
Author URI: https://unique.de
Version: 4.1.2
*/



/* Fonts importieren */
@import url('../css/typography.css');



/* kleiner reset */
*:focus,
.btn.active.focus, 
.btn.active:focus, 
.btn.focus, 
.btn:active.focus, 
.btn:active:focus, 
.btn:focus {
    outline: none;   
}

html, body {
    margin: 0;
    padding: 0;
    font-family: 'Bozon', 'Roboto', Arial, sans-serif;
	font-weight: 400;
	color: #000;
    font-size: 10px;
    line-height: 1.762em;
	
	background-color: #F2FAFC;
}

body {
	/* damit alles im body mit absolute nicht aus dem body raus geht */
	position: relative;
	/* die schriftgröße, auf die sich die REM beziehen */
    font-size: 16px;
	/* damit das rein slidendene menü keinen scrollbalken erzeugt */
	overflow-x: hidden;
}



@media(min-width:576px) { .container-fluid { max-width:  720px; } }
@media(min-width:768px) { .container-fluid { max-width:  960px; } }
@media(min-width:992px) { .container-fluid { max-width: 1140px; } }

.white-container { background-color: #fff; max-width: 1370px; margin: auto; }


.row:before,
.row:after {
	content: normal; /* safari fix */
}
/* für safari das falsche Runden nicht vergessen */


img { max-width: 100%; height: auto; }
img.img-responsive { width: 100%; height: auto; }

p { margin-bottom: 2rem; }


/* wordpress klassen */
.alignright {
	float: right;
	margin-left: 15px;
	margin-bottom: 15px;
}

.alignleft {
	float: left;
	margin-right: 15px;
	margin-bottom: 15px;
}

.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/* bootstrap heading-reset */
h1, h2, h3, h4, h5, h6 { margin: 0; font-weight: 400; }
@media(max-width:320px) {
	h1 { word-break: break-all; }
}

h1, h1 a { 
    font-weight: 800;
    color: #515151;
    font-size: 4.6rem;
    line-height: 45px;
    margin-bottom: 15px;
}

h1 .blau, h3 .blau, h4 .blau, h5 .blau   {color:#046A92;}
h1 .orange, h3 .orange, h4 .orange, h5 .orange  {color:#FFAE00;}

h2, h2 a { 
    font-size: 3.6rem;
    line-height: 1.3em;
    margin-bottom: .5em;
    color: #046A92;
}

h3, h3 a { 
    font-size: 2.4rem;
	line-height: 1.3em;
    font-weight: 400;
    color: #000; 
    margin-bottom: 1em;
}




h4, h4 a { 
    font-size: 1.1em;
}

h5, h5 a { 
    font-size: 1.083em;
}

h6, h6 a { 
	font-size: 1em;
}


.dachzeile {
	font-weight: 600;
	font-size: 2rem;
	color: #8A8C89;
	text-transform: uppercase;
	margin-bottom: 1em;
}

/* Silbentrennung mobil */
@media(max-width:576px) {

	h1 {
		font-size: 3rem;
    	line-height: 3.3rem;
	}
	h2 {
		font-size: 3rem;
	}

	h1, h2, h3, .dachzeile,
	h1 span, h2 span, h3 span {

		overflow-wrap: break-word;
  		word-wrap: break-word;
  		-ms-word-break: break-all;
  		word-break: break-word;

		-webkit-hyphens: auto;
		-moz-hyphens: auto;
		hyphens: auto;
	}
}


.whitebg {
	background-color: #fff;
}




/* HEADER */
.page-header {
    border: 0;
	padding-bottom: 0;
    margin: 0px; /* BS reset */
	width: 100%; /* for position-fixed cases */
	z-index: 9999; /* for position-fixed cases */
	/* individuell */
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}
@media(min-width:576px) { .page-header { padding-left: 15px; padding-right: 15px; } }

.page-header hr {
	width: 100%;
	margin: 0;
    border-width: 2px;
    border-color: #fff;
}
/*@media(min-width:768px) {.page-header hr { border-width: 0.6px; } }*//* wird in chrome als 0 gerendert*/

.navbar {
	/* BS4 reset */
	padding: 0;
	/* individuell */
}

/* BS4 reset */
/*.navbar>.container, .navbar>.container-fluid {padding:0;}*/

/* mobiler Button */
.navbar-toggler {
	background-color: transparent;
	border: 0px;
	border-radius: 0px;
	margin: 0;
	padding: 0;
	
	/* individuell */
	float: right;
	margin: 15px;
	/* am 29.7.19 von 17 15 auto 15 geändert*/
}
@media(min-width:576px) { .navbar-toggler { /* am 29.7.19 von 25 15 auto 15 geändert*/ margin: 15px; } }

.navbar-toggler:focus, 
.navbar-toggler:hover {
    background-color: transparent;
	outline: transparent;
}

.navbar-toggler .navbar-toggler-icon {
	background: url(../img/burger.svg);
	background-size: contain;
	background-repeat: no-repeat;
    width: 22px;
	height: 10px; /*für IE!*/
}
/* Ende mobiler Button */

/* rein-slidendes menü */
#main-menu {	
	/* feste Breite */
	width: 265px;
	min-height: 100vh; /* min 100% vom viewport */
	
	position: absolute;
	top: 0;
	right: 0;
	transform: translateX(100%);
	
	transition: all .4s;
	
	/* styling */
	background: #fff;
	overflow: hidden;
	padding: 0px 20px 0px 30px;
}
@media(min-width:576px) { #main-menu { right: -15px; } }

#main-menu.slidein {
	transform: translateX(0);
	
	transition: all .4s;
	
	/* styling */
	box-shadow: 0px 0px 52px 0px rgba(0,0,0,.18);
}
/*@media(min-width:576px) { #main-menu.slidein { right: -15px; } }*/

.main-menu-header {
	padding-top: 5px;
	padding-bottom: 5px;
}

@media(min-width:576px) {.main-menu-header {padding-top: 20px;}}

#close-menu-slider {
	float: none;
    margin: 12px 0 0 auto;
}
@media(min-width:576px) {#close-menu-slider {margin: 0px 0 0 auto;}}


#back-menu-slider:before {
	content:normal;
}
#back-menu-slider {
    border: 0;
    padding: 0;
	margin: 0;
	/* nur einblenden wenn untermenü da ist */
	display: none;
}
#back-menu-slider:hover,
#back-menu-slider:focus,
#back-menu-slider:active {
	background: transparent;
	border: 0;
	outline: none;
}




.navbar-brand {
	/* bootstrap resets */
    line-height: 100%;
	height: auto;
	/* individuell */
	padding: 15px 0 12px 15px;
}

@media(min-width:576px) { .navbar-brand { padding-top: 23px; } }


.logo {
    display: block;
    margin: 0;
	padding: 0;
    background: url(../img/logo.svg) no-repeat;
	background-size: contain;
	background-position: center left;
	text-indent: -9999px;
	
	/* IE FIX */
	background-size: 82px auto;
	width: 82px;
}

.logo img {
	/* since BS4 real size here */
	width: 82px;
	height: 20.73px;
}


.logo:after {
    border: 0 !important;   
}



.header-lang, .header-lang:hover, .header-lang:focus, .header-lang:active, .header-lang:visited {
	text-transform: uppercase;
	color: #fff;
	text-decoration: none;
	margin-left: auto;
	margin-right: 30px;
}







/* platz für schatten */
.titelbild-container { padding-bottom: 43px; background-color: #fff; }
@media(min-width:768px) { .titelbild-container { padding-bottom: 0; } }
		
.titelbild {
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top center;
	
	/*damit platz für navileiste ist */
	padding-top: calc( 50px + 102px);
	
	/* platz nach pfeil */
	padding-bottom: 106px;
	
	/* sonstiges */
	color: #fff;

	box-shadow: 0px 5px 40px 0px rgba(0,0,0,.3);
}
@media(min-width:768px) { 
	.titelbild { 
		padding-top: calc(60px + 150px); 
		padding-bottom: 203px;

		/* sonstiges */
		margin-bottom: 0;
		box-shadow: none;
	}
}

@media(min-width:1300px) { 
	.titelbild { 
		background-position: center center;
	}
}

.titelbild.page-titelbild {
	padding:0;
	position: relative;
	
}

.titelbild.page-titelbild .tobottom {
    position: absolute;
    bottom: 1%;
    width: 100%;
}



.titelbild h1 {
	color: #fff;
	margin-bottom: 15px;
	text-transform: uppercase;
}
@media(min-width:768px) {
	.titelbild h1 {
		color: #046A92;
	}
}
.titelbild.page-titelbild h1 {
	color: #046A92;
	text-shadow: #fff;
	text-shadow: -1px 0 #fff, 0 1px #fff, 1px 0 #fff, 0 -1px #fff;
}

.titelbild h2 {
	font-weight: 800;
	color: #FFAE00;
	font-size: 3.6rem;
	line-height: 1em;
	margin-bottom: 42px;
}
@media(min-width:768px) {
	.titelbild h2 {
		margin-bottom: 12px;
	}
}

.titelbild .text {
	color: #fff;
	/* damit first letter klappt */
	display: block;
	/* sonstiges */
	font-size: 15px; /* sieht komisch gerendert aus in chrome */
	line-height: 1.613em; /* siehe font-size */
	/*line-height: 1.512em;*/ /* wäre besser bei 16px */
}
@media(min-width:768px) {
	.titelbild .text {
		color: #000;
	}
}
@media(min-width:576px) {
	.titelbild .text {
		font-size: 22px;
		line-height: 1.373em;
	}
}
.titelbild.page-titelbild .text {
	color: #000;
	
}

/* auf Kundenwunsch am 28.8.2019 entfernt */
/*
.titelbild:not(.page-titelbild) .text::first-letter {
	font-size: 50px;
	float: left;
    padding-top: 15px;
    padding-right: 5px;
}
@media(min-width:576px) {
	.titelbild:not(.page-titelbild) .text::first-letter {
		font-size: 64px;
		padding-top: 18px;
	}
}
*/
.pfeilrunter {
	margin-top: 68px;
	display:none;
}




.nav {
	/* für untermenü-positionierung
	 * nur bei von links rein slidenden menü
	 */
	position: relative;
	
	/* sonstiges */
	padding: 0px 0px 30px 0px;
}

#main-menu .menu-item + .menu-item {	
    border-top: 1px solid #DDD;
}

/* Menü - Ebene 1 und Tiefer */
.nav>li a,
a:not([href]):not([tabindex]),
a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
	/* individuell */
	color: #515151;
	text-transform: uppercase;
	font-weight: 600;
	display: block;
	width: 100%;
	padding: 9px 0px 10px;
	font-weight: 400;
}

.nav>li:first-child a {
	padding-top: 0;
}

.nav li.marked {
    border-color: #d9d9d9;
    border-style: solid;
	border-width: .14rem 0;
	margin: 1.4rem 0 0;
}

/* Menü - Ebene 1 */
.nav>li>a {
	white-space: nowrap;
}

.nav>li a>.fas {
	float: right;
    font-size: 1.6rem;
    font-weight: 900;
    padding-top: 4px;
}

.nav>li.current-menu-item>a,
.nav>li>a:focus, 
.nav>li>a:hover,
.nav .open>a, .nav .open>a:focus, .nav .open>a:hover {
	/*reset*/
	background-color: inherit;
	border-color: inherit;
	text-decoration: none;
	/*individuell*/
	color: #000;
}



.menu-item-has-children {
    cursor: pointer;
	/* for position of menu level 3* /
	/*position: relative;*/
	/*mobile*/
	background: transparent; 
}

.dropdown-toggle::after {
	/* BS4 reset*/
	display: none;
}

/* Untermenüs */
.dropdown-menu {
	/*resets*/
	list-style: none;
    padding: 0;
	margin: 0;
	border: 0;
	border-radius: 0;
	font-size: 100%;
	
	/*mobile*/
	width: 100%;
}

/* nur für von links rein slidendes menü */
.navbar-nav .dropdown-menu {
	position: absolute;
	top: 0;
	left: 0;
	transform: translateX(100%) translateX(30px);
}
/* damit es schön aussieht: */
.main-menu-inner {
	transition: all 0.4s;
}
.nachlinks {
	transform: translateX(-100%) translateX(-30px);
	transition: all 0.4s;
}




.dropdown-menu > li > a {
	text-transform: none;
}

.dropdown-menu > li.current-menu-item > a,
.dropdown-menu > li > a:hover {
	background-image: none; /*reset important*/
	text-decoration: none; /*reset important*/
	/*individuell*/
	color: #000;
}



/* WPML Stuff */
.wpml-ls-legacy-list-horizontal {
    margin-left: auto;
}

.wpml-ls-legacy-list-horizontal a {
    color: #fff;
}



/**/
.menu-einstellungen a {
	color: #515151;
}

.kleine-links li {
	margin-bottom: .8rem;
}

.kleine-links a {
	font-size: 1.4rem;
	color: #8a8a8a;
}





/* Nur wenn Bootstrap-Slider verwendet wird: */
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
    width: 100%;
    margin: auto;
}

.carousel-caption {
	width: 100%;
	right: 0;
    left: 0;
	bottom: 0;
    
    background-color: rgba(0,0,0,.8);
    color: #fff;
}

.carousel-control > .fas {
	position: relative;
	top: 50%;
	transform: translateY(-50%);
}

main a.carousel-control-prev,
main a.carousel-control-next,
main a.carousel-control-prev:hover,
main a.carousel-control-next:hover {
	text-decoration: none;
}

main a.carousel-control-prev .fa,
main a.carousel-control-next .fa {
	font-size: 7.3rem;
}

/* Ende Bootstrap Slider */

/* MAIN */

main a, main a:active, main a:focus, main a:visited, main a:hover {
	color: #046A92;
	text-decoration: underline;
}

main ul:not(.slick-dots), main ol:not(.carousel-indicators) {
    list-style: none;  
    padding: 0;
    display: table;
}

main ul:not(.slick-dots):not(.nav) li {
    display: table-row;
}

main ul:not(.slick-dots):not(.nav) li:before {
	content: '\f111';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	color: #046A92;
	
	font-size: 0.8rem;
    line-height: 2.7em;
	
    vertical-align: top;
    display: table-cell;
    text-align: left;

	padding-right: 1.2rem;
	padding-top: 0.5em;
    box-sizing: content-box;
}
main ul:not(.slick-dots):not(.nav) li:after {
	content: ' ';
	display: block; 
	margin-bottom: .5rem;
}
main ul:not(.slick-dots):not(.nav) ul {
	margin-top: 0.7em;
}

main ul:not(.slick-dots):not(.nav) ul li:before {
	color: #535353;
}

main ol:not(.carousel-indicators) { counter-reset: item; }
main ol:not(.carousel-indicators) li {display: table-row;}
main ol:not(.carousel-indicators) li:before {
    content: counter(item) ".";
    counter-increment: item;
    
    color: #014866;
	font-size: 1.8rem;
    font-weight: 500;
    
    display: table-cell;

    padding-right: 1.5rem;
}

main img {
    border-width: 0px;
    border-color: #fff;
    border-style: solid;
    max-width: 100%;
    height: auto;
}

main p + h3,
main ol + h3,
main ul + h3 {
	padding-top: 3rem;
}

@media (min-width: 768px) {
	.standardcontent {
		font-size: 2rem;
		line-height: 1.5em;
	}
}

figure {
    max-width: 100%;
}

figure.alignnone {
	margin: auto;
}

main .wp-caption-text {
    background: #fff;
    color: #515151;
	padding-top: 10px;
    padding-bottom: 25px;
    padding-left: 15px;
    padding-right: 15px;
    font-size: 1.5rem;
	line-height: 1.5em;
}

.btn-primary,
button:not(.navbar-toggler) {
	display: inline-block;
    border: 1px solid #FFAE00;
    background-color: #fff;
    color: #000!important;
    padding: 8px 15px;
    border-radius: 3px;
    white-space: normal;
    text-transform: uppercase;
    text-decoration: none!important;
    box-shadow: none;
    font-weight: 600;
    text-align: left;
    margin-bottom: 15px;
}

.btn-primary:before,
button:not(.navbar-toggler):before {
	font-family: 'Font Awesome 5 Free';
	content: '\f30b';
	
	display: inline-block;
	/*float: right;*/
	
    padding-left: 15px;
    font-size: 1.8rem;
	color: #000;
}

button:not(.navbar-toggler):hover, .btn-primary:hover,
button:not(.navbar-toggler):active, .btn-primary:not(:disabled):not(.disabled):active,
button:not(.navbar-toggler):focus, .btn-primary:focus,
button:not(.navbar-toggler):active:focus, .btn-primary:active:focus {
	border-color: #FFAE00;
	background-color: #FFAE00;
}


/*

.slick-dots li button {
	background-color: transparent!important;
	color: transparent;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
}

button.slick-prev,
button.slick-next {
	background-color: #fff!important;
	color: transparent;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	width: 39px;
    height: 70px;
	top: 28%;
	z-index:2;
	right:-19px;
}

.slick-prev:before, .slick-next:before {
	color:#A3A21C;
	font-size: 40px;
	
	font-family: 'Font Awesome 5 Free';
}

.slick-next:before { content: '\f105'; }
.slick-prev { display: none!important; }
*/

input[type=number],
input[type=date],
input[type=text] {
    display: block;
    width: 100%;
    padding: 7px 15px;
	margin-bottom: 8px;
}

.form-control {
	height: calc(1.5em + 1.6rem + 4px);
    font-size: 1.6rem;
    color: #000;
	font-weight: 600;
	text-transform: uppercase;
}


/* Mini News Startseite*/
.mini-news {
	padding-bottom: 65px;
}

	
main .mini-news a {
	display: block;
	text-decoration: none;
	border-bottom: 1px solid rgba(158,194,2214,.3);
	padding: 12px 15px 11px;
	
	font-family: 'Bozon', 'Roboto', Arial, sans-serif;
	font-size: 1.5rem;
	line-height: 1.6rem;
	color: #90A4A8;
	text-decoration: none;
	transition: all 0.3s;
}
@media(min-width:768px) { 
	main .mini-news a {
		padding-top: 28px;
		padding-bottom: 26px;
	}
}
main .mini-news a:hover {
	background-color: #F2FAFC;
	transition: all 0;
	color: #515151;
}

.news-symbol {
	width: 30px;
	float: left;
	margin-right: 15px;
}
@media(min-width:768px) { .news-symbol { width: 15px; } }
/*
.mini-news a .fa {
	float: right;
	padding-left: 90px;
}*/

/* Links zu Bereichen */
.bereichslinks {
	padding-bottom: 65px;
}

.bereichslinks .bereich {

	background-size: contain;
	background-position: center top;
	background-repeat: no-repeat;
	padding-top: 300px;
}

.bereichslinks h1 {
	text-transform: uppercase;
	color: #046A92;
}
@media(max-width:767px) {
	.bereichslinks h1 {
		font-size: 4.0rem;
	}
}

.btn-primary.bereichslink {
	background-color: #FFAE00;
	width: 100%;
	font-size: 1.4rem;
	font-weight: 400;
	text-transform: none;
	text-align: center;
	margin-bottom: 0.6rem;
	transition: background-color 0.3s;
	border: none;
}

.btn-primary.bereichslink:hover,
.btn-primary.bereichslink:focus {
	background-color: #ffbe32;
	transition: background-color 0;
}


.btn-primary.bereichslink:before {
	content: normal;
}

/* sektionen und deren klassen */
.text-und-bild, .text-bild, .bild-text {
	padding-bottom: 25px;
}
@media(min-width: 768px and max-width 991px) {
	.text-und-bild, .text-bild, .bild-text {
		padding-bottom: 35px;
	}
}
@media(min-width: 992px) {
	.text-und-bild, .text-bild, .bild-text {
		padding-bottom: 40px;
	}
}


/* site-menu = Untermenü auf den Pages mit Parent */
main ul.site-menu {
	padding-top: 47px;
	padding-bottom: 70px;

	/* Firefox-fix */
	display: inline-block;
	
}

main .site-menu li {
	display: inline-block;
}

main .site-menu a {
	font-size: 1.4rem;
	line-height: 100%;
	color: #8a8a8a;
	text-decoration: none;
	padding: 0px 15px 0px 15px;
	white-space: normal;
	text-transform: none;
	font-weight: 400;
	border-left: 1px solid #8a8a8a;
}

@media(min-width:576px){
	main .site-menu li:first-child a {
		border-left: none;
		padding-left: 0px;
	}
}

main .site-menu a:hover {
	color: #292929;
	text-decoration: none;
}

main .site-menu .current-menu-item a {
	color: #046A92;
}








/* ZITATE (blockquote) */
/* alte version 
blockquote {
	background-image: url(images/blockquotebg.svg), linear-gradient(to bottom, #E2F8FD 0%, #E2F8FD 99.99%, transparent 100%);
	background-size: 100% auto;
	background-position: right bottom, 0px -60px;
	background-repeat: no-repeat;
	
	font-size: 2rem;
	color: #353535;
	
	padding: 20px 30px 40px 25px;
	position: relative;
	margin-top: 50px;
}
@media(min-width:992px) { blockquote {min-height: 184px;} }

blockquote p {
	font-style: italic;
}

cite {
	font-style: normal;
	font-weight: 600;
	display: block;
	text-align: right;
	margin-top: 1em;
	margin-bottom: 1em;
}
*/
/*neue version august 2019 */
blockquote {
	background-image: url(../img/190809_HMS_alternative_Sprechblasen.jpg);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	
	font-size: 2rem;
	color: #fff;
	font-style: italic;
	
	padding: 20px 30px 20px 25px;
	position: relative;
	margin-top: 50px;
	display: flex;
}

blockquote:before {
	content: '”';
	font-size: 130px;
	font-weight: 300;
    line-height: 90%;
    margin-right: 20px;
    min-height: 100px;
    display: block;
    float: left;
}

cite {
	font-style: normal;
	font-weight: 400;
	display: block;
	margin-top: 1em;
	margin-bottom: 1em;
}

/* Referenzen bzw. News-Modul */
.referenzen {
	padding-bottom: 40px;
}

#referenzen {
	/* das accordeon selbst */
	margin-top: 55px;
}

.card {
	border-width: 0 0 2px 2px;
	border-style: solid;
	border-color: #E4E6E3;
	
	position: relative;
}

.card:before {
	content: url(../img/referenz-ecke.svg);
	width: 11px;
	height: 11px;
	position: absolute;
	top: -15px;
    left: -7px;
	z-index: 2;
}

.card-header {
	border-radius: 0;
	border: 0;
	padding: 0;
	position: relative;
	background: transparent;
}

.card-header:first-child {border-radius: 0;}

.card-header a,
.card-header a:hover {
	text-decoration: none;
}

section.news .card-header {
	background-color: #fff;
	transition: background-color .4s;
}

section.news .card-header:hover,
section.news .card-header:focus {
	background-color: #F2FAFC;
	outline: transparent;
	transition: background-color 0;
}

.news {
	padding-bottom: 190px;
}

.news-subline {
	color: #000;
}

section.news .card-header:before {
	font-family: 'Font Awesome 5 Free';
	content: '\f518';
	color: #D5D9D3;
	font-size: 2rem;
    position: absolute;
    top: 42%;
    right: 0;
}

@media(min-width: 934px) {
	section.news .card-header:before {
		right: 15px;
	}
}

button.btn-full {
	border: 0;
    width: 100%;
    padding: 0;
    margin: 0;
	border-radius: 0;
	background-color: #fff;
	transition: background-color .4s;
}

button.btn-full:hover,
button.btn-full:active,
button.btn-full:focus,
button.btn-full:active:focus {
	background-color: #F2FAFC;
	outline: transparent;
	transition: background-color 0;
}

button.btn-full:before {
	content: '\f078';
	color: #FFAE00;
	font-size: 2.1rem;
    position: absolute;
    top: 45%;
    right: 0;
}

@media(min-width: 934px) {
	button.btn-full:before {
		right: 30px;
	}
}

button.btn-full[aria-expanded=true]:before {
	content: '\f077';
	color: #046A92;
}

.referenz-bild {
	width: auto;
	height: auto;
	padding: 20px 15px 20px 30px;
}

@media(max-width: 933px) {
	.referenz-bild {
		padding: 15px 15px 15px 15px;
		width: 160px;
		height: auto;
	}
}

@media(max-width: 767px) {
	.referenz-bild {
		padding: 10px 0 10px 10px;
		width: 125px;
		height: auto;
	}
}

@media(max-width: 567px) {
	.referenz-bild {
		display: none;
	}
}

@media(max-width: 933px) {
	.referenz-titel {
		line-height: 2rem;
		padding: 15px 25px 15px 15px;
	}
}



.referenz-titel h3 {
	text-transform: none;
	font-weight: 300;
}

#referenzen button.btn-full[aria-expanded=true] .referenz-titel h3 {
	color: #046A92;
}


.referenz-subline {
	text-transform: none;
}

/* .card:hover button.btn-full {
	background-color: #F2FAFC;
	transition: background .2s;
} */


.show .card-body, 
.collapsing .card-body, 
button.btn-full[aria-expanded=true] {
	background-color: #F2FAFC;

}

.card-body {
	padding: 0 15px 15px 15px;
	font-weight: 300;
}
@media ( min-width: 767px ) { .card-body { padding: 0 30px 15px 175px; } }
@media ( min-width: 933px ) { .card-body { padding: 0 30px 15px 260px; } }

.referenzen .card-header h3,
.news .card-header h3 {
	margin-bottom: 10px;
}

@media(max-width: 933px) {
	.referenzen .card-header h3,
	.news .card-header h3 {
		font-size: 1.6rem;
		font-weight: 700;
		margin-bottom: 3px;
	}
}


.referenz-subline {
	font-weight: 400;
	font-size: 1.5rem;
}


.downloads {
	padding-bottom: 105px;
}

.bildslider {
	padding-bottom: 190px;
}

.btn-group {
	width: 100%;
}

.btn-download {
	border: 0;
	background: #fff;
	padding: 7px 15px!important;
	-webkit-appearance: none;
	
	color: #000;
	text-decoration: none;
}

button.btn-download:before {
	content: normal;
}

.btn-download:focus,
.btn-download:hover {
	color: #000;
	text-decoration: none;
}

.btn-download:first-child {
	width: calc(100% - 52px)!important;
	border-width: 1px 0 1px 1px;
	border-style: solid;
	border-color: #C3C7C1;
	border-top-left-radius: .25rem;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	border-bottom-left-radius: .25rem;
	
	border-right: 0;
}

.btn-download:last-child {
	width: 52px!important;
	border-width: 1px 1px 1px 0;
	border-style: solid;
	border-color: #C3C7C1;
	border-top-left-radius: 0;
	border-top-right-radius: .25rem;
	border-bottom-right-radius: .25rem;
	border-bottom-left-radius: 0;
	
	border-left: 0;
	
	background-color: #FFAE00;
    text-align: center;
}	
.btn-download .fas {
	color: #fff;
}

.btn-download:hover {
	border-color: #C3C7C1;
}

.btn-group:hover .btn-download {
	background-color: #37B2CF;
}

.teasericon {
	width: auto;
	height: 35px;
	margin-bottom: 1em;
}


/* Mitarbeiter */
.mitarbeiter-section  {
	padding-bottom: 58px;
}

.mitarbeiter-section .dachzeile {
	margin-bottom: 2px;
}

.mitarbeiter-section h1 {
	margin-bottom: 37px;
}

.mitarbeiter {
	font-size: 1.5rem;
	line-height: 1.5em;
	
	background: #f5f6f5;
	height: 100%;
	
	/*max-width: 540px;*/
	
	display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.mitarbeiter-foto {
	flex: 0 0 184px;
	min-height: 184px;
	padding: 33px 15px 33px 15px;
	
	background-image: url(../img/mitarbeiter-foto-bg.svg);
	background-size: 139px 139px;
	background-position: center center;
	background-repeat: no-repeat;
	
	position: relative;
}

.mitarbeiter-infos {
	flex-grow: 0;
	flex-shrink: 0;
	flex-basis: calc(100%);
	
	padding: 35px 30px 35px 10px;
}
@media(min-width:420px) {
	.mitarbeiter-infos {
		flex-basis: calc(100% - 184px);
	}
}

.mitarbeiter-foto img {
	width: 106px;
	height: auto; /* sollte auch 106 sein eigentlich */
	
	position: absolute;
    top: 50%;
    left: 50%;
	transform: translateX(-50%) translateY(-50%);
	
	border-radius: 50%;
}

.mitarbeiter-kontakte {
	margin-top: 20px;
}

main .mitarbeiter-kontakte a,
main .mitarbeiter-kontakte a:active,
main .mitarbeiter-kontakte a:visited,
main .mitarbeiter-kontakte a:focus,
main .mitarbeiter-kontakte a:hover {
	font-size: 3.6rem;
	color: #b4b4b4;
	text-decoration: none;
}

.mitarbeiter-kontakte a + a {
	margin-left: 15px;
}



/* 
 * Wordpress Gallery 
 */
.gallery {
	display: flex;
	flex-wrap: wrap;
}

.gallery:after {
	content: ' ';
	display: block;
	clear: both;
}

.gallery-item {
	float:left;
	margin-right: 3%;
	margin-bottom: 1rem;
}

.gallery-item img {
	width: 100%;
	height: auto;
}


/* the different columns */
.gallery-columns-2 .gallery-item {
	width: 47%;
}

.gallery-columns-2 .gallery-item:nth-child(2n) {
	margin-right: 0;
}

.gallery-columns-3 .gallery-item {
	width: 30.33%;
}

.gallery-columns-3 .gallery-item:nth-child(3n) {
	margin-right: 0;
}

.gallery-columns-4 .gallery-item {
	width: 22%;
}

.gallery-columns-4 .gallery-item:nth-child(4n) {
	margin-right: 0;
}

.gallery-columns-5 .gallery-item {
	width: 17%;
}

.gallery-columns-5 .gallery-item:nth-child(5n) {
	margin-right: 0;
}



aside li.widget {
	list-style: none;
}

/* 
 * PAGINATION 
 */
.pagination li:before {
	content: "";
	display: none;
}

/* standard-status */
.pagination li a,
.pagination>li.inactive>a:focus, .pagination>li.inactive>a:hover, .pagination>li.inactive>span:focus, .pagination>li.inactive>span:hover {
	color: #33c660;
	font-weight: 600;
	background-color: #f2f9f4;
	border-color: #f2f9f4;
	margin-right: 3px;
	
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
	
	padding-left: 2.9rem;
}

.pagination li.inactive a,
.pagination>li.inactive>a:focus, .pagination>li.inactive>a:hover, .pagination>li.inactive>span:focus, .pagination>li.inactive>span:hover {
	cursor: default;
	color: #c6c6c6;
}

/* hover-status */
.pagination>li>a:focus, .pagination>li>a:hover, .pagination>li>span:focus, .pagination>li>span:hover {
	background-color: #4fd076;
	border-color: #4fd076;
	color: #fff;
	
	-webkit-box-shadow: 0 0 29px 5px rgba(0,255,77,.51);
	-moz-box-shadow: 0 0 29px 5px rgba(0,255,77,.51);
	box-shadow: 0 0 29px 5px rgba(0,255,77,.51);
}

/* active-status */
.pagination>.active>a, .pagination>.active>a:focus, .pagination>.active>a:hover, .pagination>.active>span, .pagination>.active>span:focus, .pagination>.active>span:hover {
	background-color: #4fd076;
	border-color: #4fd076;
	cursor: pointer;
}

/* inactive-status */
.pagination .inactive a {
	pointer-events: none;
}



/* FOOTER */
.page-footer {background-image: url(../img/footerbg.jpg);
	background-repeat: no-repeat;
	background-position: center top;
    background-size: cover;
	color: #fff;
	padding-top: 59px;
	padding-bottom: 59px;
}

.page-footer a {
	color: #fff;
	text-decoration: underline;
}

.social-links a {
	/*margin-right: 32px;*/
	margin-right: 15px;
    display: inline-block;
    width: 42px;
    text-align: center;
    margin-bottom: 20px;
}

.social-links .fas,
.social-links .fab {
	font-size: 3.6rem;
}

.page-footer .nav  {
	display: inline-block;
}

.page-footer .nav li {
	float: left;
}

.page-footer .nav li a {
	font-size: 1.6rem;
	padding: 1em;
}


/* eigene Abstände */
.mb5{margin-bottom:5px;}.mb10{margin-bottom:10px;}.mb15{margin-bottom:15px;}.mb20{margin-bottom:20px;}.mb25{margin-bottom:25px;}.mb30{margin-bottom:30px;}.mb35{margin-bottom:35px;}.mb40{margin-bottom:40px;}.mb45{margin-bottom:45px;}.mb50{margin-bottom:50px;}.mb55{margin-bottom:55px;}.mb60{margin-bottom:60px;}.mb65{margin-bottom:65px;}.mb70{margin-bottom:70px;}.mb75{margin-bottom:75px;}.mb80{margin-bottom:80px;}.mb85{margin-bottom:85px;}.mb90{margin-bottom:90px;}.mb95{margin-bottom:95px;}.mb100{margin-bottom:100px;}.mb110{margin-bottom:110px;}.mb115{margin-bottom:115px;}.mb120{margin-bottom:120px;}.mb125{margin-bottom:125px;}.mb165{margin-bottom:165px;}
/**/
.pt5{padding-top:5px;}.pt10{padding-top:10px;}.pt15{padding-top:15px;}.pt20{padding-top:20px;}.pt25{padding-top:25px;}.pt30{padding-top:30px;}.pt35{padding-top:35px;}.pt40{padding-top:40px;}.pt45{padding-top:45px;}.pt50{padding-top:50px;}.pt55{padding-top:55px;}.pt60{padding-top:60px;}.pt65{padding-top:65px;}.pt70{padding-top:70px;}




/*
 *
 * MOBILE ANPASSUNGEN
 *
 */

/*==========  Mobile First Method  ==========*/

/* Extra Small Devices, Phones (XS size) */ 
@media (min-width : 576px) {

}

/* Small Devices, Tablets (SM size) */
@media (min-width : 768px) {

}

/* Medium Devices, Desktops (MD size) */
@media (min-width : 992px) {  
	/* touch problem larger then 992 */
	/*
	ul.nav li:hover > ul.dropdown-menu {
		display: block;
	}	
	ul.nav li.open > ul.dropdown-menu {
		display: block!important;
	}	
	.dropdown-backdrop {display: none;}
	*/
	/* touch problem larger then 992 END */
}

.gdpr-button {
	border: none !important;
	background: #f0f0f0!important;
	color:black !important;
}

.gdpr-button:hover {
	background: #fff !important;
}

#cn-close-notice {
	display: none;
}

/* -------  ADDON: 28.5 --------- */


.hms-btn {
	border:1px solid #FFAE00;
	background:#FFAE00;
	color:black !important;
	font-size:14px;
	border-radius:5px;
	text-decoration: none;
	padding:5px 15px;
	font-weight:400;
	display:inline-block
}

.hms-btn:hover, .hms-btn:focus {
	text-decoration: none;
	background:rgba(255, 174,0, 0.8);
}

.hms-read-more {
	max-height:0;
	position: relative;
	overflow: hidden;
	z-index: 1;
}

.hms-read-more.ani:after {
	top:100%;
}
.hms-read-more.shown {
	height:auto;
	max-height:initial;
}

.bild-text-slider-wrapper  {
	padding:5rem 0;
}


.bild-text-slider-wrapper h3 {
	font-size: 3.6rem;
	line-height: 1.3em;
	margin-bottom: .5em;
	color: #046A92;
}

.bild-text-slider-wrapper .slider-menu {
	margin:0 0 4rem 0;
	padding:0 0 3rem 0;
	display:flex;
	justify-content: center;
	list-style: none;
	border-bottom:1px solid #eee;
	flex-wrap:wrap;
}

.bild-text-slider-wrapper .slider-inner .slider-menu {
	justify-content: flex-start;
	flex-wrap:wrap;
	margin:0 0 2rem 0;
	padding:0 0 2rem 0;
}


.bild-text-slider-wrapper .slider-menu li:before {
	display:none !important;
}

.bild-text-slider-wrapper .slider-menu li.active a{
	font-weight:bold;
	text-decoration: none;
}

.bild-text-slider-wrapper .slider-menu li:not(:last-child):after {
	content:'\00B7';
	margin:0 1rem;
	display:inline-block;
}

.bild-text-slider-wrapper .slider-left img{
	margin:auto;

}

.bild-text-slider-wrapper  .slick-prev,
.bild-text-slider-wrapper  .slick-next {
	top:120px;
}

/*.accordion-wrapper {*/
/*	padding:5rem 0;*/
/*}*/

/*.accordion-wrapper .accordion-inner {*/
/*	margin-top:5rem;*/
/*}*/

/*.accordion-wrapper .accordion-inner .card-header button.collapsed {*/
/*	background:white;*/
/*}*/

/*.accordion-wrapper .accordion-inner .card-header button, .accordion-wrapper .accordion-inner .card-header button:hover {*/
/*	background:#F2FAFC ;*/
/*}*/

/*.accordion-wrapper .accordion-inner .card-header button:not(.collapsed) h3 {*/
/*	color:#046A92;*/
/*}*/
/*.accordion-wrapper .accordion-inner .card-header button h3 {*/
/*	text-transform: initial;*/
/*	font-weight:400;*/
/*	color:#046A92;*/
/*	font-size:24px;*/
/*	margin-bottom:10px;*/
/*}*/
/*.accordion-wrapper .accordion-inner .card-header .icon{*/
/* 	width:15%;*/
/*}*/
/*.accordion-wrapper .accordion-inner .card-header .icon img{*/
/*	width:100%;*/
/*	height:auto;*/
/*	padding:15px 30px;*/

/*}*/

/*.accordion-wrapper .accordion-inner .card-header .titel{*/
/*	width:85%;*/
/*	padding:15px 60px 15px 0;*/
/*	text-transform: initial;*/
/*}*/
/*.accordion-wrapper .accordion-inner .card-header .subline{*/
/*	font-weight: 400;*/
/*    font-size: 1.5rem;*/

/*}*/
/*.accordion-wrapper .accordion-inner .card-body {*/
/*	padding:15px 30px !important;*/
/*	font-weight: normal;*/
/*}*/

.columns-wrapper.col-margin .column{
	margin-bottom:7.5rem;
}

@media(max-width:768px) {
	/*.accordion-wrapper .accordion-inner .card-header .icon{*/
	/*	width:25%;*/
	/*}*/

	/*.accordion-wrapper .accordion-inner .card-header .titel{*/
	/*	width:75%;*/
	/*	padding:15px 20px 15px 0;*/

	/*}*/

	.columns-wrapper.col-margin .column{
		margin-bottom:5rem;
	}
	
	.bild-text-slider-wrapper  .slick-prev,
	.bild-text-slider-wrapper  .slick-next {
		display:none !important;
	}
}

/*@media(max-width:480px) {*/
/*	.accordion-wrapper .accordion-inner .card-header .icon{*/
/*		width:30%;*/
/*	}*/

/*	.accordion-wrapper .accordion-inner .card-header .icon img{*/

/*		padding:15px;*/

/*	}*/

/*	.accordion-wrapper .accordion-inner .card-header .titel{*/
/*		width:70%;*/
/*	}*/
/*}*/


.columns-wrapper.mobile-slider {
	padding-bottom:3rem;

}

.columns-wrapper.mobile-slider .row.slick-slider {

	margin-left:30px;
	margin-right:30px;
}

.columns-wrapper.mobile-slider .row.slick-slider .slick-prev {
	left:-30px;
}

.columns-wrapper.mobile-slider .row.slick-slider .slick-next {
	right:-30px;
}

ul.scroll-liste {
	list-style: none;
	margin:0;
	padding:0;
	display:flex !important;
	list-style: none;
	justify-content: flex-start;
	flex-wrap:wrap;

}

ul.scroll-liste li:before {
	display:none !important;
}

ul.scroll-liste li:not(:last-child):after {
	content:'\00B7' !important;
	margin:0 1rem;
	display:inline-block !important;
}

p.dachzeile + h3 {
	font-size:2rem;
	text-transform: uppercase;
	font-weight: 800;
	margin-top:-1em;
	padding-top:0 !important;
}

a.jobs-pdf {
	margin-left:1em;
	text-decoration: none;
	position: relative;
}

a.jobs-pdf:after {
	content:'';
	display:inline-block;
	width:0.65em;
	height:1em;
	background-image:url(../img/pdf_download.png);
	background-repeat: no-repeat;
	background-size: contain;
	vertical-align: bottom;
	margin-left:0.25em;
}	
a.jobs-pdf:before {
	content:'';
	position: absolute;
	bottom:0;
	height:2px;
	left:0;
	right:0;
	background-color: #046A92;
}

a.jobs-pdf:hover {
	text-decoration: none;
}

a.jobs-pdf:hover:before {
	opacity: 0;
}

.extra-bold {
	font-weight: 800;
}

.big-padding {
	padding-top:7.5rem;
	padding-bottom:7.5rem;
}

@media(max-width:768px) {
	.big-padding {
		padding-top:5rem;
		padding-bottom:5rem;
	}
}

.hms-kreis {
	background:#FFAE00;
	border-radius:50%;
	width:100%;
	max-width:400px;
	margin:auto;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.hms-kreis h3{
	font-weight:600;
	font-size:3rem;
	margin-bottom:1rem;
}
.hms-kreis a{
	color:#000;
	font-weight:600;
	text-decoration: none;
}

.hms-kreis a:hover{
	color:#000;
}

.hms-kreis p{
 	margin:0;
}

.hms-bild-box {
	background:#f7f7f7;
	margin-bottom:5rem;

}
.hms-bild-box .inner {
	display:flex;
	align-items: center;
	position: relative;
	justify-content: space-between;
	z-index: 2;
}

.hms-bild-box .inner-text {
	width:65%;
	padding:2em;
	position: relative;
}

.hms-bild-box .bg-img {
	width:30%;
	align-self:stretch;
	background-size:100% auto;
	background-repeat: no-repeat;
	background-position: top right;

}

.hms-bild-box .inner:before {
	content:'';
	position:absolute;
	top:0;
	right:0;
	width:30%;
	bottom:0;
	background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
	z-index: -1;
}

.hms-bild-box .inner-text .hms-img-liste {
	position: absolute;
	bottom:1em;
	right:2em;
}


.hms-bild-box .inner-text .hms-img-liste img{
	max-width:100px;
}

@media(max-width:768px) {
	.hms-bild-box .inner {
		flex-direction: column;
	}
	.hms-bild-box .inner-text {
		width:100%;
	}

	.hms-bild-box .bg-img {
		height:calc(100vw/1.5);
		width:80%;
	}

	.hms-bild-box .inner:before {
		display:none;
	}

	.hms-bild-box .inner-text .hms-img-liste {
		margin-top:2em;
		position: static;
	}
}

ul.hms-img-liste {
	 display: flex !important;
	 flex-wrap: wrap;
	 list-style: none;
}

ul.hms-img-liste li:not(:last-child){
   	margin-right:1em;
}

ul.hms-img-liste li:before, ul.hms-img-liste li:after {
	display:none !important;
}

ul.hms-img-liste img {
	max-width:150px;
 	height:auto;
}

