/*
Lovas Template
creation Date: 2018-06-05
Author: Sebastian Osinski
http://www.sebbi.net
*/

body, html{
	font-family: 'FiraSans-Regular', sans-serif;
	width: 100%;
	margin: 0px;
	font-size: 14px;
	overflow-x: hidden;
}
.contentbutton,
p.normal{
	font-size: 14px;
}
p.larger_1, *.larger_1{
	font-size: 16px;
	line-height: 30px;
}
.productbox_cont h1{
	line-height: 70px;
	font-weight: 500;
	font-size: 20px;
	text-transform: uppercase;
}
.productbox_cont h1.supersize,
h1.supersize{
  font-size: 30px;
	line-height: 40px;
	margin-bottom: 30px;
}
.productbox_cont h2{
	text-transform: uppercase;
	line-height: 30px;
	font-size: 24px;
}
.highlighttext{
	font-size: 25px;
}
.highlighttext p{
	line-height: 50px;
}
#topmenu-wrapper ul.nav li{
	font-weight: bold;
}
*{
	margin: 0px;
	padding: 0px;
}
img{
	border: none;
}
a{
	color: inherit;
	text-decoration: none;
}
table{
	width: 100%;
	table-layout: fixed;
}
td{
	vertical-align: top;
	position: relative;
}
h1{
	font-size: 30px;
	font-weight: 300;
}
h2{
	line-height: 24px;
	font-size: 20px;
}
h3{
	font-size: 20px;
	text-transform: uppercase;
}
p,
#content-wrapper ul li{
	margin-top: 10px;
	margin-bottom: 10px;
	line-height: 24px;
}
p.nomarg-top{
	margin-top: 0px;
}
p.nomarg{
	margin-top: 0px;
	margin-bottom: 0px;
}
.hidden{
	visibility: hidden;
}
.visible{
	visibility: visible;
}
.center{
	text-align: center;
}
.left{
	text-align: left;
}
.right{
	text-align: right;
}
p.bold{
	font-weight: bold;
}
p.larger{
	font-size: 18px;
}
.uppercase{
	text-transform: uppercase;
}
.lowercase{
	text-transform: lowercase;
}
.line-through{
	text-decoration: line-through;
}



/* GLOBALS */
.main-container,
.finder{
	margin-left: auto;
	margin-right: auto;
	max-width: 1500px;
	position: relative;
}
.main-container.narrow,
.finder{
	max-width: 1120px;
}
.main-container.fourcell-spacing{
	max-width: 1580px;
}
.main-container.threecell-spacing{
	max-width: 1180px;
}
.main-container.moveTop_1{
	margin-top: -420px;
}
.main-container.moveTop_2{
	margin-top: -620px;
}
.main-container.moveTop_3{
	margin-top: -640px;
}
.main-container.widepad,
.cont-block.widepad{
	padding-top: 160px;
	padding-bottom: 160px;
}
.main-container.nofontsize{
	font-size: 0px;
}
.cont-block.nopadTop{
	padding-top: 0px;
}
.cont-block.lowpad-bot{
	padding-bottom: 80px;
}
.cont-block.lowpad-top{
	padding-top: 80px;
}
.cont-block.extrapad-bot{
	padding-bottom: 410px;
}
.cont-block{
	position: relative;
	display: block;
	width: 100%;
}
.cont-block.nooverflow{
	overflow: hidden;
}
.content-tworow > tbody > tr > td{
	width: 49%;
}
.content-tworow > tbody > tr > td.table-spacer{
	width: 2%;
}
.kontakttable > tbody > tr > td:nth-child(1){
	width: 360px;
}
.kontakttable > tbody > tr > td.table-spacer{
	width: 2%;
}

.page-header{
	display: none;
}

img.cont-img{
	max-width: 100% !important;
}
img.cont_img{
	max-width: 100% !important;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/* INDEXES */
#po_wrapper{
	z-index: 11;
}
#topmenu-wrapper{
	z-index: 10;
}
#search_wrapper{
	z-index: 9;
}
#backbutton-wrapper{
	z-index: 8;
}
.cont-block{
	z-index: 2;
}



