bold {
    font-weight: 800;
}

h6 {
    pointer-events: none;
}

.accordion {
    width: 100%;
    margin: 0 auto;
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

h5 {
    font-size: 1rem;
}

.accordion-item {
    border-bottom: 1px solid #e0e0e0;
    display: flex;
    flex-direction: column;
    width: 100%;
}

.accordion-header {
    padding: 20px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: none;
    border: none;
    text-align: left;
}

.accordion-header * {
    max-width: 40%;
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
    padding: 0 20px;
}

.accordion-content.active {
    max-height: 1000px;
    padding: 20px;
    padding-top: 0;
}

.accordion-icon {
    width: auto;
    height: .75rem;
    margin-left: 1rem;
    transition: transform 0.3s ease;
}

.accordion-icon.active {
    transform: rotate(180deg);
}

.content-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.content-list li {
    margin-bottom: 10px;
    padding-left: 20px;
    position: relative;
}

.italic {
    margin-bottom: 1rem;
}

.content-list li::before {
    content: "—";
    position: absolute;
    left: 0;
}

.skills-grid {
    display: flex;
    flex-direction: column;

}

.skills-section {
    margin-bottom: 20px;
}

.skills-grid .skills-section {
    margin-bottom: 5px;
}

.passion-item {
    margin-bottom: 20px;
}

@font-face {
    font-family: 'CHANEY-Wide';
    src: url('../fonts/CHANEY-Wide.otf') format('opentype');
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Italic.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
}

* {
    font-family: 'Montserrat', sans-serif;
    font-weight: normal;
}

/* Light-Version */
.light-text {
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
}

/* Kursive Version */
.italic-text {
    font-family: 'Montserrat', sans-serif;
    font-style: italic;
}

/* Extra Bold Version */
.bold-text {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
}

/* Methode 2: Für Firefox */
* {
    scrollbar-width: none;
}

.nav-brand {
    display: flex;
}

li a,
.nav-brand {
    text-transform: uppercase;
}

.nav-brand img {
    height: 3vh;
}

:root {
    --spacing-unit: 1rem;
    --primary-color: #000;
    --secondary-color: #333;
    --accent-color: #fff;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    color: white;
    line-height: 1rem;
    font-size: 1.25rem;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.platzhalter {
    height: 25vh;
}

body {
    display: flex;
    flex-direction: column;
    max-width: 100%; 
    overflow-x: hidden;
    font-family: Montserrat, sans-serif;
    line-height: 1.6;
}

.hero h1 {
    margin-top: .75rem;
    margin-bottom: .75rem;
}

.hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 100vw;
    overflow-x: hidden;
    height: 100%;
    justify-content: center;
}

h4 {
    font-size: 1.25rem;
    font-weight:100;
    line-height: 1.25rem;
    text-transform: uppercase;
}

.zwischenheader h3 {
    margin-top: .5rem;
    margin-bottom: 1rem;
}

h1 {
    font-size: 3rem;
    font-weight: 800;
    line-height: 3rem;
    text-transform: uppercase;
    font-family: 'CHANEY-Wide', sans-serif;
}

h3 {
    font-size: 2rem;
    font-weight: 800;
    line-height: 2rem;
    text-transform: uppercase;
    font-family: 'CHANEY-Wide', sans-serif;
}

h2 {
    font-size: 2rem;
    font-weight:100;
    line-height: 2rem;
}

p, .accordion li, .passion-title, h5, .accordion-header  {
    font-size: .8rem;
    font-weight: lighter;
}

.accordion-header {
    font-weight: bold;
}

p {
    max-width: 80%;
}

h5, .passion-title {
    font-style: italic;
    margin-bottom: .25rem;
}

.main-nav {
    position: fixed;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    top: 0;
    width: 100vw;
    padding: var(--spacing-unit);
    background: rgba(0, 0, 0, 0.5);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    z-index: 1000;
    height: 7.5vh;
}

p, .nav-brand {
    font-size: .8rem;
    font-weight: light;
}

.aktiv {
    font-weight: bold;
}

.nav-links {
    list-style: none;
    display: flex;
    gap: var(--spacing-unit);
}

button {
    background: none;
    border: none;
    padding: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
    outline: none;
}

.nav-links a {
    text-decoration: none;
    color: white;
    font-size: .8rem;
}

.scroll-button {
    position: absolute;
    bottom: 5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 15rem;
    cursor: pointer;
    z-index: 100;
}

.scroll-button p {
    font-family: 'CHANEY-Wide', sans-serif;
}

.scroll-button svg {
    margin-top: 1rem;
    height: 1.25rem;
}


.scroll-butto2n {
    position: absolute;
    bottom: 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 15rem;
    cursor: pointer;
    z-index: 100;
}

.scroll-butto2n p {
    font-family: 'CHANEY-Wide', sans-serif;
}

.scroll-butto2n svg {
    margin-top: 1rem;
    height: 1.25rem;
}

.about-container,
.projects-container {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100vh;
    justify-content: center;
    align-items: center;
    text-align: center;
    background-image: url(/images/Projects.png);
    background-repeat:no-repeat;
    background-size: cover;
    background-position: center top;
    overflow-x: hidden;
}

.last {
    background-color: black;
    height: 92.5vh;
    overflow-x: hidden;
}

.project-card {
    margin-bottom: var(--spacing-unit);
    padding: var(--spacing-unit);
    background: #f5f5f5;
    transition: transform 0.3s ease;
}

footer {
    height: 10vh;
}

.zwischenheader * {
    color: black;
}

.zwischenheader {
    overflow: hidden;  /* Schneidet alles ab, was über den Container hinausgeht */
    position: relative; /* Wichtig für das Positioning des Kinderelements */
    width: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    text-align: center;
    justify-content: center;
    padding: 9rem 1rem 0rem 1rem;
    width: 100vw;
    background-color: white;
}

.zwischenheader h1 {
    position: relative;
    line-height: 10rem;
    z-index: 0;
    opacity: 0.2;
    font-size: 5rem;
    background: linear-gradient(to top, #000000, #ffffff);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    bottom: -4rem;
}

.backy {
    position: relative;
    z-index: 0;
    opacity: .1;
    bottom: -5rem;
    font-size: 5rem;
}

.backy {
    position: absolute;
    font-size: 10rem;
    line-height: 9rem;
    bottom: unset;
    pointer-events: none;
}

.unten {
    transform: rotate(180deg);
}

/* Grundstyles für beide Button-Typen */
.weiter, .project-btn {
    position: relative;
    padding: 0.8rem 1.6rem;
    font-size: 0.9rem;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    background: transparent;
    border: 1px solid white;
    color: white;
    margin-top: 2rem;
    cursor: pointer;
}

.weiter, .project-btn {
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.weiter::before, .project-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: white;
    transition: all 0.3s ease;
    z-index: -1;
}

/* Link-Styles innerhalb der Buttons */
.weiter a, .project-btn a {
    color: white;
    text-decoration: none;
    transition: color 0.3s ease;
}

/* Mobile Anpassungen */
@media (max-width: 768px) {
    .weiter, .project-btn {
        padding: 0.6rem 1.2rem;
        font-size: 0.8rem;
        margin-top: 1.5rem;
    }
}

.weiter a {
    text-decoration: none;
    text-transform: uppercase;
    font-size: .8rem;
}

.invertiert {
    filter: invert(100%);
}

.invertiert h1 {
    position: initial;
    transform: translateY(-7rem);
}

.invertiert h3 {
    z-index: 3;
}

.line {
    width: 100%;
    max-height: 50vh;
    overflow: hidden;
    position: relative;
    white-space: nowrap;
}

@keyframes slideLeftToRight {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%); /* Bewegt sich um die Hälfte der Gesamtbreite */
    }
}

