@charset "UTF-8";
/* CSS Document */

html {scroll-behavior: smooth;}

body {
	width:100%;
	height:100%;
	margin:0;
	padding:0;
	background-color:rgba(255,255,255,1);
	color:rgba(19,19,19,1);
	font-family: 'palanquin-light', "sans-serif";
	font-size:18px;
	line-height:1.4em;
}

@font-face {
    font-family: 'butler-bold';
    src: url('fonts/butler/bold/butler_bold-webfont.eot');
    src: url('fonts/butler/bold/butler_bold-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/butler/bold/butler_bold-webfont.woff2') format('woff2'),
         url('fonts/butler/bold/butler_bold-webfont.woff') format('woff'),
         url('fonts/butler/bold/butler_bold-webfont.ttf') format('truetype'),
         url('fonts/butler/bold/butler_bold-webfont.svg#butlerextrabold') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'playfair-italic';
    src: url('fonts/playfair/italic/playfairdisplay-italic-webfont.eot');
    src: url('fonts/playfair/italic/playfairdisplay-italic-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/playfair/italic/playfairdisplay-italic-webfont.woff2') format('woff2'),
         url('fonts/playfair/italic/playfairdisplay-italic-webfont.woff') format('woff'),
         url('fonts/playfair/italic/playfairdisplay-webfont.ttf') format('truetype'),
         url('fonts/playfair/italic/playfairdisplay-webfont.svg#butlerextrabold') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'palanquin-bold';
    src: url('fonts/palanquin/bold/palanquin-bold-webfont.eot');
    src: url('fonts/palanquin/bold/palanquin-bold-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/palanquin/bold/palanquin-bold-webfont.woff2') format('woff2'),
         url('fonts/palanquin/bold/palanquin-bold-webfont.woff') format('woff'),
         url('fonts/palanquin/bold/palanquin-bold-webfont.ttf') format('truetype'),
         url('fonts/palanquin/bold/palanquin-bold-webfont.svg#palanquinbold') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'palanquin-regular';
    src: url('fonts/palanquin/regular/palanquin-regular-webfont.eot');
    src: url('fonts/palanquin/regular/palanquin-regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/palanquin/regular/palanquin-regular-webfont.woff2') format('woff2'),
         url('fonts/palanquin/regular/palanquin-regular-webfont.woff') format('woff'),
         url('fonts/palanquin/regular/palanquin-regular-webfont.ttf') format('truetype'),
         url('fonts/palanquin/regular/palanquin-regular-webfont.svg#palanquinlight') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'palanquin-light';
    src: url('fonts/palanquin/light/palanquin-light-webfont.eot');
    src: url('fonts/palanquin/light/palanquin-light-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/palanquin/light/palanquin-light-webfont.woff2') format('woff2'),
         url('fonts/palanquin/light/palanquin-light-webfont.woff') format('woff'),
         url('fonts/palanquin/light/palanquin-light-webfont.ttf') format('truetype'),
         url('fonts/palanquin/light/palanquin-light-webfont.svg#palanquinlight') format('svg');
    font-weight: normal;
    font-style: normal;
}

/* LINKS / CTAs ##### ##### ----------------------------------------------------- ##### #####*/

a {color:inherit; text-decoration:none; border:0 none;}
a:hover {cursor:pointer;}

a.txt_link {text-decoration: underline;}

a.txt_link:hover {text-decoration: underline; color:rgba(254,207,239,1);}

.button_wrap {width:100%; float:left;}

.button_wrap_center {
	width:100%;
	float:left;
	
	display: flex ;
	flex-direction: row ;
	flex-wrap: wrap ;
	justify-content: center ;
	align-items: center ;
	align-content: center ;
}

.cta_button {
	wdith:auto;
	padding:8px 25px 10px 25px;
	margin:40px 15px 40px 0;
	float: left;
	
	color:rgba(19,19,19,1);
	outline: 2px solid rgba(19,19,19,1);
	
	font-family:'palanquin-regular';
	letter-spacing:0.1em;
	text-transform:uppercase;
	font-size:1.2em;
	
	border-radius:22px;
}

