@charset "UTF-8";
.uk-container {
  max-width: 1600px;
}

* + .uk-h1, * + .uk-h2, * + .uk-h3, * + .uk-h4, * + .uk-h5, * + .uk-h6, * + h1, * + h2, * + h3, * + h4, * + h5, * + h6 {
  margin-top: 4rem;
}

.uk-h1, .uk-h2, .uk-h3, .uk-h4, .uk-h5, .uk-h6, h1, h2, h3, h4, h5, h6 {
  margin: 0 0 0.5rem 0;
}

* + .uk-grid-margin, .uk-grid + .uk-grid, .uk-grid > .uk-grid-margin {
  margin-top: 0;
}

* + address, * + dl, * + fieldset, * + figure, * + ol, * + p, * + pre, * + ul {
  margin-top: 0;
}

address, dl, fieldset, figure, ol, p, pre, ul {
  margin: 0 0 0 0;
}

ol, ul {
  padding-left: 0;
}

/*uk-width-1-1@s schon bei 640px */
@media only screen and (max-width: 26.25em) {
  .uk-width-1-2 {
    width: 100% !important;
  }
  .uk-child-width-1-2 > * {
    width: 100% !important;
  }
}
/*
0 - 600px:      Phone
600 - 900px:    Tablet portrait
900 - 1200px:   Tablet landscape
[1200 - 1800] is where our normal styles apply
1800px + :      Big desktop
$breakpoint arguement choices:
- phone
- tab-port
- tab-land
- big-desktop
ORDER: Base + typography > general layout + grid > page layout > components
1em = 16px
*/
/*textfarbe Brotschrift*/
*,
*::after,
*::before {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

html {
  height: 100%;
  font-size: 62.5%;
}
@media only screen and (max-width: 75em) {
  html {
    font-size: 56.25%;
  }
}
body {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow-y: scroll;
  /*sticky footer*/
  /*height: 100%;
    display: grid;
    grid-template-rows: 1fr auto;*/
}
@media only screen and (max-width: 60em) {
  body {
    padding: 0;
  }
}
@media only screen and (max-width: 48em) {
  body {
    overflow-y: inherit;
  }
}

/*sticky footer*/
.wrapper::after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

/*footer{

}*/
.uk-container {
  max-width: 1600px;
}

/*::selection {
    background-color: $color-primary;
    color: $color-white;
}*/
a {
  color: #B52E28;
}

a:hover {
  color: #777;
  text-decoration: none;
}

/*********************************************************************
 * Accessibility helpers
 *
 */
/* Hide visually, but remain approachable for screenreader */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  white-space: nowrap;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  border: 0;
}

/* Show bypass link on hover */
.element-focusable:focus {
  clip: auto;
  overflow: visible;
  height: auto;
}

/* Sample styling for bypass link */
.bypass-to-main:focus {
  top: 0;
  left: 0;
  width: 100%;
  height: 40px;
  line-height: 40px;
  text-align: center;
  background: #333;
  color: #fff;
}

body {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  line-height: 1.7;
  color: rgb(41, 41, 41);
}

h1,
h2 {
  font-family: "Roboto", sans-serif;
  color: #B1B2B3;
  text-transform: uppercase;
  font-weight: 700;
}

h1 {
  font-size: 4.3rem;
}

h3,
h4,
h5 {
  color: #B52E28;
}

h2,
h3 {
  padding-bottom: 3%;
  font-size: 2.5rem;
  text-align: left;
  text-transform: inherit;
  color: #BFBFBF;
}

main.standort h2 {
  padding-bottom: 5px;
  margin-bottom: 0;
}
main.standort h3 {
  font-family: "Roboto", sans-serif;
  font-size: 1.7rem;
  padding-bottom: 0;
  margin-bottom: 0;
  color: #5B5B5B;
  font-weight: 700;
}
main.standort .right ul li {
  list-style: inherit;
}

@media only screen and (max-width: 40em) {
  h3 {
    font-size: 2rem;
  }
}

/*h1 right*/
.h1_right h1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  margin-bottom: 0;
  color: #B52E28;
}
.h1_right h1:before {
  content: "";
  display: block;
  margin-right: 5rem;
  width: calc(50% + 5rem);
  height: auto;
}
@media only screen and (max-width: 60em) {
  .h1_right h1 {
    display: block;
    font-size: 3rem;
    text-align: center;
    padding-bottom: 10px;
  }
}

.h1_right.color-haus h1:before {
  background-color: #B52E28;
}

.h1_right.color-grey-1 h1:before {
  background-color: #898989;
}

.color-grey-2 h1,
.color-grey-3 h1 {
  color: #B52E28;
}

form h3 {
  padding-top: 3%;
  padding-bottom: 10px;
}

h4 {
  color: #5B5B5B;
  font-size: 2rem;
}
@media only screen and (max-width: 48em) {
  h4 {
    padding-bottom: 25px;
  }
}

@media only screen and (max-width: 75em) {
  h1,
  h2,
  h2 + ul,
  h3,
  h3 + ul,
  h4,
  h4 + ul,
  p,
  p + ul {
    padding: 0 1%;
  }
}
table,
p,
#main ul {
  font-family: "Roboto", sans-serif;
  color: rgb(41, 41, 41);
  font-size: 1.7rem;
  /*strong{

    }*/
}

p {
  max-width: 80rem;
}

.margin_p p,
.margin_p ul,
.margin_ul p,
.margin_ul ul {
  margin-bottom: 1.6rem;
}
.margin_p ul,
.margin_ul ul {
  margin-top: -1.6rem;
}

.uppercase {
  text-transform: uppercase;
}

section ul li {
  margin-left: 1.6rem;
}

.start p {
  font-size: 2rem;
}

.long_text h3 {
  padding-bottom: 0;
  margin-top: 3rem;
  margin-bottom: 0.5rem;
  font-size: 2.2rem;
  color: #3A3A39;
  font-weight: 700;
}
.long_text h3:first-child {
  margin-top: 0;
}
.long_text p {
  margin-bottom: 2rem;
}

figcaption {
  font-size: 1.45rem;
  color: rgb(41, 41, 41);
}

.max_width_xl {
  max-width: 1900px;
  margin: 0 auto;
}

.max_width {
  max-width: 1600px;
  margin: 0 auto;
}

.max_width_l {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}

.max_width_m {
  max-width: 950px;
  width: 100%;
  margin: 0 auto;
}

.max_width100 {
  max-width: 100%;
}

.max-width--300 {
  max-width: 300px;
}

.max-width--800 {
  max-width: 800px;
}

.center {
  text-align: center;
}

.p_m p {
  margin-bottom: 3rem;
}

p em {
  font-size: 90%;
  color: inherit;
  font-style: inherit;
}

