/*--- Global ---*/
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    border: none;
    font-size: 100%;
}

:root {
    --prim-color: #F0C152;
    --sec-color: #18202E;
    --not-white: #F0F2E8;
}

body{
    background-color: var(--not-white);
}

.scale {
    width: 100%;
    height: auto;
}


.align-content {
    margin: 0 10%;
}

.text-soft-break {
    margin: .7rem 0;
    display: inline-block;
}

.btn-primary {
    background-color: var(--prim-color);
    color: var(--sec-color);
    font-size: 1.5rem;
    font-family: 'Antonio';
    font-weight: normal;
    padding: 8px 35px;
    margin-right: 3%;
    transition: all .2s ease-in-out;
}

.btn-primary:hover {
    background-color: var(--sec-color);
    color: var(--prim-color);
    outline: 3px solid var(--prim-color);
    fill: var(--prim-color);
}

.btn-secondary {
    background-color: var(--not-white);
    color: var(--sec-color);
    font-size: 1.5rem;
    font-family: 'Antonio';
    font-weight: normal;
    padding: 8px 35px;
    margin-right: 3%;
    transition: all .2s ease-in-out;
}

.btn-secondary:hover {
    background-color: var(--sec-color);
    color: var(--not-white);
    outline: 3px solid var(--not-white);
}

.btn-secondary:hover .icon {
    fill: var(--not-white);
}

.cookie-banner {
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: space-between;
    bottom: 0%;
    width: 100%;
    background-color: var(--sec-color);
    border-top: solid 3px var(--not-white);
    z-index: 5;
    padding: 1.2rem 10% 1.4rem;
}

.cookie-banner a {
    text-decoration: underline var(--prim-color);
    color: var(--not-white);
    transition: all .1s ease-in;
}

.cookie-banner a:hover {
    color: var(--prim-color);
}

#cookie-button-container {
    margin-left: 5%;
}

#cookie-button-container button{
    padding: 1rem 2rem;
    margin: 1rem 2rem 1rem 0;
}

#accept-necessary-cookies {
    outline: solid 2px var(--not-white);
    background-color: var(--sec-color);
    color: var(--not-white);
    transition: all .1s ease-in;
}

#accept-all-cookies{
    background-color: var(--not-white);
    transition: all .1s ease-in;
}

#cookie-button-container button:hover {
    background-color: var(--sec-color);
    color: var(--not-white);
    outline: solid 2px var(--prim-color);
}

.column-flex {
    flex-direction: column;
}

.row-flex {
    flex-direction: row;
    justify-content: space-between;
}

.display-none {
    display: none;
}

.display-flex {
    display: flex;
}

/*--- Schrift ---*/

@font-face {
    font-family: 'Antonio';
    src: url(../fonts/Antonio.ttf);
}

@font-face {
    font-family: 'Roboto';
    src: url(../fonts/Roboto.ttf);
}

h1 {
    font-family: 'Antonio';
    font-weight: bold;
    font-size: 3rem;
    color: var(--not-white);    
}

h2 {
    font-family: 'Antonio';
    font-weight: bold;
    font-size: 2rem;
    color: var(--sec-color);
    margin-bottom: 1.4rem;
}

h3, .nav-item {
    font-family: 'Antonio';
    font-weight: bold;
    font-size: 1.6rem;
}

h3{
    margin-bottom: .4rem;
}

h4{
    font-family: 'Roboto';
    font-size: 1.4rem;
    margin-bottom: .6rem;
}

p, .garantie-liste {
    font-size: 1.4rem;
    font-family: 'Roboto';
    font-weight: 400;
    line-height: 140%;
    color: var(--sec-color);
}

a{
    text-decoration: none;
}

.mail-link {
    color: var(--sec-color);
    text-decoration: underline 2px var(--prim-color);
}

#formular-list {
    list-style-type: none;
    font-size: 1.4rem;
    font-family: 'Roboto';
    font-weight: 400;
    line-height: 200%;
    color: var(--sec-color);
}

#landing-text p {
    color: var(--not-white);
    font-size: 1.5rem;
    margin-bottom: 1.4rem;
}

.font-c-yellow {
    color: var(--prim-color);
}

.font-c-not-white {
    color: var(--not-white);
}

