
button,
textarea,
input[type="text"],
input[type="email"],
input[type="number"],
input[type="email"],
input[type="date"] {
	padding: 10px 14px;
	background: #FFFFFF;
	color: #000000;
	font-family: "Archivo Narrow", Helvetica, Arial, sans-serif;
	font-size: 14px;
}

.button-wrapper {	
	padding: 10px 0;
	margin-top: -1px;

	&.large {
		padding: 16px 0;
	}
}

.text-button {
	cursor: pointer;

	&.destructive {		
		color: $red;
	}
}

.button,
button,
input[type="button"],
input[type="submit"] {
	@include animate();
	padding: 10px 20px;
	border: 0;
	color: #000000;
	background: $light_grey;

	&:hover{
		cursor: pointer;
		background: darken( $light_grey, 6%);
	}

	&.large {
		padding: 16px 24px;
	}

	&.primary {
		background: $turquoise;
		color: #FFFFFF;
		&:hover {
			background: darken( $turquoise, 6% );
		}
	}

	&.secondary {
		background: #000000;
		color: #FFFFFF;
		&:hover {
			background: lighten( #000000, 20% );
		}
	}

	&.tertiary {
		background: $mid_grey;
		color: #FFFFFF;
		&:hover {
			background: darken( $mid_grey, 6% );
		}
	}

	&.confirming,
	&.destructive {
		background: $red;
		color: #FFFFFF;
		&:hover {
			background: darken( $red, 6% );
		}
	}

	&.timing-out {
		position: relative;
		&::before {
			@include animate_timeout(2s);
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			bottom: 0;
			width: 0;
			background: rgba(255,255,255,0.15);
		}
	}

	&.centered {
		display: block;
		min-width: 200px;
		margin: 0 auto;
		text-align: center;
		padding-left: 30px;
		padding-right: 30px;
	}

	&[disabled],
	&[disabled="disabled"] {
		background: rgba(200,200,200,0.4) !important;
		color: $mid_grey !important;
		cursor: not-allowed !important;
	}
}

.field {
	display: block;
	padding-bottom: 8px;
	@include clearfix;

	.name {
		display: block;
		padding-top: 10px;
		width: 15%;
		float: left;
	}

	label {
		display: inline-block;
	}

	.description {
		display: inline-block;
		padding: 10px 14px;
	}

	.input {
		width: 85%;
		float: left;
		
		input,
		select,
		textarea {
			width: 100%;
		}

		.text {
			display: block;
			padding: 10px 14px 10px 0;
		}
	}

	&.radio,
	&.checkbox {

		input{
			display: none;
		}

		.input {
			padding-top: 4px;
		}

		.label {
			display: inline-block;
			float: none;
			width: auto;
			padding: 5px 30px 5px 30px;
			position: relative;
			cursor: pointer;
		}
	}

	&.radio {

		input + .label:before {
			content: ' ';
			display: inline-block;
			width: 16px;
			height: 16px;
		    border-radius: 50%;
			border: 1px solid #000000;
			position: absolute;
			top: 4px;
			left: 0;
		}

		input:checked + .label:before {
		    background: #000000;
		    box-shadow: inset 0px 0px 0px 4px #f5f5f5;
		}

		&.white {
			input + .label:before {
				border-color: #FFFFFF;
			}

			input:checked + .label:before {
			    background: #FFFFFF;
			    box-shadow: inset 0px 0px 0px 4px #222222;
			}
		}
	}

	&.checkbox {

		input + .label:before {
			font-family: FontAwesome;
			font-size: 10px;
			content: ' ';
			color: #000000;
			display: inline-block;
			width: 13px;
			height: 13px;
			padding: 3px 0 0 3px;
			border: 1px solid #000000;
			position: absolute;
			top: 5px;
			left: 0;
		}

		input:checked + .label:before {
			content: '\f00c';
		}

		&.white {
			input + .label:before {
				border-color: #FFFFFF;
			}

			input:checked + .label:before {
			    color: #FFFFFF;
			}
		}
	}
}

@include responsive( $bp_medium ){
	.field {

		.name {
			float: none;
			width: auto;
			padding: 0 0 4px 0;
		}

		.input {
			float: none;
			width: auto;

			.text {
				padding: 0;
			}
		}

	}
}