@fontface{
	fontfamily:"raleway-light";
	src: url("../../../fonts/raleway-light-webfont.eot");
	src: url("../../../fonts/raleway-light-webfont.woff") format("woff"),
	url("../../../fonts/raleway-light-webfont.otf") format("opentype"),
    url("../../../fonts/raleway-light-webfont.svg") format("svg")
}

body{font-family: 'raleway-light', sans-serif !important}
	
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
        
 				margin: 0px;
				padding: 0px;
 				position: absolute;
 				top: 0px;
 				left: 0px;
				font-size: 13px;
				line-height: 1.5;
				background-color: rgba(255,255,255,0.1);
				color: black;
				font-family: "raleway-light", "HelveticaNeueLTStd", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
				text-rendering: optimizelegibility;
				text-shadow: 1px 1px 2px rgba(0,0,0,.2), -1px -1px 2px rgba(0,0,0,.2);
}




form {
				padding: 2.1rem;	
				margin: 0px;
				padding-top: 0px;
				padding-bottom: 4px;
				padding-right: 33px;	
				box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
        		border-radius: 10px;	
				width: 680px;
				height:450px;
				max-width: 100%;
				overflow: hidden;
}

.Copyright {display: flex; justify-content: center; align-items: center; margin-right: 6%; color: black; font-size:13px; line-height: 20px;}
.danke {display: flex; justify-content: center; align-items: center; margin-right: 6%; color: black; font-size:13px; line-height: 20px;}
.Copyright a:hover{color: rgba(153,0,0,1);}
.danke a:hover{color: #306000}

@media (max-width: 600px) {

		form {padding: 0px; max-width: 300px; max-height: 500px;}
		form .senden {max-width: 300px; font-size: 50%;}
		.field textarea {height: 90px;}
		
}
	
form .senden {
        display:flex;
        justify-content: center; 
        align-items: center;
				width: 53%;
				font-size: 16px;
				font-weight: bold;
				height: 2.75rem;
				margin-top: calc(1rem/16*5);
				margin-left: 20%;
				color: white;
				background-color: rgba(153,0,0,.3);
				transition: background 0.3s ease;
				border: none;
				border-radius: 5px;
}

form .senden:hover {
				background-color: rgba(153,0,0,1);
				cursor: pointer;
}



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


form .senden.finished{
		display: flex;
    justify-content: center;
	margin-bottom: 50px;
    align-items: center;
	  font-size: 16px;
		font-weight: bold;
		height: 2.75rem;
		margin-top: calc(1rem/16*5);
		color: white;
		background-color: #3060000 !important;
		border: 1px solid transparent;
		border-color: #3060000;
		border-radius: 5px;
    pointer-events: none; 
    cursor: not-allowed;
}

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








form fieldset {
				font-weight: 500;
				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: 500;
				font-size: .75rem;
				text-transform: uppercase;
				position: absolute;
				top: 0;
				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.43rem 1.5rem 0.50rem 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%;
}

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: "Open Sans";
				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: 14px;
				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: 14px;
				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: .88rem;
				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: .88rem;
				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: .88rem;
				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: .75rem;
				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.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;
				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;
}









button {
	outline: 0;
}


form .senden.loading .label{
	margin-right:0.5rem;
	margin-left:0.45rem;
	font-size: 16px;
	display: flex;
  align-items: center;
  justify-content: center;
}


form .senden.loading .label_failed{
	margin-right:0.5rem;
	margin-left:0.45rem;
	font-size: 16px;
	display: flex;
  align-items: center;
  justify-content: center;
}


form .senden.finished{
	  display: flex;
    justify-content: center; 
    align-items: center;
	  font-size: 16px;
		font-weight: bold;
		height: 2.75rem;
		margin-top: calc(1rem/16*5);
		color: white;
		background-color: #306000;
		border: none;
		border-radius: 5px;
    pointer-events: none; 
    cursor: not-allowed;
}


form .senden.failed{
		display: flex;
    justify-content: center; 
    align-items: center;
	  font-size: 16px;
		font-weight: bold;
		height: 2.75rem;
		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: 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;
}


.senden.loading .loading-spinner{
	display: flex;
  justify-content: center; 
  align-items: center;
  margin-left:13px; 
  margin-right:-32px; 
  margin-top:-0.5px;
}


body.safari .senden.loading .loading-spinner{
	display: flex;
  justify-content: center; 
  align-items: center;
  margin-left:13px; 
  margin-right:-32px; 
  margin-top:-3px;
}


.senden.loading .loading-spinner_failed{
	display: flex;
  justify-content: center; 
  align-items: center;
  margin-left:13px; 
  margin-right:-32px; 
  margin-top:-1px;
}


body.safari .senden.loading .loading-spinner_failed{
	display: flex;
  justify-content: center; 
  align-items: center;
  margin-left:13px; 
  margin-right:-32px; 
  margin-top:-3.25px;
}


.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: #900000; /* Rote Textfarbe */
  text-align: center; /* Textausrichtung zentriert */
  border: 2px solid #900000; /* Roter Rand des Kästchens */
  padding-top:15px;
  padding-bottom:10px;
  width: 100%; /* 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: #306000; /* Grüne Textfarbe */
  text-align: center; /* Textausrichtung zentriert */
  border: 2px solid #306000; /* Grüner Rand des Kästchens */
  padding-top:15px;
  padding-bottom:10px;
  width: 100%; /* Breite des Kästchens */
  line-height: 1.5; /* Zeilenhöhe */
  margin-bottom: 20px; /* Abstand nach unten */
}


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


.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: 550px) {

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

    .column-2 > div + div {
        margin-top: 40px;
    }
    
    
    
    
.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;
}


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


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


form .senden {
        display: flex;
        justify-content: center; 
        align-items: center;
				width: 100%;
				font-size: 16px;
				font-weight: bold;
				height: 2.75rem;
				margin-top: calc(1rem/16*5);
				color: white;
				background-color: rgba(153,0,0,.3);
				transition: background 0.3s ease;
				border: none;
				border-radius: 5px;
}


form .senden:hover {
				background-color: rgba(153,0,0,1);
				cursor: pointer;
}



form .senden.finished{
	  display: flex;
    justify-content: center; 
    align-items: center;
	  font-size: 16px;
		font-weight: bold;
		height: 2.75rem;
		margin-top: calc(1rem/16*5);
		color: white;
		background-color: #306000;
		border: none;
		border-radius: 5px;
    pointer-events: none; 
    cursor: not-allowed;
}


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