.font-c-blue {
    color: var(--sec-color);
}

.f-w-bold {
    font-weight: bold;
}

.f-w-regular {
    font-weight: normal;
}

.underline {
    text-decoration: underline var(--prim-color) 4px;
}

.icon {
    height: 1.7rem;
    width: 1.7rem;

}

.blue-icon {
    fill: var(--sec-color);
}

.blue-icon:hover {
    fill: var(--not-white);
}

.yellow-icon {
    fill: var(--prim-color);
}

.white-icon {
    fill: var(--not-white);
}


address {
    text-decoration: none;
    font-style: normal;
    font-family: 'Roboto';
    font-size: 1.4rem;
    line-height: 150%;
}
/*--- Header ---*/

nav {
    position: fixed;
    top: 0%;
    z-index: 5;
    width: 100vw;
    min-height: 115px;
    height: 11vh;
    background-color: var(--sec-color);
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    padding: 0 10%;
}

.nav-logo {
    width: 15%;
    min-width: 175px;
    max-width: 250px;
    margin: auto 0;
}

.nav-list {
    display: flex;
    width: 30rem;
    margin: auto 0  ;
    justify-content: space-between;
    list-style: none;
}

.nav-item {
    font-family: 'Roboto';
    font-weight: 300;
    font-size: 1.5rem;
    display: inline;
    color: var(--not-white);
}

.nav-link {
    position: relative;
    text-decoration: none;
}

.info-icon {
    display: flex;
    height: auto;
    align-items: center;
    width: 40px;
    padding: 5%;
}

.nav-info-list {
    position: absolute;
    display: flex;
    justify-content: space-between;
    background-color: var(--not-white);
    color: var(--sec-color);
    font-family: 'Roboto';
    z-index: 5;
    transform: translateX(7%);
    width:30%;
    min-width: 500px;
    top: 110%;
    right: 0%;
    margin-right: 10%;
    padding: 2% 3%;
    opacity: 0%;
    box-shadow: 2px 2px 10px 5px rgba(0,0,0,0.3);
    transition: all .1s ease-out;
}

.info-box-tip {
    position: absolute;
    transform: rotate(45deg);
    border-radius: 10%;
    bottom: 90%;
    right: 7%;
    height: 45px;
    width: 45px;
    background-color: var(--not-white);
}

.nav-info-list ul {
    list-style-type: none;
    line-height: 170%;
}

.nav-active {
    color: var(--prim-color);
}

.hover-underline::after {
    content: '';
    position: absolute;
    top: 120%;
    left: 0%;
    width: 0%;
    transform: translateY(-50%);
    height: 4px;
    border-radius: 10px;
    background: var(--prim-color);
    transition: 0.5s ease-in-out;
}

.underline-hover::after {
    width: 100%;
}

.hamburger-icon {
    display: none;
    width: 35px;
    height: auto;
}


.hero {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    z-index: 1;
}

.responsive-header {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
}

#landing-text {
    position: absolute;
    top: 38%;
    right: 20vw;
    height: auto;
}

/*--- Main ---*/

main {
    margin-top: 15vh;
}

.modul-wrapper{
    margin: 5% 0%;
    padding: 3% 10%;
    display: flex;
}

.text-block {
    width: 55%;
    margin-right: 7%;
}

.line-spacer {
    width: 100%;
    background-color: var(--sec-color);
    height: 5px;
    border-radius: 10px;
    width: 80%;
    margin: 0 auto;
}

#f-line-spacer {
    margin: 6% 0 8% 0;
    width: 100%;
}

#standort-section {
    width: 30%;
}

#iframe-box {
    position: relative;
    overflow: hidden;
    padding-bottom: 60%;
    margin-bottom: 7%;
}

.maps-frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.f-list-item {
    background-color: #fff;
    position: relative;
    display: flex;
    align-items: center;
    line-height: 2rem;
    margin: 3% 0;
    padding: 1%;
    padding-left:2% ;
    width: 65%;
    z-index: 3;
}

.f-list-item:hover {
    background-color: #dfe2d4;
    outline: solid 3px var(--sec-color);
    transition: background-color, transform .2s ease-in-out;
    transform: translateY(-3px);
}