.grid {
  display: -ms-grid;
  display: grid;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.flex--center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.row-reverse-from-ipad {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media only screen and (max-width: 48em) {
  .row-reverse-from-ipad {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.flex__wrapper-1-2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.flex__wrapper-1-2 > * {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 50%;
          flex: 1 0 50%;
  max-width: 50%;
}
@media only screen and (max-width: 48em) {
  .flex__wrapper-1-2 > * {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 100%;
            flex: 1 0 100%;
    max-width: 100%;
  }
}

.child_right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media only screen and (max-width: 75em) {
  .child_right {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.hausfarbe,
.hausfarbe h1,
.hausfarbe h2 {
  color: #B52E28;
}

.color-haus-1 {
  background-color: #5B5B5B !important;
}

.color-grey {
  background-color: #3A3A39;
}

.color-grey-0 {
  background-color: #B1B2B3;
}

.color-grey-01 {
  background-color: #cccccc !important;
}

.color-grey-1 {
  background-color: #898989 !important;
}

.color-grey-2 {
  background-color: #BFBFBF;
}

.color-grey-3 {
  background-color: #EBEBEB;
}

.color-grey-map {
  background-color: #C5C6C6;
}

.color-grey-berlin {
  background-color: #D9DADA;
}

.border--right3 {
  border-right: 3rem solid #fff;
}

.small {
  font-size: 15px;
}

.smaller {
  font-size: 14px;
}

.pt_1 {
  padding-top: 1rem;
}

.pt_2 {
  padding-top: 2rem;
}

.pt_3 {
  padding-top: 3rem;
}

.pt_4 {
  padding-top: 4rem;
}

.pt_5 {
  padding-top: 5rem;
}

.pt_6 {
  padding-top: 6rem;
}

.pt_7 {
  padding-top: 7rem;
}

.pb_1 {
  padding-bottom: 1rem;
}

.pb_2 {
  padding-bottom: 2rem;
}

.pb_3 {
  padding-bottom: 3rem;
}

.pb_4 {
  padding-bottom: 4rem;
}

.pb_5 {
  padding-bottom: 5rem;
}

.pb_6 {
  padding-bottom: 6rem;
}

.pb_7 {
  padding-bottom: 7rem;
}

.mr-0 {
  margin-right: 0 !important;
}

.p-mr-1 p {
  margin-right: 1rem;
}

.alert--page {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100vh;
  top: 0;
  left: 0;
  right: 0;
  z-index: 201;
  background-color: transparent;
}
.alert--page figure {
  position: relative;
}
.alert--page figure a.job_link {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 55px;
  display: block;
  z-index: 99;
}
.alert--page .uk-alert-close {
  opacity: 1;
}
.alert--page svg {
  width: 36px;
}
.alert--page svg line {
  stroke: rgb(1, 1, 1) !important;
  color: rgb(1, 1, 1) !important;
  fill: #111;
}
.alert--page .fff svg line {
  stroke: rgb(255, 255, 255) !important;
  color: rgb(255, 255, 255) !important;
  fill: #fff;
}
@media (orientation: landscape) {
  .alert--page img {
    height: 100%;
    max-height: 100vh;
    width: auto;
  }
}

.form.flex div.Inputfields fieldset {
  font-size: 0;
  border: none;
  width: 100%;
  background-color: #B52E28;
  background-image: url(/site/templates/assets/img/one.svg);
  background-repeat: no-repeat;
  background-position: 35% center;
  background-size: auto 300px;
  border-bottom: 5px solid #fff;
}
@media only screen and (max-width: 60em) {
  .form.flex div.Inputfields fieldset {
    background-position: 25% center;
    background-size: auto 200px;
  }
}
@media only screen and (max-width: 48em) {
  .form.flex div.Inputfields fieldset {
    background-image: none;
  }
}
.form.flex div.Inputfields fieldset.Inputfield_wrapper_1 {
  background-image: url(/site/templates/assets/img/two.svg);
}
.form.flex div.Inputfields fieldset.Inputfield_wrapper_2 {
  background-image: url(/site/templates/assets/img/three.svg);
  border-bottom: 5px solid #B52E28;
}
.form.flex div.Inputfields fieldset > legend {
  font-size: 0;
}
.form.flex div.Inputfields fieldset input[type=text],
.form.flex div.Inputfields fieldset input[type=email],
.form.flex div.Inputfields fieldset input[type=checkbox],
.form.flex div.Inputfields fieldset .InputfieldSelect .InputfieldContent,
.form.flex div.Inputfields fieldset textarea,
.form.flex div.Inputfields fieldset select.uk-select,
.form.flex div.Inputfields fieldset select,
.form.flex div.Inputfields fieldset .InputfieldContent .InputfieldFormBuilderFile .InputfieldContent {
  border: 1px solid #BFBFBF;
  background-color: #EBEBEB;
}
.form.flex div.Inputfields fieldset select {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 40px;
  border: none;
  font-size: 1.6rem;
  /*option{

        }*/
}
.form.flex div.Inputfields fieldset .InputfieldContent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.form.flex div.Inputfields fieldset .InputfieldMarkup .InputfieldContent {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  font-size: 2.5rem;
  font-weight: 700;
  font-family: "Roboto Condensed", sans-serif;
  color: #5B5B5B;
}
.form.flex div.Inputfields fieldset .Inputfields {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: calc(50% - 5rem);
  background-color: #fff;
  border-bottom: 5px solid #B52E28;
  margin-bottom: -5px;
  padding: 5px 0 5px 5rem;
}
@media only screen and (max-width: 48em) {
  .form.flex div.Inputfields fieldset .Inputfields {
    width: 100%;
    padding: 5px 0;
  }
}
.form.flex div.Inputfields fieldset .Inputfields > div {
  -ms-flex-preferred-size: 47%;
      flex-basis: 47%;
  max-width: 47%;
  margin-bottom: 4px;
  padding-bottom: 7px;
}
.form.flex div.Inputfields fieldset .Inputfields div.InputfieldMarkup,
.form.flex div.Inputfields fieldset .Inputfields div.InputfieldCheckboxes,
.form.flex div.Inputfields fieldset .Inputfields ul.InputfieldCheckboxesStacked,
.form.flex div.Inputfields fieldset .Inputfields div.InputfieldFormBuilderFile {
  max-width: 100%;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
}
.form.flex div.Inputfields fieldset .Inputfields ul.InputfieldCheckboxesStacked {
  width: 100%;
}
.form.flex div.Inputfields fieldset .InputfieldMarkup label {
  display: none;
}
.form.flex select:not([multiple]):not([size]),
.form.flex .uk-select:not([multiple]):not([size]) {
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 20px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
  background-repeat: no-repeat;
  background-position: 100% 50%;
}
.form.flex label,
.form.flex .uk-form-label {
  color: #333;
  margin-bottom: 0;
  font-size: 1.5rem;
  font-family: "Roboto Condensed", sans-serif;
}
.form.flex ul.InputfieldCheckboxesStacked,
.form.flex ul.InputfieldFormBuilderFileList {
  list-style: none;
  /*ul.InputfieldFormBuilderFileList{


      }*/
}
.form.flex ul.InputfieldCheckboxesStacked li,
.form.flex ul.InputfieldFormBuilderFileList li {
  padding: 10px 0;
}
.form.flex ul.InputfieldCheckboxesStacked label,
.form.flex ul.InputfieldFormBuilderFileList label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
.form.flex ul.InputfieldCheckboxesStacked input[type=checkbox],
.form.flex ul.InputfieldFormBuilderFileList input[type=checkbox] {
  width: 30px;
  -ms-flex-preferred-size: 30px;
      flex-basis: 30px;
  height: 30px;
  margin-right: 15px;
  -webkit-appearance: none;
  border: 1px solid #cacece;
  padding: 0;
  border-radius: 0;
  display: inline-block;
  position: relative;
}
.form.flex ul.InputfieldCheckboxesStacked input[type=checkbox]:checked, .form.flex ul.InputfieldCheckboxesStacked input[type=checkbox].uk-checkbox:checked,
.form.flex ul.InputfieldFormBuilderFileList input[type=checkbox]:checked,
.form.flex ul.InputfieldFormBuilderFileList input[type=checkbox].uk-checkbox:checked {
  background-color: #B52E28;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23fff%22%20points%3D%2212%201%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
  background-repeat: no-repeat;
  background-position: center center;
}
.form.flex .InputfieldRadios .InputfieldContent {
  -webkit-box-align: start !important;
      -ms-flex-align: start !important;
          align-items: flex-start !important;
}
.form.flex .InputfieldRadios .InputfieldRadiosStacked label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 5px;
}
.form.flex .InputfieldRadios .InputfieldRadiosStacked label input {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 100%;
          flex: 1 0 100%;
  padding: 6px;
  max-width: 15px;
  height: 15px;
  position: relative;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 50%;
  border: 3px solid #B1B2B3;
  /*&::before{
    content: "";
    position: absolute;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: $color-haus;
    opacity: 1;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
  }

  &::after{
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: blue;
    opacity: 0;
    top: 50%;
    transform: translateY(-50%);
    left: 8px;
  }

  input{
    display: none;
  }*/
}
.form.flex .InputfieldRadios .InputfieldRadiosStacked label input:checked {
  border: 3px solid #B52E28;
}
.form.flex .InputfieldRadios .InputfieldRadiosStacked label span {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
}
.form.flex .InputfieldFormBuilderFile .InputfieldContent {
  -webkit-box-align: start !important;
      -ms-flex-align: start !important;
          align-items: flex-start !important;
  padding-left: 10px;
}
.form.flex .InputfieldFormBuilderFile li.InputfieldFormBuilderFileUpload {
  padding: 0;
}
.form.flex .InputfieldFormBuilderFile li.InputfieldFormBuilderFileUpload .uk-margin-small-top,
.form.flex .InputfieldFormBuilderFile li.InputfieldFormBuilderFileUpload .uk-margin-small-right {
  margin-top: 0 !important;
  margin-right: 0 !important;
}
.form.flex .InputfieldFormBuilderFile li.InputfieldFormBuilderFileUpload input {
  width: 100%;
  height: 100%;
  border: none;
}
.form.flex div.InputfieldSubmit {
  background-color: #B52E28;
}
.form.flex div.InputfieldSubmit .InputfieldContent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.form.flex div.InputfieldSubmit .InputfieldContent button {
  width: calc(50% - 5rem);
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  font-size: 2.5rem;
}
.form.flex div.InputfieldSubmit .InputfieldContent button:hover {
  text-decoration: underline;
}
@media only screen and (max-width: 48em) {
  .form.flex div.InputfieldSubmit .InputfieldContent button {
    width: calc(100% - 5rem);
  }
}

form div.Inputfields {
  /*display: grid;
      grid-template-rows: auto auto auto auto;
      grid-template-columns: minmax(15rem, auto) minmax(15rem, auto);
      grid-template-areas: 
          "topleft topright" 
          "middle middle"
          "bottom ."
          ;
      grid-gap: 35px;*/
  font-size: 1.6rem;
}
@media only screen and (max-width: 48em) {
  form div.Inputfields {
    -ms-grid-columns: auto;
    grid-template-columns: auto;
    -ms-grid-rows: auto 20px auto 20px auto 20px auto;
        grid-template-areas: "topleft" "topright" "middle" "bottom";
    grid-gap: 20px;
  }
}
form div.Inputfields .Inputfield_name_1 {
  grid-area: topleft;
}
form div.Inputfields .InputfieldEmail {
  grid-area: topright;
}
form div.Inputfields .InputfieldTextarea {
  grid-area: middle;
}
form div.Inputfields .InputfieldSubmit {
  grid-area: bottom;
}
form div.Inputfields .InputfieldSubmit button {
  padding: 5px 10px;
  border: none;
  font-size: 1.6rem;
  background-color: #B52E28;
  color: #fff;
  cursor: pointer;
  font-family: "Roboto", sans-serif;
}
form div.Inputfields .InputfieldSubmit button:hover {
  background-color: #B1B2B3;
}
form div.Inputfields input,
form div.Inputfields textarea {
  width: calc(100% - 6px);
  padding: 10px 1px 10px 5px;
  border: 1px solid #898989;
  font-size: 1.6rem;
  font-family: "Roboto", sans-serif;
}
form div.Inputfields .Inputfield_spider {
  display: none;
}

.FormBuilderErrors {
  margin: 25px 0;
}

.error {
  padding: 0 10px;
  margin-bottom: 5px;
  color: #fff;
  background-color: red;
  text-align: center;
  font-family: "Courier New", Courier, monospace;
  font-weight: 700;
}

.mod_form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 2rem;
  padding-left: calc(30% + 2px);
}
.mod_form form {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 1.3rem;
  background: #fff;
  margin-top: 0.5rem;
}
.mod_form form input {
  height: 2.5rem !important;
  line-height: 2.5rem;
}

div.kontaktform h2 {
  color: #3A3A39;
}
div.kontaktform form#FormBuilder_kontaktformular .Inputfields {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  text-align: left;
}
div.kontaktform form#FormBuilder_kontaktformular .Inputfields > div {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 48%;
          flex: 0 0 48%;
  margin-bottom: 0.5rem;
}
div.kontaktform form#FormBuilder_kontaktformular .Inputfields > div input,
div.kontaktform form#FormBuilder_kontaktformular .Inputfields > div textarea {
  border: 1px solid #898989;
  font-size: 1.6rem;
  font-family: "Roboto", sans-serif;
  background-color: #EBEBEB;
}
div.kontaktform form#FormBuilder_kontaktformular .Inputfields > div textarea {
  max-height: 105px;
}
div.kontaktform form#FormBuilder_kontaktformular .Inputfields > div.InputfieldTextarea, div.kontaktform form#FormBuilder_kontaktformular .Inputfields > div.InputfieldSubmit {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
}
div.kontaktform form#FormBuilder_kontaktformular .Inputfields > div.InputfieldSubmit {
  margin-bottom: 0;
}
div.kontaktform form#FormBuilder_kontaktformular .Inputfields > div.InputfieldSubmit button {
  width: 100%;
  padding: 1rem;
}

