form {
	background: #fff;
	padding: 1em !important;
}

.form-group {
	margin-bottom: 2em;
	max-width: 400px;
}

label {
	display: block;
}

input, textarea, select {
	font-size: 1em;
	line-height: 1.5;
	outline: 0;
	border: 1px solid #ddd;
	border-radius: 0;
	padding: 1em;
	width: 100%;
}

select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

textarea {
	height: 12em;
}

input[type="radio"] {
	width: auto;


    /* */
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 50%;
	padding: 8px;
	bottom: -6px;
	/* */
}

/* */
input[type="radio"]:checked {
    border: 6px solid #0096d6;
    padding: 3px;
}
/* */


input[type="radio"] + label {
	display: inline-block;
}

input:focus, textarea:focus, select:focus {
	border-color: #333;
}

.select:after {
    content: "▾";
    position: absolute;
    right: 1em;
    top: 1em;
}

.character-count {
	position: absolute;
	top: 0;
	text-align: right;
    font-size: 0.8em;
    width: 100%;
}

.font-small {
	font-size: 0.8em;
}

.error-message {
	display: none;
	color: red;
}

.valid {
	color: green;
}

.has-error {
	border-color: red;
}

.has-error + .error-message {
	display: block;
}

.has-error.character-count {
	color: red;
}

.hidden {
	display:none
}
