@import '../fontawesome/css/all.css';


html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
        margin: 0;
        padding-top: 30px;
				padding-bottom: 40px;
				padding-right:20px;
        padding-left:20px;
				line-height: 1.5;
				background-color: #FFFFFF;
				font-family: "Montserrat", "HelveticaNeueLTStd", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
				font-size: 16px;			
}




form {
	
				margin:auto;
				padding-top: 0px;
				padding-bottom: 4px;	
        border-radius: 10px;	
				width: 100%;
				overflow: hidden;
}





/* style submit-button  */

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


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


form .senden:hover {
				opacity:60%;
				cursor: pointer;
}






form fieldset {
				font-weight: 600;
				border: none;
				padding: 0;
}

form fieldset legend {
				text-transform: uppercase;
}

form input[type="hidden"] + .row,
form .row:first-child {
    margin-top: 1.5rem;
}

form .row {
				margin: 2.5rem 0 1.5rem 0;
				position: relative;
}

form .row label {
				color: rgba(0, 0, 0, 0.7);
				line-height: 1;
				font-weight: 600;
				font-size: 16px;
				position: absolute;
				top: 10;
				left: 0;display: inline-block;
}

form fieldset.captcha .row:first-of-type label {
				position: relative;
}

form input:not([type="checkbox"]):not([type="radio"]),
form textarea,
form select {
				padding: 1.68rem 1.5rem 0.55rem 0;
				border-left: none;
				border-top: none;
				border-right: none;
				border-bottom: 1px solid rgba(0, 0, 0, 0.3);
				transition: border-bottom 0.3s;
				color: black;
				background: transparent;
				outline: none;
				line-height: normal;
				border-radius: 0;
				-webkit-appearance: none;
				-moz-appearance: none;
				appearance: none;
}

form input:not([type="checkbox"]):not([type="radio"]):focus,
form textarea:focus,
form select:focus {
				border-bottom-color: black;
}

form input,
form textarea {
				width: 100%;
				resize:none;
}

form .select-field::after {
				display: block;
				content: "";
				clear: both;
				
}

form .select-wrapper {
				position: relative;
}

form .select-wrapper select {
				cursor: pointer;
				width: 100%;
				z-index: 2;
}

form .select-wrapper + .select-wrapper {
				margin-right: 0;
}

form .select-wrapper::after {
				font-family: "Font Awesome 5 Free";
				font-weight: 900;
				-webkit-font-smoothing: antialiased;
				display: inline-block;
				font-style: normal;
				font-variant: normal;
				text-rendering: auto;
				line-height: normal;
				content: "\f078";
				position: absolute;
				right: 0;
				padding: 1rem 0;
				bottom: 0;
				color: rgba(0, 0, 0, 0.7);
				pointer-events: none;
}

form input[type="checkbox"] {
				float: left;
				height: 1.5rem;
}

form input[type="checkbox"] + a {
				line-height: 1.3rem;
				margin-left: .5rem;
}

form input[type="checkbox"] + span {
				line-height: 1.3rem;
				margin-left: .5rem;
}

form .captcha .field > img {
				filter: grayscale(100%);
}

form .pflichtfeldhinweis {
				font-size: 16px;
				margin: 1.5rem 0;
				position: relative;
}

form .pflichtfeldhinweis > .errormsg:first-child {
				display: block;
				position: relative;
				bottom: auto;
				margin-bottom: .25rem;
                transform: none;
}

form .pflichtfeldhinweis > .errormsg:first-child + br {
				display: none;
}

form .mail-copy {
				font-size: 16px;
				margin: 1.5rem 0;
				position: relative;
}

form .mail-copy > .errormsg:first-child {
				display: block;
				position: relative;
				bottom: auto;
				margin-bottom: .25rem;
                transform: none;
}

form .mail-copy > .errormsg:first-child + br {
				display: none;
}




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


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


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

}




form .buttons {
				margin: 1.5rem 0;
				margin-top:-11px;
}

form .buttons input[type="submit"] {
				cursor: pointer;
				background-color: black;
				text-transform: uppercase;
				color: white;
				text-align: center;
				letter-spacing: .1428571429rem;
				padding: 1rem 1.5rem;
				border: none;
				width: auto;
}

form .errormsg {
				position: absolute;
				color: #AA0000;
				font-size: .85rem;
				left: 0;
                bottom: 0;
                transform: translateY(110%);
				line-height: 1;
				font-weight: 600;
}

.column-2 {
    display: flex;
    justify-content: space-between;
}

.column-2 > div {
    position: relative;
    flex-basis: calc(50% - 2rem);
}








h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

input {
  overflow: visible;
}


select {
  text-transform: none;
}



fieldset {
  padding: 0.35em 0.75em 0.625em;

}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

*,
*::before,
*::after {
				box-sizing: border-box;
}

a {
				text-decoration: none;
				color: rgba(0, 0, 0, 0.7);
				transition: color 0.3s;
				font-weight: 300;
}

a:hover, a:active, a:focus, a:visited {
				color: black;
}

select::-ms-expand {
				display: none;
}

select:focus::-ms-value {
				background-color: transparent;
}



.row input[type="checkbox"] {
				height: calc(0.7rem/16*34);
				width: calc(0.7rem/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;
				outline: #fff;
}
.row input:checked {
				background: url(../img/check-solid.svg) no-repeat center center;
				background-size: 75%;
}




/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  src: url(../fontawesome/webfonts/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  src: url(../fontawesome/webfonts/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  src: url(../fontawesome/webfonts/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  src: url(../fontawesome/webfonts/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  src: url(../fontawesome/webfonts/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url(../fontawesome/webfonts/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url(../fontawesome/webfonts/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url(../fontawesome/webfonts/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url(../fontawesome/webfonts/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url(../fontawesome/webfonts/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}









/* style required_notice */

.required_notice{
margin-top:45px;
margin-bottom:24px;
}


button {
	outline: 0;
}


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


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


form .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;
}


form .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: 25px; /* Abstand nach oben */
  margin-bottom: 39px; /* 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: 25px; /* Abstand nach oben */
  margin-bottom: 39px; /* Abstand nach unten */
}


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


form .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) {

    .column-2 {
        flex-direction: column;
    }

    .column-2 > div + div {
        margin-top: 40px;
    }
    
    
    
  
/* style required_notice */

.required_notice{
margin-top:45px;
margin-bottom:24px;
}

.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;	
	
}


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


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


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


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


form .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;
}


form .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;
}





    

    
    
}


