/* @override 
	http://localhost/dahl-media.de/html/css/style.css */

div.img img{
	width: 100%;
	height: auto;
}

/* @group MENU */

.menuswitch{
	position: absolute;
	right: 0.5em;
	top: 0em;
	cursor: pointer;
	padding: 1em;
	width: 2em;
}
.menuswitch .bar{
	background-color: #333;
	width: 100%;
	height: .25em;
	display: block;
	border-radius: .125em;
	margin-top: 0.375em;
}
.menu .logo{
	display: inline-block;
}
.menu .logo span{
	font-size: 2em;
	display: inline-block;
	height: .8em;
}
.menu .logo span.icon-logoDahl{
	color: #af040c;
}
.menu .logo span.icon-logoMedia{
	color: #514a4a;
	margin-left: -0.47em;
}
/*nav:before{
	height: 65px;
	display: block;
	content: '';
}*/
.menu{
	position: fixed;
	width: 100%;
	z-index: 4;
	background-color: #fff;
	opacity: 0.95;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
	padding-top: 1em;
	min-height: 4em;
	box-sizing: border-box;
	-webkit-transition: top ease-out 1s;
	transition: top ease-out 1s;
	
	top: 0;
}
body.js .menu{
	top: -5em;
}
nav.show .menu{
	top: 0px;
}
.menu>ul{
	display: none;
	padding: 0;
}
.menu>ul>li>a{
	color: #514a4a;
	text-transform: uppercase;
}
.menu>ul>li>a:hover,
.menu>ul>li.active>a{
	color: #af040c;
}
@media (max-width:75em){
	.menu.open>ul{
		display: block;
		text-align: center;
		padding: 3em 0 3em;
		margin: 0;
		list-style: none;
	}
	.menu.open>ul>li>a{
		display: block;
		padding: .625em 0 .5em;
	}
	.menu.open>ul>li:before{
		width: 70%;
		max-width: 22em;
		background-color: #e5e4e4;
		display: block;
		margin: 0 auto;
		height: .1875em;
		content: '';
	}
	.menu.open>ul>li:first-child:before{
		display: none;
	}
}
@media (min-width:75.1em){
	.menuswitch{
		display: none;
	}
	.menu>ul{
		display: block;
		float: right;
		margin-top: .5em;
		margin-bottom: .5em;
	}
	.menu>ul>li{
		display: inline;
	}
	.menu>ul>li>a{
		padding-right: 2em;
	}
}
@media (max-height:30em) {
	nav{
		font-size: .8em;
	}
	.menu.open>ul{
		padding: 1em 0 1em;
	}
}


/* @end */


/* @group TYPOGRAPHY */



