/* GLOBAL */

@font-face {
	font-family: 'PT Sans';
	src: url('https://s3.eu-west-2.amazonaws.com/johnny-flynn.com/media/fonts/PTSans-Regular.eot');
	src: url('https://s3.eu-west-2.amazonaws.com/johnny-flynn.com/media/fonts/PTSans-Regular.eot?#iefix') format('embedded-opentype'),
		url('https://s3.eu-west-2.amazonaws.com/johnny-flynn.com/media/fonts/PTSans-Regular.woff2') format('woff2'),
		url('https://s3.eu-west-2.amazonaws.com/johnny-flynn.com/media/fonts/PTSans-Regular.woff') format('woff'),
		url('https://s3.eu-west-2.amazonaws.com/johnny-flynn.com/media/fonts/PTSans-Regular.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'Vevey';
	
	src: url('../fonts/vevey.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}


html, body {
	width: 100%;
	height: 100%;
  font-family: 'Vevey';
}

body {
  width: 100%;
    background-color: #000;
    background-size: cover;
    background-image: url(../media/moon-bg.jpg);
    background-position: bottom;
    background-attachment: fixed;
	color: #ccc;
	font-size: 18px;
	letter-spacing: .1em;
}

.yellow {
	color: #ffdc81;
}

.inline	{
	display: inline-block;
}

.clear {
	clear: both;
}

/* TEXT STYLES */

h1 {
	font-size: 8vw;
	font-family: Vevey;
	text-transform: uppercase;
	letter-spacing: normal;
	color: #fff6e0;
	text-align: center; 
}
header, #listen, main {
	width: 90%;
	padding: 25px 0 0 0;
	margin: 0 auto;
}

h2 {
	font-size: 4vw;
	font-family: Vevey;
	text-transform: uppercase;
	letter-spacing: normal;
	color: #649b40;
}
.pink {
	 color:#eab783;
}
.grey {
	color:#a3a49f
}
a.button {
	font-size: 2vw;
	display: inline-block;
	max-width: 215px;
    padding: 8px 15px 3px;
    background-color: transparent;
    color: #a3a49f;
    text-align: center;
    font-weight: bold;
    outline-style: solid;
    outline-color: rgba(255,255,255,0.2);
    outline-width: 2px;
    outline-offset: -2px;
    transition: outline-color 1s;
}

a.button:hover {
	outline-color: #fff;
	color: #fff;
	transition: outline-color .2s;
}
a.grey:hover {
	color:#fff;
}
.main-title {
	text-align: center;
	font-size: 3vw;
	padding: 0;
	margin: 1vw auto;
}
.larger {
	font-size: 4.5vw;
}
h3 {
	font-size: 1.5em;
	font-family: Vevey;
	text-transform: uppercase;
	letter-spacing: normal;
	margin-top: 25px;
	line-height: 1.2em;
}

a {
	color: #649b40;
	text-decoration: none;
}

em {
	font-style: italic;
}
footer div {
	width: 100%;
}
main .album h2 {
	margin: 10px 0 15px 0;
	text-shadow: 0 0 15px rgba(0, 0, 0, 0.7);
    color: #fff6e0;
}
main .album p {
	font-size: 1.3em;
	padding: 0 0 25px 0;
}
.album {
	float: left;
	padding: 20px;
	margin: 0 0 15px;
	/*background-color: rgba(255,255,255,.8);*/
	/*border-radius: 3%;*/
}
.albumtall {

}
.album img.cover {
	width: 50%;
	float: left;
	margin: 0 20px 20px 0px;
	max-width: 250px;
}
.album hr {
	width: 100%; 
	margin: 10px 0;
}
.album ul {
	display: block;	
	float: left;
	padding: 0 0 25px 0;
}
#moon ul {
    height: 210px;
}
main .album .art {
	float: left;
	font-size: .9em;
	padding: 0;
}


.album li a {
	display: block;
    width: 100%;
    max-width: 215px;
    margin: 0 0 5px;
    padding: 8px 5px 3px;
    background-color: transparent;
    color: #fff6e0;
    text-align: center;
    font-weight: bold;
    outline-style: solid;
    outline-color: rgba(255,255,255,0.2);
    outline-width: 2px;
    outline-offset: -2px;
    transition: outline-color 1s;
}

.album li a:hover {
	outline-color: #fff;
	color: #fff;
	transition: outline-color .2s;
}

nav {
	position: absolute;
    top: 23px;
    right: 30px;
    padding-right: 60px;
}
nav a:hover img,
footer a:hover img {
	filter:brightness(0);
	transition: filter .15s;
}

nav a img,footer a img {
	transition: filter .25s;
	max-width: 25px;
	height: 25px;
	margin: 12px 7px 0 0;
}
nav a img#yt-logo,
footer a img#yt-logo{
	max-width: 80px;
}
footer a img#tg-logo {
	max-width: 100%;
	width: auto;
}

	.left {
		float: left;
	}

	.right {
		text-align: right;
	}

	.mobile_nav {
		display: none;
	}

	#listen {
		width: 70%;
		max-width: 600px;
	}

	#embed {
		width: 100%;
		background-color: rgba(255,246,224,0.9);
		padding: 1% 0;
	}

	#youtube {
		width: 98%;
		margin: 0 auto;
	}

	#menu img {
		height: 30px;
	}

