:root {
    font-family: 'Montserrat', sans-serif;
    --grey: #323232;
    --red: #C73022;
    --blue: #274A77;
}

/* montserrat-300 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/montserrat-v31-latin-300.eot'); /* IE9 Compat Modes */
    src: url('../fonts/montserrat-v31-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../fonts/montserrat-v31-latin-300.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    url('../fonts/montserrat-v31-latin-300.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
    url('../fonts/montserrat-v31-latin-300.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
    url('../fonts/montserrat-v31-latin-300.svg#Montserrat') format('svg'); /* Legacy iOS */
}
/* montserrat-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/montserrat-v31-latin-regular.eot'); /* IE9 Compat Modes */
    src: url('../fonts/montserrat-v31-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../fonts/montserrat-v31-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    url('../fonts/montserrat-v31-latin-regular.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
    url('../fonts/montserrat-v31-latin-regular.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
    url('../fonts/montserrat-v31-latin-regular.svg#Montserrat') format('svg'); /* Legacy iOS */
}
/* montserrat-700 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/montserrat-v31-latin-700.eot'); /* IE9 Compat Modes */
    src: url('../fonts/montserrat-v31-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../fonts/montserrat-v31-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    url('../fonts/montserrat-v31-latin-700.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
    url('../fonts/montserrat-v31-latin-700.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
    url('../fonts/montserrat-v31-latin-700.svg#Montserrat') format('svg'); /* Legacy iOS */
}

* {
    color: var(--grey);
    font-family: 'Montserrat', sans-serif;
}

body,
html {
    overflow-x: hidden;
}

body {
    margin: 0;
}

body.no-scroll,
html.no-scroll {
    overflow-y: hidden;
}

.only-desktop {
    display: block;
}

.only-mobile {
    display: none;
}

.graydient {
    background: linear-gradient(#282828 0%, #737374 100%);
}

.blackgradient {
    background: linear-gradient(#000 0%, rgba(0, 0, 0, 0.62) 100%);
}

h1 {
    color: #FFF;
    font-size: 50px;
    line-height: 56px;
    font-weight: 300;
}

p {
    line-height: 28px;
}

p.big-text {
    font-size: 28px;
    line-height: 1.5;
    font-weight: 100;
}

p.big-text strong,
p.big-text b {
    font-weight: 700;
}

/*.entry-content > .panel-layout > .panel-grid {*/
/*  padding-left: 70px;*/
/*  padding-right: 70px;*/
/*  box-sizing: border-box;*/
/*  width: 100%;*/
/*}*/

/*.siteorigin-panels-stretch {*/
/*  padding-left: 0 !important;*/
/*  padding-right: 0 !important;*/
/*  margin-left: -70px !important;*/
/*  margin-right: -70px !important;*/
/*}*/

/*.single .entry-content > .panel-layout > .panel-grid {*/
/*  padding-left: 0;*/
/*  padding-right: 0;*/
/*}*/

.btn-default,
.wpcf7-submit {
    background-color: transparent;
    border: 2px solid #FFF;
    color: #FFF;
    font-size: 14px;
    padding: 15px 37.5px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: all 0.3s;
    display: inline-block;
}

.btn-default.btn-w-red,
.wpcf7-submit {
    border: 2px solid var(--red) !important;
    color: var(--red);
}

.btn-default.btn-w-red:hover,
.wpcf7-submit:hover {
    background-color: var(--red);
    color: #FFF;
}

.btn-default.btn-red {
    background-color: var(--red);
    border-color: var(--red);
    color: #FFF;
}

.btn-default.btn-red:hover {
    background-color: #FFF;
    border-color: #FFF;
    color: var(--red);
}

.btn-default.btn-blue:hover {
    background-color: var(--blue);
    border: 2px solid var(--blue);
}

.container {
    display: flex;
    justify-content: space-between;
    padding: 0 70px;
}

.col-25 {
    flex: 0 1 calc(100% / 4 - 15px);
    max-width: calc(100% / 4 - 15px);
}

.col-33 {
    flex: 0 1 calc(100% / 3 - 15px);
    max-width: calc(100% / 3 - 15px);
}

.col-50 {
    flex: 0 1 calc(100% / 2 - 15px);
    max-width: calc(100% / 2 - 15px);
}

.col-100 {
    width: 100%;
}

.content-centered {
    display: flex;
    place-items: center;
}

.flex-wrap {
    display: flex;
    flex-wrap: wrap;
}

header {
    background-color: transparent;
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    z-index: 5;
}

.header-inner {
    padding-block: 30px;
    -webkit-transition: background-color 0.25s;
    -moz-transition: background-color 0.25s;
    -ms-transition: background-color 0.25s;
    -o-transition: background-color 0.25s;
    transition: background-color 0.25s;
}

header.sticky-header .header-inner {
    background-color: #FFF;
    box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.15);
}

#menutoggle {
    appearance: none;
    background: none;
    border: none;
    display: flex;
    padding: 0;
    position: relative;
}

#menutoggle:hover {
    cursor: pointer;
}

.menutoggle-hover {
    left: 100%;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    transition: all 0.25s;
}

.menutoggle-blocks {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    opacity: 1;
    transition: opacity 0.2s;
    width: 25px;
}

#menutoggle:hover .menutoggle-blocks {
    opacity: 0;
}

#menutoggle:hover .menutoggle-hover {
    left: -100%;
    opacity: 1;
}

