/*****************************
Stylesheet fuer fliesen-loenhardt.de
Autor: Chr. Kasselmann - DownTown-Art's
*****************************/

/**************************************
Allgemein
*************************************/
/**** Base Colors ****/
/*.green{color:#0a9873;09868c; rgb(9,134,140)}
.blue{color:#23368c;}*/
html,body{
	height:auto;
	min-height:100%;
}
body{
	font-family:'Roboto';
	color:#454545;
	-webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;
	position:relative;
	font-size: 1.1rem !important;
	font-weight: lighter;
}
h1,h2,h3,h4,h5{
	color:#23368c;
}
body > section{
	position:relative;
	width:100%;
	height:100%;
	padding:120px 0;
}
.sectionheader{
	font-family: 'economica';
	font-size:40px;
	text-transform:uppercase;
	color:#3c3c3c;
}
:focus {
    outline: none;
}
.abs{

}
/* img class for centering */
.centerimg {
    height: inherit;
    width: 100%;
    object-fit: cover;
    object-position: center center;
}
.coverbackground{
	position: relative !important;
	background-size: cover !important;
	overflow: hidden !important;
	background-position: center;
	background-repeat: no-repeat !important;
	min-height:550px !important;
}
/* buttons */
button:focus {
    outline: none;
}
/* form input */
/*** onyl border-bottom ***/
.form-control {
    border-radius: 0;
    border-top: none;
    border-right: none;
    border-left: none;
}
/*** no focus shadow ***/
.form-control:focus,
.btn-outline-primary.focus, 
.btn-outline-primary:focus,
.custom-select.is-invalid:focus, 
.form-control.is-invalid:focus, 
.was-validated .custom-select:invalid:focus, 
.was-validated .form-control:invalid:focus,
.custom-select.is-valid:focus, .form-control.is-valid:focus, .was-validated .custom-select:valid:focus, .was-validated .form-control:valid:focus {
    box-shadow: none;
}
textarea{
	resize:none;
}
/* stautsmeldungen */
.statushelperblock{	
	display:none;
}
.statushelperblock i{
	font-size:45px;
	display: inline-block;
    border: 3px solid #59c359;
    border-radius: 50%;
    padding: 2%;
	color:#59c359;
	margin:30px 0;
}
.statushelperblock .error i{
	color:rgb(255, 111, 111);
	border-color:rgb(255, 111, 111);
	
}
/* loading spinner */
.spinner {
  width: 40px;
  height: 40px;

  position: relative;
  margin: 100px auto;
}

.double-bounce1, .double-bounce2 {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #333;
  opacity: 0.6;
  position: absolute;
  top: 0;
  left: 0;
  
  -webkit-animation: sk-bounce 2.0s infinite ease-in-out;
  animation: sk-bounce 2.0s infinite ease-in-out;
}

.double-bounce2 {
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s;
}

@-webkit-keyframes sk-bounce {
  0%, 100% { -webkit-transform: scale(0.0) }
  50% { -webkit-transform: scale(1.0) }
}

@keyframes sk-bounce {
  0%, 100% { 
    transform: scale(0.0);
    -webkit-transform: scale(0.0);
  } 50% { 
    transform: scale(1.0);
    -webkit-transform: scale(1.0);
  }
}
/*************************************************
spinner kube
************************************************/
.sk-folding-cube {
  margin: 40px auto;
  width: 50px;
  height: 50px;
  position: relative;
  -webkit-transform: rotateZ(45deg);
          transform: rotateZ(45deg);
}

.sk-folding-cube .sk-cube {
  float: left;
  width: 50%;
  height: 50%;
  position: relative;
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1); 
}
.sk-folding-cube .sk-cube:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #0a9873;
  -webkit-animation: sk-foldCubeAngle 2.4s infinite linear both;
          animation: sk-foldCubeAngle 2.4s infinite linear both;
  -webkit-transform-origin: 100% 100%;
      -ms-transform-origin: 100% 100%;
          transform-origin: 100% 100%;
}
.sk-folding-cube .sk-cube2 {
  -webkit-transform: scale(1.1) rotateZ(90deg);
          transform: scale(1.1) rotateZ(90deg);
}
.sk-folding-cube .sk-cube3 {
  -webkit-transform: scale(1.1) rotateZ(180deg);
          transform: scale(1.1) rotateZ(180deg);
}
.sk-folding-cube .sk-cube4 {
  -webkit-transform: scale(1.1) rotateZ(270deg);
          transform: scale(1.1) rotateZ(270deg);
}
.sk-folding-cube .sk-cube2:before {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}
.sk-folding-cube .sk-cube3:before {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s; 
}
.sk-folding-cube .sk-cube4:before {
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
}
@-webkit-keyframes sk-foldCubeAngle {
  0%, 10% {
    -webkit-transform: perspective(140px) rotateX(-180deg);
            transform: perspective(140px) rotateX(-180deg);
    opacity: 0; 
  } 25%, 75% {
    -webkit-transform: perspective(140px) rotateX(0deg);
            transform: perspective(140px) rotateX(0deg);
    opacity: 1; 
  } 90%, 100% {
    -webkit-transform: perspective(140px) rotateY(180deg);
            transform: perspective(140px) rotateY(180deg);
    opacity: 0; 
  } 
}

