:root {
    --background-color-1: #fff;
    --backgroundcolor-2: #5b8495;
    --backgroundcolor-3: #000;
    --backgroundcolor-4: #dadde3;
    --backgroundcolor-5: #293d5c;
    --backgroundcolor-6: #6379a5;
    --backgroundcolor-7: #181b34;
    --color-1: #66ff00;
    --color-2: #9f94ff;
    --color-3: #dadde3;
    --color-4: #3c00ff;
    --color-5: #00ffc2;
    --color-light: #fff;
    --color-dark: #000;
}

/*STRUCTURE**/

html {
    font-size: 16px;
    box-sizing: border-box;
}

body {
    width: 100%;
    min-width: 100%;
    max-width: 2400px;
    display: grid;
    gap: 0px;
    grid-template-areas: "header"
        "main"
        "footer";
    font-size: 1em;
    font-family: 'Karla', 'Roboto', Arial, Helvetica, sans-serif;
    font-weight: 400;
    padding: 0;
    margin: 0;
    justify-items: center;
    align-self: center;
    background-color: var(--backgroundcolor-7);
    padding: 0px;
    margin: 0px;
}

.bg-start {
    background-image: url(img/cargo.jpg);
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center;
    background-size: cover;
}

.bg-contact {
    background-image: url(img/bg/bg-8.jpg);
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center;
    background-size: cover;
}

.bg-portfolio {
    background-image: url(img/bg/bg-7.jpg);
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center;
    background-size: cover;
}

.bg-uebermich {
    background-image: url(img/bg/bg-8.jpg);
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center;
    background-size: cover;
}


header {
    grid-area: header;
    display: grid;
    position: fixed;
    z-index: 2;
    width: 100%;
    min-width: 100%;
    max-width: 2400px;
    background-color: var(--color-light);
}

main {
    min-width: 100%;
    width: 100%;
    max-width: 100%;
    max-width: 2400px;
    grid-area: main;
    display: grid;
    grid-template-areas:
        "intro-1"
        "intro-2"
        "intro-3"
        "container-1"
        "container-2"
        "container-3"
        "container-4"
        "container-5";
    justify-items: center;
    align-self: center;
    padding: 0px;
    padding-top: 50px;
    margin: 0px;
}

footer {
    grid-area: footer;
    display: grid;
    width: 100%;
    min-width: 100%;
    max-width: 2400px;
    background-color: var(--backgroundcolor-3);
}

.footer-wrapper {
    width: 90%;
    min-width: 90%;
    max-width: 90%;
    display: grid;
    justify-self: center;
    grid-template-areas: "logo menu kontakt"
        "logo menu2 kontakt";
    justify-content: space-between;
    align-items: center;
    color: var(--color-dark);
    padding: 0px;
    padding-top: 100px;
    padding-bottom: 50px;
    margin: 0px;
}

.wrapper {
    min-width: 90%;
    max-width: 90%;
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 0px;
    padding-top: 200px;
    padding-bottom: 200px;
    margin: 0px;
}

.intro-1 {
    min-width: 100%;
    width: 100%;
    max-width: 100%;
    max-width: 2400px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    grid-area: intro-1;
    background-color: var(--backgroundcolor-6);
    gap: 10px;
    padding-top: 50px;
    padding-bottom: 25px;
}

.intro-2 {
    min-width: 100%;
    width: 100%;
    max-width: 100%;
    max-width: 2400px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    align-items: center;
    grid-area: intro-2;
    background-color: var(--backgroundcolor-7);
    padding: 3px;
}

.intro-3 {
    min-width: 100%;
    width: 100%;
    max-width: 100%;
    max-width: 2400px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    background-color: var(--color-4);
    align-items: center;
    grid-area: intro-3;
}

.container-1 {
    min-width: 100%;
    width: 100%;
    max-width: 100%;
    max-width: 2400px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    column-gap: 50px;
    width: 100%;
    min-width: 100%;
    max-width: 2400px;
    padding-bottom: 100px;
    min-height: 700px;
}

