@charset "UTF-8";
*, *::before, *::after {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

article,
aside,
header,
main,
footer,
section,
nav,
figure,
figcaption {
  display: block; }

button,
input,
input[type="button"],
input[type="checkbox"],
input[type="radio"],
input[type="date"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="submit"],
input[type="tel"],
input[type="text"],
input[type="url"],
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  padding: .5rem .25rem;
  line-height: 1.25;
  -webkit-box-shadow: none;
  box-shadow: none;
  border: none;
  border-radius: 0;
  -webkit-box-shadow: currentColor 0px 0px 0px 1px inset;
  box-shadow: currentColor 0px 0px 0px 1px inset;
  vertical-align: top;
  font-family: inherit;
  font-size: 100%; }

button {
  border: none;
  -webkit-box-shadow: currentColor 0px 0px 0px 1px inset;
  box-shadow: currentColor 0px 0px 0px 1px inset;
  cursor: pointer; }

button,
input[type="submit"] {
  display: inline-block;
  background-color: transparent;
  border-radius: 0;
  padding: .5rem 1rem; }

textarea {
  font-family: inherit;
  resize: vertical; }

fieldset {
  border: none; }

:root {
  --primarycolor: #797878;
  --secondarycolor: #222;
  --tertiarycolor: #444;
  --txtcolor: #000;
  --linkcolor: #666;
  --linkhovercolor: #888;
  --fontfamily: 'Montserrat', sans-serif;
  --texttransform: uppercase;
  --letter-spacing: .1em;
  --centerbox: left; }

html {
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: #000;
  color: var(--txtcolor);
  overflow-y: scroll; }

body {
  font-family: 'Montserrat', sans-serif;
  font-family: var(--fontfamily); }

a {
  text-decoration: underline;
  color: #666;
  color: var(--linkcolor);
  -webkit-transition: .25s ease-in-out color;
  -o-transition: .25s ease-in-out color;
  transition: .25s ease-in-out color; }
  a:hover {
    color: #888;
    color: var(--linkhovercolor); }

h1 {
  font-size: 2.1rem;
  color: #797878;
  color: var(--primarycolor); }
  @media only screen and (max-width: 640px) {
    h1 {
      font-size: 1.6rem; } }

h2 {
  font-size: 1.8rem;
  color: #222;
  color: var(--secondarycolor); }
  @media only screen and (max-width: 640px) {
    h2 {
      font-size: 1.4rem; } }

h3 {
  font-size: 1.3rem;
  color: #444;
  color: var(--tertiarycolor); }
  @media only screen and (max-width: 640px) {
    h3 {
      font-size: 1.2rem; } }

h4, h5, h6 {
  font-size: 1.1rem; }

h1, h2, h3, h4, h5, h6 {
  line-height: 1.25;
  margin-bottom: .75em;
  word-wrap: break-word;
  font-weight: 700;
  text-transform: uppercase;
  text-transform: var(--texttransform);
  letter-spacing: var(--letter-spacing); }
  h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child {
    margin-bottom: 0; }

.m-wrapper p {
  margin-bottom: 1.5rem; }
  .m-wrapper p:last-child {
    margin-bottom: 0; }
  .m-wrapper p + ul, .m-wrapper p + ol {
    margin-top: -1.25rem; }

.m-wrapper ul, .m-wrapper ol {
  padding-left: 1.5rem;
  margin: 0 0 1.5rem; }
  .m-wrapper ul:last-child, .m-wrapper ol:last-child {
    margin-bottom: 0; }

.m-wrapper li {
  margin-bottom: .75rem; }
  .m-wrapper li:last-child {
    margin-bottom: 0; }

img {
  max-width: 100%; }

blockquote {
  margin: 1.25rem 2.5rem; }
  @media only screen and (max-width: 480px) {
    blockquote {
      margin: 1.25rem; } }

nav ul {
  padding-left: 0; }
  nav ul + * {
    margin-top: 0; }

nav li {
  list-style: none;
  margin-bottom: 0; }

nav a {
  text-decoration: none; }