aside form.uk-search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
  width: 70%;
}
aside form.uk-search .uk-search-icon {
  color: #fff;
}
aside form.uk-search input.uk-search-input {
  color: #fff !important;
  font-size: 1.7rem;
}

.gardine a {
  position: relative;
  display: block;
}
.gardine a:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #B52E28;
  opacity: 0;
  z-index: 100;
}
.gardine a.a:after {
  background-color: #B52E28;
}
.gardine a.b:after {
  background-color: #4AA47E;
}
.gardine a.c:after {
  background-color: #073D83;
}
.gardine a.d:after {
  background-color: #073D83;
}
.gardine a.e:after {
  background-color: #073D83;
}
.gardine a.f:after {
  background-color: #073D83;
}
.gardine a.g:after {
  background-color: #FCC900;
}
.gardine a.h:after {
  background-color: #0093C9;
}
.gardine a.i:after {
  background-color: #0093C9;
}
.gardine a.j:after {
  background-color: #FDAE49;
}
.gardine a.k:after {
  background-color: #073D83;
}
.gardine a:hover:after {
  opacity: 0.85;
}

figure.image_bw figcaption,
figure.image_bw_jpg figcaption,
figure.gardine figcaption {
  padding-top: 5px;
  text-align: center;
  text-transform: uppercase;
  font-size: 1.6rem;
  line-height: 2rem;
  /*a{
      text-align: center;

      &:after{
          content: '';
          background-color: #fff;
      }
  }*/
}

.image_bw {
  -webkit-filter: grayscale(1);
  filter: grayscale(1);
}
.image_bw.color {
  -webkit-filter: none;
  filter: none;
}
.image_bw a img[src$=".jpg"],
.image_bw img[src$=".jpg"],
.image_bw a img[src$=".jpeg"],
.image_bw img[src$=".jpeg"],
.image_bw a img[src$=".png"],
.image_bw img[src$=".png"] {
  -webkit-filter: grayscale(1);
  filter: grayscale(1);
}
.image_bw.color a img[src$=".jpg"],
.image_bw.color img[src$=".jpg"],
.image_bw.color a img[src$=".jpeg"],
.image_bw.color img[src$=".jpeg"],
.image_bw.color a img[src$=".png"],
.image_bw.color img[src$=".png"] {
  -webkit-filter: none;
  filter: none;
}

.image_bw_jpg a img[src$=".jpg"],
.image_bw_jpg img[src$=".jpg"],
.image_bw_jpg a img[src$=".jpeg"],
.image_bw_jpg img[src$=".jpeg"] {
  -webkit-filter: grayscale(1);
  filter: grayscale(1);
}

.quadrofilter img:nth-child(2) {
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
}
.quadrofilter img:nth-child(3) {
  -webkit-filter: grayscale(100%) brightness(174%) saturate(149%) contrast(67%) invert(17%);
          filter: grayscale(100%) brightness(174%) saturate(149%) contrast(67%) invert(17%);
}
.quadrofilter img:last-child {
  -webkit-filter: grayscale(100%) brightness(282%) saturate(18%) contrast(95%) invert(15%);
          filter: grayscale(100%) brightness(282%) saturate(18%) contrast(95%) invert(15%);
}

.aspect.right figure {
  max-height: none !important;
}
.aspect.right figure img {
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.owl-nav {
  display: none;
}

.owl-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 2rem;
  background-color: #fff;
}
.owl-dots button.owl-dot {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 10px;
  width: 24px;
  height: 24px;
  background-color: #fff;
}
.owl-dots button.owl-dot span {
  display: block;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  border: 2px solid #898989;
}
.owl-dots button.owl-dot span:hover {
  background-color: #fff;
  border: 2px solid #B1B2B3;
}
.owl-dots button.owl-dot.active {
  background-color: #B52E28;
}
.owl-dots button.owl-dot.active span {
  border: none;
}

body.safari .owl-dots button.owl-dot span {
  min-height: 20px;
}

/*.small-owl-dots{
  .owl-dots{
     height: 3rem;

      button.owl-dot{
          margin: 0 5px;
          width: 30px;
          height: 5px;
          background-color: $color-grey-1;

          &:hover{
              background-color: $color-grey-0;
          }

          &.active{
              background-color: $color-haus;
          }
      }
  }

}*/
ul.gallery {
  list-style: none;
  display: -ms-grid;
  display: grid;
  /*grid-template-rows: 1fr 1fr; 
  grid-template-columns: 1fr 1fr 1fr;*/
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  grid-gap: 3rem;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  /*@include respond(ipad) {
      grid-template-columns: repeat( 2, minmax(50px, 1fr) );
  }

  @include respond(iphone) {
      grid-template-columns: repeat( 1, minmax(150px, 1fr) );
  }*/
}
ul.gallery figure.gallery_item img {
  display: block;
  width: 100%;
}
ul.gallery figure {
  position: relative;
}
ul.gallery figcaption {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.95);
  width: 100%;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease-in-out;
  transition: opacity 0.5s ease-in-out;
  text-align: center;
}
ul.gallery figcaption:hover {
  opacity: 1;
}
ul.gallery figcaption a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

ul.gallery-single {
  list-style: none;
  text-align: center;
}
ul.gallery-single li {
  margin-bottom: 5%;
}

td {
  padding: 5px 0;
  vertical-align: top;
  line-height: 1.4;
}
td p, td ul {
  margin-top: 0 !important;
  margin-bottom: 0;
  padding-right: 3rem;
  vertical-align: top;
  line-height: 1.4;
}
td:first-child {
  padding-right: 10px;
}

.warengruppe table {
  border-collapse: separate;
  border-spacing: 0.5rem;
  line-height: 1.2;
}
.warengruppe table thead {
  text-align: left;
}
.warengruppe table thead th {
  padding: 1rem;
}
.warengruppe table tr:hover td {
  background-color: #E7E7E7;
}
.warengruppe table tr:hover td.last-child {
  background-color: inherit;
}
.warengruppe table td {
  padding: 1rem;
  border: 5px solid #C02221;
  background-color: transparent;
}
.warengruppe table td.last-child {
  border: 5px solid #E7E7E7 !important;
}
.warengruppe table tr.c td {
  border-color: #073D83;
}
.warengruppe table tr.j td {
  border-color: #FDAE49;
}

#timed-overlay {
  z-index: 200;
  position: fixed !important;
  min-height: 100vh;
  background-color: rgba(0, 128, 0, 0.85) !important;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 10;
  margin-top: calc(180px + 3% + 1px);
  /*.uk-position-center {
    top: 30% !important;
  }*/
}
#timed-overlay .content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  max-width: 100%;
}
#timed-overlay .content p {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
@media only screen and (max-width: 75em) {
  #timed-overlay {
    margin-top: calc(173.5px + 3% - 10px);
  }
}
@media only screen and (max-width: 48em) {
  #timed-overlay {
    margin-top: 160px;
  }
}
#timed-overlay img {
  max-width: 950px;
  width: 100%;
  height: auto;
}
#timed-overlay h2 {
  font-size: 8rem;
  color: #fff;
}