.f-list-active, .f-list-active:hover {
    background-color: var(--sec-color);
    color: var(--not-white);
}



#f-download-modul {
    position: relative;
    flex-grow: 1;
    width: 40%;
    height: 60vh;
    min-height: 550px;
    background-color: var(--sec-color);
    pointer-events: auto;
}

.f-download-block {
    opacity: 0;
    position: absolute;
    right: 60%;
    padding: 5%;
    transition: .3s cubic-bezier(0.2, 0.6, 0.3, 1.1);
    width: 100%;
    pointer-events: auto;
}

.f-download-block img {
    position: relative;
    width: 100%;
    max-height: 450px;
    height: 35vh;
    object-fit: cover;
    object-position: top;
}

.f-download-active {
    right: 0%;
    opacity: 1;
    z-index: 3;
}

.f-download-out {
    opacity: 0;
}

.f-download-block h3 {
    margin: 3% 0 5% 0;
}

#home-leistungen {
    width: 100%;
    padding: 4% 10%;
    background-color: var(--sec-color);
}

#home-leistungen h2 {
    text-align: center;
}

#home-leistungen-img-list {
    display: flex;
    margin: 3% 0 ;
    flex-direction: row;
    gap: 3%;
}

.home-leistungen-img-list-item {
    outline: solid 3px var(--not-white);
    position: relative;
    width: 33%;
    padding-bottom: 30%;
}

#home-leistungen-terrassen {
    background-image: url(../img/leistungen/leistung_carport.jpg);
    background-size: 175%;
    background-repeat: no-repeat;
    background-position: 70%;
}

#home-leistungen-türen {
    background-image: url(../img/leistungen/leistung_tueren.jpg);
    background-size: 135%;
    background-repeat: no-repeat;
    background-position: 50%;
}

#home-leistungen-fenster {
    background-image: url(../img/leistungen/leistung_fenster.jpg);
    background-size: 135%;
    background-repeat: no-repeat;
    background-position: 50%;
}

.home-leistungen-img-list-item h3 {
    background-color: var(--prim-color);
    color: var(--not-white);
    outline: var(--prim-color) 3px solid;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: absolute;
    height: 100%;
    width: 100%;
    opacity: 0%;
    transition: all .2s ease-in-out;
}


.home-leistung-img {
    object-fit: cover;
    width: 100%;
}

#home-leistungen-p {
    text-align: center;
    width: 70%;
    margin: 0 auto;
}

#home-leistungen button {
    margin: 1em auto;
    display: block;
}

/*--- FAQ ---*/

#faq-wrapper {
    flex-direction: column;
    width: 100%;
    max-width: 1200px;
}

.faq {
    margin-bottom: 4%;
}

.faq-question {
    margin-bottom: .4rem;
    padding: 0px 0px 5px 0px; 
    width: 100%;
    font-weight: bold;
    position: relative;
}

.faq-question h3 {
    width: 80%;
    display: flex;
    align-items: center;
}

.faq-question h3::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0%;
    transform: translate(-50%, -50%);
    height: 4px;
    width: 28px;
    border-radius: 10px;
    background: var(--sec-color);
}

.faq-question h3::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 24px;
    transform: translate(-50%, -50%);
    height: 28px;
    width: 4px;
    border-radius: 10px;
    background: var(--sec-color);
    transition: 0.6s cubic-bezier(0.2, 0.6, 0.3, 1.1);
}

.faq-question.open h3::before {
    transform: translate(-50%, -50%) rotate(270deg);
    border-radius: 10px;
}

.faq-answer-container {
    display: none;
}

.faq-answer p {
    margin-bottom: 2%;
}

.faq .line-spacer {
    width: 100%;
}


/*---- Footer --*/

footer{
    display: flex;
    flex-direction: column;
    padding: 5% 10%;
    background-color: var(--sec-color);
    color: var(--not-white);
    gap: 5%;
}

#footer-list-container {
    display: flex;
    width: 100%;
    justify-content:space-between;
}

.footer-list {
    list-style-type: none;
    font-family: 'Roboto';
    font-weight: normal;
    font-size: 1rem;
    line-height: 2rem;
}

.extra-line-height {
    margin-top: 1rem;
}

