@import url('https://fonts.googleapis.com/css?family=Josefin+Sans:300,400,400i,700,700i');
@import url(http://fonts.googleapis.com/css?family=Exo:200,400);
article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
	display: block
}
.clearL, .clearR, .clear {
	clear: both;
	width: 100% !important;
	float: none !important;
	padding: 0 !important;
	height: 0;
}
H1, H2, H3, H4, H5, H6 {
	font: 15px 'Josefin Sans', Arial, Verdana, Sans-serif;
	line-height: 120%;
	padding: 40px 0 0;
	text-transform: lowercase;
	color: #e96441;
}
H1 {
	font-size: 50px;
	font-weight: normal;
}
H2 {
	font-size: 40px;
	font-weight: normal;
}
H3 {
	font-size: 30px;
}
H4 {
	font-size: 25px;
}
H1+H1,H1+H2,H1+H3,H1+H4,H1+H5,H2+H1,H2+H2,H2+H3,H2+H4,H2+H5,H3+H1,H3+H2,H3+H3,H3+H4,H3+H5,H4+H1,H4+H2,H4+H3,H4+H4,H4+H5,H5+H1,H5+H2,H5+H3,H5+H4,H5+H5{
	padding: 0;
}
P {
	padding: 20px 0 10px;
	letter-spacing: 1px;
}
A {
	text-decoration: none;
	color: #e96441;
}
A:hover {
	text-decoration: underline;
}
::selection {
	background: #e96441;
	color: #ffffff;
}
::-moz-selection {
	background: #e96441;
	color: #ffffff;
}
HR {
	background: transparent;
	border: 0 solid #000000;
	height: 0;
	padding: 0;
	margin: 30px 0;
	border-bottom: 1px solid #ccc;
}
TEXTAREA, INPUT, BUTTON {
	resize: none;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-ms-box-sizing: border-box;
	border-radius: 0px;
	-moz-border-radius: 0px;
	-webkit-border-radius: 0px;
	-webkit-font-smoothing: inherit;
	font: 16px 'Josefin Sans', sans-serif;
	color: #000;
	padding: 5px;
	border: 1px solid #CCC;
	background: #FFF;
}
BUTTON {
	border: none;
	cursor: pointer;
}
INPUT[type=text], TEXTAREA, INPUT[type=password],INPUT[type=email], SELECT, BUTTON {
	width: 100%;
}
INPUT[type=text], TEXTAREA, INPUT[type=submit], INPUT[type=reset], INPUT[type=password], INPUT[type=email], TEXTAREA, BUTTON {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-o-appearance: none;
	appearance: none;
}
INPUT[type=text]:disabled
{
	-webkit-text-fill-color:#880000; /* Override iOS / Android font color change */
	-webkit-opacity:1; /* Override iOS opacity change affecting text & background color */
	color:#880000; /* Override IE font color change */
}
INPUT[type=radio] {
	padding: 4px;
	line-height: normal;
	vertical-align: middle;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
}
INPUT:-webkit-autofill, TEXTAREA:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 1000px #FFF inset;
	-webkit-text-fill-color: #000;
}
::-webkit-input-placeholder {
	color: #ccc;
}
:-moz-placeholder {
	opacity: 1;
	color: #ccc;
}
::-moz-placeholder {
	opacity: 1;
	color: #ccc;
}
:-ms-input-placeholder {
	color: #ccc;
}
.button,
.fieldbottom input[type=submit]
{
	font: 15px 'Josefin Sans', Arial, Verdana, Sans-serif;
	display: block;
	padding: 0;
	line-height: 40px;
	background: #e96441;
	color: #fff;
	margin: 0 auto;
	max-width: 200px;
	border-radius: 20px;
	box-sizing: border-box;
	text-align: center;
	transition: all .2s ease-out;
	text-transform: lowercase;
	margin-top: 40px;
}
.button:hover,
.fieldbottom input[type=submit]:hover
{
	text-decoration: none;
	transform: scale(1.1);
}
.button:focus,
.fieldbottom input[type=submit]:focus
{
	transform: scale(.9);
}
.al_center
{
	text-align: center;
}
.imgcntr
{
	display: block;
	margin: 20px auto;
}
.rounded
{
	border-radius: 50%;
	box-shadow: 5px 5px 20px rgba(0,0,0,0.3);
}
.smallText
{
	font-size: 14px;
	color: #666;
}
.contact .smallText
{
	color: #fff;
}
.hc
{
	font-family: "Exo", sans-serif;
	font-weight: 200;
	color: #fff;
}
.hc:before
{
	content: " ";
	position: relative;
	top: 1px;
	display: inline-block;
	width: 21px;
	height: 13px;
	background: #cc3b43;
	margin-right: 4px;
}
.hc strong
{
	font-weight: 400;
}
body{
	font-family: 'Josefin Sans', sans-serif;
	font-size: 16px;
	line-height: 160%;
	background: #000;
	font-weight: 400;
	transition: all .2s ease-out;
	color: #393939;
}
.cont_inner,
.bgimg
{
	transition: all .2s ease-out;
}
body.act
{
	overflow: hidden;
}
body.act .cont_inner,
body.act .bgimg
{
	filter: blur(20px);
}
.site
{
	/*width: 90%;*/
	overflow: hidden;
	/*max-width: 1170px;*/
}
strong
{
	font-weight: 700;
}