/*
#test{
  background-color: rgba(0,128,0,.85) !important;
  padding: 3rem;
  position: fixed;
  z-index: 100;
  height: 100vh;
  width: 100vh;
  animation: fade 5s ease-in-out forwards 1; 

  @keyframes fade{
    0%{
        z-index: 100;
        opacity: 0;
    }

    33%{
        opacity: 1;
    }

    77%{
        opacity: 1;
    }

    100%{
        z-index: -1;
        opacity: 0;
    }
}


  h2{
    background-color: transparent;
    text-align: center;
  }

}*/
.privacywire {
  background-color: #ddd !important;
  bottom: 0;
  -webkit-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.5);
          box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.5);
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  max-width: 600px;
  left: 0;
  opacity: 0;
  padding: 1rem;
  position: fixed;
  -webkit-transition: bottom 0.3s ease-in, opacity 0.3s ease;
  transition: bottom 0.3s ease-in, opacity 0.3s ease;
  z-index: 1;
}
.privacywire .privacywire-header {
  font-size: 2rem;
  font-family: "Roboto Condensed", sans-serif;
  line-height: 3rem;
}
.privacywire .privacywire-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 1rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.privacywire .privacywire-buttons button {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border: none;
  padding: 5px 10px;
  font-size: 1.6rem;
  background-color: #B52E28;
  color: #fff;
  cursor: pointer;
  font-family: "Roboto", sans-serif;
}
.privacywire .privacywire-buttons button:hover {
  cursor: pointer;
  color: #B52E28;
  background-color: #fff;
}

.privacywire-ask-consent.consent-category-functional {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.privacywire-ask-consent.consent-category-functional button.privacywire-consent-button {
  width: 100%;
  max-width: 20rem;
  border: none;
  margin-top: 1rem;
  cursor: pointer;
  font-size: 0;
  font-family: "Roboto", sans-serif;
}
.privacywire-ask-consent.consent-category-functional button.privacywire-consent-button::after {
  content: "Funktionelle Cookies";
  display: block;
  padding: 10px;
  background-color: #B52E28;
  color: #fff;
  font-size: 1.6rem;
}
.privacywire-ask-consent.consent-category-functional button.privacywire-consent-button:hover::after {
  cursor: pointer;
  color: #B52E28;
  background-color: #fff;
}

.flex_child {
  width: 100%;
  max-width: 50%;
}
@media only screen and (max-width: 75em) {
  .flex_child {
    max-width: 60%;
  }
}
@media only screen and (max-width: 60em) {
  .flex_child {
    max-width: 100%;
  }
}

strong.uk-icon {
  margin-right: 5px;
}
strong.uk-icon svg {
  width: 17px;
  height: 17px;
}
strong.uk-icon svg[data-svg=mail] path {
  fill: #000;
}

.zertifikate .zertifikate_item,
.mitgliedschaften .zertifikate_item,
.kultur-soziales .zertifikate_item {
  position: relative;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin-bottom: 3rem;
}
.zertifikate .zertifikate_item:before,
.mitgliedschaften .zertifikate_item:before,
.kultur-soziales .zertifikate_item:before {
  content: "";
  display: block;
  height: 100%;
  width: calc(50% - 5rem);
  position: absolute;
  left: 0;
  top: 0;
  background-color: #EBEBEB;
  z-index: -1;
}
@media only screen and (max-width: 75em) {
  .zertifikate .zertifikate_item:before,
  .mitgliedschaften .zertifikate_item:before,
  .kultur-soziales .zertifikate_item:before {
    width: 100%;
  }
}
.zertifikate .zertifikate_item > section,
.mitgliedschaften .zertifikate_item > section,
.kultur-soziales .zertifikate_item > section {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  max-width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.zertifikate .zertifikate_item > section.right,
.mitgliedschaften .zertifikate_item > section.right,
.kultur-soziales .zertifikate_item > section.right {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding-right: 5rem;
}
.zertifikate .zertifikate_item > section.right figure,
.mitgliedschaften .zertifikate_item > section.right figure,
.kultur-soziales .zertifikate_item > section.right figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-right: 5rem;
  max-height: 250px;
}
.zertifikate .zertifikate_item > section.right figure.height-auto,
.mitgliedschaften .zertifikate_item > section.right figure.height-auto,
.kultur-soziales .zertifikate_item > section.right figure.height-auto {
  max-height: inherit;
}
.zertifikate .zertifikate_item > section.right figure img[src*=png],
.mitgliedschaften .zertifikate_item > section.right figure img[src*=png],
.kultur-soziales .zertifikate_item > section.right figure img[src*=png] {
  max-height: 250px;
  width: auto;
}
@media only screen and (max-width: 75em) {
  .zertifikate .zertifikate_item > section,
  .mitgliedschaften .zertifikate_item > section,
  .kultur-soziales .zertifikate_item > section {
    max-width: 100%;
  }
}
@media only screen and (max-width: 75em) {
  .zertifikate .zertifikate_item,
  .mitgliedschaften .zertifikate_item,
  .kultur-soziales .zertifikate_item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.mitgliedschaften .zertifikate_item:before {
  background-color: transparent;
}
@media only screen and (max-width: 75em) {
  .mitgliedschaften .flex_child {
    max-width: 100%;
  }
  .mitgliedschaften .zertifikate_item > section {
    max-width: 100%;
  }
  .mitgliedschaften .zertifikate_item > section.right {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .mitgliedschaften .zertifikate_item > section.right figure {
    text-align: inherit;
    margin-right: inherit;
  }
  .mitgliedschaften .zertifikate_item > section.right figure img {
    max-width: 100%;
  }
}

main.kontakt .kontaktform {
  padding-left: calc(50% + 1rem);
}

.text_images p img {
  padding: 1rem;
  padding-left: 0;
}

#main tr.color td strong, #main tr.color td {
  color: #B52E28;
}

#main.a h1, #main.a p.link_parent a, #main.a tr.color td strong, #main.a tr.color td {
  color: #C02221;
}
#main.a .owl-dots button.owl-dot.active {
  background-color: #C02221;
}

#main.b h1, #main.b p.link_parent a, #main.b tr.color td strong, #main.b tr.color td {
  color: #4AA47E;
}
#main.b .owl-dots button.owl-dot.active {
  background-color: #4AA47E;
}

#main.c h1, #main.c p.link_parent a, #main.c tr.color td strong, #main.c tr.color td {
  color: #073D83;
}
#main.c .owl-dots button.owl-dot.active {
  background-color: #073D83;
}

#main.d h1, #main.d p.link_parent a, #main.d tr.color td strong, #main.d tr.color td {
  color: #073D83;
}
#main.d .owl-dots button.owl-dot.active {
  background-color: #073D83;
}

#main.e h1, #main.e p.link_parent a, #main.e tr.color td strong, #main.e tr.color td {
  color: #073D83;
}
#main.e .owl-dots button.owl-dot.active {
  background-color: #073D83;
}

#main.f h1, #main.f p.link_parent a, #main.f tr.color td strong, #main.f tr.color td {
  color: #073D83;
}
#main.f .owl-dots button.owl-dot.active {
  background-color: #073D83;
}

#main.g h1, #main.g p.link_parent a, #main.g tr.color td strong, #main.g tr.color td {
  color: #FCC900;
}
#main.g .owl-dots button.owl-dot.active {
  background-color: #FCC900;
}

#main.h h1, #main.h p.link_parent a, #main.h tr.color td strong, #main.h tr.color td {
  color: #0093C9;
}
#main.h .owl-dots button.owl-dot.active {
  background-color: #0093C9;
}

#main.i h1, #main.i p.link_parent a, #main.i tr.color td strong, #main.i tr.color td {
  color: #0093C9;
}
#main.i .owl-dots button.owl-dot.active {
  background-color: #0093C9;
}

#main.j h1, #main.j p.link_parent a, #main.j tr.color td strong, #main.j tr.color td {
  color: #FDAE49;
}
#main.j .owl-dots button.owl-dot.active {
  background-color: #FDAE49;
}

#main.k h1, #main.k p.link_parent a, #main.k tr.color td strong, #main.k tr.color td {
  color: #073D83;
}
#main.k .owl-dots button.owl-dot.active {
  background-color: #073D83;
}

