/* import material-icons */

@import '../fonts/material-icons.css';
/*@import '../fonts/open-sans.css';*/
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400,400italic");


/* common styles */

* {
	box-sizing: border-box;
}

body {
	margin: auto;
	background-color: transparent; /*#242629;*/
	/*padding-top: 30px;
	padding-bottom: 20px;
	padding-right:20px;
	padding-left:20px;*/
	padding: 0 !important;
	overflow-x: hidden;
}

body,
textarea,
input,
.select {
	font-family: "Source Sans Pro", Helvetica, sans-serif;
}

.senden {
	font-family: "Source Sans Pro", Helvetica, sans-serif;
}

.kontaktformular {
	margin: auto;
	width: 625px;
	max-width: 100%;
	/*box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);*/
	border-radius: 10px;
	padding-left: 23px;
	padding-right: 55px;
	/*padding-top: 17px;*/
	padding-top: 0 !important;
	/* padding-bottom: Use <div style="margin-top:17px;"></div> under </bottom> in the file contact.php. */
}


/* style common rows/grid */

.kontaktformular .row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 2.1rem;
	width: 100%;
}

.kontaktformular .row .col-sm-4 {
	flex-grow:1;
	flex-basis: 0;
	margin: 0 1.2rem;
	position: relative;
}

.kontaktformular.no-icons .row .col-sm-4 { /* separate style for template WITHOUT icons */
	margin: 0 1.7rem;
}

.kontaktformular .row .col-sm-4:first-child {
	margin-left: 0;
}

.kontaktformular.no-icons .row .col-sm-4:first-child { /* separate style for template WITHOUT icons */
	margin-left: 0;
}

.kontaktformular .row .col-sm-4:last-child {
	margin-right: 0;
}

.kontaktformular.no-icons .row .col-sm-4:first-child { /* separate style for template WITHOUT icons */
	margin-left: 0;
}

.kontaktformular .row .col-sm-8 {
	width: 100%;
	position: relative;
}


/* style common labels */

.kontaktformular .row .control-label {
	position: absolute;
	margin-top: 0px; height: 95.4%;
	padding: 0.8rem;
	color: grey;
	opacity: 0.7;
	width: 3rem;
	z-index: 2;
}

body.safari .kontaktformular .row .control-label {
	margin-top: 0.15rem; 
}

.kontaktformular .row .control-label span{
	position: absolute;
	top: 1.3rem;
	left: 3.8rem;
	white-space: nowrap;
	-webkit-transition: top .3s, font-size .3s, color .3s;
	transition: top .3s, font-size .3s, color .3s;
}

.kontaktformular.no-icons .row .control-label span{ /* separate style for template WITHOUT icons */
	left:1.1rem;
}

body.safari .kontaktformular .row .control-label span{
	position: absolute;
	top: 0.8rem;
	left: 3.8rem;
	white-space: nowrap;
	-webkit-transition: top .3s, font-size .3s, color .3s;
	transition: top .3s, font-size .3s, color .3s;
}

.kontaktformular .row .control-label:not(.select-label) span{
	cursor: text;
}

body.safari .kontaktformular .row .control-label.select-label span{
	top: 1.0rem;
}

body.safari .kontaktformular .row .select-label {
	margin-top: -0.06rem; 
}

.kontaktformular .row .control-label i{
	-webkit-transition: color .3s;
	transition: color .3s;
	color: #a0a0a1;
}

body.safari .kontaktformular .row .control-label i{
	color: #a0a0a1 !important;
}

.kontaktformular .row .not-empty-field .control-label i{
	color: rgba(0,0,0,0.87);
}

body.safari .kontaktformular .row .not-empty-field .control-label i{
	color: rgba(0,0,0,0.87) !important;
}

.kontaktformular .row .not-empty-field .control-label span{
	color: grey;
	top: 0rem;
	font-size: 0.8rem;
}

body.safari .kontaktformular .row .not-empty-field .control-label span{	/* Labels im inaktiven aber nicht leeren Zustand */
	color: grey !important;
	top: -9px !important;
	font-size: 0.8rem !important;
}

.kontaktformular .row .active-field .control-label i{
	color: #34a58e;
}

body.safari .kontaktformular .row .active-field .control-label i{
	color: #34a58e !important;
}

.kontaktformular .row .active-field .control-label span{
	color: #34a58e;
	top: 0rem;
	font-size: 0.8rem;
}

