@font-face {
  font-family: "alegreya";
  src: url("/fonts/AlegreyaSansSC-Medium.woff2") format("woff2"), url("/fonts/AlegreyaSansSC-Medium.woff") format("woff");
  font-style: normal;
  font-weight: 500;
  font-display: auto;
}
@font-face {
  font-family: "signika";
  src: url("/fonts/Signika-Bold.woff2") format("woff2"), url("/fonts/Signika-Bold.woff") format("woff");
  font-style: normal;
  font-weight: 500;
  font-display: auto;
}
@font-face {
  font-family: "caveat";
  src: url("/fonts/Caveat-Regular.woff2") format("woff2"), url("/fonts/Caveat-Regular.woff") format("woff");
  font-style: normal;
  font-weight: 500;
  font-display: auto;
}
body {
  background-color: rgb(0, 127.38, 173.7);
  font-family: sans-serif;
  margin: 0px;
  padding: 0px;
  text-size-adjust: 100%;
}

body:not(.showBrowserFocus) :focus {
  outline: 0;
}
body:not(.showBrowserFocus) button::-moz-focus-inner {
  border: 0;
}
body:not(.showBrowserFocus) select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

table {
  border: none;
  border-collapse: collapse;
  border-spacing: 0px;
}

td {
  padding: 0px;
}

svg {
  stroke-width: 0;
  display: block;
  width: 100%;
  height: 100%;
  stroke: currentColor;
  fill: currentColor;
}

.content-container, .layout-container {
  max-width: 1120px;
  margin: 0 auto;
  padding-left: 30px;
  padding-right: 30px;
}

@media (max-width: 700px) {
  .hide-sm {
    display: none !important;
  }
}
@media (max-width: 550px) {
  .content-container {
    padding-left: 10px;
    padding-right: 10px;
  }
  .layout-container {
    padding-left: 0px;
    padding-right: 0px;
  }
  .hide-xs {
    display: none !important;
  }
}
@media (min-width: 701px) {
  .show-sm {
    display: none !important;
  }
}
@media (min-width: 551px) {
  .show-xs {
    display: none !important;
  }
}
@media (max-height: 550px) {
  .hide-height-xs {
    display: none !important;
  }
}
button {
  position: relative;
  border: 2px solid transparent;
  border-radius: 6px;
  box-sizing: border-box;
  font-family: "alegreya", sans-serif;
  font-size: 19px;
  padding: 0px 15px;
  height: 33px;
  display: inline-block;
  text-decoration: none;
  cursor: pointer;
  line-height: 1;
  white-space: nowrap;
  text-overflow: ellipsis;
  user-select: none;
  appearance: none;
  transition: background-color 100ms;
  color: rgb(81, 81, 81);
}
button:not(.only-icon) svg {
  width: 20px;
  height: 20px;
  position: absolute;
  left: 4px;
  top: 4px;
}
button.only-icon {
  padding: 0px 6px;
}
button.only-icon svg {
  width: 20px;
  height: 20px;
}
button span {
  margin-left: 11px;
}
button:focus {
  outline: 0;
}
button::-moz-focus-inner {
  border: 0;
}

button.back-transparent, button.back-frosted {
  background-color: transparent;
}

button.toggle-show.back-frosted {
  color: rgb(0, 157.3, 214.5);
}

body:not(.isTouchOnly) button.toggle-show:hover.back-frosted,
.showBrowserFocus button.toggle-show:focus.back-frosted {
  color: rgb(0, 157.3, 214.5);
  border: 2px solid rgb(0, 157.3, 214.5);
}

button.back-white {
  background-color: white;
  color: rgb(0, 176, 240);
  border: 2px solid rgb(0, 176, 240);
}

button.back-ci {
  background-color: rgb(0, 176, 240);
  color: white;
}

button.back-grey {
  background-color: rgb(100, 106, 109);
  color: white;
}

button.back-darkTransparent {
  color: white;
  border: 2px solid rgb(0, 176, 240);
  background-color: rgba(0, 0, 0, 0.2117647059);
}

body:not(.isTouchOnly) button:hover, .showBrowserFocus button:focus {
  background-color: white;
  color: rgb(81, 81, 81);
  border: 2px solid rgb(81, 81, 81);
}

button.black-and-white {
  background-color: white;
  color: rgb(81, 81, 81);
  border: 2px solid rgb(81, 81, 81);
}