body{
	margin: 0;
	font: 16px/24px dahlfont, Arial, Helvetica, Geneva, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
h1{
	font-size: 1.5em;
	font-weight: bold;
	text-transform: uppercase;
	line-height: 1.2em;
	margin: 1em;
}
@media (min-width:40em) {
	section{
		font-size: 1.1em;
	}
	h1{
		font-size: 1.8em;
		letter-spacing: 2px;
	}
}
@media (min-width:60em) {
	section{
		font-size: 1.2em;
	}
}

h1:first-child{
	padding-top: 1em;
	margin-top: 0;
}

h2{
	background-color: #e5e4e4;
	color: #514a4a;
	font-weight: bold;
	padding: 1em .7em .7em;
	font-size: 1.3em;
	margin-bottom: 0;
	margin-top: 0;
	line-height: 1.2;
}/*
h2{
	background-color: #e5e4e4;
	color: #514a4a;
	font-weight: bold;
	text-align: left;
	padding: 1.2em 1.4em 1em;
	line-height: 1.25em;
	font-size: 1em;
	margin-bottom: 0;
	margin-top: 0;
	text-transform: uppercase;
}
@media (min-width:32.8em) {
	h2{
		padding-left: calc(50vw - 15em);
	}
}*/
h2:first-child{
	margin-top: 0;
}

/* @group H3 and DL */

h3{
	font-size: 1em;
	text-transform: uppercase;
	font-weight: bold;
	font-style: normal;
	display: block;
	margin: 1.5em auto 0;
	line-height: 1.4em;
}
h3:after{
	width: 70%;
	max-width: 350px;
	background-color: #e5e4e4;
	display: block;
	margin: 5px auto 10px;
	height: 1px;
	content: '';
}
h3+p{
	margin-top: .6em;
	line-height: 1.2em;
}
.bg h3:after{
	background-color: #797b7c;
}


dl{
	margin: 0;
}
dt{
	font-size: 1em;
	text-transform: uppercase;
	font-weight: bold;
	font-style: normal;
	display: block;
	margin: 0 auto;
	line-height:1.4em;
}
dt:before{
	width: 70%;
	max-width: 350px;
	background-color: #e5e4e4;
	display: block;
	margin: 0 auto 1em;
	height: 1px;
	content: '';
}
dl:first-of-type>dt:before{
	display: none;
}
dd{
	line-height: 1.2em;
	font-size: .8em;
	margin: 0;
	padding-bottom: 1em;
}
dl small{
	display: block;
	background-color: #fff;
	color: #514a4a;
	padding-top: .8em;
	padding-bottom: .8em;
	
	width: 70%;
	max-width: 350px;
	background-color: #e5e4e4;
	margin: 1em auto -1.3em;
}
dl small a,
.bg dl small a{
	color: #514a4a;
}
.bg dt:after{
	background-color: #797b7c;
}

/* @end */

a.biglink{
	font-weight: bold;
	display: block;
	margin-bottom: 1.5em;
}
a.biglink:before{
	width: 70%;
	max-width: 350px;
	background-color: #e5e4e4;
	display: block;
	margin: 0 auto 1em;
	height: .15em;
	content: '';
}
a.biglink span.icon-play{
	display: inline-block;
	background-color: #e62117;
	color: #fff;
	width: 2em;
	line-height: 1.5em;
	border-radius: .4em;
}
a{
	text-decoration: none;
}
.fg a{
	color: #514a4a;
}
.bg h1,.bg h3,.bg a{
	color: #d7dee2;
}
p{
	margin: 1em;
	line-height: 1.4em;
}
.copy{
	max-width: 30em;
	margin: 0 auto;
	
}

/* @end */


/* @group READ ON */

a.more:before{
	width: 70%;
	max-width: 350px;
	background-color: #e5e4e4;
	display: block;
	margin: 0 auto;
	height: .15em;
	content: '';
}
a.more{
	display: block;
	line-height: 3em;
	padding-right: 1em;
	padding-left: 1em;
	font-weight: bold;
}
body.nojs a.more{
	display: none;
} 
div.readon+a.more>.open{
	display: none;
}
div.readon.open+a.more>.open{
	display: block;
}
div.readon+a.more>.close{
	display: block;
}
div.readon.open+a.more>.close{
	display: none;
}
.bg a.more{
	border-top-color: #797b7c;
}
body.js div.readon{
	display: none;
}
div.readon h3:first-child,
div.readon h2:first-child,
div.readon h1:first-child,
div.readon p:first-child{
	margin-top: 0;
}

/* @end */

/* @group SECTIONS */



section{
	text-align: center;
}
section.bg{
	background-color: #514a4a;
	color: #e5e4e4;
}
section.fg{
	background-color: #fff;
	color: #514a4a;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
	position: relative;
	z-index: 1;
	padding-bottom: 1px; 	/* prevent margin under */
}

/* @end */

/* @group SECTION.INTRO */

section.intro{
	height: 100vh;
	overflow: hidden;
	position: relative;
	width: 100%;
	z-index: 5;
}
section.showlogo{
	z-index: 0;
}
section.intro .preload{
	height: 100vh;
	padding-top: 50vh;
}
section.intro.showlogo .preload{
	display: none;
}

.logoIntro{
	height: 100vh;
	-webkit-transition: height 0.5s ease-out 3s;
	transition: height 0.5s ease-out 3s;
}
.showlogo .logoIntro{
	height: 50vh;
}
@media (max-height:30em) {
	.showlogo .logoIntro{
		font-size: .6em;
		height: 40vh;
	}
	.showlogo .copy{
		font-size: .9em;
	}
}
.logoIntro>div{
	display: block;
	width: 13em;
	height: 13em;
	margin: 0 auto;
	
	position: relative;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.logoIntro .flower{
	color: #e5e4e4;
}
.logoIntro .flower span{
	position: absolute;
	font-size: 5.73em;
	top: -0.04em;
	line-height: 1em;
	left: .01em;
	opacity: 1;
	display: block;
}
.logoIntro .flower span.icon-logoBtm{
	top: 1.32em;
	font-size: 5.95em;
}
.logoIntro div img{
	display: block;
	width: 100%;
	height: auto;
}
.logoIntro .overlay{
	position: absolute;
	width: 13em;
	height: 13em;
	top: 0;
	opacity: 1;
	color: #fff;
	-webkit-transform: rotate(0deg);
	        transform: rotate(0deg);
	-webkit-transition: opacity 0.5s ease-out 1.5s,
											-webkit-transform 1.5s ease-out 0.5s;
	transition: transform 1.5s ease-out 0.5s,
							opacity 0.5s ease-out 1.5s;
}
.showlogo .logoIntro .overlay{
	-webkit-transform: rotate(9deg);
	        transform: rotate(9deg);
	opacity: 0;
}
.logoIntro .brand{
	position: absolute;
	font-size: 2.3em;
	top: 42.5%;
	background-color: #fff;
	line-height: .9em;
	opacity: 0;
	-webkit-transform: scale(.5);
	        transform: scale(.5);
	-webkit-transition: opacity .5s ease-out 1.5s,
											-webkit-transform 1s ease-out 1.5s;
	transition: transform 1s ease-out 1.5s,
							opacity .5s ease-out 1.5s;

}
.showlogo .logoIntro .brand{
	-webkit-transform: scale(1);
	        transform: scale(1);
	opacity: 1;
}
.logoIntro .brand span{
	display: inline-block;
}
.logoIntro .brand span.icon-logoDahl{
	color: #af040c;
	margin-left: 0.02em;
}
.logoIntro .brand span.icon-logoMedia{
	color: #514a4a;
	margin-left: -0.48em;
}
section.intro .copy p:first-child{
	font-size: 1.2em;
}

section.intro .copy .icon-down{
	font-size: 2em;
	display: block;
	position: relative;
	top: 0;
  opacity: 1;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
  
	animation: boing 1s 5s infinite;
	-webkit-animation: boing 1s 5s infinite;
	padding-top: 1em;
}
nav.show+div>section.intro .copy .icon-down{
	animation: none;
	-webkit-animation:none;
	opacity: 0;
	color: #e5e4e4;
}
@keyframes boing {
    0% { top: 0; }
    50% { top: 1em; }
    100% { top: 0; }
}
@-webkit-keyframes boing {
    0% { top: 0; }
    50% { top: 1em; }
    100% { top: 0; }
}


/* @end */

/* @group SECTION.IMG */

section.img{
	padding: 0;
	display: block;
	position: relative;
	height: 13em;
	overflow: hidden;
	max-height: 56.25vw; /* 16:9 */
	background-color: #514a4a;
}
section.img.left h1,
section.img.left .icon-logoTop,
section.img.left .icon-logoBtm{
	width: 60%;
}
section.img.right h1,
section.img.right .icon-logoTop,
section.img.right .icon-logoBtm{
	width: 40%;
	right: 0;
}
section.img h1{
	position: absolute;
	z-index: 2;
	margin: -.5em 0 0;
	top: 50%;
	width: 100%;
	color: #fff;
	text-shadow: 0 0 8px #1a1818;
	font-size: 1.5em;
	letter-spacing: 1px;
}
section.img div.img{
	position: relative;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
section.img img {
  display: block;
}
section.img .icon-logoBtm,
section.img .icon-logoTop{
	display: none;
	position: absolute;
	width: 100%;
	color: #fff;
	font-size: 9em;
	line-height: 1em;
	z-index: 3;
	opacity: .3;
}
section.img .icon-logoBtm{
	bottom: -0.5em;
}
section.img .icon-logoTop{
	top: -0.5em;
}
@media (min-width:30em) {
	section.img h1{
		font-size: 2em;
	}
	section.img .icon-logoTop,
	section.img .icon-logoBtm{
		display: block;
	}
}
@media (min-width:40em) {
	section.img h1{
		font-size: 2.5em;
	}
}
@media (min-width:50em) {
	section.img h1{
		font-size: 3em;
	}
}

/* @end */

/* @group SECTION.VIDEO */

section.video{
	height: 56.25vw; 	/* 16:9 = 9/16*100 */
	max-height: calc(100vh - 130px);
	padding: 0;
}
section.video div.iframe{
	height: 100%;
}
section.video iframe,
section.video video{
	width: 100%;
	height: 100%;
	border: none;
    object-fit: cover;
}

/* @end */

/* @group SECTION.SCROLL */

section.scroll .scrollLogo{
	display: block;
	width: 100%;
}
section.scroll .scrollLogo img{
	height: 8em;
	width: auto;
	margin-top: 2em;
}
body.js section.scroll .pane{
	height: 20em;
	overflow: hidden;
}
section.scroll .pane>.inner{
	margin-top: 2em;
	padding-bottom: 2em;
}
body.js section.scroll .pane>.inner{
	/* offsetting content so first scrolls in and 
	   logo stays visible after translating to -100% */
	margin-top: 10em;
	padding-bottom: 0;
}


section#team div.img:after{
	display: block;
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: 100%;
	opacity: 0;
	background-color: #514a4a;
}
section#team.team0 div.img:after{
	background-image: url(../img/bg/team0.png);
	background-color: transparent;
	opacity: .8;
}
section#team.team1 div.img:after{
	background-image: url(../img/bg/team1.png);
	background-color: transparent;
	opacity: .8;
}
section#team.team2 div.img:after{
	background-image: url(../img/bg/team2.png);
	background-color: transparent;
	opacity: .8;
}