body.safari .kontaktformular .row .active-field .control-label span{ /* Labels im aktiven Zustand */
	color: #34a58e !important;
	top: -9px !important;
	font-size: 0.8rem !important;
}


/* style common fields */

.kontaktformular .row input,
.kontaktformular .row textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.kontaktformular .row .field {
	display: block;
	font-size: 16px;
	width: calc(100% - 3.8rem);
	padding: .85rem .8rem 0.55rem 0;
	margin-left: 3.8rem;
	color: rgba(0,0,0,0.87);
	border: none;
	border-bottom-style: solid;
	border-bottom-width: 1px;
	border-bottom-color: #9e9e9e !important;
	outline: none;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	-webkit-transition: border .3s;
	transition: border .3s;
	-webkit-appearance: none;
	border-radius: 0px;
	-webkit-border-radius:0px;
}

.kontaktformular.no-icons .row .field { /* separate style for template WITHOUT icons */
	margin-left:1.1rem;
	width: calc(100% - 1rem);
}

body.safari .kontaktformular .row .field {
	padding: .95rem .8rem 0.55rem 0;
}

.kontaktformular .row .field,
.kontaktformular .row input[type="checkbox"] {
	border-bottom-color: #34a58e !important;
	outline: 0 !important;
	box-shadow: none;
}

.kontaktformular .row .field:focus,
.kontaktformular .row input[type="checkbox"]:focus {
	border-bottom-color: #34a58e !important;
	outline: 0 !important;
	box-shadow: none;
}

.kontaktformular .row input[type="text"],
.kontaktformular .row input[type="email"],
textarea {
	background-color: #1f2224 !important;
	color: #a0a0a1 !important;
}

/*.kontaktformular .row input[type="text"]:focus,
.kontaktformular .row input[type="email"]:focus,
textarea:focus {
	border-color: #34a58e !important;
}*/

.kontaktformular #inlineCheckbox12 {
	position:absolute; 
	opacity:0; 
	height:1px; 
	-webkit-appearance:revert; 
	-moz-appearance:revert; 
	appearance:revert; 
	top:27px; 
}

body.safari .kontaktformular #inlineCheckbox12 {
	top: 3px; 
}


/* style textarea */

.kontaktformular .row .textarea-label {
}

body.safari .kontaktformular .row .textarea-label {
	margin-top: 0.13rem; 
}

.kontaktformular .row textarea.field {
	min-height: 2.5rem;	
	height: 8.5rem;
	width: calc(100% - 3rem);
}

.kontaktformular.no-icons .row textarea.field { /* separate style for template WITHOUT icons */
	width: calc(100% - .2rem);
}


/* style selectbox */

.kontaktformular .row ul.select-box {
	list-style: none;
	margin: 0;
	background: #fff;
	cursor: pointer;
	position: absolute;
	top: -0.3rem;
	left: 3.8rem;
	z-index:5;
	box-shadow: 0 1px 3px 0 rgba(0,0,0,0.3);
	padding: 0;
	width: calc(100% - 3rem);
	-webkit-transform: scale(0);
	transform: scale(0);	
	opacity: 0;
	-webkit-transition: -webkit-transform .3s, transform .3s, opacity .3s;
	transition: -webkit-transform .3s, transform .3s, opacity .3s;
}

.kontaktformular.no-icons .row ul.select-box { /* separate style for template WITHOUT icons */
	left: 1.1rem;
	width: calc(100% - 0rem);
}

.kontaktformular .row ul.select-box .placeholder {
	color: grey;
	opacity: 0.7;
}

.kontaktformular .row .active-field ul.select-box {
	-webkit-transform: scale(1);
	transform: scale(1);
	opacity: 1;
}

.kontaktformular .row .select-input {
	cursor: default;
}

.kontaktformular .row ul.select-box li {
	list-style: none;
	padding: 11px 15px;
	color: #34a58e;
	width: 100%;
}

.kontaktformular .row ul.select-box li:hover,
.kontaktformular .row ul.select-box li.active {
	background: #eee;
}

.kontaktformular:not(.no-icons) .row .keyboard_arrow_down {
	display: none;
}


/* style rows with complex contents  */

.kontaktformular .captchareload .material-icons {
	font-size: 20px;
}

.kontaktformular .captcha-row div div:not(.captcha-input-div),
.kontaktformular .question-row div div:not(.question-input-div) {
	width: 100%;
	padding: .75rem 0 .75rem 60px;
}