#footer-social-icons {
    display: flex;
    width: 50%;
    max-width: 300px;
    margin: 10% auto 5%;
    justify-content: space-between;
}

#footer-social-icons a {
    width: 22%;
    max-width: 50px;
    height: auto;
}

.footer-list-item a {
    color: var(--not-white);
    text-decoration: underline var(--prim-color) 2px;
}

/*--- Unterseite Leistungen --*/

#leistungen-header {
    height: 100%;
    min-height: 100vh;
}

.leistungen-hero {
    object-position: 28%;
}

#leistung-intro-text {
    position: absolute;
    z-index: 3;
    top: 25vh;   
}

#leistung-intro-text p {
    margin-bottom: 2%;
    width: 45%;
}

.leistungs-modul {
    display: flex;
    position: relative;
    flex-direction: row;
    width: 80%;
    margin: 0 auto 5%;
    background-color: var(--sec-color);
}

.leistung-text {
    padding: 3% 10% 5% 3%;
    width: 65%;
}

.leistung-text h3 {
    margin-bottom: .4rem;
}

.leistung-text p {
    margin: 1rem 0 1.5rem 0;
}

.leistung-text ul {
    font-family: 'Roboto';
    font-size: 1.4rem;
    line-height: 2rem;
    font-weight: normal;
    list-style-type: disc;
    padding-left: 2%;
    margin-bottom: 2rem;
}

.leistung-img {
    width: 35%;
    position: absolute;
    right: 0%;
    height: 100%;
}

.leistung-img img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

/*------ Garantie und Gewährleistung Intro ----*/

#garantie-intro-container {
    background-color: var(--prim-color);
}

#garantie-intro-content {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

#garantie-intro-content section{
    width: 48%;
}

#garantie-intro-container button {
    width: 30%;
    margin-top: 2.4rem;
}

/*--- Garantie und Gewährleistung Page ----*/

#garantie-intro-article p {
    width: 48%;
}

#garantie-konditionen {
    margin-top: 4.8rem;
}

#garantie-listen-section {
    width: 48%;
}

.garantie-liste {
    margin-bottom: 3.4rem;
}

#garantie-listen-section h3 {
    margin-bottom: 1rem;
}

.garantie-liste li {
    margin-bottom: .6rem;
}

#garantie-ausschluss-container {
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: 30px;
}

#garantie-ausschluss-container article {
    width: 31%;
    min-width: 400px;
    outline: var(--sec-color) 2px solid;
    border-radius: 10px;
    padding: 1rem 1.2rem 3.8rem;
    transition: all ease-in-out .2s;
}

#garantie-ausschluss-container article h3 {
    margin-bottom: .8rem;
}

#garantie-ausschluss-container article:hover {
    transform: scale(102%); 
}

/*----- Galerie ----*/