/* @end */

/* @group SECTION.CONTACT */

section.contact{
	padding-bottom: 0;
}
section.contact:after{
	display: block;
	content: '';
	opacity: .2;
	
	color: #fff;
	font: 4em/1em 'icomoon';
	content: "\e904";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	margin-top: 2em;
}
@media (min-width:40em) {
	section.contact:after{
		font-size: 8em;	
	}
}

/* @end */

/* @group UL.VERTICAL */

ul.vertical{
	padding: 1em .7em .8em;
	margin: 0;
	list-style: none;
}
ul.vertical li{
	display: block;
	text-transform: uppercase;
	padding-top: .8em;
	padding-bottom: .8em;
}
ul.vertical li:before{
	width: 70%;
	max-width: 350px;
	background-color: #e5e4e4;
	display: block;
	margin-right: auto;
	margin-left: auto;
	height: .15em;
	content: '';
	position: relative;
	top: -1em;
}
ul.vertical li:first-child:before{
	display: none;
}

/* @end */

/* @group UL.VIDEO */

ul.video{
	text-align: left;
	padding: 1em 0 0;
}
ul.video li{
	display: block;
	position: relative;
	margin: 0 auto;
	list-style: none;
	max-width: 30em;
}
ul.video div.text{
	display: inline-block;
	vertical-align: top;
	width: 66.6666%;
	
	font-size: 1em;
	padding: 0 .5em 1em 1em;
	box-sizing: border-box;
	line-height: 1.2em;
}
ul.video h4{
	margin: -.1em 0 .3em;
}
ul.video .desc{
	color: #999;
	font-size: 1em;
	line-height: 1em;
}
@media (min-width:30em) {
	ul.video .desc{
		font-size: .8em;
	}
}