body.safari .kontaktformular .captcha-row .control-label span {
	position: absolute;
	top: 0.7rem;
	left: 3.8rem;
	white-space: nowrap;
	-webkit-transition: top .3s, font-size .3s, color .3s;
	transition: top .3s, font-size .3s, color .3s;
}

body.safari .kontaktformular .question-row .control-label span {
	position: absolute;
	top: 0.7rem;
	left: 3.8rem;
	white-space: nowrap;
	-webkit-transition: top .3s, font-size .3s, color .3s;
	transition: top .3s, font-size .3s, color .3s;
}

.kontaktformular.no-icons .captcha-row div div, /* separate style for template WITHOUT icons */
.kontaktformular.no-icons .question-row div div {
				padding: 0rem 0 .75rem 1rem;
}

.kontaktformular .captcha-row .captcha-input-div,
.kontaktformular .question-row .question-input-div {
	padding-bottom: 0;
}

.kontaktformular.no-icons .captcha-row .captcha-input-div, /* separate style for template WITHOUT icons */
.kontaktformular.no-icons .question-row .question-input-div {
	padding-top: 0;
}

.kontaktformular.no-icons .captcha-row .captcha-input-div, /* separate style for template WITHOUT icons */
.kontaktformular.no-icons .question-row .question-input-div {
	padding-bottom: 0;
}

/* style upload-fields  */

.kontaktformular .row #files {
	margin-left: 3.8rem;
	width: calc(100% - 1.2rem);
}

.kontaktformular.no-icons .row #files { /* separate style for template WITHOUT icons */
	margin-left:1.1rem;
	width: calc(100% - .2rem);
	z-index: 5;
	position: relative;
}

.kontaktformular .row #files > div {
	margin-bottom: 5px;
}

.kontaktformular .row #files label {
	height: 41px;
	display: inline-block;
	width: calc(100% - 1.8rem);
	cursor: pointer;
}

.kontaktformular.no-icons .row #files label { /* separate style for template WITHOUT icons */
	width: 100%;
}

.kontaktformular .row #files .file_button{
	display: block;
	float: left;
	margin-top: calc(1rem/16*4);
	margin-right: .5rem;
	padding: .5rem .75rem;
	color: white;
	background-color: #34a58e;
	border-radius: 2px;
	border: none;
	text-transform: uppercase;
	box-shadow: 0 1px 1px 1px rgba(0,0,0,0.3);
	width: 65px;
	text-align: center;
	cursor: pointer;
}

.kontaktformular .row #files .file_button:hover {
	background-color: #1d9185;
}

.kontaktformular .row #files .file_name {
	margin-top: calc(1rem/16*4);
	width: calc(100% - 73px);
	border-bottom-style: solid;
	border-bottom-width: 1px;
	border-bottom-color: #9e9e9e !important;
	display: inline-block;
	padding: .5rem 0;
	overflow: hidden;
}

body.safari .kontaktformular .row #files .file_name {
padding: 0.5rem 0 0.6rem 0;
}

.kontaktformular.no-icons .row #files .file_name { /* separate style for template WITHOUT icons */
	width: calc(100% - 73px);
}

.kontaktformular .row input[type="file"]{
	opacity: 0;
	width: 100%;
	height: 37px;
	position: absolute; 
	left:0;
	margin-left: 3.8rem;
	width: calc(100% - 3rem);
	margin-top: 4px;
	cursor: pointer;
	z-index: -1;
}


/* style checkbox-row  */

.kontaktformular .checkbox-row{
	margin-bottom: .4rem;
}

.kontaktformular .checkbox-row .checkbox-inline {
				display: block;
				padding: .22rem 0 .47rem .9rem;
}

.kontaktformular .checkbox-row .checkbox-inline .material-icons{
	/*
	display: block;
	float: left;
	*/
	cursor: pointer;
	margin-left: 0;
	color: rgba(0,0,0,0.6);
	-webkit-transition: color .3s;	
	transition: color .3s;	
	margin-right: 1.2rem;
	font-size: 28px;
	-webkit-touch-callout: none; /* iOS Safari */
	-webkit-user-select: none; /* Safari */
	-khtml-user-select: none; /* Konqueror HTML */
	-moz-user-select: none; /* Old versions of Firefox */
	-ms-user-select: none; /* Internet Explorer/Edge */
	user-select: none; /* Non-prefixed version, currently */
	position: absolute;
}

.kontaktformular .checkbox-row .checkbox-inline .material-icons.checked {
	color: #34a58e;
}

