* {
	margin:0;
	padding:0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

body {
	font-family:'Open Sans', sans-serif;
	font-size: 16px;
	font-size: 1rem;
	background: #000;
	color: #fff;
	font-weight:400;
}

img {
	width: 100%;
	height:auto;
}

a {
	text-decoration:none;
}

li {
	list-style: none;
}

h1 {
	font-size: 100px;
	font-size: 6.25rem;
	text-transform:uppercase;
	font-weight: 300;
	padding: 0 10%;
}


h2 {
	font-size: 50px;
	font-size: 3.125rem;
	letter-spacing:6px;
	letter-spacing:0.375rem;
	text-transform:uppercase;
	font-weight: 700;
	margin-bottom: 40px;
	margin-bottom: 2.5rem;
	text-align:center;
}

h3 {
	font-size: 25px;
	font-size: 1.5625rem;
	font-weight: 400;
	text-transform: uppercase;
}

hr {
	width: 150px;
	width: 9.375rem;
	height: 2px;
	height: 0.125rem;
	background: #14181f;
	border: none;
	margin:0 auto;
	margin-bottom: 40px;
	margin-bottom: 2.5rem;
}

hr::after {
	content:'';
	width: 60px;
	width: 3.75rem;
	height: 4px;
	height: 0.25rem;
	background: #14181f;
	position: absolute;
	margin-left: 45px;
	margin-left: 2.8125rem;
	margin-top: -1px;
	margin-top: -0.0625;
}

section {
	min-height: 100vh;
	position: relative;
	z-index: 10;
}

.page-wrap {
}

.container {
	width: 100%;
	max-width: 1180px;
	max-width: 73.75rem;
	margin: 0 auto;
}

/*** Scroll Top ***/
#scroll-top-btn {
	position: fixed;
	right: 20px;
	right: 1.25rem;
	bottom: 0;
	z-index:999;
	width: 40px;
	width: 2.5rem;
	cursor: pointer;
}

#scroll-top-btn svg {
	object-fit: contain;
	width: 100%;
	height: 100%;
}

#scroll-top-btn:hover {
}

#scroll-top-btn svg line,
#scroll-top-btn svg polyline {
	transition: all 0.3s;
}

#scroll-top-btn:hover svg line,
#scroll-top-btn:hover svg polyline {
	stroke: #ff9900;
}

/*** Cookie ***/

.cc_container {
	background: #14181f !important;
}

.cc_container a, .cc_container a:visited {
	color: #ff9900 !important;
}
.cc_container a:hover, .cc_container a:visited:hover {
	color: #ccc !important;
}

.cc_container .cc_btn {
	background: #ff9900 !important;
	color: #000 !important;
	border-radius:0 !important;
	font-weight: 600;
}

.cc_container .cc_btn:hover {
	background: #ccc !important;
	color: #000 !important;
}

/*** Header ***/

header {
	position: absolute;
	padding: 20px;
	padding:  1.25rem;
	z-index: 100;
}

.logo {
	max-width: 200px;
	max-width: 12.5rem;
	width: 100%;
	position:fixed;
}

.main-nav {
	position: fixed;
	transform:rotate(90deg);
	right: -150px;
	right: -9.375rem;
	top: 140px;
	top: 8.75rem;
}

.main-nav {
	border-bottom: 3px solid #14181f;
	border-bottom: 0.1875rem solid #14181f;
	padding-bottom: 10px;
	padding-bottom: 0.625rem;
	padding-left: 80px;
	padding-left: 5rem;
}

.main-nav li{
	list-style:none;
	display:inline-block;
}

.main-nav a {
	color: #fff;
	text-transform:uppercase;
	margin-right:20px;
	margin-right:1.25rem;
	font-weight:600;
	transition: all 0.3s;
}

.main-nav a:hover,
.main-nav li.active a {
	color:#ff9900;
}

/*** Home ***/

.home {
	padding-top: 100px;
	padding-top: 6.25rem;
	text-align:center;
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: bottom;
}

.scroll-down-btn {
	position: absolute;
	bottom: 100px;
	bottom: 6.25rem;
	width: 100%;
}

.scroll-down-btn a {
	font-size: 14px;
	font-size: 0.875rem;
	color: #fff;
	padding-top: 60px;
	padding-top: 3.75rem;
	position: absolute;
	text-transform:uppercase;
	transition: all 0.3s;
	margin-left: -11px;
	margin-left: -0.6875rem;
}

.scroll-down-btn a:hover {
	color:#ff9900;
}

