html, body {
	margin: 0;
	width: 100%;
}

html {
	height:100%;
}

body {
	overflow-x: hidden;
	background: #f7f7f7 linear-gradient(to bottom right, #b3b8b9, #f7f7f7);
	background-attachment: fixed;
	color:#000;
}

body, input, textarea {
	font: 200 16px 'Neue Helvetica W01', sans-serif;
	line-height: 1.4;
}

input, textarea {
	color:inherit;
}

a {
	text-decoration: none;
	color: #000;
}

a:hover {
	color: #fff;
}

.portrait {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 90;
	width:100%;
	height: 50vh;
	background:url('../images/type-overlay.png') right center no-repeat;
	background-size:auto 100%;
	pointer-events: none;
}

.portrait-2 {
	position: absolute;
	left: 100%;
	top: 0;
	z-index:100;
	width:100%;
	height: 100vh;
	background:url('../images/type-overlay-2-dark.png') left center no-repeat;
	background-size:auto 100%;
	pointer-events: none;
	display:none;
}

body > header nav {
	position:absolute;
	left:10%;
	top:20px;
	z-index:3;
	font-size:1.5em;
	display: flex;
	font-weight:500;
	text-transform: uppercase;
	transition:left .5s ease;
}

body > header a {
	color:#000;
	border-bottom:10px solid transparent;
}

body > header a.active, body > header a:hover {
	border-color:#fff;
}

body > header a + a {
	margin-left: 1em;
}

main .name {
	line-height: 1;
	text-transform: uppercase;
	position: absolute;
	left: 0;
	top: 5vw;
	z-index: 1;
	font-size: 31.25vw;
	pointer-events: none;
	font-weight:normal;
}

#live .about, #live .back {
	display:none;
}

#live aside .headline {
	font-weight:100;
	text-transform:uppercase;
	line-height:.8;
}

#live aside .headline div:nth-child(1) {
	font-size:2em;
}

#live aside .headline div:nth-child(2) {
	font-size:4em;
	font-weight:normal;
}

#live .info-1 div {
	font-size:20vw;
	line-height: 1;
	text-transform: uppercase;
	font-weight:100;
}

#music .player {
	padding:20px;
	background-color:#000;
}

#music .player .inside {
	padding-bottom:56.25%;
	position:relative;
}

#music .player iframe {
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	z-index:1;
	vertical-align:top;
}

#sponsoring .sponsors span {
	display:block;
}

#sponsoring .sponsors img {
	vertical-align:top;
	padding:20px;
	border:1px solid #000;
	border-width:1px 0;
	filter: grayscale(1);
}

section .content a {
	color:#fff;
}

section .content a:hover {
	color:#ccc;
}

section .contact, section .form {
	background-color:rgba(0, 0, 0, .8);
	color:#fff;
	box-shadow:inset #fff 0 0 1px;
	padding:2em 3em;
	position:relative;
}

section .form .overlay {
	position:absolute;
	left:0;
	top:0;
	right:0;
	bottom:0;
	z-index:1;
	background-color:rgba(0, 0, 0, .8);
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:20px;
	letter-spacing:1px;
	font-weight:500;
	text-transform:uppercase;
}

section h2 {
	font-size:1.25em;
	margin-top:0;
	text-transform:uppercase;
	font-weight:500;
}

section p {
	margin-bottom:0;
}

section input:not([type="submit"]), section textarea {
	margin:0 0 0 .5em;
	border:0;
	background-color:transparent;
	padding:0;
	width:26em;
	vertical-align:top;
	color:#aaa;
}

section textarea {
	border:1px solid #555;
	min-height:10em;
	width:36em;
	display:block;
	margin:.5em 0 0;
}

section input:not([type="submit"]):focus, section textarea:focus {
	outline:none;
	background-color:rgba(255, 255, 255, .1);
}

section .submit {
	text-align:center;
}