header {
  padding-top: 3%;
  margin-bottom: 10px;
  background-color: #fff;
}
header.uk-sticky-fixed {
  border-bottom: 1px solid #ccc;
}
@media only screen and (max-width: 48em) {
  header {
    padding-top: 0;
  }
}
header .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
}
header .grid {
  height: 100%;
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 50% 50%;
  grid-template-rows: 50% 50%;
  -ms-grid-columns: minmax(20rem, 28%) 1fr;
  grid-template-columns: minmax(20rem, 28%) 1fr;
      grid-template-areas: "topleft topright" "topleft topright";
}
@media only screen and (max-width: 48em) {
  header .grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
header .logo-inner {
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-item-align: end;
      align-self: flex-end;
  -webkit-transition: opacity ease-in-out 1200ms;
  transition: opacity ease-in-out 1200ms;
}
header .logo-inner.random {
  position: absolute;
  right: auto;
  opacity: 0;
}
header .logo-inner.random a {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.6rem;
}
@media only screen and (max-width: 48em) {
  header .logo-inner.random a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
header .logo-inner.random span {
  color: #1c9c4b;
  font-size: 2.5rem;
  letter-spacing: 0.3rem;
  text-transform: uppercase;
  padding-top: 10px;
}
header .logo-inner a {
  display: block;
}
@media only screen and (max-width: 48em) {
  header .logo-inner {
    -ms-flex-item-align: start;
        align-self: flex-start;
  }
}
header .show-random-logo .logo-inner:not(.random) {
  opacity: 0;
}
header .show-random-logo .logo-inner.random {
  opacity: 1;
}
header .inner {
  position: relative;
}
header nav {
  grid-area: topright;
}
@media only screen and (max-width: 48em){
  form div.Inputfields .Inputfield_name_1 {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  form div.Inputfields .InputfieldEmail {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  form div.Inputfields .InputfieldTextarea {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
  }
  form div.Inputfields .InputfieldSubmit {
    -ms-grid-row: 7;
    -ms-grid-column: 1;
  }
  header nav {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
}

.logo {
  position: relative;
}
nav ul li {
  list-style: none;
}

nav.topnav {
  position: relative;
  padding-top: 2.5rem;
  background-color: #fff;
  border-bottom: 2px solid #fff;
}
@media only screen and (max-width: 48em) {
  nav.topnav {
    display: none;
  }
}
nav.topnav ul {
  height: 100%;
  width: 100%;
  font-size: 2rem;
  text-align: center;
  text-transform: uppercase;
}
nav.topnav ul li {
  position: relative;
  display: inline-block;
  height: 100%;
  border-bottom: 2px solid #fff;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0.9%;
  padding: 0 0.9%;
  list-style: none;
  font-family: "Roboto", sans-serif;
}
@media only screen and (max-width: 60em) {
  nav.topnav ul li {
    margin: 0 0.7%;
    padding: 0 0.7%;
  }
}
nav.topnav ul li span,
nav.topnav ul li a {
  display: block;
  text-align: center;
  color: #898989;
}
nav.topnav ul li span:hover,
nav.topnav ul li a:hover {
  text-decoration: none;
}
nav.topnav ul li.current, nav.topnav ul li.parent, nav.topnav ul li:hover {
  border-bottom: 2px solid #B52E28;
}
nav.topnav ul li.parent {
  font-weight: 700;
}
nav.topnav ul li.karriere > a {
  color: #B52E28;
}
nav.topnav ul li ul {
  /**/
  visibility: hidden;
  opacity: 0;
  display: none;
  padding: 12px 0 0 0;
  border-bottom: 1px solid #BFBFBF;
  border-top: none;
  background-color: #fff;
  height: auto;
  position: absolute;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  width: 30rem;
  left: -7.5rem;
  z-index: 1001;
}
nav.topnav ul li ul li {
  display: block;
  margin: 0;
  padding: 5px 0;
  border: 1px solid #BFBFBF;
  border-bottom: none;
  font-weight: 400 !important;
}
nav.topnav ul li ul li:hover {
  border-bottom: none;
}
nav.topnav ul li ul li:hover a {
  color: #BFBFBF;
}
nav.topnav ul li ul li:last-child {
  border-bottom: none;
}
nav.topnav ul li ul li.current {
  font-weight: 700 !important;
}
nav.topnav ul li ul li.current a {
  color: #777;
}
nav.topnav ul li ul li.current:hover {
  border-bottom: 2px solid #B52E28;
}
nav.topnav ul li:hover ul {
  visibility: visible;
  opacity: 1;
  display: block;
}
nav.topnav ul li.leistungen ul.level_2,
nav.topnav ul li.referenzen ul.level_2,
nav.topnav ul li.zertifikate ul.level_2 {
  display: none !important;
}

nav.nav_right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-preferred-size: 275px;
      flex-basis: 275px;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media only screen and (max-width: 75em) {
  nav.nav_right {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media only screen and (max-width: 48em) {
  nav.nav_right {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
nav.nav_right ul li {
  font-family: "Roboto", sans-serif;
  text-transform: uppercase;
  margin-bottom: 3px;
}
nav.nav_right ul li a {
  padding: 5px 0 5px 30px;
  font-size: 1.7rem;
  display: block;
  color: #898989;
}
nav.nav_right ul li a span {
  text-transform: none;
}
nav.nav_right ul li.featured a {
  color: #3A3A39;
  border-left: 3px solid #3A3A39;
  font-weight: bold;
}
nav.nav_right ul li.featured a:hover {
  border-color: #B52E28;
  color: #B52E28;
}
nav.nav_right ul li.current.featured a {
  border-color: #B52E28;
  color: #B52E28;
  font-weight: bold !important;
}
nav.nav_right ul li.margin_bottom {
  margin-bottom: 2rem;
}
nav.nav_right ul > * > a {
  border-left: 3px solid #BFBFBF;
}
nav.nav_right ul > * > a:hover {
  border-color: #B52E28;
  color: #B52E28;
  text-decoration: none;
}
nav.nav_right ul > .current > a {
  border-color: #B52E28;
  color: #111;
}
@media only screen and (max-width: 48em) {
  nav.nav_right ul {
    display: block;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-bottom: 20px;
  }
  nav.nav_right ul li {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin-bottom: 10px;
  }
  nav.nav_right ul li a {
    padding: 0 5px;
    margin: 0 5px;
    font-size: 1.7rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  nav.nav_right ul > * > a {
    border-left: none;
    border-right: 3px solid #BFBFBF;
  }
  nav.nav_right ul > * > a:hover {
    border-color: #B52E28;
    color: #B52E28;
    text-decoration: none;
  }
}

main.standort nav.nav_right li:last-child a {
  color: #5B5B5B;
}
main.standort.anfahrt nav.nav_right {
  -ms-flex-preferred-size: 275px;
      flex-basis: 275px;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

#main #page_nav_wrapper p.link_parent {
  position: relative;
  text-transform: uppercase;
  font-size: 1.7rem;
}
#main #page_nav_wrapper p.link_parent a {
  color: #898989;
  display: block;
  text-align: center;
  padding-left: 7px;
}
#main #page_nav_wrapper p.link_parent a:hover {
  color: #B52E28;
}
#main #page_nav_wrapper p.link_parent a:before {
  content: "‹";
  position: absolute;
  top: -5.5rem;
  left: calc(50% + 5px);
  right: 50%;
  margin-right: auto;
  margin-left: auto;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  font-size: 7rem;
}
#main #page_nav_wrapper nav ul {
  display: block;
  max-width: 15rem;
  margin: 0 auto;
}
#main #page_nav_wrapper nav ul li {
  display: inline;
  position: relative;
  line-height: 0;
  font-size: 7rem;
  padding: 10px;
  margin: 0;
  text-align: center;
  width: 30px;
  /*&:after{
              position: absolute;
              font-size: 4rem;
              top: 0;
              line-height: .5;
              color: $color-haus;
          }

          &.prev:after{
              content: '‹';
              left: 0;
          }

          &.next:after{
              content: '›';
              right: 0;
          }*/
}
#main #page_nav_wrapper nav ul li.prev {
  float: right;
}
#main #page_nav_wrapper nav ul li.next {
  float: left;
}
#main #page_nav_wrapper nav ul li a {
  color: #3A3A39;
}
#main #page_nav_wrapper nav ul li a:hover {
  color: #B52E28;
}

main.jobs nav.nav_right {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
main.jobs nav.nav_right ul li {
  text-transform: none;
}
main.jobs nav.nav_right ul li em {
  display: block;
  font-style: normal;
  color: inherit;
}
@media only screen and (max-width: 60em) {
  main.jobs nav.nav_right ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: left;
  }
}

/*nav in aside*/
nav#overlay {
  padding: 10% 15px;
  height: 100%;
  /*display: flex;*/
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
nav#overlay ul a {
  color: #3A3A39;
}
nav#overlay ul a:hover {
  color: #B52E28;
}
nav#overlay ul ul {
  margin-left: 3rem;
}
nav#overlay ul li {
  font-size: 2rem;
  padding: 5px 0;
}
nav#overlay ul li.has_children {
  margin: 2rem 0;
}
nav#overlay ul li.current span {
  color: #B52E28;
}