.menu-block-single {
    background-color: #FFF;
    height: 10px;
    -webkit-transition: background-color 0.25s;
    -moz-transition: background-color 0.25s;
    -ms-transition: background-color 0.25s;
    -o-transition: background-color 0.25s;
    transition: background-color 0.25s;
    width: 10px;
}

.logo a {
    display: block;
    height: 75px;
    position: relative;
    text-decoration: none;
}

.logo a img {
    width: auto;
    height: 100%;
    display: block;
    transition: visibility 0.25s;
    position: absolute;
    left: 0;
    top: 0;
}

header.sticky-header .header-inner .menu-block-single {
    background-color: #000;
}

header.sticky-header .header-inner .menutoggle-hover span {
    color: #000;
}

#hauck-positiv-logo {
    visibility: hidden;
}

header.sticky-header #hauck-logo {
    visibility: hidden;
}

header.sticky-header #hauck-positiv-logo {
    visibility: visible;
}

.menutoggle-hover {
    gap: 10px;
}

.menutoggle-hover span {
    color: #FFF;
}

.menu-container {
    background-color: #FFF;
    display: none;
    height: 100vh;
    left: 0;
    position: absolute;
    top: 0;
    visibility: hidden;
    width: 100%;
    z-index: 10;
}

.menu-container.active {
    display: block;
    visibility: visible;
}

.menu-inner {
    height: 100%;
    position: relative;
}

.menu-left,
.menu-right {
    flex-direction: column;
    height: 100%;
    /*justify-content: center;*/
    width: 50%;
}

.menu-left-content,
.menu-right-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 35%;
    gap: 75px;
}

.hauck-logo-menu {
    width: 280px;
    height: auto;
    display: block;
}

#menu-mainmenu,
#menu-hauptmenu-rechts {
    margin: 0;
    padding: 0;
}

#menu-mainmenu li,
#menu-hauptmenu-rechts li {
    display: block;
    margin: 15px 0;
}

#menu-mainmenu li a {
    color: var(--grey);
    font-size: 50px;
    font-weight: 300;
    line-height: 56px;
    text-decoration: none;
    transition: color 0.3s;
}

#menu-hauptmenu-rechts li a {
    color: #fff;
    font-size: 50px;
    font-weight: 300;
    line-height: 56px;
    text-decoration: none;
    transition: color 0.3s;
}

#menu-mainmenu li.current-menu-item a,
#menu-mainmenu li:hover a,
#menu-hauptmenu-rechts li.current-menu-item a,
#menu-hauptmenu-rechts li:hover a {
    color: var(--red);
}

.menuteaser-content {
    display: block;
    gap: 25px;
}

.menuteaser-content img {
    margin-bottom: 25px;
    max-width: 280px;
    object-fit: contain;
    object-position: bottom;
    width: 100%;
}

.menuteaser-header p {
    color: #FFF;
    font-size: 30px;
    line-height: 42px;
}

.menuteaser-header strong {
    color: #FFF;
}

.menuteaser-text + .btn-default {
    margin-top: 50px;
}

.menuteaser-text * {
    color: #FFF;
    font-size: 16px;
}

.menuteaser-content a {
    display: inline-block;
}

#menuclose {
    all: unset;
    align-items: center;
    color: #FFF;
    display: flex;
    gap: 10px;
    position: absolute;
    right: 70px;
    top: 50px;
}

