/* ######################################################################## */
/* #################### Diese CSS definiert Basics der Installation ############################## */
/* ######################################################################## */


::selection { background: #B3DFCF; }

html{font-size:15px;}
body {margin:0;}


/* #################### Cursor-Style  ############################## */

#cursor{
  width:0px;
  height:0px;
  border-radius: 50%;
  position:absolute;
  background-color: var(--mainColor);
  transform: translate(-70%, -70%);
  z-index:100000;
  pointer-events: none;
  /*background-blend-mode: multiply;
  mix-blend-mode: multiply;*/
  opacity: 0.8;
  transition: width 0.2s, height 0.2s;
  content: '';
}

#cursor.hoverLink,
#cursor.gliderText,
#cursor.nextText,
#cursor.prevText,
#cursor.moveText{
  transition: width 0.2s, height 0.2s;
  width:80px;
  height:80px;
  font-weight:bold;
  font-size:1rem;
  color:#fff;
  line-height: 80px;
  text-align:center;
  content:'Klick';
  display:block;
}

#cursor.hoverLink:before{
  content:'Klick';
}

#cursor.nextText:before{
  content:'Weiter';
}

#cursor.prevText:before{
  content:'Zurück';
}

#cursor.moveText:before{
  content:'Bewegen';
}


#cursor.gliderText:before{
  background-image: url("../img/swipe.svg");
  content: '';
  display:inline-block;
  width:100%;
  height:100%;
  background-size: 40% auto;
  background-repeat: no-repeat;
  background-position:center center;
}

@media (max-width: 767px) {

  #cursor{
    display:none !important;
    opacity: 0 !important;
  }

}

/* #################### Vertikale Ausrichtung  ############################## */

.verticalAligncenter {
  flex-wrap:wrap;
  display: flex;
  align-items: center;
  justify-content: center;
}

.verticalAligntop {
  flex-wrap:wrap;
  display: flex;
  align-items: top;
  justify-content: top;
}

.verticalAlignbottom {
  flex-wrap:wrap;
  display: flex;
  align-items: bottom;
  justify-content: bottom;
}

/* #################### Horizontale Ausrichtung  ############################## */
.pictext.picright .pictextFigure{
  order:2;
}

.pictext.picright .pictextText{
  order:1;
}

.pictext.picleft .pictextFigure{
  order:1;
}

.pictext.picleft .pictextText{
  order:2;
}


/* ################# Hintergrundbild-Modul #####################################*/

.picbgleft, .picbgright, .picbgcenter{
  background-position: center center;
  background-size: 100% auto;
}

.picbgleft .container, .picbgright .container, .picbgcenter .container{
  background-position: center center;
  background-size: 100% auto;
  padding-top: 90px;
  padding-bottom: 90px;
}

.picbgright .pictextText{
  text-align: right;
  float:right;
}

.picbgcenter .pictextText{
  text-align: center;
  margin:0 auto;
}

.backgroundImageSection{
  position:relative;
  min-height:500px;
  font-weight:normal;
}

.backgroundImageSection h2,
.backgroundImageSection h3,
.backgroundImageSection p{
  color:var(--textColor);
}

.backgroundImage08{
  position: absolute;
  height: 100%;
  width: 100%;
  z-index: -1;
  background-size: cover;
  background-position: center;
  top: 0px;
  left: 0px;
  color: #fff;
  opacity: 0.6;
}

/* #################### Mobile-Header  ############################## */
/*---------------- Mobile Navigation -----------------------------*/


/* Toucheevent detect*/
#thePage{
position:absolute;
left:0px;
top:0px;
width:100%;
height:auto;
overflow:hidden;
}


.no-touchevents #mobileNavBg{
display:none;
}

#mobileHeader{
height:66px;
width:100%;
position:fixed;
z-index: 650;
top:0px;
left:0px;
overflow:hidden;
background-color:var(--backgroundColor);
border-bottom:4px solid #edeaed;
}


/* MobileLogo */
#mobileLogoArea img{
    height:46px;
    width:auto;
    margin:10px 0px;
}

