/*slider*/
figure, figcaption {
    margin: 0;
    padding: 0;
}

.intro_slide {display: none;}
img {vertical-align: middle;}

/* Slideshow container */
.slideshow-container {
  width: 100%;
  position: relative;
  min-height: 100%;

}
#slider .main.fullscreen {
	max-height: 70%;
}
.intro_slide  {
	position: absolute;
	right: 0;
	top: 0%;
	/*bottom: 0;*/
	min-width: 100%; 
	height: 100%;
}
.intro_slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
    object-position: center center;
}

/* Caption text */
.intro_slide .text {
	color: #fff;
	font-size: 24px;
	line-height: 1.5em;
	padding: 1.5em;
	position: absolute;
	bottom: 8px;
	width: auto;
	max-width: 40%;
	text-align: left;
	bottom: 10%;
	left: 0;
	background-color: rgba(215,58,57,.75);
}

.intro_slide h2, .intro_slide h1 {
	font-size: 1.5em;
	margin: 0 0 .25em;
	color: #fff;
}
.intro_slide p {
	margin: 0;
}
.text.green {
	background-color: rgba(115, 200, 44, .75);
}
.text.green button:hover {
	background-color: rgb(115, 200, 44);
}
.text.blue {
	background-color:rgba(79, 107, 162, .75);
}
.text.blue button:hover {
	background-color: rgb(79, 107, 162);
}
.text.grey {
	background-color: rgba(47, 56, 61, .75);
}
.text.grey button:hover  {
	background-color: rgb(47, 56, 61);
}
/* The dots/bullets/indicators */
.dot {
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: rgba(215,58,57,.45);
  border-radius: 50%;
  display: inline-block;
  -moz-transition: background-color 0.6s ease;
  -webkit-transition: background-color 0.6s ease;
  -ms-transition: background-color 0.6s ease;
  transition: background-color 0.6s ease;
}
.slide_dots {
	text-align: center;
	display: inherit;
	position: absolute;
	bottom: 2%;
	width: 100%;
	display: none;
}
#slider .active {
  background-color: rgba(215,58,57,1);
}

/* Fading animation */
.fade {
  -webkit-animation-name: fade;
  -webkit-animation-duration: 1.5s;
  animation-name: fade;
  animation-duration: 1.5s;
}

@-webkit-keyframes fade {
  from {opacity: .4} 
  to {opacity: 1}
}

@keyframes fade {
  from {opacity: .4} 
  to {opacity: 1}
}

/* On smaller screens, decrease text size */
@media only screen and (max-width: 300px) {
  .text {font-size: 11px}
}
@media screen and (min-width:1441px) {
  .aside-nav .count-number {
	  margin-left:-1.25rem;	
	  float:right;	
  }
  .top-nav li:hover > ul {
	  display:block;
	  z-index:10;
  }  
  .top-nav li:hover > ul ul {
    left:100%;
    margin:-2.5rem 0;
    width:100%;
  } 
}

@media screen and (max-width:1440px) {
	.intro_slide .text {
		max-width: 80%;
		font-size: 1.25em;
	}

}
@media screen and (max-width:1024px) {
	.intro_slide .text {
		padding: 1.5em;
	}
}

@media screen and (max-width:812px) {
	.intro_slide .text {
		max-width: 100%;
		width: 100%;

	}
}
@media screen and (max-width:480px) {
	.intro_slide .text {
		padding: 1em;
		font-size: 1em;
	}
}


/* welcome effect */

.content h1.anim {
	position: relative;
	display: inline-block;
	transform-origin: right;
	transform: scaleX(1);
	opacity: 1;
}
.content h1.anim:before {
	content: '';
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	/* background: rgba(238,238,238,1); 	popup kommt in die quere		*/
	transform-origin: right;
	transition: 2s;
}
.pid .content h1.anim[data-scroll="in"]:before {
	transform: scaleX(0);
	transition-delay: 0.75s;
	opacity: 0;
}



/* team 3 */
/*  Modal Window by trici from 2 tage strom */
/* Styling the Popup Window */

/* ofa_team */

.row.team {
	width: 100%;
	position: relative;
	margin: 0 0 2% 0;
	display: flex;
	flex-wrap: wrap;
}
.team_wrap {
	position: relative;
	width: calc(100% / 3);
	/*max-height: 800px;*/
	height: 100%;
	float: left;
	padding: 0 2% 2% 0;
	/*margin-bottom: 2%;*/
	display: flex;
	align-content: center;
	justify-content: center;
}
.row.team .team_wrap:nth-child(3n){
	padding-right: 0;
}

