/* moviepanel Forms CSS */

/* ================================================================================================================== */
/* Progress indicator */

.form_progress {
	padding: 1em;
	margin-bottom: 1em;
	border-bottom: 1px solid #ccc;
}

.form_progress_text {
	margin-bottom: 0.5em;
	font-weight: 600;
	font-size: 0.786em;
}

.form_progress_bar {
	position: relative;
	height: 4px;
	background-color: rgba(102, 204, 102, 0.33);
}

.form_progress_bar_done {
	position: absolute;
	top: 0;
	left: 0;
	height: 4px;
	background-color: #6c6;
}

/* ================================================================================================================== */

/* Form header/intro/footer */

.form_title, .form_text, .form_content {
	margin-right: 240px;
}

.form_title {
	font-size: 1.5em;
	padding: 0.667em 0.667em 0;
	margin-bottom: 1em;
}

.form_text {
	padding: 0 1em 1em;
}

.form_image {
	float: right;
	width: 240px;
	padding: 0 1em 1em 1em;
}

.form_header_framed {
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	background: #e8ebed;
	padding: 1em;
	margin-bottom: 1em;
}

footer.form_footer {
	font-size: 10px;
	text-align: center;
	margin-bottom: 10px;
}

/* ================================================================================================================== */

/* Form generics */

.form_page {
	padding: 1em;
}

/* ================================================================================================================== */

/* Fieldsets */

.fieldset {
	overflow: hidden;
	padding: 0.5em;
}

.fieldset {
	border-top: 1px solid #ccc;
}

.fieldset_header, .fieldset_footer {
	padding: 0.5em;
}
.fieldset_title b {
	font-weight: bold;
}
	.fieldset_footer .fieldset_text {
		font-size: 0.857em;
	}

.fieldset_text {
	margin: 1em 0 0 0;
}

.fieldset_text2 {
	padding: 0 1em;
}

.fieldset_content {
	clear: both;
	overflow: hidden;
	padding: 0.5em 0;
}

.fieldset_image {
	width: 60%;
	margin: 1em auto 0;
}

/* ================================================================================================================== */

/* Field groups */

.field_group {
	overflow: hidden;
	padding: 0.5em 0.5em 0;
}

	.field_group > label {
		float: left;
		width: 30%;
	}

		.field_group > label > .label_text {
			display: block;
			padding-right: 1em;
			padding-top: 0.5em;
		}

	.field_group > .field_group_fields {
		overflow: hidden;
	}

	.field_group .field {
		float: left;
	}

	.field_group .input {
		padding-top: 0;
		padding-left: 0;
	}

	.field_group.small_options select {
		font-size: 10px;
	}

/* ================================================================================================================== */

/* Field type styles */

.field {
	overflow: hidden;
}

/* Label images */

.label_image {
	display: block;
	margin: 0.5em 0;
	max-width: 207px;
}

/* Checkbox / Radio */

input[type='radio'],
input[type='checkbox'] {
	/* display: none; */
	position: absolute;
	opacity: 0;
}

.input_radio label,
.input_checkbox label {
	display: inline-block;
	position: relative;
	padding: 0.5em 0.5em 0.5em 2.25em;
	cursor: pointer;
	width: 100%;
}

	.input_radio label::before,
	.input_checkbox label::before {
		display: block;
		position: absolute;
		top: 0.4em;
		left: 0.4em;
		color: #666;
		font-size: 1.25em;
		line-height: 1em;
		font-family: 'Moviepanel Icons';
		content: '';
	}

.input_radio.disabled label::before,
.input_checkbox.disabled label::before {
	color: #ccc;
}

.input_checkbox label::before {
	content: '\e25d';
}

.input_checkbox input:checked + label::before {
	content: '\e25c';
}

.input_radio label::before {
	content: '\e25e';
}

.input_radio input:checked + label::before {
	content: '\e25f';
}

.input_radio input:focus + label::before {
	border: 1px dashed #ccc;
}

/* Matrix */

.matrix {
	display: table;
	table-layout: fixed;
	width: 100%;
}

.matrix_row {
	display: table-row;
}

.matrix_cell {
	display: table-cell;
	padding: 0.5em 0.5em;
	text-align: center;
	vertical-align: middle;
}

.matrix_label_x {
	padding-bottom: 1em;
}

.matrix_label_y {
	text-align: left;
}

