﻿.no768{
	display:none;
}
@media (max-width: 767px){
	.no767{
	display:none;
	}
	.no768{
	display:block;
	}
}
.no767{
	display:block;
}

.flex-container {
   display: -webkit-flex;
   display: -ms-flex;
   display: flex;
   -webkit-flex-wrap: wrap;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap;
}
.sem_height{
  display: -webkit-flex; 
  display: -ms-flexbox; 
  display: flex;
}

/* R5 Module 
 ========================================================================== */
.foursplit,
.treysplit,
.twosplit,
.onesplit{
  float:left;	
} 

.twosplit{
	width:48%;
	margin-right:3%;		
} 
.twosplit:last-child{
	margin-right:0%
}

.treysplit {
	width:31.5%;
	margin-right:2.5%;	
}
.treysplit:last-child{
	margin-right:0%
}
/*.thirty_treysplit {
	width:33%;	
}
.thirty_treysplit:last-child{
	margin-right:0%
}
*/

.foursplit{
	width:23%;
	margin-right:2.5%;
} 
.foursplit:last-child{
	margin-right:0%
}
/*
.fiftysplit{
	width:49%;	
}
.fiftysplit:last-child{
	margin-right:0%
}

*/

@media (max-width: 767px){
.foursplit,.treysplit,.twosplit,.onesplit,.thirty_treysplit,fiftysplit{
	float: none;
	width:94%;
	margin-right:3%;
	margin-left:3%;
}
.m1{margin-bottom:15px;}
}
.bord_1{
	border-bottom:1px #ff0000 solid;
	padding:0px 0 10px 0;
}
/* Abstand oben und unten 
 ========================================================================== */

.mtb{ padding-top: 40px; padding-bottom: 40px;} /* Abstand ober und unterhalb*/

.mt { padding-top: 40px; }/* Abstand oberhalb*/

.mb { padding-bottom: 40px; } /* Abstand unterhalb*/

/* Bild Links Text rechts
 ================================================================== */
.bg1{
	padding:50px 0 0px 0;
	background:#FFF;
} 

.img-responsive{display:block;max-width:100%;height:auto}


@media (max-width: 767px){
	.ab-1{
	padding:30px 0 30px 0;
}
}
.picLeft img{
	float:left;
	margin-top:0px;
	padding:0 15px 10px 0;
}
.picRight img{
	float:right;
	margin-top:0px;
	padding:0 0 10px 15px;
}
/* Cont
 ================================================================================ */
.cont ul{
	margin:15px 0 15px 0;
} 
.cont img{
	width:100%;
	height:auto;
}
.cont li {
  position: relative;
  line-height: 1.4;
  padding-left: 25px;
  margin-bottom: 10px;
}
.cont li a {
  color: #29293a;
  line-height: 1.71429;
  font-weight: 400;
}
.cont ul li + li {
    margin-bottom: 10px; 
}
.cont li a:hover {
  color: #ff0000;
}
.cont ul li:before {
  position: absolute;
  top: 4px;
  left: 12px;
  color:#FF0000;
  text-align: center;
  line-height: 1.71429;
  content: '\f111';
  font-size: 7px;
  font-family: 'FontAwesome';
  display: inline-block;
}
.cont ol{
  margin:15px 0 15px 0;
}
.cont ol li{
  list-style-type:decimal!important;
  padding-left: 4px!important;
  margin-left:24px!important;
  line-height: 1.71429;
  content: ""!important;
}
/* Willkommen Startseite
 ============================================================= */
.welcom{
	background:#FFFFFF;
	padding-top:0px;
} 
.welcom h1{
	font-size:28px!important;
	padding-top:100px;
	margin-bottom:8px;
}
.welcom h2{
	font-size:24px!important;
	margin-bottom:20px;
}
@media (max-width: 767px){
.welcom h1{
	font-size:28px!important;
	padding-top:20px;
	margin-bottom:8px;
}}

/*Buttons
 ============================================================= */