@keyframes slideRightToLeft {
    0% {
        transform: translateX(-50%);
    }
    100% {
        transform: translateX(0);
    }
}

.line-content {
    display: inline-block;
    height: 100%;
    animation: slideLeftToRight 70s linear infinite;
}

.slider2 {
    animation: slideRightToLeft 70s linear infinite;
}

.line-content img {
    max-height: 50vh;
    display: inline-block;
}

.video-background {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}

.video-background::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Dunklere Overlay-Schicht */
    /* Alternativ ein Farbverlauf: */
    /* background: linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.3)); */
    z-index: 1;
}

.video-background video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translateX(-50%) translateY(-50%);
    z-index: 0;
    object-fit: cover;
}

.content {
    position: relative;
    z-index: 2;
    color: white;
    display: flex;
    text-align: center;
}

.zwischenheader h1 {
    pointer-events: none;
}







/* legal.css */
.legal-page {
    min-height: 85vh;
    margin-top: 7.5vh;
    max-width: 40rem;
    padding: 7.5vh;
}

.legal-page a {
    text-decoration: none;
    font-size: .9rem;
    line-height: 1.5;
    font-weight: lighter;
}

.legal-page * {
    color: black;
}

.legal-page p {
    font-size: 0.9rem;
    line-height: 1.5;
    margin-bottom: 1rem;
    max-width: none;
}

