input, textarea, button {
	padding: 11px 16px;

	background: #fff;
	color: #4a525f;

	font-size: 15px;
	line-height: 15px;
	font-family: inherit;

	border: none;
	border-radius: 5px;
}

input[type='range'], ::-webkit-slider-thumb {
	-webkit-appearance: none;
}

	input[type='range'] {
		background: #cdd3db;
		padding: 0 5px 0 0 !important;
		cursor: col-resize;
		overflow: hidden;
	}

	::-webkit-slider-thumb {
		display: block;
		width: 15px;
		height: 29px;

		position: relative;

		border-radius: 3px;

		background: #95a1b2;
	}

		::-webkit-slider-thumb:before {
			content: '';
			display: block;
			position: absolute;
			left: -300px;
			right: 10px;
			top: 0;
			bottom: 0;

			background: #95a1b2;
		}


	input:focus, textarea:focus, button:focus, select:focus {
		outline: none;
	}

	textarea {
		font-size: 17px;
		line-height: 25px;
	}

	button {
		cursor: pointer;
	}

legend {
	font-size: 19px;
	font-weight: 500;

	display: block;
	float: left;
	margin: 40px 0 30px;
}

	legend + em {
		float: right;
	}

select {
	-webkit-appearance: none;
	display: block;
	float: left;
	height: 39px;
	padding: 9px 0 8px 20px;

	font: 15px/22px "Helvetica Neue", sans-serif;

	border: none;
	border-radius: 0 5px 5px 0;

	background: #fff;
	color: #7f8b9e;

	cursor: pointer;

	min-width: 216px;
}

	select + .arrow {
		display: inline-block;
		position: absolute;
		top: 19px;
		margin-left: -24px;

		pointer-events: none;

		border-top: 4px solid #aab3c0;
		border-right: 4px solid transparent;
		border-left: 4px solid transparent;
	}


.half {
	float: left;
	width: 48.5%;
	margin-right: 3%;
}

	.half + .half {
		margin-right: 0;
	}

	.half label + input, .half label + textarea, .half label + select {
		min-width: 305px;
		width: auto;
	}

	.half em, .half legend {
		display: none;
	}

.split label {
	background: #e6e9ed;

	display: inline-block;
	float: left;
	height: 39px;
	padding: 0 18px;

	text-align: center;
	line-height: 39px;

	-webkit-user-select: none;

	border-radius: 5px 0 0 5px;
	min-width: 160px;
}

	.split label + input, .split label + textarea {
		float: left;
		height: 39px;
		border-radius: 0 5px 5px 0;
	}
	.split label + textarea {
		resize: vertical;
	}
	textarea[name=css], textarea[name=js] {
		font-family: Monaco, "Courier New", courier, monospace;
	}

	.split summary {
		margin-left: 160px;
	}

	.split input[type=checkbox] {
		-webkit-appearance: none;
		width: 66px;
		min-width: 66px;

		cursor: pointer;

		background: #fff url('../img/cross.gif') no-repeat 50% 50%;
	}

		.split input[type=checkbox]:checked {
			background-image: url('../img/tick.gif');
		}

	.split input, .split select {
		min-width: 300px;
	}

	.split textarea {
		width: 500px;
		min-height: 120px;
		max-height: 600px;

		border-radius: 0 5px 5px 5px !important;
	}

	.split p {
		position: relative;
		overflow: hidden;
		clear: both;
		margin-bottom: 15px;
	}

	.split em {
		font-style: normal;
		padding: 6px 10px;

		opacity: 0;
		-webkit-transition: opacity .25s;
		-moz-transition: opacity .25s;
		-ms-transition: opacity .25s;
		-o-transition: opacity .25s;
		transition: opacity .25s;
	}

	.split input:focus + em, .split textarea:focus + em, .split select:focus + em {
		opacity: 1;
	}

	.split input[type=file] {
		padding: 0;
		overflow: hidden;
	}

	.split .file {
		width: 50px;
		height: 39px;
		overflow: hidden;
		float: left;
		display: block;
		background: #e6e9ed url('../img/cloud.png') no-repeat center center;
		background-size: 32px;
		border-radius: 0 5px 5px 0;
	}

		.split .file input {
			opacity: 0;
			height: 39px;
			display: block;
		}

	.split .current-file {
		border-radius: 0;
		min-width: 250px;
		height: 39px;
		line-height: 39px;
		padding: 0 16px;
		display: block;
		float: left;
		overflow: hidden;
		background: #fff;
	}

	.split .remove-file {
		border-radius: 0;
		width: 39px;
		height: 39px;
		display: block;
		float: left;
	}

		.split .remove-file a {
			width: 39px;
			height: 39px;
			display: block;
			overflow: hidden;
			text-indent: -1000px;
			background: #e6e9ed url('../img/cross.gif') no-repeat center center;
		}

	.split .twitter {
		position: relative;
	}

	.split .twitter input {
		padding-left: 32px;
		border-radius: 0 5px 5px 0;
	}

		.split .twitter .at {
			pointer-events: none;
			position: absolute;
			left: 170px;
			top: 8px;
			z-index: 10;

			color: #aab1bc;
		}

	.split + .buttons {
		clear: both;
	}

	.split + .buttons button:first-child {
		margin: 20px 15px 20px 160px;
	}
