.form_div {
	width: 400px;
}
.form_div.cta {
	width: 100%;
}
.form_calcdiv {
	width: 100%;
	margin: 25px -1px 10px -1px;
} 

#productmenu input {
	border: 1px solid #999999;
	background-image: url('/eh-content/images/inputback.jpg');
	background-repeat: repeat-x;
	background-color: #ffffff;
	font-size: 13px;
	line-height: 13px;
	color: #333333;
	padding: 3px 2px;
	margin: 0px;
	width: auto;
}

#productmenu form input[type="radio"], #sidebar form input[type="radio"],
#productmenu form input[type="checkbox"], #sidebar form input[type="checkbox"] {
	width: auto;
	height: auto;
	margin-right: 5px;
}

.includeform form {
	padding: 0px;
	margin: 0px;
}
.includeform .formtable {
	width: 450px;
	border: 1px solid #999;
	padding: 0px;
	margin: 0px;
}
.includeform .tablerow{
	width: 450px;
	padding: 0px;
	margin: 0px;
	display: table;
	border-bottom: 1px dotted #ddd;
}
.includeform .tableheader {
	background-color: #444;
	font-size: 12px;
	color: #fff;
	font-weight: bold;
	line-height: 17px;
	vertical-align: middle;
	padding: 5px;
	text-align: center;
}
.includeform .tabledata {
	background-color: transparent;
}
.includeform .trcolor0, 
.includeform .trcolor1 {
	background-color: #fff;
}
.includeform .trcolor0:hover, 
.includeform .trcolor1:hover {
	background-color: #f3f3f3;
}

.includeform input, 
.includeform textarea, 
.includeform select {
	border: 1px solid #999999;
	background-image: url('/eh-content/images/inputback.jpg');
	background-repeat: repeat-x;
	background-color: #ffffff;
	font-size: 13px;
	line-height: 13px;
	color: #333333;
	padding: 5px;
	margin: 0px;
	width: 240px;
	border-radius: 4px;
}

.includeform input[type="date"] {
	min-width: 100px;
}

.includeform input[type="date"]::-webkit-date-and-time-value { 
	text-align:left; 
}

.includeform .input_street1 {
	width: 200px;
}
.includeform .input_street2 {
	width: 28px;
	margin-left: 1%;
}

.includeform .input_city1 {
	width: 50px;
}
.includeform .input_city2 {
	width: 178px;
	margin-left: 1%;
}

.includeform .input_select {
	background-image: none;
	width: 246px;
}

.includeform .input_tarea {
	width: 434px;
	overflow: auto;
	line-height: 15px;
}

.includeform .input_double1 {
	width: 114px;
}

.includeform .input_double2 {
	width: 114px;
	margin-left: 1%;
}

/* form float */
.formtable .right_cell input:nth-of-type(1) {
	float: left;
}
.formtable .right_cell input[type="checkbox"], 
.formtable .right_cell input[type="radio"], 
.formtable .dserow input[type="checkbox"] {
	float: none;
	position: relative;
    bottom: 1px;
}
.includeform input,
.includeform textarea,
.input_tarea {
	font-family: Arial, Helvetica, sans-serif;
}
.includeform .input_check, 
.includeform .input_radio, 
#sidebar .input_check, 
#sidebar .input_radio, 
#productmenu .input_check, 
#productmenu .input_radio, 
#contentcontainer .catch_form .radio {
	width: auto !important;
	height: auto;
	border: 0px none;
	background-color: transparent;
	background-image: none;
	padding: 0px;
	margin: 2px 3px;
}

.includeform .input_header, 
.includeform .input_header:hover {
	padding: 10px 3px 0px 4px;
	background-color: #fff;
	font-weight: bold;
}



#contentcontainer .catch_form {
	text-align: center;
}
#contentcontainer .catch_form input, 
#contentcontainer .catch_form select {
	width: auto !important;
	max-width: 100%;
}
#contentcontainer .catch_form .radio {
	margin: 0px 3px 0px 0px !important;
	vertical-align: middle;
	background-color: transparent !important;
	border: 0px none !important;
}
#contentcontainer .catch_form .radio_label {
	vertical-align: middle;
}

#contentcontainer .catch_div {
	margin-top: 5px;
	margin-bottom: 5px;
}
#contentcontainer .catch_div .form_label {
	font-weight: bold;
	margin-bottom: 3px;
	line-height: 21px;
}
#contentcontainer .catch_div .form_group {
	display: inline-block;
	width: auto;
	text-align: left;
}