#mobileLogo svg, #mobileIcon svg, #mobileCart svg{
    width:100%;
    height:100%;
    position:absolute
}

#mobileIcon svg{
    height: 48px;
    margin-top: 5px;
    margin-left: 15px;
}

#mobileIcon{display:none;}
#mobileLogo{display:block;}

.smallHeader #mobileIcon{display:block;}
.smallHeader #mobileLogo{display:none;}




#mobileHeader #toggleMenu{
height:19px;
width:55px;
margin-top: 22px;
}

#mobileHeader #mobileCart{
position:absolute;
height:30px;
width:40px;
right:10px;
bottom:15px;
}

#mobileHeader #mobileCart svg{
    fill:#fff;
}



/* Animierter Toggle-Menu-Buton */

#mobileHeader #toggleMenu #showMenu{
    position:absolute;
    width:100%;
    height:100%;
    z-index:10;
    opacity:0;
}

#mobileHeader #toggleMenu .theToggleMenu{
width: 25px;
height: 100%;
position: relative;
-webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-o-transform: rotate(0deg);
transform: rotate(0deg);
-webkit-transition: .5s ease-in-out;
-moz-transition: .5s ease-in-out;
-o-transition: .5s ease-in-out;
transition: .5s ease-in-out;
cursor: pointer;
}

#mobileHeader #toggleMenu .theToggleMenu span{
display: block;
position: absolute;
height: 2px;
width: 100%;
background: var(--mainColor);
border-radius: 3px;
opacity: 1;
left: 0;
-webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-o-transform: rotate(0deg);
transform: rotate(0deg);
-webkit-transition: .25s ease-in-out;
-moz-transition: .25s ease-in-out;
-o-transition: .25s ease-in-out;
transition: .25s ease-in-out;
}

#mobileHeader #toggleMenu .theToggleMenu span:nth-child(1){top: 0px;}
#mobileHeader #toggleMenu .theToggleMenu  span:nth-child(2),#mobileHeader #toggleMenu .theToggleMenu  span:nth-child(3){top: 8px;}
#mobileHeader #toggleMenu .theToggleMenu  span:nth-child(4){top: 16px;}

#mobileHeader #toggleMenu .theToggleMenu.open span:nth-child(1) {top: 8px; width: 0%; left: 50%;}

#mobileHeader #toggleMenu .theToggleMenu.open span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}

#mobileHeader #toggleMenu .theToggleMenu.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

#mobileHeader #toggleMenu .theToggleMenu.open span:nth-child(4) {
  top: 8px;
  width: 0%;
  left: 50%;
}

/* Ende animate Icon*/


/* Animiertes Toggle-Menu */
#mobileNavBg{
position:fixed;
display:block;
z-index:500;
top:0px;
left:-350px;
width:80%;
max-width:350px;
height:100vh;
transition: all 0.5s;
}

.darker03{
width:100%;
height:100%;
background-color:rgba(0,0,0,0.3);
position:absolute;
}

#mobileNavBg.opened{
left:0px;
transition: all 0.5s;
background-color: var(--backgroundColor60);
}


#mobileMainArea{
    position:absolute;
    top:0px;
    left:0px;
    width:100%;
    height:100%;
    transition: all 0.5s;
}

.open #mobileMainArea{
    left:250px;
    transition: all 0.5s;
}

/* Mobile Navigation */

#mobileNav{
margin-top:60px;
}

#mobileNav ul{
padding:0px;
}

#mobileNav li{
padding: 16px;
padding-bottom:0px;
padding-left: 30px;
color: #2d2d2e;
list-style:none;
position:relative;
}

#mobileNav li a{
color: var(--textColor) !important;
display:block;
width:calc( 100% - 50px );
height:40px;
line-height:50px;
}

#mobileNav li ul li{
  padding-left:0px;
}

#mobileNav li ul li a{
width:100% !important;
}

#mobileNav #flags li a{
  margin-top:0px;
}

