@font-face {
    font-family: FontL;
    src: url("../OpenSans-Light.ttf");
    font-display: swap;
}
@font-face {
    font-family: FontR;
    src: url("../OpenSans-Regular.ttf");
    font-display: swap;
}
@font-face {
    font-family: FontB;
    src: url("../OpenSans-Bold.ttf");
    font-display: swap;
}
* {
font-family: FontL;
font-size: 17px;
line-height: 1.5;
	font-weight: lighter;
}
#signature, #signature1 {
	border: 1px solid #CCC;
	margin-bottom: 10px!important;
}
option {
    font-family: Arial;
}
.JahrKWDaten {
	width: auto;
	width: 100%;
	max-width: 500px;
}
.JahrKWDaten select {
	margin-left: 10px;
}
.JahrKWDaten input[type=text] {
	width: 100%;
	margin-bottom: 2px;
}
.Zeile {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.Zeile .InputPunkte input[type=text], .InputPunkteInput {
	border: 0px;
	border-bottom: 1px dotted #000;
	width: 300px;
	margin-left: 10px;
	padding-top: 2px;
	padding-bottom: 2px;
	height: auto;
}
.InputPunkte {
	width: auto;
	flex: 1;
	padding-left: 10px;
}
.Zeile .InputPunkte input[type=text] {
	width: 100%!important;
	margin-left: 0px;
}
.InputPunkteInput {
	width: 100px;
	margin-left: 0px;
	padding: 2px;
	font-size: 14px;
	text-align: center;
}
.Zeile .AbstandL {
	padding-left: 40px;
}
.Wochenplan {
	margin-bottom: 10px;
}
.Wochenplan .ZeileHeadline, .Wochenplan .ZeileNormal {
	display: flex;
	align-items: stretch;
	border-right: 1px solid #CCC;
}
.Wochenplan .ZeileHeadline {	
	border-top: 1px solid #CCC;
}
.Wochenplan .ZeileHeadline .Co, .Wochenplan .ZeileNormal .Co , .Wochenplan .ZeileNormal .Co1 {
	border: 1px solid #CCC;
	border-top: 0px;
	border-right: 0px;
	padding: 5px;
	flex: 1;
	text-align: center;
}
.Wochenplan .ZeileHeadline .Co:nth-child(2), .Wochenplan .ZeileNormal .Co:nth-child(2), .Wochenplan .ZeileNormal .Co1:nth-child(2) {
	flex: 2;
	display: none!important;
}
.Wochenplan .ZeileHeadline .Co:nth-child(3), .Wochenplan .ZeileNormal .Co:nth-child(3), .Wochenplan .ZeileNormal .Co1:nth-child(3) {
	flex: 2;
}
.Wochenplan .ZeileHeadline .Co:nth-child(3) select, .Wochenplan .ZeileNormal .Co:nth-child(3) select, .Wochenplan .ZeileNormal .Co1:nth-child(3) select {
	width: 150px;
}
.Wochenplan .ZeileNormal .Co:nth-child(2) input {
	width: 100%!important;
}
.Wochenplan input[type=checkbox] {
	width: auto;
}
.Wochenplan .ZeileNormal .Co, .Wochenplan .ZeileNormal .Co1 {
	display: flex;
	align-items: center;
	justify-content: center;
}
.Wochenplan .ZeileNormal .Co1 {
	border: 0px;
}
.Wochenplan .ZeileNormal .Co select {
	margin-top: 1px;
	margin-bottom: 1px;
	padding-left: 10px;
	width: 75px;
}
.Wochenplan .ZeileNormal .Co div {
	text-align: center;
}
.Wochenplan [type="checkbox"] {
  position: relative;
  left: 0px;
	width: 100%!important;
  top: 0px;
  z-index: 0;
  -webkit-appearance: none;
	cursor: pointer;
	height: 20px;
	border: 0px;
}
.Wochenplan [type="checkbox"] + label {
  position: relative;
  display: block;
  cursor: pointer;
  font-size: 17px;
  line-height: 1;
  padding-left:40px;
  position: relative;
  margin-top: -28px;
	pointer-events: none;
	text-align: left;
	cursor: pointer;
	margin-bottom: 5px;
}
.Wochenplan [type="checkbox"] + label:before {
  width: 30px;
  height: 20px;
  border-radius: 10px;
  border: 1px solid #CCC;
  background-color: #EEE;
  content: "";
  margin-right: 15px;
  transition: background-color 0.5s linear;
  z-index: 5;
  position: absolute;
  left: 0px;
	top: -2px;
}
.Wochenplan [type="checkbox"] + label:after {
  width: 18px;
  height: 18px;
  border-radius: 10px;
  background-color: #fff;
  content: "";
  transition: margin 0.1s linear;
  box-shadow: 0px 0px 5px #aaa;
  position: absolute;
  left: 2px;
  z-index: 10;
	top: 0px;
}
.Wochenplan [type="checkbox"]:checked + label:before {
  background-color: #2b8718;
}
.Wochenplan [type="checkbox"]:checked + label:after {
  margin: 0 0 0 10px;
}
.Stundenliste {
	z-index: 10000;
	background-color: #FFF;
	padding: 0px;	
}
.StundenTitle {
	background-color: #CF3339;
	color: #FFF;
	text-align: center;
	padding: 30px;
	margin-bottom: 30px;
}
.StundenTitle a {
	text-decoration: underline;
	color: #FFF!important;
    font-family: FontB;
}
.Stundenliste .StundenlisteInhalt {
	background-color: #FFF;
	width: 100%;
	padding: 20px;
	padding-top: 0px;
}
.Popup1, .ShopMeldung, .Popup2 {
	position: fixed;
	left: 0px;
	top: 0px;
	right: 0px;
	bottom: 0px;
	z-index: 1000;
	background-color: rgba(0,0,0,.8);
	display: flex;
	align-items: center;
	justify-content: center;
}
.ShopMeldung {
	opacity: 0;
	pointer-events: none;
	transition-duration: .2s;
}
.ShopMeldungF {
	opacity: 1;
	pointer-events: inherit;
}
.Popup1 div, .ShopMeldung div {
	width: 90%;
	max-width: 500px;
}
.Popup2 div {
    width: 90%;
    max-width: 750px;
    position: relative;
}
.Popup2 div video {
    display: block;
    width: 100%;
    height: auto;
}
.Popup2 img {
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    display: block;
}
.ShopMeldung div {
	max-width: 400px;
	background-color: #FFF;
	padding: 20px;
	text-align: center;
	background-color: #CF3339;
	color: #FFF;
}
.Popup1 div img {
	display: block;
	width: 100%;
}
.MobileBottom {
	display: none;
}
input[type="submit"]:disabled {
	cursor: not-allowed!important;
	opacity: 0.2!important;
}
.MBS li {
	text-align: justify;
}
.Warenkorb {
	position: relative;
	left: 0px;
	top: 50px;
	right: 0px;
	opacity: 0;
}
.Warenkorb .MB {
	text-align: right;
}
.Warenkorb .WarenkorbDetail {
	background-color: #EFEFEF;
	margin-top: -50px;
	position: absolute;
	left: 0px;
	top: 50px;
	right: 0px;
	z-index: 101;
	opacity: 0;
	transition-duration: .2s;
	pointer-events: none;
	padding: 20px;
}
.ButtonWarenkorb {
	background-image: url(../warenkorb.png);
	background-repeat: no-repeat;
	background-size: 20px;
	background-position: 15px 8px;
	padding-left: 50px!important;
}
#warenkorb .grid_8 {
	text-align: left;
}
.WarenkorbF {
	position: fixed;
	z-index: 100;
	opacity: 1;
}
.Warenkorb .WarenkorbDetailF {
	display: block!important;
	opacity: 1;
	pointer-events: inherit;
}
.Warenkorb .Sichtbar {
	background-color: #EFEFEF;
	text-align: center;
	padding-top: 5px;
	padding-bottom: 5px;
}
#warenkorb .grid {
	flex-wrap: wrap;
}
#warenkorb .grid_8,#warenkorb .grid_2 {
	border-bottom: 1px solid #CCC;
	padding-bottom: 5px;
	padding-top: 5px;
}
#warenkorb .ar {
	text-align: right;
}
.S700 {
	display: none;
}
.MB a {
	color:#111;
}
.Pflicht {
	color: rgba(207,51,57,0.95);
}