body:not(.isTouchOnly) button.black-and-white:hover,
.showBrowserFocus button.black-and-white:focus {
  background-color: rgb(0, 176, 240);
  color: white;
  border: 2px solid rgb(0, 176, 240);
}

.buttonbar {
  text-align: center;
  margin-top: -8px;
  margin-left: -4px;
}
.buttonbar button {
  margin-top: 8px;
  margin-left: 4px;
}

.content {
  background-color: rgb(56, 60, 62);
  padding-top: 2px;
}

.reference {
  font-size: 75%;
  display: inline-block;
  margin-left: 5px;
  margin-right: 2px;
  position: relative;
  top: -5px;
  text-decoration: none;
  color: rgb(0, 176, 240);
}
.reference::before {
  content: "[";
  margin-right: 1px;
}
.reference::after {
  content: "]";
  margin-left: 1px;
}
.reference:hover {
  text-decoration: underline;
  color: rgb(0, 127.38, 173.7);
}

.nowrap {
  white-space: nowrap;
}

.box {
  margin-bottom: 50px;
  box-sizing: border-box;
  padding-top: 40px;
  padding-bottom: 40px;
  color: rgb(90, 90, 90);
}
@media (max-width: 900px) {
  .box {
    padding-top: 30px;
    padding-bottom: 30px;
    margin-bottom: 26px;
  }
}
@media (max-width: 550px) {
  .box {
    padding: 19px 0px;
  }
}
.box .area {
  background-color: white;
  padding: 40px;
}
@media (max-width: 900px) {
  .box .area {
    padding: 30px;
  }
}
@media (max-width: 550px) {
  .box .area {
    padding: 19px 10px;
  }
}
.box h1 {
  font-family: "alegreya", sans-serif;
  font-weight: normal;
  font-size: 33px;
  margin-top: 0px;
  margin-bottom: 20px;
  line-height: 1;
  text-transform: lowercase;
  color: white;
  text-align: center;
}
.box h1::after {
  content: " ";
  background-color: rgb(0, 176, 240);
  height: 1px;
  width: 100px;
  margin-left: auto;
  margin-right: auto;
  display: block;
  margin-top: 16px;
}
.box h2 {
  font-size: 22px;
  margin-top: 40px;
  margin-bottom: 10px;
  color: rgb(0, 127.38, 173.7);
}
.box h3 {
  font-size: 18px;
  margin-top: 35px;
  margin-bottom: 10px;
  color: rgb(118, 118, 118);
}
.box p {
  margin-top: 1em;
  margin-bottom: 1em;
  hyphens: manual;
  line-height: 1.4;
  font-size: 17px;
}
.box p.no-margins {
  margin-top: 0px;
  margin-bottom: 0.2em;
}
.box .no-margin-top {
  margin-top: 0px;
}
.box p.no-margin-bottom {
  margin-bottom: 0px;
}
.box p.stand {
  font-size: 13px;
  font-style: italic;
}
.box a {
  color: rgb(0, 127.38, 173.7);
  text-decoration: none;
}
.box a:hover {
  text-decoration: underline;
}
.box a svg {
  width: 14px;
  height: 13px;
  display: inline-block;
  margin-bottom: -1px;
  color: rgb(0, 119.9, 163.5);
}
@media (max-width: 700px) {
  .box a {
    padding-top: 15px;
  }
}
.box table {
  line-height: 1.4;
  margin-top: 20px;
  margin-bottom: 20px;
}
.box td, .box th {
  padding: 0px;
  vertical-align: bottom;
}
.box td:last-child {
  padding-left: 15px;
}
.box tr.margin-bottom td {
  padding-bottom: 20px;
}
@media (max-width: 700px) {
  .box p a:not(.reference) {
    padding-top: 15px;
  }
  .box tr.touch-margins td {
    padding-top: 15px;
    padding-bottom: 30px;
  }
}
.box .space-24 {
  margin-bottom: 24px;
}
.box .space-34 {
  margin-bottom: 34px;
}
.box .fehler {
  margin-bottom: 21px;
  font-style: italic;
  color: rgb(167, 0, 0);
}

.layout-container:last-child .box {
  margin-bottom: 0px;
}

.construction {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px;
  background-color: white;
  margin-bottom: 180px;
  margin-top: 50px;
}

