@font-face {
    font-family: 'hn85';
    src: url('../fonts/hn85.eot');
    src: url('../fonts/hn85.eot?#iefix') format('embedded-opentype'),
url('../fonts/hn85.woff') format('woff'),
url('../fonts/hn85.ttf') format('truetype'),
url('../fonts/hn85.svg#hn85') format('svg');
}
@font-face {
    font-family: 'hn86';
    src: url('../fonts/hn86.eot');
    src: url('../fonts/hn86.eot?#iefix') format('embedded-opentype'),
url('../fonts/hn86.woff') format('woff'),
url('../fonts/hn86.ttf') format('truetype'),
url('../fonts/hn86.svg#hn86') format('svg');
}
@font-face {
    font-family: 'hn25';
    src: url('../fonts/hn25.eot');
    src: url('../fonts/hn25.eot?#iefix') format('embedded-opentype'),
url('../fonts/hn25.woff') format('woff'),
url('../fonts/hn25.ttf') format('truetype'),
url('../fonts/hn25.svg#hn25') format('svg');
}
@font-face {
    font-family: 'hn26';
    src: url('../fonts/hn26.eot');
    src: url('../fonts/hn26.eot?#iefix') format('embedded-opentype'),
url('../fonts/hn26.woff') format('woff'),
url('../fonts/hn26.ttf') format('truetype'),
url('../fonts/hn26.svg#hn26') format('svg');
}

body, html { padding: 0; margin: 0; height: 100%;}

*,
*:after,
*:before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

body {
	font-family: 'hn85', Helvetica Neue, Arial, Helvetica, sans-serif;
	background-color: #000;
	font-size: 250%;
	font-weight: normal;
	font-style: normal;
	line-height:1.125;
	color: #000;
	letter-spacing: -1px;
	text-rendering: optimizeLegibility;
}

.iubenda-cs-brand-badge {
	display: none !important;
}
p.oldbrowser {
	text-align:center;
}
p.oldbrowser a {
	color: #F1921E;
}

a {
	color: #FFF;
	text-decoration: none;
	font-weight: normal;
	-webkit-transition: .5s;
	transition: .5s;
}
a:hover {
	color: #999;
	color: rgba(255,255,255,0.5);
	-webkit-transition: .5s;
	transition: .5s;
}

.container { height: 100%; }