#mobileNav li ul li > a:before {
content: '⤷';
float: left;
pointer-events: none;
font-style:normal;
width:30px;
display: block;
}


#mobileNav .menu-item-has-children{
padding-bottom: 0px !important;
}

#mobileNav #menu-header-menu{
    height: calc( 100vh - 50px );
    overflow-y: scroll;
}

.opened  #mobileNav .sub-menu.openSubMenu{
height:auto;
background-color: var(--backgroundColor40);
transition: all 0.5s;
}


.opened  #mobileNav .sub-menu.openSubMenu ul{
background-color: rgba(0,0,0,0.075);
}

#mobileNav .sub-menu  li > a:after {
  content:"";
}

/* Animation Navigationspunkte*/

#mobileNav li a{
    margin-left: -250px;
    opacity: 0;
    transition: all 0.5s;
    color:var(--textColor);
}

.opened #mobileNav li a{
    margin-left:0px;
    opacity: 1;
}

.opened #mobileNav li:nth-of-type(1) a{transition: all 0.5s 0.1s ease;}
.opened #mobileNav li:nth-of-type(2) a{transition: all 0.5s 0.2s ease;}
.opened #mobileNav li:nth-of-type(3) a{transition: all 0.5s 0.3s ease;}
.opened #mobileNav li:nth-of-type(4) a{transition: all 0.5s 0.4s ease;}
.opened #mobileNav li:nth-of-type(5) a{transition: all 0.5s 0.5s ease;}
.opened #mobileNav li:nth-of-type(6) a{transition: all 0.5s 0.6s ease;}
.opened #mobileNav li:nth-of-type(7) a{transition: all 0.5s 0.7s ease;}
.opened #mobileNav li:nth-of-type(8) a{transition: all 0.5s 0.8s ease;}


#mobileNavBg #socialNav{
    position: absolute;
    bottom: 0px;
    height: 60px;
}

#mobileNavBg #socialNav ul{
list-style: none;
margin: 0 auto;
width: 180px;
height: 40px;
}

#mobileNavBg #socialNav ul li{
    padding:5px;
}

#mobileNavBg #socialNav ul li object{
    width:35px;
    height:35px;
}


/* #################### Header Navigation  ############################## */

.nav ul{
list-style: none;
display: inline-block;
}

.nav ul li {
display: inline-block;
list-style: none;
float: left;
width: auto;
position: relative;
}

.nav ul li a {
width: 100%;
display: block;
padding: 0 15px;
letter-spacing: -.02rem;
position: relative;
z-index: 10;
color:var(--textColor);
}

.nav li.active{
  border-bottom: 5px solid var(--mainColor);
}

.nav ul li ul {
height: 0;
overflow: hidden;
width: 200px;
position: absolute;
margin: 0;
padding: 0;
left: 0;
margin-top: -1px;
-moz-transition: all 0.3s;
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
opacity: 0;
top: 120px;
z-index:1000;
background-color:var(--backgroundColor60);
}

.nav ul li ul li{
  padding-top:15px;
  width: 100%;
  text-align: left;
  background-color:rgba(0,0,0,0);
}

.nav ul li ul li:hover{
background-color:rgba(0,0,0,0.05);
}

.nav ul li ul li a{
  font-size:1rem;
}

.nav ul li:hover ul{
height: auto;
opacity:1;
top:100%;
-moz-transition: all 0.3s;
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
overflow: visible;
}


.nav ul li ul li ul{
display: none;
position: absolute;
left: 248px;
border-radius: 0px;
top: 0px!important;
}

.nav ul li ul li:hover ul{
display:block;
}

/* ################# Text-Schriftauszeichnung ###########################################*/

.uppercase{
	text-transform: uppercase;
	line-height:100%;
}

.centerHeadline{
	text-align:center;
}

.whitetext, .whitetext h2, .whitetext h3, .whitetext p, .whitetext b, .whitetext i, .whitetext .btn, .whitetext .btnBig {
  color:#fff !important;
}


/* Farbeffekte Bilder */

.multiplyPic img{
mix-blend-mode: multiply;
}