.top-navigation {
  height: 44px;
  position: fixed;
  z-index: 10;
  left: 0px;
  top: 0px;
  right: 0px;
  box-shadow: inset 0px 0px 17px 5px rgba(255, 255, 255, 0.78), 0px 5px 16px 0px rgba(0, 0, 0, 0.18);
  border-bottom: 1px solid rgb(218, 218, 218);
  background-color: rgba(255, 255, 255, 0.82);
}
@supports (backdrop-filter: blur(4px)) {
  .top-navigation {
    background-color: rgba(255, 255, 255, 0.38);
    backdrop-filter: contrast(0.4) brightness(1.7) blur(4px);
  }
}
@media print {
  .top-navigation {
    display: none;
  }
}
.top-navigation .content-container {
  display: flex;
  align-items: center;
  height: 100%;
  margin: 0px;
}
.top-navigation .leftItem {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
}
.top-navigation .leftItem button {
  margin-right: 10px;
}
.top-navigation .leftItem a {
  font-family: "signika", sans-serif;
  font-size: 20px;
  font-weight: bold;
  color: rgb(0, 176, 240);
  text-decoration: none;
  text-shadow: 0px 0px 12px rgba(255, 255, 255, 0.6588235294);
}
.top-navigation .leftItem a:hover {
  text-decoration: underline;
}
@media (max-width: 900px) {
  .top-navigation .leftItem a {
    font-size: 20px !important;
  }
}
.top-navigation ul {
  margin: 0px;
  display: flex;
  align-items: center;
  line-height: 1;
  height: 100%;
  padding: 0px 0px 0px 10px;
}
@media (max-width: 700px) {
  .top-navigation ul {
    display: none;
  }
}
.top-navigation ul::after {
  content: " ";
  display: table;
  clear: both;
}
.top-navigation li {
  list-style-type: none;
  margin-right: 30px;
  font-size: 19px;
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
}
.top-navigation li a {
  margin-bottom: -2px;
  text-decoration: none;
  color: rgb(33, 33, 33);
  text-shadow: 0px 0px 12px rgba(255, 255, 255, 0.6588235294);
  border-bottom: 2px solid transparent;
}
.top-navigation li a.icon {
  padding-top: 2px;
  padding-bottom: 2px;
}
.top-navigation li a:hover {
  border-bottom: 2px solid rgb(33, 33, 33);
}
.top-navigation li:last-child {
  margin-right: 0px;
}

body.sm .top-navigation ul {
  position: fixed;
  left: 0px;
  right: 0px;
  top: 44px;
  z-index: 5;
  background-color: rgb(0, 127.38, 173.7);
  height: auto;
  transform-origin: 0px 0px;
  transform: scale(0);
  transition: transform 200ms ease-out;
  display: block;
  padding: 25px 30px 6px 30px;
  box-shadow: 0px 8px 10px -4px rgba(0, 0, 0, 0.3607843137);
}
body.sm .top-navigation ul.toggle-hide {
  display: none;
}
body.sm .top-navigation ul.toggle-show {
  transform: scale(1);
}
body.sm .top-navigation li {
  display: list-item;
  margin-bottom: 22px;
  font-size: 20px;
}
body.sm .top-navigation li a {
  color: white;
  text-shadow: none;
  border-bottom: 2px solid transparent;
}
body.sm .top-navigation li a:hover {
  color: white;
  border-bottom: 2px solid white;
}

.emotion-header {
  position: relative;
  height: calc(26vh + 57px);
  object-fit: cover;
  object-position: 50% calc(43% + 22px);
  width: 100%;
  display: block;
}
@media (max-width: 550px) {
  .emotion-header {
    object-position: 50% 43%;
  }
}
@media print {
  .emotion-header {
    display: none;
  }
}