nav.nav_right.category {
  padding-left: 25px;
}
@media only screen and (max-width: 48em) {
  nav.nav_right.category {
    padding-left: 0;
  }
}
nav.nav_right.category ul > * > a {
  line-height: 1.25;
  min-height: 4rem;
}
nav.nav_right.category ul > * > a:hover {
  border-color: #B52E28;
  color: #B52E28;
}
nav.nav_right.category ul > .current > a {
  border-color: #B52E28;
}
nav.nav_right.category ul > .current > a.a {
  color: #C02221;
  border-color: #C02221;
}
nav.nav_right.category ul > .current > a.b {
  color: #C02221;
  border-color: #C02221;
}
nav.nav_right.category ul > .current > a.c {
  color: #073D83;
  border-color: #073D83;
}
nav.nav_right.category ul > .current > a.d {
  color: #073D83;
  border-color: #073D83;
}
nav.nav_right.category ul > .current > a.e {
  color: #073D83;
  border-color: #073D83;
}
nav.nav_right.category ul > .current > a.f {
  color: #073D83;
  border-color: #073D83;
}
nav.nav_right.category ul > .current > a.g {
  color: #FCC900;
  border-color: #FCC900;
}
nav.nav_right.category ul > .current > a.h {
  color: #0093C9;
  border-color: #0093C9;
}
nav.nav_right.category ul > .current > a.i {
  color: #0093C9;
  border-color: #0093C9;
}
nav.nav_right.category ul > .current > a.j {
  color: #FDAE49;
  border-color: #FDAE49;
}
nav.nav_right.category ul > .current > a.k {
  color: #073D83;
  border-color: #073D83;
}

nav.nav_right.category.color_all ul li {
  /*&.b-ue.c:before {
    content: ("Bauüberwachung");
    color: $color-c;
  }*/
}
nav.nav_right.category.color_all ul li.zusatz:before {
  padding: 2rem 0 0 33px;
  display: block;
}
nav.nav_right.category.color_all ul li > a.a {
  border-color: #C02221;
}
nav.nav_right.category.color_all ul li > a.a:hover {
  color: #C02221;
}
nav.nav_right.category.color_all ul li > a.b {
  border-color: #4AA47E;
}
nav.nav_right.category.color_all ul li > a.b:hover {
  color: #4AA47E;
}
nav.nav_right.category.color_all ul li > a.c {
  border-color: #073D83;
}
nav.nav_right.category.color_all ul li > a.c:hover {
  color: #073D83;
}
nav.nav_right.category.color_all ul li > a.d {
  border-color: #073D83;
}
nav.nav_right.category.color_all ul li > a.d:hover {
  color: #073D83;
}
nav.nav_right.category.color_all ul li > a.e {
  border-color: #073D83;
}
nav.nav_right.category.color_all ul li > a.e:hover {
  color: #073D83;
}
nav.nav_right.category.color_all ul li > a.f {
  border-color: #073D83;
}
nav.nav_right.category.color_all ul li > a.f:hover {
  color: #073D83;
}
nav.nav_right.category.color_all ul li > a.g {
  border-color: #FCC900;
}
nav.nav_right.category.color_all ul li > a.g:hover {
  color: #FCC900;
}
nav.nav_right.category.color_all ul li > a.h {
  border-color: #0093C9;
}
nav.nav_right.category.color_all ul li > a.h:hover {
  color: #0093C9;
}
nav.nav_right.category.color_all ul li > a.i {
  border-color: #0093C9;
}
nav.nav_right.category.color_all ul li > a.i:hover {
  color: #0093C9;
}
nav.nav_right.category.color_all ul li > a.j {
  border-color: #FDAE49;
}
nav.nav_right.category.color_all ul li > a.j:hover {
  color: #FDAE49;
}
nav.nav_right.category.color_all ul li > a.k {
  border-color: #073D83;
}
nav.nav_right.category.color_all ul li > a.k:hover {
  color: #073D83;
}

footer {
  padding: 2% 0;
}
footer section p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
  text-align: center;
  max-width: inherit;
}
footer section p.links {
  gap: 3rem;
}
footer section p a {
  padding-bottom: 5px;
  text-transform: uppercase;
  color: #898989;
  border-bottom: 2px solid #fff;
}
footer section p a:hover {
  border-bottom: 2px solid #B52E28;
  text-decoration: none;
}
footer section p a.highlight {
  color: #B52E28;
}
@media only screen and (max-width: 40em) {
  footer section {
    display: block;
    padding-top: 3%;
    text-align: center;
  }
  footer section p {
    margin: 10px 0;
  }
  footer section p a {
    margin-left: 0;
    display: block;
    padding: 5px 0;
  }
}

p,
ul li {
  font-size: 1.7rem;
}

ul[class*=uk-width] {
  padding-left: 20px;
  list-style: none;
}
@media only screen and (max-width: 40em) {
  ul[class*=uk-width] {
    display: none;
  }
}

.totop {
  display: block;
  text-align: center;
}
.totop svg {
  width: 5rem;
  height: 5rem;
  color: #DFDFDF;
}
.totop svg:hover {
  color: #B52E28;
}

nav.sitemap ul li.level_1 > a {
  text-transform: uppercase;
}
nav.sitemap ul a {
  color: #3A3A39;
}
nav.sitemap ul a:hover {
  color: #B52E28;
}
nav.sitemap ul ul {
  margin-left: 3rem;
}
nav.sitemap ul li.has_children {
  margin: 2rem 0;
}

aside {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #fff;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  z-index: 200;
  opacity: 0;
  visibility: hidden;
  overflow: auto;
}

.open {
  opacity: 1;
  visibility: visible;
}

.close {
  z-index: 200;
  position: fixed;
  top: 30px;
  right: 47px;
  color: #B52E28;
  z-index: 3;
  cursor: pointer;
  font-family: sans-serif;
}
.close span,
.close span:before,
.close span:after {
  border-radius: 0;
  height: 5px;
  width: 30px;
  background: #B52E28;
  position: absolute;
  display: block;
  content: "";
}
.close span {
  background: transparent;
}
.close span:before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.close span:after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

button.toggle-overlay {
  display: none;
  z-index: 100;
  position: fixed;
  top: 10px;
  right: 10px;
  width: 30px !important;
  height: 30px !important;
  font-size: 0;
  line-height: 0;
  border: none;
  background-color: #B52E28;
  cursor: pointer;
}
@media only screen and (max-width: 48em) {
  button.toggle-overlay {
    display: inherit;
  }
}
button.toggle-overlay span {
  margin: 0 auto;
  width: 30px;
  height: 30px;
  display: block;
  background-image: url(../img/trigger.svg);
  /*background-image: url(/site/templates/assets/img/trigger.svg);*/
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  /*svg{
          width: 34px;
          height: 30px;

          rect{
              width: 100%;
              height: 2px;
              x: 0;
              y: 9;
              fill: #fff;
          }

          rect:first-child{
            y: 2;
          }

          rect:last-child{
            y: 16;
          }
      }*/
}

button.toggle-overlay.uk-sticky {
  right: 10px;
}

/*nav ul li username + logout*/
.login {
  padding: 25px 0;
  /*li, li span.username{
    color: $color-haus-1 !important;
  }*/
}