.input_radio_matrix label {
	width: 6em;
	height: 3em;
	padding: 0;
	color: transparent;
}

.input_radio_matrix .label_text {
	display: none;
}

.input_radio_matrix label::before {
	top: 50%;
	left: 50%;
	margin-top: -0.625em;
	margin-left: -0.625em;
}

.input_matrix .matrix_row:nth-child(even) {
	background-color: #f3f3f3;
}

/* Text */

.input_text {
	width: 100%;
	padding: 0.5em;
}

	.input_text.input_text_age input {
		width: 200px;
	}

	.input_text label {
		float: left;
		width: 30%;
		padding-right: 1em;
	}

	.input_text .label_text {
		display: block;
		padding-top: 0.5em;
	}

	.input_text .input_container {
		overflow: hidden;
	}

	.input_text input {
		-webkit-appearance: none;
		-moz-appearance: none;
		width: 100%;
		padding: 0.5em 0.5em;
		border: 1px solid #999;
		border-radius: 0;
		background: #fff;
	}

/* Security Code */

.form-textbox {
	font-size: 17px;
	line-height: 1.29412;
	font-weight: 400;
	letter-spacing: -.021em;
	font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
	display: inline-block;
	box-sizing: border-box;
	vertical-align: top;
	width: 100%;
	height: 34px;
	margin-bottom: 14px;
	padding-left: 15px;
	padding-right: 15px;
	color: #333;
	text-align: left;
	border: 1px solid #d6d6d6;
	border-radius: 4px;
	background: #fff;
	background-clip: padding-box;
}

.security-code .security-code-container {
	display: -webkit-box !important;
	display: -webkit-flex !important;
	display: -moz-flex !important;
	display: -ms-flexbox !important;
	display: flex !important;
	-webkit-justify-content: center;
	-ms-justify-content: center;
	justify-content: center;
}

.security-code .field-wrap .char-field {
	width: 40px;
	height: 40px;
	font-size: 22px;
	padding: 0;
	text-align: center;
}

.security-code .field-wrap {
	margin-left: 6px;
}

.security-code-header {
	font-size: 5vw;
	text-align: center;
	margin: 10px 10px 14px 10px;
	position: relative;
}

.security-code-section, .security-code-resend {
	text-align: center;
	padding-bottom: 10px;
}

.security-code-section {
	font-size: 1.1em;
}

.security-code-single {
	position: relative;
	font-size: 1.3em;
	height: 35px;
}

.change-single {
	position: absolute;
	width: 100%;
	height: 100%;
	margin-top: 4px
}

	.change-single #single, .change-single #single2 {
		width: 50vw;
	}

.form_content .change-single .input_button {
	float: none;
	padding: 0;
}

.security-code-section .input_button .single-button {
	margin: 0;
	padding: 0.2em 1em;
}

.security-code-resend {
	font-size: 2.8vw;
	text-align: center;
	margin: 10px;
	position: relative;
}

#bubble {
	position: absolute;
	width: 100%;
	height: 100%;
	padding: 4px 12px 10px 12px;
	background: #ffc;
	box-sizing: border-box;
	text-align: center;
	font-size: 4vw;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	display: none;
}

#wall {
	position: absolute;
	top: 0;
	left: 0.01em;
	width: 100%;
	height: 100%;
	background: white;
}

#resend {
	position: absolute;
	width: 100%;
	height: 100%;
	padding: 0 12px 10px 12px;
	box-sizing: border-box;
	text-align: center;
	font-size: 3.4vw;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	display: none;
}

.code_send {
	text-align: center;
	margin-bottom: 1em
}

/* Select */

.input_select {
	width: 100%;
	padding: 0.5em;
}

#childrenBlock .input_select {
	padding: 0.1em;
}

.input_select label {
	float: left;
	width: 30%;
	padding-right: 1em;
}

.input_select .label_text {
	display: block;
	padding-top: 0.5em;
}

.input_select .input_container {
	overflow: hidden;
}

.input_select select {
	width: 100%;
	padding: 0.5em 0.5em;
	border: 1px solid #999;
	border-radius: 0;
	background: #fff;
}

/* Textarea */

.input_textarea {
	width: 100%;
	padding: 0.5em;
}

	.input_textarea label {
		float: left;
		width: 30%;
		padding-right: 1em;
	}

	.input_textarea .label_text {
		padding-top: 0.5em;
	}

	.input_textarea .input_container {
		overflow: hidden;
	}

	.input_textarea textarea {
		-webkit-appearance: none;
		-moz-appearance: none;
		resize: none;
		width: 100%;
		height: 8em;
		padding: 0.5em;
		border: 1px solid #999;
		border-radius: 0;
		background: #fff;
	}