.cta_button + .cta_icon {
    width:23px;
    height:23px;
	padding:10px;
	margin:40px 70px 40px 0;
	float: left;
    border-radius: 50%;
    outline:2px solid rgba(19,19,19,1);
}

.cta_button:hover {padding-right:36px; padding-left:36px;}

.cta_button.green {
	outline: 2px solid rgba(149,229,160,1);
	color:rgba(149,229,160,1);
}

.cta_icon > img {
	margin-top: 1px;
	float:left;
}

/* HEADLINES | TXT | MARKUPS ##### ##### ----------------------------------------------------- ##### #####*/

h1, h2, h3, h4 { margin:0; padding:0; font-weight:normal; letter-spacing: 0.0em;}
h1 { font-family:'butler-bold'; font-size:3.6em; line-height:1.1em;}
h2 { font-family:'playfair-italic'; font-size:2.6em; line-height:1.35em;}
h3 { font-family:'palanquin-light'; font-size:1.9em; line-height:1.1em;}
h4 { font-family:'playfair-italic'; font-size:1.9em; line-height:1.1em;}

b, strong { font-weight:normal; font-family:'palanquin-bold';}
p {font-size:1.5em; line-height:1.4em; margin:0; padding:0; float:left;}
i {font-family:'playfair-italic'; text-decoration: none; font-style: normal;}
small { font-size:1.0em;}

img {width:100%; margin:0; padding:0;}

.txt_center { text-align:center;}
.txt_left { text-align:left;}
.txt_right { text-align:right;}
.txt_block { text-align:justify;}
.uppercase { text-transform:uppercase;}

.txt_teaser {font-size:1.8em; line-height:1.4em;}
.subline {
	font-family:'palanquin-bold'; 
	font-size:1.2em;
	text-transform:uppercase;
	letter-spacing: 0.1em;
	color:rgba(113,187,129,1);
	width:100%;
	float: left;
	margin-bottom: 20px;
}

.hero_headline {
	width:100%;
	float: left;
	margin:70px 0 0 0;
	font-size:9em;
}

.hidden {display:none;}
.mobile { display:none;}
.desktop { display:block;}

video  {width:100%; margin:0;}

label:hover {cursor:pointer;} 

*::-webkit-selection { background-color:rgba(254,207,239,1); color:#FFF; text-shadow:none;}
*::-moz-selection { background-color:rgba(254,207,239,1); color:#FFF; text-shadow:none;}
*::selection { background-color:rgba(254,207,239,1); color:#FFF; text-shadow:none;}

/* COLORS ##### ##### ----------------------------------------------------- ##### #####*/

.darkgreen {color:rgba(113,187,129,1);}
.green {color:rgba(149,229,160,1);}
.black {color:rgba(19,19,19,1);}
.darkgrey {color:rgba(94,94,94,1);}
.mistygrey {color:rgba(223,237,240,1);}
.lightgrey {color:rgba(247,249,253,1);}

.pink {color:rgba(254,207,239,1);}

/* ROOT ##### ##### ----------------------------------------------------- ##### #####*/

#root.home {
	width:100%;
	height:100vh;
	float: left;
	box-shadow:inset 0px 0px 0px 8pt rgba(254,207,239,1);
	/*box-shadow: inset 0px 0px 0px 8pt rgba(149,229,160,1);*/
}

/* NAV ##### ##### ----------------------------------------------------- ##### #####*/

#nav {
	width:92%;
	padding:0 4%;
	position: absolute;
	top: 0;
	left: 0;
	z-index:20;
}

#nav .logo {
	width:300px;
	position: absolute;
	left:4%;
	top: 50px;
	z-index:20;
}

#nav .logo.center {
	left:calc(50% - 150px);
}

#nav .contact_information {
	width:auto;
    position:fixed;
    top:40px;
    text-align:right;
    right:3%;
}

/* CONTENT ##### ##### ----------------------------------------------------- ##### #####*/

.slide {width:100%; float: left;}

.slide > .inner {width:100%; max-width:1368px; margin:auto; }

