* {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

html, 
body {
	margin: 0;
	padding: 0;
	font-family: sans-serif;
}

fieldset {
	border-radius: 3px;
	border: 1px solid #666;
}

.form-Wrapper {
	padding: 10px;
}

fieldset + fieldset {
	margin-top: 40px;
}

@media (min-width: 800px) {
	.form-Wrapper {
		max-width: 750px;
		margin: 0 auto;
	}
}

.form-Intro h1 {
	margin-bottom: 0;
}

.form-Intro h2 {
	margin-top: 5px;
	font-weight: 400;
	line-height: 1.3;
}

/*We want reverse order to sort the label being after the input*/
.form-Input_Wrapper {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	-webkit-flex-direction: column-reverse;
	    -ms-flex-direction: column-reverse;
	        flex-direction: column-reverse;
}

.form-Input_Wrapper label {
	color: 888;
	font-size: 15px;
	margin-bottom: 5px;
}

/*Note we are using a reverse order for flex-direction to make labels appear before the input*/
@media (min-width: 800px) {
	.form-Input_Wrapper {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-webkit-flex-direction: row-reverse;
		    -ms-flex-direction: row-reverse;
		        flex-direction: row-reverse;
		-webkit-box-align: center;
		-webkit-align-items: center;
		    -ms-flex-align: center;
		        align-items: center;
	}
	.form-Input_Wrapper input:not([type="range"]):not([type="color"]) {
		-webkit-box-flex: 0;
		-webkit-flex: 0 0 50%;
		    -ms-flex: 0 0 50%;
		        flex: 0 0 50%;
	}
	.form-Input_Wrapper label {
		-webkit-box-flex: 1;
		-webkit-flex: 1 0 50%;
		    -ms-flex: 1 0 50%;
		        flex: 1 0 50%;
		margin-bottom: 0;
	}
	textarea {
		-webkit-box-flex: 1;
		-webkit-flex: 1 0 50%;
		    -ms-flex: 1 0 50%;
		        flex: 1 0 50%;
	}
}

.form-Input_Wrapper + .form-Input_Wrapper {
	margin-top: 10px;
}

/*Wrap the slider and the indicator so they stay as one visual item*/
.form-Slider_Wrapper {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

#range {
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display: inline-flex;
	width: 20px;
	height: 20px;
	margin-left: 1ch;
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	color: #fff;
	padding: 3px;
	border-radius: 50%;
	background-color: #cc3232;
}

legend {
	font-size: 1.3em;
	padding: 3px 6px;
	color: #fff;
	margin-bottom: 10px;
	border-radius: 2px;
}

input:not([type="range"]),
textarea {
	min-height: 30px;
	padding: 2px;
	font-size: 17px;
	border: 1px solid #ebebeb;
	outline: none;
	-webkit-transition: -webkit-transform .4s, -webkit-box-shadow .4s, background-position .2s;
	        transition: transform .4s, box-shadow .4s, background-position .2s;
	background:  #f1f1f1;
	background: radial-gradient(400px circle,  #fff 99%, transparent 99%), #f1f1f1;
	background-position: -400px 90px, 0 0;
	background-repeat: no-repeat, no-repeat;
	border-radius: 0;
	position: relative;
}

input:not([type="range"]):focus,
textarea:focus {
	background-position: 0 0, 0 0;
}

/*This is the color of placeholder text*/
input::-webkit-input-placeholder {
	color: #999;
}
input::-moz-placeholder {
	color: #999;
}
input:-ms-input-placeholder {
	color: #999;
}
input:placeholder-shown {
	color: #999;
}

/*This changes the color of placeholder text when the input gets focused*/
input:not([type="range"]):focus::-webkit-input-placeholder {
	color: #555;
}
input:not([type="range"]):focus::-moz-placeholder {
	color: #555;
}
input:not([type="range"]):focus:-ms-input-placeholder {
	color: #555;
}
input:not([type="range"]):focus:placeholder-shown {
	color: #555;
}

/*The About the film section legend and inputs*/
.form-About_Wrapper legend {
	background-color: #cc3232;
}
.form-About_Wrapper input:not([type="range"]) {
	-webkit-box-shadow: inset 0 -3px 0 #cc3232;
	        box-shadow: inset 0 -3px 0 #cc3232;
}
.form-About_Wrapper input:not([type="range"]):focus {
	border: 1px solid #cc3232;
	-webkit-box-shadow: inset 0 -3px 0 #cc3232, 0 0 15px 5px #ebebeb;
	        box-shadow: inset 0 -3px 0 #cc3232, 0 0 15px 5px #ebebeb;	
}

/*The What should have won section legends and inputs*/
.form-What_Wrapper legend {
	background-color: #739327;
}
.form-What_Wrapper input:not([type="range"]) {
	-webkit-box-shadow: inset 0 -3px 0 #739327;
	        box-shadow: inset 0 -3px 0 #739327;
}
.form-What_Wrapper input:focus {
	border: 1px solid #739327;
	-webkit-box-shadow: inset 0 -3px 0 #739327, 0 0 15px 5px #ebebeb;
	        box-shadow: inset 0 -3px 0 #739327, 0 0 15px 5px #ebebeb;
}

/*The About you section legends and inputs*/
.form-You_Wrapper legend {
	background-color: #236A7E;
}
.form-You_Wrapper input:not([type="range"]) {
	-webkit-box-shadow: inset 0 -3px 0 #236a7e;
	        box-shadow: inset 0 -3px 0 #236a7e;
}
.form-You_Wrapper input:focus {
	border: 1px solid #236a7e;
	-webkit-box-shadow: inset 0 -3px 0 #236a7e, 0 0 15px 5px #ebebeb;
	        box-shadow: inset 0 -3px 0 #236a7e, 0 0 15px 5px #ebebeb;
}

/*Make all inputs scale up when they get focus*/
.form-Input_Wrapper input:focus {
	-webkit-transform: scale(1.06);
	        transform: scale(1.06);
}

/*Now we want some basic styling to indicate that fields are required, valid or invalid*/
input:required + label:after {
	content: "*";
	font-size: 2.1em;
	position: relative;
	top: 6px;
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display: inline-flex;
	margin-left: .2ch;
	-webkit-transition: color, 1s;
	        transition: color, 1s;
}

input:required:invalid + label:after {
	color: red;
}

input:required:valid + label:after {
	color: green;
}

/*Submit button flipper*/
.form-Submit_Btn {
	-webkit-appearance: none; /*Non standard*/
	-moz-appearance: none; /*Non standard*/
	border: 0;
	background: none;
	outline: 0;
	padding: 0;
	margin: 1em 0;
	font-size: 1rem;
}

.flipper {
	-webkit-perspective: 400px;
	        perspective: 400px;
	position: relative;
	width: 300px;
	height: 44px;
	display: block;
}

.flipper-object {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	-webkit-transition: -webkit-transform 1s;
	        transition: transform 1s;
	-webkit-transform-style: preserve-3d;
	        transform-style: preserve-3d;
}

.panel {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	min-height: 44px;
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	top: 0;
	width: 100%;
	height: 100%;
	position: absolute;
	-webkit-backface-visibility: hidden;
	        backface-visibility: hidden;
}

.flipper-vertical .back {
	-webkit-transform: rotateX(180deg);
	        transform: rotateX(180deg);
}

.back {
	background-color: #739328;
	color: #fff;
}

.front {
	border: 1px solid #739328;
}

.form-Submit_Btn:focus .flipper-vertical {
	-webkit-transform: rotateX(180deg);
	        transform: rotateX(180deg);
}