/* import material-icons */

@import '../fonts/material-icons.css';
@import '../fonts/open-sans.css';

/* common styles */

* { box-sizing: border-box; }

body { margin: auto; background-color: #10385A; padding-top: 30px; padding-bottom: 30px; padding-right:20px; padding-left:20px; overflow-x: hidden;
}

#btn { text-align: left; background-color: #E8F2C6; border-radius: 10px; color:#000000 !important; 
padding:10px; text-decoration: none; margin:5px; display: inline-block; box-shadow: 2px 2px 4px 0 #000; font-size: 1em; font-weight: bolder; }
#btn:hover { background-color:#DBEAA6; }

body,
textarea,
input,
.select { font-family: Open Sans, Arial, sans-serif; font-size: 0.9rem; }

.senden { font-family: Open Sans, Arial, sans-serif; font-size: 1.0rem; }

.kontaktformular { margin:auto; width: 615px; 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; border:1px solid green; background-color: beige;
/* 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: 1.7rem; 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: -8.5px; 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.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; /* die kleinen Felder mit den Gif's z.B. Telefon */ }
.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.7rem; }
body.safari .kontaktformular .row .not-empty-field .control-label span{	/* Labels im inaktiven aber nicht leeren Zustand */
color: grey !important; top: -6px !important; font-size: 0.7rem !important; }
.kontaktformular .row .active-field .control-label i{ color: #26a69a; }
body.safari .kontaktformular .row .active-field .control-label i{ color: #26a69a !important; }
.kontaktformular .row .active-field .control-label span{ color: #26a69a; top: 0rem; font-size: 0.7rem; }
body.safari .kontaktformular .row .active-field .control-label span{	/* Labels im aktiven Zustand */
color: #26a69a !important; top: -6px !important; font-size: 0.7rem !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: 0.9rem; 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: 0px; 
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; /* Eingabefelder */}
.kontaktformular .row .control-label span{ /*Eingabefelder*/ 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 .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:focus,
.kontaktformular .row input[type="checkbox"]:focus { border-bottom-color: #26a69a !important; outline: 0 !important; box-shadow: none; }
.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{ /*background-color:red;*/ /* kleines Feld vor dem Feld: Nachrichten */ }
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: #26a69a; 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: #26a69a; 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: #26a69a;
}


.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: #26a69a;
				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 { display: flex; justify-content: center; align-items: center; font-size: 1.0rem; width: 58.5%; height: 2.75rem; 
margin-top: calc(1rem/16*5); color: white; /* background-color: #26a69a; */ background-color: beige; border-radius: 2px; border: none; 
text-transform: uppercase; /*box-shadow: 0 1px 1px 1px rgba(0,0,0,0.3);*/ }
.kontaktformular .row .senden:hover { /*background-color: #1d9185;*/ cursor: pointer; }


.kontaktformular .row .senden:focus,
    .kontaktformular .row .senden:focus-visible{
         outline: none;
    }


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


/* 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: .75rem;
				margin-left: 3.8rem;
				right: -.7rem;
				display: inline-block;
				position: absolute;
				margin-top: 2px;
}
.kontaktformular .row .errormsg-spamprotection{
				font-size: .88rem;
				color: #db0007; /* Textfarbe */
        text-align: center; /* Textausrichtung zentriert */
        border: 1px solid #db0007; /* Rand des Kästchens */
        padding: 20px; /* Innenabstand des Kästchens */
        width: 99%; /* Breite des Kästchens */
        margin-left:18px;
}


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


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



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


.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: 12px; 
     font-size:25px;
}


#securityquestion-icon {
     padding-top: 0px; 
     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: -4px; 
     font-size:25px;
}


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


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


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


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


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


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


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


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


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


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


body.safari .kontaktformular .row #securityquestion-icon {
     margin-top: -7px; 
     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 copyright */
.copyright { color: #000000; font-size: 4px; }
button { outline: 0; }
.kontaktformular .row .senden.loading .label { margin-right:0.5rem; margin-left:0.45rem; font-size: 1.0rem; display: flex; 
align-items: center; justify-content: center; }
.kontaktformular .row .senden.loading .label_failed { margin-right:0.5rem; margin-left:0.45rem; font-size: 1.0rem; display: flex; 
align-items: center; justify-content: center; }
.kontaktformular .row .senden.finished { display: flex; justify-content: center; align-items: center; font-size: 1.0rem; width: 58.5%; 
height: 2.75rem; margin-top: calc(1rem/16*5); color: white; background-color: #28a745 !important; border-radius: 2px; border: none; 
text-transform: uppercase; box-shadow: 0 1px 1px 1px rgba(0,0,0,0.3); pointer-events: none; cursor: not-allowed; }

.successfully_sent{ font-weight:bold; font-size:17px; }

.kontaktformular .row .senden.failed{ display: flex; justify-content: center; align-items: center; font-size: 1.0rem; width: 58.5%; 
height: 2.75rem; margin-top: calc(1rem/16*5); color: white; border-radius: 2px; border: none; text-transform: uppercase; 
box-shadow: 0 1px 1px 1px rgba(0,0,0,0.3);
}

@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.loading-spinner{ display: none; width: 19px; animation: spin 1s linear infinite; margin-left:1.5rem; }
.loading-spinner:active{ display: flex; justify-content: center; align-items: center; width: 19px; animation: spin 1s linear infinite; margin-left:1.5rem; }
.loading-spinner_failed{ isplay: none; width: 19px; animation: spin 1s linear infinite; margin-left:1.5rem; }
.loading-spinner_failed:active{ display: flex; justify-content: center; align-items: center; width: 19px; animation: spin 1s linear infinite; margin-left:1.5rem; }
.senden.loading .loading-spinner{ display: flex; justify-content: center; align-items: center; margin-left:13px; margin-right:-32px; }
.senden.loading .loading-spinner_failed{ display: flex; justify-content: center; align-items: center; margin-left:13px; margin-right:-32px; }
.senden .check{ display: none; }
.senden .failed{ display: none; }
.senden.finished .check{ display: inline-block; animation: scale 0.5s linear; }
.kontaktformular #submitMessage.failed { font-size: 1rem; /* Schriftgröße */ color: #db0007; /* Rote Textfarbe */
  text-align: center; /* Textausrichtung zentriert */ border: 2px solid #db0007; /* Roter Rand des Kästchens */
  padding-top:15px; padding-bottom:10px; margin-left:18px; width: 99%; /* Breite des Kästchens */
  line-height: 1.5; /* Zeilenhöhe */ margin-bottom: 30px; /* Abstand nach unten */ }
.kontaktformular #submitMessage.finished { font-size: 1rem; /* Schriftgröße */ color: #28a745; /* Grüne Textfarbe */ 
text-align: center; /* Textausrichtung zentriert */ border: 2px solid #28a745; /* Grüner Rand des Kästchens */
  padding-top:15px; padding-bottom:10px; margin-left:18px; width: 99%; /* Breite des Kästchens */
  line-height: 1.5; /* Zeilenhöhe */ margin-bottom: 20px; /* Abstand nach unten */ }
