html {
	/* Allow scrolling here, since body is overflow: hidden. */
	overflow: auto;
	
	background:
		-webkit-gradient(linear, 100% 100%, 0% 0%,color-stop(0, rgb(162, 185, 155)),color-stop(0.2, rgba(255, 255, 255, 0)),color-stop(1, rgba(255, 255, 255, 0)))
		,
		-webkit-gradient(linear, 0% 100%, 100% 0%,color-stop(0, rgb(53, 113, 101)),color-stop(0.362, rgb(144, 189, 162)),color-stop(0.634, rgb(144, 189, 162)),color-stop(1, rgb(209, 240, 220)))
		;
}

body {
	position: relative;
/* 	height: 300vmin; */
	
	margin: 0;
	
	/* Stop elements positioned outside body, like the parallax layers, from growing body. */
	overflow: hidden;
	
	font-family:"elliotts-venus-dioxide",sans-serif;
	
/*
	background-image: url("images/cloudshigh.png");
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: center 25vh;
	background-attachment: fixed;
*/
}

a {
	text-decoration: none;
}

a img {
	-webkit-transition: -webkit-filter 0.7s;
	transition: filter 0.7s;
}

a:hover img {
	-webkit-filter: brightness(1.5);
	filter: brightness(1.5);
}

.shadowed {
  -webkit-filter: drop-shadow(0px 0px 5px rgba(142, 187, 180, 1));
  filter: drop-shadow(0px 0px 5px rgba(142, 187, 180, 1));
}

#logo {
	display: block;
	width: 66%;
	max-width: 960px;
	
	/* Out of the flow, #logo won't interfere with #videosection's positioning. */
	position: absolute;
	
	/* Center an absolute element */
	left: 50%;
	
	/* Center an absolute element */
	top: 50vh;
	
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	
}

@keyframes pulse {
	from {
		opacity: 0.2;
	}
	
	to {
		opacity: 1;
	}
}

#scrollprompt {
	display: block;
	
	position: absolute;
	
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	
	top: 80vh;
}

.pulsing {
	-webkit-animation: pulse 0.75s ease-in-out infinite alternate;
    animation: pulse 0.75s ease-in-out infinite alternate;	
}

.paused {
	-webkit-animation-play-state: paused;
	animation-play-state: paused !important;
}

#videosection {
	position: relative;

/* 	max-width: 960px; */
	min-width: 540px;
	width: 90%;

	margin-left: auto;
	margin-right: auto;
}

#video {
	position: relative;
	width: 100%;
}

/* Changes #video's height to keep a 16:9 aspect ratio. */
/* This psuedo-element technique doesn't break when #video reaches max-width, */
/* which would happen when this padding-top trick was on #video. */
#video:before {
	content: "";
	display: block;
	padding-top: 56.25%; /* 9/16 for 16:9 */
}

/* Defeat the padding and aspect-ratio trick to position and size the actual video. */
#video > img, #video > iframe {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
}

#comingsoon {
	padding-top: 7%; /* 10% of video height would be padding-top: 5.625%;, which is 540/960 as a padding-top percentage. */
}

h3 {
	margin: 0;
	
	text-align: center;
	font-size: 25pt;
	font-weight: normal;
	color: #25211a;
}

#comingsoon h3 {
	width: 50%;
	min-width: 520px;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.1;
	padding-bottom: 5%;

}

#comingsoon img {
	display: block;
	
	margin-left: auto;
	margin-right: auto;
	
	padding-top: 2%; /* Just under 5% of video height */
}

#footer {
	
	padding-top: 20px;
	padding-bottom: 20px;	
		
	width: 100%;
	
	background-color: #030201;
	
	text-align: center;
	
	z-index: 50;
}

/* Email */

#bethefirst {
	display: block;
	
	max-width: 95%;
	margin-left: auto;
	margin-right: auto;
	
	margin-top: 20px;
	margin-bottom: 20px;
	
	-webkit-filter: drop-shadow(0px 0px 5px #1e1c18);
	filter: drop-shadow(0px 0px 5px #1e1c18);
}

#emailform {
	width: 370px;
	height: 40px;
	
	margin-bottom: 20px;
	margin-left: auto;
	margin-right: auto;
	
	background-image: url("images/emailformbackground.svg");
	background-repeat: no-repeat;
	background-size: 294px 40px;
	background-position: 0 2px;
		
	overflow: visible;
}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #786848;
}
::-moz-placeholder { /* Firefox 19+ */
  color: #786848;
}
:-ms-input-placeholder { /* IE 10+ */
  color: #786848;
}
:-moz-placeholder { /* Firefox 18- */
  color: #786848;
}

