.form {
	clear: both;
	float: none;
	padding: 10px;
}

.form.boxed {
	border: 1px solid grey;
	-webkit-box-shadow: 0 0 2px #333333;
	-moz-box-shadow: 0 0 2px #333333;
	box-shadow: 0 0 2px #333333;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	background-color: #ffffff;
}

.form.half-screen {
	width: 1000px;
	margin: 0 auto;
}

.form.third-screen {
	width: 600px;
	margin: 0 auto;
}

.form .line {
	padding: 0 0 10px;
	box-sizing: border-box;
	font-size: 0;
}

.form .line.squeeze {
	padding: 0;
}

.form .line label {
	width: 25%;
	display: inline-block;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 11pt; /* For IE */
	font-size: initial;
}

.form .line.smaller-input label {
	width: 50%;
}

.form .line.small-input label {
	width: 70%;
}

.form .line.label-less label {
	display: none;
}

.form .line.infomsg,
.form .line.error,
.form .line.warning,
.form .line.success {
	font-size: 11pt; /* For IE */
	font-size: initial;
	padding: 10pt 10pt 10pt 10pt;
	background-color: #990000;
	color: #ffffff;
	margin-bottom: 10pt;
	/*margin-right: 10pt;*/
	-webkit-box-shadow: 0 0 2px #666666;
	-moz-box-shadow: 0 0 2px #666666;
	box-shadow: 0 0 2px #666666;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}

.form .line.infomsg a,
.form .line.error a,
.form .line.warning a,
.form .line.success a {
	color: inherit;
}

.form .line.success {
	background-color: #009900;
}

.form .line.infomsg {
	background: #E6E6FA url(/images/info-48.png) no-repeat 8px center;
	background-size: 36px;
	padding-left: 48px;
	color: black;
}

.form .line.warning {
	background: #CC6600 url(/images/warning_48.png) no-repeat 8px center;
	background-size: 36px;
	padding-left: 48px;
}

.form .line.error ul {
	padding-left: 40px;
	margin: 1em 0 0;
}

.form .line.mandatory label {
	font-weight: bold;
}

.form div#telephone-number-edit-container {
	width: 100%
}

.form .line .select2-container,
.form .line input,
.form .line textarea,
.form .line .input-like-field,
.form .line table.input-like,
.form .line.radio-group div,
.form .line select {
	font-size: 11pt; /* For IE */
	font-size: initial;
	width: 75%;
	box-sizing: border-box;
}

.form .line.smaller-input input,
.form .line.smaller-input textarea,
.form .line.smaller-input .input-like-field,
.form .line.smaller-input table.input-like,
.form .line.smaller-input.radio-group div,
.form .line.smaller-input select {
	width: 50%;
}

.form .line.small-input input,
.form .line.small-input textarea,
.form .line.small-input .input-like-field,
.form .line.small-input table.input-like,
.form .line.small-input.radio-group div,
.form .line.small-input select {
	width: 30%;
}

.form .line.label-less input,
.form .line.label-less textarea,
.form .line.label-less .input-like-field,
.form .line.label-less table.input-like,
.form .line.label-less.radio-group div,
.form .line.label-less select {
	width: 100%;
}

.form .line table.input-like {
	display: inline-block;
	font-size: inherit;
	vertical-align: middle;
}

.form .line input,
.form .line .input-like-field {
	padding: 2px 4px;
	margin: 1px 0px 1px 0;
	display: inline-block;
	border: 1px solid #ccc;
	color: #000;
	min-height: 1.5em;
	/*float: left; Use inline or inline-block elements rather than floats*/
	box-sizing: border-box;
	background-color: #fff;
}

.form .line select {
	padding: 2px 0;
	display: inline-block;
	color: #000;
	min-height: 1.5em;
	box-sizing: border-box;
	background-color: #fff;
}

.form .line select option {
	padding: 0 4px;
}

.form .line table.input-like select.input-in-a-td,
.form .line table.input-like input.input-in-a-td {
	width: 100%;
}

.form .line input.warn,
.form .line .input-like-field.warn {
	background-image: url(/images/icon_alert.gif);
	background-position: right 5px center;
	background-repeat: no-repeat;
	-webkit-box-shadow: 0 0 3px 2px #FFBB66;
	-moz-box-shadow: 0 0 3px 2px #FFBB66;
	box-shadow: 0 0 3px 2px #FFBB66;
}

.form .line-with-button input,
.form .line-with-button textarea,
.form .line-with-button .input-like-field,
.form .line-with-button table.input-like,
.form .line-with-button select {
	width: 65%;
}

.form .line-with-button a.button {
	font-size: 11pt; /* For IE */
	font-size: initial;
	padding: 2px 4px;
	min-height: 1.5em;
	display: inline-block;
	width: 10%;
	text-align: center;
	text-decoration: none;
	border: 1px solid #CCCCCC;
	color: #666666;
	background-color: #EEEEEE;
	border-radius: 4px;
	-moz-border-radius: 4px;
	box-sizing: border-box;
}

.form .line-with-button a.button:hover {
	color: #990000;
	background-color: #DDDDDD;
	border: 1px solid #999999;
}

.form .line-with-button a.button img {
	vertical-align: middle;

}

.form .line .input-like-field {
	color: #666;
	background-color: #eee;
}

.form .line:after {
	display: block;
	content: "";
	float: none;
	clear: both;
}

.form .line.input-like-buttons {
	margin-left: 25%;
	width: 70%;
}

.form .line.input-like-buttons div {
	text-align: left;
}

.form .line.radio-group,
.form .line.radio-button {
	min-height: 1.5em;
	margin-top: 1px;
}