.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: 40px; padding-right:20px; padding-left:20px; }
.kontaktformular { padding-right:40px; padding-left:5px; padding-top:0.1px; 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.5rem; }
.kontaktformular.no-icons .row .col-sm-4{ /* separate style for template WITHOUT icons */
margin-top: 1.5rem; 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: 12px; font-size:25px; }
#securityquestion-icon { padding-top: 0px; font-size:25px; }
#message-icon { font-size:25px; }
body.safari .kontaktformular .row #briefcase-icon { margin-top: -4px; font-size:25px; }
body.safari .kontaktformular .row #dropdown-icon { margin-top: -1px; }
body.safari .kontaktformular .row #dropdown-icon-without-icons { padding-top: 2.5px; }
body.safari .kontaktformular .row #user-icon { margin-top: -5px; }
body.safari .kontaktformular .row #email-icon { margin-top: -5px; font-size:25px; }
body.safari .kontaktformular .row #home-icon { margin-top: -5px; }
body.safari .kontaktformular .row #phone-icon { margin-top: -5px; font-size:25px; }
body.safari .kontaktformular .row #subject-icon { margin-top: -5px; font-size:25px; }
body.safari .kontaktformular .row #message-icon { margin-top: -4px; font-size:25px; }
body.safari .kontaktformular .row #fileupload-icon { margin-top: -6px; font-size:25px; }
body.safari .kontaktformular .row #securitycode-icon { padding-top: 2px; font-size:25px; }
body.safari .kontaktformular .row #securityquestion-icon { margin-top: -6px; 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: 19px; animation: spin 1s linear infinite;	margin-left:1.5rem; }
.loading-spinner:active { display: flex; justify-content: center; align-items: center; width: 19px; animation: spin 1s linear infinite;	
margin-left:1.5rem; }
.loading-spinner_failed{ display: none; width: 19px; animation: spin 1s linear infinite; margin-left:1.5rem; }
.loading-spinner_failed:active { display: flex; justify-content: center; align-items: center; width: 19px; animation: spin 1s linear infinite;	
margin-left:1.5rem; }
.kontaktformular .row .senden.loading .label { font-size: 1.0rem; display: flex; align-items: center; justify-content: center; }
.kontaktformular .row .senden.loading .label_failed { font-size: 1.0rem; display: flex; align-items: center; justify-content: center; }
.kontaktformular .row .senden { display: flex; justify-content: center; align-items: center; font-size: 1.0rem; width: 100%;
height: 2.75rem; margin-top: calc(1rem/16*5); color: white; /*background-color: #26a69a;*/ border-radius: 2px; border: none;
text-transform: uppercase; /*box-shadow: 0 1px 1px 1px rgba(0,0,0,0.3);*/ }