.includeform .left_cell, 
.includeform .full_cell
{
	float: left;
	width: 192px;
	padding: 8px 2px 2px 5px;
	line-height: 15px;
	vertical-align: top;
	font-size: 11px;
	text-align: left;
}
.includeform .right_cell
{
	float: left;
	width: 248px;
	padding: 7px 3px 3px 0px;
	text-align: left;
}
.includeform .right_cell label 
{
	display: inline-table;
}

.includeform .right_cell .label_ratingschoolgrades {
	display: inline-block;
    width: auto;
    margin-right: 20px;
    text-align: center;
    line-height: 1.5em;
}

.includeform .right_cell .label_ratingschoolgrades input {
	display: inline-block;
	width: auto;
}

.includeform .right_cell .label_ratingschoolgrades span {
	display: block;
}

.includeform .full_cell
{
	width: 442px;
	text-align: left;
	padding: 8px 3px 2px 5px;
	display: table;
	
}
.includeform .full_cell .submit {
	margin-bottom: 0;
	white-space: normal;
}
.includeform .sinput
{
	display: none;
}
.includeform .success {
	padding-top: 20px
}
.includeform .success .ok {
	font-size: 22px;
	display: table;
	margin: 20px auto;
}
.includeform .success .err {
	font-size: 20px;
	display: block;
	margin: 20px auto;
	width: 300px;
}
.includeform .success .text {
	margin: 30px 20px 0;
	text-align: center;
}

.includeform .sslinfo {
	padding: 20px 0px 20px 0px;
	display: block;
	text-align: center;
}
.includeform .sslinfo:before {
	font-family: 'iconmoon';
	content: "\e067";
	vertical-align: top;
	margin-right: 0.2em;
	font-size: 1.2em;
}

.includeform .container_fold_cta_box {
	text-align: right;
	position: relative;
}

.includeform a.fold_cta_box {
	font-size: 13px;
	line-height: 13px;
	color: #333333;	
	position: absolute;
	top: 10px;
	right: 0;
}

.includeform .spacer_fold_cta_box {
	height: 30px;
}

.includeform input::-webkit-outer-spin-button,
.includeform input::-webkit-inner-spin-button {
    /* display: none; <- Crashes Chrome on hover */
    -webkit-appearance: none;
    margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
}
.includeform .tablerow.dserow {
	padding-top: 30px;
}
.includeform .tablerow.dserow .full_cell {
	font-weight: normal;
}

.cmod_products .form_calcdiv {
	float: left;
	width: 100%;
}

/* STAGE und SIDEBAR */

#titlecontainer .stage .form_div,
#sidebar .form_div {
	width: 100%;
}

#titlecontainer .stage .includeform .tableheader,
#sidebar .includeform .tableheader {
	background-color: transparent;
	color: #333;
}

#titlecontainer .stage .includeform .formtable, 
#titlecontainer .stage .includeform .tablerow,
#sidebar .includeform .formtable, 
#sidebar .includeform .tablerow {
	width: 100%;
	border: 0px none;
	background: none;
}
#titlecontainer .stage .includeform .trcolor0:hover, 
#titlecontainer .stage .includeform .trcolor1:hover,
#sidebar .includeform .trcolor0:hover, 
#sidebar .includeform .trcolor1:hover {
	background: none;
}
#titlecontainer .stage .includeform .left_cell, 
#titlecontainer .stage .includeform .right_cell, 
#titlecontainer .stage .includeform .full_cell,
#sidebar .includeform .left_cell, 
#sidebar .includeform .right_cell, 
#sidebar .includeform .full_cell {
	padding-left: 0;
	padding-right: 0;	
	color: #333;
	font-weight: normal;
	font-size: 0.9em;
	line-height: 1.5em;
}
#titlecontainer .stage .includeform .left_cell,
#sidebar .includeform .left_cell {
	width: 100%;	
}
#titlecontainer .stage .includeform .right_cell,
#sidebar .includeform .right_cell {
	width: 100%;
}
#titlecontainer .stage .includeform .full_cell,
#sidebar .includeform .full_cell {
	width: 100%;	
}
#titlecontainer .stage .includeform .input_header, 
#titlecontainer .stage .includeform .input_header:hover,
#sidebar .includeform .input_header, 
#sidebar .includeform .input_header:hover  {
	background-color: transparent;
	text-align: left;
	padding-left: 0px;
}
#titlecontainer .stage .includeform input, 
#titlecontainer .stage .includeform select, 
#titlecontainer .stage .includeform textarea, 
#titlecontainer .stage .includeform .input_tarea,
#titlecontainer .stage .includeform .input_select,
#sidebar .includeform input, 
#sidebar .includeform select, 
#sidebar .includeform textarea, 
#sidebar .includeform .input_tarea,
#sidebar .includeform .input_select {
	width: 100%;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	padding: 5px;
}
#titlecontainer .stage .includeform .input_street1_container,
#sidebar .includeform .input_street1_container {
	width: 77%;
	float: left;
}
#titlecontainer .stage .includeform .input_street2_container,
#sidebar .includeform .input_street2_container {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	width: 23%;
	padding-left: 10px;
	float: left;
}
#titlecontainer .stage .includeform .input_street1_container .input_street1,
#titlecontainer .stage .includeform .input_street2_container .input_street2,
#sidebar .includeform .input_street1_container .input_street1,
#sidebar .includeform .input_street2_container .input_street2 {
	width: 100%;
	margin-left: 0;
}
#titlecontainer .stage .includeform .input_street1,
#titlecontainer .stage .includeform .input_street2,
#sidebar .includeform .input_street1,
#sidebar .includeform .input_street2 {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	margin-left: 0;
}
#titlecontainer .stage .includeform .input_street1,
#sidebar .includeform .input_street1 {
	width: 86%;
}
#titlecontainer .stage .includeform .input_street2,
#sidebar .includeform .input_street2 {
	width: 12%;
	float: right;
}