.kontaktformular .checkbox-row .checkbox-inline a:hover,
.kontaktformular .checkbox-row .checkbox-inline a:focus {
	color: #1d9185;
	text-decoration: underline;
}

.kontaktformular .checkbox-row .checkbox-inline a,
.kontaktformular .checkbox-row .checkbox-inline span {
	color: #34a58e;
	text-decoration: none;
	line-height: 150%;
}

.kontaktformular .checkbox-row .checkbox-inline div {
	padding-left:47px;
	line-height: 23px; 
	padding-top:6.7px; 
	text-indent: 2.5rem;
}

.kontaktformular.no-icons .checkbox-row .checkbox-inline div { /* separate style for template WITHOUT icons */
	padding-left:4px;
}

.kontaktformular .checkbox-row .checkbox-inline div span,
.kontaktformular .checkbox-row .checkbox-inline div a {
	margin-left: -7px;
}

.kontaktformular:not(.no-icons) .material-icons-pos2 {
	margin-left: 2.7rem !important;
}

.kontaktformular .checkbox-row .checkbox-inline span{
	color: inherit;
}


/* style submit-button  */

.kontaktformular #send {
	padding: 0 0.9rem 0.9rem 0.9rem;
	box-sizing: content-box;
	margin-top: 0;
}

.kontaktformular #send .col-sm-8{
	margin-top: 0;
}

.kontaktformular .row .senden {
	font-family: "Source Sans Pro", Helvetica, sans-serif;
	letter-spacing: 0.3px;
	display: flex;
	justify-content: center; 
	align-items: center;
	width: 100%;
	font-size: 18.5px;
	height: 2.90rem;
	margin-top: calc(1rem/16*5);
	color: white;
	background-color: #34a58e;
	transition: background 0.3s ease;
	border: none;
	border-radius: 5px;
}

body.safari .kontaktformular .row .senden {
	padding-top: 3px;
}

.kontaktformular .row .senden:hover {
	background-color: #1d9185;
	cursor: pointer;
}


/* style errors */

body.safari .kontaktformular .row .error .control-label {
	margin-top: 0.15rem; 
}

body.safari .kontaktformular .row .error .select-label {
	margin-top: -0.06rem; 
}

body.safari .kontaktformular .row .error .textarea-label {
	margin-top: 0.13rem; 
}

.kontaktformular .row .error .field {				
	border-bottom-color: red !important;
}

.kontaktformular .row .error .field,
.kontaktformular .row .error .checkbox-inline input,
.kontaktformular.kontaktformular-validate .row .field:invalid,
.kontaktformular.kontaktformular-validate .row .checkbox-inline input:invalid {	/* style invalid fields only if user wants to send the form (integrated via js) */
	border-bottom-color: red !important;
}

/*
.kontaktformular .row .error .checkbox-inline {
				outline: 0px solid red;
				padding: .2rem .2rem .5rem .2rem;
				margin-left: .6rem;
				width: calc(100% + .2rem);
}
*/

/*.kontaktformular .row .error.active-field .control-label i*/

.kontaktformular .row .error .control-label i,
.kontaktformular .checkbox-row .error .checkbox-inline .material-icons{
	color: red ;
}

body.safari .kontaktformular .row .error .control-label i,
body.safari .kontaktformular .checkbox-row .error .checkbox-inline .material-icons{
	color: red !important;
}

.kontaktformular.no-icons .row .error .keyboard_arrow_down{ /* separate style for template WITHOUT icons */
	color: red !important;
}

.kontaktformular.no-icons .material-icons-pos12{ /* separate style for template WITHOUT icons */
	display: none;
}

.kontaktformular .material-icons-pos12{
	color: #FF4B4B;
	margin-left: -0.15rem !important;
}

.kontaktformular.no-icons .material-icons-pos1{ /* separate style for template WITHOUT icons */
	display: none;
}

.kontaktformular .material-icons-pos1{
	color: #FF4B4B;
	margin-left: -0.20rem !important;
}

.kontaktformular .row .error .control-label span,
.kontaktformular .row .error.active-field .control-label span{
	color: red;
}

body.safari .kontaktformular .row .error .control-label span,
body.safari .kontaktformular .row .error.active-field .control-label span{
	color: red !important;
}

.kontaktformular .row .field:invalid,
.kontaktformular .row .checkbox-inline input:invalid {/* remove browser-style for invalid fields */
	outline: none;
	box-shadow:none;
}