.bl-main {
	position: absolute;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.bl-main section {
	position: absolute;
	width:50%;
	background: #F1921E;
}
.bl-main section p {
	color: #F1921E;
	font-size:1em;
}
.bl-main section.first {
	height:60%;
	top: 0;
	left: 0;
	border-top:20px solid #FFF;
	border-left:20px solid #FFF;
}
.bl-main section.second {
	height:60%;
	top: 0;
	left: 50%;
	border-top:20px solid #FFF;
	border-right:20px solid #FFF;
}
.bl-main section.third {
	height:40%;
	top: 60%;
	left: 0;
	border-bottom:20px solid #FFF;
	border-left:20px solid #FFF;
}
.bl-main section.fourth {
	height:40%;
	top: 60%;
	left: 50%;
	border-bottom:20px solid #FFF;
	border-right:20px solid #FFF;
}

.bl-box {
	position: relative;
	width: 100%;
	height: 100%;
	cursor: pointer;
	opacity: 1;
	/* Centering with flexbox */
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -moz-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
}
.flexstart {
    align-items: flex-start;
}
.flexend {
    align-items: flex-end;
}

.bl-box div {
	margin: 0;
	padding:0;
	width: 50%;
	height:150px;
	overflow:visible;
}
.bl-box div.projekte {
	margin: 0 0 0 50%;
	border-bottom:1px solid #000;
}
.bl-box div.sk {
	margin:0 50% 0 0;
	border-bottom:1px solid #000;
	border-left:1px solid #000;
}
.bl-box div.kontakt {
	margin: 0 0 0 50%;
}
.bl-box div.impressum {
	margin:0 50% 0 0;
	border-left:1px solid #000;
}

.bl-box div.projekte h2 {
	text-align: right;
	opacity:0.6;
}
.bl-box div.sk h2 {
	text-align: left;
}
.bl-box div.kontakt h2 {
	text-align: right;
	opacity:0.4;
}
.bl-box div.impressum h2 {
	text-align: left;
	opacity:0.2;
}

.bl-box h2 {
	padding: 0 5%;
	margin:0;
	font-weight:normal;
	color: #000;
	line-height:150px;
	font-size:1em;
}

.schaafkopp {
	background-image: url(../img/schaafkopp.png);
	background-size: 360px 360px;
	background-repeat:no-repeat;
	background-position:0 100%;
}

/* Retina */
@media (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
.schaafkopp {
	background-image: url(../img/schaafkopp@2x.png);
}
}

.bl-icon {
	speak: none;
	text-transform: none;
	line-height: 1;
	cursor: pointer;
	-webkit-font-smoothing: antialiased;
	color:#FFF;
}

.bl-icon:before {
	display: block;
	font-size:1em;
	margin:0;
}

.bl-icon-close {
	cursor: pointer;
	border-top:1px solid #FFF;
	text-align:center;
}
.bl-main section .bl-icon-close {
	position: absolute;
	width:45px;
	right: 25px;
	top: 90px;
	margin:0;
	padding:20px 0 0;
	z-index: 100;
	opacity: 0;
	pointer-events: none;
	font-size:40px;
}

.bl-content {
	opacity: 0;
	pointer-events: none;
	position: absolute;
	top: 20px;
	left: 20px;
	right: 95px;
	bottom: 20px;
	padding: 0;
	overflow: hidden;
	overflow-y: auto;
	border:1px solid #F1921E;
}

.logo {
	position:absolute;
	display:block;
	right:10px;
	top:20px;
	width:75px;
	height:50px;
	background-image: url(../img/button.png);
	background-size: 75px 50px;
	background-repeat:no-repeat;
	background-position: right top;
	opacity:0;
}
/* Retina */
@media (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
.logo {
	background-image: url(../img/button@2x.png);
}
}

/* Custom content */

.bl-content p {
	margin: 0;
	padding:20px;
	font-size:1em;
}
.bl-content div {
	display:table;
	height:100%;
	width:100%;
	margin:0;
	padding:0;
}
.portrait {
	padding:0;
	background-image: url(../img/hannoschaaf.png);
	background-size: 450px 610px;
	background-repeat:no-repeat;
	background-position: -225px center;
	background-attachment:fixed;
}

/* Retina */
@media (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
.portrait {
	background-image: url(../img/hannoschaaf@2x.png);
}
}
.right p {
	text-align:right;
}
.bl-content div p {
	display:table-cell;
	vertical-align:middle;
}
p span {
	opacity:0.5;
}

.bl-content ul#bl-work-items {
	list-style: none;
	padding: 0;
	margin: 1%;
} 

.bl-content ul#bl-work-items li {
	display: block;
	float:left;
	width: 8%;
	margin: 0 1% 2%;
	padding: 0;
	background-color:#FFF;
	border: 1px solid #F1921E;
}

.bl-content ul#bl-work-items li img {
	display: block;
	line-height:0;
	width:100%;
	height:auto;
}

/* Panel Items */