.button {
	border: none;
	padding: 10px 32px;
	text-align: center;
	text-decoration: none;
	display: inline-block;
	font-size: 16px;
	border-radius: 4px;
	transition-duration: 0.4s;
}
.bg1 {color:#FFFFFF;background-color: #1C374C;} /* Blue */
.bg1:hover {color:#FFFFFF;background-color: #c30000;} /* Red */ 

.bg2 {position:relative;color:#FFFFFF;background-color: #C30000;z-index:3;} /* Red */
.bg2:hover {color:#FFFFFF;background-color: #1C374C;} /* Blue */

.bg3 {position:relative;color:#1C374C;background-color: #FFFFFF;z-index:3;} /* white */
.bg3:hover {color:#FFFFFF;background-color: #1C374C;} /* Blue */

.btn {
	border: none;
	padding: 10px 32px;
	margin:20px 0 0 0;
	text-align: center;
	font-weight:normal;
	text-decoration: none;
	display: inline-block;
	font-size: 16px;
	border-radius: 4px;
	transition-duration: 0.4s;
}
.btn-primary{
	color:#FFFFFF;background-color: #1C374C;	
}
.btn-primary:hover {color:#FFFFFF;background-color: #c30000;} /* Red */ 

/* Startseite Leistung
 ================================================================================ */
.service {
	position: relative;
	letter-spacing: .025em;
	perspective: 1000px;
	text-align: center;
	margin-bottom:20px;
}

.service-content {
	transform-style: preserve-3d;
	transition: all .5s ease;
}

.service-body {
	position: relative;
	display: inline-block;
	padding: 30px 20px 40px 20px;
	background: #F6FCFF;
	text-align: center;
	will-change: transform;
	overflow: hidden;
	backface-visibility: hidden;
	z-index: 1;
	margin-left: auto;
	width:100%;
	min-width: 210px;
}
.service-body img{
	margin: 0 auto;
	text-align:center;
	padding-bottom:15px;
	width:80px!important;
	height:80px!important;
}
.service-body:hover{
	background:#ffffff;
}
@media (min-width: 992px) {
	.service-body {
		display: block;
		min-width: 240px;
		min-height: 237px;
	}
}

.service-body svg + h3 {
	margin-top: 15px;
}

@media (min-width: 992px) {
	.service-body svg + h3 {
		margin-top: 24px;
	}
}

.service-body h3 + p {
	margin-top: 2px;
}

.service-figure {
	position: absolute;
	content: '';
	top: 1px;
	right: 1px;
	bottom: 1px;
	left: 1px;
	overflow: hidden;
	transform: scale(-1, 1);
	display: none;
}

@media (min-width: 992px) {
	.service-figure {
		display: block;
	}
}

.service-figure::before {
	content: '';
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(28, 55, 76, 0.6);
}

.service-figure img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	min-height: 100%;
	min-width: 100%;
	width: auto;
	height: auto;
	max-width: none;
}

@supports (object-fit: cover) {
	.service-figure img {
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		transform: none;
		object-fit: cover;
		object-position: center center;
	}
}

.service-figure .service-figure-text {
	position: absolute;
	z-index: 2;
	top: 50%;
	left: 50%;
	width: 100%;
	transform: translate(-50%, -50%);
	text-align: center;
}

.service-figure .service-figure-text > * {
	color: #ffffff;
}

.service-figure .service-figure-text h3 + P {
	margin-top: 6px;
}

@media (min-width: 992px) {
	.desktop .service:hover .service-content {
		transform: rotateY(180deg);
	}
}

.ie-10 .service-figure::before,
.ie-11 .service-figure::before,
.ie-edge .service-figure::before {
	content: '';
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(28, 55, 76, 0.6);
}

.ie-10 .service-body,
.ie-11 .service-body,
.ie-edge .service-body {
	transition: opacity .05s ease .15s;
}

@media (min-width: 992px) {
	.ie-10.desktop .service:hover .service-content,
	.ie-11.desktop .service:hover .service-content,
	.ie-edge.desktop .service:hover .service-content {
		transform: rotateY(180deg);
	}
	.ie-10.desktop .service:hover .service-body,
	.ie-11.desktop .service:hover .service-body,
	.ie-edge.desktop .service:hover .service-body {
		opacity: 0;
	}
}

.opening {
	color:#FFFFFF;
	padding: 15px 10px;
	max-width: 370px;
	margin-right: auto;
	margin-left: auto;
	background: #4183AE;	
}
.opening h3{
	color:#FFFFFF;	
}

.opening-wrapper {
	padding: 30px 10px 30px 0px;
}

@media (min-width: 576px) {
	.opening-wrapper {
		padding: 34px 28px 30px 20px;
		border: 3px solid rgba(255, 255, 255, 0.3);
	}
}

.opening-wrapper .btn {
	margin-top: 34px;
}

* + .opening-list {
	margin: 42px 0 44px 0;
}

.opening-list li {
	display: flex;
	justify-content: space-between;
}

@media (min-width: 576px) {
	.opening-list li .day {
		min-width: 80px;
	}
}

.opening-list li .time {
	color: #f6f6f6;
	position: relative;
	text-align:left!important;
}

@media (min-width: 576px) {
	.opening-list li .time {
		min-width: 90px;
		text-align:left!important;
	}
	/*.opening-list li .time::before {
		content: '-';
		position: absolute;
		color: #ffffff;
		top: 0;
		left: 0px;
	}*/
}

.opening-list li + li {
	margin-top: 18px;
}

/* Unser Team
 ============================================================================================= */
.five-block{
	width:19%;
	margin-right:1%;
	float:left;
}
@media (max-width: 767px){
.five-block{
	width:98%;
	margin:0 1% 0 1%;
	float:left;
}}

.box-team {
	max-width: 270px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom:20px;
}

.box-team-top {
	position: relative;
}

.box-team-top::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(28, 55, 76, 0.7);
	opacity: 0;
	transition: .33s all linear;
}

* + .box-team-body {
	padding-top: 20px;
}

@media (min-width: 992px) {
	* + .box-team-body {
		padding-top: 40px;
	}
}

.box-team-body {
	background: #ffffff;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
	text-align:center;
	padding: 10px 10px 10px 10px;
}

@media (min-width: 992px) {
	.box-team-body {
		text-align:center;
		padding: 10px 10px 10px 10px;
		min-height:170px;
	}
}

.box-team-title {
	transition: .33s all linear;
}

* + .box-team-list {
	margin-top: 16px;
}

.box-team-list .item {
	display: flex;
	flex-direction: row;
	vertical-align: middle;
}

.box-team-list .item .icon {
	line-height: 24px;
	min-width: 20px;
	margin-right: 10px;
}

.box-team:hover .box-team-top::before {
	opacity: 1;
}

.box-team:hover .box-team-title {
	color: #4183AE;
}
 
/* Kontakt Startseite
 ========================================================================== */
.uh{
	display:block;
	width:100%;
} 
.uh h2{
	font-size:2.5em;
}
.uh .yform{
	display:inline-block;
		width:100%;
}
.uh input {
	display: block;
	width: 100%;
	margin: 0;
	font-size: 14px;
	padding: 10px 0px 10px 15px;
	line-height: 28px;
	color: #1C374C;
	border-bottom: 1px solid #E4ECEF;
}
.uh textarea {
  font-family:Arial, Helvetica, sans-serif!important;
  width: 100%;
  margin: 20px 0 0 0;
  height:100px;
  font-size: 14px;
  padding: 5px 0px 5px 5px;
  line-height: 28px;
  color: #1C374C;
  background: transparent;
  border-top:0px;
  border-right:0px;
  border-bottom: 1px solid #E4ECEF;
  border-left:0px;
}
.uh .checkbox input{
  float:left!important;
  width:10px!important;
  margin:4px 5px 0 0;
}
.uh .checkbox label{
	float:left;
	font-size:14px!important;
	padding-left:0px;
	color: #1C374C;
	width:100%;
}

.uh .checkbox label a{
	text-decoration:underline;
}

.uh .checkbox label a:hover{
	text-decoration: none;
}

.uh input[placeholder], 
.uh [placeholder], 
.uh *[placeholder],
.uh textarea[placeholder]  {
    color: #1C374C !important;
    font-size:14px!important;
    padding:5px 0px 5px 0px!important;
}

/* OpenStreetMap
 ======================================================== */
#map {
	width: 100%;
	height: 490px;
	margin: 0 0 0px 0;
	position: relative;
	background: url(../images/karte.jpg) no-repeat;
	background-size: cover;
}
#kart #map {
	width: 100%;
	height: 490px!important;
	margin: 0 0 0px 0;
	position: relative;
	background: url(../images/karte.jpg) no-repeat;
	background-size: cover;
}

#map .map-notice{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    max-width: 460px!important;
    padding: 1em;
    text-align:center;
    cursor: pointer;
    background: rgba(0,0,0,0.8);
    color: #fff;
    font-size:14px;
    box-shadow: 0 0 0.5em 0 rgba(0,0,0,0.3);
    border: 1px solid rgba(0,0,0,0.3);
}

#map .map-notice a.map-link1{
    color: #ffffff;
    text-decoration:underline;
    cursor: -webkit-grab !important;
    cursor: grab !important;    
}
#map .map-notice a.map-link1:hover{
    color: #ff0000;
    text-decoration:none;
    cursor: -webkit-grab !important;
    cursor: grab !important;    
}
#map #consent_button {
    background-color: #FF0000;
    border-radius: 3px;
    border: none;
    color: #FFFFFF;
    padding: 10px 20px;
    margin-top: 15px !important;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 14px;
    cursor: -webkit-grab !important;
    cursor: grab !important;
} 
#map .cookbut:hover{
    background-color: #000000;
    color: #FFFFFF;
}
 