/* PAGE 2 STYLES */

	#preorder {
		width: 45%;
		padding-top: 50px;
		padding-right: 5%;
		float:left;
	}

		#preorder ul {
			font-family: Vevey;
			font-size: 28px;
			letter-spacing: normal;

		}

			#preorder ul li {
				margin-top: 35px;
			}

		#preorder a {
			color: black;
			text-decoration: none;
			text-transform: uppercase;
			padding: 10px 20px;
			margin-right: 25px;
			background-color: rgba(255,246,224,0.9);
		}

		#preorder a:hover {
			color: #4e5137;
			background-color: rgba(0,0,0,0.5);
		}

	#subscribe {
		margin-top: 35px;
		width: 100%;
	}

		#mc_embed_signup {
			margin-top: 25px;
		}

		#mc_embed_signup, form, #mc_embed_signup_scroll .mc-field-group {
			width: 100%;
		}

		.mc-field-group input {
			background-color: rgba(255,246,224,0.9);
			border: none;
		}

		#mc_embed_signup input.typehere {
			width: 94%;
			display: block;
			border: none;
			padding: 10px 3%;
			font-family: Vevey;
			letter-spacing: normal;
			font-size: 28px;
			min-height: initial;
			margin-bottom: 25px;
			border-radius: 0;
		}

			#mc_embed_signup input.half {
				width: 42%;
				float: left;
			}

			#mce-FNAME {
				margin-right: 4%;
			}

		#mc-embedded-subscribe {
			
			: none;
			border-radius: 0;
			background-color: rgba(255,246,224,0.9);
			color: black;
			font-size: 28px;
			font-family: Vevey;
			text-transform: uppercase;
			letter-spacing: normal;
			padding: 10px 20px;
			cursor: pointer;
		}

			input::-webkit-input-placeholder {
				color: black;
			}

			#mc-embedded-subscribe:hover {
				color: #4e5137;
				background-color: rgba(0,0,0,0.4);
			}

	#product {
		float: left;
		width: 50%;
		padding-top: 50px;
	}

		#product img {
			width: 96%;
			padding: 2%;
			background-color: rgba(255,246,224,0.9);
		}

/* PAGE 3 STYLES */

	#tour {
		padding-top: 50px;
	}

	.events {
		padding-top: 50px;
	}

	.listing {
		width: 100%;
		margin: 10px 0;
	}

		.date {
			width: 30%;
			float: left;
			padding: 10px 0;
		}

		.venue {
			background-color: rgba(255,246,224,0.9);
			width: 46%;
			color: black;
			float: left;
			padding: 10px 2%;
		}

		.tickets, .sellout {
			float: right;
			width: 20%;
			padding: 10px 0px;
			text-align: right;
		}

		.sellout {
			color: #a0432d;
		}

		.sellout:hover {
			color: rgba(0,0,0,0.5);
		}

			.tickets a, h3 a {
				color: #ffdc81;
				text-decoration: none;
				background-color: rgba(0,0,0,0.5);
				padding: 7px 15px;
			}

			.tickets a:hover, h3 a:hover {
				color: black;
				background-color: rgba(255,220,129,0.9);
			}


/* new release intro/header */


#intro {
	width: 100%;
	height: auto;
	padding: 1%;
	margin: 0 0 15px;
	text-align: center;
	background-color: rgba(255,255,255,0.5);
	/*border-radius: 3%;*/
}
#intro h2 span {
	/*color: #39482a;*/

}

#intro-cover {
	float: right;
	/*border: solid 1px #999;*/
	width: 40%;
	padding: 0 5%;
	text-align: center;
	height: auto;
    min-height: 40vh;
}
#intro-cover img{
	width: 100%;
	box-shadow: 0 0 7vh rgb(0 0 0 / 50%);
}
}
#intro-copy {
	float: left;
	width: calc(50% - 1px);
	
	text-align: left;	
	padding-bottom: 1em
}
#intro-copy-col {
	width: 50%;
	float: left;
}
#intro-copy ul {
	float: none;
	padding: 0
}
#intro-copy ul li{
	margin-bottom: 1px;
}
#intro-copy ul li a{ 
	display: inline-block;
}
#intro-copy p {
    font-size: 5vh;
    padding-bottom: 1vh;
}

	footer {
		    float: left;
	    clear: left;
	    width: 100%;
	    margin: 50px 0 25px 0;
	    padding: 20vh 0 0;
	    text-align: center;
	    color: #fff6e0;
	    /*background: linear-gradient(0deg, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);*/
		}

	}

		footer p {
			line-height: 30px;
		}

		footer a {
			color: #fff6e0;
			text-decoration: none;
		}

		footer img {
			width: 100%;
			max-width: 200px;
			padding-top: 25px;
		}

		#footer-links {
			width: 100%;
			padding-bottom: 25px;
		}
		#footer-links img {
			margin: 0 15px;
		}