/* Hintergrundfarbe- Boxen */
.lighterBG{
  background-color: var(--backgroundColor60);
}



/* ------------- Startseite Vorher-Nachher  -------------------------*/


.beforeafterSlider{
  height:auto;
  position:relative;
  -webkit-user-select: none;  /* Chrome all / Safari all */
-moz-user-select: none;     /* Firefox all */
-ms-user-select: none;      /* IE 10+ */
user-select: none;          /* Likely future */
}

#article .beforeafterSlider{
position:relative;
}

.frame169{
  position: relative;
  padding-bottom: 72%;
  width: 100%;
  height: 0px;
  overflow: hidden;
}

.beforeafterSlider .before,
.beforeafterSlider .after{
  position:absolute;
  width:100%;
  height:100%;
  overflow:hidden;
  top:0px;
  left:0px;
}

.beforeafterSlider .before{
  z-index:1;
  width:50%;
  border-right:10px solid #fff;
}

.beforeAfterHandler{
  width:60px;
  height:60px;
  border-radius: 50%;
  background-color:var(--mainColor);
  background-image:url("../img/swipe-left.png");
  background-repeat: no-repeat;
  background-position: center center;
  top:50%;
  left:50%;
  margin-top:-30px;
  position:absolute;
  margin-left:-35px;
  z-index:10;
  cursor:move;
}

.beforeAfterSlider picture{
  width: 100%;
  height: 100%;
  display: block;
}

.beforeafterSlider img{
  height:100%;
  -webkit-user-select: none;  /* Chrome all / Safari all */
-moz-user-select: none;     /* Firefox all */
-ms-user-select: none;      /* IE 10+ */
user-select: none;          /* Likely future */
}


/* Startseite Adresse */

.adresse{
  font-size: 16px;
  line-height: 120%;
  font-weight: normal;
  font-style: normal;
  padding: 10px 0px 5px 0px;
}

.openingtable, .openingtable tr:nth-of-type(odd){
  background-color:rgba(0,0,0,0);
}

.openingtable td{
  padding:0px;
  line-height:120%
}

/* Startseite Map*/

#map{
  height:200px;
  overflow:hidden;
}

#map img{
  width:100%;
}

/* Startseite Kontaktbutton */

.btnRelativeBlock{
margin-top: 15px;
margin-bottom: -50px;
position: relative;
display: block !important;
width: 80%;
margin-left: 10%;
}


/* Startseite Icons */
.iconsection p{
  line-height:120%;
}

/* ------------- ARTICLE-List-Horizontal Glider -------------------------*/

.ms-glider-cutter{
	width:100%;
  height: 450px;
	overflow:hidden;
	position:relative;
}

.ms-glider{
	position: relative;
	width: 100%;
	overflow: hidden;
	overflow-x:scroll;
	cursor: -webkit-grab;
	cursor: -moz-grab;
	z-index:20;
  height: calc( 100% + 30px );
	margin-top:0px;
}


.header-glider{
width: 400px;
text-align:center;
min-width:350px!important;
}

.ms-gliderBody{
	position: absolute;
	height: 100%;
	margin-left:50%;
	top: 0px;
	left: -600px;
	-ms-box-orient: horizontal;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
  transition: all 0.7s;
}


.activeGlider .ms-gliderBody{
  cursor: grabbing;
  cursor: -moz-grabbing;
  cursor: -webkit-grabbing;
  transform: scale(1.05);
  transition: all 0.2s;
}

.container .ms-gliderBody{
  margin-left:0px;
	left: 0px;
}

.ie .ms-gliderBody{
min-width:2400px;
}

.ms-gliderBody .teaserarticle{
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
	transform:scale(1);
	user-select: none;
	-moz-user-select: none;
	-webkit-user-drag: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	position:relative;
}

.ms-gliderBody .teaserarticle{
  width:100%;
  min-width:270px!Important;
  max-width: 270px;
  height:340px;
  margin: 10px 15px;
  padding:0px 30px 30px 30px;
}

.teaserarticle.liftedFigure{
  margin-top:30px;
}