.grid-item { 
	margin: 0;
	transition: .5s;
	transform: translateY(150px);
	/*min-height: 700px;*/
	height: 100%;
	width: 100%;
	background-color: rgba(215,58,57,.5);
}
.team_funk {
	display: inline-block;
	width: auto;
	max-width: 95%;
	font-size: 1.1rem;
	line-height: 1.25rem;
}
.team_link {
	text-align: left;
	float: right;
	width: 5%;
	position: relative;
}
/*p.team_link a {
	margin-right: 1em;
}*/

.grid-item[data-scroll="in"] {
	transform: translateY(0);
	transition-delay: .5s;
	opacity: 1;
}
.grid-item img {
	width: 100%;
	max-height: 100%;
	height: 650px;
	object-fit: cover;
	object-position: center top;
}

/*.grid-tiem img:hover {
	opacity: .75;
}*/


/* 		team caption modal texte  */

.team_txt {
/*	position: relative;
	float: left;
	bottom: 0;*/
	background: rgb(215,58,57);
	padding: 4%;
	width: 100%;
	height: 100px;
	font-size: 1.25rem;
	line-height: 1.75rem;
}
.team_txt a,
.team_txt p {
	color: white;
	padding: 0;
	margin: 0;
}
.team_txt strong {
	font-size: 1.25em;
}
.team_txt a:hover {
	opacity: .75;
	border: none;
}

@media screen and (max-width: 1570px) {
	.team_txt {
		font-size: 1.15rem;
		line-height: 1.5rem;
	}
}
@media screen and (max-width: 1440px) {
	.team_txt {
		font-size: 1rem;
	}
}
@media screen and (max-width:1280px) { 

.team_wrap {
	width: calc(100% / 2);
	}
	.row.team .team_wrap:nth-child(3n){
		padding-right: 2%;
	}
	.row.team .team_wrap:nth-child(2n){
		padding-right: 0;
	}
	.team_txt {
		font-size: 1.25rem;
	}
}

@media screen and (max-width:1024px) { 
	.team_txt {
		font-size: 1rem;
	}
}

@media screen and (max-width:890px) { 
	.grid-item{
		max-height: 60%;
		transform: none;
	}
	.grid-item img {
		object-position: center top;
		height: 450px;
	}
	.team_txt {
		font-size: .9rem;
	}
}

@media screen and (max-width:750px) { 
	.team_txt {
		font-size: 1.25rem;
	}
	.row.team {
		width: 80%;
		margin: 0 auto;
	}
	.team_wrap {
		width: 100%;
		float: none;
	}
	.grid-item{
		max-height: 60%;
	}
	.grid-item img {
		object-position: center 20%;
		height: 500px
	}
	.row.team .team_wrap:nth-child(n) {
		padding-right: 0;
		margin-bottom: 4%;
	}

}
@media screen and (max-width:600px) { 
	.row.team {
		width: 100%;
	}

}



/* icon effects */
.icon-mail {
}

a.icon-mail, a.icon-mail:hover {
	border: none;
	opacity: 1;
}
.team_txt .team_link .icon-mail:before { 
	width: 45px;
	height: 45px;
	transition: all .5s ease-in-out; 
	position: absolute;
	/*right: 1rem;*/
}
/*.mail-2 .icon-mail:hover:before {   
	-ms-transform: scale(1.25);
  -webkit-transform: scale(1.25); 
  transform: scale(1.25);  
  padding-left: 5px;
}*/

.team_txt .team_link .icon-mail:hover:before {
	padding-right: 5px;
		-ms-transform: scale(1.25); /* IE 9 */
  -webkit-transform: scale(1.25); /* Safari 3-8 */
  transform: scale(1.25);  
}
.team_txt .team_link .icon_txt {
	display: none;
}
.icon_txt {
	font-family: 'Fira Sans', sans-serif;
	font-weight: 300;
}
.popup .mail-2 .icon-mail:before {
	content: none;
}
.popup .mail-2 {
	padding-bottom: 2.5em;
}
.popup .mail-2 .icon-mail:hover .icon_txt {
	border-bottom: 5px solid rgb(215,58,57);
	transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-webkit-transition: 0.3s ease-in-out;
	-ms-transition: 0.3s ease-in-out;
}