.galerie-wrapper {
    position: relative;
    padding: 5% 10%;
    width: 100%;
  }

  .galerie-wrapper h2 {
    margin: 0 auto;
    width: 20%;
    text-align: center;
  }

  .category-selection {
    display: flex;
    justify-content: space-between;
    width: 70%;
    margin: 2% auto;
  }

  .category-selection .l-active {
    color: var(--prim-color);
    font-weight: bold;
    text-transform: uppercase;
  }

  .g-category {
    position: relative;
    width: 100%;
    margin-top: 4%;
    color: var(--sec-color);
    background-color: var(--not-white);
    font-size: 1.4em;
  }

  .galerie-grid-container {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    }

  .galerie-grid {
    display: grid;
    position: relative;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
  }

  .galerie-link {
    order: initial;
}


  .g-preview {
    width: 100%;
    padding-top: 100%;
    position: relative;
    overflow: hidden;
    transition: all .3s ease-out;
  }

  .g-preview-hidden {
    display: none;
  }

  .g-preview img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .g-button-after {
    margin: 4rem auto;
}

  /*---- Über Uns --*/

  #u-logo-container {
    width: 80%;
    min-width: 160px;
    max-width: 325px;
  }

  #u-intro {
    align-items: center;
    height: 70vh;
    margin-top: 10rem;
  }

  #u-intro-strich {
    height: 100%;
    width: 5px;
    background-color: var(--prim-color);
    border-radius: 10px;
    margin: 0 3%;
  }

  #u-intro article {
    width: 50%;
  }

  #u-roadmap {
    flex-direction: column;
    background-color: var(--prim-color);
    color: var(--not-white);
    margin-bottom: 0;
  }

  #u-roadmap h2 {
    margin-bottom: 2em;
  }

  #roadmap-container {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: 0.5fr 0.2fr 0.5fr 0.5fr;
    row-gap: 40px;
    column-gap: 20px;
  }

  #roadmap-1 {
    grid-row: 1/2;
    grid-column: 1/5;
  }

  #rm-straight-1 {
    grid-row: 1/2;
    grid-column: 5/7;
    margin: auto 0;
    padding: 0 15%;
  }

  #roadmap-2 {
    grid-row: 1/2;
    grid-column: 7/13;
  }

  #rm-straight-2 {
    grid-row: 2/3;
    grid-column: 1/9;
    padding-left: 5%;
  }

  #roadmap-3 {
    grid-row: 3/4;
    grid-column: 1/5;
  }

  #rm-straight-3 {
    grid-row: 3/4;
    grid-column: 5/8;
    padding-left: 10%;
    padding-top: 12%;
    padding-right: 15%;
    margin: auto 0;
  }

  #roadmap-4 {
    grid-row: 4/5;
    grid-column: 7/12;
  }

  .roadmap-nr {
    min-width: 50px;
    max-width: 100px;
    height: auto;
    margin-right: 3%;
  }

  .roadmap-article {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    width: 100%;
  }

  .roadmap-article p {
    color: var(--sec-color);
    width: 80%;
  }

  /*----- Kontakt ---*/

  #kontakt-headline {
    margin-top: 8rem;
    padding-bottom: 0;
  }

#kontakt-grid {
    width: 100%;
    max-width: 1720px;
}

#form-wrapper {
    width: 100%;
}
  form {
    font-family: 'Roboto';
    font-size: 1.2rem;
    color: var(--sec-color);
    width: 80%;
  }

  .form-inline {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 34rem;
  }

  .form-group {
    display: flex;
    flex-direction: column;
    margin-bottom: 1rem;
  }

  label {
    margin-top: 1rem;
    margin-bottom: .4rem;
  }

  input {
    margin-right: 5%;
    padding: .3em .4em;
    height: 2.5rem;
    border: 1px solid rgba(0, 0, 0, .3);
    border-radius: 7px;
    max-width: 25rem;
  }
  
  .form-group textarea{
    resize: none;
    border: 1px solid rgba(0, 0, 0, .3);
    border-radius: 7px;
    height: 10rem;
    width: 100%;
    max-width: 32rem;
    padding: .3em .4em;
  }

  .form-group textarea:focus {
    outline: solid 2px var(--prim-color);
    border: none;
  }

  #file-upload-container {
    margin-bottom: 4em;
    display: flex;
    flex-direction: row;
  }

  input[type=file] {
    display: none;
  }

#honeypot {
    display: none;
}

  .custom-file-upload {
    position: relative;
    background-color: #fff;
    border: solid 1px rgba(0, 0, 0, .3);
    border-radius: 7px;
    width: 50%;
    max-width: 12rem;
    height: 2rem;
    padding-top: .2rem;
    text-align: center;
    transition: all .1s ease-in-out;
  }

  .data-name {
    margin: 1rem 0 0 1rem;
    padding-top: .2rem;
  }

  .custom-file-upload:hover {
    background-color: rgba(0, 0, 0, .05);
  }

  input:focus {
    outline: solid 2px var(--prim-color);
    border: none;
}

#checkbox-container {
    display: block;
    margin-bottom: 2rem;
}

#kAgb {
    margin: 0 .4rem;
    height: 20px;
    width: 20px;
}

label[for="kAgb"] {
    font-size: 1.4rem;
}


  .k-list-anschrift {
    list-style-type: none;
    font-family: 'Roboto';
    color: var(--sec-color);
    font-weight: normal;
    margin-bottom: 2rem;
    font-size: 1.4rem;
    line-height: 140%;
}

.k-list-anschrift li a {
    text-decoration: underline var(--prim-color) 2px;
    color: var(--sec-color);
}