/* Form Trailer */

span.attentionImg {
	display: inline-block;
	float: left;
	width: 16px;
	height: 16px;
	margin: 0.35em 0.35em 0 0;
	background: url(/assets/img/caveat.png) 0 0 no-repeat;
}

img.trailer_icon {
	width: auto;
	display: inline-block;
	margin-right: 0.35em;
}

/* Button */

.button {
	/* includes "fake"/"transparent" buttons using links */
	display: inline-block;
	margin: 0.5em 0;
	font-weight: 700;
	text-align: center;
	cursor: pointer;
}

.button_reg {
	float: right;
}

.button.age_barrier {
	height: 100px;
}

.input_button.age_barrier {
	text-align: initial;
}

@media (max-width: 400px) {
	.button.age_barrier {
		height: auto;
	}
	.input_button.age_barrier {
		text-align: center;
	}
}

	.button_full {
		width: 100%;
	}

	.form_content .input_button, .customForm .input_button {
		float: right;
		padding-right: 0.5em;
		display: inline-block;
	}

	.input_button [name=formContinueButton] {
		float: right;
	}

	.form_content .input_button.no_float, .customForm .input_button.no_float {
		float: none;
	}

	.input_button .button, .input_button_code .button {
		padding: 0.5em 1em;
		margin: 0;
		border: 0;
		border-radius: 0.2em;
		background: #2eabde;
		box-shadow: 0 4px 2px rgba(0, 0, 0, 0.1);
		color: #fff;
		text-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
	}

		.input_button .button.fb {
			background: #2eabde url(../img/fb_small.png) 9px 50% no-repeat;
			padding: 0.5em 3em;
		}

	.input_button .button_alt {
		background: #246d92;
	}

	.input_button .button_alt2 {
		background: #3d9b27;
	}

	.input_button .button:hover {
		background: #192e45;
		color: #fff;
	}

		.input_button .button:hover.fb {
			background: #192e45 url(../img/fb_small.png) 9px 50% no-repeat;
			color: #fff;
		}

	.input_button .button:active {
		position: relative;
		top: 2px;
	}

	.input_button.disabled .button {
		background: #ccc;
		cursor: default;
	}

	/* Errors */

	.has-error {
		background: #fee;
	}

	.error_hint {
		display: inline-block;
		margin-top: 0.5em;
		padding: 0 0.583em 1.5em 0.583em;
		color: #900;
		font-weight: 700; /* font-size:  0.857em; */
		background: #fee;
	}

	/* Oks */

	.has-no-error {
		background: #efe;
	}

	.hidden {
		display: none;
	}

	.deactivated {
		opacity: 0.5;
	}

	.activated {
		opacity: 1;
	}

	/* ================================================================================================================== */

	/* Special adjustments for metabox input elements */

	.login_form::after {
		display: block;
		content: ' ';
		clear: both;
		visibility: hidden;
		height: 0;
		font-size: 0;
	}

	.login_form_input {
		float: left;
		width: 36%;
		margin-right: 1%;
	}

		.login_form_input:last-child {
			/* Button */
			width: 26%;
			margin-right: 0;
		}

	.login_form .input_text {
		padding: 0;
	}

	.login_form .button {
		width: 100%;
	}

	.metabox .input_button .button {
		padding-left: 1em;
		padding-right: 1em;
	}

	.login_form_error {
		margin: 0.5em 0;
		padding: 0.2em 0.5em;
		background: #f00;
		color: #fff;
		font-weight: 700;
		font-size: 0.857em;
	}

	input#LoginBox_SubmitButton {
		min-width: 82px;
	}

	.autowidth div {
		width: auto;
	}

	.label_text.emphasized {
		background-color: #e8ebed;
		font-style: italic;
		padding: 0 5px;
	}

	/* ================================================================================================================== */

	/* Responsive/adaptive layout (in cooperation with JavaScript) */

	@media (max-width: 1023px) {
		.form_title, .form_text {
			margin-right: 25%;
		}

		.form_image {
			width: 25%;
			float: none;
		}

		.form_content {
			margin-right: 0;
		}

		.form_header {
			overflow: hidden;
		}
	}

	@media (max-width: 768px) {
		aside#LoginBox_LoginContainer header {
			display: none;
		}

		/* Switch matrix questions to style without checkbox/radio fields: */

		.input_matrix:not(.input_matrix_exclusive) .matrix_cell {
			display: block;
		}

		.input_matrix:not(.input_matrix_exclusive) .input_radio_matrix .label_text {
			display: inline;
		}

		.input_matrix:not(.input_matrix_exclusive) .input_radio_matrix label {
			color: inherit;
			width: auto;
			padding: 1em;
			width: 100%;
			height: 100%;
		}

		.input_matrix:not(.input_matrix_exclusive) .input_radio_matrix {
			background-color: #e8ebed;
			border: 1px solid #c6c9cb;
			margin-bottom: 0.3em;
		}

			.input_matrix:not(.input_matrix_exclusive) .input_radio_matrix label::before {
				content: '';
			}

			.input_matrix:not(.input_matrix_exclusive) .input_radio_matrix input:checked + label {
				background-color: #66cc66;
			}

				.input_matrix:not(.input_matrix_exclusive) .input_radio_matrix input:checked + label::before {
					content: '';
				}

		.input_matrix:not(.input_matrix_exclusive) .matrix_label_x {
			display: none;
		}

		.input_matrix:not(.input_matrix_exclusive) .matrix_label_y {
			font-weight: bold;
			padding: 1em;
		}

		.input_matrix:not(.input_matrix_exclusive) .matrix_row {
			background-color: transparent;
		}
	}

	@media (max-width: 639px) {
		.form_title, .form_text {
			margin-right: 0;
		}

		.form_image {
			float: none;
			width: 75%;
			max-width: 207px;
			padding: 0 0 0 1em;
			margin-bottom: 0.75em;
		}

		.metabox .input_button .button { /* padding-left: 0.7em; */
		}
	}

	@media (max-width: 500px) {
		.button.button_reg {
			float: none;
			margin: 5px 0;
		}
	}

	@media (max-width: 480px) {
		.input_radio:not(.input_radio_matrix), .input_checkbox {
			background-color: #e8ebed;
			border: 1px solid #c6c9cb;
			margin-bottom: 0.3em;
		}

			.input_radio:not(.input_radio_matrix) label, .input_checkbox label {
				padding-left: 1.25em;
			}

				.input_radio:not(.input_radio_matrix) label::before, .input_checkbox label::before {
					content: '';
				}

			.input_radio:not(.input_radio_matrix) input:checked + label, .input_checkbox input:checked + label {
				background-color: #66cc66;
			}

				.input_radio:not(.input_radio_matrix) input:checked + label::before, .input_checkbox input:checked + label::before {
					content: '';
				}

		.input_textarea textarea, input[type=text], input[type=password] {
			font-size: 16px; /* prevents zoom-in on mobile clients when textarea is selected */
		}

		.autowidth div {
			width: 50%;
		}

		.fieldset_image .roi {
			cursor: url(/assets/img/magnify.cur), auto;
		}

		.label_text.emphasized {
			background-color: transparent;
			font-style: italic;
			padding: 0;
		}

		.input_matrix_exclusive .input_radio_matrix label {
			width: 1em;
		}

		.input_radio label::before, .input_checkbox label::before {
			font-size: 1.7em;
		}
	}

	/* Form-only */

	.reduced-width {
		/* Debug:
	background: #f0f;
	*/
	}

		.reduced-width .input_text label,
		.reduced-width .input_select label,
		.reduced-width .input_textarea label,
		.reduced-width .field_group > label {
			float: none;
			width: auto;
		}

		.reduced-width .input_matrix_exclusive .label_image {
			max-width: 105px;
		}

	.captcha {
		padding: 0.5em;
	}

	.captcha_input {
		margin: 0.5em;
	}

	.manual_loading_animation {
		display: flex;
		height: 100%;
		width: 100%;
	}

		.manual_loading_animation img {
			width: 32px;
			height: 32px;
			margin: auto;
			max-width: 100%;
			max-height: 100%;
		}

	.registration_button_landingpage {
		font-size: 1.5em;
		text-align: center;
		padding: 1em 0 1.8em 0;
	}

	@media (max-width: 480px) {
		.survey_mobile_footer_space {
			margin-bottom: 40px;
		}
	}

	.text-center {
		text-align: center !important;
	}