.scroll-down-btn a span {
	position: absolute;
	top: 0;
	left: 50%;
	width: 12px;
	width: 0.75rem;
	height: 12px;
	height: 0.75rem;
	margin-left: -6px;
	margin-left: -0.375rem;
	border-left: 2px solid #373e4f;
	border-left: 2px solid #373e4f;
	border-bottom: 2px solid #373e4f;
	border-bottom: 0.125rem solid #373e4f;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-animation: sdb07 2s infinite;
	animation: sdb07 2s infinite;
	opacity: 0;
	box-sizing: border-box;
}

.scroll-down-btn a span:nth-of-type(1) {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}
.scroll-down-btn a span:nth-of-type(2) {
  top: 8px;
  top: 0.5rem;
  -webkit-animation-delay: .15s;
  animation-delay: .15s;
}
.scroll-down-btn a span:nth-of-type(3) {
  top: 16px;
  top: 1rem;
  -webkit-animation-delay: .3s;
  animation-delay: .3s;
}
@-webkit-keyframes sdb07 {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes sdb07 {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}


/*** About ***/

.about {
	padding: 150px 60px;
	padding: 9.375rem 3.75rem;
	min-height: auto;
}

.outer {
	display: flex;
	width: 100%;
}

.bereich {
	padding: 20px 0;
	padding: 1.25rem 0;
	padding-right: 80px;
	padding-right: 5rem;
	text-align: right;
	border-right: 6px solid #14181f;
	border-right: 0.375rem solid #14181f;
}

.about li {
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 10px;
	margin-bottom: 0.625rem;
}

.about li::after{
	content: '';
	width: 5px;
	width: 5px;
	height: 5px;
	height: 5px;
	background: #ff9900;
	border-radius: 50%;
	position: absolute;
	margin: 15px 0 0 20px;
	margin: 0.9375rem 0 0 1.25rem;
}

.about-text {
	padding: 20px 0;
	padding: 1.25rem 0;
}

.about-text p {
	line-height: 200%;
	font-size: 24px;
	font-size: 1.25rem;
	font-weight: 300;
	text-align:center;
}

.about-text a {
  display: inline-block;
  position: relative;
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
  margin: 15px 30px;
  margin: 0.9375rem 3.75rem;
  background: #14181f;
  margin-top:40px;
  margin-top: 2.5rem;
}

.about-text a:hover {
	color: #ff9900;
}

.about-text a span{
  display: block;
  padding: 15px 80px;
  padding: 0.9375rem 5rem;
}
.about-text a::before, .about-text a::after{
  content:"";
  width: 0;
  height: 2px;
  height: 0.125rem;
  position: absolute;
  transition: all 0.2s linear;
  background: #ff9900;
}

.about-text a span::before, .about-text a span::after{
  content:"";
  width:2px;
  width:0.125rem;
  height:0;
  position: absolute;
  transition: all 0.2s linear;
  background: #ff9900;
}
.about-text a:hover::before, .about-text a:hover::after{
  width: 100%;
}
.about-text a:hover span::before, .about-text a:hover span::after{
  height: 100%;
}

/*----- button 4 -----*/
.btn-4::after{
  right:0;
  bottom: 0;
  transition-duration: 0.4s;
}
.btn-4 span::after{
  right:0;
  bottom: 0;
  transition-duration: 0.4s;
}
.btn-4::before{
  left: 0;
  top: 0;
  transition-duration: 0.4s;
}
.btn-4 span::before{
  left: 0;
  top: 0;
  transition-duration: 0.4s;
}

/*** Portfolio ***/

.portfolio {
	padding: 150px 60px;
	padding: 9.375rem 3.75rem;
}


.subline {
	text-align: center;
}
.subline li {
	display: inline-block;
	font-weight:600;
	font-size: 14px;
	font-size: 0.875rem;
	text-transform: uppercase;
	padding:0 10px;
	padding:0 0.625rem;
}

.subline li::after {
	content:'//';
	margin-left: 20px;
	margin-left: 1.25rem;
	font-weight: 400;
}

.subline li:last-child::after {
	content:none;
}

.gallery {
	max-width: 1440px;
	max-width: 90rem;
	width: 100%;
	margin: 0 auto;
	padding: 20px 0;
	padding: 1.25rem 0;
}

.gallery::after {
    content: '';
    display: block;
    clear: both;
}

.row {
	width: 100%;
	height: 640px;
	height: 40rem;
	overflow:hidden;
	transition:all 0.5s;
}

.row .one {
	width: 33.333%;
	height: 100%;
	float: left;
	padding: 5px;
	padding: 0.3125rem;
}

.row .double {
	width: 33.333%;
	height: 100%;
	float: left;
	padding: 5px;
	padding: 0.3125rem;
}

.row .big {
	width: 66.666%;
	height: 100%;
	float: left;
	padding: 5px;
	padding: 0.3125rem;
}

.row .fullscreen {
	width: 100%;
	height: 100%;
	float: left;
	padding: 5px;
	padding: 0.3125rem;
}

.image {
	width: 100%;
	height: 100%;
	background: #000;
}

.row .double .image {
	height: 310px;
	height: 19.375rem;
	width: 100%;
	transition:all 0.5s;
}

.row .double .image.top {
	margin-bottom: 10px;
	margin-bottom: 0.625rem;
}

.image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	transition: all 0.5s;
}