.container-2 {
    min-width: 100%;
    width: 100%;
    max-width: 100%;
    max-width: 2400px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    column-gap: 50px;
    width: 100%;
    min-width: 100%;
    max-width: 2400px;
    padding-bottom: 150px;
    padding-top: 150px;
}

.container-3 {
    min-width: 100%;
    width: 100%;
    max-width: 100%;
    max-width: 2400px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    column-gap: 50px;
    min-width: 100%;
    max-width: 2400px;
    padding-bottom: 150px;
    padding-top: 150px;
}

.container-4 {
    min-width: 100%;
    width: 100%;
    max-width: 100%;
    max-width: 2400px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    column-gap: 50px;
    min-width: 100%;
    max-width: 2400px;
    padding-bottom: 150px;
    padding-top: 150px;
}

.container-5 {
    min-width: 100%;
    width: 100%;
    max-width: 100%;
    max-width: 2400px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    column-gap: 50px;
    min-width: 100%;
    max-width: 2400px;
    padding-bottom: 150px;
    padding-top: 150px;
}

.container-small {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 275px;
    max-width: 275px;
    min-height: 175px;
    max-height: 175px;
    background: var(--color-light);
    padding: 35px;
    margin: 5px;
    text-align: center;
    justify-content: center;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.container {
    display: flex;
    flex-direction: column;
    width: 300px;
    height: 335px;
    background: var(--color-light);
    padding: 20px;
    margin: 5px;
    border-radius: 10px;
    justify-content: center;
    align-items: center;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}


.column-wrapper {
    max-width: 2400px;
    max-width: 98%;
    display: flex;
    flex-direction: column;
    padding-bottom: 175px;
    justify-content: center;
    align-items: center;
}

.info-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 100%;
    padding: 10px;
}

.column {
    display: flex;
    flex-direction: column;
    min-height: fit-content;
    max-height: fit-content;
    height: fit-content;
    justify-content: center;
    align-items: center;
}

.column-container {
    display: flex;
    flex-direction: column;
    width: 300px;
    height: 150px;
    background: var(--color-light);
    padding: 15px;
    padding-left: 20px;
    padding-right: 20px;
    margin: 5px;
    border-radius: 10px;
    justify-content: center;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.social {
    display: flex;
    flex-direction: row;
    gap: 50px;
}

.social #letter,
.social #letter-2,
.social #letter-3 {
    fill: none;
}

/***/

/*HEADLINES**/
h1 {
    font-family: 'Bebas Neue', Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--color-1);
    line-height: 1;
    font-weight: 900;
    font-size: 9em;
    padding: 25px;
    margin: 0;
}

h2 {
    text-transform: uppercase;
    font-family: 'Rubik';
    color: var(--color-light);
    font-size: 1.7em;
    font-weight: 600;
    padding: 3px;
    padding-top: 7px;
    text-underline-offset: 0.2em;
    border-top: solid 3px;
    border-bottom: solid 3px;
    letter-spacing: 0.2em;
}

h3 {
    font-family: 'JetBrains Mono', 'Roboto mono', 'Rubik';
    color: var(--color-2);
    font-size: 1.5em;
}

h3.services {
    font-family: 'JetBrains Mono';
    color: var(--color-dark);
    font-size: 1.2em;
    font-weight: 300;
    padding: 0;
    margin-top: 0;
    margin-bottom: 0;
}

h3.category {
    font-family: 'Rubik', 'Roboto', Arial, Helvetica, sans-serif;
    color: var(--color-4);
    font-size: 1em;
    font-weight: 500;
    text-align: left;
}

h4 {
    text-transform: none;
    text-align: left;
    font-family: 'JetBrains Mono', 'Robot Mono', 'Roboto', Arial, Helvetica, sans-serif;
    color: var(--color-dark);
    font-size: 1.2em;
    margin: 5px;
}