.kontaktformular .row .field:focus:valid,
.kontaktformular .row .checkbox-inline input:focus:valid {
	background-color: #FFFFFF;
	border-color: #d9e8d5;
	outline: none;
	box-shadow:none;
}

.kontaktformular .row .error ::placeholder,
.kontaktformular .row .error select.unselected {
	color: rgba(219, 0, 7, 0.6);
}

.kontaktformular .row .errormsg {
	color: red;
	font-size: .85rem;
	margin-left: 3.8rem;
	right: -.7rem;
	display: inline-block;
	position: absolute;
	margin-top: 2px;
}

.kontaktformular .row .errormsg-spamprotection{
	font-size: 17px;
	line-height:1.5;
	color: #db0007; /* Textfarbe */
	text-align: center; /* Textausrichtung zentriert */
	border: 1px solid #db0007; /* Rand des Kästchens */
	padding: 20px; /* Innenabstand des Kästchens */
	width: 100%; /* Breite des Kästchens */
	margin-left:18px;
}

.kontaktformular .row .errormsg-emailerror{
	font-size: 17px;
	color: #db0007; /* Textfarbe */
	text-align: center; /* Textausrichtung zentriert */
	border: 1px solid #db0007; /* Rand des Kästchens */
	padding: 20px; /* Innenabstand des Kästchens */
	width: 100%; /* Breite des Kästchens */
	margin-left:18px;
}

.kontaktformular .row .errormsg-upload {
	font-size: 17px;
	line-height:1.5;
	color: #db0007; /* Textfarbe */
	text-align: center; /* Textausrichtung zentriert */
	border: 1px solid #db0007; /* Rand des Kästchens */
	padding: 20px; /* Innenabstand des Kästchens */
	width: 100%; /* Breite des Kästchens */
	margin-left:18px;
}

.kontaktformular.no-icons .row .errormsg { /* separate style for template WITHOUT icons */
	margin-left:1.1rem;
}

.kontaktformular .row.first-error-row .errormsg {
	position: relative;
	right: auto;
}

/*
.kontaktformular .captcha-row.error_container,
.kontaktformular .question-row.error_container,
.kontaktformular .checkbox-row.error_container{
	margin-bottom: 2.7rem;
}
*/

.kontaktformular .row.error_container .message-row.error{
}

.kontaktformular .captcha-row.error_container .error{
	margin-bottom: 20px;
}

.kontaktformular .question-row.error_container .error{
	margin-bottom: 20px;
}

.kontaktformular .checkbox-row.error_container .error{
}

.kontaktformular .captcha-row .errormsg,
.kontaktformular .question-row .errormsg {
	display: block;
	position: absolute;
	left: 0;
	bottom: -46px;
	height: 40px;
}

.kontaktformular .checkbox-row .errormsg {
	display: block;
	position: absolute;
	left: 0;
	bottom: -34px;
	height: 40px;
}


/* further style for template WITHOUT icons */

.kontaktformular.no-icons label:not(.checkbox-inline) .material-icons{  
	display: none;
}

.kontaktformular.no-icons .row .keyboard_arrow_down{ 
	color: rgba(0,0,0,0.7);
	font-size: 25px;
	position: absolute;
	top: 11px;
	right: -1rem;
	cursor: default;
}

.kontaktformular.no-icons .captcha-row .captcha-input-div .control-label span,
.kontaktformular.no-icons .question-row .question-input-div .control-label span{		
	left: 0;
}

.kontaktformular.no-icons .captcha-row .captcha-input-div .field,
.kontaktformular.no-icons .question-row .question-input-div .field {		
	margin-left: 0;
	width: 100.25%;
	}

body.safari .kontaktformular.no-icons .row .control-label span{
	position: absolute;
	top: 0.7rem;
	left: 1.1rem;
	white-space: nowrap;
	-webkit-transition: top .3s, font-size .3s, color .3s;
	transition: top .3s, font-size .3s, color .3s;
	}

body.safari .kontaktformular.no-icons .captcha-row .control-label span{
	position: absolute;
	top: 0.5rem;
	left: 0.0rem;
	white-space: nowrap;
	-webkit-transition: top .3s, font-size .3s, color .3s;
	transition: top .3s, font-size .3s, color .3s;
}

body.safari .kontaktformular.no-icons .question-row .control-label span{
	position: absolute;
	top: 0.5rem;
	left: 0.0rem;
	white-space: nowrap;
	-webkit-transition: top .3s, font-size .3s, color .3s;
	transition: top .3s, font-size .3s, color .3s;
}