.m-servicenav__inner,
.m-mainnav__inner,
.m-section__inner,
.l-footer__inner,
.m-overlaybox__container {
  width: calc(100% - 15rem);
  max-width: 1560px;
  margin: 0 auto; }
  @media only screen and (max-width: 1280px) {
    .m-servicenav__inner,
    .m-mainnav__inner,
    .m-section__inner,
    .l-footer__inner,
    .m-overlaybox__container {
      width: calc(100% - 10rem); } }
  @media only screen and (max-width: 1024px) {
    .m-servicenav__inner,
    .m-mainnav__inner,
    .m-section__inner,
    .l-footer__inner,
    .m-overlaybox__container {
      width: calc(100% - 5rem); } }
  @media only screen and (max-width: 640px) {
    .m-servicenav__inner,
    .m-mainnav__inner,
    .m-section__inner,
    .l-footer__inner,
    .m-overlaybox__container {
      width: calc(100% - 2.5rem); } }

.m-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 5; }

.l-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column; }
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .l-body {
      display: block; } }
  .l-body__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 100vh; }
    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
      .l-body__inner {
        display: block; } }

.m-wrapper {
  position: relative;
  z-index: 3;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding-top: 6.5rem; }

.m-servicenav {
  width: 100%;
  background-color: #ececec; }
  @media only screen and (max-width: 420px) {
    .m-servicenav {
      position: relative; } }
  .m-servicenav__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    height: 1.5rem;
    margin: 0 auto; }