/* transitions */
input.sloganbutton,
.deflogo,
.productbox, .productbox *{
	-webkit-transition: all 500ms ease;
	-moz-transition: all 500ms ease;
	-ms-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	transition: all 500ms ease;
}
a,
.productbox_link, .productbox_link *,
#search_wrapper, #search_wrapper *,
.loadMoreButton,
#po_wrapper, #po_wrapper *{
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;	
}

/* CONTENT */
#content-wrapper{
}
#content-wrapper.hasContent{
	padding-top: 65px;
	padding-bottom: 65px;
}
#content-wrapper.altpadding{
	padding-top: 65px;
	padding-bottom: 0px;
}

/* CONTENT SPECIFIC */
#content-wrapper ul{
	margin-left: 20px;
}
.contentspacer{
	display: block;
	position: relative;
	width: 100%;
	height: 80px;
}
.titlebox{
	padding-left: 40px;
	padding-right: 40px;
	padding-top: 30px;
	padding-bottom: 30px;
	margin-bottom: 20px;
}
.titlebox h1,
.slider-slogan h1,
h1.verylarge{
	text-transform: uppercase;
	font-weight: 500;
	font-size: 45px;
}
h1.verylarge{
	text-transform: none;
}
.contentbutton{
	display: block;
	padding-left: 0px;
	padding-right: 0px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 40px;
	line-height: 40px;
	width: 190px;
	text-align: center;
	border-radius: 5px;
	font-weight: 300;
}
.contentbutton:hover{
	padding-left: 10px;
	padding-right: 10px;
	font-weight: 500;
}
.floatimg.left{
	float: left;
	margin-right: 10px;
}
.floatimg.alignbot{
	margin-top: -5px;
}
.sectionbg{
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	min-height: 100%;
	z-index: 0;
}

.logorayholder{
	display: block;
	position: relative;
	width: 100%;
	height: 100px;
	line-height: 0px;
}
.deflogo{
	float: left;
	width: 170px;
	height: 100%;
	margin-right: 20px;
	text-align: center;
	overflow: hidden;
}
.deflogo.last{
	margin-right: 0px;
}
.deflogo img{
	height: 80%;
	width: auto;
	margin-top: 5%;
}
.deflogo:hover{
	-webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
	-moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
	box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
}

/* productboxes */
.productbox{
	position: relative;
	display: inline-block;
	overflow: hidden;
	width: 360px;
	height: 320px;
	margin: 10px;
}
.productbox.overflow{
	overflow: visible;
}
.productbox:not(.nohover):hover{
	-webkit-box-shadow: 0px 0px 5px 0px rgba(191,174,191,1);
	-moz-box-shadow: 0px 0px 5px 0px rgba(191,174,191,1);
	box-shadow: 0px 0px 5px 0px rgba(191,174,191,1);
}
.productbox.high{
	height: 600px;
}
.productbox_img{
	position: absolute;
	overflow: hidden;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	z-index: 0;
}
.productbox_img img{
	position: absolute;
	z-index: 0;
	left: 50%;
	top: 5%;
	height: 90%;
	width: auto;
	transform: translateX(-50%);
}
.productbox_img img.full{
	height: 100%;
	top: 0px;
}
.productbox_img.small{
	height: 230px;
}
.productbox_img.large{
	height: 330px;
}
.productbox_cont{
	position: absolute;
	z-index: 1;
	height: 100%;
	width: 100%;
	top: 250px;
}
.productbox_cont:hover,
.productbox.high .productbox_cont:hover{
	top: 20px;
}
.productbox.high .productbox_cont{
	top: 530px;
}
.productbox .productbox_cont.relative,
.productbox .productbox_cont.relative:hover{
	top: 0px;
	text-align: left;
}
.productbox .productbox_cont.relative.small,
.productbox .productbox_cont.relative.small:hover{
	top: 230px;
	text-align: left;
	height: 370px;
}
.productbox .productbox_cont.relative.smaller,
.productbox .productbox_cont.relative.smaller:hover{
	top: 330px;
	text-align: left;
	height: 270px;
}
.productbox_cont > div.contpad{
	padding-left: 20px;
	padding-right: 20px;
}
.productbox_cont.relative > div.contpad{
	padding-top: 20px;
}
.productbox_cont.smaller > div.contpad{
	padding-top: 40px;
}
.productbox_cont h1{
	cursor: pointer;
}
.productbox_links{
  position: absolute;
	width: 100%;
	left: 0px;
	bottom: 40px;
}
.productbox_link.white{
	border: 1px solid;
}
.contentbutton.productbox_link{
	margin-top: 10px;
}
.productbox-bottomline{
	position: absolute;
	bottom: 45px;
	width: 120%;
	border-top: 1px solid;
	z-index: 3;
}
.referenzen-bottomline{
	position: absolute;
	bottom: 59px;
	width: 100%;
	border-top: 1px solid;
	z-index: 2;
}
.productbox-bottomdate{
	position: absolute;
	left: 20px;
	bottom: 15px;
	z-index: 2;
}