.Artikel {
	border-bottom: 1px solid #EFEFEF;
	margin-bottom: 50px;
	padding-bottom: 50px;
}
.Artikel img {
	width: 100%;
	display: block;
}
.Artikel .grid_10 {
	padding-left: 50px;
}
.Artikel select {
	width: 200px;
	margin-left: 10px;
}
.Artikel .grid {
	align-items: center;
}
.Artikel h3 {
	text-align: left;
}
.Artikel .g1 {
	width: 150px;
	margin-bottom: 10px;
}
.Artikel .g2 {
	margin-bottom: 10px;
}
.Artikel .grid {
	justify-content: flex-start;
}

.WhatsApp {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 70;
	width: 50px;
	height: 50px;
}
.WhatsApp img {
	display: block;
	width: 50px;
	height: 50px;
}
select {
  background-color: white;
  border: 1px solid #CCC;
  border-radius: 0px;
  display: inline-block;
  font: inherit;
  line-height: 1.5em;
	height: 40px;
  padding: 5px;
	padding-left: 16px;
	padding-right: 40px;
  margin: 0;      
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image:url(../img/select.svg);
  background-position:
    calc(100% - 12px) calc(1em - 4px);
  background-size:
    16px 12px;
	width: 100%;
  background-repeat: no-repeat;
}
.MobileEmail, .MobileTel, .MobileLogo {
	display: none;
}
.gridSicherheitsfrage {
	margin-top: 20px;
	margin-bottom: 20px;
}
input, textarea {
  border: 1px solid #CCC;
	height: 40px;
  border-radius: 0px;
  display: inline-block;
  line-height: 1.5em;
	width: 100%;
}
select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}
.Maps {
	display: block;
}
body {
	background-size: 700px 700px;
	overflow-x: hidden;
}
p a {
	color: #333;
	text-decoration: none;
	font-weight: lighter;
}
.LoadMeF {
	opacity: 1;
}
.FSize1 {
	font-size: 40px!important;
}
.FSize2 {
	font-size: 20px!important;
	letter-spacing: 0px;
}
.FSize3, .FSize3 p {
	font-size: 35px!important;
	font-style: normal;
	font-weight: lighter;
	line-height: 1.1;
}
.FSize4 {
	font-size: 43px;
    font-family: FontB;
	letter-spacing: 6px;
}
.Navigation {
	position: absolute;
	left: 280px;
	top: 0px;
	right: 0px;
	bottom: 0px;
	z-index: 60;
	opacity: 0;
	padding-top: 50px;
	pointer-events: none;
	-webkit-transition: all 300ms  ease-in-out;
	-moz-transition: all 300ms  ease-in-out;
	-ms-transition: all 300ms  ease-in-out;
	-o-transition: all 300ms  ease-in-out;
	transition: all 300ms ease-in-out;
}
.NavigationF {
	opacity: 1!important;
	pointer-events: inherit;
}
.Navigation li {
	display: inline-block;
	margin-right: 15px;
	position: relative;
	color: #FFF;
}
.Navigation li:hover ul {
	display: block;
}
.Navigation a {
	color: #FFF;
	font-weight: lighter;
	font-size: 30px;
	text-align: left;
	text-decoration: none;
	line-height: 1.4;
	margin-top: 10px;
	display: block;
	margin-bottom: 0px;
	-webkit-transition: all 150ms  ease-in-out;
	-moz-transition: all 150ms  ease-in-out;
	-ms-transition: all 150ms  ease-in-out;
	-o-transition: all 150ms  ease-in-out;
	transition: all 150ms ease-in-out;
}
.NavSub {
	display: none;
	color: #FFF;
	line-height: 2;
	padding-bottom: 20px;
}
.NavSub a, .NavSub a * {
	color: #FFF;
	font-size: 20px;
	display: inline-block;
	margin-top: 0px;
	line-height: 1.4;
}
.NavSub a:hover, .NavSubAktiv {
	border-bottom: 1px solid rgba(255,255,255,0.4);
}
.NavAktiv {
    font-family: FontB!important;
}
.Header {
	position: fixed;
	color: #FFF;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 50px;
	z-index: 60;
	background-image: none;
	opacity: 0;
	transform: translateY(-100px);
	-webkit-transition: all 300ms  ease-in-out;
	-moz-transition: all 300ms  ease-in-out;
	-ms-transition: all 300ms  ease-in-out;
	-o-transition: all 300ms  ease-in-out;
	transition: all 300ms ease-in-out;
	background-color: #FFF;
	text-align: center;-webkit-box-shadow: 1px 2px 5px 1px rgba(0,0,0,0.1);
box-shadow: 1px 2px 5px 1px rgba(0,0,0,0.1);
}
.Header img {
	margin-top: 15px;
}
.LogoSmall {
	text-align: center;
	padding-top: 10px;
}
.LogoSmall img {
	display: inline-block;
	width: 120px;
}
.Header .MB {	
	padding-left: 60px;
	padding-right: 60px;
}
.HeaderF {
	opacity: 1;
	transform: translateY(0px);
	background-color: rgba(207,51,57,0.95);
}
.Header .MB {
	text-align: right;
}
.Logo {
	position: absolute;
	left: 50%;
	width: 250px;
	z-index: 500;
	top: 30px;
	margin-left: -125px;
}
.Logo img {
	display: block;
	width: 100%;
}
.LogoF {
	display: none;
}
.Photos {
	position: absolute;
	left: 0px;
	top: 0px;
	right: 0px;
	bottom: 0px;
	z-index: 1;
	height: 100%!important;
	width: 100%!important;
}
.BodySmall .Photos {
	height: 100%!important;
}
.BodySmall .Overlay .NavBg .icons {
	left: 330px;
}
.BodyNoPhoto .PhotoDiv {
	display: none;
}
.PhotoDiv {
	position: absolute;
	left: 0px;
	top: 0px;
	right: 0px;
	bottom: 0px;
	width: 100%;
	height: 100%;
}
.PhotoDiv .MB {
	height: 100%;
}
.BodySmall .PhotoDiv {
	height: 70%;
	bottom: inherit;
}
.BodySmall .Overlay {
	height: 75%;
	bottom: inherit;
}
.BodySmall .Content {
	top: 70%;
}
 .Overlay {
	position: absolute;
	/*pointer-events: none;*/
	left: 0px;
	top: 0px;
	 z-index: 50;
	right: 0px;
	bottom: 0px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}
 .Overlay .NavBg {
	position: absolute;
	left: 0px;
	top: 0px;
	right: 0px;
	bottom: 0px;
	overflow: hidden;
}
 .Overlay .NavBg .rot1 {
	background-color: rgba(207,51,57,0.95);
	position: absolute;
	left: -70px;
	width: 570px;
	top: -90px;
	bottom: 20px;
	transform: skew(33deg);
	-webkit-transition: all 300ms  ease-in-out;
	-moz-transition: all 300ms  ease-in-out;
	-ms-transition: all 300ms  ease-in-out;
	-o-transition: all 300ms  ease-in-out;
	transition: all 300ms ease-in-out;
}
 .Overlay .NavBg .rot2 {
	background-color: rgba(108,26,31,0.95);
	position: absolute;
	left: 0px;
	width: 30px;
	top: 215px;
	bottom: 20px;
	transform: skew(33deg);
}
 .Overlay .NavBg .text {
	position: absolute;
	left: -20px;
	top: 45%;
	width: 570px;
	text-align: center;
	color: #FFF;
	z-index: 10;
	-webkit-transition: all 200ms  ease-in-out;
	-moz-transition: all 200ms  ease-in-out;
	-ms-transition: all 200ms  ease-in-out;
	-o-transition: all 200ms  ease-in-out;
	transition: all 200ms ease-in-out;
}
 .Overlay .NavBg .text .big {
	display: block;
	font-size:48px;
    font-family: FontB;
	letter-spacing: 6px;
}
 .Overlay .NavBg .text .normal {
	display: inline-block;
	width: auto;
	margin: auto;
	text-align: left;
	line-height: 1.3;
	font-weight: lighter;
	margin-left: 90px;
	font-size: 23px;
}
 .Overlay .NavBg .icons {
	position: absolute;
	bottom: 65px;
	left: 400px;
	text-align: left;
}
 .Overlay .NavBg .icons img {
	display: inline-block;
	margin-left: 9px;
	margin-right: 9px;
	width: 30px;
}
.Overlay .NavBg .icons a:nth-child(3) img {
	width: 26px;
	transform: translateY(-2px);
}
.Overlay .NavBg .icons a:nth-child(4) img {
	width: 26px;
	transform: translateY(0px);
	margin-right: 0px;
}
 .Overlay .NavBg .icons a:nth-child(1) img {
	margin-left: 0px;
	margin-right: 0px;
}
 .Overlay .NavBgF .rot1 {
	width: 100%;
	-webkit-transition: all 300ms  ease-in-out;
	-moz-transition: all 300ms  ease-in-out;
	-ms-transition: all 300ms  ease-in-out;
	-o-transition: all 300ms  ease-in-out;
	transition: all 300ms ease-in-out;
}
 .Overlay .NavBgF .text {
	opacity: 0;
}
.Content {
	top: 100%;
	position: absolute;
	left: 0px;
	width: 100%;
	padding-top: 0px;
}
.Footer {
	background-color: #EFEFEF;
	color: #333;
	background-size: cover;
}
.Footer .MB {
	padding-top: 30px;
	padding-bottom: 30px;
}
.Footer2 a {
	color: #FFF!important;
}
.MMap {
	margin-top: 0px;
}
.MMap iframe {
	display: block;
}
.Footer * {	
	font-size: 14px;
}
.Footer img {
	width: 170px;
}
.Footer .grid {
	align-items: flex-start;
	justify-content: space-between;
}
.Footer .grid:after {
	content: none;
}
.Footer .grid_3 {
	width: auto;
}
.Footer a {
	color: #111;
	text-decoration: none;
}
.Footer .grid_4:nth-child(2) {
	text-align: center;
}
.Footer .grid_4:nth-child(3) {
	text-align: right;
}
.Footer .grid_x {
	width: 180px;
	padding-top: 10px;
}
.Footer2 {
	background-color: #CF3339;
	padding-top: 15px;
	padding-bottom: 15px;
	color: #FFF;
}
.Footer2 .icons img {
	display: inline-block;
	width: 20px;
	margin-left: 10px;
	margin-right: 10px;
}
.Footer2 .icons a:nth-child(1) img,.Footer2 .icons a:nth-child(2) img {
	width: 24px;
	height: 24px;
}
.Footer2 a {
	text-decoration: none;
	font-size: 14px;
}
.Footer2 .icons a:nth-child(1) img {
	margin-left: 0px;
}
.Footer2 .icons a:nth-child(4) img {
	margin-right: 0px;
}
.Footer2 .grid_3:nth-child(2),.Footer2 .grid_3:nth-child(3) {
	text-align:center;
}
.Footer2 .grid_3:nth-child(4) {
	text-align: right;
}
.Footer2 * {
	font-size: 13px!important;
}
.Footer2 .grid {
	align-items: flex-end;
}
.Innerebner {
	width: 70px;
	margin-top: 10px;
}
.MListe .grid_3 {
	border-bottom: 1px solid #CCC;
	padding-top: 15px;
}
.LinkMail {
	display: inline-block;
	width: auto;
	text-align: center;
	position: relative;
    font-family: FontR;
	color: #FFF;
	font-size: 17px!important;
	text-decoration: none;
}
.LinkMail:before {
	content: " ";
	display: block;
	background-image: url(../img/mail.svg);
	background-repeat: no-repeat;
	background-size: 30px;
	background-position: center;
	width: 100%;
	height: 30px;
}
.LinkTel {
	display: inline-block;
	font-size: 17px!important;
	width: auto;
	text-align: center;
    font-family: FontR;
	position: relative;
	color: #FFF;
	pointer-events: none;
	text-decoration: none;
}
.LinkTel:before {
	content: " ";
	display: block;
	background-image: url(../img/tel.svg);
	background-repeat: no-repeat;
	background-size: 25px;
	background-position: center;
	width: 100%;
	height: 30px;
}


