@charset "utf-8";
/* CSS Document */

html, body {
	/*height: 100%;*/
}

body {
	margin: 0;
	padding: 0;
	font-family: montserrat, sans-serif;
	font-style: normal;
	font-weight: 400;
	font-size: 18px;
	text-align: center;
	
	background-color: #000;
		
	line-height: 24px;
	color: #FFF;
}

body.text {
	text-align: left;
}

div 		{	display: block;		}
b 			{	font-weight: 400;	}
iframe 		{	border: 0;			}
a:hover 	{	cursor: pointer;	}
p a 		{	color: #d49da2;		}

header, footer, section, div, span, ul, li, a, form, select, label {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}

input, textarea, select {
	font-family: courier-prime, monospace;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

input[type="text"], input[type="email"], input[type="tel"], textarea {
	border-radius: 0px !important;
}

h2 {
    line-height: 36px;
}

.clearfix { position: relative; zoom: 1; }
.clearfix:before, .clearfix:after { content: "";	display: table; }
.clearfix:after { clear: both; }

::-webkit-scrollbar {			width: 1px;		height: 1px;							}
::-webkit-scrollbar-thumb {		background-color: rgba(0, 0, 0, 0.0) !important;		}
::-webkit-scrollbar-track {		background-color: rgba(0, 0, 0, 0.0);					}

* {
    -webkit-overflow-scrolling: touch;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

::-webkit-input-placeholder {
   color: rgba(255, 255, 255, 0.75);
}
:-moz-placeholder,
::-moz-placeholder {			color: rgba(255, 255, 255, 0.75);		opacity: 1;		}
:-ms-input-placeholder,
::-ms-input-placeholder {		color: rgba(255, 255, 255, 0.75);		}

input:read-only:hover,
textarea:read-only:hover {		cursor: default;		}


.op08 {	opacity: 0.8;	}
.op05 {	opacity: 0.5;	}



.inner {
	max-width: 1024px;
	margin: 0 auto;
}



 
.col {
	-webkit-column-gap: 40px;
	-moz-column-gap: 40px;
	column-gap: 40px;
}

.standard .col {
	/*-webkit-column-count: 3;	-moz-column-count: 3;	column-count: 3;*/
	-webkit-column-count: 2;	-moz-column-count: 2;	column-count: 2;
}

@media only screen and (max-width: 850px) {
	.standard .col {	-webkit-column-count: 2;	-moz-column-count: 2;	column-count: 2;	}
}
	
@media only screen and (max-width: 550px) {
	.standard .col {	-webkit-column-count: 1;	-moz-column-count: 1;	column-count: 1;	}
}

.standard .col {
	-webkit-column-gap: 40px;	-moz-column-gap: 40px;	column-gap: 40px;
}



.col_part_2 {					width: 44%;		float: left;	margin-right: 4%;	}
.col_part_3 {					width: 30%;		float: left;	margin-right: 5%;	}

.col_part_2:last-child,
.col_part_3:last-child {		margin-right: 0%;	}






@media only screen and (max-width: 1068px) {
	.col_part_2, .col_part_3 {
		float: none;
		width: 100%;
	}
	#sortiment .col_part_2:last-child {
		margin-top: 70px;
	}
}














/* **************************************************
*****************************************************
	
	HEADER

*****************************************************
************************************************** */

header {
	position: fixed;
	top: 0;
	
	width: 100%;
	height: 150px;
	
	padding: 0;
	z-index: 100;
}

header.ds {
	/*background-image: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);*/
	background-image: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100%);
}

header .inner {
	max-width: 1680px;
	height: 100%;
	margin: 0 auto;
	padding: 0 25px;
	position: relative;
	
}

header .logo {
	position: absolute;
	background-image: url(../sources/herz10_logo.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.standard header .logo {
	left: 50px;
	top: 20px;
	width: 460px;
	height: 250px;
}
.smartphone header .logo {
	top: 25px;
	left: -20px;
	height: 100px;
	width: 210px;
}




.instagram {
	display: block;
	position: absolute;
	top: 40px;
	right: 40px;
	width: 30px;
	height: 30px;
	
	text-decoration: none;
	background-image: url(../sources/instagram.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	z-index: 1000;
}


.donate {
	display: inline-block;
	padding: 13px 23px 10px;
	width: 140px;
	background: linear-gradient(288deg, rgba(196,81,136,1) 0%, rgba(231,96,47,1) 34%, rgba(255,227,51,1) 100%);
	font-weight: bolder;
	font-style: italic;
	line-height: 17px;
	color: #FFF;
	text-decoration: none;
	border-radius: 2px;
}
.standard header .donate {
	position: absolute;
	top: 27px;
	right: 120px;
	animation: call2action 1200ms cubic-bezier(0.6, 0, 0.4, 1) 0ms infinite normal;
}
.mobile header .donate {
	position: fixed;
	top: 200px;
	left: 50%;
	margin: 0 0 0 -70px;
}




.donate span {
	display: block;
	font-size: 10px;
	font-weight: normal;
}


.menu {
	position: absolute;
	right: 0px;
	top: 67px;
}

.menu a {
	margin-right: 40px;
	
	font-weight: 800;
	font-size: 22px;
	line-height: 27px;
	
	opacity: 1;
}

.menu a.active {
	opacity: 0.3;
}

.standard.pc .menu a:hover {
	animation: pulse 0.6s cubic-bezier(0.85, 0.0, 0.2, 1.0) 1 forwards;
}

@media only screen and (max-width: 1420px) {
	header {
		height: 120px;
	}
	.standard header .logo {
		width: 400px;
		height: 200px;
		left: 40px;
	}
	.menu a {
		font-size: 18px;
		line-height: 22px;
	}
}

section {
	position: relative;
	width: 100%;
}

#teaser {
	position: fixed;
	overflow: hidden;
	top: 0px;
}

#teaser .video_wrapper {
	position: relative;
	
}

#teaser video {
	position: absolute;
	top: 50%; 
	left: 50%;
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
	min-width: 101%; 
	min-height: 101%; 
	width: auto; 
	height: auto;
	overflow: hidden;
	background-color: #000;
}

@media only screen and (max-width: 1420px) {
	#teaser {
		/*	top: 120px;*/
	}
}