.m-servicemenu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 0;
  margin-right: -.375rem; }
  @media only screen and (max-width: 1024px) {
    .m-servicemenu__item--service {
      display: none; } }
  .m-servicemenu li + li {
    margin-left: .5625rem; }
  .m-servicemenu a {
    display: inline-block;
    padding: .375rem;
    text-transform: uppercase;
    text-transform: var(--texttransform);
    text-decoration: none;
    font-size: .75rem;
    line-height: 1;
    font-weight: normal;
    color: #000; }
  .m-servicemenu a:hover {
    color: #797878;
    color: var(--primarycolor); }

.m-mainnav {
  width: 100%;
  background-color: white;
  -webkit-box-shadow: 0 2px 7px #e6e6e6;
  box-shadow: 0 2px 7px #e6e6e6; }
  .m-mainnav__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    height: 5rem; }

.m-logo {
  font-size: 0;
  height: 75%; }
  @media only screen and (max-width: 420px) {
    .m-logo {
      width: calc(100% - 5rem); } }
  .m-logo__image {
    height: 100%;
    width: auto; }
    @media only screen and (max-width: 420px) {
      .m-logo__image {
        width: 100%;
        -o-object-fit: contain;
        object-fit: contain;
        -o-object-position: left center;
        object-position: left center; } }

div.m-logo__image {
  width: 15rem; }

@media only screen and (min-width: 1025px) {
  .m-menu__parentitem:last-child > .m-menu__submenu {
    max-width: calc(100% + 5rem); } }

@media only screen and (max-width: 1280px) {
  .m-menu__parentitem:last-child > .m-menu__submenu {
    max-width: calc(100% + 2.5rem); } }

.m-menu__parentitem--parent-redirect.m-menu__item > a::after {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  margin-bottom: .125rem;
  margin-left: .25rem;
  border-left: .25rem solid transparent;
  border-right: .25rem solid transparent;
  border-top: .25rem solid #797878;
  border-top: 0.25rem solid var(--primarycolor);
  -webkit-transition: border-top-color .25s ease-in-out, border-bottom-color .25s ease-in-out;
  -o-transition: border-top-color .25s ease-in-out, border-bottom-color .25s ease-in-out;
  transition: border-top-color .25s ease-in-out, border-bottom-color .25s ease-in-out; }
  @media only screen and (max-width: 1024px) {
    .m-menu__parentitem--parent-redirect.m-menu__item > a::after {
      border-top: .25rem solid white; } }

@media only screen and (min-width: 1025px) {
  .m-menu__parentitem--parent-redirect.m-menu__item > a:hover::after {
    border-top: .25rem solid #fff; } }

.m-menu__parentitem--parent-redirect.m-menu__item > a.is-active::after {
  border-top: .25rem solid #666;
  border-top: 0.25rem solid var(--linkcolor); }
  @media only screen and (max-width: 1024px) {
    .m-menu__parentitem--parent-redirect.m-menu__item > a.is-active::after {
      border-top: .25rem solid white; } }

@media only screen and (min-width: 1025px) {
  .m-menu__parentitem--parent-redirect.m-menu__item > a.is-active:hover::after {
    border-top: .25rem solid #fff; } }

.m-menu__parentitem--parent-redirect.m-menu__item > a.is-clicked::after {
  border-top: 0;
  border-bottom: .25rem solid #797878;
  border-bottom: 0.25rem solid var(--primarycolor); }
  @media only screen and (max-width: 1024px) {
    .m-menu__parentitem--parent-redirect.m-menu__item > a.is-clicked::after {
      border-bottom: .25rem solid #666;
      border-bottom: 0.25rem solid var(--linkcolor); } }

@media only screen and (min-width: 1025px) {
  .m-menu__parentitem--parent-redirect.m-menu__item > a.is-clicked:hover::after {
    border-top: 0;
    border-bottom: .25rem solid #fff; } }

.m-menu__parentitem--parent-redirect.m-menu__item > a.is-clicked.is-active::after {
  border-top: 0;
  border-bottom: .25rem solid #666;
  border-bottom: 0.25rem solid var(--linkcolor); }

@media only screen and (min-width: 1025px) {
  .m-menu__parentitem--parent-redirect.m-menu__item > a.is-clicked.is-active:hover::after {
    border-top: 0;
    border-bottom: .25rem solid #fff; } }

@media only screen and (min-width: 1025px) {
  .m-menu {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
    margin-right: -.9375rem; }
    .m-menu a {
      display: block;
      font-size: .9rem;
      color: #797878;
      color: var(--primarycolor);
      -webkit-transition: background-color .25s ease-in-out, color .375s ease-in-out;
      -o-transition: background-color .25s ease-in-out, color .375s ease-in-out;
      transition: background-color .25s ease-in-out, color .375s ease-in-out; }
      .m-menu a.is-active {
        color: #666;
        color: var(--linkcolor); }
      .m-menu a:hover {
        background-color: #797878;
        background-color: var(--primarycolor);
        color: white; }
    .m-menu__item {
      position: relative;
      height: 100%; }
      .m-menu__item > a {
        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;
        height: 5rem;
        padding: 0 .9375rem;
        font-weight: 700;
        text-align: center;
        text-transform: uppercase;
        text-transform: var(--texttransform); }
    .m-menu__submenu {
      display: none;
      position: absolute;
      padding: 0;
      top: 100%;
      left: 0;
      z-index: 5;
      width: 15rem;
      background-color: white;
      border-top: solid 5px var(--primarycolor);
      -webkit-box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.15);
      box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.15); }
      .m-menu__submenu a {
        padding: .9375rem;
        border-bottom: solid 1.5px #f5f5f5;
        font-weight: normal; }
        .m-menu__submenu a:hover {
          color: #797878;
          color: var(--primarycolor);
          background-color: #ececec; }
    .m-menu__servicemenu {
      display: none; } }

@media only screen and (max-width: 1024px) {
  .m-menu {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    width: 100%;
    max-height: calc(100vh - 6.25rem);
    overflow-y: auto;
    text-align: center;
    background-color: #797878;
    background-color: var(--primarycolor);
    -webkit-box-shadow: 0 2px 7px #e6e6e6;
    box-shadow: 0 2px 7px #e6e6e6; }
    .m-menu a {
      display: block;
      width: 100%;
      font-size: .9rem;
      line-height: 1.375;
      color: white; }
      .m-menu a.is-active, .m-menu a.is-clicked {
        color: #797878; }
    .m-menu__item > a {
      padding: 1.25em;
      font-weight: 700;
      text-transform: uppercase;
      text-transform: var(--texttransform); }
    .m-menu__submenu {
      display: none;
      background-color: #666;
      background-color: var(--linkcolor); }
      .m-menu__submenu a {
        padding: 1em;
        font-weight: normal; }
        .m-menu__submenu a:hover {
          color: #797878;
          color: var(--primarycolor); }
    .m-menu__servicemenu {
      display: block;
      margin: 1.375rem 0; }
      .m-menu__servicemenu-item a {
        padding: .3125rem 1.25em;
        font-weight: normal; } }

.m-hamburger {
  position: relative;
  width: 2rem;
  height: 2.5rem;
  background-color: transparent;
  border: none;
  outline: 0;
  -webkit-box-shadow: none;
  box-shadow: none; }
  @media only screen and (min-width: 1025px) {
    .m-hamburger {
      display: none; } }
  .m-hamburger.is-active .m-hamburger__icon {
    background: transparent;
    -webkit-transition: -webkit-transform .375s ease-in-out;
    transition: -webkit-transform .375s ease-in-out;
    -o-transition: transform .375s ease-in-out;
    transition: transform .375s ease-in-out;
    transition: transform .375s ease-in-out, -webkit-transform .375s ease-in-out; }
    .m-hamburger.is-active .m-hamburger__icon::before {
      -webkit-transform: translateY(0px) rotate(45deg);
      -ms-transform: translateY(0px) rotate(45deg);
      transform: translateY(0px) rotate(45deg); }
    .m-hamburger.is-active .m-hamburger__icon::after {
      -webkit-transform: translateY(0px) rotate(-45deg);
      -ms-transform: translateY(0px) rotate(-45deg);
      transform: translateY(0px) rotate(-45deg); }
  .m-hamburger__icon, .m-hamburger__icon::before, .m-hamburger__icon::after {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 4px;
    width: 100%;
    margin: auto;
    background-color: #797878;
    background-color: var(--primarycolor); }
  .m-hamburger__icon::before, .m-hamburger__icon::after {
    content: '';
    -webkit-transition: -webkit-transform .375s ease-in-out;
    transition: -webkit-transform .375s ease-in-out;
    -o-transition: transform .375s ease-in-out;
    transition: transform .375s ease-in-out;
    transition: transform .375s ease-in-out, -webkit-transform .375s ease-in-out; }
  .m-hamburger__icon::before {
    -webkit-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    transform: translateY(-10px); }
  .m-hamburger__icon::after {
    -webkit-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transform: translateY(10px); }

.m-gallery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size: 0;
  margin-right: -.3125rem;
  margin-left: -.3125rem; }
  .m-gallery__link {
    margin: .3125rem; }
    @media only screen and (max-width: 480px) {
      .m-gallery__link {
        width: 100%;
        margin: 1.25vw 0; } }
  .m-gallery__image {
    height: 15rem; }
    @media only screen and (max-width: 480px) {
      .m-gallery__image {
        width: 100%;
        height: auto; } }

/* declaring THE GRID */
* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.m-section:nth-child(odd) {
  background-color: white; }
  .m-section:nth-child(odd) .m-box, .m-section:nth-child(odd) .glide__box {
    background-color: #ececec; }

.m-section:nth-child(even) {
  background-color: #ececec; }

.m-section__inner {
  padding: 5rem 1.25rem; }
  @media only screen and (max-width: 420px) {
    .m-section__inner {
      padding: 2.5rem 0; } }
  @media only screen and (max-width: 640px) {
    .m-section__inner--has-triple-grid, .m-section__inner--has-twocolumns-layout {
      padding-left: 0;
      padding-right: 0; } }

.m-section--overlaybox-mobile {
  display: none; }
  @media only screen and (max-width: 640px) {
    .m-section--overlaybox-mobile {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; } }

/* declaring THE GRID */
.m-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -2.5rem;
  margin-left: -2.5rem; }
  @media only screen and (max-width: 640px) {
    .m-grid {
      margin-right: 0;
      margin-left: 0; } }
  .m-grid--triple-grid .m-grid__one-third {
    padding: 1.25rem; }
    @media only screen and (max-width: 640px) {
      .m-grid--triple-grid .m-grid__one-third {
        padding-top: 0; } }
  @media only screen and (max-width: 1280px) and (min-width: 641px) {
    .m-grid--triple-grid .m-grid__full-width {
      padding: 0 1.25rem !important; } }
  .m-grid.m-grid--twocolumns-layout {
    padding: 0; }
    @media only screen and (max-width: 1280px) {
      .m-grid.m-grid--twocolumns-layout > * {
        padding: 0 1.25rem; } }
    @media only screen and (max-width: 1280px) {
      .m-grid.m-grid--twocolumns-layout .m-grid__full-width {
        padding: 0 1.25rem; } }
    @media only screen and (max-width: 640px) {
      .m-grid.m-grid--twocolumns-layout .m-grid__full-width {
        padding: 0; } }
  .m-grid > * {
    padding: 0 1.25rem; }
  .m-grid--two-columns > * {
    width: 50%; }
  .m-grid--three-columns > * {
    width: calc(100% / 3); }
  .m-grid .m-grid__full-width {
    width: 100%;
    padding: 0 1.25rem; }
    .m-grid .m-grid__full-width h1:last-child, .m-grid .m-grid__full-width h2:last-child, .m-grid .m-grid__full-width h3:last-child, .m-grid .m-grid__full-width h4:last-child, .m-grid .m-grid__full-width h5:last-child, .m-grid .m-grid__full-width h6:last-child {
      margin-bottom: .75em; }
    @media only screen and (max-width: 1024px) {
      .m-grid .m-grid__full-width + .m-grid__one-third:last-child, .m-grid .m-grid__full-width + .m-grid__two-third:last-child, .m-grid .m-grid__full-width + .m-grid__one-half:last-child {
        width: 100%; } }
  .m-grid .m-grid__one-half {
    width: 50%; }
  .m-grid .m-grid__one-third {
    width: calc((100% - 1px) / 3); }
    @media only screen and (max-width: 1024px) {
      .m-grid .m-grid__one-third {
        width: 50%; } }
    @media only screen and (max-width: 640px) {
      .m-grid .m-grid__one-third {
        padding-bottom: 0; } }
  .m-grid .m-grid__two-third {
    width: calc(100% / 1.5); }
    @media only screen and (max-width: 1023px) {
      .m-grid .m-grid__two-third {
        width: 50%; } }
  @media only screen and (max-width: 1024px) {
    .m-grid .m-grid__one-third:only-child, .m-grid .m-grid__two-third:only-child, .m-grid .m-grid__one-half:only-child {
      width: 100%; } }
  .m-grid .m-grid__one-third figure, .m-grid .m-grid__two-third figure, .m-grid .m-grid__one-half figure {
    margin: 1.25rem 0;
    font-size: 0; }
    .m-grid .m-grid__one-third figure:first-child, .m-grid .m-grid__two-third figure:first-child, .m-grid .m-grid__one-half figure:first-child {
      margin-top: 0; }
    .m-grid .m-grid__one-third figure:last-child, .m-grid .m-grid__two-third figure:last-child, .m-grid .m-grid__one-half figure:last-child {
      margin-bottom: 0; }
  @media only screen and (max-width: 640px) {
    .m-grid .m-grid__one-third img, .m-grid .m-grid__two-third img, .m-grid .m-grid__one-half img {
      width: 100%; } }
  @media only screen and (max-width: 640px) {
    .m-grid .m-grid__one-third, .m-grid .m-grid__two-third, .m-grid .m-grid__one-half, .m-grid .m-grid__full-width {
      width: 100%;
      padding-right: 0;
      padding-left: 0; }
      .m-grid .m-grid__one-third + *, .m-grid .m-grid__two-third + *, .m-grid .m-grid__one-half + *, .m-grid .m-grid__full-width + * {
        padding-top: 2.5rem; }
    .m-grid .m-grid__full-width + .m-grid__one-third, .m-grid .m-grid__full-width + .m-grid__two-third, .m-grid .m-grid__full-width + .m-grid__one-half, .m-grid .m-grid__full-width + .m-grid__full-width {
      padding-top: 0; } }

.m-grid__image {
  width: 100%;
  height: auto; }

.m-box, .glide__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  background-color: white;
  -webkit-box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.15);
  box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.15);
  height: 100%; }
  .m-box__image, .glide__box__image {
    width: 100%;
    height: auto; }
  .m-box__content, .glide__box__content {
    text-align: center;
    text-align: var(--centerbox);
    padding: 1.25rem;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1; }
  .m-box__title, .glide__box__title {
    padding-top: 1.25rem;
    padding-left: 1.25rem;
    background-color: white; }
    .m-box__title--examples, .glide__box__title--examples {
      line-height: 2rem; }

div.m-box__image::after, div.glide__box__image::after {
  content: '';
  display: block;
  padding-bottom: 100%; }

.m-map {
  height: 100%;
  width: 100%; }
  .m-map__container {
    position: relative;
    height: 80vh;
    min-height: 640px; }

.m-kontakt {
  width: 100%;
  padding: 0;
  margin: 2rem; }
  @media only screen and (max-width: 420px) {
    .m-kontakt {
      margin-top: 1.25rem; } }
  @media only screen and (max-width: 420px) {
    .m-kontakt {
      position: relative;
      width: 100%;
      right: 0;
      left: 0; } }
  .m-kontakt__outer {
    z-index: 2;
    width: 20%;
    position: absolute;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    top: 35%;
    right: 25rem;
    background-color: #fff;
    padding: 0;
    -webkit-box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.15);
    box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.15); }
    @media only screen and (max-width: 1440px) {
      .m-kontakt__outer {
        right: 10rem; } }
    @media only screen and (max-width: 1440px) {
      .m-kontakt__outer {
        position: relative;
        width: 100%;
        right: 0;
        -webkit-box-shadow: none;
        box-shadow: none; } }
  .m-kontakt__inner {
    width: 100%; }

.m-button {
  display: block;
  width: 100%;
  padding: 1rem;
  background-color: #797878;
  background-color: var(--primarycolor);
  text-decoration: none;
  color: white;
  text-align: center;
  text-transform: uppercase;
  text-transform: var(--texttransform);
  -webkit-transition: background-color .25s ease-in-out;
  -o-transition: background-color .25s ease-in-out;
  transition: background-color .25s ease-in-out; }
  .m-button:hover {
    color: white;
    background-color: var(--linkcolor); }

.m-references {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  background-color: whitesmoke; }
  .m-references__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: -1rem;
    margin-right: -1rem;
    padding: 0; }

.l-footer {
  padding: 2.5rem 0;
  color: white;
  background-color: #797878; }
  @media only screen and (max-width: 420px) {
    .l-footer {
      padding: 1.25rem 0; } }
  .l-footer__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    @media only screen and (max-width: 768px) {
      .l-footer__inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column; } }
  .l-footer__column {
    border-left: solid 3px rgba(255, 255, 255, 0.2);
    text-align: center; }
    .l-footer__column:first-child {
      border: none; }
    @media only screen and (max-width: 768px) {
      .l-footer__column {
        border-left: 0;
        border-top: solid 2px rgba(255, 255, 255, 0.2);
        margin: 0;
        padding: 0; } }
  .l-footer__column--1_3 {
    width: calc(100% / 3); }
    @media only screen and (max-width: 768px) {
      .l-footer__column--1_3 {
        width: 100%;
        padding-top: 1.25rem;
        padding-bottom: 1.25rem; }
        .l-footer__column--1_3:first-child {
          padding-top: 0; }
        .l-footer__column--1_3:last-child {
          padding-bottom: 0; } }
  .l-footer a {
    color: white;
    -webkit-transition: color .25s ease-in-out;
    -o-transition: color .25s ease-in-out;
    transition: color .25s ease-in-out; }
    .l-footer a:hover {
      color: #000;
      color: var(--txtcolor); }
  .l-footer__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    text-transform: uppercase;
    text-transform: var(--texttransform);
    line-height: 1.8;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
  .l-footer__heading {
    text-transform: uppercase;
    text-transform: var(--texttransform);
    padding-bottom: 1.25rem; }

.m-social {
  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;
  font-size: 0; }
  .m-social__icon {
    padding: .25rem;
    height: 2rem;
    width: auto; }

.glide {
  height: calc(100vh - 6rem); }
  .glide:first-child {
    height: calc(100vh - 20rem);
    max-height: calc(100vw / 4 * 3); }
  .glide--fullscreen:first-child, .glide--fullscreen:only-child {
    height: calc(100vh - 6rem);
    max-height: calc(100vw / 4 * 3); }
  .glide__track {
    position: relative;
    z-index: 1;
    height: 100%; }
  .glide__slides {
    height: 100%; }
  .glide__slide {
    position: relative; }
  .glide__image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover; }
  .glide__arrows {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: absolute;
    top: calc(50% - 1rem);
    width: 100%; }
  .glide__arrow {
    position: relative;
    z-index: 2;
    border: 0;
    background-color: transparent;
    outline: 0;
    cursor: pointer;
    -webkit-box-shadow: none;
    box-shadow: none; }
    @media only screen and (max-width: 420px) {
      .glide__arrow {
        display: none; } }
    .glide__arrow--right {
      margin-right: .625rem; }
      @media only screen and (max-width: 1024px) {
        .glide__arrow--right {
          margin-right: 2.5rem; } }
      @media only screen and (max-width: 640px) {
        .glide__arrow--right {
          margin-right: 1.25rem; } }
    .glide__arrow--left {
      margin-left: .625rem; }
      @media only screen and (max-width: 1024px) {
        .glide__arrow--left {
          margin-left: 2.5rem; } }
      @media only screen and (max-width: 640px) {
        .glide__arrow--left {
          margin-left: 1.25rem; } }
  .glide__bullets {
    position: absolute;
    bottom: 5%;
    right: 0;
    left: 0;
    text-align: center;
    z-index: 6; }
    @media only screen and (max-width: 1024px) {
      .glide__bullets {
        display: none; } }
  .glide__bullet {
    height: .7rem;
    width: .7rem;
    margin: .1rem;
    padding: 0;
    border: none;
    border-radius: 50%;
    background-color: white;
    opacity: .3; }
    .glide__bullet:focus {
      outline: 0; }
    .glide__bullet--active {
      opacity: 1; }

.glide__boxes {
  position: relative;
  width: 100%;
  padding: 0 !important; }
  .glide__boxes-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem; }
    @media only screen and (max-width: 1024px) {
      .glide__boxes-container {
        padding-bottom: 5rem; } }
  .glide__boxes .glide__box {
    -webkit-box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.15);
    box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.15);
    height: auto; }
  .glide__boxes .glide__arrows {
    right: -4.375rem;
    left: -4.375rem;
    width: calc(100% + 8.75rem);
    font-size: 0; }
    @media only screen and (max-width: 1024px) {
      .glide__boxes .glide__arrows {
        top: calc(100% - 3.75rem);
        right: 0;
        left: 0;
        width: 100%; } }
  .glide__boxes .glide__arrow {
    padding: .6125rem;
    background-color: #797878; }
    @media only screen and (max-width: 420px) {
      .glide__boxes .glide__arrow {
        display: block; } }
  .glide__boxes .glide__arrow--right {
    margin-right: 0; }
  .glide__boxes .glide__arrow--left {
    margin-left: 0; }

.m-overlaybox {
  position: relative;
  z-index: 2; }
  .m-overlaybox--mobile {
    position: relative;
    padding-bottom: 1.25rem; }
    .m-overlaybox--mobile:last-child {
      padding-bottom: 0; }
  .m-overlaybox__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    position: absolute;
    top: 0;
    right: -1.25rem;
    bottom: 0;
    left: -1.25rem; }
    @media only screen and (max-width: 1024px) {
      .m-overlaybox__container {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end; } }
    @media only screen and (max-width: 640px) {
      .m-overlaybox__container {
        display: none; } }
    @media only screen and (max-width: 480px) {
      .m-overlaybox__container--mobile {
        position: relative;
        width: 100%;
        margin: 0 0 1.25rem;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0; }
        .glide .m-overlaybox__container--mobile {
          display: none; } }
    .m-overlaybox__container .m-grid {
      -webkit-box-pack: end;
      -ms-flex-pack: end;
      justify-content: flex-end;
      width: calc(100% + 2.5rem);
      margin-right: -1.25rem;
      margin-left: -1.25rem; }
      @media only screen and (max-width: 640px) {
        .m-overlaybox__container .m-grid {
          width: 100%;
          margin-right: 0;
          margin-left: 0; } }
  .m-overlaybox__content {
    padding: 1.25rem; }
  .m-overlaybox__title {
    padding-top: 1.25rem;
    padding-left: 1.25rem; }