.image:hover img {
	opacity:0.5;
}

.extra-gallery {
	margin-top: 40px;
	margin-top: 2.5rem;
}

.extra-gallery .container {
	max-width: 1440px;
	max-width: 90rem;
	width: 100%;
	margin: 0 auto;
}

.headline {
	background: #14181f;
	position:relative;
	padding: 20px 0;
	padding: 1.25rem 0;
}

.headline h3 {
	position: absolute;
}

.extra-gallery-container {
	width: 100%;
	display: flex;
	height: 260px;
	height: 16.25rem;		
	margin-top: 40px;
	margin-top: 2.5rem;
}

.gallery-teaser {
	width: 25%;
	margin: 5px;
	margin: 0.3125rem;	
}

.gallery-teaser  .gallery-image {
	background: #fff;
	height: 100%;
}

.gallery-teaser .caption {
	margin-top: 5px;
	margin-top: 0.3125rem;
}

.gallery-teaser .caption::before {
	content:'';
	width: 20px;
	width: 1.25rem;
	height: 2px;
	height: 0.125rem;
	background: #ff9900;
	display:inline-block;
	margin-right:5px;
	margin-right:0.3125rem;
	float:left;
	margin-top: 12px;
	margin-top: 0.75rem;
	transition: all 0.5s;
}

.gallery-teaser .caption p {
	font-size: 18px;
	font-size: 1.125rem;
	font-weight:500;
}

.gallery-teaser:hover .caption::before {
	width: 40px;
	width: 2.5rem;
}

/*** Contact ***/

.contact {
	padding: 100px 0 60px 0;
	padding: 6.25rem 0 3.75rem 0;
	min-height: 100vh;
	background: url(../img/Marylin2.jpg) no-repeat left/ auto 100%;
}

.contact .container {
		text-align:center;
}

.contact p {
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 210%;
	font-weight:300;
}

.contact a {
	color: #fff;
	transition: all 0.3s;
}

.contact a:hover {
	color: #ff9900;
}

.contact .mail::before,
.contact .phone::before {
	content:'';
	background-image: url(../img/mail.svg);
	background-size: contain;
	background-repeat:no-repeat;
	background-position:center bottom;
	width: 30px;
	width: 1.875rem;
	height:30px;
	height:1.875rem;
	display:inline-block;
	margin-right:20px;
	margin-right:1.25rem;
}

.contact .phone::before {
	background-image: url(../img/phone.svg);
}

.social {
	margin-top: 40px;
	margin-top: 2.5rem;
	margin-bottom: 20px;
	margin-bottom: 1.25rem;
}

.social a {
	width: 50px;
	width: 3.125rem;
	height: 50px;
	height: 3.125rem;
	border-radius: 50%;
	margin: 0 10px;
	margin: 0 0.625rem;
	margin-bottom: 20px;
	margin-bottom: 1.25rem;
	background: #ff9900;
	display: inline-block;
	transition: all 0.3s;
	padding-top: 13px;
	padding-top: 0.8125rem;
}

.footer-links {
	position:absolute;
	bottom: 40px;
	bottom: 2.5rem;
	width: 100%;
	text-align:center;
}

.footer-links a {
	text-transform: uppercase;
	color: #fff;
	font-weight: 600;
	display: inline-block;
}

.footer-links a:hover {
	color: #fff;
}

.footer-links a::after {
	content:'';
	width: 0px;
	height: 2px;
	height: 0.125rem;
	background: #ff9900;
	display: block;
	margin-top: 3px;
	margin-top: 0.1875rem;
	transition: all 0.5s;
}

.footer-links a:hover::after {
	width: 230px;
	width: 14.375rem;
}

.footer-links p {
	font-size: 12px;
	font-size: 0.75rem;
}

.social svg {
	width: 25px;
	width: 1.5625rem;
	height:auto;	
}

.social a:hover {
	background: #14181f;
}

.social a svg path {
	transition: all 0.3s;
}

.social a:hover svg path {
	fill: #fff;
	transition: all 0.3s;
}

/* Impressum & Datenschutz */

.fancybox-content {
	color: #000;
	padding: 40px;
	padding: 2.5rem;
}

.fancybox-bg {
	background: rgb(0,0,0);
}