.slide#black {
	height: auto;
	padding:150px 0;
	background-color: rgba(19,19,19,1);
	color:rgba(255,255,255,1);
}

.slide#grey {
	height: auto;
	padding:150px 0;
	background-color: rgba(246,248,252,1);
	color:rgba(19,19,19,1);
}

.slide#pink {
	height: auto;
	padding:150px 0;
	background-color: rgba(254,207,239,1);
	color:rgba(19,19,19,1);
}

.hero_image {
	width:100%;
	float:left;
	height: 800px;
	margin:-50px 0 0 0;
	background-size: cover;
	background-image: url(../img/hero/tlu_live_karikatur_hero_image.jpg);
	background-position: 50% 50%;
	box-shadow:inset 0px 0px 0px 8pt rgba(254,207,239,1), 0px 0px 2px rgba(254,207,239,1);
}

.icon_collab {
	width:150px;
	height:150px;
	float:right;
	position: relative;
	margin:-210px 0 0 0;
}

.icon_collab > .ring {width:100%; position: absolute;}
.icon_collab > .hand {width:100%; position: absolute; margin:0%;}

.preview_text {width:100%; float:left;}
.full_text {width:100%; float: left; margin: 40px 0;}

.float_box_wrap {
	width:100%;
	float:left;
	margin:100px 0;
}

.float_box_wrap > .float_box {
	width:22%;
	float: left;
	margin:0px 5% 0 0;
	padding:44px 4%;
	background-color: rgba(19,19,19,1);
	text-align: center;
	color:#ffffff;
}

.float_box_wrap > .float_box:last-of-type{margin:0;}

.float_box_wrap > .float_box:hover {
	box-shadow: -20px 20px 80px rgba(175,127,181,0.5);
	transform: scale(1.1);
}

.float_box_wrap > .float_box > .icon {
	width:50%;
	margin:40px 25% 0 25%;
	float:left;
}

.float_box_wrap > .float_box > h2 {
	width:100%;
	float:left;
	margin:10px 0 20px 0;
}

.float_box_wrap > .float_box > span {
	width:100%;
	float:left;
	font-size: 1.0em;
	line-height: 1.6em;
	margin: 0 0 20px 0;
}

.col3_wrap {
	width:100%;
	float:left;
}

.col3_wrap > .col3 {
	width:30%;
	float: left;
	margin:0px 5% 0 0;
	text-align: center;
}

.col3_wrap > .col3:last-of-type{margin:0;}

.col3_wrap > .col3 > .icon {
	width:40%;
	margin:40px 30% 0 30%;
	float:left;
}

.col3_wrap > .col3 > h2 {
	width:100%;
	float:left;
	margin:10px 0 20px 0;
}

.col3_wrap > .col3 > span {
	width:100%;
	float:left;
	font-size: 1.0em;
	line-height: 1.6em;
	margin: 0 0 20px 0;
}

.references_wrap {
	width:100%;
	float: left;
	
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	align-content:center;
}

.references_wrap > .ref:nth-of-type(1) {
	width:29%;
	float: left;
	margin:0 1% 0 0;
}

.references_wrap > .ref:nth-of-type(2) {
	width:40%;
	float: left;
}

.references_wrap > .ref:nth-of-type(3) {
	width:29%;
	float: left;
	margin:0 0 0 1%;
}

/* FOOTER ##### ##### ----------------------------------------------------- ##### #####*/

#footer {
    width: 92%;
    float: left;
    padding: 60px 4%;
    color: rgba(255,255,255,1);
    background-color: rgba(19,19,19,1);
}

#footer .logo.inverse {
    width: 220px;
    float: left;
    filter: invert(1);
}

#footer .contact_data {
	width: auto;
    float: left;
    margin: 0 0 0 6%;
}

#footer .sublinks {
	float:right;
	width:300px;
}

#footer .sublinks span {
	width:auto;
	float:right;
	font-size: 0.8em;
	margin: 0 0 0 5%;
	text-transform: uppercase;
	letter-spacing: 0.15em;
}

/* MOBILE STYLES */