h4.ueb {
    max-width: 80%;
    text-transform: none;
    font-weight: 800;
    text-align: left;
    font-family: 'Rubik';
    text-transform: uppercase;
    line-height: 1.4;
    font-size: 4em;
    background-color: var(--background-color-1);
    padding: 5px;
    margin-top: 100px;
    box-shadow:  4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

h5 {
    font-family: 'JetBrains Mono';
    font-size: 2em;
    line-height: 1.5;
    padding: 5px;
    font-weight: 600;
    padding: 3px;
    margin: 15px;
    background-color: var(--background-color-1);
}

h6 {
    font-family: 'JetBrains Mono';
    font-size: 2em;
    font-weight: 600;
    color: var(--color-5);
    padding: 15px 15px 5px 20px;
    margin-top: 25px;
}


/***/

/*TEXT**/


.text-container {
    width: fit-content;
    max-width: 600px;
    display: flex;
    flex-direction: column;
    margin: 10px;
    justify-content: center;
    align-items: center;
    padding: 30px;
    background-color: var(--background-color-1);
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.text-container p {
    max-width: 700px;
    padding: 15px;
}

p {
    font-family: 'Karla', 'Roboto', Arial, Helvetica, sans-serif;
    font-style: normal;
    font-size: 1.2em;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: 0.05em;
}

.info-wrapper p {
    color: var(--color-light);
    padding: 50px;
}

.contact {

    font-weight: 800;
    text-transform: none;
    font-size: 1.3em;
    line-height: 2;
}


.text-container-address {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 100px;
    padding: 200px;
    padding-top: 100px;
    margin-top: 100px;
    margin-bottom: 200px;
    background-color: var(--background-color-1);
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    background-image: url(img/bg/bg-1.png);
}

.text-container-address p {
    font-family: 'JetBrains Mono', 'Roboto Mono', Arial, Helvetica, sans-serif;
    font-size: 1.2em;
    line-height: 2;
    font-weight: 600;
    color: var(--color-light);
}

.text-container-address p span {
    font-family: 'Rubik', 'JetBrains Mono', 'Roboto Mono', Arial, Helvetica, sans-serif;
    font-size: 1.5em;
    line-height: 2;
    font-weight: 800;
}

/***/

/*LINKS**/

a {
    font-family: 'JetBrains Mono', 'Roboto Mono', Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    text-decoration: none;
    font-weight: 400;
    font-size: 1em;
}

footer .footer-wrapper a:hover {
    color: var(--color-1);
}

footer .footer-wrapper .links a:hover svg .cls-1, footer .footer-wrapper .links a:hover svg .cls-3 {
    fill: var(--color-1);
}

/***/

/*BUTTONS**/

button {
    font-size: 1em;
}

.button-style-1 {
    font-weight: 600;
    display: block;
    border-radius: 20px;
    color: var(--color-1);
    background-color: var(--backgroundcolor-7);
    text-align: center;
    padding: 15px 25px 15px 25px;
    margin: 20px;
    border: 4px solid var(--color-1);
    overflow: hidden;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.button-style-1:hover {
    color: var(--color-light);
    background: transparent;
    border: 4px solid var(--color-light);
    transition: ease-out 0.3s;
}

.header-popup-icons {
    width: 300px;
    display: flex;
    width: auto;
    justify-content: center;
    align-items: center;
    gap: 30px;
}

.hamburger {
    display: inline-block;
    width: 65px;
    overflow-x: visible;
}

.hamburger:hover {

    cursor: pointer;

    #line-top {
        width: 100%;
        transition: width ease-in-out 3s;
    }

    #line-middle {
        width: 50%;
        transition: width cubic-bezier(0.175, 0.885, 0.32, 1.275) 3s;
    }

    #line-bottom {
        width: 25%;
        transition: width cubic-bezier(0.175, 0.885, 0.32, 1.275) 3s;
    }

}


.hamburger .lines {
    fill: var(--color-dark);
}

.hamburger .circle {
    stroke: transparent;
    fill: transparent;
}

#brille {
    width: 60px;
}

.brille {
    display: flex;
    justify-content: center;
    align-content: center;
    width: fit-content;
    height: auto;
}


div#close-button {
    padding: 25px;
}

div#close-button2 {
    width: fit-content;
    height: auto;
    padding: 50px;
    padding-bottom: 25px;
    align-self: center;
}