@keyframes sk-foldCubeAngle {
  0%, 10% {
    -webkit-transform: perspective(140px) rotateX(-180deg);
            transform: perspective(140px) rotateX(-180deg);
    opacity: 0; 
  } 25%, 75% {
    -webkit-transform: perspective(140px) rotateX(0deg);
            transform: perspective(140px) rotateX(0deg);
    opacity: 1; 
  } 90%, 100% {
    -webkit-transform: perspective(140px) rotateY(180deg);
            transform: perspective(140px) rotateY(180deg);
    opacity: 0; 
  }
}
.lightdark{
	background-color:#3a4147 !important;
}
h1,h2,h3,h4,h5,h6{font-family:'economica'; color:#2d2525;}
/* shadows */
.box-shadow-light {
    box-shadow: 0 0 3px rgba(0,0,0,.1);
}
#scrollToTop {
    position: fixed;
    bottom: 4%;
    right: 2.5%;
    width: 45px;
    height: 45px;
    /*background: rgba(0,0,0,0.5);*/
    color: #fff;
}
#scrollToTop .btnscroll a span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 35px;
    margin: 0 auto !important;
    border: 2px solid rgba(9,152,115,1.0);
    border-radius: 50px;
    box-sizing: border-box;
    z-index: 4;
	transform:translate(-50%,-50%)
}
#scrollToTop .btnscroll a span::before {
  position: absolute;
  top: 2px;
  left: 50%;
  content: '';
  width: 6px;
  height: 6px;
  margin-left: -3px;
  background-color: rgba(9,152,115,1.0);
  border-radius: 100%;
  -webkit-animation: sdb10up 2s infinite;
  animation: sdb10up 4s infinite;
  box-sizing: border-box;
}
/**************************************
Navigation
*************************************/
.navbar{
	padding:.5rem 0rem;
}
.navbar-dark .navbar-nav .nav-link,
#footer #copyright a{
	color:#15d6a4;
}
.navbar-dark .navbar-nav .nav-link:hover,
#footer #copyright a:hover{
	color:#fff;
}
.navbar-dark .navbar-brand,
.navbar-toggler {
    padding: .5rem 1rem;
}
nav.navbar{
	box-shadow: 0px 1px 13px 4px rgba(0,0,0,0.4);
}
.navbar li.nav-item{
	border-bottom:1px solid rgba(93, 93, 93, .2);
	padding: 0 20px;
}
.navbar .ml-auto li.nav-item:last-child{
	border-bottom:0
}
nav.navbar a{
	/* Animation */
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
	/*padding: 20px 0px;*/
}
.navbar-toggler{
	border:none;
}
.navbar-brand img{
	max-width:40px;
	max-height:40px;
}
.navbar-toggler i{
	color:#fff;
	font-size:35px;
	cursor:pointer;
}
.navbar-nav { font-size:0.9rem;}
/**************************************
Carousel
*************************************/
.carousel-control-next, .carousel-control-prev{z-index:2;}
.carousel-indicators li{cursor:pointer;}
section#carousel{
	padding-top:0;
	position:relative;
}
.carousel-item{
	height: 60vH;
}	
section#carousel #carouselExampleIndicators:before{
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.5);
	z-index:1;
}
section#carousel .welcome_text{
	position:absolute; 
	top:40%; 
	left:50%;
	transform:translate(-50%,-50%);
	color:#fff;
	z-index:2;
}
section#carousel .welcome_text h1,
section#carousel .welcome_text h3{
	color:#fff;
}
section#carousel .welcome_text h1{font-size:1.8rem;}
section#carousel .welcome_text h3{font-size:1.4rem;}
.btnscroll a {
  padding-top: 60px;
}
.btnscroll a span {
  position: absolute;
  bottom: 165px;
  left: 50%;
  width: 30px;
  height: 50px;
  margin-left: -15px;
  border: 2px solid #fff;
  border-radius: 50px;
  box-sizing: border-box;
  z-index:4;
}
.btnscroll a span::before {
  position: absolute;
  top: 10px;
  left: 50%;
  content: '';
  width: 6px;
  height: 6px;
  margin-left: -3px;
  background-color: #fff;
  border-radius: 100%;
  -webkit-animation: sdb10 2s infinite;
  animation: sdb10 2s infinite;
  box-sizing: border-box;
}
@-webkit-keyframes sdb10 {
  0% {
    -webkit-transform: translate(0, 0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    -webkit-transform: translate(0, 20px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes sdb10 {
  0% {
    transform: translate(0, 0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    transform: translate(0, 20px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes sdb10up {
  0% {
    
    opacity: 0;
  }
  40% {
    -webkit-transform: translate(0, 20px);
	opacity: 0;
  }
  80% {
    
    opacity: 1;
  }
  100% {
	  -webkit-transform: translate(0, 0);
    opacity: 0;
  }
}
@keyframes sdb10up {
  0% {
    
    opacity: 0;
  }
  40% {
    transform: translate(0, 20px);
	opacity: 0;
  }
  80% {
    
    opacity: 1;
  }
  100% {
	  transform: translate(0, 0);
    opacity: 0;
  }
}
/**************************************
Intro-Kontakt
*************************************/
section.intro_kontakt{
	background:url('../img/bg/kontakt.jpg') no-repeat center center;
	background-size:cover;
	background-attachment: fixed;
	color:#fff;
	padding: 80px 0 !important;
}
section.intro_kontakt::before{
	z-index:0 !important;
}
section.intro_kontakt h1,section.intro_kontakt h2,section.intro_kontakt h3,section.intro_kontakt h4,section.intro_kontakt h5, section.intro_kontakt h6{
	color:#fff;
}
section.intro_kontakt a{
	color:#fff;
}
/**************************************
Marketing
*************************************/
#marketing{ padding-top:0; margin-top:80px;}
#marketing h3{ font-family:'Roboto'; font-size:32px; font-weight:300; position:relative; padding-bottom:20px;}
#marketing h3:before{
	content: '';
    position: absolute;
    bottom: 0;
    height: 2px;
    background: #10d09e;
    left: 50%;
    width: 25%;
    transform: translateX(-50%);
}
#marketing i{ color:#939393; border:1px solid #f1f1f1; border-radius:50%; font-size:32px; padding:20px; margin:2rem 0;}
#marketing p{color:#6f6f6f;}
/**************************************
PArtner
*************************************/
section#partner{
	background:url(../img/bg/partner_bg.jpg);
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
	background-attachment:fixed;
	padding:60px 0;
	margin-bottom:60px;
	z-index:0;
}
section#partner:before,
section.intro_kontakt::before{
	content:'';
	position:absolute;
	background:rgba(0,0,0,0.7);
	display:block;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:1;
}
section#partner a{
	z-index:1;
}
section#partner a img{
	max-width:100%;
	max-height:80px;
	z-index:1;
}
/**************************************
About
*************************************/
/**************************************
Team
*************************************/
section#team  figure {
    position: relative;
}
section#team figure .team-image {
    position: relative;
}
section#team .team-overlay {
    display: block;
    position: absolute;
    overflow: hidden;
    transition: all 0.3s ease 0s;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
	background:rgba(9,152,115,1);
}
section#team figure:hover .team-overlay {
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    opacity: .9;
}
section#team figure:hover .team-member-position {
    color: #fff;
}
section#team figure:hover .team-member-position {
    top: 50%;
    transform: translateY(-50%);
    margin: 0 !important;
    font-size: 0.9rem;
}
section#team figure:hover figcaption .overlay-content {
    opacity: 1;
    top: 30px;
}
section#team figure .team-member-position {
    position: absolute;
    top: 100%;
    width: 100%;
    transition: all 0.2s;
}
section#team figure figcaption {
    min-height: 20px;
	    transition-timing-function: ease-in-out;
    -moz-transition-timing-function: ease-in-out;
    -webkit-transition-timing-function: ease-in-out;
    -o-transition-timing-function: ease-in-out;
    transition-duration: .2s;
    -moz-transition-duration: .2s;
    -webkit-transition-duration: .2s;
    -o-transition-duration: .2s;
}
section#team figure figcaption .overlay-content {
    opacity: 0;
    top: 0;
    position: relative;
    padding-bottom: 30px;
}
.separator-line-horrizontal-full {
    width: 100%;
    height: 1px;
	background:rgba(9,152,115,1);
}