#map .active{
	width: 100%;
	height: 493px;
	margin: 0 0 0px 0;
	position: relative;
	background: #f8f8f8;
	background-size: cover;
}

.sm{
	height:270px!important;
	width: 100%;
}
@media only screen and (max-width: 1199px) {

}

@media only screen and (max-width: 995px) {

	#map {height: 400px;}

}

@media only screen and (max-width: 767px) {

	#map figure {
		width: 100% !important;
		display: block !important;
		margin-right: 0px !important;
	}

	#map {height: 300px;}
 
}

@media only screen and (max-width: 479px) {

    #map {height: 260px;}

}
/* Online Terminbuchen
 =============================================================================== */
.rows {
  display: flex;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
}
.o-termin{
	display:inline-block;
	width:100%;
	padding:20px 20px;
	border-radius: 8px;
	background: #4183AE;
}
.o-termin p{
	color:#f6f6f6;
	font-size:1em;
	line-height:1.4;
	margin:12px 0 12px 62px;
}
.head-1{
	padding:30px 0 30px 0;
	font-size:2.1em;
	font-weight:bold;
	color:#f6f6f6;
	text-align:center;
}
.head-2{
	font-size:1.4em;
	line-height:1.2;	
	color:#f6f6f6;
}
.flexi{
	display: flex;
}
.flexi img{
	width:50px;
	height:50px;
	margin:0 12px 10px 0;
}
.on-button {
  color: #fff;
  padding: 15px 32px;
  margin:20px 0 10px 0;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  border-radius: 8px;
  background-color: #c30000;
}
.on-button:hover {
  background: #1C374C;
}
 

/* Cookie Icon
 =============================================================================== */
.cookie-box {
	position:fixed;
	bottom:20px;
	left:20px;
	width:40px;
	height:40px;
	padding:10px;
    border-radius: 50%;
    background-color: #f8f8f8;
}

.geheim {
  position: absolute;
  text-align:center;
  font-size: 12px;
  width: 150px;
  display: none;
  background-color: #f8f8f8;
  top: 5px;
  left: 50px;
  color: black;
}

.cookie-box:hover > .geheim {
  display: block;
  z-index: 4;
  
}