body.safari .kontaktformular.no-icons .row .control-label.select-label span{
	top: 1.0rem;
}

body.safari .kontaktformular.no-icons .row #files .file_name {
	padding: 0.5rem 0 0.6rem 0;
}


/* change the position for icons */

#briefcase-icon{
	padding-left:3.5px;
	font-size:25px;  
	margin-top: 4px;
}

#dropdown-icon{
	margin-top: 4px; 
}

#dropdown-icon-without-icons{
	margin-top: 1px;
}

#dataprotection-icon{
	padding-left:2.5px;
	font-size:25px;
	padding-top: 1px;
}

#fileupload-icon{
	padding-top: 0px; 
	font-size:25px;
}

#securitycode-icon{
	padding-top: 66px; 
	font-size:25px;
}

#securityquestion-icon{
	padding-top: 41px; 
	font-size:25px;
}

#user-icon{
	padding-left:1px; 
}

#user-icon-position-2{
	padding-left:2.5px;	
}

#email-icon{
	padding-top: 1.5px;
	padding-left:2.5px;
	font-size:25px; 
}

#email-icon-position-2{
	padding-top: 1px; 
	padding-left:1.5px; 
	font-size:25px; 
}

#phone-icon{
	padding-top: 1.5px;
	padding-left:2.5px;
	font-size:25px;
}

#phone-icon-position-2{
	padding-left:0px;
}

#home-icon{
	padding-left:0.5px;
}

#subject-icon{
	padding-top: 1px;
	padding-left:2px; 
	font-size:25px;
}

#subject-icon-position-2{
	padding-left:1.5px;
}

#message-icon{
	padding-top: 3px;
	padding-left:2.5px;
	font-size:25px;
}

#message-icon-position-2{
padding-left:1.5px;
}

body.safari .kontaktformular .row #briefcase-icon{
	margin-top: -7px; 
	font-size:25px;
}

body.safari .kontaktformular .row #dropdown-icon{
	margin-top: -3.75px; 
}

body.safari .kontaktformular .row #dropdown-icon-without-icons{
	padding-top: 2.5px; 
}

body.safari .kontaktformular .row #user-icon{
	margin-top: -7px; 
}

body.safari .kontaktformular .row #email-icon{
	margin-top: -7px; 
	font-size:25px;
}

body.safari .kontaktformular .row #phone-icon{
	margin-top: -7px; 
	font-size:25px;
}

body.safari .kontaktformular .row #home-icon{
	margin-top: -7px;
}

body.safari .kontaktformular .row #subject-icon{
	margin-top: -7px; 
	font-size:25px;
}

body.safari .kontaktformular .row #message-icon{
	margin-top: -7px; 
	font-size:25px;
}

body.safari .kontaktformular .row #fileupload-icon{
	margin-top: -7px; 
	font-size:25px;
}

body.safari .kontaktformular .row #securitycode-icon{
	padding-top: 55.5px; 
	font-size:25px;
}

body.safari .kontaktformular .row #securityquestion-icon{
	margin-top: -8px; 
	font-size:25px;
}

body.safari .kontaktformular .row #email-icon-position-2{
	padding-top: 1px; 
	font-size:25px; 
}

body.safari .kontaktformular .row #dataprotection-icon{
	padding-top: 1px; 
	font-size:25px;
}


/* style required_notice */

.required_notice {
	color: #a0a0a1 !important;
	font-size: 13px;
	margin-top:20px;
	margin-bottom:35px;
}


/* style copyright */

.copyright {
	color: #000000;
	font-size: 13px;
}

button {
	outline: 0;
}