/* TEASERs */
/*.teasers {
	display: flex;
}*/
.teaser {
    width: 32.5%;
    background: white;
    padding: 1.5% 1.5% 2%;
    float: left;
    display: block;
    margin: 2.5rem .5em 2.5rem 0;
}
.teaser_img {
	max-width: 450px;
	overflow: hidden;
}
.teaser_img img {
	width: 100%;
	height: 330px;
	/* transition: 5s; */
    object-fit: cover;
}
/* .teaser_img:hover img {
    transform: scale(1.1);
} */
.teaser_txt a {
	border-bottom: none;
}
.teaser_txt {
    font-size: 1.25rem;
    line-height: 1.75rem;
    margin-top: 1.25em;
}
.teaser_txt ul {
	margin: 0 1em;
}
.main > .content >.teaser:last-child {
	margin-right: 0;
}
@media screen and (max-width:1024px) {
	.teaser_txt {
		font-size: inherit;
		line-height: inherit;
	}
}
@media screen and (max-width:1024px) {
	.teaser {
		display: flex;
		width: 100%;
		margin: .75rem 0;
	}
	.teaser_img {
		margin-right: 1rem;
	}
	.teaser_txt {
		margin-top: 0;
	}
}

@media screen and (max-width:768px) {
	.teaser {
		width: 98%;
		margin: 1.5rem 0 0;
		padding: 4%;
	}
}
@media screen and (max-width:680px) {
	.teaser {
		width: 100%;
		display: block;
	}
	.teaser_img {
		margin: 0;
		max-width: 100%;
	}
	.teaser_img img {
		float: left;
		max-width: 100%;
		margin-bottom: 1em;
		height: auto;
	}
	.teaser_txt {
		width: 100%;
		float: left;
	}

}
/* MAP 
api version
 */
.contact {
	float: left;
}
.kontakt_map #mapcontainer,
.kontakt_map iframe {
    width: 1495px;
    margin: 0 0 0 3.5em;
    max-width: 60%;
    filter: none;
    background: white;
    opacity: 1;
    float: right;
    pointer-events: initial;
    border: 5px #fff solid;
    height: 650px;
    max-height: 70%;
}
#mapcontainer {
	width: 100%;
	min-height: 75vh;
	z-index: 0;
	background-color: rgb(0,0,0);
	opacity: .2;
	filter: grayscale(100%) invert(100%);
    pointer-events: none;
}
/*#mapcontainer >.leaflet-marker-icon >.sl-icon-service-map::before {
    color: aqua !important;
    filter: none !important;
}*/


/* @media screen and (min-width:1050px) {
	#mapcontainer {
		min-height: 60vh;
		max-height: 75vh;
	}
} */
@media screen and (min-width:1150px) {
	#mapcontainer {
		min-height: 75vh;
	}
}
@media screen and (max-width:1024px) {
	#mapcontainer {
		height: 100%;
		min-height: 60vh;
	}
}
@media screen and (max-width:812px) {
		#mapcontainer {
		display: none;
	}
	.kontakt_map #mapcontainer,
	.kontakt_map iframe {
		max-width: 100%;
		float: none;
		margin: 0;
	}
}
@media screen and (max-width:479px) {
	#mapcontainer {
		display: none;
	}
}

.footer {
	z-index: 100
}