.logo
{
	float: left;
	transition: all .5s ease-out;
	font-size: 40px;
	line-height: 100px;
}
.logo a
{
	width: 100%;
	height: 100%;
	display: block;
	color: #fff;
	transition: all .2s ease-out;
}
.logo a:hover
{
	text-decoration: none;
	transform: scale(.9);
}
.sticky .logo
{
	float: left;
	transform: translateY(-300%);
}
.nav
{
	float: right;
}
.sticky .nav
{
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	background: #000;
	background: rgba(0,0,0,0.7);
	width: 100%;
	padding: 15px;
	line-height: 60px;
	opacity: 0;
	height: 100vh;
	opacity: 1;
}
.sticky .nav li
{
	text-align: center;
	float: none;
	margin: 0;
}

.nav li
{
	float: left;
	margin: 0px 30px;
}
.nav li:first-child
{
	display: none;
}
.act .nav li:first-child
{
	display: block;
}
.nav li a
{
	display: block;
	/*line-height: 100px;*/
	font-size: 18px;
	padding: 35px 0px;
	color: #fff;
	transition: all .2s ease-out;
	text-transform: lowercase;
}
.nav li a:hover
{
	text-decoration: none;

}
.nav li a span
{

}
.sticky .nav
{
}
.nav li:last-child
{
	margin-right: 0;
}
.nav li a:hover,
.nav li.act a
{
	color: #e96441;
}
.opennav
{
	position: absolute;
	right: 0;
	top: -100%;
	width: 40px;
	height: 40px;
	background: none;
	display: block;
	transform: translate(0,-50%);
	transition: all .2s ease-out;
	text-indent: -1000px;
	overflow: hidden;
	opacity: 0;
	z-index: 3000;
}
.opennav span
{
	width: 22px;
	height: 2px;
	background: #e96441;
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	transition: all .2s ease-out;
	box-shadow: 0 0 20px rgba(0,0,0,0.3);
}
.opennav span:first-child
{
	top: 36%;
}
.opennav span:last-child
{
	top: 64%;
}
.opennav.act span
{

}
.opennav.act span:nth-child(2)
{
	left: -100%;
}
.opennav.act span:first-child
{
	top: 50%;
	transform: translate(-50%,-50%) rotate(-45deg);
}
.opennav.act span:last-child
{
	top: 50%;
	transform: translate(-50%,-50%) rotate(45deg);
}
.sticky .opennav
{
	top: 50%;
	opacity: 1;
}
.header
{
	height: 100vh;
	overflow: hidden;
	position: relative;
}
.bgimg
{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	width: auto;
	min-width: 100vw;
	height: auto;
	min-height: 100vh;
	filter: blur(2px);
	opacity: 0.5;
}
.header .cont_inner
{
	width: 90%;
	max-width: 1170px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}

.header h1
{
	font-size: 25px;
	color: #fff;
}
.header h3
{
	font-size: 76px;
	color: #fff;
}
.inner
{
	width: 90%;
	padding: 0 15px;
	max-width: 1170px;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
	height: 100%;
}
.act .inner
{
	overflow: auto;
}
.head_top
{
	width: 100%;
	height: 100px;
	background: #000;
	background: rgba(0,0,0,0.6);
	position: fixed;
	top: 0;
	left: 0;
	transition: all .2s ease-out;
	z-index: 2000;
}
.head_top.sticky
{
	height: 60px;
	background: none;
}
.cont
{
	min-height: 100vh;
	background: #fff;
	position: relative;
	overflow: hidden;
}
.cont.about
{
	/*background-color: red;*/
}
.referenzen_cont
{
	display: none;
	width: 90%;
	max-width: 960px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	padding: 30px;
	box-sizing: border-box;
	box-shadow: 0 0 80px rgba(0,0,0,0.1);
	background: #fff;
	z-index: 1000;
}