.ms-gliderBody .teaserarticle picture{
  width:100%;
  height: 160px;
  display:block;
}

.ms-gliderBody .liftedFigure picture{
  margin-top:-20px;
}

.ms-gliderBody .fullPicWidth picture{
    margin-left:-30px;
    margin-right:-30px;
    width:calc( 100% + 60px );
    overflow:hidden;
}


.ms-gliderBody .teaserarticle picture img{
  max-width:  100%;
  max-height: 100%;
}

.ms-gliderBody .fullPicWidth picture img{
  max-width:  none;
  max-height: none;
  width:100%;
  height:auto;
}

/* ############################################################### */
/* #################  Reparaturformular  ######################### */
/* ############################################################### */

.squareGlider.ms-glider-cutter{
    height: 260px;
}

.squareGlider .ms-gliderBody{
  border:0px;
}

.squareGlider .ms-gliderBody .gliderelement{
  width: 200px;
  height: 200px;
  border-radius: 15px;
  border: 3px solid var(--backgroundColor60);
  text-align: center;
  margin: 0px 15px;
  position:relative;
}

.squareGlider .ms-gliderBody .gliderelement span{
  position:absolute;
  width:100%;
  bottom:10px;
  display:inline-block;
  left:0px;
}

.squareGlider .ms-gliderBody .gliderelement img{
  max-height:170px;
  max-width:90%;
}


.squareGlider .ms-gliderBody input[type="radio"]{
opacity:0;
width:0px;
height:0px;
}

.squareGlider .ms-gliderBody input[type="radio"]:checked+label{
border: 3px solid var(--color1);
}



.uploadBtnWrapper{
  position: relative;
  overflow: hidden;
  display: inline-block;
  width:100%;
  max-width:300px;
  cursor:pointer;
}