/* .kontaktformular .row .senden:hover { background-color: #1d9185; cursor: pointer; } */
.kontaktformular .row .senden:focus,
.kontaktformular .row .senden:focus-visible { outline: none; }
.kontaktformular #submitMessage.failed { font-size: 1rem; /* Schriftgröße */ color: #db0007; /* Rote Textfarbe */
text-align: center; /* Textausrichtung zentriert */ border: 2px solid #db0007; /* Roter Rand des Kästchens */
padding-top:15px; padding-bottom:10px; margin-left:18px; width: 99%; /* Breite des Kästchens */
line-height: 1.5; /* Zeilenhöhe */ margin-bottom: 30px; /* Abstand nach unten */ }
.kontaktformular #submitMessage.finished { font-size: 1rem; /* Schriftgröße */ color: #28a745; /* Grüne Textfarbe */
text-align: center; /* Textausrichtung zentriert */ border: 2px solid #28a745; /* Grüner Rand des Kästchens */
padding-top:15px; padding-bottom:10px; margin-left:18px; width: 99%; /* Breite des Kästchens */
line-height: 1.5; /* Zeilenhöhe */ margin-bottom: 20px; /* Abstand nach unten */ }
.kontaktformular .row .senden.finished { display: flex; justify-content: center; align-items: center; font-size: 1.0rem; width: 100%;
height: 2.75rem; margin-top: calc(1rem/16*5); color: white; background-color: #28a745 !important; border-radius: 2px; border: none;
text-transform: uppercase; box-shadow: 0 1px 1px 1px rgba(0,0,0,0.3); pointer-events: none; cursor: not-allowed; }
.kontaktformular .row .senden.failed { display: flex; justify-content: center; align-items: center; font-size: 1.0rem; width: 100%;
height: 2.75rem; margin-top: calc(1rem/16*5); color: white; border-radius: 2px; border: none; text-transform: uppercase;
box-shadow: 0 1px 1px 1px rgba(0,0,0,0.3); }

}