.kontaktformular .row .senden.loading .label {
	font-size: 18.5px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.kontaktformular .row .senden.loading .label_failed {
	font-size: 18.5px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.kontaktformular .row .senden.finished {
	display: flex;
	justify-content: center; 
	align-items: center;
	font-size: 18.5px;
	height: 2.90rem;
	margin-top: calc(1rem/16*5);
	color: white;
	background-color: #28a745 !important;
	border: none;
	border-radius: 5px;
	pointer-events: none; 
	cursor: not-allowed;
}

.successfully_sent {
	font-weight:bold;
	font-size:19px;
	vertical-align: middle;
}

.error_in_email_sending {
	font-weight:bold;
	font-size:17px;
	vertical-align: middle;
}

.kontaktformular .row .senden.failed {
	display: flex;
	justify-content: center; 
	align-items: center;
	font-size: 18.5px;
	height: 2.90rem;
	margin-top: calc(1rem/16*5);
	color: white;
	border: none;
	border-radius: 5px;
}

@keyframes spin {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}

.loading-spinner {
	display: none;
	width: 24px;
	animation: spin 1s linear infinite;	
}

.loading-spinner:active {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 24px;
	animation: spin 1s linear infinite;	
}

.loading-spinner_failed {
	display: none;
	width: 24px;
	animation: spin 1s linear infinite;	
}

.loading-spinner_failed:active {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 24px;
	animation: spin 1s linear infinite;
}

.senden.loading .loading-spinner {
	display: flex;
	justify-content: center;
	align-items: center;
}

body.safari .senden.loading .loading-spinner {
	display: flex;
	justify-content: center;
	align-items: center;
}

.senden.loading .loading-spinner_failed {
	display: flex;
	justify-content: center;
	align-items: center;
}

body.safari .senden.loading .loading-spinner_failed {
	display: flex;
	justify-content: center;
	align-items: center;
}

.senden .check {
	display: none;
}

.senden .failed {
	display: none;
}

.senden.finished .check {
	display: inline-block;
	animation: scale 0.5s linear;
}

.kontaktformular #submitMessage.failed {
	padding-left:7px;
	padding-right:7px;
	color: #db0007; /* Grüne Textfarbe */
	text-align: center; /* Textausrichtung zentriert */
	border: 2px solid #db0007; /* Roter Rand des Kästchens */
	width: 100%; /* Breite des Kästchens */
	line-height: 1.5; /* Zeilenhöhe */
	margin-top: 15px; /* Abstand nach oben */
	margin-bottom: 52px; /* Abstand nach unten */
	margin-left:16px;
	padding: 15px;
}

.kontaktformular #submitMessage.finished {  
	padding-left:7px;
	padding-right:7px;
	color: #28a745; /* Grüne Textfarbe */
	text-align: center; /* Textausrichtung zentriert */
	border: 2px solid #28a745; /* Grüner Rand des Kästchens */
	width: 100%; /* Breite des Kästchens */
	line-height: 1.3; /* Zeilenhöhe */
	margin-top: 15px; /* Abstand nach oben */
	margin-bottom: 50px; /* Abstand nach unten */
	margin-left:16px;
	padding: 15px;
}

.kontaktformular .row .senden.loading {
	background-color: #A6A6A6;
	border-color: #A6A6A6;
}

.kontaktformular .row .senden.failed .failed {
	display: inline-block;
	animation: scale 0.5s linear;
}

#submitMessage.loading {
	text-align: center;
	color: transparent;
	opacity: 0;
}

.senden.finished .check i {
	transform-origin: center center;
}

.opacity-25 {
	opacity: .25;
}

.opacity-75 {
	opacity: .75;
}


/* style for mobile */