div.bl-panel-items,
div.bl-panel-items div.panelitem {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
div.bl-panel-items div.panelitem div {
	position: absolute;
	width: 400px;
	margin: 0 auto;
	padding:0 0 20px;
	opacity: 1;
	bottom: 20px;
	top: 70px;
	left: 0;
	right: 0;
	pointer-events: auto;
	overflow: hidden;
	overflow-y: auto;
	border:1px solid #F1921E;
	background-color:#000;
}
div.bl-panel-items div.panelitem div p {
	margin:20px 0 0;
	padding:0 10px;
	text-align:center;
	color:#F1921E;
}

div.bl-panel-items div.panelitem div img {
	margin:0 0 40px;
	padding:0;
	line-height:0;
	display:block;
	width:100%;
	height:auto;
	max-width: 400px;
	background-color:#FFF;
	border-bottom:1px solid #F1921E;
}

div.bl-panel-items {
	top: 100%;
	z-index: 9999;	
}

div.bl-panel-items div.panelitem {
	z-index: 0;
	opacity: 0;
	-webkit-transform: translateY(0);
	-webkit-transition: -webkit-transform 0.5s ease-in-out, opacity 0s linear 0.5s;
	-moz-transform: translateY(0);
	-moz-transition: -moz-transform 0.5s ease-in-out, opacity 0s linear 0.5s;
	transform: translateY(0);
	transition: transform 0.5s ease-in-out, opacity 0s linear 0.5s;
	-ms-transform: translateY(0);
}

div.bl-panel-items nav {
	position: fixed;
	display:table;
	width:400px;
	height:40px;
	top:0;
	right: calc(50% - 200px);
	left: calc(50% - 200px);
	margin:10px 0;
	-webkit-transition: opacity 0.2s ease-in-out 0.5s;
	-moz-transition: opacity 0.2s ease-in-out 0.5s;
	transition: opacity 0.2s ease-in-out 0.5s;
	opacity:0;
	z-index: 9999;
}

div.bl-panel-items nav .logo {
	position: relative;
    display: table-cell;
	right:auto;
	top:auto;
	width:auto;
    min-width: 100px;
	height:40px;
	background-size: 60px 40px;
	background-position: center center;
    border-right:1px solid #FFF;
    border-left:1px solid #FFF;
    opacity: 1;
}
div.bl-panel-items nav span.bl-icon-close, 
div.bl-panel-items nav span.bl-next-work {
	position: relative;
    display: table-cell;
    top: 0;
	height:40px;
    line-height: auto;
	width:auto;
    min-width: 100px;
	cursor: pointer;
	padding:0;
    margin:0;
	font-size:32px;
	text-align:center;
    vertical-align: middle;
}
div.bl-panel-items nav span.bl-icon-close {
	border-top:none;
}
div.bl-panel-items nav span.bl-next-work {
	speak: none;
	text-transform: none;
	cursor: pointer;
	color:#FFF;
	-webkit-font-smoothing: antialiased;
}
div.bl-panel-items.bl-panel-items-show nav {
	opacity: 1;
}

div.bl-panel-items div.bl-show-work {
	z-index: 1000;
	opacity: 1;
	-webkit-transform: translateY(-100%);
	-webkit-transition: -webkit-transform 0.5s ease-in-out;
	-moz-transform: translateY(-100%);
	-moz-transition: -moz-transform 0.5s ease-in-out;
	transform: translateY(-100%);
	transition: transform 0.5s ease-in-out;
	-ms-transform: translateY(-100%);
}

div.bl-panel-items div.bl-hide-current-work {
	opacity: 0;
	-webkit-transition: -webkit-transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
	-webkit-transform: translateY(-100%) scale(0.5);
	-moz-transition: -moz-transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
	-moz-transform: translateY(-100%) scale(0.5);
	transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
	transform: translateY(-100%) scale(0.5);
	-ms-transform: translateY(-100%) scale(0.5);
	z-index: 0;
}

/* Transition classes and properties */
/* Separated for a better overview and control */

.bl-main section {
	-webkit-transition: all 0.5s ease-in-out;
	-moz-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
}

.bl-main section.bl-expand {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: #000;
	border:none;
}

.bl-main section.bl-expand-top {
	z-index: 100;
}

.bl-main.bl-expand-item section:not(.bl-expand),
.bl-main.bl-expand-item section.bl-scale-down {
	-webkit-transform: scale(0.5);
	-moz-transform: scale(0.5);
	-ms-transform: scale(0.5);
	transform: scale(0.5);
	opacity: 0;
}

.bl-box {
	-webkit-transition: opacity 0.2s linear 0.5s;
	-moz-transition: opacity 0.2s linear 0.5s;
	transition: opacity 0.2s linear 0.5s;
}

section.bl-expand .bl-box {
	opacity: 0;
	-webkit-transition: opacity 0s linear;
	-moz-transition: opacity 0s linear;
	transition: opacity 0s linear;
}

.bl-box h2 {
	-webkit-transition: all 0.5s ease-in-out;
	-moz-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
}
.no-touch section:not(.bl-expand) .bl-box:hover h2 {
	color:#FFF;
	opacity:1;
}


.bl-content,
.bl-icon-close, 
.logo {
	-webkit-transition: opacity 0.1s linear 0s;
	-moz-transition: opacity 0.1s linear 0s;
	transition: opacity 0.1s linear 0s;
}

section.bl-expand .bl-content,
section.bl-expand .bl-icon-close, 
section.bl-expand .logo {
	pointer-events: auto;
	opacity: 1;
	-webkit-transition: opacity 0.3s linear 0.5s;
	-moz-transition: opacity 0.3s linear 0.5s;
	transition: opacity 0.3s linear 0.5s;
}

/*	Formular		---------------------------------------------------------------------------------------------------- */

.formular p {
	margin:0;
}
.formular i {
	text-align:center;
	width:1.625em;
	margin:0;
}
.formular ul {
	list-style:none;
	margin:0;
	padding:0;
}
.formular li {
	font-family: 'hn85', Helvetica Neue, Arial, Helvetica, sans-serif;
	font-size:1em;
	color: #333;
	position:relative;
	display:block;
	margin:0;
	padding:0;
	border-bottom:1px solid #F1921E;
}
.formular li:first-of-type {
	border-top:1px solid #F1921E;
}
.formular li.noborder {
	border:none;
}
input[type="text"], textarea { 
	width:100%;
	font-family: 'hn85', Helvetica Neue, Arial, Helvetica, sans-serif;
	font-size: 1em;
	color: #FFF;
	background-color: transparent;
	padding:6px 20px 3px;
	margin:0;
	border:none;
	display: block;
	resize: none;
}
input[type="text"]:focus, textarea:focus {
	background-color: #F1921E;
	color: #000;
}
input[type="submit"]{
	font-family: 'hn85', Helvetica Neue, Arial, Helvetica, sans-serif;
	font-size:1em;
	background-color: #000;
	color:#FFF;
	padding:5px 0 0 20px;
	margin:0;
	border:none;
	cursor:pointer;
	-webkit-appearance: none;
}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #FFF;
}
::-moz-placeholder { /* Firefox 19+ */
  color: #FFF;
}
:-ms-input-placeholder { /* IE 10+ */
  color: #FFF;
}
:-moz-placeholder { /* Firefox 18- */
  color: #FFF;
}