#menuclose span {
    color: #FFF;
}

#menuclose:hover {
    cursor: pointer;
}

.heroslider-container {
    height: 100vh;
}

.heroslider-inner {
    height: 100%;
}

.swiffy-slider {
    height: 100%;
}



.slide-single {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}

.slide-single img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

.slide-single h1,
.slide-single h2,
.slide-single h3,
.slide-single h4 {
    color: #FFF;
    font-size: 50px;
    line-height: 56px;
    font-weight: 300;
    padding: 40px 50px;
    background: rgba(0, 0, 0, 0.75);
    width: 50%;
}

.slide-single a {
    text-decoration: none;
}

.slide-single a * {
    transition: color 0.25s;
}

.slide-single a:hover * {
    color: var(--red);
}

.container.slide-content {
    z-index: 3;
    padding: 0 20px;
}

.slider-controls {
    bottom: 30px;
    position: absolute;
    z-index: 2;
}

.slider-indicators {
    bottom: 50px;
    gap: 35px;
    justify-content: flex-start;
    left: 0px;
    margin: 0;
    padding-left: 70px;
    position: absolute;
    width: 75%;
}

.slider-indicators button {
    all: unset;
    opacity: 0.45;
    transition: opacity 0.3s;
}

.slider-indicators button.active {
    opacity: 1
}

.slider-indicators button:hover {
    cursor: pointer;
}

.slider-indicators button .indicator-bar {
    background-color: #FFF;
    height: 3px;
    margin: 15px 0;
    position: relative;
    width: 100%;
}

.slider-indicators button .indicator-bar:after {
    background-color: var(--red);
    content: "";
    height: 3px;
    opacity: 1;
    position: absolute;
    left: 0;
    width: 0%;
}

.slider-indicators button.active .indicator-bar:after {
    animation-name: progressbar;
    -webkit-animation-duration: 5s;
    -moz-animation-duration: 5s;
    -o-animation-duration: 5s;
    animation-duration: 5s;
}

@keyframes progressbar {

    0% {
        width: 0%;
    }

    100% {
        width: 100%;
    }

}

.slider-indicators button span {
    color: #FFF;
    font-weight: 700;
}

.slider-indicators button p {
    color: #FFF;
    line-height: 19px;
    margin-bottom: 0;
}

.slider-indicators.count-2 button {
    flex: 0 1 calc(100% / 3 - 15px);
    max-width: calc(100% / 3 - 15px);
}

.slider-indicators.count-3 button {
    flex: 0 1 calc(100% / 4 - 15px);
    max-width: calc(100% / 4 - 15px);
}

.slider-nav-container {
    bottom: 50px;
    display: flex;
    gap: 5px;
    justify-content: flex-end;
    right: 0px;
    padding-right: 70px;
    position: absolute;
    width: 25%;
}

.slider-nav {
    all: unset;
}

.slider-nav:hover {
    cursor: pointer;
}

.slider-nav svg path {
    transition: fill 0.3s;
}

.slider-nav:hover svg path {
    fill: var(--red);
}

body:not(.home) .bio-container {
    margin-top: 50px;
}

.bio-top-content {
    flex-wrap: nowrap;
    gap: 50px;
    padding: 50px 200px;
    position: relative;
    align-items: flex-end;
}

.bio-image-container {
    flex: 0 0 317px;
}

.bio-image-container img {
    width: 100%;
    height: auto;
    display: block;
}

.bio-quote {
    color: #FFF;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 30px;
}

.bio-quote-text * {
    color: #FFF;
}

.bio-quote-container .btn-default {
    display: inline-block;
    position: relative;
}