@media (max-width: 590px) {

	body {
		padding-top: 20px;
		padding-bottom: 10px;
		padding-right:20px;
		padding-left:20px;
	}

	.kontaktformular {
		padding-right:45px;
		padding-left:10px;
		padding-top:4px;
		width: auto;
	}

	.kontaktformular .row {
		display: block;
		margin-top: 1rem;
	}

	.kontaktformular .row .col-sm-4 {
		flex-grow:0;
		flex-basis: 0;
		margin: 0;
	}

	.kontaktformular .row .col-sm-4,
	.kontaktformular .row .col-sm-8 {
		margin-top: 1.9rem;
	}

	.kontaktformular.no-icons .row .col-sm-4 { /* separate style for template WITHOUT icons */
		margin-top: 1.9rem;
		margin-left: 0rem;
		margin-right: 0rem;
	}

	.kontaktformular .captcha-row .col-sm-8,
	.kontaktformular .question-row .col-sm-8,
	.kontaktformular .upload-row .col-sm-8,
	.kontaktformular .checkbox-row .col-sm-8 {
		margin-top: 0;
	}

	.kontaktformular hr {
		margin-top: 27px !important;
		margin-bottom: 40px !important;
	}

	.kontaktformular .captcha-row.error_container .error {
		margin-bottom: 45px;
	}

	.kontaktformular .question-row.error_container .error {
		margin-bottom: 45px;
	}

		
	.kontaktformular .checkbox-row.error_container .error {
		margin-bottom: 25px;
	}


	/* change the position for icons - MOBILE */

	#briefcase-icon {
		padding-top: 1.0px;
		font-size:25px;
	}

	#dropdown-icon {
		margin-top: 4px;
	}

	#dropdown-icon-without-icons {
		margin-top: 0px;
	}

	#user-icon {
		padding-top: 1px;
		margin-top: 3px;
	}

	#email-icon {
		padding-top: 2.0px;
		font-size:25px;
	}

	#phone-icon {
		padding-top: 2.5px;
		font-size:25px;
	}

	#home-icon {
		padding-left:0.5px;
	}

	#subject-icon {
		padding-top: 1.5px;
		font-size:25px;
	}

	#dataprotection-icon {
		font-size:25px;
		padding-top: 1px;
	}

	#email-icon-position-2 {
		padding-top: 2px;
		font-size:25px;
	}

	#fileupload-icon {
		padding-top: 1.5px;
		font-size:25px;
	}

	#securitycode-icon {
		padding-top: 66px;
		font-size:25px;
	}

	#securityquestion-icon {
		padding-top: 41px;
		font-size:25px;
	}

	#message-icon {
		font-size:25px;
	}

	body.safari .kontaktformular .row #briefcase-icon {
		margin-top: -7px;
		font-size:25px;
	}

	body.safari .kontaktformular .row #dropdown-icon {
		margin-top: -4px;
	}

	body.safari .kontaktformular .row #dropdown-icon-without-icons {
		padding-top: 2.5px;
	}

	body.safari .kontaktformular .row #user-icon {
		margin-top: -8px;
	}

	body.safari .kontaktformular .row #email-icon {
		margin-top: -8px;
		font-size:25px;
	}

	body.safari .kontaktformular .row #home-icon {
		margin-top: -8px;
	}

	body.safari .kontaktformular .row #phone-icon {
		margin-top: -8px;
		font-size:25px;
	}

	body.safari .kontaktformular .row #subject-icon {
		margin-top: -8px;
		font-size:25px;
	}

	body.safari .kontaktformular .row #message-icon {
		margin-top: -7px;
		font-size:25px;
	}

	body.safari .kontaktformular .row #fileupload-icon {
		margin-top: -9px;
		font-size:25px;
	}

	body.safari .kontaktformular .row #securitycode-icon {
		padding-top: 55.5px;
		font-size:25px;
	}

	body.safari .kontaktformular .row #securityquestion-icon {
		margin-top: -8px;
		font-size:25px;
	}

	body.safari .kontaktformular .row #email-icon-position-2 {
		padding-top: 1px;
		font-size:25px;
	}

	body.safari .kontaktformular .row #dataprotection-icon {
		padding-top: 1px;
		font-size:25px;
	}

	body.safari .kontaktformular .row .field {
		padding: .95rem .8rem 0.55rem 0;
	}

	.loading-spinner {
		display: none;
		width: 24px;
		animation: spin 1s linear infinite;
	}

	.loading-spinner:active {
		display: flex;
		justify-content: center; 
		align-items: center;
		width: 24px;
		animation: spin 1s linear infinite;
	}

	.loading-spinner_failed {
		display: none;
		width: 24px;
		animation: spin 1s linear infinite;
	}

	.loading-spinner_failed:active {
		display: flex;
		justify-content: center; 
		align-items: center;
		width: 24px;
		animation: spin 1s linear infinite;
	}

	.kontaktformular .row .senden.loading .label {
		font-size: 18.5px;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.kontaktformular .row .senden.loading .label_failed {
		font-size: 18.5px;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.kontaktformular .row .senden {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		font-size: 18.5px;
		height: 2.90rem;
		margin-top: calc(1rem/16*5);
		color: white;
		background-color: #34a58e;
		transition: background 0.3s ease;
		border: none;
		border-radius: 5px;
	}

	.kontaktformular .row .senden:hover {
		background-color: #1d9185;
		cursor: pointer;
	}

	.kontaktformular .row .senden.finished {
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 18.5px;
		height: 2.90rem;
		margin-top: calc(1rem/16*5);
		color: white;
		background-color: #28a745 !important;
		border: none;
		border-radius: 5px;
		pointer-events: none;
		cursor: not-allowed;
	}

	.kontaktformular .row .senden.failed {
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 18.5px;
		height: 2.90rem;
		margin-top: calc(1rem/16*5);
		color: white;
		border: none;
		border-radius: 5px;
	}
}
