/* import fontawesome */

@import '../fontawesome/css/fontawesome.min.css';
@import '../fontawesome/css/regular.min.css';
@import '../fontawesome/css/solid.min.css';


* {
				box-sizing: border-box;
}

body {
				margin: 0;
				padding-top: 30px;
				padding-bottom: 40px;
				padding-right:20px;
        padding-left:20px;
				background-color: #FFFFFF;
				font-size: calc(1rem/16*14);
				}

body,
textarea,
.senden {
				font-family: Arial, sans-serif;			
}
.kontaktformular .row input,
.kontaktformular .row textarea,
.kontaktformular .row select {
                -webkit-appearance: none;
                -moz-appearance: none;
                appearance: none;
}
input[type="file"] {
				max-width: 100%;
}

.kontaktformular {
				width: 680px;
				max-width: 100%;
				margin:auto;
				padding: 2.1rem;	
				padding-top: 21px;
				padding-left: 30px;
				padding-bottom: 12px;
				padding-right: 30px;	
				box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
        border-radius: 10px;	
}





.kontaktformular .row {
				display: flex;
				align-items: flex-end;
				margin-bottom: 1rem;
				width: 100%;
}

.kontaktformular .row .field {
				display: block;
				height: calc(1rem/16*34);
				font-size: calc(1rem/16*14);
				width: 100%;
				padding: .375rem .75rem;
				color: #555;
				border: 1px solid #ccc;
				border-radius: .25rem;
				box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
				transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}

.kontaktformular .row .field:focus,
.kontaktformular .row input[type="checkbox"]:focus {
				border-color: #66afe9 !important;
				outline: 0 !important;
				box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0.5rem rgba(102, 175, 233, 0.6);
}

.kontaktformular .row .col-sm-2,
.kontaktformular .row .col-sm-3,
.kontaktformular .row .col-sm-4 {
				width: 31%;
}

.kontaktformular .row .col-sm-8 {
				width: 81%;
}



.kontaktformular .row .control-label {
				display: inline-block;
				text-align: right;
				line-height: 2rem;
				width: 19%;
				font-weight: normal;
				font-size:14.5px;
				padding-right: 1rem;
}

.row label + div + label {
    width: 19% !important;
}


.kontaktformular .row textarea {
				height: calc(1rem/16*114);
}

.kontaktformular .upload-row {
				flex-wrap: wrap;
}

.kontaktformular .upload-row .col-sm-8:not(:nth-child(2)) input {
				margin-top: .25rem;
				margin-left: 23.52%;
}

.kontaktformular .row input[type="checkbox"] {
				height: calc(0.6rem/16*34);
				width: calc(0.6rem/16*34);
				border: 1px solid #ccc;
				border-radius: .25rem;
				box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
				transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;	
				display: block;
				float: left;
				-webkit-appearance: none;
				-moz-appearance: none;
				appearance: none;
				cursor: pointer;
				margin-left: 0px;
}
.kontaktformular .row input:checked {
				background: url(../img/check-solid.svg) no-repeat center center;
				background-size: 75%;
}

.kontaktformular .row#privacy-security {
				align-items: center;
}

.kontaktformular .row#privacy-security .control-label {
				align-self: flex-end;
				line-height: 1.5rem;
}

.kontaktformular .row#privacy-security .checkbox-inline a:hover,
.kontaktformular .row#privacy-security .checkbox-inline a:focus {
				color: #23527c;
				text-decoration: underline;
}

.kontaktformular .row#privacy-security .checkbox-inline a {
				color: #337ab7;
				text-decoration: none;
				margin: 6px 0px 0px 32px;
				display: block;
}


.kontaktformular .row#mail-copy {
				align-items: center;
}

.kontaktformular .row#mail-copy .control-label {
				align-self: flex-end;
				line-height: 1.5rem;
}

.kontaktformular .row#mail-copy .checkbox-inline a:hover,
.kontaktformular .row#mail-copy .checkbox-inline a:focus {
				color: #23527c;
				text-decoration: underline;
}

.kontaktformular .row#mail-copy .checkbox-inline a {
				color: #337ab7;
				text-decoration: none;
				margin: 6px 0px 0px 32px;
				display: block;
}


.kontaktformular .row#mail-copy .checkbox-inline span {
				color: #337ab7;
				text-decoration: none;
				margin: 6px 0px 0px 32px;
				display: block;
				color: #000000;
}






.kontaktformular .row#answer .field:focus {
				border-color: #66afe9;
}

.kontaktformular .row#answer .control-label {
				align-self: flex-start;
}

.kontaktformular .row#answer .errordesignfields {
				border-color: #db0007;
}

.kontaktformular .row#send {
				padding-left: 19%;
}