.error-red {
    color: #ff0000;
}

label.error {
    color: #ff0000;
    font-size: 1rem;
    margin-top: .25rem;
}


/*------ Impressum ----*/

.impressum-list-contianer {
    margin-top: 15vh ;
}

.impressum-list-contianer ul{
    list-style-type: none;
    margin-bottom: 3rem;
    font-family: 'Roboto';
    font-size: 1.2rem;
    line-height: 150%;
}

/*------ Datenschutz -----*/

.dsgvo-container {
    margin-top: 15vh;
}

.dsgvo-container div p {
    margin-bottom: 4rem;
}

.dsgvo-container div ul {
    list-style-type: none;
    font-family: 'Roboto';
}

.agb-container {
    width: 80%;
    margin-top: 12rem;
}

.agb-container h1 {
    margin-bottom: 3.8rem;
}

.agb-container p{
    margin-bottom: 3rem;
}


@media screen and (max-width: 1060px)  {

    .nav-list {
        height: 100vh;
        width: 0vw;
        padding-top: 2vh;
        background-color: var(--prim-color);
        flex-direction: column;
        justify-content: flex-start;
        position: absolute;
        right: 0%;
        top: 100%;
        transition: all .2s cubic-bezier(0,1.3,1,1.2);
        overflow-x: hidden;
    }

    .nav-item {
        display: inline-block;
        color: var(--sec-color);
        text-align: right;
        width: 100%;
        padding: 3vh 10vw;
        font-weight: normal;
    }

    .nav-active {
        text-decoration: underline 2px;
    }

    .hamburger-icon {
        display: block;
    }

    .info-icon {
        display: none;
    }

    .mobile-menu-active {
        width: 40vw;
    }

    #faq-wrapper {
        width: 80%;
    }

    .f-download-block img {
        max-height: 300px;
    }

    /*---- Leistungen -----*/

    #leistungen-header {
        height: 100%;
        margin-bottom: 6rem;
        margin-top: 11vh;
    }

    .leistungen-hero {
        object-position: center;
        object-fit: cover;
        height: 55vh;
    }

    #leistung-intro-text {
        position: relative;
        top: 0;
    }

    .category-selection {
        width: 90%;
    }

    /*----- Über Uns ---*/

    #u-intro {
        flex-direction: column;
        height: 100%;
        align-items: baseline;
        margin-bottom: 4rem;
    }

    #u-logo-container {
        min-width: 300px;
        width: 40%;
        height: auto;
    }

    #u-intro-strich {
        width: 100%;
        height: 5px;
        margin: 2rem 0;
    }

    #u-intro article {
        width: 100%;
    }
    
    #roadmap-container {
        row-gap: 10px;
        column-gap: 20px;
    }

    .roadmap-article {
        flex-direction: column;
        align-items:start;
        position: relative;
    }

    .roadmap-article p {
        width: 100%;
    }

    .roadmap-nr {
        min-width: 40px;
        max-width: 70px;
    }

    #roadmap-1 {
        grid-column: 1/6;
    }

    #rm-straight-1 {
        grid-column: 6/8;
    }

    #roadmap-2 {
        grid-column: 8/13;
    }

    #rm-straight-2 {
        grid-column: 1/11;
    }

    #roadmap-3 {
        grid-column: 1/7;
    }

    #rm-straight-3 {
        padding-top: 50%;
        grid-column: 1/6;
        grid-row: 4/5;
        transform: rotate(180deg);
    }

    #roadmap-4 {
        flex-direction: row;
        align-items: center;
        grid-column: 6/13;
        padding-bottom: 15%;
    }

        /* Kontakt */

        #kontakt-grid {
            width: 100%;
        }
    
        #form-wrapper {
            margin-bottom: 4rem;
        }
    
        .form-group {
            margin-bottom: .7rem;
        }
    
        input {
            margin-right: 0;
        }
    
        .form-inline {
            flex-direction: column;
        }
    
        #file-upload-container {
            flex-direction: column;
            width: 100%;
            margin-bottom: 3rem;
        }
    
        .custom-file-upload {
            width: 100%;
            max-width: none;
            height: 2.5rem;
            padding-top: .5rem;
        }
    
        .data-name {
            width: 100%;
            margin: .5rem 0;
        }
    
        label[for="kAgb"] {
            font-size: 1.2rem;
            margin: 0;
        }
    
        #checkbox-container {
            display: grid;
            grid-template-columns: .2fr 1fr;
            grid-template-rows: 1fr;
        }
    
        #kAgb {
            margin: auto 0;
        }

        /*--- Garantie Tablet ----*/

        #garantie-ausschluss-container {
            flex-direction: column;
            align-items: center;
        }

        #garantie-ausschluss-container article {
            width: 100%;
            min-width: 100px;
            margin-bottom: 2rem;
        }

}