.fancybox-hr {
	width: 100%;
	margin: 60px 0;
	margin: 3.75rem 0;
}

.fancybox-hr::after {
	content: none;
}

.fancybox-close-small {
	background: #000;
	border-radius:100%;
}

.fancybox-slide--html .fancybox-close-small {
	top: 15px;
	top: 0.9375rem;
	right: 20px;
	right: 1.25rem;
	opacity:1;
}

.fancybox-slide--html .fancybox-close-small:hover {
	background:#ff9900;
}

.fancybox-button svg path {
    fill: #fff;
}

.fancybox-content h3 {
	font-weight: 600;
	margin-bottom:15px;
	margin-bottom: 0.9375rem;
}

.fancybox-content h4 {
	margin-top: 20px;
	margin-top: 1.25rem;
}

.fancybox-content  a {
	color:#ff9900;
}

 /* RESPONSIVE */
 
 @media screen and (min-width: 2560px) {
    html {
        font-size: 125%;
    }
}
 
@media (orientation: portrait) {
.home {background-image:url(../img/bg-landscape2.jpg); }

}

@media (orientation: landscape) {
.home {background-image:url(../img/bg-landscape.jpg); }
}

@media screen and (max-width: 1199px) {
h1 {
	font-size: 80px;
	font-size: 5rem;
}
.logo {
	max-width: 150px;
	max-width: 9.375rem;
	}
}

@media screen and (max-width: 959px) {
h1 {
	font-size: 50px;
	font-size: 3.125rem;
}
.logo {
	position:relative;
}
.main-nav  {
	top: 120px;
	top:7.5rem;
}
.main-nav a {
	font-size: 14px;
	font-size: 0.875rem;
}
.row {
	height: 340px;
	height: 21.25rem;
}
.row .double .image {
	height: 160px;
	height: 10rem;
}
.about,
.portfolio {
	padding: 100px 60px;
	padding: 6.25rem 3.75rem;
}

}

@media (max-width: 959px) and (orientation: portrait) {
	header {
		width: 100%;
	}
	.logo {
		margin: 0 auto;
	}
	.home{
		/*padding-top: 150px;
		padding-top: 9.375rem;*/
		padding-top:40%;
	}
	.contact {
		background-position: -300px;
		background-position: -18.75rem;
	} 
}

@media (max-width: 959px) and (orientation: landscape) {
	.home{
		padding-top: 60px;
		padding-top: 3.75rem;
	}
	.contact {
		background-position: -100px;
		background-position: -6.25rem;
	} 
}

@media screen and (max-width: 767px) {
html {
	font-size: 87.5%; /* 16px auf 14px */
	}
	
.about, .portfolio {
    padding: 80px 40px;
    padding: 5rem 2.5rem;
}
.main-nav {
	top: 100px;
	top: 6.25rem;
	right: -140px;
	right: -8.75rem;
}
.main-nav a {
	font-size: 12px;
	font-size: 0.75rem;
}

.fancybox-hr {
	margin: 40px 0;
	margin: 2.5rem 0;
}

.fancybox-content {
	padding: 20px;
	padding: 1.25rem;
}

@media screen and (max-width: 639px) {
h2 {
	font-size: 35px;
	font-size: 2.1875rem;
}
}

@media (max-width: 639px) and (orientation: landscape) {
	h1 {
		font-size: 30px;
		font-size: 1.875rem;
	}
	.logo {
		max-width: 120px;
		max-width: 7.5rem;
	}
	.home {
		padding-top: 40px;
		padding-top: 2.5rem;
	}
}

@media screen and (max-width: 479px) {
.contact p {
	font-size: 20px;
	font-size: 1.25rem;
}
.footer-links p {
    font-size: 12px;
    font-size: 0.75rem;
}
.fancybox-content h3 {
	font-size: 20px;
	font-size: 1.25rem;
}
}


@media screen and (max-width: 479px) and (orientation: portrait){
.row {
	height: 200px;
	height: 12.5rem;
}
.row .double .image {
	height: 90px;
	height: 5.625rem;
}
}

@media (max-height:479px) and (orientation: landscape) {
	.social {
		margin-top: 20px;
		margin-top: 1.25rem;
	}
	.social a {
		width: 40px;
		width: 2.5rem;
		height: 40px;
		height: 2.5rem;
	}
	.social svg {
		width: 15px;
		width: 0.9375rem;
	}
}

@media screen and (max-height: 319px) {
	#scroll-top-btn {
		width: 30px;
		width: 1.875rem;
	}
}

@media (max-height: 319px) and (orientation: landscape) {
	.home {
		padding-top: 20px;
		padding-top: 1.25rem;
	}
	.logo {
		max-width: 80px;
		max-width: 5rem;
	}
}