#titlecontainer .stage .includeform .input_city1_container,
#sidebar .includeform .input_city1_container {
	width: 17%;
	float: left;
}
#titlecontainer .stage .includeform .input_city2_container,
#sidebar .includeform .input_city2_container {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	width: 83%;
	padding-left: 10px;
	float: left;
}
#titlecontainer .stage .includeform .input_city1_container .input_city1,
#titlecontainer .stage .includeform .input_city2_container .input_city2,
#sidebar .includeform .input_city1_container .input_city1,
#sidebar .includeform .input_city2_container .input_city2 {
	width: 100%;
	margin-left: 0;
}
#titlecontainer .stage .includeform .input_city1,
#titlecontainer .stage .includeform .input_city2,
#sidebar .includeform .input_city1,
#sidebar .includeform .input_city2 {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	margin-left: 0;
}
#titlecontainer .stage .includeform .input_city1,
#sidebar .includeform .input_city1 {
	width: 18%;
}
#titlecontainer .stage .includeform .input_city2,
#sidebar .includeform .input_city2 {
	width: 80%;
	float: right;
}


#titlecontainer .stage .includeform .input_double1_container,
#sidebar .includeform .input_double1_container {
	width: 50%;
	float: left;
}
#titlecontainer .stage .includeform .input_double2_container,
#sidebar .includeform .input_double2_container {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	width: 50%;
	padding-left: 10px;
	float: left;
}
#titlecontainer .stage .includeform .input_double1_container .input_double1,
#titlecontainer .stage .includeform .input_double2_container .input_double2,
#sidebar .includeform .input_double1_container .input_double1,
#sidebar .includeform .input_double2_container .input_double2 {
	width: 100%;
	margin-left: 0;
}
#titlecontainer .stage .includeform .input_double1,
#titlecontainer .stage .includeform .input_double2,
#sidebar .includeform .input_double1,
#sidebar .includeform .input_double2 {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	margin-left: 0;
}
#titlecontainer .stage .includeform .input_double1,
#sidebar .includeform .input_double1 {
	width: 49%;
}
#titlecontainer .stage .includeform .input_double2,
#sidebar .includeform .input_double2 {
	width: 49%;
	float: right;
}

/* Formular-Tooltips */

.form_tooltip_show {
	font-family: 'iconmoon';
	font-size: 1.2em;
	color: #777777;
	margin-right: 5px;
	display: inline-block;
	cursor: default;
	float: right;
	position: relative;
	bottom: 5px;
}

.form_tooltip {
	background-color: #fff;
	max-width: 400px;
	padding: 10px;
	box-sizing: border-box;
	border: 2px solid #D8D8D8;
	border-radius: 3px;
	box-shadow: 0px 0px 3px #bbb;
}

.form_tooltip:after, 
.form_tooltip:before {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}

.form_tooltip:after {
	border-color: rgba(255, 255, 255, 0);
	border-top-color: #ffffff;
	border-width: 10px;
	margin-left: -10px;
}
.form_tooltip:before {
	border-color: rgba(216, 216, 216, 0);
	border-top-color: #D8D8D8;
	border-width: 13px;
	margin-left: -13px;
}