.form .line.radio-group div {
	display: inline-block;
	margin-left: -5px; /* Compensate 5px margin of the first checkbox/radio */
}

.form .line.radio-group span {
	white-space: nowrap;
	margin-right: 10px;
	font-size: 11pt; /* For IE */
	font-size: initial;
}

.form .line.radio-group span input,
.form .line.radio-button input {
	float: left;
	margin-right: 5px;
	margin-left: 5px;
}

.form .line.radio-group span input {
	float: none;
	margin-right: 1px;
}

.form .line.radio-group span label,
.form .line.radio-button label {
	border: 1px solid transparent;
	line-height: 1.5em;
	min-height: 1.5em;
	display: inline-block;
	float: none;
	width: auto !important;
}

.form .line.radio-group span label::after,
.form .line.radio-button label::after {
	display: none;
}

.form .line.radio-group.fake-checkboxes span:before {
	content: '\2611';
	display: inline-block;
	vertical-align: top;
	margin-right: 5px;
	margin-left: 5px;
}

.form .line.radio-group.fake-checkboxes span {
	color: #666;
}

.form.half-screen .line .input-like-field,
.form.half-screen .line input,
.form.half-screen .line select,
.form.half-screen .line textarea,
.form.half-screen .line label,
.form.half-screen .line.radio-group div,
.form.third-screen .line .input-like-field,
.form.third-screen .line input,
.form.third-screen .line select,
.form.third-screen .line textarea,
.form.third-screen .line label,
.form.third-screen .line.radio-group div {
	display: inline-block;
}

.form .buttons {
	text-align: center;
	padding: 10px 0 10px;
}

.form .buttons input,
.form .buttons button {
	min-width: 100px;
	padding: 4px 10px;
	width: auto !important;
}

.form .explanation-text {
	font-style: italic;
	color: #666666;
	font-size: 0.8em;
}

.form .explanation-text.input-related {
	margin-left: 25%;
	width: 70%;
	text-align: right;
}

.column {
	font-size: 11pt; /* For IE */
	font-size: initial;
	display: inline-block;
	width: 49%;
	margin-left: 2%;
	vertical-align: top;
}

.three-columns > .column {
	width: 32%;
}

.three-columns > .column > .line > label {
	width: 35%;
}

.three-columns > .column > .line.smaller-input > label,
.three-columns > .column > .line.small-input > label {
	width: 50%;
}

.three-columns > .column > .line > input,
.three-columns > .column > .line > select,
.three-columns > .column > .line.input-like-buttons,
.three-columns > .column > .line > .input-like-field {
	width: 60%;
}

.three-columns > .column > .line.smaller-input > input,
.three-columns > .column > .line.smaller-input > select,
.three-columns > .column > .line.smaller-input.input-like-buttons,
.three-columns > .column > .line.smaller-input > .input-like-field,
.three-columns > .column > .line.small-input > input,
.three-columns > .column > .line.small-input > select,
.three-columns > .column > .line.small-input.input-like-buttons,
.three-columns > .column > .line.small-input > .input-like-field {
	width: 50%;
}

.three-columns > .column > .line.input-like-buttons {
	margin-left: 35%;
}

/* Unset spacing margin for the first column or any column that's preceeded by a line */
.line + .column,
.column:first-child {
	margin-left: 0;
}

.has-columns {
	font-size: 0;
	vertical-align: top;
}

.has-columns > .line {
	display: inline-block;
	font-size: 11pt; /* For IE */
	font-size: initial;
	width: 100%;
}

div.radio-line label:after {
	content: none;
}

* input[type="radio"], * input[type="checkbox"] {
	display: inline-block;
	width: auto !important;
	/*vertical-align: middle;*/
}

.form .line.disabled.explanation-text,
.form .radio-group span.disabled label,
.form .line.disabled label {
	color: #999999;
}

.form .line.disabled input,
.form .line.disabled textarea,
.form .line.disabled .input-like-field,
.form .line.disabled table.input-like,
.form .line.disabled select {
	background-color: #eeeeee;
	color: #666666;
	border: 1px solid #bbbbbb;
}

@media screen and (max-width: 1280px) {
	.form.half-screen {
		width: 800px;
	}
}

@media screen and (max-width: 800px) {
	.form {
		padding: 10px;
	}

	.form.third-screen,
	.form.half-screen {
		box-sizing: border-box;
		width: 100%;
		margin: 0;
		background-color: transparent;
	}

	.form.boxed {
		-webkit-box-shadow: none;
		-moz-box-shadow: none;
		box-shadow: none;
		border: medium none;
		-webkit-border-radius: 0;
		-moz-border-radius: 0;
		border-radius: 0;
	}
}

@media screen and (max-width: 640px) {
	.form .line label {
		display: block;
		width: 100% !important;
		float: none !important;
	}

	.form .line .input-like-field,
	.form .line input,
	.form .line select {
		display: block;
		width: 100% !important;
		box-sizing: border-box;
	}

	.form .line .input-like-field,
	.form .line input {
		margin: 0;
	}

	.column {
		display: block;
		width: 100% !important;
		font-size: inherit;
		margin: 0;
	}

	.column:after {
		display: block;
		content: "";
		float: none;
		clear: both;
	}

	.has-columns {
		font-size: inherit;
		vertical-align: top;
	}
}

.column-title {
	font-size: 11pt;
	border-bottom: 1px solid #000000;
	margin-bottom: 25px;
}

.has-columns > .column-title {
	font-size: 11pt;
}

* span.radio-quiz {
	display: inline-block;
	width: 25%;
	margin-right: 10px;
}