ul.video div.img{
	display: inline-block;
	width: 33.3333%;
	box-sizing: border-box;
	padding-bottom: 1em;
}
ul.video a img{
	display: block;
	height: auto;
	width: 100%;
}
ul.video li.open div.text{
	width: auto;
	max-width: 30em;
	margin: 0 auto;
	display: block;
	padding-top: .5em;
}
ul.video li.open .desc{
	color: #666;
}
ul.video li.open{
	background-color: #e5e4e4;
	padding: 1em 0 0;
	margin-bottom: 1em;
}
@media (min-width:32em) {
	ul.video li.open{
		padding: 1em;
	}
	ul.video li.open div.text{
		padding: 0;
	}
}
ul.video div.iframe{
	display: inline-block;
	width: 33.3333%;
	height: 5.625em;
	padding-bottom: 1em;
}
ul.video li.open div.iframe{
	height: 16.875em;
	max-height: 56.25vw;
	width: 100%;
	padding-bottom: 1em;
}
ul.video div.iframe iframe,
ul.video div.iframe video{
	width: 100%;
	height: 100%;
	border: none;
    object-fit: cover;
	cursor: pointer;
}
/* @end */

/* @group GRID */

.grid{
	display: block;
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}
.grid ul{
	list-style: none;
	padding: 0;
}
.grid ul li{
	display: block;
	float: left;
	width: 33.33333%;
	position: relative;
	margin: 0;
	padding: 0 .5em 0;
	outline: none;
}
.grid ul li img{
	width: 100%;
	height: auto;
	display: block;
}
body.nojs .grid ul{
	max-width: 30em;
	margin: 0 auto;	
}
body.nojs .grid ul:after{
	clear: both;
	content: '';
	display: block;
}
body.nojs .grid ul li{
	padding: 0;
}

/* @end */

/* @group TESTIMONIALS */