body .cc-banner .cc-message {
  text-align: center;
  font-size: .9rem;
  line-height: 1.5;
  font-family: 'Montserrat', sans-serif;
  font-family: var(--fontfamily); }

.cc-banner .cc-btn:last-child {
  font-family: ‘Montserrat’, sans-serif;
  font-family: var(--fontfamily); }

button,
input,
input[type="button"],
input[type="date"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="submit"],
input[type="tel"],
input[type="text"],
input[type="url"],
select,
textarea {
  -webkit-box-shadow: currentColor 0 0 1px 0 inset;
  box-shadow: currentColor 0 0 1px 0 inset; }

.m-text {
  padding: 0 0 1.25rem 0; }

.m-form__label {
  display: block;
  padding-bottom: .625rem; }

.m-form__field {
  width: 50%; }

textarea {
  width: 100%;
  height: 10rem;
  border: none;
  border-bottom: 2px solid #797878;
  border-bottom: 2px solid var(--primarycolor);
  resize: none;
  font-family: 'Montserrat', sans-serif;
  font-family: var(--fontfamily);
  -ms-overflow-style: none;
  overflow: auto; }
  @media only screen and (max-width: 420px) {
    textarea {
      height: 6rem; } }

.m-form__field-container {
  margin: .625rem;
  margin-bottom: 1.25rem;
  margin-left: 0; }
  .m-form__field-container--textarea {
    width: 100%; }
  .m-form__field-container--h1dd3n {
    display: none !important; }
  .m-form__field-container--radio {
    line-height: 2; }
  .m-form__field-container--accept {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 1rem; }

