/*
 * #Forms
 */

/*
 * Form container
 */

.frm__container,
.frm__container > .rwd__frm {
	margin-top: 1.5em;
}

/*
 * Default form class
 */

.rwd__frm {
	margin: 0;
	padding: 0;
}

/*
 * Common
 */

label.rwd__frm,
input.rwd__frm[type="date"],
input.rwd__frm[type="email"],
input.rwd__frm[type="number"],
input.rwd__frm[type="password"],
input.rwd__frm[type="search"],
input.rwd__frm[type="tel"],
input.rwd__frm[type="text"],
input.rwd__frm[type="url"],
textarea.rwd__frm,
select.rwd__frm {
	position: relative;
	height: 2.5rem;
	margin-right: 0.25em;
	padding: 0.375rem 0.625rem;
	border: 1px solid #d1d1d1;
	border-radius: 0.313em;
	box-shadow: none;
	background-color: #fff;
	font-size: 0.875em;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

/*
 * Focus
 */

input.rwd__frm[type="date"]:focus,
input.rwd__frm[type="email"]:focus,
input.rwd__frm[type="number"]:focus,
input.rwd__frm[type="password"]:focus,
input.rwd__frm[type="search"]:focus,
input.rwd__frm[type="tel"]:focus,
input.rwd__frm[type="text"]:focus,
input.rwd__frm[type="url"]:focus,
textarea.rwd__frm:focus,
select.rwd__frm:focus {
	box-shadow: 0 0 5px rgba(81, 203, 238, 1);
	border: 1px solid rgba(81, 203, 238, 1);
	outline: 0;
}

/*
 * Checkbox and radio
 */

input.rwd__frm[type="checkbox"],
input.rwd__frm[type="radio"] {
	display: inline;
}

/*
 * Textarea
 */

textarea.rwd__frm {
	min-height: 10rem;
	padding-top: 0.375rem;
	padding-bottom: 0.375rem;
}

/*
 * Fieldset
 */

fieldset {
	padding: 0;
	border-width: 0;
}

/*
 * Label & Legend
 */

label,
legend {
	display: block;
	margin-bottom: .5rem;
}

label:not(.rwd__ckb) {
	font-weight: 700;
}

label.info {
    font-weight: normal;
    font-size: 1rem;
    vertical-align: middle;
}

/*
 * Label
 */

label {
	color: #545454;
}

/*
 * Full width size
 */

.rwd__full_w {
	width: 100%;
}

/*
 * Checkboxes
 */

.rwd__ckb {
	font-weight: 300; /* overwrite general label font-weight */
	color: #000;
}

/*
 * Checkboxes group
 */

.rwd__ckb_group p {
	margin-bottom: 1em !important;
}

.rwd__ckb_group label {
	margin: 0 0 0.25em;
	text-align: left;
	font-weight: 300;
}

.rwd__ckb_group label input[type=checkbox] {
	margin: 0;
	vertical-align: middle;
}

.rwd__ckb_group.ckb__dir_left label input[type=checkbox] {
	margin-right: 0.25em;
}

.rwd__ckb_group.ckb__dir_right label input[type=checkbox] {
	margin-left: 0.25em;
}

/*
 * Button group
 */

.rwd__btn_group {
	position: relative;
	clear: both;
	white-space: nowrap;
}

/*
 * vertical-align middle in the unknown
 */

.rwd__btn_group.rwd__btn_group_table {
	display: table;
}

/*
 * Group items
 */

.rwd__btn_group__itm {
	position: absolute;
	top: -9999em;
	left: -9999em;
}

.rwd__btn_group__itm + label {
	float: left;
	border: 1px solid #787a7b;
	border-radius: 0;
	background: #d8dfe4;
	color: #585858;
	vertical-align: middle;
	cursor: pointer;
}

.rwd__btn_group:not(.rwd__btn_group_table) .rwd__btn_group__itm + label {
	margin-right: -1px; /* .rwd__btn_group__itm + label { - 2 * border-width value } */
}

.rwd__btn_group.rwd__btn_group_table .rwd__btn_group__itm + label {
	display: table-cell;
	float: none;
	border-left-width: 0;
}

.rwd__btn_group__itm + label:first-of-type {
	border-radius: 0.125em 0 0 0.125em;
}

.rwd__btn_group.rwd__btn_group_table .rwd__btn_group__itm + label:first-of-type {
	border-left: 1px solid #787a7b; /* .rwd__btn_group__itm + label { - 2 * border-width value } */
}

.rwd__btn_group__itm + label:last-of-type {
	border-radius: 0 0.125em 0.125em 0;
}

.rwd__btn_group__itm:checked + label {
	background: #ecba0c;
	color: #fff;
}

/*
 * Form errors
 */

input.rwd__frm_error,
select.rwd__frm_error,
textarea.rwd__frm_error {
	border: 1px solid #f00;
}

input.rwd__frm_success,
select.rwd__frm_success,
textarea.rwd__frm_success {
	border: 1px solid #0c0;
}

label.rwd__frm_error,
label.rwd__frm_warning,
label.rwd__frm_success {
	display: block;
	margin-bottom: 1em;
	font-weight: 300;
	font-size: 1rem;
}

label.rwd__frm_error {
	color: #f00;
}

label.rwd__frm_warning {
	color: #f93;
}

label.rwd__frm_success {
	color: #0c0;
}

/*
 * Captcha
 */

.rwd__frm_captcha {
	margin: 0 0 1em !important;
}

.rwd__frm_captcha label {
	font-weight: 300;
}

.rwd__frm_captcha img.captcha {
	margin-right: 0.625em;
}

.rwd__frm_captcha input {
	min-width: 15em;
	margin-left: 0.625em;
}

.rwd__frm_captcha > * {
	float: left;
}

/*
 * Media Queries
 */

@media only screen and (max-width: 480px) {

	/*
	 * Captcha
	 */
	.rwd__captcha {
		clear: both;
		width: 100%;
		margin-top: 0.25em;
		margin-left: 0;
	}

	.rwd__frm_captcha input {
		margin-left: 0;
	}
}