.form_tooltip img {
	max-width: 100%;
}

.form_tooltip h3 {
	font-size: 20px;
}

.form_tooltip p {
	font-size: 13px;
	margin: 0 0 0.2em;
}

.includeform .right_cell.form_infobox {
	display: none;
	border: 1px solid #999999;
    box-sizing: border-box;
    padding: 5px;
    margin-top: 10px;
    width: calc( 66% - 8px );
	margin-bottom: 10px;
	background: #fff;
}	

@media only screen and (max-width: 580px) {
	
	.form_tooltip_show {
		margin-right: 17px;
		bottom: 0;
		cursor: pointer;
	}
	
	.includeform .right_cell.form_infobox {
		width: 97%;
		max-width: 97%;
	}	
	
}

/* Validation */ 

.includeform ul.parsley-errors-list,
#contentcontainer ul.parsley-errors-list {
	width: auto;
	display: inline-block;
	background-color: #FEE66B;
	padding: 8px !important;
	font-size: 12px;
	line-height: 17px;
	color: #555;
	border-radius: 5px;
	margin: 15px 0 0;
	box-shadow: 0px 0px 7px #bbb;
	text-align: left;
	list-style-type: none;
	position: absolute;
}
.includeform ul.parsley-errors-list:before,
#contentcontainer ul.parsley-errors-list:before {
	content: '';
	display: inline-block;
	width: 0; 
	height: 0; 
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-bottom: 10px solid #FEE66B;
	position: absolute;
	top: -10px;
	left: 8px;
}
.includeform ul.parsley-errors-list:empty, 
.includeform ul.parsley-errors-list:empty:before,
#contentcontainer ul.parsley-errors-list:empty, 
#contentcontainer ul.parsley-errors-list:empty:before {
	display: none !important;
}
.includeform ul.parsley-errors-list li,
#contentcontainer ul.parsley-errors-list li {
	list-style: none;
	display: inline-block;
}

.includeform input.parsley-error, 
.includeform textarea.parsley-error, 
.includeform select.parsley-error {
	border-color: #cc0000;
}

.includeform .tablerow.with_error {
	padding-bottom: 51px;
}

.includeform .tablerow.with_error_higher {
	padding-bottom: 42px;
}

.includeform .form_tabseperator, 
.includeform .form_tabseperator_last {
	display: none;
	text-align: right;
	padding: 0 10px;
}

.includeform .form_tabseperator .bt_prev, 
.includeform .form_tabseperator_last .bt_prev {
	float: left;
}

.includeform .form_tabseperator.tabseperator_1 .bt_prev {
	display: none !important;
}

.includeform .form_breadcrumb_container {
	display: table;
    text-align: right;
    width: 100%;
    padding-right: 10px;
    box-sizing: border-box;
	margin-bottom: 10px;
}

.includeform .form_breadcrumb_start, 
.includeform .form_breadcrumb, 
.includeform .form_breadcrumb_separator {
	display: inline-block;
}

.includeform .form_breadcrumb_separator:before {
	content: '|';
	padding: 0 5px;
}

.includeform .form_breadcrumb_start.active, 
.includeform .form_breadcrumb.active {
	font-weight: bold;
}

@media only screen and (max-width: 580px) {
	
	.includeform .form_tabseperator, 
	.includeform .form_tabseperator_last {
		text-align: left;
		padding: 0;
	}
	
	.includeform .form_tabseperator .bt_prev, 
	.includeform .form_tabseperator_last .bt_prev {
		float: none;
	}
	
	.includeform .form_breadcrumb_container {
	    text-align: left;
	}
	
	/* Änderung wle 03.04.2023 / führt zu ungleicher Höhe der Inputs, sehe keine Notwendigkeit, der konkreten Höhenangabe */
	/* .includeform input[type="date"] {
		height: 27px;
	}*/
	

}

/* FriendlyCaptcha */

.includeform .frc-captcha, 
#rrform .frc-captcha {
	margin: auto;
	background-color: unset;
	border: none;
}

.includeform .frc-captcha .frc-container, 
#rrform .frc-captcha .frc-container {
	flex-direction: column;
	gap: 5px;
}

.includeform .frc-captcha .frc-content .frc-button,
#rrform .frc-captcha .frc-content .frc-button,
.includeform .frc-captcha .frc-banner, 
#rrform .frc-captcha .frc-banner {
	display: none;
}

.includeform .frc-captcha .frc-content .frc-text, 
#rrform .frc-captcha .frc-content .frc-text {
	line-height: initial;
}