.icon-social-very-small a i, .icon-social-small a i, .icon-social-medium a i {
    margin: 0 10px;
    vertical-align: middle;
	color:#232323;
	transition:all 0.3s;
}
.icon-social-small a:hover i{
	color:rgba(9,152,115,1);
}
/**************************************
CallToAction
*************************************/
section.calltoaction{
	background:#2f2f2f;
	padding:0;
}
section.calltoaction .wrapper h3{
	z-index:1;
	color:#fff;
	font-size:1.8rem;
}

.cta-block{
	color:#fff;
	position:relative;
}
.cta-block .text span{
	font-size: 1.5rem;
	color:#fff;
    display: inline-block;
    vertical-align: middle;
	display:block;	
	padding:20px 0;
	
}
.cta-block .order_btn{
	position:relative;
	top:0;
	left:0;
	font-size: 1.3rem;
    color: #f0f5fe;
	text-transform: uppercase;
    background: rgba(9,152,115,1);
	height:100%;
	padding: 20px;
}
.cta-block .order_btn:before{
    position: absolute;
    top: 50%;
    left: 0;
    width: 0;
    height: 1px;
    content: '';
    border: 13px solid transparent;
    border-left: 14px solid #2f2f2f;
    margin-top: -13px;
	display:none;
}
/**************************************
Portfolio
*************************************/
#portfolio .centerimg{
	height:350px !important;
}
#portfolio #pofo-list{
	padding:0 !important;
	margin:80px 0;
}
#portfolio #pofo-list li{
	margin:5px 0;
	display:inline-block;
	float:none;
	width:100%;
}
#portfolio #pofo-list li a {
    background: transparent;
    border: none;
    padding: 0 0 2px 0;
    display: inline;
    color: #6f6f6f;
    margin: 0;
}
#portfolio #pofo-list li.active a {
    background: transparent !important;
    border-bottom: 1px solid #232323;
    color: #232323;
}
#portfolio #pofo-list li a:hover,
#portfolio #pofo-list li a:focus {
    background: transparent;
    border-bottom: 1px solid #232323;
    color: #232323;
    text-decoration: none;
}
#portfolio #pofo-list>li.active>a, 
#portfolio #pofo-list>li.active>a:focus, 
#portfolio #pofo-list>li.active>a:hover {
    border: 0;
    border-bottom: 1px solid;
}
#portfolio .pofo-item{
	padding:5px;
}
#portfolio .pofo-img{
	position:relative;
	overflow:hidden;
}
#portfolio .pofo-img:before{
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(9,152,115,1.0);
	opacity:0;
}
#portfolio .pofo-img:hover:before{
	opacity:0.5;
}
#portfolio .pofo-img-icon {
    transition: all 0.3s ease 0s;
    position: absolute;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 55%;
    left: 0;
    right: 0;
    opacity: 0;
	
}
#portfolio .pofo-img:hover .pofo-img-icon{
	opacity:1;
}
#portfolio .pofo-img-icon a{
	border-radius: 50%;
    border: 2px solid transparent;
    background: #fff;
    margin: 0 7px;
    height: 46px;
    width: 46px;
    display: inline-block;
    -webkit-transition: all 0.2s ease 0s;
    -moz-transition: all 0.2s ease 0s;
    -ms-transition: all 0.2s ease 0s;
    -o-transition: all 0.2s ease 0s;
    transition: all 0.2s ease 0s;
}
#portfolio .pofo-img-icon a i{
	font-size: 26px;
    position: relative;
    top: 8px;
	color:#232323;
}
#portfolio .pofo-img-icon a:hover i{color:#fff;}
#portfolio .pofo-img-icon a:hover{
	background: transparent;
    border: 2px solid #fff;
    color: #fff;
    transform: scale(1.1, 1.1);
}
#portfolio .pofo-caption{
	transition: all 0.3s ease 0s;
	margin:30px 0;
	position:relative;
	top:0;
	left:0;
}
#portfolio .pofo-caption span{
	display:block;
}
#portfolio .pofo-caption p{
    color: #939393;
    font-size: 13px;
    font-weight: lighter;
}
/* lightbox */
.mfp-container{
	cursor:default;
	background: #232323 !important;
}
button.mfp-close, button.mfp-arrow {
    overflow: visible;
    cursor: pointer !important;
    background: transparent;
    border: 0;
    -webkit-appearance: none;
    display: block;
    outline: none;
    padding: 0;
    z-index: 1046;
    -webkit-box-shadow: none;
    box-shadow: none;
	opacity:1 !important;
}
.mfp-arrow-right:before, .mfp-arrow-right .mfp-b {
    border-left: 27px solid #000;
}
.mfp-arrow:before, .mfp-arrow .mfp-b {
    border-top-width: 21px;
    border-bottom-width: 21px;
}
.mfp-arrow:before, .mfp-arrow:after, .mfp-arrow .mfp-b, .mfp-arrow .mfp-a {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent;
	opacity:1;
}
.mfp-arrow-right:before {
    border-left: none;
    content: "\e628";
    font-size: 2em;
    font-family: 'themify';
    color: #fff;
	opacity:1;
}
.mfp-arrow-left:before {
    border-left: none;
    content: "\e629";
    font-size: 2em;
    font-family: 'themify';
    color: #fff;
	opacity:1;
}
.mfp-close {
	font-size: 36px!important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    width: 40px!important;
    height: 40px!important;
    line-height: 40px;
    position: fixed!important;
    right: 30px!important;
    top: 30px!important;
    text-decoration: none;
    text-align: center;
    padding: 0 0 18px 10px;
    font-style: normal;
    color: #fff!important;
}
/**************************************
service
*************************************/
section#service .servicebox{
	margin:5px;
	padding:25px 0;
}
section#service .servicebox:hover > div{
	color:#fff;
}
section#service .servicebox:hover .overlay{
	background:#2f2f2f;
	height:100%;	
}
section#service .servicebox .overlay{
	content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: #10d09e;
	z-index:-1;
	transition-timing-function: ease-in-out;
    -moz-transition-timing-function: ease-in-out;
    -webkit-transition-timing-function: ease-in-out;
    -o-transition-timing-function: ease-in-out;
    transition-duration: .2s;
    -moz-transition-duration: .2s;
    -webkit-transition-duration: .2s;
    -o-transition-duration: .2s;
}
section#service .servicebox .srvc-box-icon{
	padding:20px 0;
}
section#service .servicebox i{
	font-size:45px;
	background:rgba(9,152,115,1.0);
    border-radius: 50%;
    padding: 20px;
	color:#fff;
}
section#service .servicebox:hover i{
	color:rgba(9,152,115,1);
	background:#fff;	
}
section#service .servicebox .srvc-box-titel{
	font-weight:600;
	padding:10px;
}
section#service .servicebox .srvc-box-content{
	padding:10px 25px;
	font-size:0.9rem;
	font-weight:lighter;
}
/**************************************
Footer
*************************************/
#footer{
	position:relative;
	color:#fff;
	box-shadow: 0px 1px 13px 4px rgba(0,0,0,0.1);
    padding-top: 85px;
}
#footer #map-container{
	position:relative !important;
	height: 250px;
	width: 100%;
	top:0;
	left:0;	
}
#footer .subfooter img{
	max-width:75px;
	max-height:80px;
	margin-top:-15px;
}
#footer .subfooter h3,
#footer .subfooter h6{
	color:#fff;
}
#footer .subfooter .subnav li a{
	font-size:0.8rem;
	color:#fff;
	text-decoration:none;
}
#footer #copyright small{
	font-size:75%;
}
#footer #copyright a{
	text-decoration:none;
}
/**************************************
Kontakt
*************************************/
.map_wrapper{
	position:relative;
	overflow:hidden;
	height:100%;
	width:100%;
}
.knt_wrapper{
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
}
.form_wrapper{
	position:relative;
	border-right:none;
	z-index:1;
	color:#2d2525;
	padding: 20px 0;
}
.form_wrapper form,
.form_wrapper button{
	margin-top:30px;
}
.form_wrapper .submit{
	display: inline-block;
	position:relative;
    border: 2px solid rgba(9,152,115,1.0);
	color:#fff;
	background:rgba(9,152,115,1.0);
    white-space: pre-wrap;
    letter-spacing: .5px;
    line-height: inherit;
    border-radius: 0;
    text-transform: uppercase;
    width: auto;   
    font-weight: lighter;
    outline: none !important;
	padding:8px;
	transition-timing-function: ease-in-out;
    -moz-transition-timing-function: ease-in-out;
    -webkit-transition-timing-function: ease-in-out;
    -o-transition-timing-function: ease-in-out;
    transition-duration: .2s;
    -moz-transition-duration: .2s;
    -webkit-transition-duration: .2s;
    -o-transition-duration: .2s;
}
.form_wrapper .submit:hover{
	color:rgba(9,152,115,1.0);
	border:2px solid rgba(9,152,115,1.0);
	background:#fff;
}
/**************************************
Impressum / Datenschutz
*************************************/
#impressum_wrapper{display:none;}