.quoteslider{
	padding-bottom: 3em;
	padding-top: 2em;
}
.quoteslider blockquote{
	padding: 1.4em 1em 0;
	text-align: left;
	position: relative;
	margin: 0;
	outline: none;
	font-size: .9em;
}
@media (min-width:30em) {
	.quoteslider blockquote{
		padding: 1.4em 5em 0;
		margin-top: 1em;
	}
}
@media (min-width:50em) {
	.quoteslider blockquote{
		padding: 1.4em 5em 0;
		margin-top: 1em;
		
		padding-left: calc(50vw - 15em);
		padding-right: calc(50vw - 15em);
	}
}

.quoteslider blockquote p{
	margin-right: 0;
	margin-left: 0;
}
.quoteslider blockquote:before,
.quoteslider cite:before{
	content: '';
	position: absolute;
	display: block;
	top: 0px;
	
	font: 2em 'icomoon';
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	content: "\e905";
	color: #af040c;
}
.quoteslider cite:before{
	content: "\e906";
	right: 0px;
	font-size: 2.5em;
	top: -1.3em;
}
.quoteslider cite{
	text-align: right;
	display: block;
	font-style: normal;
	font-weight: normal;
	text-transform: uppercase;
	font-size: .8em;
	line-height: 1.5em;
	margin-top: 4em;
	position: relative;
}
.quoteslider ul.slick-dots{
	list-style: none;
	padding: 0;
	height: 1em;
	margin-top: 2em;
	position: absolute;
	top: -4em;
	width: 100%;
}
.quoteslider ul.slick-dots li{
	display: inline-block;
	margin-right: .8em;
}
.quoteslider ul.slick-dots button{
	font-size: 1em;
	line-height: 1em;
	width: .8em;
	height: .8em;
	border-radius: 50%;
	border: none;
	outline: none;
	cursor: pointer;
	padding: 0;
	background-color: #e5e4e4;
	color: #e5e4e4;
}
.quoteslider ul.slick-dots button:hover{
	background-color: #af040c;
	color: #af040c;
}
.quoteslider ul.slick-dots li.slick-active button{
	background-color: #514a4a;
	color: #514a4a;
}
.quoteslider .slick-next,
.quoteslider .slick-prev{
	border: none;
	background: none;
	font: 3em dahlfont;
	position: absolute;
	cursor: pointer;
	color: #e5e4e4;
	z-index: 5;
}
.quoteslider .slick-next:hover,
.quoteslider .slick-prev:hover{
	color: #514a4a;
}
.quoteslider .slick-next{
	top: 50%;
	right: .3em;
	margin-top: -.3em;
}
.quoteslider .slick-prev{
	top: 50%;
	left: .3em;
	margin-top: -.3em;
}

/* @end */

/* @group TABLE */

table{
	text-align: left;
	width: 100%;
	max-width: 30em;
	margin: 0 auto;
	padding-left: .5em;
	padding-right: .5em;
}
table td{
	vertical-align: top;
	padding-top: .2em;
	padding-bottom: .2em;
	line-height: 1.3em;
}
table td:first-child{
	width: 20%;
}
table td:nth-child(2){
	color: #666;
}

/* @end */

/* @group FOOTER */

#gobelow{
	height: 1px;
	background-color: #514a4a;
}
section.below{
	display: block;
	position: fixed;
	bottom: 0;
	right: 0;
	opacity: 0;
	-webkit-transition: opacity 1s ease-out 0s;
	transition: opacity 1s ease-out 0s;
}
#site.screw+section.below {
	opacity: 1;
}
section.below a{
	padding: 1em;
	display: block;
	text-transform: uppercase;
	color: #514a4a;
}
section.below span.icon-b23{
	line-height: 1em;
	font-size: 2.8em;
	vertical-align: middle;
}
section.below span.sub{
	line-height: 1em;
	margin-right: 1em;
	vertical-align: middle;
}
#site{
	-webkit-transition: -webkit-transform .5s ease-out 0s;
	transition: -webkit-transform .5s ease-out 0s;
	transition: transform .5s ease-out 0s;
	transition: transform .5s ease-out 0s, -webkit-transform .5s ease-out 0s;
	-webkit-transform-origin:bottom;
	        transform-origin:bottom;
	box-shadow: 10px 0px 40px #514a4a;
}
#site.screw{
	-webkit-transform: rotate(-5deg) translateX(-2em) translateY(-6em);
	        transform: rotate(-5deg) translateX(-2em) translateY(-6em);
}

/* @end */