.kontaktformular .row#send .col-sm-4 {
				width: 100%;
}



.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 */
 
}


.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 */
 
}


.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 */

}





/* style submit-button  */

.kontaktformular .row .senden {
        font-family: Arial, 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: #337ab7;
				transition: background 0.3s ease;
				border: none;
				border-radius: 5px;
}


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


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





.kontaktformular .row .errormsg + input,.kontaktformular .row .errormsg + br + input[type="checkbox"],
.kontaktformular .row .errormsg + select,
.kontaktformular .row .errormsg + textarea {
				border-color: #db0007;
}





.copyright {
	 color: #000000;
	 font-size: 13px;
}
.kontaktformular .row select{
				background: url(../img/chevron-down-solid.svg) no-repeat;
				background-position: right 3px center;
				background-size: 15px 10px;
				cursor: pointer;
}
.kontaktformular .row ::placeholder,
.kontaktformular .row select.unselected{
				color: grey;
				opacity: 0.7;
}
.kontaktformular .row select.field option[value=""][disabled] {
				display: none;
}
.kontaktformular .row select.field option {
				color: #555;
}
.kontaktformular .row select.field option[value=""] {
				color: rgba(0,0,0,0.4);
}



/* style required_notice */

.required_notice{
margin-top:18px;
margin-bottom:30px;
}


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 {
  color: #db0007; /* Rote Textfarbe */
  text-align: center; /* Textausrichtung zentriert */
  border: 2px solid #db0007; /* Roter Rand des Kästchens */
  padding-left:7px;
  padding-right:7px;
  padding: 15px;
  width: 100%; /* Breite des Kästchens */
  line-height: 1.5; /* Zeilenhöhe */
  margin-top: 10px; /* Abstand nach oben */
  margin-bottom: 43px; /* Abstand nach unten */
}


.kontaktformular #submitMessage.finished {
  color: #28a745; /* Grüne Textfarbe */
  text-align: center; /* Textausrichtung zentriert */
  border: 2px solid #28a745; /* Grüner Rand des Kästchens */
  padding-left:7px;
  padding-right:7px;
  padding: 15px;
  width: 100%; /* Breite des Kästchens */
  line-height: 1.3; /* Zeilenhöhe */
  margin-top: 10px; /* Abstand nach oben */
  margin-bottom: 43px; /* 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: 660px) {
				.kontaktformular {
								padding-top:1px;
								padding-left:20px;
								padding-right:20px;
								padding-bottom:5px;
				}
				.kontaktformular .row {
								display: initial;
				}
				.kontaktformular .row .control-label {
								margin-top: .5rem;
								text-align: left;
				}
				.kontaktformular .row .col-sm-2,
				.kontaktformular .row .col-sm-3,
				.kontaktformular .row .col-sm-4,
				.kontaktformular .row .col-sm-8 {
								width: 100% !important;
				}
				.kontaktformular .upload-row {
								flex-wrap: wrap;
				}
				.kontaktformular .upload-row .col-sm-8:not(:nth-child(2)) input {
								margin-top: .25rem;
								margin-left: 0;
				}
				.kontaktformular .row .senden {
								margin-bottom: calc(1rem/16*20);
				}
				
				
				
				
				
				
		
/* style required_notice */

.required_notice{
margin-top:18px;
margin-bottom:30px;
}

.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: #337ab7;
				transition: background 0.3s ease;
				border: none;
				border-radius: 5px;
}


.kontaktformular .row .senden:hover {
				background-color: #286090;
				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;
}

.kontaktformular #submitMessage.failed {
  font-size: 17px; /* Schriftgröße */
  
  color: #db0007; /* Rote Textfarbe */
  text-align: center; /* Textausrichtung zentriert */
  border: 2px solid #db0007; /* Roter Rand des Kästchens */
  
  padding-left:7px;
  padding-right:7px;
  
  padding-top:15px;
  padding-bottom:10px;
  width: 100%; /* Breite des Kästchens */
  line-height: 1.3; /* Zeilenhöhe */
  margin-top: 25px; /* Abstand nach oben */
  margin-bottom: 22px; /* Abstand nach unten */
}
				
.kontaktformular #submitMessage.finished {
  font-size: 17px; /* Schriftgröße */
  
  color: #28a745; /* Grüne Textfarbe */
  text-align: center; /* Textausrichtung zentriert */
  border: 2px solid #28a745; /* Grüner Rand des Kästchens */
  
  padding-left:7px;
  padding-right:7px;
  
  padding-top:15px;
  padding-bottom:10px;
  width: 100%; /* Breite des Kästchens */
  line-height: 1.3; /* Zeilenhöhe */
  margin-top: 25px; /* Abstand nach oben */
  margin-bottom: 23px; /* Abstand nach unten */
}

				
}