/*	Sent		---------------------------------------------------------------------------------------------------- */

.sent {
	position: absolute;
	top: 20px;
	left: 20px;
	right: 20px;
	bottom: 20px;
	padding: 0;
	margin:0;
	border:1px solid #F1921E;
}
.sent img {
	display:block;
	margin:20px auto;
	padding:0;
}
.sent div {
	display:table;
	margin:0;
	padding:0;
}
.sent div p {
	display:table-cell;
	vertical-align:middle;
	text-align:center;
	margin: 0;
	padding:10px;
	font-size:1em;
	color: #F1921E;
}


@media only screen and (min-width: 1920px) {

p.oldbrowser {
	display:none;
}

}

@media only screen and (max-width: 1920px) {

body {
	font-size: 225%;
}
p.oldbrowser {
	display:none;
}
.bl-box div {
	height:125px;
}
.bl-box h2 {
	padding: 0 5%;
	line-height:125px;
}
.schaafkopp {
	background-size: 324px 324px;
}
.bl-content ul#bl-work-items li {
	width: 10.5%;
}
}

@media only screen and (max-width: 1600px) {

body {
	font-size: 200%;
}
.bl-box div {
	height:90px;
}
.bl-box h2 {
	padding: 0 5%;
	line-height:90px;
}
.schaafkopp {
	background-size: 288px 288px;
}

}