/*						miniform css				*/
.miniform * {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.miniform input[type="text"],
.miniform input[type="email"],
.miniform input[type="tel"],
.miniform input[type="url"],
.miniform textarea,
.miniform button[type="submit"] {
	font-weight: normal;
	font-family: inherit;
	font-size: inherit;
}

.miniform input[type="radio"],
.miniform input[type="checkbox"] {
	margin: 0 10px 0 5px;
	vertical-align: middle;
}

.miniform {}

.miniform .grouping {
	padding: 5px 0;
	background: none repeat scroll 0 0 #FFFFFF;
	margin: 0 0 5px;
	width: 100%;
}

.miniform .full {
	clear: both;
}

.miniform .half {
	width: 48%;
	margin-right: 2%;
	float: left;
}

.miniform .onethird {
	width: 32.833%;
	margin-right: 0.5%;
	float: left;
}

.miniform .twothird {
	width: 66.167%;
	margin-right: 0.5%;
	float: left;
}

.miniform .pullright {
	margin-right: 0;
	float: right;
}

.miniform .half.pullright {
	width: 50%;
}

.miniform .onethird.pullright {
	width: 33.333%;
}

.miniform .twothird.pullright {
	width: 66.667%;
}

.miniform label {
	display: none;
}

.miniform label label {
	vertical-align: middle;
	cursor: pointer;
}

.miniform .hidden {
	display: none;
}

.miniform .error {
	background: #ff4136;
	color: #fff;
	font-weight: bold;
	border: 1px solid #ff4136;
	padding: 5px;
	margin-bottom: 10px;
}

.miniform .ok {
	background: #71ae27;
	color: #fff;
	font-weight: bold;
	border: 1px solid #71ae27;
	padding: 1.5em;
	margin-bottom: 10px;
}

@media screen and (max-width: 468px) {
	.miniform .half {
		width: 100%;
		margin-right: 0;
		float: none;
	}

	.miniform .onethird {
		width: 100%;
		margin-right: 0;
		float: none;
	}

	.miniform .twothird {
		width: 100%;
		margin-right: 0;
		float: none;
	}

	.miniform .half.pullright {
		width: 100%;
	}

	.miniform .onethird.pullright {
		width: 100%;
	}

	.miniform .twothird.pullright {
		width: 100%;
	}

	.miniform .error {
		width: 100%;
	}
}

.miniform label span {
	display: none;
	/*cursor: pointer;
	display: inline-block;
	margin: 0 5px;
	font-weight: 900;*/
}

.miniform span span {
	cursor: default;
	color: #ff4136;
	display: inline-block;
	margin: 0px;
	font-weight: 900;
	vertical-align: baseline;
}

.miniform input[type="text"],
.miniform input[type="email"],
.miniform input[type="tel"],
.miniform input[type="url"],
.miniform select,
.miniform textarea {
	width: 100%;
	background: #D1D2D5;
	height: auto;
	border: none;
	margin: 0 0 10px;
	padding: 5px;
	outline: 0 none;

}

.miniform input[type="text"]:hover,
.miniform input[type="email"]:hover,
.miniform input[type="tel"]:hover,
.miniform input[type="url"]:hover,
.miniform select:hover,
.miniform textarea:hover {
	transition: 0.3s ease-in-out;
}

.miniform input[type="text"]:focus,
.miniform input[type="email"]:focus,
.miniform input[type="tel"]:focus,
.miniform input[type="url"]:focus,
.miniform select:focus,
.miniform textarea:focus {
	/*transition: border-color 0.3s ease-in-out;
	border-color: #66AFE9 !important;
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 4px rgba(102, 175, 233, 0.6);*/
	outline: 0 none;
	background: white;
}

.form-control:focus {}

.miniform textarea {
	min-height: 100px;
	max-width: 100%;
}

.miniform button[type="submit"] {
	position: relative;
	display: inline-block;
	padding:15px 30px;
	font-family: inherit;
	font-weight: 600;
	line-height: 1em;
	text-transform: uppercase;
	cursor: pointer;
	width: 100%;
	border: 2px solid #D1D2D5;
	background: #2f383d;
	color: #fff;
	margin: 0 0 5px;
	padding: .5em .5em .25em;
	opacity: 1;
	transform: 3s;
}

.miniform button[type="submit"]:hover {
	background: rgb(215,58,57);
	transition: 0.3s ease-in-out;
}

.miniform .missing {
	border: 1px solid  rgb(215,58,57) !important;
}

::-webkit-input-placeholder {
	color: #000;
	font-style: italic;
	opacity: .5;
}

:-moz-placeholder {
	color: #000;
	font-style: italic;
	opacity: .5;
}

::-moz-placeholder {
	color: #000;
	font-style: italic;
	opacity: .5;
}

:-ms-input-placeholder {
	color: #000;
	font-style: italic;
	opacity: .5;
}


.captcha_table input[type="text"] {
	width: 50px !important;
}

.miniform .privacy .grouping {
	border: 1px solid #ccc;
}

.miniform .privacy label {
	font-size: 80%;
	font-weight: 300;
}

.miniform .privacy .missing label {
	color: #ff4136 !important;
}

.miniform .privacy .missing label a {
	color: #ff4136 !important;
	text-decoration: underline;
	font-weight: bold;
}


/* MiniGallery */
  
/* trici */
.mgimages > .item:first-child {
	display: block !important;
  }
  .mgimages > .item {
	display: none !important;
  }


.gallery_wrap {
	width: 100%;
}

.minigal2 {
	/* width: 33.333%; */
	width: auto;
	max-width: 100%;
	float: left;
	height: 330px;
	overflow: hidden;
	margin-bottom: .35rem;
  }
.flex-images { 
	overflow: hidden; 
	position: relative; 
	height: 330px;
	width: auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.item { 
	float: left; 
	margin: 5px; 
	background: #eee; 
	box-sizing: 
	content-box; 
	overflow: hidden; 
	position: relative;  
	width: auto !important; 
	height: 330px !important;
}
.item img { 
	display: block; 
	width: auto; 
	height: 330px;
	/* height: 100%;  */
	max-width: none; 
	/*transition: 5s;*/
	object-fit: cover;
}

.flex-images .item .caption {
	position: absolute;
	left: 0;
	right: 0;
	padding: 1em;
	font-size: 1rem;
	line-height: 1.25rem;
	color: #fff;
	background: #d66765;
	background: rgba(215,58,57,.7);
	height: 40px;
	bottom: 0;
	top: 220px;
	top: 77%;
  }
  .flex-images .item .cap_mid  {
	position: absolute;
	top: 45%;
	transform: translate(0,-40%);
  }
/*  EFFEKT ein-/ausblenden hover

.flex-images .item .caption { 
	-webkit-transform: scaleY(0);
	-o-transform: scaleY(0);
	-ms-transform: scaleY(0);
	transform: scaleY(0);
	-webkit-transform-origin: bottom;
	-o-transform-origin: bottom;
	-ms-transform-origin: bottom;
	transform-origin: bottom;
	-webkit-transition: -webkit-transform .5s ease-out;
	-o-transition: -o-transform .5s ease;
	-ms-transition: -ms-transform .5s ease;
	transition: transform .5s ease;
}
body.is-touch .minigal2 > .flex-images .item .caption {
-webkit-transform: scaleY(1);
	-o-transform: scaleY(1);
	-ms-transform: scaleY(1);
	transform: scaleY(1);
}
.flex-images .item:hover .caption { 
	-webkit-transform: scaleY(1);
	-o-transform: scaleY(1);
	-ms-transform: scaleY(1);
	transform: scaleY(1);
} */

/* minipopup */

img.popup {
	width: 500px;
	max-width: 100%;
}

.pbox {
	display: none;
	position: fixed;
	z-index: 1000;
	width: 90%;
	max-width: 100%;
	overflow: auto;
	background: #d73a39;
	border-radius: 4px;
	background-clip: padding-box;
	color: white;
	font-weight: bold;
	padding: 1rem 1rem 0 1rem;
	text-align: center;
	font-size: 2.5rem;
	line-height: 3.5rem;
  }
/* für Lehrlinge */
  .pbox {
    width: auto;
    margin: 0;
	background: transparent;
	font-size: 1.5rem;
	padding: 0;
  }


  .pbox p a, .pbody p a {
  color: white;
  text-decoration: underline;
  }
  .pbox p a:hover, .pbody p a:hover {opacity: .75;}

  .pbox h4 {
	  text-transform: uppercase;
	  color: white;
	  margin: 0;
	  font-size: 3rem;
	  padding-bottom: 1rem;
  }
  @media (min-width: 32em) {
	  /* .pbox { width: 70%; }
  } */
  .pbox .pbody { 
	  padding: 2em 1.5em; 
	  /* lehrlinge: */
	  padding: .5rem 1.5rem; 
  }
  
  .poverlay {
	opacity: 0;
	filter: alpha(opacity=0);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 900;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.85) !important;
  }
  
  a.pboxclose{
	  float:right;
	  margin-top:2px;
	  margin-right:2px;
	  cursor:pointer;
	  color: #fff;
	  border-radius: 30px;
	  background: #605F61;
	  font-family: Arial, serif;
	  font-size: 30px;
	  font-weight: bold;
	  display: inline-block;
	  line-height: 1px;
	  padding: 11px 3px;     
	  z-index:1001;	
  }
  
  .pboxclose:before {
	  content: "×";
  }

/* trici */
.mgimages > .item:first-child {
	display: block !important;
  }
  .mgimages > .item {
	display: none !important;
  }


@media screen and (max-width:1665px) {
  	.flex-images .item .caption {
		top: 200px;
	}

}

@media screen and (max-width:1065px) {
	.minigal2 {
		width: auto;
		max-width: 50%;
		margin-bottom: 10px
	}
	.flex-images .item .caption {
		top: 82%;
	}
	.item {
		margin-right: 10px;
	}
}

@media screen and (max-width:900px) {
	.minigal2, .flex-images, .item, .item img {
		height: 230px
	}
	.flex-images, .item, .item img {
		width: 100%;
	}
	.flex-images .item .caption {
		top: 46%;
	}
}
@media screen and (max-width:550px) {
	.minigal2, .flex-images, .item, .item img {
		/* max-width: 100%; */
		height: 180px;
	}
	.flex-images .item .caption {
		top: 36%;
		padding: .5rem;
	}
	.flex-images .item .cap_mid {
		hyphens: none;
	}
	.pbox {
		font-size: 1rem;
		line-height: 1.5rem;
		padding-bottom: .5rem;
		hyphens: none !important;
	}
	.pbox h4 {
		font-size: 2rem
	}
	.pbox .pbody {padding: 1rem .5rem;}
	.pbody p {hyphens: none;}
}


  