#maincontent.contact {
  padding: 15.5% 12% 2%;
}

#maincontent.contact:not(.press) {
  background-image: url("img/08_kontakt.jpg");
  background-repeat: no-repeat;
  background-position: 38.1% 91.5%;
  background-size: 9.5%;
}

.contact header {
  float: left;
  
  width: 49%;
}

.contact header h1,
.contact form fieldset legend,
.contact .resultMessage h1,
.contact a {
  margin: 0;
  
  font-size: inherit;
  font-weight: bold;
  color: #1b5497;
}

.contact header .pressinfo {
  position: relative;
  
  padding-right: 3em;
  margin-bottom: 2em;
}

.contact header .pressinfo p {
  font-size: 70%;
}

.contact header .pressinfo:after {
  content: "";
  display: block;
  position: absolute;
  
  right: 4em;
  bottom: -4em;
  
  width: 4.5em;
  height: 4.5em;
  
  background-image: url("img/10_schluessel.jpg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  
  z-index: -1;
}

.contact header address {
  margin: 1.2em 0;
  font-style: inherit;
}

.contact form {
  float: left;
  
  width: 44%;
}

.contact form fieldset {
  border: none;
  margin: 0;
  padding: 0;
}

.contact form fieldset legend {
  margin-bottom: 2em;
}

.contact form fieldset div {
  position: relative;
  margin-bottom: 0.7em;
}

.contact form fieldset div.invalid input {
  border: 1px solid #bf7c7f;
}

.contact form fieldset div.invalid:after {
  content: "!";
  position: absolute;
  
  right: 0;
  top: 0.1em;
  
  color: #C31A23;
  font-weight: bold;
}

.contact form fieldset .message.invalid:after {
  top: 1.5em;
}

.contact form fieldset label {
  display: inline-block;
  
  width: 15%;
  
  font-size: 70%;
  line-height: 200%;
}

.contact form fieldset input,
.contact form fieldset textarea,
.contact form fieldset .newsletter input:before {
  width: 73%;
  
  padding: 0.15em 0.6em;
  
  border: none;
  background-color: #e6eaf5;
  
  font-family: inherit;
  font-size: 95%;
}

.contact form fieldset .message {
  margin-bottom: 0.6em;
}

.contact form fieldset .message label {
  display: block;
  width: 100%;
}

.contact form fieldset .message textarea {
  width: 89%;
  height: 6em;
}

.contact form fieldset .newsletter input {
  position: relative;
  width: auto;
}

.contact form fieldset .newsletter {
  position: relative;
}

.contact form fieldset .newsletter label {
  width: auto;
}

.contact form fieldset .newsletter {
  margin-bottom: 1em;
}

.contact form fieldset p {
  font-size: 70%;
}



.contact form fieldset button,
.contact nav a {
  position: absolute;
    
  width: 12%;
  
  padding: 0.6em 0;
  
  background-color: white;
  
  border-radius: 0.4em;
  border: none;
  
  -webkit-box-shadow: 0.275em 0.275em 0.15em 0 rgba(32, 45, 128, 0.4);
  -moz-box-shadow: 0.275em 0.275em 0.15em 0 rgba(32, 45, 128, 0.4);
  box-shadow: 0.275em 0.275em 0.15em 0 rgba(32, 45, 128, 0.4);
 
  font-family: inherit;
  font-size: 110%;
  font-weight: bold;
  color: #1b5497;
  text-align: center;
  
  cursor: pointer;
}

.contact nav a {
  position: absolute;
  
  width: 11%;
  
  font-size: 115%;
}

.contact nav a.press {
  top: 21%;
  right: 3.33%;
  
  -ms-transform: rotate(-2deg);
  -webkit-transform: rotate(-2deg);
  transform: rotate(-2deg);
}

.contact form fieldset button {
  bottom: 12%;
  right: 9%;
  
  -ms-transform: rotate(3deg);
  -webkit-transform: rotate(3deg);
  transform: rotate(3deg);
}

.contact.press nav {
  display: none;
}

.contact form fieldset .editorial {
  display: none;
}

.contact.press form fieldset .editorial {
  display: block;
}

.contact.press form fieldset .firstname {
  display: none;
}
 
.grecaptcha-badge {
  bottom: 4.5em !important;
  z-index: 1;
}