@media only screen and (max-width: 1280px) {

body {
	font-size: 187.5%;
}
.bl-box div {
	height:70px;
	width: 75%;
}
.bl-box h2 {
	padding: 0 10%;
	line-height:70px;
}
.schaafkopp {
	background-size: 270px 270px;
	background-position:5% 105%;
}
.bl-box div.projekte, 
.bl-box div.kontakt {
	margin: 0 0 0 25%;
}
.bl-box div.sk, 
.bl-box div.impressum {
	margin:0 25% 0 0;
}

}

@media only screen and (max-width: 1024px) {

body {
	font-size: 175%;
}
.bl-main section.first {
	border-top:10px solid #FFF;
	border-left:10px solid #FFF;
}
.bl-main section.second {
	border-top:10px solid #FFF;
	border-right:10px solid #FFF;
}
.bl-main section.third {
	border-bottom:10px solid #FFF;
	border-left:10px solid #FFF;
}
.bl-main section.fourth {
	border-bottom:10px solid #FFF;
	border-right:10px solid #FFF;
}
.bl-main section.bl-expand {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	border:none;
}

.bl-box div {
	height:65px;
}
.bl-box h2 {
	padding: 0 10%;
	line-height:65px;
}
.schaafkopp {
	background-size: 252px 252px;
}
.bl-content {
	top: 10px;
	left: 10px;
	bottom: 10px;
}


.bl-main section .bl-icon-close {
	top:80px;
}
.logo {
	top:10px;
}


div.bl-panel-items div.panelitem div {
	top: 70px;
	bottom: 10px;
}

.bl-content ul#bl-work-items li {
	width: 18%;
}
.bl-content p {
	padding:20px;
}

div.bl-panel-items div.panelitem div img {
	margin:0 0 30px;
}
}

@media only screen and (max-width: 800px) {

body {
	font-size: 162.5%;
}
.bl-box div {
	height:60px;
}
.bl-box h2 {
	padding: 0 10%;
	line-height:60px;
}
.schaafkopp {
	background-size: 234px 234px;
}

}

@media only screen and (max-width: 640px) {

body {
	font-size: 150%;
}
.bl-box div {
	height:50px;
}
.bl-box h2 {
	padding: 0 10%;
	line-height:50px;
}
.schaafkopp {
	background-size: 200px 200px;
}
.portrait {
	background-size: 300px 407px;
	background-position: -150px center;
}

}


@media only screen and (max-width: 480px) {

body {
	font-size: 125%;
}
.bl-main section.first, 
.bl-main section.second, 
.bl-main section.third, 
.bl-main section.fourth {
	border:none;
}
.bl-main section.bl-expand {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.bl-box div {
	height:40px;
}
.bl-box h2 {
	padding: 0 10%;
	line-height:40px;
}
.schaafkopp {
	background-size: 180px 180px;
}
.bl-content {
	top: 0;
	left: 0;
	right: 65px;
	bottom: 0;
	border-bottom:none;
	border-top:none;
	border-left:none;
}
.bl-content p {
	padding:10px;
}

.bl-main section .bl-icon-close {
	width:35px;
	top: 60px;
	right:15px;
}
.logo {
	width:45px;
	height:30px;
	background-size: 45px 30px;
}

div.bl-panel-items div.panelitem div img {
	max-width: 100%;
}
}

@media only screen and (max-width: 400px) {

body {
	font-size: 100%;
}
.schaafkopp {
	background-size: 150px 150px;
}
div.bl-panel-items div.panelitem div {
    width: 100%;
	border-right:none;
	border-left:none;
	border-bottom:none;
}
}