.bio-quote:before {
    background: linear-gradient(#282828 0%, #737374 100%);
    content: "";
    height: calc(100% - 75px);
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

.bio-text {
    columns: 2;
}

.bio-text p {
    font-size: 16px;
    line-height: 28px;
}

.facts-inner {
    padding: 100px 0;
    position: relative;
}

.facts-inner img {
    height: 100%;
    left: 0;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -2;
}

.facts-overlay {
    height: 100%;
    left: 0;
    opacity: 0.85;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

.facts-wrap {
    justify-content: space-between;
    margin: 0;
}

.facts-single {
    display: block;
}

.facts-number {
    color: #FFF;
    font-size: 50px;
    font-weight: 700;
    margin: 0;
    line-height: 61px;
}

.facts-single hr {
    margin: 15px 0;
    width: 40%;
}

.facts-text * {
    color: #FFF;
    line-height: 23px;
}

.references-wrap {
    gap: 50px 0px;
}

.references-single {
    display: block;
    min-height: 500px;
    overflow: hidden;
    position: relative;
}

.references-single a {
    display: flex;
    justify-content: center;
    height: 100%;
    text-decoration: none;
}

.references-single img {
    height: 100%;
    left: 0;
    object-fit: cover;
    position: absolute;
    top: 0;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    transition: transform 0.3s;
    width: 100%;
    z-index: -2;
}

.references-single-overlay {
    display: flex;
    height: 100%;
    justify-content: center;
    left: 0;
    object-fit: cover;
    opacity: 0;
    position: absolute;
    transition: all 0.3s;
    top: 100%;
    width: 100%;
    z-index: -1;
}

.references-single-cat {
    color: #FFF;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.7px;
    line-height: 18px;
    margin-bottom: 0;
    text-transform: uppercase;
}

.references-single-content {
    margin: auto 0;
    padding: 0 90px;
    width: 100%;
}

.references-single h3 {
    color: #FFF;
    font-size: 24px;
    font-weight: 300;
    line-height: 30px;
    margin: 15px 0;
}

.references-single-link {
    display: block;
    overflow: hidden;
}

.references-single-link:hover .references-single-overlay {
    opacity: 0.85;
    top: 0;
}

.references-single-link:hover img {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2);
}

.references-cta {
    display: flex;
    justify-content: center;
    padding: 50px 0;
}

.references-cta .btn-default {
    margin: auto;
}

.herosubpage-container {
    height: 50vh;
}

.herosubpage-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: flex-end;
}

.herosubpage-content {
    padding-bottom: 5%;
    width: 65%;
}

.herosubpage-content p {
    color: #FFF;
}

.heroreference-top img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
}

.heroreference-bottom {
    display: flex;
    padding: 50px 70px;
}

.heroreference-bottom h1 {
    color: var(--grey);
    margin: auto 0;
    width: 65%;
}

.heroreference-facts {
    margin: 50px 0;
}

.heroreference-facts ul {
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    width: 100%;
}

.heroreference-facts ul li {
    display: block;
    margin: 0;
    padding: 0;
}