.legal-page .section-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.2rem;
    font-weight: bold;
    margin: 2rem 0 1rem;
    line-height: 1.4rem;
}

.legal-page .subsection-title {
    font-size: 1rem;
    margin: 1.5rem 0 0.5rem;
}

.legal-page ul {
    margin: 1rem 0;
    padding-left: 1.5rem;
}

.legal-page li {
    font-size: 0.9rem;
    line-height: 1.5;
    margin-bottom: 0.5rem;
    font-weight: lighter;
}

.legal-page li::before {
    margin-bottom: 10px;
    padding-right: 0.5rem;
    position: relative;
    font-weight: lighter;
}

.legal-page ul li::marker {
    content:"—  ";
}

.legal-page .title {
    font-size: 1.5rem;
    margin-bottom: 2rem;
    line-height: 1.5rem;
}

/* Footer Styles */
.site-footer {
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    background-color: black;
    padding: var(--spacing-unit);
    height: 7.5vh;
}

.footer-content {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100vw;
}

.footer-links {
    display: flex;
    flex-direction: row;
}

.footer-links a {
    text-transform: uppercase;
}

.footer-links a, .footer-copyright {
    color: white;
    text-decoration: none;
    font-size: 0.8rem;
}

.footer-links a:last-child {
    margin-left: var(--spacing-unit);
    margin-right: var(--spacing-unit);
}

.footer-copyright {
    color: white;
    font-size: 0.8rem;
}












/* Tablet (ab 768px) */
@media screen and (min-width: 768px) {
    :root {
        --spacing-unit: 1.5rem;
    }

    .zwischenheader p {
        max-width: 40rem;
    }

    .zwischenheader h1 {
        bottom: -4rem;
        font-size: 12rem;
    }

    .zwischenheader {
        padding: 9rem 2rem 0rem 2rem;
    }

    .accordion {
        max-width: 35rem;
    }
}

/* Desktop (ab 1370px) */
@media screen and (min-width: 1370px) {
    :root {
        --spacing-unit: 2rem;
    }

    .about-container p {
        max-width: 23rem;
    }

    .platzhalter{
        display: none;
    }
}

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

    .legal-page {
        padding: 2rem;
    }

    h1 {
        font-size: 2.5rem;
        line-height: 2.25rem;
        word-break:normal;
    }

    .more h1, .zwischenheader h1, .backy {
        word-break: keep-all;
    }

    .footer-copyright {
        display: none;
    }

    .footer-links a:last-child {
        margin-right: 0;
    }
}

.accordion-item p {
    max-width: 100%;
}



@media (hover: hover) {
    .scroll-button:hover path {
        fill: rgb(168, 124, 255);
    }
    
    .scroll-button:hover rect {
        fill: rgb(168, 124, 255);
    }
    
    .scroll-button:hover p {
        color: rgb(168, 124, 255);
    }

    .footer-links a:hover {
        color: rgb(168, 124, 255);
    }

    .scroll-butto2n:hover path {
        fill: rgb(87, 131, 0);
    }
    
    .scroll-butto2n:hover rect {
        fill: rgb(87, 131, 0);
    }
    
    .scroll-butto2n:hover p {
        color: rgb(87, 131, 0);
    }

    li a:hover {
        color: rgb(168, 124, 255);
    }

    .project-card:hover {
        transform: translateY(-5px);
    }

    .weiter:hover::before, .project-btn:hover::before {
        left: 0;
    }
    
    .weiter:hover, .project-btn:hover {
        color: black;
    }
    
    /* Stelle sicher, dass der Link im Button auch die Farbe ändert */
    .weiter:hover a, .project-btn:hover a {
        color: black;
    }
    
}