@media screen and (max-width: 786px)  {

    h1 {
        width: 100%;
        font-size: 2.5em;
    }

    h2 {
        font-size: 1.6rem;
    }
    
    p{
        width: 100%;
        font-size: 1.3em;
        line-height: 155%;
    }

    .btn-primary {
        font-size: 1.3rem;
    }

    .btn-secondary {
        font-size: 1.3rem;
    }

    /* Startseite */

    .mobile-menu-active {
        width: 100vw;
    }

    .modul-wrapper {
        flex-direction: column;
    } 

    #landing-text {
        top: 35%;
        width: 80%;
        right: auto;
        margin: 0 auto;
    }

    .text-block {
        width: auto;
        margin-bottom: 4rem;
    }

    #standort-section {
        width: 100%;
    }

    #formular-list {
        display: none;
    }

    #f-download-modul {
        width: 100%;
        height: 100%;
    }

    .f-download-block {
        padding: 5% 10%;
    }

    .f-download-block::before ,.f-download-block:after {
        content: "";
        display: inline-block;
        position: absolute;
        top: 37%;
        background-image: url(../img/icons/swipe_icon.svg);
        background-repeat: no-repeat;
        width: 40px;
        height: 40px;
    }

    .f-download-block::before {
        left: 0%;
        transform: scale(-1);
    }

    .f-download-block::after {
        right: 0%;
    } 

    #home-leistungen-img-list {
        flex-direction: column;
    }

    .home-leistungen-img-list-item {
        width: 100%;
        padding-bottom: 90%;
        margin-bottom: 2em;
    }

    #home-leistungen-p {
        width: 100%;
    }

    #faq-wrapper {
        width: 100%;
    }

    #footer-list-container {
        flex-direction: column;
    }

    .footer-list {
        margin-bottom: 10%;
    }

    

    
    

    /* Leistungen Seite */

    .leistungen-hero {
        object-position: 70%;
    }

    #leistung-intro-text p {
        width: 80%;
    } 

    .leistungs-modul {
        width: 100%;
        flex-direction: column-reverse;
        margin-bottom: 15%;
    }

    .leistungs-modul .btn-secondary {
        color: transparent;
    }
    
    .leistung-text {
        width: 100%;
        padding: 5% 10%;
    }

    .leistung-img {
        position: relative;
        width: 100%;
        height: auto;
    }

    #garantie-intro-content {
    flex-direction: column;
    gap: 20px;
    }

    #garantie-intro-content section {
        width: 100%;
    }

    #garantie-intro-container button {
        width: 100%;
    }

    .galerie-wrapper h2 {
        width: 100%;
    }

    .category-selection {
        width: 100%;
        flex-direction: column;
    }


    .galerie-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    /* Über Uns */

    #u-roadmap {
        padding: 4rem 10%;
    }

    #u-roadmap h2 {
        text-align: center;
    }

    #roadmap-container {
        display: flex;
        flex-direction: column;
    }

    .roadmap-article {
        flex-direction: column;
        text-align: center;
        align-items:center;
        justify-content: center;
        width: 100%;
        margin: 0;
    }

    .roadmap-article::after {
        content: "";
        position: relative;
        height: 20px;
        width: 100px;
        background-image: url(../img/ueber_uns/roadmap_straigt_1.svg);
        background-clip: border-box;
        background-repeat: no-repeat;
        transform: rotate(-90deg);
        margin: 20% auto;
    }

    #roadmap-4::after {
        display: none;    
    }

    .roadmap-lines {
        display: none;
    }

    #roadmap-4 {
        flex-direction: column;
    }


}