.heroreference-facts ul li span.header,
.reference-navigation-category {
    color: #000;
    display: block;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.7px;
    line-height: 18px;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.herorerence-infos {
    display: block;
    padding: 50px 70px;
}

.heroreference-text {
    columns: 2;
}

.heroreference-text p {
    width: 75%;
}

.referenceimages-wrap {
    gap: 30px;
}

.referenceimages-single img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.divider hr {
    margin: 50px 0;
    width: 100%;
}

.reference-navigation-container {
    margin-bottom: 50px;
}

.reference-navigation-inner ul {
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: 50px 0;
    width: 100%;
}

.reference-navigation-inner ul li {
    display: block;
}

.reference-navigation-inner ul li:first-child a button svg {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
}

.reference-navigation-inner ul li:last-child {
    text-align: right;
}

.reference-navigation-link {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.reference-navigation-link {
    display: flex;
    flex-direction: column;
    text-decoration: none;
}

.reference-navigation-link h3 {
    font-size: 24px;
    font-weight: 300;
    margin: 0;
    -webkit-transition: color 0.25s;
    -moz-transition: color 0.25s;
    -ms-transition: color 0.25s;
    -o-transition: color 0.25s;
    transition: color 0.25s;
}

.reference-navigation-link:hover h3 {
    color: var(--red);
}

.gmk-team-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.gmk-team-image {
    width: 100%;
    height: auto;
    display: block;
}

.gmk-team-content {
    padding: 15px;
    box-sizing: border-box;
    background: var(--grey);
}

.gmk-team-name {
    color: #fff;
    display: block;
    font-weight: bold;
}

.gmk-team-position {
    color: #fff;
    display: block;
}

.gmk-team-name + .gmk-team-position {
    margin-top: 5px;
}

footer {
    margin-top: 50px;
}

footer * {
    color: #FFF;
    font-weight: 300;
}

footer strong {
    font-weight: 700;
}

footer a {
    text-decoration: none;
    -webkit-transition: color 0.25s;
    -moz-transition: color 0.25s;
    -ms-transition: color 0.25s;
    -o-transition: color 0.25s;
    transition: color 0.25s;
}

footer a:hover {
    color: var(--red);
}

.footer-top {
    align-items: center;
    padding: 25px 70px;
}

.footer-top .col-33 {
    display: flex;
}

.footer-top .col-33:nth-child(2) {
    justify-content: center;
}

.footer-top .col-33:last-child {
    justify-content: flex-end;
}

.footer-top .col-33 ul {
    margin: 0;
    padding: 0;
}

.footer-top .col-33 ul li {
    display: block;
    margin: 5px 0;
}

.footer-bottom {
    padding: 5px 70px;
}

.biotext-inner {
    padding: 50px 200px;
}

.biotext-text {
    columns: 2;
}

.biotext-text p {
    margin-top: 0;
}

.wpcf7-form label {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 15px 0;
    width: 100%;
}

.wpcf7-form-control-wrap,
.wpcf7-form input[type="submit"] {
    width: 100%;
    max-width: 600px;
    display: block;
}

.wpcf7-form-control {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    border: 1px solid #000;
    padding: 15px;
    font-size: 16px;
    width: 100%;
    box-sizing: border-box;
}

.wpcf7-form-control.wpcf7-acceptance {
    border: none;
    padding: 0;
}

.wpcf7-acceptance .wpcf7-list-item {
    margin-left: 0;
}

.wpcf7-acceptance label {
    flex-direction: row;
    align-items: flex-start;
}

.wpcf7-acceptance input[type="checkbox"] {
    margin: 0;
    flex: 0 0 16px;
    height: 16px;
}

.wpcf7-submit {
    padding: 15px 50px;
}

.wpcf7-submit:hover {
    cursor: pointer;
}

.wpcf7-form-control:focus-visible {
    outline: 1px solid var(--red);
}

.error-404-outer {
    width: 100vw;
    height: 100vh;
    position: relative;
}

.error-404-inner {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% - 40px);
    max-width: 600px;
    text-align: center;
}

.error-404-inner h1 {
    color: var(--red);
    font-size: 26px;
    line-height: 1.5;
    margin-top: 30px;
}

@media screen and (max-width: 950px) and (orientation: landscape) {

    .container {
        padding: 30px;
    }

    .slider-indicators {
        display: none;
    }

    .slide-content h1 {
        font-size: 36px;
        line-height: 44px;
        width: 65%;
    }

    .slider-nav::after,
    .slider-nav::before {
        display: none;
    }

    .slider-nav-container {
        z-index: 4;
    }

    .menu-inner {
        overflow-y: scroll;
    }

    .menu-left-content,
    .menu-right-content {
        padding-top: 35px;
    }

    .menuteaser-content img {
        display: none;
    }

    #menuclose {
        top: 35px;
    }

    .menuteaser-header p {
        font-size: 16px;
        line-height: 24px;
    }

    .menu-right {
        justify-content: center;
    }

    .bio-top-content {
        padding: 0 70px;
    }

    .biotext-inner {
        padding: 50px 70px;
    }

    .references-single-content {
        padding: 0 30px;
    }

    .heroreference-bottom {
        padding: 30px;
    }

    .heroreference-bottom h1,
    .herosubpage-content h1 {
        hyphens: auto;
        word-wrap: break-word;
        -webkit-hyphens: auto;
        width: 100%;
    }

    .herosubpage-container {
        height: initial;
    }

    .herosubpage-inner {
        padding-top: 60px;
    }

}