.M1Photo img, .M3Photo img,.M2Photo img {
	display: block;
	width: 100%;
}
.M2Photo {
	display: flex;
	align-self: center;
	justify-content: center;
}
.M2Photo picture {
	width: 50%;
	margin: 10px;
}
.M3Photo picture:nth-child(3n+1) {
	position: relative;
	transform: translateX(40px) translateY(40px);
}
.M3Photo picture:nth-child(3n+3) {
	position: relative;
	transform: translateX(-40px) translateY(40px);
}
.M3Photo {
	display: flex;
	margin-top:40px;
	margin-bottom: 120px;
}
.M3Photo picture {
	margin: 0px;
	border: 8px solid #FFF;
	-webkit-box-shadow: 1px 1px 5px 0 rgba(0,0,0,0.2);
	box-shadow: 1px 1px 5px 0 rgba(0,0,0,0.2);
}
.MTeampower {
	color: #CF3339;
	text-align: center;
	opacity: 0;
	margin-top: 20px;
	margin-bottom: 20px;
}
.MTeampower .container {
	display: inline-block;
	width: auto;
}
.MTeampower span {
	display: block;
    font-family: FontR;
	text-align: center;
}
.MTP, .MT {
margin-top: 50px;	
}
.MTP p, .MT p {
	text-align: justify;
}
.MTP .img {
	float: left;
	width: 250px;
	margin-right: 30px;
	margin-bottom: 20px;
	margin-left: -100px;
	margin-top: -30px;
}
.MTP img {
	display: block;
	width: 100%;
}
.MTP .img img {
	display: block;
	width: 100%;
}