.arrow {
    position: fixed;
    margin: 0 0 0 -125px;
    bottom: 50px;
    left: 50%;
    width: 250px;
    height: 150px;
	background-image: url(../sources/arrow_down.svg);
	background-repeat: no-repeat;
	background-position: center;
}
.smartphone .arrow {
	height: 50px;
}

#scroll_transition {
	height: 450px;
	width: 100%;
	/*background-image: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);*/
	background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0) 100%);
}














/* ++++++++++++++++++++++++++++++++++++++

	Main Text

++++++++++++++++++++++++++++++++++++++ */
#main_text {
	padding: 50px 30px;
	background-color: rgba(0, 0, 0, 0.75);
}




/* ++++++++++++++++++++++++++++++++++++++

	Steps

++++++++++++++++++++++++++++++++++++++ */

#steps {
	padding: 100px 0;
	position: relative;
	background-color: rgba(0, 0, 0, 0.75);
}

#steps small {
	display: block;
	margin: 0 0 50px 0;
	text-align: center
}

.steps_wrapper {
	width: 100%;
	padding: 40px;
	overflow: hidden;
}
.standard .steps_wrapper {			height: 380px;	}
.smartphone .steps_wrapper {		padding: 0px;	}




.smartphone .steps_inner {
	height: 320px;
	width: 300%;
	transition: all 750ms cubic-bezier(0.7, 0, 0.25, 1) 0ms;
}






.steps_wrapper .step {
	display: block;
	float: left;
	
	margin: 50px 0px;
	padding: 0 40px;
	
	width: 33.3%;
	
	text-align: center;
	transition: all 750ms cubic-bezier(0.7, 0, 0.25, 1) 0ms;
}




.step .number {
	margin: 0 auto 30px auto;
	width: 60px;
	height: 60px;
	text-align: center;
	background-image: linear-gradient(0deg, rgb(240, 126, 33) 0%, rgb(255, 209, 0) 100%);
	transform: rotate(-45deg);
}

.step .number_inner {
	padding: 20px 0 0 0;
	width: 74px;
	transform: rotate(45deg);
	font-size: 30px;
	font-weight: bolder;
	text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.25);
}

.step .headline {
	margin: 20px 0;
	font-weight: bolder;
	font-style: italic;
	font-size: 40px;
	line-height: 45px;
}

.step_text {
	line-height:29px;
}




.step_dots div {
	display: inline-block;
	margin: 0 10px;
	width: 7px;
	height: 7px;
	
	background-color: rgba(0, 0, 0, 0.5);
	transition: background-color 500ms ease-in-out 0ms;
	transform: rotate(45deg);
}
.step_dots div.active {
	background-color: rgb(255, 209, 0);
}





.bar {
    margin: 0 0 30px 0;
    left: 0;
    right: 0;
    height: 2px;
    background-color: rgba(0, 0, 0, 0.5);
}

.bar .inner_bar {
	width: 0%;
	height: 2px;
	background-image: linear-gradient(0deg, rgb(240, 126, 33) 0%, rgb(255, 209, 0) 100%);
}

/* ++++++++++++++++++++++++++++++++++++++

	Links

++++++++++++++++++++++++++++++++++++++ */
#links {
	padding: 50px 0px;
	background-color: rgba(0, 0, 0, 0.75);
}

#links a.text {
	margin: 0 5px;
	padding: 5px 10px;
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0);
	
	transition: border-bottom 150ms ease-in-out 0ms;
}

#links a.text:hover {
	border-bottom: 1px solid rgba(255, 255, 255, 1);
}















#imprint {
	text-align: left;
	font-size: 14px;
}


.standard #imprint {		padding: 150px 50px 0 50px;		}
.smartphone #imprint {		padding: 150px 20px 0 20px;		}


#imprint h4 {
	margin-bottom: 5px;
}













footer {
	position: relative;
	padding: 50px 30px 150px 30px;
	background-color: rgba(0, 0, 0, 0.75);
}



footer a, footer span {
	margin: 0 5px;
	padding: 5px 10px;
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0);
	transition: border-bottom 150ms ease-in-out 0ms;
	font-size: 10px;
	opacity: 0.7;
}

footer a:hover {
	border-bottom: 1px solid rgba(255, 255, 255, 1);
}