/* CONTENT CONTACT */
.content-contact-wrapper{
	display: block;
	position: relative;
	text-align: center;
	overflow: hidden;
	height: 360px;
	width: 100%;
}
.quader-box{
	position: relative;
	display: inline-block;
	overflow: hidden;
	width: 360px;
	height: 360px;
	margin: 10px;
}
.quader-box-cont{
	margin-top: 50%;
	transform: translateY(-50%);
}
.quader-box-cont a.add_link{
	font-size: 80px;
}
.quader-box-cont a.add_link:hover{
	font-size: 120px;
}
.twoquarters-box{
  position: relative;
	display: inline-block;
	overflow: hidden;
	width: 745px;
	height: 360px;
	margin: 10px;
}
.contactbox-inlay{
	position: absolute;
	top: 0px;
	left: 0px;
	text-align: left;
	width: 360px;
}
.contactbox-inlay .contactbox-inlay-cont{
	padding: 20px;
}
.line-link{
	display: block;
	font-size: 24px;
	padding-top: 0px;
	padding-bottom: 0px;
}
.line-link img{
	display: inline-block;
	width: 50px;
	vertical-align: middle;
}

/* ABOUT US BOXES */
.about_box{
	position: relative;
	display: inline-block;
	overflow: hidden;
	width: 930px;
	height: auto;
	margin: 0px;
}
.about_box.fullsize{
	display: block;
	width: 100%;
}
.about_box.squared{
	width: 570px;
	text-align: center;
	vertical-align: top;
}
.about_box .boxpadder{
	padding: 160px;
	position: relative;
}
.about_box.squared .boxpadder{
	padding: 0px;
	padding-top: 160px;
	padding-bottom: 160px;
	position: relative;
}
.boxlink_large,
a.boxlink_large{
	display: block;
	text-transform: uppercase;
	font-size: 25px;
	font-weight: 500;
	margin-bottom: 10px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.boxlink_large img{
	width: 60px;
}
.boxlink_large img.largelogo{
	width: 40%;
	max-width: 170px;
}

#backbutton-wrapper{
	position: fixed;
	left: 0px;
	top: 50%;
	transform: translateY(-50%);
}
.backbutton{
	display: block;
	text-align: left;
	width: 160px;
	padding: 20px;
	margin-bottom: 5px;
	text-transform: uppercase;
	font-weight: 500;
	font-size: 12px;
	vertical-align: middle;
}
.backbutton:hover{
	padding-left: 10px;
}