.button-style-3 svg g line.close2 {
    padding-top: 25px;
    stroke: #fff;
}


.button-style-3:hover svg g line.close2 {
    padding-top: 25px;
    stroke: var(--color-1);
}

.button-style-3 svg g line.close {
    padding-top: 25px;
    stroke: #fff;
}


.button-style-3:hover svg g line.close {
    padding-top: 25px;
    stroke: var(--color-1);
}

.button-style-3:hover {
    cursor: pointer;
    padding: 12px;
    transition: cubic-bezier(0.215, 0.610, 0.355, 1) 0.3s;
}

button#menu-trigger {
    cursor: pointer;
    width: fit-content;
    height: auto;
    background: none;
    border: none;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 5px;
    margin: 5px;
}

button#menu-trigger2 {
    cursor: pointer;
    background: none;
    border: none;
    display: flex;
    justify-content: center;
}

.color-button {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}

.switch-on {
    fill: var(--color-light);

    .bw {
        fill: var(--color-light);
    }
}

.blackwhite-button {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}

.textsize-button {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}

.button-style-2 {
    cursor: pointer;
    display: block;
    width: 60px;
    height: auto;
    background: transparent;
    border: none;
    padding: 15px;
}

.button-style-3 {
    display: block;
    width: 60px;
    height: auto;
    background: transparent;
    border: none;
    padding: 15px;
}

#blackwhite-button:hover {
    background-color: #45a049;
}

.switch-button {
    font-family: 'JetBrains Mono';
    text-transform: uppercase;
    font-weight: 700;
    display: block;
    border-radius: 30px;
    color: var(--color-dark);
    background-color: var(--background-color-1);
    text-align: center;
    padding: 15px;
    padding-top: 10px;
    padding-bottom: 10px;
    margin: 10px;
    border: 3px solid transparent;
    box-shadow:  4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}


.switch-button:hover {
    color: var(--color-light);
    background: transparent;
    text-decoration: underline 3px solid;
    text-underline-offset: 3px;
    border: 3px solid var(--color-light);
    transition: ease-out 0.3s;
}

.click-button {
    color: var(--color-light);
    background: transparent;
    border: 3px solid var(--color-light);
    text-decoration: underline 3px solid;
    text-underline-offset: 3px;
}


.slider-buttons {
    position: absolute;
    top: 50%;
    width: 100%;
    height: auto;
    display: flex;
    justify-content: space-between;
    background-color: transparent;
}

button.slider-button {
    width: 50px;
    height: auto;
    background: transparent;
    border: none;
    fill: transparent;

    .cls-1 {
        fill: var(--color-dark);
        stroke-width: 0px;
    }

    .cls-2 {
        stroke-width: 0px;
    }
}

button.slider-button:hover {
    background: transparent;
    border: none;
    fill: transparent;

    .cls-1 {
        fill: var(--color-dark);
    }

    .cls-2 {
        fill: var(--color-1);
    }

    transition: ease-out 0.7s;
}


#prev {
    left: 10px;
}

#next {
    right: 10px;
}

#scroll-button {
    display: none;
    background-color: transparent;
    border: none;
}

#scroll-button:hover {

    .arrowpath {
        transition: ease-out 0.7s;
        fill: var(--color-1);
    }
}

.topButton {
    background-color: transparent;
    border: none;
    position: fixed;
    min-width: 60px;
    width: 60px;
    max-width: 60px;
    top: 80%;
    right: 10%;
    height: auto;
}

.arrowtotop {
    background-color: var(--color-1);
    border-radius: 30px;
    fill: var(--color-dark);
}

.arrowpath {
    fill: var(--color-light);
}

/***/

/*ICONS**/

.container-site-logo {
    width: 60px;
    height: auto;
}

.container-footer-icon {
    width: 80px;
    height: auto;
}


footer .container-site-logo {
    width: 50px;
    height: auto;
}


.container-footer-icon .cls-2 {
    stroke: none;
}


.site-logo {
    width: 60px;
    height: auto;
}