.button, input[type="submit"] {
  width: 20%;
  background-color: #797878;
  background-color: var(--primarycolor);
  color: white; }
  @media only screen and (max-width: 640px) {
    .button, input[type="submit"] {
      width: 100%; } }

input[type=text],
input[type=tel],
input[type=email],
input[type=date] {
  margin-bottom: 1.25rem;
  border: none;
  border-bottom: 2px solid #797878;
  border-bottom: 2px solid var(--primarycolor); }
  @media only screen and (max-width: 420px) {
    input[type=text],
    input[type=tel],
    input[type=email],
    input[type=date] {
      width: 100%; } }

.m-form__alert {
  list-style: none; }

.m-radio,
.m-checkbox {
  position: absolute;
  opacity: 0; }
  .m-radio:checked + .m-radio__label::before,
  .m-radio:checked + .m-checkbox__label::before,
  .m-checkbox:checked + .m-radio__label::before,
  .m-checkbox:checked + .m-checkbox__label::before {
    background-color: #797878;
    background-color: var(--primarycolor); }
  .m-radio:focus + .m-radio__label::before,
  .m-radio:focus + .m-checkbox__label::before,
  .m-checkbox:focus + .m-radio__label::before,
  .m-checkbox:focus + .m-checkbox__label::before {
    outline: #3b99fc auto 5px; }
  .m-radio + .m-radio__label::before,
  .m-radio + .m-checkbox__label::before,
  .m-checkbox + .m-radio__label::before,
  .m-checkbox + .m-checkbox__label::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 1.25rem;
    width: 1.25rem;
    background-color: #eee; }
  .m-radio + .m-radio__label::before,
  .m-checkbox + .m-radio__label::before {
    border-radius: 50%; }
  .m-radio__container,
  .m-checkbox__container {
    position: relative;
    padding-left: 2rem;
    margin-right: 1rem; }