.typewriter {
	opacity: 1;
}
.typewriter .type {
  overflow: hidden; /* Ensures the content is not revealed until the animation */
  border-right: .15em solid #FFF; /* The typwriter cursor */
  white-space: nowrap; /* Keeps the content on a single line */
  margin: 0 auto; /* Gives that scrolling effect as the typing happens */  
    font-family: FontB;
  animation: 
    typing 1.2s steps(20, end),
    blink-caret .4s step-end 4;
}

/* The typing effect */
@keyframes typing {
  from { width: 0 }
  to { width: 100% }
}

/* The typewriter cursor effect */
@keyframes blink-caret {
  from, to { border-color: transparent }
  50% { border-color: #CF3339; }
}

.MBGGrau {
	background-image: url(../img/bggrau.svg);
	background-repeat: no-repeat;
	background-position: right bottom;
	background-size: 55%;
}
.M2Bilder {
	padding-bottom: 100px;
}
.M2Bilder .grid_6 {
	position: relative;
	overflow: hidden;
}
.M2Bilder picture img {
	width: 100%;
	display: block;
}
.M2Bilder .overlay {
	position: absolute;
	left: 0px;
	top: 0px;
	right: 0px;
	bottom: 0px;
	color: #FFF;
	background: rgb(0,0,0);
background: -webkit-linear-gradient(bottom, rgba(0,0,0,0.6292892156862745) 0%, rgba(0,0,0,0) 100%);
background: -o-linear-gradient(bottom, rgba(0,0,0,0.6292892156862745) 0%, rgba(0,0,0,0) 100%);
background: linear-gradient(to top, rgba(0,0,0,0.6292892156862745) 0%, rgba(0,0,0,0) 100%);
}
.M2Bilder .overlay a {
	position: absolute;
	left: 0px;
	top: 0px;
	right: 0px;
	bottom: 0px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	text-decoration: none;
}
.M2Bilder .overlay div {
	-webkit-transition: all 400ms  ease-in-out;
	-moz-transition: all 400ms  ease-in-out;
	-ms-transition: all 400ms  ease-in-out;
	-o-transition: all 400ms  ease-in-out;
	transition: all 400ms ease-in-out;
}
.M2Bilder .grid_6:hover .overlay div {
	transform: translateY(-15px);
}
.M2Bilder .overlay span {
	display: block;
	text-align: center;
}
.M2Bilder picture img {
	transform: scale(1.1);
	-webkit-transition: all 300ms  ease-in-out;
	-moz-transition: all 300ms  ease-in-out;
	-ms-transition: all 300ms  ease-in-out;
	-o-transition: all 300ms  ease-in-out;
	transition: all 300ms ease-in-out;
}
.M2Bilder .grid_6:hover picture img {
	transform: scale(1);
}
.M2Bilder .overlay span:nth-child(1) img {
	display: inline-block;
	width: 90px;
	margin-bottom: 10px;
}
.M2Bilder .overlay span:nth-child(2) {
	color: #FFF;
	text-align: center;
    font-family: FontB;
}
.M2Bilder .overlay span:nth-child(3), .M2Bilder .overlay span:nth-child(3) p {
	color: #FFF;
	text-align: center;
}
.M2Bilder .overlay span:nth-child(3) {
	padding-bottom: 40px;
}
.M2Bilder .grid_6:nth-child(1) {
	margin-right: 20px;
}
.M2Bilder .grid_6:nth-child(2) {
	margin-left: 20px;
	transform: translateY(50px);
}
.M2Bilder .FSize3, .M2Bilder .FSize3 p {
	font-size: 30px!important;
}
.br {
	display: block;
}
strong {
    font-family: FontR;
}
.MJobliste h3 {
	text-align: left;
	margin-bottom: 3px;
	font-size: 24px;
	display: inline-block;
}
.MJobliste {
	align-items: stretch;
	margin-bottom: 30px;
}
.MJobliste .PR {
	padding-right: 30px;
}
.MJobliste .AR {
	text-align: right!important;
}
.MJobliste {
	flex-wrap: wrap;
}
.MJobliste .grid_12 {
	border-bottom: 1px solid #CCC;
	padding-bottom: 30px;
	padding-top: 5px;
	padding-left: 30px;
	padding-right: 30px;
}
.MJobliste .grid_3 {
	border-bottom: 1px solid #EFEFEF;
	padding-bottom: 20px;
	padding-top: 20px;
}
.MJobliste .grid_3:nth-child(4n+1), .MJobliste .grid_4:nth-child(3n+1){
	padding-left: 30px;
}
.MJobliste .grid_3:nth-child(4n+4), .MJobliste .grid_4:nth-child(3n+3){
	text-align: right;
	padding-right: 30px;
}
.MJobliste .grid_3:nth-child(2),.MJobliste .grid_3:nth-child(4n+3), .MJobliste .grid_3:nth-child(4n+2) {
	text-align: center;
}
.LinkPfeil {
	color: #CF3339!important;
	text-decoration: none;
	background-image: url(../img/pfeil.svg);
	background-repeat: no-repeat;
	background-size: 10px;
	padding-left: 20px;
	background-position: 0px center;
    font-family: FontB;
}
h1,h2,h3,h4 {
	font-size: 20px;
	color: #CF3339;
    font-family: FontR;
	margin-bottom: 10px;
	line-height: 1;
	text-align: center;
}
h1 {
	margin-bottom: 10px;
}
h2,h4 {
	color: #111;
	margin-bottom: 10px;
	font-size: 35px;
	font-weight: lighter;
	font-style: normal;
}
h2,h4 {
    font-family: FontL;
}
p {
	color: #333;
	text-align: left;
	margin: auto;
	line-height: 1.5;
}
.MBS ul {
	margin-left: 20px;
}
.MAbstand1 {
	display: block;
	height: 30px;
}
.MAbstand2 {
	display: block;
	height: 90px;
}
.MAbstand3 {
	display: block;
	height: 170px;
}
.MBG1 {
	background-color: #EFEFEF;
	padding-top: 70px;
	padding-bottom: 70px;
}
.MBG1 * {
}
.MGetraenkekarte img {
	display: block;
	width: 100%;
}
.MGetraenkekarte .grid_8 {
	padding-left: 40px;
	text-align: center;
}
.FormularButtons .grid_6:nth-child(2) {
	text-align: right;
}
.Video {
	width: 100%;
	height: auto;
}
.video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 0;
    height: 0;
    overflow: hidden;
}