.icon {
    height: 60px;
    width: auto;
    align-self: center;
    justify-self: center;
}

#letter,
#letter-2 {
    fill: var(--color-dark);
}

.container-small svg {
    max-height: 60px;
    width: auto;
}



/***/

/*IMAGES**/

img {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.column-container img {
    box-shadow: none;
}

.container img {
    box-shadow: none;
}

.container-wide {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    min-width: 98%;
    max-width: 98%;
    border-radius: 10px;
    justify-content: center;
    align-items: center;
    align-self: center;
}

.container-medium {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    min-width: 98%;
    max-width: 98%;
    border-radius: 10px;
    justify-content: center;
    align-items: center;
    margin-top: 15px;
    margin-bottom: 15px;
    align-self: center;
}

.container-img-thumbnail {
    display: flex;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

.img-thumbnail {
    min-height: 150px;
    max-height: 200px;
    border-radius: 5px;
    margin: 5px;
}

.container-img-thumbnail-var {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

.img-thumbnail-var {
    min-height: 45px;
    max-height: 45px;
    margin: 5px;
}

.img-smart {
    min-width: 250px;
    max-width: 350px;
    height: auto;
    margin: 15px;
}

.img-medium {
    width: 40%;
    min-width: 30%;
    max-width: 95%;
    height: auto;
    margin: 15px;
}

.img-large {
    min-width: 25%;
    max-width: 25%;
    height: auto;
    margin-top: 15px;
    margin-bottom: 15px;
}

.img-wide {
    min-width: 70%;
    max-width: 95%;
}

/*SLIDER**/

.slideshow-container {
    max-width: 1000px;
    position: relative;
    padding-top: 50px;
    padding-bottom: 50px;
    margin: auto;
    z-index: 1;
}

.mySlides {
    display: none;
    transition: ease-in-out 5s;
}


.mySlides img {
    object-fit: cover;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.prev,
.next {
    cursor: pointer;
    position: absolute;
    top: 50%;
    width: auto;
    margin-top: -22px;
    padding: 16px;
    color: white;
    font-weight: bold;
    font-size: 18px;
    transition: 0.6s ease;
    border-radius: 0 3px 3px 0;
    user-select: none;
}

.next {
    right: 0;
    border-radius: 3px 0 0 3px;
}

.prev:hover,
.next:hover {
    background-color: rgba(0, 0, 0, 0.8);
}

.dot {
    cursor: pointer;
    height: 15px;
    width: 15px;
    margin: 0 2px;
    background-color: #45a049;
    border-radius: 50%;
    display: inline-block;
    transition: background-color 0.6s ease;
}

.active2,
.dot:hover {
    background-color: #3c00ff;
}

/* Fading animation */
.fade {
    animation-name: fade;
    animation-duration: 3s;
}

@keyframes fade {
    from {
        opacity: .7
    }

    to {
        opacity: 1
    }
}

/***/

/* LISTEN **/

li {
    font-size: 1.1em;
}

ul li span {
    color: var(--color-light);
    font-size: 1em;
}

::marker {
    color: var(--color-light);
}

/***/

/* HEADER-MENUS **/

.header-nav {
    display: flex;
    width: 90%;
    background: var(--color-light);
    justify-content: space-between;
    align-items: center;
    justify-self: center;
}

#popup-menu {
    position: relative;
    display: none;
    text-transform: uppercase;
    width: 100%;
    background-color: var(--backgroundcolor-3);
    color: var(--color-light);
    padding: 15px;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

#popup-menu2 {
    position: relative;
    display: none;
    width: 100%;
    background-color: var(--backgroundcolor-3);
    padding-bottom: 15px;
    flex-direction: column;
    justify-content: center;
    column-gap: 35px;
}

.contrast {
    display: flex;
    flex-direction: row;
    border-right: 2px solid var(--color-1);
    justify-content: center;
    align-items: center;
    padding-right: 50px;
}

.textsize {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    padding: 50px;
    justify-content: center;
    align-items: center;
}

menu {
    display: flex;
    list-style: none;
    padding: 5px;
    margin: 5px;
}

nav .menu menu {
    display: flex;
    flex-wrap: wrap;
    width: 700px;
    justify-content: space-between;
}

nav .menu2 {
    padding: 50px;
    padding-top: 25px;
    align-self: center;
}

nav .menu2 menu {
    display: flex;
    flex-direction: column;
    row-gap: 10px;
}

nav .menu menu li a:hover:after,
nav .menu menu li a:focus:after {
    position: absolute;
    content: "";
    left: 0;
    bottom: 0;
    height: 4px;
    background-color: var(--backgroundcolor-3);
    width: 100%;
}

nav .menu2 menu li a:hover:after,
nav .menu2 menu li a:focus:after {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    height: 4px;
    background-color: var(--background-color-1);
    width: 100%;
}

nav .menu menu li a:after,
nav .menu menu li a:after {
    position: absolute;
    content: "";
    bottom: 0;
    height: 4px;
    background-color: var(--backgroundcolor-3);
    width: 0%;
    transition: width cubic-bezier(0.215, 0.610, 0.355, 1) 0.7s;
}

nav .menu2 menu li a:after,
nav .menu2 menu li a:after {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    height: 4px;
    background-color: var(--background-color-1);
    width: 0%;
    transition: width cubic-bezier(0.215, 0.610, 0.355, 1) 0.7s;
    transform: scaleX(-100%);
}

.active {
    font-weight: 600;
    text-decoration: none;
}


nav .menu menu li a.active::after {
    position: absolute;
    content: "";
    bottom: 0;
    height: 4px;
    background-color: var(--backgroundcolor-3);
    width: 100%;
    transition: width cubic-bezier(0.215, 0.610, 0.355, 1) 0.7s;
}

nav .menu2 menu li a.active::after {
    position: absolute;
    content: "";
    bottom: 0;
    height: 4px;
    background-color: var(--background-color-1);
    width: 100%;
    transition: width cubic-bezier(0.215, 0.610, 0.355, 1) 0.7s;
}

nav .menu menu li a {
    color: var(--color-dark);
}

nav .menu2 menu li a {
    color: var(--color-light);
}

nav .menu menu li a,
nav .menu2 menu li a {
    display: flex;
    justify-content: center;
    position: relative;
    font-size: 1em;
    text-transform: uppercase;
    width: fit-content;
    padding-top: 10px;
    padding-bottom: 5px;
    transition: width cubic-bezier(0.215, 0.610, 0.355, 1) 0.7s;
}


nav .menu menu li a:visited {
    color: var(--color-dark);
}

.menu2 menu li a:visited {
    color: var(--color-light);
}


.hidden {
    display: none;
}

.visible {
    display: flex;
}

/***/

/** PORTFOLIO ***/

.finow {
    background-image: url(img/finow/finow-mockup-sign.jpg);
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
}

.finow2 {
    background-color: #f8ece1;
}

.finow3 {
    background-image: url(img/finow/finow-muster-fische.png);
    background-size: cover;
}

.finow3 p {
    background-color: #f8ece1;
}

.finow4 {
    background-color: #00885f;
    fill: var(--color-light);
}

.lost {
    background-image: url(img/lost/lostbuchcover1.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.greensolutions {
    background-color: #dceaec;
    background-image: url(img/greensolutions/greensolutiondesktop1.jpg);
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;
}


.greensolutions2 {
    background-color: #4BF2B6;
}

.greensolutions3 {
    background-color: #fff500;
}

.greensolutions5 {
    background-color: #4A5E61;
}

.greensolutions6 {
    background-color: #252D2F;
}

/***/

/** FOOTER ***/

footer .footer-wrapper .footer-menu1 li a:hover {
    text-decoration: none;
    border-bottom: solid 2px;
}

.footer-wrapper .links {
    display: flex;
    gap: 25px;
    grid-area: logo;
    justify-content: center;
    align-items: center;
}

.footer-wrapper .icon {
    width: 55px;
    height: auto;
    padding: 0;
    margin: 0;
}

.footer-menu1 {
    font-size: 1em;
    display: flex;
    grid-area: menu;
    justify-content: center;
    font-weight: 400;
}

.footer-menu1 menu {
    flex-direction: column;
    display: flex;
    padding: 0;
    margin: 0;
}

.footer-menu1 menu li {
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 10px;
}

.footer-menu1 menu li a {
    color: var(--color-light);
}

.footer-menu2 menu {
    grid-area: menu2;
    display: flex;
    flex-direction: row;
    justify-content: center;
    list-style: none;
    font-size: 0.9em;
    font-weight: 300;
    padding-top: 50px;
    padding-bottom: 10px;
}

.footer-menu2 menu li {
    padding: 15px;
    padding-bottom: 3px;
}

.footer-menu2 menu li a {
    text-decoration: none;
    text-transform: none;
    font-size: 1em;
    color: var(--color-light);
    font-weight: 300;
}


.footer-kontakt {
    grid-area: kontakt;
}

.footer-kontakt address a {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 10px;
    align-items: center;
    font-family: 'JetBrains Mono', 'Roboto Mono', Arial, Helvetica, sans-serif;
    font-style: normal;
    text-transform: lowercase;
    font-size: 1em;
    font-weight: 400;
    color: var(--color-light);
}

/***/

/** highcontrast ***/

.highcontrast svg g {
    fill: #000;
}

.highcontrast .intro-1 {
    background-color: #000;
}

.highcontrast .button-style-1 {
    background-color: #000;
    color: #fff;
    border-color: #000;
}

.highcontrast .intro-3,
.highcontrast .button-style-1:hover {
    background-color: #fff;
    color: #000;
    border-color: #000;
}

.highcontrast h1,
.highcontrast h3 {
    color: #fff;
}

.highcontrast h3.services,
.highcontrast h3.category {
    color: #000;
}

.highcontrast .switch-button {
    background-color: #000;
    color: #fff;
}

.highcontrast .contact {
    background-color: #000;
    padding: 30px;
}

.highcontrast .social {
    background-color: #000;
    padding: 30px;
}

.highcontrast .text-container-address {
    padding: 170px;
    padding-top: 70px;
}

.highcontrast #scroll-button:hover {
    .arrowpath {
        transition: ease-out0.7s;
        fill: #fff;
    }
}

.highcontrast svg.img-medium {
    background-color: #000;
    padding: 30px;
}

.highcontrast .finow3 p {
    background-color: #fff;
}


/***/

/** MEDIA ***/

@media (max-width:1600px) {

    nav .menu menu li a,
    nav .menu2 menu li a {
        font-size: 1em;
    }

    .wrapper {
        padding: 0px;
        padding-top: 150px;
        padding-bottom: 150px;
        margin: 0px;
    }

    h1 {
        font-size: 8em;
        margin: 10px;
        margin-bottom: 5px;
        max-width: 90%;
        padding: 10px;
    }

    h2 {
        font-size: 1em;
        margin-top: 5px;
        max-width: 90%;
        padding: 10px;

    }

    h3,
    h3.services {
        font-size: 1em;
        max-width: 90%;
    }

    h4 {
        font-size: 1em;
    }

    h4.ueb {
        font-size: 3em;
        max-width: 90%;
    }

    a {
        font-size: 1em;
    }

    .intro-1 {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        grid-area: intro-1;
        background-color: var(--backgroundcolor-6);
        gap: 0px;
        padding-top: 70px;
        padding-bottom: 10px;
    }

    .container-site-logo {
        width: 60px;
        height: auto;
    }

    .container-footer-icon {
        width: 80px;
        height: auto;
    }


    footer .container-site-logo {
        width: 50px;
        height: auto;
    }
}

@media (max-width:1200px) {

    .text-container-address {
        padding: 50px;
        margin: 0px;
    }

    #popup-menu {
        position: relative;
        display: none;
        text-transform: uppercase;
        width: 100%;
        background-color: var(--backgroundcolor-3);
        color: var(--color-light);
        padding: 15px;
        flex-direction: column;
        justify-content: center;
    }

    .contrast {
        flex-wrap: wrap;
        border-right: 0px solid var(--color-1);
        border-bottom: 2px solid var(--color-1);
        padding-bottom: 50px;
    }


    .textsize {
        flex-wrap: wrap;
    }

    .wrapper {
        padding: 0px;
        padding-top: 100px;
        padding-bottom: 100px;
        margin: 0px;
    }

    .text-container-address p,
    .text-container-address p span {
        font-size: 1em;
        line-height: 2;
    }

    .img-medium {
        max-width: 70%;
        height: auto;
    }

    .img-large {
        max-width: 70%;
        height: auto;
    }


    h1 {
        font-size: 8em;
        margin: 10px;
        margin-bottom: 5px;
        max-width: 90%;
        padding: 10px;
    }

    h2 {
        font-size: 1em;
        margin-top: 5px;
        max-width: 90%;
        padding: 10px;

    }

    h3,
    h3.services {
        font-size: 1em;
        max-width: 90%;
    }

    h4.ueb {
        font-size: 2em;
        max-width: 90%;
    }

    h5 {
        font-size: 1.2em;
    }

    p {
        font-size: 1.1em;
    }

    .header-nav .menu {
        display: none;
    }

    .footer-wrapper {
        grid-template-areas: "logo menu"
            "kontakt"
            "menu2";
        justify-content: center;
        padding-top: 45px;
        margin-top: 45px;
    }

    .footer-wrapper .container-site-logo {
        justify-self: center;
    }

}

@media (max-width:820px) {


    h1 {
        font-size: 6em;
        margin: 10px;
        margin-bottom: 5px;
        max-width: 95%;
        padding: 10px;
    }

    h2 {
        font-size: 1em;
        max-width: 90%;

    }

    h3,
    h3.services,
    h3.category {
        font-size: 1em;
        max-width: 95%;
    }

    h4.ueb {
        font-size: 1.5em;
        max-width: 90%;
    }

    h5 {
        font-size: 1.1em;
    }

    p {
        font-size: 1em;
    }

    .intro-1 {
        padding-top: 100px;
        padding-bottom: 10px;
    }

    .img-medium {
        width: 98%;
        max-width: 98%;
        height: auto;
    }

    .img-large {
        max-width: 90%;
        height: auto;
    }

    nav {
        flex-direction: column;
        justify-content: center;
    }

    nav .menu menu {
        width: 100%;
        column-gap: 20px;
        row-gap: 35px;
        justify-content: center;
        margin: 0;
    }

    div#close-button {
        padding: 0px;
        align-content: center;
        align-self: center;
    }

    div#close-button2 {
        align-content: center;
        align-self: center;
    }

    .contrast {
        flex-direction: column;
        border-right: none;
        border-bottom: 2px solid var(--color-1);
        padding: 50px;
    }

    .kontakt {
        width: 98%;
    }

    .footer-wrapper {
        grid-template-areas: "logo"
            "menu"
            "kontakt"
            "menu2"
            "menu2";
        row-gap: 75px;
        justify-content: center;
        padding-top: 45px;
        margin-top: 45px;
    }

    .footer-wrapper {
        grid-template-areas: "logo"
            "menu"
            "kontakt"
            "menu2"
            "menu2";
        row-gap: 75px;
        justify-content: center;
        padding-top: 45px;
        margin-top: 45px;
    }
}

@media (max-width:600px) {


    .img-medium {
        max-width: 70%;
        height: auto;
    }

    .img-large {
        max-width: 70%;
        height: auto;
    }


    h1 {
        font-size: 4em;
        margin: 10px;
        margin-bottom: 5px;
        max-width: 95%;
        padding: 10px;
    }

    h2 {
        font-size: 1em;
        max-width: 90%;

    }

    h3,
    h3.services,
    h3.category {
        font-size: 1em;
        max-width: 95%;
    }

    h5 {
        font-size: 1.1em;
    }

    p {
        font-size: 1em;
    }

    .img-medium {
        width: 98%;
        max-width: 98%;
        height: auto;
    }


    h4,
    h4.ueb {
        font-size: 1em;
        max-width: 95%;
    }
}

/***/