#emailfield {
	width: 278px; /* 290 - 8 - 4 */
	height: 100%;
	
	margin: 0;
	
	padding-left: 8px;
	padding-right: 4px;
	
	background: none;

	outline: none;
	border: none;
	
	-webkit-appearance:none;
	-webkit-border-radius:0;

	font-family:"elliotts-venus-dioxide",sans-serif;
	font-size: 14pt;
	color: #26221b;
}

#submitbutton {
	width: 80px;
	height: 100%;
	
	margin: 0;
	padding: 0;
	
	outline: none;
	border: none;
	
	background-color: transparent;
	background-image: url("images/submitback.svg");
	background-repeat: no-repeat;
	background-size: 100% 39px;
	background-position: 0% 0%;
	
	-webkit-appearance:none;
	-webkit-border-radius:0;
	
	font-family:"elliotts-venus-dioxide",sans-serif;
	font-size: 14pt;
	color: #e1d5c2;
}

#submitbutton:hover {
	-webkit-filter: brightness(1.2);
	filter: brightness(1.2);
}

#submitbutton:active {
	-webkit-filter: brightness(0.9);
	filter: brightness(0.9);
}

#footer .icon {
	width: 44px;
	height: 44px;
	
	padding-top: 10px;
	padding-bottom: 10px;
	
	padding-right: 20px;
	padding-left: 20px;
	
	display: inline-block;
}

#footer a {
	color: #e1d5c2;
}

.footerlink:hover {

	text-decoration: underline;

	-webkit-text-decoration-color: #bbaf9d;
	-moz-text-decoration-color: #bbaf9d;
	text-decoration-color: #bbaf9d;
}

/* Layers */

#clouds {
	position: absolute;
	width: 100%;
	
	top: 25vh;
	
	z-index: -11;
}

#wires {
	position: absolute;
	width: 100%;
	
	/* Middle vertically minus the the proportion of the image that I want above center. Depends on the aspect ratio of the image. */
	top: calc(50vh - 17.5vw);
	
	z-index: -10;
}

#wires img {
	width: 100%;
}

#wiresStatic {
	position: absolute;
}

#wiresAnimation {
	position: absolute;
	
	z-index: 5;
}

#suburb {
	position: relative;

	width: 100%;
	
	margin-top: 100vh;
	
/*
	background-image: url("images/cloudslow.png");
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: center center;
*/
}

#suburbimage {
	display: block;
	width: 100%;
	
	margin-top: -10%;
	margin-bottom: -4px; 
}

#suburbimage img {
	width: 100%;
}

#suburbAnimation {
	position: absolute;
	
	z-index: 5;
}

#suburbStatic {
	position: absolute;
}

/* Applies when the screen is 'tall', not wide. */
@media only screen and (max-aspect-ratio: 1/1) {
	
}

/* At this size, the video section can't have any padding. */
@media only screen and (max-width: 600px) {
	
	#videosection {
	
		width: 100%;
	
		margin-left: auto;
		margin-right: auto;
		
		min-width: unset;
	}
	
	h3 {
		font-size: 16pt;
	}
	
	#comingsoon h3 {
		width: 100%;
		min-width: unset;
		max-width: 380px;
	}
	
	#comingsoon img {
		-webkit-transform: scale(0.5);
		transform: scale(0.5);
	}

}

/* Applies when the screen is very 'wide', like a 16/9 landscape iPhone*/
@media only screen and (min-aspect-ratio: 15/9) {
	
}

@media only screen and (max-width: 480px) {
	
	#suburb {
		margin-top: 55vh;
	}
	
	#suburbimage {
		margin-bottom: -5px; 
	}
	
	#scrollprompt {
		display: none;
	}
	
	#wires {		
		/* Middle vertically minus the the proportion of the image that I want above center. Depends on the aspect ratio of the image. */
		top: calc(25vh - 17.5vw);
	}
	
	#logo {		
		/* Center an absolute element */
		top: 25vh;
	}
	
	#clouds {
		top: 12.5vh;
	}
	
	#comingsoon {
		padding-top: 10%; /* 10% of video height would be padding-top: 5.625%;, which is 540/960 as a padding-top percentage. */
	}
	
	#bethefirst {
		max-width: 90%;
	}
	
	#footer .icon {		
		padding-right: 10px;
		padding-left: 10px;
	}
}

@media only screen and (max-width: 320px) {
	
	#emailform {
		width: 320px;
	}
	
	#emailfield {
		width: 238px; /* 580 - 8 - 4 */
	}
	
	#submitbutton {
		width: 69px;
		height: 100%;
		background-size: auto auto;
		background-position: 0px -1px;
	}
}