.video-container iframe,
.video-container object,
.video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.Button {
	display: inline-block;
	background-color: #CF3339;
	color: #FFF!important;
	padding: 5px;
	padding-left: 30px;
	padding-right: 30px;
	height: 40px;
	border: 1px solid #CF3339;
	text-decoration: none;
    font-family: FontB;
	text-align: center;
}
.MTL p {
	text-align: left!important;
}
.MKontaktbox div, .MKontaktbox * {
	text-align: left;
}
.Popup {
	position: fixed;
	left: 0px;
	top: 0px;
	right: 0px;
	bottom: 0px;
	z-index: 100;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(0,0,0,.8);
	opacity: 0;
	pointer-events: none;
	-webkit-transition: all 300ms  ease-in-out;
	-moz-transition: all 300ms  ease-in-out;
	-ms-transition: all 300ms  ease-in-out;
	-o-transition: all 300ms  ease-in-out;
	transition: all 300ms ease-in-out;
}
.PopupF {
	pointer-events: inherit;
	opacity: 1;
}
.Popup .c {
	background-color: #FFF;
	padding: 30px;
	width: 90%;
	overflow-y: auto;
	height: 90%;
	max-width: 600px;
	max-height: 700px;
	position: relative;
}
.Popup p {
	text-align: left;
}
.Popup .Close {
	position: absolute;
	right: 20px;
	top: 20px;
	color: #999;
    font-family: FontB;
	cursor: pointer;
}
.Jobs select, .Jobs input {
	width: 100%;
}
.Jobs .MBXS .grid_3 {
	padding-left: 2px;
	padding-right: 2px;
	width: auto;
}