.box-companies .row {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
  background-color: white;
}
@media (max-width: 550px) {
  .box-companies .row {
    margin-bottom: 10px;
  }
}
.box-companies .row:last-child {
  margin-bottom: 0px;
}
.box-companies .row .img {
  background-size: cover;
  background-position: 50% 50%;
  flex: 0 0 40%;
  position: relative;
}
@media (max-width: 900px) {
  .box-companies .row .img {
    flex: 0 0 25%;
  }
}
@media (max-width: 700px) {
  .box-companies .row .img {
    flex: 1 0 100%;
    height: 120px;
  }
}
.box-companies .row .img a {
  background-color: rgba(0, 0, 0, 0.4196078431);
  position: absolute;
  display: block;
  border-radius: 1000px;
  right: 7px;
  top: 7px;
  width: 35px;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 100ms ease-out;
  padding-top: 0px;
}
.box-companies .row .img a:hover {
  background-color: white;
}
.box-companies .row .img a:hover svg {
  color: rgb(81, 81, 81);
}
.box-companies .row .img a svg {
  width: 18px;
  height: 18px;
  color: white;
}
.box-companies .row .data {
  padding: 30px;
  box-sizing: border-box;
  flex: 1 1 10%;
  font-size: 13px;
}
@media (max-width: 900px) {
  .box-companies .row .data {
    padding: 18px;
  }
}
@media (max-width: 550px) {
  .box-companies .row .data {
    padding: 10px;
  }
}
.box-companies .row .result {
  float: right;
  margin-left: 5px;
}
.box-companies .row .result a {
  display: block;
  padding-top: 0px;
}
.box-companies .row .result a:hover, .box-companies .row .result a:hover span {
  text-decoration: none;
  border-bottom: none;
}
.box-companies .row .name {
  font-size: 20px;
}
@media (max-width: 900px) {
  .box-companies .row .name {
    font-size: 18px;
  }
}
.box-companies .row .city {
  margin-top: 3px;
  margin-bottom: 10px;
}
.box-companies .row .description {
  margin-bottom: 10px;
}
.box-companies .row .jobs div {
  font-weight: bold;
  margin-bottom: 4px;
}
.box-companies .row .jobs ul {
  margin: 0px;
  padding-left: 20px;
}
.box-companies .row .jobs li {
  margin-bottom: 2px;
}
.box-companies .row a {
  color: rgb(81, 81, 81);
}
.box-companies .row a span {
  border-bottom: 2px solid transparent;
}
.box-companies .row a:hover {
  text-decoration: none;
}
.box-companies .row a:hover span {
  border-bottom: 2px solid rgb(0, 127.38, 173.7);
}

.box-company h1 {
  margin-bottom: 3px;
}
.box-company h1::after {
  content: none;
  height: 0px;
}
.box-company .h1-sub {
  font-family: "alegreya", sans-serif;
  font-weight: normal;
  font-size: 15px;
  margin-top: 0px;
  margin-bottom: 20px;
  line-height: 1;
  text-transform: lowercase;
  color: white;
  text-align: center;
}
.box-company .siegel {
  float: left;
  margin-right: 10px;
  margin-bottom: 10px;
}
.box-company .awards::after {
  content: " ";
  display: table;
  clear: both;
}
.box-company .comments p {
  margin-bottom: 8px;
}
.box-company .comments ul {
  margin: 0px;
  padding-left: 25px;
  font-size: 15px;
}
.box-company .comments li {
  margin-bottom: 5px;
  line-height: 1.2;
  list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16px" height="16px" viewBox="0 -100 640 612" preserveAspectRatio="xMidYMid meet"><path d="M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4zm323-128.4l-27.8-28.1c-4.6-4.7-12.1-4.7-16.8-.1l-104.8 104-45.5-45.8c-4.6-4.7-12.1-4.7-16.8-.1l-28.1 27.9c-4.7 4.6-4.7 12.1-.1 16.8l81.7 82.3c4.6 4.7 12.1 4.7 16.8.1l141.3-140.2c4.6-4.7 4.7-12.2.1-16.8z" fill="green" /></svg>');
}
.box-company .jobs {
  margin: 0px;
  padding-left: 25px;
  margin-bottom: 30px;
}
.box-company .jobs li {
  margin-bottom: 5px;
  line-height: 1.2;
  list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16px" height="16px" viewBox="0 -130 576 642" preserveAspectRatio="xMidYMid meet"><path d="M576 24v127.984c0 21.461-25.96 31.98-40.971 16.971l-35.707-35.709-243.523 243.523c-9.373 9.373-24.568 9.373-33.941 0l-22.627-22.627c-9.373-9.373-9.373-24.569 0-33.941L442.756 76.676l-35.703-35.705C391.982 25.9 402.656 0 424.024 0H552c13.255 0 24 10.745 24 24zM407.029 270.794l-16 16A23.999 23.999 0 0 0 384 303.765V448H64V128h264a24.003 24.003 0 0 0 16.97-7.029l16-16C376.089 89.851 365.381 64 344 64H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V287.764c0-21.382-25.852-32.09-40.971-16.97z" fill="green" /></svg>');
}
.box-company .job-footer {
  margin-top: 30px;
  margin-bottom: 40px;
}