.single_acc .uk-accordion li {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  min-height: 400px;
  background-color: #EBEBEB;
}
.single_acc .uk-accordion li > * {
  width: 50%;
  max-width: 50%;
}
.single_acc .uk-accordion li a.uk-accordion-title {
  position: relative;
  font-size: 1.7rem;
  margin-top: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.single_acc .uk-accordion li a.uk-accordion-title:before {
  position: absolute;
  left: 0;
  margin-left: 30rem;
  float: none;
  background-position: center center;
  background-image: url(/site/templates/assets/img/plus_01.svg);
  height: 16px;
  background-size: 24px;
  width: 16px;
}
@media only screen and (max-width: 40em) {
  .single_acc .uk-accordion li a.uk-accordion-title {
    text-indent: 1rem;
  }
  .single_acc .uk-accordion li a.uk-accordion-title:before {
    margin-top: 2px;
    margin-left: 0;
    position: relative;
  }
}
.single_acc .uk-accordion li a.uk-accordion-title:hover {
  color: #B52E28;
}
.single_acc .uk-accordion li a.uk-accordion-title:hover:before {
  background-image: url(/site/templates/assets/img/plus.svg);
}
.single_acc .uk-accordion li.uk-open a.uk-accordion-title {
  color: #B52E28;
}
.single_acc .uk-accordion li.uk-open a.uk-accordion-title:hover:before {
  background-image: url(/site/templates/assets/img/minus_01.svg);
}
.single_acc .uk-accordion li.uk-open a.uk-accordion-title:before {
  background-image: url(/site/templates/assets/img/minus.svg);
}
.single_acc .uk-accordion li section.text_section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 100%;
  padding-bottom: 1rem;
}
.single_acc .uk-accordion li section.text_section p {
  margin-bottom: 25px;
}
.single_acc .uk-accordion li section.text_section p:first-child, .single_acc .uk-accordion li section.text_section p:nth-child(2) {
  margin-bottom: 0;
}
.single_acc .uk-accordion li div.uk-accordion-content {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  visibility: visible;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.single_acc .uk-accordion li div.uk-accordion-content figure {
  text-align: right;
  padding-right: 5rem;
}
.single_acc .uk-accordion li div.uk-accordion-content.uk-hidden,
.single_acc .uk-accordion li [hidden] {
  display: block !important;
  visibility: hidden !important;
}

main.ap h2 {
  padding-bottom: 1rem;
  padding-left: calc(50% - 1rem);
}
@media only screen and (max-width: 75em) {
  main.ap h2 {
    padding-left: 40%;
  }
}
@media only screen and (max-width: 60em) {
  main.ap h2 {
    padding-left: 0;
  }
}
main.ap .accordeon_wrapper {
  position: relative;
  background-color: #f9f9f9;
}
main.ap .accordeon_wrapper:after {
  content: "";
  position: absolute;
  width: calc(50% - 2rem);
  right: 0;
  left: 0;
  bottom: 0;
  height: 100%;
  background-color: #B1B2B3;
  z-index: 1;
}
@media only screen and (max-width: 75em) {
  main.ap .accordeon_wrapper:after {
    width: calc(40% - 2rem);
  }
}
@media only screen and (max-width: 60em) {
  main.ap .accordeon_wrapper:after {
    width: 100%;
    content: inherit;
  }
}
main.ap .accordeon_wrapper h3 {
  padding: 2rem 0 0;
  padding-left: calc(50% - 1rem);
  margin-bottom: 0;
  color: #5B5B5B;
  font-size: 2rem;
  position: relative;
}
main.ap .accordeon_wrapper h3:first-child:before {
  content: "";
  position: absolute;
  width: calc(50% - 2rem);
  left: 0;
  top: 0;
  bottom: 0;
  height: 100%;
  background-color: #fff;
  z-index: 11;
}
@media only screen and (max-width: 75em) {
  main.ap .accordeon_wrapper h3:first-child:before {
    width: 50%;
  }
}
@media only screen and (max-width: 60em) {
  main.ap .accordeon_wrapper h3:first-child:before {
    display: none;
  }
}
@media only screen and (max-width: 75em) {
  main.ap .accordeon_wrapper h3:first-child {
    width: calc(40% - 3rem);
  }
}
@media only screen and (max-width: 60em) {
  main.ap .accordeon_wrapper h3:first-child {
    width: 100%;
  }
}
@media only screen and (max-width: 75em) {
  main.ap .accordeon_wrapper h3 {
    padding-left: calc(40% - 1rem);
  }
}
@media only screen and (max-width: 60em) {
  main.ap .accordeon_wrapper h3 {
    padding-left: 1rem;
  }
}
main.ap .accordeon_wrapper h4 {
  color: #5B5B5B;
  font-size: 2rem;
}
main.ap .uk-accordion > :nth-child(n+2) {
  margin-top: inherit;
}
main.ap ul.uk-accordion {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-left: calc(50% - 2rem);
  background-color: #EBEBEB;
  padding-top: 0.5rem;
}
main.ap ul.uk-accordion:after {
  content: "";
  position: absolute;
  width: 50%;
  right: 0;
  top: 0;
  bottom: 0;
  height: 100%;
  background-color: #EBEBEB;
  z-index: 1;
}
@media only screen and (max-width: 60em) {
  main.ap ul.uk-accordion:after {
    content: inherit;
    position: relative;
    display: none;
  }
}
@media only screen and (max-width: 75em) {
  main.ap ul.uk-accordion {
    padding-left: calc(40% - 2rem);
  }
}
@media only screen and (max-width: 60em) {
  main.ap ul.uk-accordion {
    padding-left: 0;
    display: block;
    padding-left: inherit;
  }
}
main.ap ul.uk-accordion li {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 30%;
          flex: 0 1 30%;
  padding: 0 1rem 2.5rem 1rem;
  background-color: #EBEBEB;
  z-index: 10;
}
main.ap ul.uk-accordion li a.uk-accordion-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.7rem;
}
main.ap ul.uk-accordion li a.uk-accordion-title:hover {
  color: #B52E28;
}
main.ap ul.uk-accordion li a.uk-accordion-title:hover:before {
  background-image: url(/site/templates/assets/img/plus.svg);
}
main.ap ul.uk-accordion li a.uk-accordion-title:before {
  background-image: url(/site/templates/assets/img/plus_01.svg);
  height: 16px;
  background-size: 24px;
  width: 16px;
}
main.ap ul.uk-accordion li.uk-open a.uk-accordion-title {
  color: #B52E28;
}
main.ap ul.uk-accordion li.uk-open a.uk-accordion-title:hover:before {
  background-image: url(/site/templates/assets/img/minus_01.svg);
}
main.ap ul.uk-accordion li.uk-open a.uk-accordion-title:before {
  background-image: url(/site/templates/assets/img/minus.svg);
}
main.ap ul.uk-accordion li > h4 {
  padding-top: 1rem;
}
main.ap ul.uk-accordion div.uk-accordion-content {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  width: 50%;
  visibility: visible;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  z-index: 100;
}
main.ap ul.uk-accordion div.uk-accordion-content figure {
  padding-right: 2rem;
}
main.ap ul.uk-accordion:last-child div.uk-accordion-content {
  top: inherit;
  bottom: 0;
}
@media only screen and (max-width: 75em) {
  main.ap ul.uk-accordion div.uk-accordion-content {
    width: 40%;
  }
}
@media only screen and (max-width: 60em) {
  main.ap ul.uk-accordion {
    width: 100%;
  }
  main.ap ul.uk-accordion div.uk-accordion-content {
    position: relative;
    width: inherit;
  }
}

main.home {
  position: relative;
}
main.home > :after {
  content: "";
  background-color: #B1B2B3;
  height: 40rem;
  display: block;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -10;
}
main.home > .uk-container {
  max-width: 1900px;
  padding-right: 0;
  padding-left: 0;
}

.header-image.random {
  min-height: 40rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
.header-image.random h1 {
  width: 100%;
  margin: 0 auto;
  background-color: #3A3A39;
  background-color: rgba(150, 150, 150, 0.5);
  text-transform: uppercase;
  font-size: 4rem;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  /*@include respond(desktop) {
    width: calc(100%);
    padding: 0 4rem;
    }

  @include respond(ipad) {
    width: calc(100%);
    padding: 0 2rem;
    }*/
}
@media only screen and (max-width: 75em) {
  .header-image.random h1 {
    width: auto;
    margin: inherit;
  }
}
.header-image.random h1 span {
  position: relative;
  display: block;
  max-width: 1200px;
  margin: 0 auto;
  color: #fff;
}

.text_bottom {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  margin-bottom: 3%;
  /*@include respond(desktop) {
    padding: 0 4rem;
  }

  @include respond(ipad) {
    padding: 0 2rem;
  }*/
}
.text_bottom p {
  font-size: 3rem;
  font-family: "Roboto Condensed", sans-serif;
  line-height: 4rem;
}

.wrapper_owl-carousel h2 {
  padding-bottom: 0;
  margin-bottom: 1.4rem;
  text-transform: uppercase;
  color: #3A3A39;
  font-size: 1.6rem;
}

main.home .grid {
  -ms-grid-rows: 15% 1fr;
  grid-template-rows: 15% 1fr;
  -ms-grid-columns: 50rem 1fr;
  grid-template-columns: 50rem 1fr;
      grid-template-areas: ". topright" ".  bottomright";
}

@media only screen and (max-width: 40em) {
  .sample {
    margin-left: 2rem !important;
  }
}

body.unternehmen .max_width_xl {
  position: relative;
}
body.unternehmen .bg_img {
  padding-top: 40%;
}
body.unternehmen .text_container {
  background-color: rgba(150, 150, 150, 0.5);
}
body.unternehmen .text_container section {
  max-width: 1400px;
  margin: 0 auto;
  padding: 1rem;
  text-align: left;
}
body.unternehmen .text_container h1,
body.unternehmen .text_container h5,
body.unternehmen .text_container p {
  position: relative;
  color: #fff;
}
body.unternehmen .text_container p,
body.unternehmen .text_container h5 {
  font-size: 3rem;
  font-family: "Roboto Condensed", sans-serif;
  line-height: 4rem;
}
body.unternehmen .text_container h5 {
  font-size: 2.4rem;
  margin-top: 1rem;
}
body.unternehmen .text_container h1 span {
  display: block;
  font-weight: 400;
}

body.wir-uber-uns h1 {
  padding: 3rem 0;
  color: #B52E28;
}

section.img_bw img:first-child {
  visibility: hidden;
}
@media only screen and (max-width: 40em) {
  section.img_bw img:first-child {
    display: none;
  }
}

main.jobs.blog-parent {
  position: relative;
}
main.jobs.blog-parent:after {
  content: "";
  background-color: #EBEBEB;
  height: 100%;
  width: calc(50% - 30px);
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
@media only screen and (max-width: 75em) {
  main.jobs.blog-parent:after {
    width: calc(50% - 120px);
  }
}
@media only screen and (max-width: 60em) {
  main.jobs.blog-parent:after {
    content: none;
  }
}

.blog_item > * {
  margin-right: 15rem;
}
@media only screen and (max-width: 48em) {
  .blog_item > * {
    margin-right: 0;
  }
}

.random-wrapper.two_items {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(50%, 1fr));
  -ms-flex-line-pack: center;
      align-content: center;
}
.random-wrapper.two_items img:first-child {
  -ms-grid-column-align: self-end;
      justify-self: self-end;
}

section.sublinks {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  grid-gap: 20px;
  /*display: flex;
  flex-wrap: wrap;
  justify-content: space-between;*/
  /*&:after{
    content: '';
    width: 23%;
    display: block;
    height: 277px;
    border: 1px solid $color-grey-1;
  }*/
}
section.sublinks figure {
  width: 100%;
  padding-bottom: 5%;
}
section.sublinks figure figcaption {
  padding-top: 5px;
  line-height: 2rem;
}
@media only screen and (max-width: 75em) {
  section.sublinks.category_all figure {
    width: 30%;
  }
}

.leistungen_detail .uk-container .left {
  padding-right: 1rem;
}

.projekt_detail.leistungen_detail.half-grey::after {
  max-height: 795px !important;
}

.referenzen_detail.half-grey::after {
  max-height: 800px;
}

.serviceleistungen #main section.right .owl-item img {
  max-width: 400px;
}
.serviceleistungen .grid {
  -ms-grid-columns: minmax(100px, 397px) 1px minmax(100px, 397px);
  grid-template-columns: minmax(100px, 397px) minmax(100px, 397px);
  grid-gap: 1px;
}
.serviceleistungen .grid .owl-carousel .owl-item .owl-lazy {
  -webkit-transition: opacity 4000ms ease !important;
  transition: opacity 4000ms ease !important;
}