.Jobs input[type=button] {
	height: 40px;
}
.MPTT img {
	width: 100%;
	max-width: 100%;
	display: block;
}
.MPTT .Button {
	margin-top: 10px;
}
.MPTT .grid_6:nth-child(1) {
	padding-right: 60px;
}
.MPTT .grid_6:nth-child(2) {
	padding-left: 60px;
	padding-top: 30px;
	padding-bottom: 30px;
}
.MPTT h3, .MPTT h4 {
	text-align: left;
}
.MPTT .grid {
	align-items: center;
	padding-top: 40px;
	padding-bottom: 40px;
	background-image: url(../img/mptt.svg);
	background-repeat: no-repeat;
	background-position: right;
	background-size: cover;
}
.MPTT h4 {
	margin-bottom: 25px;
}
.MPTT p {
	width: 100%;
	max-width: 500px;
	text-align: justify;
	margin: inherit;
}
ul {
	padding-left: 18px;
}
.MButton {
	text-align: center;
}
.MJobDetail h1, .MJobDetail h2 {
	text-align: left;
	font-size: 28px;
}
.MJobDetail h2 {
	font-size: 20px;	
}
.MTrennlinie {
	border-bottom: 1px solid #CCC;
	display: block;
	height: 1px;
	margin-top: 20px;
	margin-bottom: 20px;
	width: 100%;
}
.Padding {
	padding-left: 20px;
	padding-right: 20px;
}
.MDownloads {
}
.MDownloads .grid {
	align-items: center;
	flex-wrap: wrap;
	border-bottom: 1px solid #999;
	padding-left: 20px;
	padding-right: 20px;
	padding-bottom: 20px;
	padding-top: 20px;
}
.MDownloads .grid_4 {
	text-align: right;
}
.MStellenbewerbung .grid_6:nth-child(2n+1) {
	padding-right: 5px;
}
.MStellenbewerbung .grid_6:nth-child(2n+2) {
	padding-left: 5px;
}
.MStellenbewerbung .grid {
	flex-wrap: wrap;
	justify-content: flex-start;
}
.MStellenbewerbung .grid_6, .MStellenbewerbung .grid_12, .MStellenbewerbung .grid_3, .MStellenbewerbung .grid_4 {
	padding-bottom: 10px;
}
.MStellenbewerbung h3 {
	margin-top: 40px;
}
.MStellenbewerbung .grid_4:nth-child(1) {
	padding-right: 5px;
}.MStellenbewerbung .grid_4:nth-child(2) {
	padding-left: 5px;
	padding-right: 5px;
}.MStellenbewerbung .grid_4:nth-child(3) {
	padding-left: 5px;
}

.MStandort {
	background-color: #EFEFEF;
	padding: 30px;
}
.MStandort h3 {
	text-align: left;
}
.MStandort .grid {
	align-items: center;
}
.MStandort img {
	display: block;
	width: 100%;
}
.MStandort .grid_6:nth-child(1) {
	padding-right: 30px;
}
.MStandort .grid_6:nth-child(2) {
	padding-left: 30px;
}

.MTeam {
	background-color: #EFEFEF;
	padding: 0px;
}
.MTeam .grid .grid_4 {
	padding-top: 30px;
}
.MTeam .grid .grid_4:nth-child(1) {
	margin-top: -60px;
	padding-top: 0px;
	padding-left: 35px;
	padding-right: 35px;
	padding-bottom: 35px;
}
.MTeam img {
	display: inline-block;
	width: 100%;
	max-width: 250px;
	border-radius: 50%;
}
.MTeam a {
	text-decoration: none;
	font-weight: lighter;
}
.MTeam .FSize2 {
	color: #CF3339;
	display: block;
    font-family: FontR;
}

.MPresse .grid {
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid #CCC;
	padding-left: 60px;
	padding-right: 60px;
}
.MPresse .grid_x {
	width: auto;
	padding-bottom: 30px;
}
.MPresse .grid_x:nth-child(2) {
	flex: 1;
	padding-left: 50px;
}
.MPresse img {
	display: block;
	width: 180px;
	max-width: 500px;
	min-width: 200px;
	-webkit-box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.2);
box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.2);
}
.MPresse .FSize2 {
	color: #CF3339;
	display: block;
    font-family: FontR;
}
.MPresseVideo .grid_x:nth-child(1) {
	width: 100%;
	min-width: 300px;
	max-width: 500px;
}
.MLogin .grid {
	flex-wrap: wrap;
}
.MLogin {
	max-width: 400px;
	margin: auto;
}

.StundenTag {
	background-color: #CF3339;
	color: #FFF;
	padding: 10px;
	cursor: pointer;
	margin-top: 2px; 
	background-image:url(../img/selectw.svg);
	background-repeat: no-repeat;
  background-position:
    calc(100% - 20px) calc(1em - 0px);
  background-size:
    16px 12px;
}
.StundenTagBox {
	background-color: #EFEFEF;
	padding: 20px;
	display: none;
}

.MMitarbeiter23 {
    align-items: stretch;
}
.MMitarbeiter23 .grid_4, .MMitarbeiter23 .grid_3, .MMitarbeiter23 .grid_2 {
    padding-left: 0px!important;
    border-bottom: 1px solid #EFEFEF;
    padding-top: 15px!important;
    padding-bottom: 15px!important;
}
.MMitarbeiter23 .grid_4:nth-child(3n+3) {
    text-align: left!important;
    padding-right: 0px!important;
}
@media only screen and (max-width : 1400px) {
	.MPTT .grid_6:nth-child(1) {
		padding-right: 30px;
	}
	.MPTT .grid_6:nth-child(2) {
		padding-left: 30px;
	}
	.MPTT .grid {
		padding-top: 20px;
		padding-bottom: 20px;
	}
}

@media only screen and (max-width : 1300px) {
	.MPTT .grid_6 {
		width: 50%;
	}
	.MPTT img {
		width: 100%;
		max-width:600px;
		display: inline-block;
	}
	.MPTT .grid_6:nth-child(1) {
		text-align: center;
	}
	.MPTT .grid_6:nth-child(2) {
		padding-right: 20px;
	}
	.MPTT .grid {
		flex-wrap: wrap;
		background-image: none;
		align-items: flex-start;
	}
}