.uploadBtn {
  color: var(--textColor);
  background-color: var(--backgroundColor60);
  padding: 8px 20px;
  font-weight: bold;
  border:0px;
  width:100%;
  background-image: url(http://alr.lr-digital.de/assets/upload_white.svg);
  background-position: 10px;
  background-size:30px;
  background-repeat: no-repeat;
  cursor:pointer;
}

.uploadBtnWrapper input[type=file] {
  font-size: 100px;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  cursor:pointer;
}

.fullwidthInput{
width: 100%;
margin-top: 5px;
border: 0px;
border-radius: 3px;
height:38px;
line-height:38px;
padding-left:10px;
color:#000;
}

.formTextarea{
  height:200px;
  line-height:120%;
  padding:10px;
}


.sendform{
width: 100%;
height: 38px;
line-height: 38px;
background-color: var(--color1);
border: 0px;
border-radius: 5px;
}

.prename{
  opacity:0;
  height:0px;
  width:0px;
}

.formsuccess{
width: 100%;
padding: 10px;
border-radius: 5px;
background-color: var(--color1);
}

.formerror{
width: 100%;
padding: 10px;
border-radius: 5px;
background-color: #ff5757;
margin:5px 0px;
}
/* Ende Formular */


.liftedTitle h3{
  margin-top:-27px;
  position:relative;
  z-index:50;
}


.verticalArticle{
margin-top: 30px;
}


/* square-Article*/

.square img{
  width:100%;
  height: auto;
}

.square .liftedTitle h3{
  padding:5px 0px 10px 0px;
}

/* ------------- Bilder -------------------------*/

figure img{
  width:100%;
  height:auto;
}

/* ------------- Galerie -------------------------*/
.gallery-responsive{
position: relative;
padding-bottom: 66%;
padding-top: 30px;
height: 0;
overflow: hidden;
}

.gallery-responsive .carousel-container{
position: absolute;
top: 0;
left: 0;
width: 100% !Important;
height: 100% !Important;
background-color: rgba(0,0,0,0.15);
}


.gallery .figcaption{
  margin-top:0px;
}


/*.carousel-container{
overflow:hidden;
position: relative;
}*/

.carousel-slide{
  display:flex;
  width:100%;
  height:100%;
}

.carousel-container .nextBtn,
.carousel-container .prevBtn{
width:60px;
height:60px;
background-color:#fff;
color:var(--black);
border-radius:50%;
position:absolute;
top:50%;
margin-top:-20px;
left:10px;
border:0px;
line-height:60px;
text-align:center;
cursor: pointer;
}

.carousel-container .nextBtn:active,
.carousel-container .prevBtn:active,
.carousel-container .nextBtn:focus,
.carousel-container .prevBtn:focus,
.carousel-container .nextBtn:hover,
.carousel-container .prevBtn:hover{
  border:0px;
  outline: none;
}

.carousel-container .nextBtn{
left:auto;
right:10px;
}

.carousel-container .sliderIMG{
width:100%;
height: 100%;
min-height: 100%;
margin: 0px;
border: 0px;

}

.carousel-container .sliderIMG picture{
width:100%;
height:100%;

-webkit-flex-wrap: nowrap;
flex-wrap: nowrap;
text-align:center;
display: flex;
align-items: center;
justify-content: center;
}


.carousel-container .sliderIMG img{
width:auto;
height:auto;
max-width: calc( 100% - 30px );
max-height: calc( 100% - 30px );
margin-top:15px;
}

.coverGallery .carousel-container  .sliderIMG img{
  object-fit: cover;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  margin-top:0px;
}

/* ------------- Button Ausrichtung -------------------------*/


.btncenter{
  display: flex;
  align-items: center;
  justify-content: center;
}

.btnright{
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}

/* #################### Farben ############################## */

.lightGreyBG{
  background-color: rgba(0,0,0,0.15);
}

/* #################### Formular  ############################## */

form{
  width:100%;
}


.formRow{
  padding-top:15px;
  padding-bottom:15px;
  border-bottom: 3px solid #fff;
  width:100%;
  max-width:500px;
  margin:0px auto;
}

.formRow:last-of-type{
  border-bottom: 0px solid #fff;
}

.formRow label{
  font-size:1rem;
  padding-bottom:10px;
}

.formRow input{
  padding-left: 15px;
  padding-right: 15px;
  height: 2rem;
  border-radius: 5px;
  border: 1px solid var(--black40);
}

.formRow textarea{
  height: 120px;
  border-radius: 5px;
  border: 1px solid var(--black40);
}

/*form button[type="submit"]{
  width: 100%;
  border: 0px;
  background-color: var(--mainColor);
  color: #fff;
  font-weight: bold;
  height: 32px;
  max-width: 250px;
  border-radius: 5px;
  cursor:pointer;
}*/

/* #################### Artikel-Ansicht  ############################## */

/* Table-Styles */

table{
width:100%;
background-color: rgba(0,0,0,0.15);
}

table td{
padding:7px;
}

table tr:nth-of-type(odd){
background-color: rgba(0,0,0,0.25);
}


/* Teaser Pic */

.teaserPicdefault{
  margin-top:30px;
  margin-bottom:30px;
}

.articleImageleft,
.articleImageright{
  width: 100%;
  max-width: 350px;
  float: left;
  margin: 15px 15px 15px -16%;
}

.articleImageright{
  float: right;
  margin: 15px -16% 15px 15px;
}

.articleImagenormal{
  margin-top:30px;
  margin-bottom:30px;
}

.figcaption{
padding: 15px 30px;
margin-top: -10px;
background-color: rgba(0,0,0,0.15);;
font-size: 1rem;
line-height: 120%;
}

.fotoCcolor3it,
.fotoCcolor3it a{
font-size: 0.6rem;
text-transform: uppercase;
}

#article p{
font-size: 1.25rem;
line-height: 140%;
font-weight:200;
}

#article p{
  margin-top:15px;
  margin-bottom:20px;
}

#article a{
  font-weight: 400;
}

#article ol,
#article ul{
margin:20px 0px 20px 40px;
}

#article li p{
  margin-top:10px;
  margin-bottom:5px;
}

.mainHeadline{
  color:#fff;
}

#article h2{
  font-size:2rem;
}