main.standort ul li {
  list-style: none;
}
main.standort .flex.wrapper {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
main.standort .flex.wrapper .content_left {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-right: 5rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  padding-right: 0;
}
main.standort .flex.wrapper div.right {
  width: calc(40% - 30px);
  padding-top: 3rem;
  padding-left: 5rem;
}
@media only screen and (max-width: 48em) {
  main.standort .flex.wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media only screen and (max-width: 40em) {
  main.standort .flex.wrapper .content_left {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  main.standort .flex.wrapper div.right {
    width: 100%;
  }
}
main.standort.anfahrt .flex.wrapper .content_left.flex {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  padding-right: 0;
}
main.standort.anfahrt .flex.wrapper div.map {
  grid-area: left;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
main.standort.anfahrt .flex.wrapper div.map iframe {
  width: calc(100% - 200px);
}
@media only screen and (max-width: 1680px) {
  main.standort.anfahrt .flex.wrapper div.map iframe {
    width: 100%;
  }
}
main.standort.anfahrt .flex.wrapper div.right {
  width: calc(40% - 30px);
  padding-top: 3rem;
  padding-left: 5rem;
}
@media only screen and (max-width: 60em) {
  main.standort.anfahrt .flex.wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  main.standort.anfahrt .flex.wrapper .content_left {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  main.standort.anfahrt .flex.wrapper div.right {
    width: 100%;
    padding-bottom: 3rem;
    padding-left: 0;
  }
}

.tab-wrapper-right {
  padding-top: 20px;
  -ms-flex-preferred-size: 275px;
      flex-basis: 275px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

ul.tab-trigger.uk-tab.uk-tab-right li {
  font-family: "Roboto", sans-serif;
  margin-bottom: 1px;
}
ul.tab-trigger.uk-tab.uk-tab-right li a {
  padding: 5px 10px 5px 30px;
  font-size: 1.7rem;
}
ul.tab-trigger.uk-tab.uk-tab-right li a:hover {
  color: #B52E28;
}
ul.tab-trigger.uk-tab.uk-tab-right li:last-child a {
  color: #5B5B5B;
}
ul.tab-trigger.uk-tab.uk-tab-right > * > a {
  border-left: 3px solid #BFBFBF;
}
ul.tab-trigger.uk-tab.uk-tab-right > * > a:hover {
  border-left: 3px solid #B52E28;
}
ul.tab-trigger.uk-tab.uk-tab-right > .uk-active > a {
  border-color: #B52E28;
}

div.tab-wrapper-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
div.tab-wrapper-content figure {
  width: 60%;
  text-align: right;
}
div.tab-wrapper-content div.tab-content-text {
  width: 46.5%;
  padding-top: 3rem;
  padding-left: 5rem;
}
div.tab-wrapper-content div.tab-content-text ul li {
  list-style: inherit;
  list-style-type: disc;
}

.projekt_detail {
  position: relative;
  z-index: 0;
}
.projekt_detail.half-grey:after {
  content: "";
  background-color: #BFBFBF;
  height: 100%;
  max-height: 800px;
  width: 50%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
@media screen and (max-width: 1680px) {
  .projekt_detail.half-grey:after {
    background-color: transparent;
  }
}
.projekt_detail .uk-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 10;
}
.projekt_detail .uk-container section {
  width: 50%;
}
.projekt_detail .uk-container .left {
  background-color: #fff;
}
.projekt_detail .uk-container .left > * {
  padding-left: 5rem;
}
@media only screen and (max-width: 48em) {
  .projekt_detail .uk-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding-bottom: 5rem;
  }
  .projekt_detail .uk-container section {
    width: 100%;
  }
  .projekt_detail .uk-container section:first-child {
    padding-bottom: 3rem;
  }
  .projekt_detail .uk-container section.left > * {
    padding-left: 0;
  }
}

#main section.right .owl-item {
  max-width: 800px;
}
#main section.right .owl-item img {
  max-width: 800px;
}

@media only screen and (max-width: 60em) {
  .mega--tab-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .mega--tab-wrapper .tab-trigger.uk-tab {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .mega--tab-wrapper .tab-trigger.uk-tab > .uk-active > a {
    border-bottom: 2px solid #B52E28;
  }
  .mega--tab-wrapper .tab-wrapper-right {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .mega--tab-wrapper .tab-wrapper-right .uk-tab > * {
    padding: 0 5px;
  }
  .mega--tab-wrapper .tab-wrapper-right .uk-tab > * > a {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 48em) {
  .mega--tab-wrapper .tab-trigger.uk-tab > * > a {
    font-size: 2rem;
  }
  .mega--tab-wrapper .tab-wrapper-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .mega--tab-wrapper .tab-wrapper-content .tab-content-text,
  .mega--tab-wrapper .tab-wrapper-content figure {
    width: 100%;
    text-align: left;
  }
}

@media only screen and (max-width: 60em) {
  main.kontakt .kontaktform {
    padding-left: 0;
  }
}
main.kontakt .kontaktform p.success {
  text-align: left;
  padding-bottom: 5rem;
}

main.jobs {
  position: relative;
}
main.jobs:after {
  content: "";
  background-color: #EBEBEB;
  height: 100%;
  width: calc(50% - 30px);
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
@media only screen and (max-width: 60em) {
  main.jobs:after {
    content: none;
  }
}
main.jobs .wrapper .grid.content_full {
  -ms-grid-columns: 1fr 30px 1fr;
  grid-template-columns: repeat(2, 1fr);
  -ms-grid-rows: minmax(25rem, auto) 0 auto;
  grid-template-rows: minmax(25rem, auto) auto;
      grid-template-areas: ". top-right" "bottom-left bottom-right";
  grid-gap: 0 30px;
}
@media only screen and (max-width: 60em) {
  main.jobs .wrapper .grid.content_full {
    -ms-grid-columns: auto;
    grid-template-columns: auto;
    -ms-grid-rows: auto;
    grid-template-rows: auto;
        grid-template-areas: "top-right top-right" "bottom-left bottom-left" "bottom-right bottom-right";
    grid-gap: 30px;
  }
}
main.jobs .wrapper .grid.content_full section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
main.jobs .wrapper .grid.content_full section.top-right {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: top-right;
}
main.jobs .wrapper .grid.content_full section.bottom-left {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: bottom-left;
}
main.jobs .wrapper .grid.content_full section.bottom-left > * {
  -ms-flex-item-align: end;
      align-self: flex-end;
}
@media only screen and (max-width: 60em) {
  main.jobs .wrapper .grid.content_full section.bottom-left > * {
    -ms-flex-item-align: start;
        align-self: flex-start;
  }
}
main.jobs .wrapper .grid.content_full section.bottom-right {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  grid-area: bottom-right;
}
@media only screen and (max-width: 60em){
  main.jobs .wrapper .grid.content_full section.top-right {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  main.jobs .wrapper .grid.content_full section.bottom-left {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  main.jobs .wrapper .grid.content_full section.bottom-right {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
}
main.jobs .wrapper .grid.content_full section ul li {
  margin-left: 0;
}
main.jobs .wrapper .grid.content_full.job section.bottom-left > * {
  -ms-flex-item-align: start;
      align-self: flex-start;
  padding-right: 6rem;
}
main.jobs.jobs_detail h1 {
  color: #B52E28;
}
main.jobs.jobs_detail table {
  padding: 3rem;
  background-color: #fff;
}
main.jobs.jobs_detail table td:first-child {
  padding-right: 20px;
}
main.jobs.jobs_detail table ul {
  padding-left: 0.75rem;
  margin-left: 0.75rem;
  list-style: disc;
}
main.jobs.jobs_detail table ul ul {
  margin-bottom: 1rem;
}
main.jobs.jobs_parent .flex {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
main.jobs.jobs_parent .flex section {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 50%;
          flex: 1 0 50%;
  width: 50%;
}
main.jobs.jobs_parent .flex section.left {
  margin-right: 3rem;
}
@media only screen and (max-width: 60em) {
  main.jobs.jobs_parent .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  main.jobs.jobs_parent .flex section {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 100%;
            flex: 1 0 100%;
    width: 100%;
  }
}
main.jobs h1 {
  color: #B52E28;
}