.box-job ul {
  margin: 0px;
  padding-left: 25px;
  margin-bottom: 30px;
}
.box-job ul li {
  margin-bottom: 5px;
  line-height: 1.2;
}
.box-job .aufgabe li {
  list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16px" height="16px" viewBox="0 -130 512 642" preserveAspectRatio="xMidYMid meet"><path d="M487.4 315.7l-42.6-24.6c4.3-23.2 4.3-47 0-70.2l42.6-24.6c4.9-2.8 7.1-8.6 5.5-14-11.1-35.6-30-67.8-54.7-94.6-3.8-4.1-10-5.1-14.8-2.3L380.8 110c-17.9-15.4-38.5-27.3-60.8-35.1V25.8c0-5.6-3.9-10.5-9.4-11.7-36.7-8.2-74.3-7.8-109.2 0-5.5 1.2-9.4 6.1-9.4 11.7V75c-22.2 7.9-42.8 19.8-60.8 35.1L88.7 85.5c-4.9-2.8-11-1.9-14.8 2.3-24.7 26.7-43.6 58.9-54.7 94.6-1.7 5.4.6 11.2 5.5 14L67.3 221c-4.3 23.2-4.3 47 0 70.2l-42.6 24.6c-4.9 2.8-7.1 8.6-5.5 14 11.1 35.6 30 67.8 54.7 94.6 3.8 4.1 10 5.1 14.8 2.3l42.6-24.6c17.9 15.4 38.5 27.3 60.8 35.1v49.2c0 5.6 3.9 10.5 9.4 11.7 36.7 8.2 74.3 7.8 109.2 0 5.5-1.2 9.4-6.1 9.4-11.7v-49.2c22.2-7.9 42.8-19.8 60.8-35.1l42.6 24.6c4.9 2.8 11 1.9 14.8-2.3 24.7-26.7 43.6-58.9 54.7-94.6 1.5-5.5-.7-11.3-5.6-14.1zM256 336c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z" fill="green" /></svg>');
}
.box-job .profil li {
  list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16px" height="16px" viewBox="0 -130 536 642" preserveAspectRatio="xMidYMid meet"><path d="m 507.60047,171.51268 -146.1,-21.3 -65.3,-132.400002 c -11.7,-23.6000004 -45.6,-23.9000004 -57.4,0 l -65.3,132.400002 -146.099995,21.3 c -26.2000001,3.8 -36.7000001,36.1 -17.7000001,54.6 l 105.6999951,103 -24.999995,145.5 c -4.5,26.3 23.199995,46 46.399995,33.7 l 130.7,-68.7 130.7,68.7 c 23.2,12.2 50.9,-7.4 46.4,-33.7 l -25,-145.5 105.7,-103 c 19,-18.5 8.5,-50.8 -17.7,-54.6 z m -139.5,140.8 23.7,138.4 -124.3,-65.3 -124.3,65.3 23.7,-138.4 -100.599995,-98 138.999995,-20.2 62.2,-126.000002 62.2,126.000002 139,20.2 z" fill="green" /></svg>');
}
.box-job .angebot li {
  list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16px" height="16px" viewBox="0 -130 512 642" preserveAspectRatio="xMidYMid meet"><path d="M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z" fill="green" /></svg>');
}

.box .thumb-flex {
  display: flex;
}
.box .thumb-flex img {
  flex: 0 0 60px;
  border-radius: 1000px;
  margin-right: 18px;
  object-fit: cover;
  width: 60px;
  height: 60px;
  object-position: 45% 0%;
  border: 3px solid rgb(211, 211, 211);
}
.box .thumb-flex svg {
  flex: 0 0 60px;
  margin-right: 24px;
  width: 60px;
  height: 60px;
  color: rgb(211, 211, 211);
}
.box .thumb-flex p:not(.tiny) {
  margin-top: 3px;
  margin-bottom: 8px;
}
.box .thumb-flex p.tiny {
  font-size: 14px;
  margin-top: 20px;
  margin-bottom: -5px;
}
.box .thumb-flex .phone-content, .box .thumb-flex .email-content {
  font-weight: bold;
  font-size: 20px;
}
.box .thumb-flex button {
  margin: 20px 0px 0px 0px;
}