section .submit input {
	background-color:#fff;
	border:0;
	color:#000;
	padding:.5em 1em;
	text-transform:uppercase;
	font-weight:500;
	cursor:pointer;
}

section .submit input:hover {
	background-color:#000;
	color:#fff;
}

section .row:not(.gap) {
	border:1px solid #555;
	border-width:1px 0;
	padding:.5em 0;
}

section .row + .row {
	border-top:0;
}

section .row.gap {
	margin-top:2em;
}

#live .icons {
	overflow:hidden;
}

#live .icons a {
	float:left;
}

#live .icons a + a {
	margin-left:2em;
}

@media all and (max-width: 1279px) {
	#live aside {
		margin-top:50vh;
		background-color:#0a1119;
		color:#fff;
		padding:4em;
	}
	
	#live .info-1, #live .info-2, #live .info-3 {
		padding:0 4em;
	}
	
	#live .info-1 {
		padding-top:1em;
	}
	
	#live .info-2 div:nth-child(1) {
		font-size:1em;
		font-weight:bold;
		text-transform:uppercase;
	}
	
	#live .info-2 div:nth-child(2) {
		font-size:2em;
		font-weight:100;
		text-transform:uppercase;
		line-height:1;
	}
	
	#live .info-2, #live .info-3 {
		padding-top:2em;
	}
	
	#live .info-2 div:nth-child(3) {
		margin-top:1em;
	}
	
	#live .info-3 div:nth-child(1) {
		font-weight:bold;
		font-size:3em;
	}
	
	#live .info-3 div:nth-child(2) {
		font-weight:bold;
		font-size:4em;
	}
	
	#live .info-3 div:nth-child(3), #live .info-3 div:nth-child(4) {
		text-transform:uppercase;
		letter-spacing:.0625em;
		font-size:1.5em;
	}
	
	#live .info-3 div:nth-child(5) {
		margin-top:2em;
		font-weight:bold;
	}
	
	#music, #sponsoring, #booking, #contact {
		margin:4em;
	}
	
	#sponsoring .sponsors img {
		max-width:100%;
		height:auto;
		box-sizing:border-box;
	}
	
	section .content {
		background-color:#000;
	}
	
	#live .icons {
		position:absolute;
		left:2em;
		top:40vh;
		z-index:1;
	}
}

@media all and (max-width: 1279px) and (orientation: portrait) {
	.portrait {
		height:50vw;
	}
	
	main .name {
		top:10vw;
	}
	
	#live aside {
		margin-top:50vw;
	}
	
	#live .icons {
		top:38vw;
	}
}

@media all and (max-width: 1279px) and (orientation: landscape) {
	.portrait {
		height:80vh;
	}
	
	#live aside {
		margin-top:80vh;
	}
	
	#live .icons {
		top:60vh;
	}
}

@media all and (max-width: 959px) {
	body > header nav {
		display:none;
	}
	
	#live aside {
		padding:2em 1em;
	}
	
	#live .info-1, #live .info-2, #live .info-3 {
		padding-left:1em;
		padding-right:1em;
	}
	
	#music, #sponsoring, #booking, #contact {
		margin:2em 1em;
	}
	
	section input:not([type="submit"]), section textarea {
		display:block;
		margin:.25em 0 0;
		width:100%;
		box-sizing:border-box;
	}
	
	main .name {
		font-size: 28vw;
	}
	
	#live .icons a + a {
		margin-left:1em;
	}
	
	#live .icons img {
		min-width:32px;
		width:6.5vw;
	}
}