.cont.pt
{
	background: #000;
}
.cont.pt h2
{
	color: #fff;
}
.cont.plan
{
	/*background-color: purple;*/
}
.cont.contact
{
	background-color: #000;
	color: #fff;
}
.cont.legal
{
	/*background-color: yellow;*/
}
.cont .cont_inner
{
	max-width: 1170px;
	width: 100%;
	padding: 30px 15px;
	margin: 0 auto;
	position: relative;
	top: 0;
	box-sizing: border-box;
}
.socialicons
{
	position: fixed;
	bottom: -30px;
	right: 10px;
	/*background: red;*/
	z-index: 1000;
}
.socialicons a
{
	display: inline-block;
	width: 45px;
	height: 45px;
	background: green;
	overflow: hidden;
	text-indent: -100px;
	margin: 4px;
	transition: all .2s ease-out;
}
.socialicons a.fb
{
	background: url(../img/fb.png) no-repeat center center;
	background-size: 100% auto;
}
.socialicons a.yt
{
	background: url(../img/yt.png) no-repeat center center;
	background-size: 100% auto;
}
.socialicons a.in
{
	background: url(../img/in.png) no-repeat center center;
	background-size: 100% auto;
}
.socialicons a:hover
{
	transform: translateY(-10px) rotate(15deg);
}
.box33
{
	width: 30%;
	float: left;
}
.box33:nth-child(2)
{
	margin: 0 5%;
}
.bubble
{
	position: relative;
	border: 5px solid #e96441;
	width: 300px;
	height: 300px;
	margin: 50px auto 0;
	border-radius: 150px;
	transition: all .1s ease-out;
}
.bubble:after
{
	position: absolute;
	left: 50%;
	top: 50%;
	content: " ";
	background: #fff;
	background: rgba(255,255,255,0.8);
	width: 0px;
	height: 0px;
	transform: translate(-50%,-50%);
	transition: all .1s ease-out;
	border-radius: 150px;
}
.bubble:hover
{
	border-color: #fff;
	-webkit-user-select: none;
	-webkit-touch-callout: none
}
.bubble:hover:after
{
	width: 295px;
	height: 295px;
}
.bubble h4,
.bubble p
{
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0,-50%);
	padding: 40px;
	width: 100%;
	box-sizing: border-box;
	transition: all .2s ease-out;
}
.bubble p
{
	opacity: 0;
}
.bubble:hover p
{
	opacity: 1;
	z-index: 1000;
}
.bubble:hover h4
{
	opacity: 0;
}


table.design
{
	width: 100%;
	font-size: 18px;
	margin-top: 30px;
	/*border: 1px solid #efefef;*/
	/*border: 1px solid rgba(0,0,0,0.05);*/
}
table.design .smallText
{
	background: #e96441;
	padding: 0 10px;
	line-height: 20px;
	display: inline-block;
	border-radius: 10px;
	color: #fff;
}
table.design tr + tr
{
	/*border-top: 1px solid #efefef;*/
	/*border-top: 1px solid rgba(0,0,0,0.05);*/
}
table.design tr td
{
	padding: 30px;
	text-align: center;
	vertical-align: middle;
	width: 15%;
	transition: all .2s ease-out;
}
table.design tr th:first-child,
table.design tr td:first-child
{
	background: #fcfcfc;
}
table.design tr th:first-child,
table.design tfoot tr td:first-child
{
	background: #fff;
}
table.design tr td + td,
table.design tr th + th
{
	/*border-left: 1px solid #ccc;*/
	/*border-left: 1px solid rgba(0,0,0,0.05);*/
}
table.design tr th
{
	padding: 10px 30px;
	text-align: center;
	vertical-align: middle;
	background: #393939;
	color: #fff;
}
table.design tr th .smallText
{
	background: none;
	color: #fff;
	padding: 0;
	font-size: 10px;
	transform: translateY(-12px);
}
table.design tfoot tr td
{
	background: none;
	color: #fff;
	padding: 0;
}
table.design tfoot tr td a
{
	display: block;
	background: #e96441;
	line-height: 40px;
	color: #fff;
	transition: all .2s ease-out;
}
table.design tfoot tr td a:hover
{
	background: #d8522e;
	text-decoration: none;
}
table.design tr:hover td
{
	background: #fcfcfc;
}
table.design tfoot tr:hover td
{
	background: none;
}