#cookie-banner {
  position: fixed;
  left: 0px;
  right: 0px;
  bottom: 0px;
  backdrop-filter: blur(5px);
  color: white;
  background-color: rgba(80, 80, 80, 0.84);
  border-top: 1px solid #929191;
  z-index: 9999;
  transform: translate3d(0px, 100%, 0px);
  animation: showCookieBox 500ms ease-out 2s forwards;
}
@supports (backdrop-filter: blur(5px)) {
  #cookie-banner {
    background-color: rgba(80, 80, 80, 0.8);
    backdrop-filter: blur(5px);
  }
}

@keyframes showCookieBox {
  to {
    transform: translate3d(0px, 0px, 0px);
  }
}
.box-cookies {
  background-color: transparent;
  color: white;
  padding: 30px 40px 28px 40px;
  line-height: 1.2;
  font-size: 17px;
  display: flex;
  align-items: center;
}
@media (max-width: 900px) {
  .box-cookies {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (max-width: 550px) {
  .box-cookies {
    padding-left: 10px;
    padding-right: 10px;
  }
}
.box-cookies .col1 {
  flex: 1 1 auto;
  margin-right: 20px;
}
.box-cookies .col1 .title {
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 6px;
}
.box-cookies .col1 .links {
  margin-top: 6px;
}
.box-cookies .col1 a {
  color: rgb(138, 223.8, 255);
  border-bottom: 2px solid transparent;
}
.box-cookies .col1 a:hover {
  text-decoration: none;
  border-bottom: 2px solid rgb(138, 223.8, 255);
}
.box-cookies .col2 {
  flex: 0 0 100px;
}
.box-cookies .col2 button {
  width: 100%;
}
@media (max-width: 550px) {
  .box-cookies .col2 {
    flex: 0 0 60px;
  }
}

footer {
  background-color: rgb(0, 127.38, 173.7);
}
@media print {
  footer {
    display: none;
  }
}

.box-footer {
  background-color: rgb(0, 127.38, 173.7);
  color: white;
  box-shadow: none;
  border: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 0px;
  margin-bottom: 0px;
  padding-top: 20px;
  padding-bottom: 20px;
}
.box-footer h2 {
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: 10px;
  margin-right: 10px;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.4;
  position: relative;
}
.box-footer a {
  color: white;
  text-decoration: none;
  display: inline-block;
  border-bottom: 2px solid transparent;
  padding-top: 0px;
  position: relative;
  top: -1px;
}
.box-footer a:hover, .box-footer a:focus {
  text-decoration: none;
}
.box-footer a:hover span, .box-footer a:focus span {
  border-bottom: 2px solid white;
}
@media (max-width: 900px) {
  .box-footer h2 {
    font-size: 15px;
  }
}

.inputFrame {
  position: relative;
  font-size: 1px;
  cursor: pointer;
}
.inputFrame .caption {
  position: relative;
  display: block;
  margin-left: 6px;
  margin-right: 6px;
  height: 7px;
  cursor: pointer;
}
.inputFrame label {
  padding-left: 2px;
  padding-right: 2px;
  color: rgb(132, 132, 132);
  background-color: white;
  border-radius: 4px;
  font-size: 14px;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
}
.inputFrame input {
  appearance: none;
  outline: none;
  border: 1px solid rgb(218, 218, 218);
  border-radius: 4px;
  box-sizing: border-box;
  display: block;
  padding: 2px 4px 0px 10px;
  font-size: 16px;
  line-height: 1.45;
  text-overflow: ellipsis;
  height: 41px;
  width: 100%;
  font-family: ubuntu, sans-serif;
  margin: 0px;
  transition: border-color 200ms, padding-top 100ms;
}
.inputFrame input:focus::selection {
  background: rgb(0, 119.9, 163.5);
  color: white;
}
.inputFrame .snake {
  position: absolute;
  z-index: 1;
  bottom: 0px;
  opacity: 0;
  height: 2px;
  left: 3px;
  right: 3px;
  transition: transform 200ms, opacity 100ms 100ms;
  transform: scaleX(0);
}
.inputFrame .snake.mark {
  background-color: rgb(199, 199, 199);
}
.inputFrame .snake.focus {
  background-color: rgb(0, 119.9, 163.5);
}
.inputFrame input:focus {
  padding-top: 6px;
  border-color: rgb(244, 244, 244);
}
.inputFrame input:focus ~ .snake.focus {
  opacity: 1;
  transform: scaleX(1);
  transition: transform 200ms, opacity 20ms;
}

body:not(.isTouchOnly) .inputFrame:hover input {
  border-color: rgb(244, 244, 244);
}
body:not(.isTouchOnly) .inputFrame:hover .snake.mark {
  opacity: 1;
  transform: scaleX(1);
  transition: transform 200ms, opacity 20ms;
}

.textareaFrame {
  margin-top: 15px;
  position: relative;
  font-size: 1px;
  cursor: pointer;
  max-width: 590px;
}
.textareaFrame .caption {
  position: relative;
  display: block;
  margin-left: 6px;
  margin-right: 6px;
  height: 7px;
  cursor: pointer;
}
.textareaFrame label {
  padding-left: 2px;
  padding-right: 2px;
  color: rgb(132, 132, 132);
  background-color: white;
  border-radius: 4px;
  font-size: 14px;
  white-space: nowrap;
  cursor: pointer;
}
.textareaFrame textarea {
  appearance: none;
  outline: none;
  border: 1px solid rgb(218, 218, 218);
  border-radius: 4px;
  box-sizing: border-box;
  display: block;
  overflow: hidden;
  padding: 9px 4px 4px 10px;
  font-size: 16px;
  line-height: 23px;
  width: 100%;
  font-family: ubuntu, sans-serif;
  margin: 0px;
  transition: border-color 200ms;
}
.textareaFrame textarea:focus::selection {
  background: rgb(0, 119.9, 163.5);
  color: white;
}
.textareaFrame textarea:focus {
  border-color: rgb(244, 244, 244);
}
.textareaFrame textarea:focus ~ .snake.focus {
  opacity: 1;
  transform: scaleX(1);
  transition: transform 200ms, opacity 20ms;
}
.textareaFrame .snake {
  position: absolute;
  z-index: 1;
  bottom: 0px;
  opacity: 0;
  height: 2px;
  left: 3px;
  right: 3px;
  transition: transform 200ms, opacity 100ms 100ms;
  transform: scaleX(0);
}
.textareaFrame .snake.mark {
  background-color: rgb(199, 199, 199);
}
.textareaFrame .snake.focus {
  background-color: rgb(0, 119.9, 163.5);
}

body:not(.isTouchOnly) .textareaFrame:hover textarea {
  border-color: rgb(244, 244, 244);
}
body:not(.isTouchOnly) .textareaFrame:hover .snake.mark {
  opacity: 1;
  transform: scaleX(1);
  transition: transform 200ms, opacity 20ms;
}

.kontaktMatrix {
  display: flex;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-top: -9px;
  max-width: 600px;
}
.kontaktMatrix .inputFrame {
  min-width: 250px;
  margin-top: 15px;
  margin-left: 10px;
  flex: 0 0 calc(50% - 10px);
}
@media (max-width: 550px) {
  .kontaktMatrix .inputFrame {
    flex: 1 1 100%;
    min-width: 50px;
  }
}

.siegel {
  width: 85px;
  height: 88px;
  overflow: hidden;
  background-color: rgb(244, 244, 244);
  border: 1px solid rgb(218, 218, 218);
  border-radius: 7px;
  color: rgb(33, 33, 33);
  font-family: sans-serif;
}
.siegel .item {
  display: flex;
  justify-content: center;
  text-align: center;
  align-items: center;
  background-color: rgb(0, 176, 240);
  color: white;
  font-size: 11px;
  font-weight: bold;
  line-height: 1;
  height: 32px;
}
.siegel .value {
  display: flex;
  justify-content: center;
  text-align: center;
  align-items: flex-end;
  height: 27px;
  font-size: 18px;
  text-shadow: 0px 0px 4px rgba(255, 255, 255, 0.7215686275);
}
.siegel .stars {
  text-align: center;
  height: 14px;
  font-size: 13px;
}
.siegel .stars span {
  overflow: hidden;
  height: 12px;
  line-height: 1;
  text-align: left;
}
.siegel .stars > span {
  background: url(../img/stars.gif) no-repeat 0px -12px;
  width: 64px;
  display: inline-block;
}
.siegel .stars > span > span {
  display: inline-block;
  background: url(../img/stars.gif) no-repeat 0px 0px;
}
.siegel .vilendo {
  display: flex;
  justify-content: center;
  text-align: center;
  align-items: flex-end;
  color: rgb(0, 176, 240);
  font-size: 10px;
  font-weight: bold;
  height: 13px;
}