@media all and (min-width: 1280px) {
	body {
		min-height:100%;
		position:relative;
	}
	
	.portrait, .portrait-2 {
		position:fixed;
		display:block;
		height: 100vh;
	}
	
	main {
		width:100%;
		min-height:100vh;
		position: absolute;
		overflow-x:hidden;
		overflow-y:auto;
	}
	
	main section {
		width:1920px;
		height:960px;
		transform-origin:left top;
		overflow:hidden;
		position:relative;
		z-index:2;
	}
	
	#live .about, #live .back {
		display:block;
		position:absolute;
		left:880px;
		top:100px;
		z-index:10;
		font-size:60px;
		text-transform:uppercase;
		letter-spacing:1px;
		cursor:pointer;
	}
	
	#live .about img, #live .back img {
		vertical-align:middle;
		margin-top:-10px;
	}
	
	#live .about:hover {
		color:#fff;
	}
	
	#live .back {
		left:400px;
	}
	
	#live .back:hover {
		color:#b3b8b9;
	}
	
	#live .main {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		z-index: 10;
	}
	
	#live aside {
		position: absolute;
		left: 100%;
		top: 0;
		bottom: 0;
		z-index:100;
		width:100%;
		color:#fff;
	}
	
	#live aside .text {
		position:absolute;
		left:400px;
		top:600px;
		width:960px;
		font-size:20px;
	}
	
	#live aside .headline {
		position:absolute;
		left:850px;
		top:250px;
		z-index:1;
		text-align:center;
	}
	
	#live aside .headline div:nth-child(1) {
		font-size:125px;
	}
	
	#live aside .headline div:nth-child(2) {
		font-size:300px;
	}
	
	#live .icons {
		position:absolute;
		left:240px;
		top:850px;
		z-index:1;
	}
	
	#live {
		display: none;
	}
	
	#live .info-1 div {
		position:absolute;
		z-index:1;
		font-size:240px;
		color: #fff;
		transform-origin: left center;
		font-weight:100;
	}
	
	#live .info-2 div {
		position:absolute;
		z-index:1;
		text-transform:uppercase;
	}
	
	#live .info-2 div:nth-child(1) {
		font-size:32px;
		font-weight:bold;
	}
	
	#live .info-2 div:nth-child(2) {
		font-size:60px;
		font-weight:100;
	}
	
	/*
	#live .info-2 div {
		position:absolute;
		font-size:20px;
		z-index:1;
	}
	
	#live .info-3 div {
		position:absolute;
		z-index:1;
	}
	
	#live .info-3 div:nth-child(1) {
		font-weight:bold;
		font-size:48px;
	}
	
	#live .info-3 div:nth-child(2) {
		font-weight:bold;
		font-size:72px;
	}
	
	#live .info-3 div:nth-child(3), #live .info-3 div:nth-child(4) {
		text-transform:uppercase;
		letter-spacing:1px;
		font-size:20px;
	}
	
	#live .info-3 div:nth-child(5) {
		font-weight:bold;
		font-size:16px;
	}
	
	#live .info-3 div:nth-child(6) {
		font-size:16px;
	}
	*/
	
	#music .player {
		position:absolute;
		left:300px;
		top:400px;
		z-index:1000;
		width:800px;
	}
	
	section .content {
		position:absolute;
		left:400px;
		top:140px;
		z-index:1;
		width:42em;
	}
	
	#sponsoring .sponsors {
		position:absolute;
		left:140px;
		top:650px;
	}
	
	#sponsoring .sponsors span {
		font-size:20px;
	}
	
	#sponsoring .sponsors img {
		width:960px;
	}
	
	#live .main, #live aside, .portrait, .portrait-2, .name {
		transition:left .5s ease;
	}
	
	#live .info div {
		transition:opacity .5s ease;
	}
	
	.aside #live aside, .aside .portrait-2 {
		left: 10%;
	}
			
	.aside .portrait, .aside #live .main, body.aside > header nav {
		left: -90%;
	}
	
	.aside #live .info div {
		opacity:0;
	}
	
	.aside .name {
		left:100%;
	}
	
	main {
		background-color:transparent;
		transition:background-color .5s ease;
	}
	
	.aside main {
		background-color:#0a1119;
	}
}