#mailingList-overlay {
	position: absolute;
	width: 60vw;
	height: 100vh;
	left: 50%;
	transform:translateX(-50%);
	top: 0;
	background-color: #fffdf8;
}
#mailingList-overlay iframe {
	width: 100%;
	height: 100%;
}
#mailingList-overlay-close {
	padding: 1em;
	position: absolute;
	top: 1em;
	right: 1em;
	cursor: pointer;
}


@media only screen and (max-width: 940px) {
	h1 {
		   font-size: 15vw;
    		padding-top: 10vh;
	}
	.album {
		width: 90%;
	}
}

@media only screen and (min-width: 940px) {
	header,main{
		margin: 0px 21%;
    	width: 63%
	}
	.album {
		width: 38%;
    	width: calc(50% - 60px);
		box-shadow: rgba(0,0,0,.1) 0px 0px 15px;
		height: 385px;
		margin: 0 15px 15px 0;
	}
	.album img.cover {
		max-width: 230px;
	}
	#intro {
		width: calc(100% - 50px);
		/*box-shadow: rgba(0,0,0,.5) 0px 0px 15px;*/
	}
	

}
@media only screen and (min-width: 1500px) {
	.album {
		height: 460px;
    max-width: 21vw;
    margin: 0 3vw 2vw 3vw;
	}
	.album img.cover {
		max-width: 230px;
	}
	h2 {
		font-size: 3.5vw;
	}
}
@media only screen and (min-width: 1150px) {
	nav a img,footer a img {
		max-width: 30px;
		height: 30px;
	}

}

@media only screen and (max-width: 630px) {
	h1 {
		font-size: 19vh;
		padding-top: 13vh;
	}
	.main-title {
		font-size: 60px;
		margin: 15px auto;
	}
	.larger {
		font-size: 85px;
	}
	

}
@media only screen and (max-width: 540px) {
	h1 {
		font-size: 12vw;
	}
	a.button {
		font-size: 31px
	}
	header {
		padding-top: 12px 0 32px;
	}
	nav {
		width: 100%;
	    text-align: center;
	    position: static;
	}
	.album {
		width: 100%;
		background-color: transparent;
		border-bottom: solid 10px rgba(0,0,0,0.5);
		border-radius: 0px;	
	}
}
@media only screen and (max-width: 415px) {
	body {
		background-size: auto 109vh;
	}
	.main-title {
		font-size: 40px;
		margin: 15px auto;
	}
	.larger {
		font-size: 55px;
	}

	#intro-cover{
		width: 85%;
		margin-bottom: 3vh;
	}
	main .album h2 {
		font-size: 8vh;
	}

	#intro-copy {
		text-align: center;
	}
	.album  #intro-copy li a {
		margin: 0 auto;
	}
	h1 {
	    font-size: 11vh;
	    padding-top: 4vh;
	}
}
@media only screen and (max-width: 373px) {
	h1 {
		font-size: 12vh;
	}
	.album {
		width: 100%;
	}
}
@media only screen and (max-width: 340px) {
	h1 {
		font-size: 12vh;
	}
}
@media only screen and (max-width: 310px) {
	h1 {
		font-size: 8vw;
	}
	.album {
		width: 100%;
	}
}
@media only screen and (max-width: 288px) {
	h1 {
		font-size: 7vw;
	}
}
@media only screen and (max-width: 268px) {
	h1 {
		font-size: 13vw;
		text-align: center;
	}
	.album {
		width: 100%;
	}
}



 @media (pointer: fine) { 
 	.album { cursor: pointer; }
 	.album li a { 
 		opacity: 0;
 		transition: opacity .2s 0s, outline-color 1s;
 	}
 	.album img {
 		transform-origin: top left;
 		transform: scale(1.5);
 		transition: transform .2s .2s ease-in;
 	}
 	.album:hover img {
 		transform: scale(1);
 		transition: transform .05s .0s ease-out;
 	}
 	.album:hover li a:hover { 
 		transition: opacity .1s, outline-color .1s;	
 	}
 	.album:hover li a { 
 		opacity: 1;
 		transition: opacity .2s .05s, outline-color 1s;
 	}
 }