/* FORMS */
.chrono_credits{
	display: none;
}
.formular1{
}
.chronoform input, .chronoform textarea,
input.input-small{
	display: block;
	width: 100%;
	height: 55px;
	padding: 6px 12px;
	font-size: 16px;
	font-weight: 300;
	vertical-align: middle;
	background-image: none;
	border: 1px solid;
	border-radius: none;
	margin-bottom: 10px;
  resize: none;
	text-align: left;
	margin-left: auto;
	margin-right: auto;
}
.chronoform input[type='checkbox']{
	height: 12px;
  width: 12px;
	background-color: white;
	margin: 0px;
}
.chronoform textarea{
	height: 200px;
	padding-top: 30px;
	text-align: left;
}
#fin-datenschutz,
#fitem-rueckruf,
.newsletter_cb{
	display: inline-block;
	vertical-align: middle;
	float: left;
	margin-right: 10px;
	border: 5px solid;
}
input#datenschutz,
input#newsletter{
	height: auto;
	margin: 0px;
}
input.sloganbutton{
	padding: 10px;
	border: 1px solid;
	border-radius: 5px;
	width: 190px;
	text-align: center;
	text-transform: uppercase;
	font-weight: bold;
	margin-left: 0px;;
	margin-right: auto;
	height: 43px;
}
input.sloganbutton:hover{
	-webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
	-moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
	box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
}
button.login-button{
	margin-top: 10px;
	margin-bottom: 10px;
}
p.klausel{
	font-size: 12px;
	margin-top: 0px !important;;
}
.g-recaptcha > div{
	margin-right: auto;
	margin-left: 0px;
	margin-bottom: 10px;
}
.contwrap.right .g-recaptcha > div{
	margin-left: auto;
	margin-right: 0px;
}
.system-message > .message{
	text-align: center;
}
#newsletter{
}
p.floatKlausel{
	display: inline-block;
}

/* SEARCH */
#search_wrapper{
	position: fixed;
	width: 100%;
	top: 60px;
	overflow: hidden;
	height: 0px;
}
#search_wrapper.active{
	height: 100%;
}
#search_wrapper .form-search input{
	display: block;
	width: 100%;
	line-height: 50px;
	text-indent: 20px;
}
button.finder{
	display: block;
	width: 100%;
	padding: 20px;
	border: none;
}
.finder{
	display: block;
	padding-top: 70px;
	padding-bottom: 70px;
}
#finder-search a.btn{
	display: none;
}
#advancedSearch{
	display: none;
}


/* NEWS ADDONS */
.newscontent_wrap{
	display: block;
	width: 770px;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}
p.date{
	font-size: 12px;
	font-weight: bold;
}
.backbutton_2,
.newsbox_content_wrap .contentbutton{
	display: inline-block;
	position: relative;
}
.loadMoreButton{
	position: relative;
	cursor: pointer;
}
.backbutton_2:after,
.newsbox_content_wrap .contentbutton:after,
.loadMoreButton:after{
	content: " ";
	position: absolute;
	width: 900%;
	height: 1px;
	background-color: #aaaaaa;
	top: 50%;
	left: 110%;
}
.loadMoreButton:before{
	content: " ";
	position: absolute;
	width: 900%;
	height: 1px;
	background-color: #aaaaaa;
	top: 50%;
	right: 110%;
}
.nooverflow{
	overflow: hidden;
}
.section_bg{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.flexwrap {
    display: flex;
    justify-content: space-between;
    flex-flow: row wrap;
}

.inline_slider{
	display: block;
	position: relative;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}
.inline_slider_nav{
	position: absolute;
	width: 50px;
	top: 50%;
	transform: translateY(-50%);
	cursor: pointer;
}
.inline_slider_nav._l{
	left: -80px;
}
.inline_slider_nav._r{
	right: -80px;
}
.inline_slider_imgwrap{
	display: block;
	width: 100%;
	position: relative;
}
.inline_slider_imgwrap img.cont_img{
	display: none;
}
.inline_slider_imgwrap img.cont_img.curr{
	display: block;
}

/* POPUP */
#po_wrapper{
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background-color: rgba(0,0,0,0.7);
	overflow: hidden;
}
#po_wrapper.closed{
	height: 0px;
}
.po_cont{
	position: absolute;
	color: white;
	width: 800px;
	max-width: 90%;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	font-size: 20px;
}
.po_pad{
	position: relative;
	display: block;
	padding: 40px;
}
#po_logo{
	position: absolute;
	height: 100%;
	right: 101%;
}
#po_close{
	position: absolute;
	width: 50px;
	height: 50px;
	right: -25px;
	top: -25px;
	background-color: white;
	color: #f9b132;
	cursor: pointer;
	z-index: 1;
}
#po_close:hover{
	-webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
	-moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
	box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
}
#po_close > div{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	font-size: 40px;
	font-weight: bold;
}