#article h3{
  font-size:1.5rem;
}

#article h2, #article h3{
  padding:0px;
  padding-top:30px;
}




/* TestimonialPic */
.testimonial{
  margin-top: 30px;
  margin-bottom: 30px;
  padding: 30px;
background-color: rgba(0,0,0,0.15);
}

.testimonialPic{
width: 100px;
height: 100px;
overflow: hidden;
border-radius: 50%;
}

.testimonialText{
text-align: center;
font-size: 1.25rem;
font-style: italic;
width: calc( 100% - 160px );
margin-left: 15px;
}



.media-container{
position: relative;
padding-bottom: 52.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}

.media-container iframe,
.media-container video{
position: absolute;
top: 0;
left: 0;
width: 100% !Important;
height: 100% !Important;
border:0px;
}


/* ######################################################################## */
/* #################### Standarts definieren ############################## */
/* ######################################################################## */

.clear{
position:relative;
clear:both;
width:100%;
}

.fright{
float:right !important;
}

.fleft{
  float:left;
}

.prelative{
  position:relative;
}


.inlineElement{
display:inline-block;
}

.noSelect {
user-drag: none;
user-select: none;
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
}

.blockLink{
	display:block;
}

.centerText{
  text-align:center;
}

img{
user-drag: none;
-webkit-user-drag: none;
}

/* Positionierung */

.horizontalCenter{
margin: 0px;
position: relative;
left: 50%;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
}

.horizontalCenterAbsolute{
position: absolute;
left: -9999px;
right: -9999px;
margin: 0px auto;
height: 100%;
width: auto;
}

.verticalCenter {
margin: 0px;
position: relative;
top: 50%;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
}

.verticalCenterAbsolute {
margin: 0px;
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
}

.verticalFlexCenter{
	align-items: center;
	display:flex;
}

.verticalFlexBottom{
	align-items: flex-end;
	display:flex;
}

.horizontalFlexCenter{
justify-content: center;
display:flex;
}

.horizontalFlexRight{
justify-content: flex-end;
display:flex;
}


.vw100{
width:100%;
width:100vw;
}

.fullWidth,
.w100{
width:100%;
}

.fullHeight{
height:100%;
}

.fullWidth:after,
.fullWidth:before{
content: " ";
display: table;
}

.maxContainer{
width:100%;
max-width:1300px;
margin:0 auto;
}

/* Schrift-Zeug */
.tright{text-align:right;}
.tleft{text-align:left;}
.tcenter{text-align:center;}

h1, h2, h3{
padding:10px 0px 15px 0px;
}

h1, .likeH1{
font-size: 2rem;
line-height: 120%;
font-weight: bold;
}

h3, .likeH3{
  font-size:1.25rem;
  line-height:120%;
  font-weight:bold;
  color: var(--mainColor);
}

.smallText{
font-family: var(--font-body);
font-size: 0.8rem;
font-weight: 400;
color: var(--black);
display: inline-block;
}


.backgroundBox{
  display: inline-block;
  background-color: var(--backgroundColor60);
  color:var(--text);
  line-height: 100%;
  padding: 7px 10px 13px 10px;
  font-size: 1.25rem;
  position: relative;
}

.lighterBG .backgroundBox{
  background-color: var(--backgroundColor);
}

.backgroundBox:after{
  content: "";
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 36%;
  height: 5px;
  background-color: var(--mainColor);
}


/* Link */
a{
text-decoration:none;
color: var(--color1);
}

.whiteLink{
color:#fff;

}

/* Flex-Box-Elemente */

.displayFlex{
display: flex;
display: -webkit-flex;
display: -ms-flexbox;
flex-wrap: wrap;
}

.flexCenter{
justify-content: center;
-ms-flex-pack: center;
}

.flexWrapReverse{
-webkit-flex-wrap: wrap-reverse;
-ms-flex-wrap: wrap-reverse;
flex-wrap: wrap-reverse;
}

.flexNoWrap{
-webkit-flex-wrap:nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
}

/* Spezial Boxen*/