@media screen and (max-width:1440px) {
	
	h1 { font-size:3.3em; line-height:1.1em;}
	h2 { font-size:2.3em; line-height:1.35em;}
	h3 { font-size:1.6em; line-height:1.1em;}
	h4 { font-size:1.6em; line-height:1.1em;}
	
	p {font-size:1.2em; line-height:1.4em; margin:0; padding:0; float:left;}
	small { font-size:0.9em;}
	
	.slide > .inner {width:100%; max-width:1100px; margin:auto; }
	
	#nav .logo {
		width:156px;
	}

	#nav .logo.center {
		left:calc(50% - 78px);
	}
	
	#nav .contact_information { font-size: 0.9em;}
	
	.slide#black,
	.slide#grey,
	.slide#pink{ padding:80px 0;}
	
	.hero_headline {font-size:6em; margin:44px 0 0 0;}
	
	.cta_button {
		padding: 6px 20px 8px 20px;
		margin: 36px 0;
		font-size: 1.0em;
		border-radius: 22px;
	}
	
	.cta_button:hover {padding-right:30px; padding-left:30px;}
	
	.cta_button + .cta_icon {
		width:19px;
		height:19px;
		padding:10px;
		margin:36px 60px 36px 12px;
	}

	.hero_image { height:640px;}
	
	.float_box_wrap > .float_box {
		width:26%;
		margin:0px 2% 0 0;
		padding:36px 3%;
	}

	.float_box_wrap > .float_box:last-of-type{margin:0;}
	
	.float_box_wrap > .float_box > .icon {
		margin: 25px 25% 0 25%;
	}
	
	.icon_collab {margin:-180px 0 0 0;}

}

@media screen and (max-width:1100px) {
	
	body {
		font-size:16px;
	}
	
	.slide > .inner {width:80%; margin:0 10%; }
	
	.hero_headline {font-size:4.8em; margin:44px 0 0 0;}
	
	.hero_image { height:520px;}
	
	.icon_collab {transform:scale(0.8);}
	
	.float_box_wrap {margin:40px 0 80px 0;}
	
	#footer .logo.inverse {
		width:160px;
	}
	
}

@media screen and (max-width:785px) {
	
	.mobile { display:block;}
	.desktop { display:none;}
	
	h1 { font-size:2.2em; line-height:1.1em;}
	h2 { font-size:1.6em; line-height:1.35em;}
	h3 { font-size:1.4em; line-height:1.1em;}
	h4 { font-size:1.4em; line-height:1.1em;}
	
	#nav .logo { top:36px;}
	
	.cta_button {
		padding: 10px 15% 12px 15%;
		margin: 24px 0;
		width: 70%;
		text-align: center;
		}
	
	.hero_headline {font-size:3.2em; margin:40px 0 0 0; text-align: center;}
	
	.hero_image { height:200px;}
	
	.icon_collab {transform:scale(0.6);}
	
	.float_box_wrap {margin:30px 0 30px 0;}
	
	.float_box_wrap > .float_box {
		width:80%;
		margin:20px 0;
		padding:44px 10%;
	}
	
	.col3_wrap > .col3 {
		width:80%;
		margin:10px 0;
		padding:0 10%;
	}

	.references_wrap > .ref:nth-of-type(1){
		width:80%;
		margin:10px 0;
		padding:0 10%;
	}
	
	.references_wrap > .ref:nth-of-type(2){
		width:80%;
		margin:10px 0;
		padding:0 10%;
	}

	.references_wrap > .ref:nth-of-type(3){
		width:80%;
		margin:10px 0;
		padding:0 10%;
	}

	#footer {
		width: 70%;
		padding: 36px 15%;
	}
	
	#footer .logo.inverse {
		width: 80%;
		margin:0 10%;
	}

	#footer .contact_data {
		width: 100%;
		margin: 24px 0 0 0;
		text-align: center;
	}

	#footer .sublinks {
		width:100%;
	}
	
	#footer .sublinks span {
	width:100%;
	float:left;
	margin: 24px 0 0 0;
	text-align:center;
}

}

@media screen and (max-width:520px) {
	
	
}