@media screen and (max-width: 900px) {

    .only-desktop {
        display: none;
    }

    .only-mobile {
        display: block;
    }

    .container {
        flex-direction: column;
        padding: 30px;
    }

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

    .col-25,
    .col-33,
    .col-50 {
        flex: initial;
        max-width: 100%;
    }

    .header-inner {
        flex-direction: row;
    }

    .slide-content h1 {
        width: 100%;
    }

    .slider-indicators button {
        flex: initial !important;
        max-width: 100% !important;
    }

    .slider-indicators {
        padding-left: 30px;
    }

    .slider-indicators {
        display: none;
    }

    .slider-nav-container {
        padding: 0 30px;
    }

    .slider-nav::after,
    .slider-nav::before {
        display: none;
    }

    .logo a {
        position: absolute;
        top: 20px;
        z-index: 11;
        width: 160px;
        height: auto;
    }

    .logo a img {
        width: 100%;
        height: auto;
    }

    body.no-scroll .logo a svg:first-child {
        display: none;
    }

    body.no-scroll #hauck-positiv-logo {
        visibility: visible;
    }

    .menu-inner {
        flex-direction: column;
        justify-content: center;
    }

    .menu-left,
    .menu-right {
        height: initial;
        justify-content: center;
        width: 100%;
    }

    .menu-left-content,
    .menu-right-content {
        padding: 0 30px;
    }

    .menu-left-content svg,
    .menu-right-content svg {
        display: none;
    }

    #menuclose {
        right: 30px;
        top: 35px;
    }

    #menuclose span {
        color: #000;
    }

    #menu-mainmenu li a,
    #menu-hauptmenu-rechts li a {
        font-size: 36px;
        line-height: 44px;
    }

    .menuteaser-content {
        padding: 0;
    }

    .menuteaser-content img {
        margin: 0;
    }

    .menuteaser-header,
    .menuteaser-text,
    .hauck-logo-menu {
        display: none;
    }

    .menu-left-content,
    .menu-right-content {
        gap: 40px;
    }

    .menu-right-content .menuteaser-content img {
        width: 160px;
        height: auto;
        display: block;
    }

    .facts-inner {
        padding: 30px 0;
    }

    .references-wrap {
        gap: 15px;
    }

    .references-single-content {
        padding: 0 30px;
    }

    .references-single-cat {
        margin: 0;
    }

    .references-single-link {
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
    }

    .references-single-link:hover img {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1);
    }

    .references-single-link.tap-active img {
        -webkit-transform: scale(1.2);
        -moz-transform: scale(1.2);
        -ms-transform: scale(1.2);
        -o-transform: scale(1.2);
        transform: scale(1.2);
    }

    .references-single-link:hover .references-single-overlay {
        opacity: 0;
        top: 100%;
    }

    .references-single-link.tap-active .references-single-overlay {
        opacity: 0.85;
        top: 0;
    }

    .bio-container {
        margin-top: 30px;
    }

    .bio-top-content {
        padding: 30px;
    }

    .bio-image-container {
        padding: 0;
    }

    .bio-image-container img {
        height: auto;
        width: 100%;
    }

    .bio-top-content {
        gap: 15px;
    }

    .bio-quote-container {
        display: flex;
        flex-direction: column;
    }

    .biotext-inner {
        padding: 30px;
    }

    .biotext-text {
        columns: 1;
    }

    .bio-quote:before {
        height: 100%;
    }

    .footer-top {
        align-items: flex-start;
    }

    .footer-bottom {
        padding: 15px 30px;
    }

    .footer-bottom p:last-child {
        font-size: 14px;
    }

    .herosubpage-container {
        height: initial;
    }

    .herosubpage-inner {
        padding-top: 60px;
    }

    .herosubpage-content {
        padding: 0;
        width: initial;
    }

    .heroreference-bottom {
        display: block;
        padding: 30px;
    }

    .heroreference-bottom h1,
    .herosubpage-content h1 {
        hyphens: auto;
        font-size: 36px;
        line-height: 44px;
        word-wrap: break-word;
        -webkit-hyphens: auto;
        width: 100%;
    }

    .heroreference-facts {
        margin: 0;
    }

    .heroreference-facts ul {
        flex-wrap: wrap;
        gap: 25px;
    }

    .heroreference-facts ul li {
        flex: 0 1 calc(100% / 2 - 15px);
        max-width: calc(100% / 2 - 15px);
    }

    .heroreference-text {
        columns: 1;
    }

    .heroreference-text p {
        width: 100%;
    }

    .divider hr {
        margin: 0;
    }

    .reference-navigation-inner ul {
        flex-direction: column;
        gap: 25px 0;
        padding: 0;
    }

    .wpcf7-form {
        display: flex;
        flex-direction: column;
    }

    .wpcf7-form label {
        margin: 10px 0;
    }

    .wpcf7-form-control {
        padding: 10px 0;
    }

    .wpcf7-submit {
        border-width: 1px !important;
    }

    .slide-single h1,
    .slide-single h2,
    .slide-single h3,
    .slide-single h4 {
        font-size: 28px;
        line-height: 1.2;
        padding: 20px;
        width: 100%;
        box-sizing: border-box;
    }

}

@media screen and (max-width: 650px) {
    .gmk-team-container {
        grid-template-columns: repeat(2, 1fr);
    }
}