.makeItSquare{
  width:100%;
  position:relative;
  padding-bottom:100%;
  height:0px;
}

/* Buttons */




.btnBig, .btn{
	font-size:1.5rem;
	font-weight: bold;
  background-color: var(--color1);
  border: 0px;
  text-align: center;
  color: var(--textColor);
  border-radius: 20px;
  height: 40px;
  line-height: 40px;
  display:inline-block;
  padding-left:15px;
  padding-right:15px;
}

.btn{
	font-size:1rem;
}

.bgColorActive .btn{
  background-color: var(--backgroundColor);
}

.bottomBtn{
  position:absolute;
  bottom:15px;
}

.bottomline{
  border-bottom:3px solid var(--backgroundColor60);
}




/* #################### Footer  ############################## */

#footer{
background-image: url("../img/wave.png");
background-size: 100% auto;
background-repeat: no-repeat;
background-position: top;
background-color: #402576;
padding-top:150px;
}


#footer a{
  color:var(--textColor);
}

/* #################### Margins  ############################## */
.m0{margin:0px;}
.m0auto{margin: 0 auto;}
.m15{margin:15px;}
.ml15{margin-left:15px;}
.mr15{margin-right:15px;}
.mb15{margin-bottom:15px;}
.mt10{margin-top:10px;}
.mt15{margin-top:15px;}
.mtb15{margin-top:15px;margin-bottom:15px;}
.mlr15{margin-left:15px;margin-right:15px;}
.mlr0{margin-left:0px; margin-right:0px;}
.ml0{margin-left:0px;}
.ml15{margin-left:15px;}
.ml30{margin-left:30px;}

.mtb0{margin-top:0px !important; margin-bottom:0px !important;}
.mtb60{margin-top:60px;margin-bottom:60px;}
.mtb90{margin-top:90px;margin-bottom:90px;}

.mt0{margin-top:0px;}
.mt15{margin-top:15px;}
.mt30{margin-top:30px;}
.mt60{margin-top:60px;}
.mt90{margin-top:60px;}
.mt120{margin-top:120px;}
.mt180{margin-top:180px;}
.mt400{margin-top:400px;}
.mt-10{margin-top:-10px;}
.mt-20{margin-top:-20px;}
.mt-30{margin-top:-30px;}
.mt-40{margin-top:-40px;}
.mt-50{margin-top:-50px;}
.mt-60{margin-top:-60px;}
.mt-70{margin-top:-70px;}
.mt-80{margin-top:-80px;}
.mt-150{margin-top:-150px;}
.mt-200{margin-top:-200px;}
.mt-400{margin-top:-400px;}
.mt-500{margin-top:-500px;}

.mb15{margin-bottom:15px;}
.mb30{margin-bottom:30px;}
.mb60{margin-bottom:60px;}
.mb90{margin-bottom:90px;}
.mb120{margin-bottom:120px;}
.mb150{margin-bottom:150px;}

.p0{padding:0px;}
.p30{padding:30px;}
.noColPadding{padding-left:0px!important; padding-right:0px!important;}
.pt15{padding-top:15px;}
.pt30{padding-top:30px;}
.pt60{padding-top:60px;}
.pt90{padding-top:90px;}
.pt120{padding-top:120px;}
.pt400{padding-top:400px;}
.pt-10{padding-top:-10px;}
.pt-20{padding-top:-20px;}
.pt-30{padding-top:-30px;}
.pt-40{padding-top:-40px;}
.pt-50{padding-top:-50px;}
.pt-60{padding-top:-60px;}
.pt-70{padding-top:-70px;}
.pt-80{padding-top:-80px;}
.pt-150{padding-top:-150px;}


.pb15{padding-bottom:15px;}
.pb30{padding-bottom:30px;}
.pb60{padding-bottom:60px;}
.pb90{padding-bottom:90px;}
.pb120{padding-bottom:120px;}
.pb150{padding-bottom:150px;}

.pl40{padding-left:40px;}
.plr30{padding-left:30px; padding-right:30px;}
