* {    margin: 0;    padding: 0;    box-sizing: border-box;    scroll-behavior: smooth;}body {    width: 100vw;    font-size: 16px;    overflow-x: hidden;}#navbar {    top: 0;    width: 100vw;    position: fixed;    transition: all 0.3s ease;    z-index: 1001;}nav {    display: flex;    justify-content: space-around;    align-items: center;    height: 8vh;    background: #111;    /*background: rgb(248,128,75);*/    /*background: linear-gradient(90deg, rgba(248,128,75,1) 0%, rgba(253,19,73,1) 20%, rgba(224,8,91,1) 50%, rgba(142,1,204,1) 100%);*/    font-family: acumin-pro-condensed, sans-serif;    font-weight: 400;    font-style: normal;    z-index: 1000;}.logo img {    width: 120px;    height: auto;    margin-top: 35px;}.logo h4 {    text-indent: -99999px;}.nav-links {    display: flex;    justify-content: space-around;    width: 55%;    z-index: 3000;}.nav-links-mobile {    display: none;}.nav-links li {    list-style: none;}.nav-links li a {    color: rgb(236, 236, 236);    text-decoration: none;    letter-spacing: 1px;    font-size: 14px;    font-family: acumin-pro-condensed, sans-serif;    font-weight: 500;    font-style: normal;}.nav-links li a:hover {    color: #FD399B;}.nav-links li a.active {    color: #FD399B;}.burger {    display: none;    cursor: pointer;}.burger div {    width: 25px;    height: 2px;    background-color: rgb(236, 236, 236);    margin: 5px;    transition: all 0.3s ease;}/* ----- Content ----- */.sprung {    visibility: hidden;    height: 0 !important;    position: absolute;    margin: -8vh;}main {    margin-top: 8vh;}.keyvisual {    display: flex;    justify-content: center;    align-items: center;    position: relative;    width: 100vw;    height: 90vh;    background: rgb(248,128,75);    background: linear-gradient(90deg,    rgba(248,128,75,1) 0%, rgba(253,19,73,1) 20%,    rgba(224,8,91,1) 50%, rgba(142,1,204,1) 100%);}.broken-text {    display: flex;    justify-content: center;    align-items: center;    position: absolute;    top: 8%;    left: calc(50 - 50%);}.grid--2 {    display: grid;    grid-template-columns: 50% 50%;    grid-gap: 0.5rem;    width: 100vw;    min-height: 800px;    margin-top: 0.5rem;    margin-bottom: 0.75rem;}.grid--2-1 {    display: flex;    flex-direction: column;    justify-content: center;    background: #111;    margin-left: 0.5rem;}.grid--2-2 {    margin-right: 1rem;    background-image: url("../images/badisches_staatstheater_1920x1920.jpg");    background-size: cover;    min-height: 800px;}.grid--2-1,.grid--2-2 h2 {    padding-top: 120px;}.grid--2-3 {}.grid--2-4 {    background-image: url("../images/volksbank_money_1920x1920.jpg");    background-size: cover;    min-height: 800px;    background-position: 50% 50%;    margin-right: 1rem;}.grid--2-5 {    margin-left: 0.5rem;    background-image: url("../images/planen_1920x1920.jpg");    background-size: cover;    min-height: 800px;    background-position: 50% 50%;}.grid--2-6 {    margin-right: 1rem;    background-image: url("../images/fassaden_1920x1920.jpg");    background-size: cover;    min-height: 800px;    background-position: 50% 50%;}.grid-wrapper {    margin-bottom: 5rem;}.grid--3 {    display: grid;    grid-template-columns: 33.3% 33.3% 33.3%;    grid-gap: 0.5rem;    width: 90vw;    height: auto;    margin: 0.5rem auto 0.75rem auto;}.grid--3-1 {    position: relative;    display: flex;    flex-direction: column;    justify-content: flex-start;    align-items: flex-start;    background: #efefef;    margin-left: 0.5rem;    margin-top: 3rem;    margin-bottom: 5rem;    padding-bottom: 8rem;}.grid--3-1 img {    width: 100%;    height: auto;    margin-bottom: 3rem;    border-bottom: 5px solid #fff;}.grid--3-1 h2 {    font-size: 2.5rem;    letter-spacing: 0;    line-height: 0.8;    min-height: 85px;    padding: 2rem;    color: #575a70;    overflow: hidden;    text-align: left;}.grid--3-1 h2 span {    color: #FD399B;    font-family: acumin-pro-condensed, sans-serif;    font-weight: 300;    text-transform: lowercase;    font-size: 2rem;}.grid--3-1 h3 {    font-size: 1.35rem;    letter-spacing: 0;    line-height: 1;    padding: 2rem 2rem 1rem 2rem;    color: #575a70;    overflow: hidden;    text-align: left;}.grid--3-1 p {    font-size: 0.9rem;    font-weight: 300;    line-height: 1.5;    text-align: left;    padding: 0 2rem 0 2rem;    color: #111;}.grid--3-1 h2.jobs {    margin-bottom: 0;    padding-bottom: 0;    font-size: 2rem;    line-height: 1;}.grid--3-1 h3.jobs-subline {    padding-top: 0;    padding-bottom: 3rem;    font-family: acumin-pro,sans-serif;    font-size: 1rem; font-weight: bold;    text-transform: uppercase;    margin-top: -10px;}ul.jobs-copy-list {    font-family: acumin-pro, sans-serif;    font-size: 0.9rem;    font-weight: 300;    line-height: 1.5;    text-align: left;    padding: 0 2rem 0 2rem;    color: #111;}ul.jobs-copy-list li {    list-style: initial;    margin-left: 1rem;}ul.jobs-copy-list li::marker {    color: #FD399B;}.grid--3-1 p.jobs-copy {    padding-top: 0;}.grid--3-1 p.jobs-copy-bold {    padding-top: 3rem;    padding-bottom: 0.5rem;    font-weight: 900;    color: #575a70;}.grid--3-1 button {position: absolute;    width: 100%;    bottom: 0.5rem;    left: calc(50% - 50%);}.grid--3-1.no-background {    background: transparent;    padding-bottom: 0;    margin-top: 0;    margin-bottom: 0;}.grid--3-1.no-background img {    background: transparent;    padding-bottom: 0;    margin-top: 0;    margin-bottom: 0;}.grid--4 {    display: grid;    grid-template-columns: 1fr 1fr 1fr 1fr;    grid-template-rows: 1fr 1fr;    grid-gap: 0.5rem;    width: 70vw;    height: auto;    margin: 0.5rem auto 5rem auto;}.grid--4-1 {    display: flex;    flex-direction: column;    justify-content: flex-start;    background: #efefef;}.grid--4-1 p{    font-size: 0.9rem;    font-weight: 300;    line-height: 1.5;    text-align: left;    padding: 2rem;    color: #111;}.grid--4-1 p a {    color: #111;    font-weight: 500;}.grid--4-1 p a:hover {    color: rgba(142,1,204,1);    font-weight: 500;}.technik {    padding: 5rem;}.beschriftungen {    background-color: rgba(255,255,255,1);}.busseundbahnen {    background-color: rgba(255,255,255,1);}.digital {    padding: 5rem;    background: #ff00a2;}.planen {    background: #fff;    padding: 5rem;}.fassaden {    padding: 5rem;    background: #FD399B;}.pos {    background-image: url("../images/pos.jpg");    background-size: cover;    min-height: 800px;    width: 100vw;    background-position: 50% 50%;}.flex--1 {    display: flex;    padding: 1rem 0;    flex-direction: column;    justify-content: center;    align-items: center;    height: 100vh;    overflow: hidden;}.flex--1.technik {    display: flex;    justify-content: flex-start;    background-color: #000;}.flex--1 .busseundbahnen-image {    background-image: url('../images/strassenbahn2.jpg');    background-size: cover;    background-position: center center;    height: 55vh;    width: 100vw;    margin-bottom: 3rem;    margin-top: -80px;}.flex--1 .beschriftungen-image {    background-image: url('../images/holub_truck.jpg');    background-size: cover;    background-position: center center;    height: 55vh;    width: 100vw;    margin-bottom: 3rem;    margin-top: -80px;}.flex--1 .digital-image {    background-image: url('../images/AdobeStock_292925283.jpeg');    background-size: cover;    background-position: center center;    height: 55vh;    width: 100vw;    margin-bottom: 3rem;    margin-top: -80px;}.flex--1 .planen-image {    background-image: url('../images/holub_plane.jpg');    background-size: cover;    background-position: bottom center;    height: 55vh;    width: 100vw;    margin-bottom: 3rem;    margin-top: -80px;}.flex--1 .verkaufsfoerderung-image {    background-image: url('../images/holub_verkaufsfoerderung.jpg');    background-size: cover;    background-position: center center;    height: 55vh;    width: 100vw;    margin-bottom: 3rem;    margin-top: -80px;}.flex--1 .fassade-image {    background-image: url('../images/holub_fassade1.jpg');    background-size: cover;    background-position: top center;    height: 55vh;    width: 100vw;    margin-bottom: 3rem;    margin-top: -100px;}.flex--1.digital {    background: #ffffff;}.flex--1.planen {    background: #fff;}.flex--1.verkaufsfoerderung {    background: rgba(142,1,204,1);}.flex--1.fassaden {    background:  #FD399B;}.flex--1.busseundbahnen {    background-color: rgb(255, 255, 255);}.flex--1-impressum {    display: flex;    flex-direction: row;    justify-content: flex-start;    align-items: center;    overflow: hidden;    margin-top: 15rem;    margin-bottom: 5rem;    flex-wrap: wrap;    width: 50vw;    margin-left: 25vw;}.flex--1.white {    background-color: #ffffff;}.flex--1 p {    width: 50%;}.flex--2 {    display: flex;    padding: 1rem;    justify-content: center;    align-items: center;}.flex--2 img {    width: 50%;}.flex--3 {    display: flex;    padding: 1rem 0;    flex-direction: column;    justify-content: center;    align-items: center;    height: 100vh;    overflow: hidden;}.flex--4 {    display: flex;    width: 100vw;    height: 100vh;    flex-direction: column;    padding: 0;    justify-content: center;    align-items: center;    overflow: hidden;    margin: 0 auto;}.flex--4-1 {    width: 20%;    padding: 1rem;}.flex--4-1 p {    color: #000;    font-family: acumin-pro, sans-serif;    font-weight: 300;    text-align: left;    background: #eee;    padding: 2rem;}.flow {    width: 100%;    animation-name: flow;    animation-duration: 8s;    position: relative;    animation-iteration-count: 2;}@keyframes flow {    0% {left: 100%;}    100% {left: 0;}}.impressum {    display: flex;    justify-content: space-around;    align-items: flex-start;    width:50vw;    margin-top: 3rem;    flex-wrap: wrap;}.impressum p {    font-weight: 400;    color: #111;    text-align: left;    padding: 1rem 0 2rem 0;}.impressum h3 {    text-align: left;    letter-spacing: 1px;}.impressum h4 {    text-align: left;    letter-spacing: 1px;    margin: 0.5rem 0;}.impressum em {    color:#c8007f;}/* ----- typography -----*/.keyvisual h1 {    font-size: 12vw;    font-family: acumin-pro-extra-condensed, sans-serif;    font-weight: 800;    font-style: normal;    color: white;    text-align:right;    line-height: 8.2vw;    text-transform: uppercase;    letter-spacing: -3px;}h1 {    font-size: 16vw;    font-family: acumin-pro-extra-condensed, sans-serif;    font-weight: 800;    font-style: normal;    color: white;    text-align:right;    line-height: 11vw;    text-transform: uppercase;    letter-spacing: -3px;}h1.aside {    text-align: left;    opacity: 1;    color: rgba(248,128,75,1)}.container {    display: flex;    flex-direction: column;    justify-content: center;}.container-image {    position: relative;}.container-image img {    width: 100%;    object-fit: contain;}.container-image-white {    position: relative;}.container-image-white img {    width: 100%;    object-fit: contain;}.container-image::after {    content: '';    background-color: rgba(0, 0, 0, 0.2);    position: absolute;    top: 0;    right: 0;    bottom: 0;    left: 0;}.container-image h1 {    position: absolute;    top: 20rem;    right: 0;    bottom: 0;    left: 0;    font-size: 7rem;    text-align: center;    color: #fff;    line-height: 0.8;    z-index: 900;    letter-spacing: -1px;}.container-image h4 {    position: absolute;    top: 18rem;    left: 0;    bottom: 0;    right: 0;    color: #fff;    z-index: 999;}.container-image-white h1 {    position: absolute;    top: 10rem;    right: 0;    bottom: 0;    left: 0;    font-size: 7rem;    text-align: center;    color: #111;    line-height: 0.8;    z-index: 900;    letter-spacing: -1px;}.subpage {    display: flex;    justify-content: flex-start;    align-items: center;    flex-direction: column;    width: 100vw;    padding-top: 2rem;}.subpage-column-3 {    display: flex;    justify-content: center;    align-items: flex-start;    flex-direction: row;    width: 60vw;    padding: 2rem;    margin: 0 auto;}.grey-background {    background: #efefef;    width: 90vw;    margin: 0 auto 5rem auto;}.subpage h1 {    color: #111;    font-size: 6rem;    letter-spacing: -1px;}.subpage h2 {    font-size: 2.5rem;    letter-spacing: 0;    line-height: 1;    color: #575a70;    overflow: hidden;    text-align: center;    padding-top: 3rem;    height: auto;}.description {    width: 50vw;    padding-top: 3rem;    padding-bottom: 8rem;    font-weight: 300;    column-count: 2;    text-align: left;}h2 {    font-size: 7rem;    line-height: 5rem;    font-family: acumin-pro-extra-condensed, sans-serif;    text-align: center;    font-weight: 800;    width: 100%;    text-transform: uppercase;    letter-spacing: -3px;}h3 {    font-family: acumin-pro-extra-condensed, sans-serif;    font-size: 1.35rem;}.white{    color: #fff;}.black {    color: #000;}p.white {    padding-top: 3rem;    font-size: 1.15rem;}p.black {    padding-top: 3rem;    width: 50vw;    text-align: center;    font-size: 1.15rem;    color: #313030;}p.black-column-3 {    padding: 3rem 0.25rem 0 3rem;    width: 33%;    text-align: left;    font-size: 1.15rem;    color: #313030;    font-weight: 500;}h4 {    color: #c8007f;    font-family: acumin-pro, sans-serif;    text-align: center;    font-weight: 800;    font-size: 14px;    letter-spacing: 10px;    padding-bottom: 1rem;}p {    font-size: 1rem;    font-family: acumin-pro, sans-serif;    text-align: center;    font-weight: 800;    line-height: 1.5;}.button-group {    display: flex;    width: 50vw;}.btn {    display: flex;    justify-content: center;    align-items: center;    position: absolute;    bottom: 2%;    left: calc(50% - 25px);    width: 50px;    height: 50px;    cursor: pointer;    background-repeat: no-repeat;    transition-duration: 0.2s;    transition-timing-function: ease-in-out;    transition-property: background-color, color;    outline: none;}.btn span {    color: #fff;}.btn span:hover {    color: #c8007f;;}.btn a:hover {    background: #fff;    color: #fff;}.btn-contact,.btn-more,.btn-mail,.btn-call {    border-radius: 20px;    border: none;    text-align: center;    cursor: pointer;    outline: none;    margin: 3rem auto;}.btn-contact a,.btn-more a,.btn-mail a,.btn-call a{    display: inline-block;    width: 200px;    height: 30px;    border-radius: 20px;    text-transform: uppercase;    font-weight: 800;    font-size: 12px;    letter-spacing: 1px;    text-align: center;    line-height: 2rem;}.btn-contact a,.btn-mail a,.btn-call a {    background-color: rgba(253,19,73,1);    color: rgba(255, 255, 255, 1);}.btn-more a {    background-color: #c8007f;    color: rgba(255, 255, 255, 1);}.btn-contact a:hover,.btn-more a:hover,.btn-mail a:hover,.btn-call a:hover{    color: rgba(255, 255, 255, 0.7);    background-color: rgba(224,8,91,1)}.btn a {    color: rgba(255, 255, 255, 1);}.help {    width: 120px;    height: 50px;    position: fixed;    top: 220px;    right: 0;    background-color: rgb(248,128,75);    border-radius: 8px 0 0 8px;    opacity: 1;    z-index: 1000;    padding-left: 10px;    padding-top: 12px;}.help i {    color: #ffffff;}.fuchsAndFriends img {    position: absolute;    right: 3%;    bottom: 10%;    width: 200px;}.video-desktop {    position: relative;    width: 100%}.video-desktop h1 {    position: absolute;    width: 100%;    top: 20%;    left: 50%;    transform: translate(-50%, -50%);    font-size: 6rem;    color: #fff;    text-align: center;    letter-spacing: -1px;}.nav-active {    transform: translateX(0%);}@keyframes navLinkFade {    from {        opacity: 0;        transform: translateX(50px);    }    to {        opacity: 1;        transform: translateX(0px);    }}.toggle .line1 {    transform: rotate(-45deg) translate(-4px, 6px);}.toggle .line2 {    opacity: 0;}.toggle .line3 {    transform: rotate(45deg) translate(-4px, -6px);}