table.design .true,
table.design .false
{
	display: block;
	width: 15px;
	height: 15px;
	background: red;
	margin: 0 auto;
	overflow: hidden;
	text-indent: -1000px;
}
table.design .true
{
	background: url(../img/hook.png) no-repeat center center;
	background-size: 100% auto;
}
table.design .false
{
	background: url(../img/cross.png) no-repeat center center;
	background-size: 100% auto;
}
/*Formular*/
.contact form input[type=tel],
.contact form input[type=text],
.contact form input[type=email],
.contact textarea
{
	width: 100%;
	box-sizing: border-box;
	padding: 0 20px;
	line-height: 40px;
	border: 2px solid transparent;
	background: #fff;
	margin-top: 15px;
	color: #393939;
	border-radius: 20px;
	font-size: 16px;
}
.contact form .inputleft[type=text],
.contact form .inputright[type=text]
{
	width: 49%;
	float: left;
}
.contact form .inputright
{
	margin-left: 2%
}
.contact textarea
{
	height: 220px;
	line-height: 20px;
	padding: 20px;
}
.contact form input[type=tel]:focus,
.contact form input[type=text]:focus,
.contact form input[type=email]:focus,
.contact textarea:focus
{
	border: 2px solid #e96441;
}
.fieldbottom input[type=submit]
{
	width: 120px;
	margin-top: 40px;
	border: none;
}
.fieldleft,
.fieldright,
.checkbox_wrap
{
	float: left;
	width: 49%;
	/*background: #ff0000;*/
}
.fieldleft,
.fieldright
{
	margin-top: 20px;
	margin-bottom: 20px;
}
.fieldright,
.checkbox_tage
{
	margin-left: 2%;
}
.checkbox_wrap > div
{
	width: 25%;
	float: left;
	padding: 5px;
	box-sizing: border-box;
}
.checkbox_wrap > div input
{
	float: left;
	margin-right: 10px;
	margin-top: 4px;
}
/*Footer*/
.foot
{
	color: #b2b2b2;
	line-height: 50px;
	border-bottom: 20px solid #000;
}
.foot a
{
	color: #fff;
}
.footleft
{
	float: left;
}
.footright
{
	float: right;
}




/*responsive*/
@media all and (max-width: 1170px) {
	.bubble
	{
		width: 260px;
		height: 260px;
	}
	.bubble:hover:after
	{
		width: 250px;
		height: 250px;
	}
	table.design tr td,
	table.design tr th {
		padding: 10px;
	}
}
@media all and (max-width: 960px) {
	.nav
	{
		display: none;
		position: fixed;
		left: 0;
		top: 0;
		background: #000;
		background: rgba(0,0,0,0.7);
		width: 100%;
		padding: 15px;
		line-height: 60px;
		opacity: 0;
		height: 100vh;
		opacity: 1;
	}
	.nav li
	{
		text-align: center;
		float: none;
		margin: 0;
	}
	.nav li a
	{
		padding: 10px 0;
	}
	.opennav
	{
		display: block;
		transform: translateY(-50%);
		top: 50%;
		opacity: 1;
	}
	.referenzen_cont
	{
		position: relative;
		left: inherit;
		top: inherit;
		transform: none;
		width: 100%;
		z-index: 1;
		padding: 0;
		box-shadow: none;
	}
	.box33
	{
		width: 100%;
		float: none;
	}
	.box33:nth-child(2)
	{
		margin: 0;
	}
	.checkbox_wrap
	{
		width: 100%;
		float: none;
	}
	.checkbox_tage
	{
		margin-left: 0;
		margin-top: 20px;
	}
	.footleft,
	.footright
	{
		float: none;
		width: 100%;
		text-align: center;
	}
}
@media all and (max-width: 740px) {
	.fieldleft, .fieldright
	{
		float: none;
		width: 100%;
		margin: 20px 0;
	}
	.tablewrap
	{
		width: 100%;
		overflow-x: scroll;
	}
	.tablewrap table
	{
		width: 740px;
	}
}
@media all and (max-width: 480px) {
	.checkbox_wrap > div
	{
		width: 50%;
	}
	h1,
	.header h3
	{
		font-size: 44px;
	}
	h2
	{
		font-size: 30px;
	}
	h3,
	.header h1
	{
		font-size: 18px;
	}
	h4
	{
		font-size: 16px;
	}
}