@media only screen and (max-width : 1100px) {
	.MTP .img {
		margin-left: 0px;
	}
	.Navigation {
		left: 180px;
	}
	.Footer .grid_x {
		width: auto;
	}
}


@media only screen and (max-width : 900px) {
    .MMitarbeiter23 .grid_4, .MMitarbeiter23 .grid_3, .MMitarbeiter23 .grid_2 {
        width: 50%;
        text-align: left!important;
    }
	.Footer .grid {
		flex-wrap: wrap;
	}
	.Footer .grid_x, .Footer .grid_3 {
		width: 100%;
		text-align: center;
		padding-bottom: 20px;
	}
	.Footer2 .grid_3 {
		width: 50%;
	}
	.Footer2 .grid_3:nth-child(2),.Footer2 .grid_3:nth-child(3) {
		display: none;
	}
	.MPTT img {
		max-width: 2000px;
	}
}


@media only screen and (max-width : 800px) {
    .MMitarbeiter23 .grid_4, .MMitarbeiter23 .grid_3, .MMitarbeiter23 .grid_2 {
        width: 100%;
        text-align: left!important;
        padding-top: 5px!important;
        padding-bottom: 5px!important;
    }
    .MMitarbeiter23 .grid_4 {
        padding-top: 20px!important;
    }
    .MMitarbeiter23 .grid_2 {
        padding-bottom: 20px!important;
    }
	.Artikel .grid_2 {
		width: 100%;
		text-align: center;
	}	
	.Warenkorb .WarenkorbDetail {
		padding: 0px;
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.Warenkorb .MB {
		text-align: center;
	}
	#warenkorb .grid {
		flex-wrap: wrap;
	}
	#warenkorb .grid .grid_8 {
		width: 100%;
		border-bottom: 0px;
		text-align: left!important;
	}
	#warenkorb .grid .grid_2 {
		width: 50%;
		text-align: left;
	}
	#warenkorb .ar {
		text-align: right!important;
	}
	.Artikel .grid {
		flex-wrap: wrap;
	}
	.Artikel img {
		width: 100%;
		max-width: 200px;
		display: inline-block;
	}
	.Artikel .grid_10 {
		width: 100%;
		padding-left: 0px;
		padding-top: 20px;
	}
	.Artikel .grid_10 .grid {
		width: 240px;
		margin: auto;
	}
	.Artikel .g1 {
		width: 120px;
		text-align: left;
	}
	.Artikel .g2 {
		width: 120px;
		text-align: left;
	}
	.Artikel select {
		width: 150px;
	}
	.Artikel .PR {
		text-align: center!important;
	}
	.Artikel h3 {
		text-align: center
	}
	.Artikel .grid_10 p {
		text-align: center;
	}
	.Artikel .grid_10 {
	}
	.MBR {
		display: block;
	}
	.MobileBottom {
		position: fixed;
		bottom: 0px;
		left: 0px;
		right: 0px;
		padding: 10px;
		background-color: #CF3339;
		z-index: 100;
		opacity: 1;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.MobileBottom div {
		flex: 1;
		text-align: center;		
	}
	.MobileBottom a {
		text-decoration: none;
    font-family: FontB;;
		color: #FFF;
	}
	.MobileBottom img {
		width: 30px;
	}
	.MobileBottom div:nth-child(1) {
		border-right: 1px solid rgba(255,255,255,.3);
	}
	.Footer2 {
		margin-bottom: 80px;
	}
	.WhatsApp {
		display: none!important;
	}
	.MobileEmail {
		position: fixed;
		right: 20px;
		z-index: 60;
		top: 15px;
		width: 30px;
		height: 30px;
		display: block;
	}
	.MobileEmail img {
		display: block;
		width: 100%;
	}
	.MobileTel {
		position: fixed;
		right: 70px;
		z-index: 60;
		top: 13px;
		width: 25px;
		height: 25px;
		display: block;
	}
	.MobileTel img {
		display: block;
		width: 100%;
	}
	.MobileLogo {
		position: fixed;
		left: 50%;
		margin-left: -40px;
		z-index: 60;
		top: 13px;
		width: 80px;
		display: block;
	}
	.MobileLogo img {
		display: block;
		width: 100%;
	}
	.MListe .grid_3 {
		width: 100%;
	}
	.FormularButtons .grid_6 {
		text-align: center!important;
		width: 100%;
	}
.OverlayF {
	height: 100%!important;
}
	* {
		font-size: 16px;
	}
	.MStandort .grid_6:nth-child(1), .MStandort .grid_6:nth-child(2), .MStandort .grid_6:nth-child(1), .MStandort .grid_6:nth-child(2) p, .MStandort .grid_6:nth-child(1), .MStandort .grid_6:nth-child(2) h3 {
		text-align: center;
	}
	.MPTT h3, .MPTT h4 {
		text-align: center;
	}
	.Sicherheitsfrage {
		max-width: inherit;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.gridSicherheitsfrage label {
		text-align: center;
	}
	.checkboxx, .checkboxx1, .checkboxx2 {
		text-align: left!important;
	}
	input[type="submit"], input[type="button"] {
		display: flex;
		margin: auto;
		position: relative;
	}
	.FSize4 {
		font-size: 32px!important;
	}
	.FSize2 {
		font-size: 18px!important;
	}
	.FSize3, .FSize3 p {
		font-size: 28px!important;
	}
	.Navigation a {
		font-size: 22px;
	}
	.NavSub a, .NavSub a * {
		font-size: 18px;
	}
	.h2, h4 {
		font-size: 25px!important;
	}
	.MTeam .FSize2,.MTeam .grid .grid_4,.MTeam .grid .grid_4 p {
		text-align: center;
		}
	.Footer2 .icons a:nth-child(3) img {
		transform: translateY(-2px);
	}
	
	.Footer2 .grid {
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}
	.Footer2 .icons {
		text-align: center;
		padding-top: 10px;		
	}
	.Footer2 .grid_3 {
		text-align: center;
		width: 100%;
		padding-bottom: 20px;
	}
	.H700 {
		display: none;
	}
	.S700 {
		display: inline-block;
	}
	.Overlay .NavBg {
		opacity: 0;
	}
	.Overlay .NavBgF {
		opacity: 1;
	}
	.Overlay .NavBg .rot1 {
		transform: none;
		left: 0px;
		right: 0px;
		bottom: 0px;
		width: 100%;
	}
	.Overlay .NavBg .rot2,.Overlay .NavBgF .text,.Overlay .NavBgF .icons {
		display: none;
	}
	.Navigation {
		left: 40px;
		top: 50px;
	}
	.Burger {
		left: 20px;
		top: 10px;
	}
	.Header {
		display: none;
	}
	.Header700 {
		display: block;
		position: fixed;
		left: 0px;
		right: 0px;
		top: 0px;
		height: 50px;
		z-index: 40;
		background-color: #CF3339;
	}
	.Logo {
		top: 80px;
	}
	.PhotoDiv {
		height: 60%;
		bottom: inherit;
		top: 50px;
	}
	.Content {
		top: 60%;
		margin-top: 30px;
	}
	.MAbstand2 {
		height: 60px;
	}
	.MAbstand3 {
		height: 90px;
	}
	.MTP .MBS {
		display: flex;
		flex-wrap: wrap;
		flex-direction:column-reverse; 
	}
	.MTP .img {
		float: inherit;
		margin: 0px;
		margin-top: 30px;
		text-align: center;
		width: 100%;
	}
	.MTP .img img {
		display: inline-block;
		width: 100%;
		max-width: 250px;
	}
	.M2Bilder .grid {
		flex-wrap: wrap;
		flex-direction: column;
		align-items: center;
	}
	.M2Bilder .grid_6 {
		width: 100%;
		max-width: 400px;
	}
	.M2Bilder .grid_6:nth-child(1), .M2Bilder .grid_6:nth-child(2) {
		margin: 0px;
	}
	.MTeam .grid {
		flex-wrap: wrap;
	}
	.MTeam .grid_4 {
		width: 100%;
	}
	.MTeam .grid .grid_4:nth-child(1) {
		text-align: center;
	}
	.MPTT .grid {
		padding-top: 0px;
		padding-bottom: 20px;
		flex-wrap: wrap;
		background-image: none;
		background-color: #EFEFEF;
		max-width: 100%;
	}
	.MPTT .grid_6 {
		width: 100%;
	}
	.MPTT .grid_6:nth-child(1) {
		padding-right: 0px;
	}
	.MPTT .grid_6:nth-child(2) {
		padding-left: 20px;
		padding-right: 20px;
	}
	.MPTT .Button {
		margin: auto;
		display: table;
	}
	.MTP, .MT {
		margin-top: 30px;
	}
	.MTP p, .MT p {
		width: 100%;
	}
	.M2Bilder {
		padding-bottom: 60px;
	}
	.MTeam .grid .grid_4 {
		padding-left: 20px;
		padding-right: 20px;
		padding-bottom: 20px;
		padding-top: 20px;
	}
	.MTeam .grid .grid_4:nth-child(1) {
		padding-bottom: 0px;
	}
	.MTeam img {
		max-width: 150px;
	}
	.MTeam {
		margin-bottom: 40px;
	}
	.MStandort .grid {
		flex-wrap: wrap;
	}
	.MStandort .grid_6 {
		width: 100%;
	}
	.MStandort .grid_6:nth-child(1),.MStandort .grid_6:nth-child(2) {
		padding: 0px;
	}
	.MStandort .grid_6:nth-child(1) {
		padding-bottom: 30px;
	}
	.MStellenbewerbung .grid,.Jobs .MBXS .grid {
		flex-wrap: wrap;
	}
	.MStellenbewerbung .grid_6,.Jobs .MBXS .grid_3 {
		width: 100%;
	}
	.Jobs .MBXS .grid_3 {
		padding-bottom: 5px;
	}
	.MJobliste {
		flex-wrap: wrap;
	}
	.MJobliste .grid_3:nth-child(4n+1) {
		padding-left: 0px;
		padding-top: 10px;
	}
	.MJobliste .grid_3:nth-child(4n+4) {
		padding-right: 0px;
		text-align: right!important;
	}
	.MJobliste .grid_4 {
		padding-left: 0px!important;
		padding-right: 0px!important;
	}
	.MJobliste .grid_4:nth-child(3n+3) {
		margin-bottom: 20px;
		text-align: right!important;
	}
    .MMitarbeiter23 .grid_4:nth-child(3n+3) {
        text-align: left!important;
    }
	.MJobliste .grid_3, .MJobliste .grid_4 {
		width: 100%;
		text-align: left!important;
		padding: 0px;
		border: 0px;
	}
	.MJobliste .grid_3:first-child, .MJobliste .grid_4:first-child {
		padding-left: 0px;
	}
	.MJobliste .grid_3:last-child, .MJobliste .grid_4:last-child {
		padding-right: 0px;
		text-align: right!important;
		border-bottom: 1px solid #CCC;
		padding-bottom: 20px;
		margin-bottom: 20px;
	}
	.MDownloads .grid {
		flex-wrap: wrap;
		padding-left: 0px;
		padding-right: 0px;
	}
	.MDownloads .grid_8,.MDownloads .grid_4 {
		width: 100%;
		text-align: center!important;
	}
	.MDownloads .grid_4 {
		padding-top: 10px;
		text-align: right;
	}
	.MStellenbewerbung .grid_6:nth-child(2n+2) {
		padding-left: 0px;
	}
	.MStellenbewerbung .grid_6:nth-child(2n+1) {
		padding-right: 0px;
	}
	.LaenderGrid, .MJobDetail .grid {
		flex-wrap: wrap;
	}
	.LaenderGrid .grid_3 {
		width: 100%;
	}
	.MJobDetail .grid_3, .MJobDetail .grid_9 {
		width: 100%;
	}
	.MPresse .grid {
		flex-wrap: wrap;
		padding-left: 0px;
		padding-right: 0px;
	}
	.MPresse img {
		display: inline-block;
	}
	.MPresse .grid_x:nth-child(2) {
		padding-left: 0px;
	}
	.MPresse p {
		text-align: center;
	}
	.MPresse .grid_x {
		width: 100%;
		text-align: center;
	}
}