@import url(general.css);
@import url(nav.css);
@import url(fonts.css);


/* Main Slides */
main {
    overflow-y: visible;
    width: 100vw;
    position: relative;
    scroll-snap-type: unset;
    scroll-behavior: unset;
    scroll-padding-top: unset;
    scroll-padding-bottom: unset;
    height: auto;
}

.img-marker {
    position: fixed;
    right: 200px;
    bottom: -50px;
    z-index: 99;
    width: 50px;
    transform: rotate(20deg);
}

.wrapper {
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    position: relative;
}

.content {
    display: flex;
    flex-direction: row;
    align-items: center;
    position: relative;
    width: 100%;
    max-width: 1000px;
}

.wrapper:nth-of-type(even) .content {
    flex-direction: row-reverse;
}

.visuals {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    z-index: 10;
}

.skills-box {
    display: flex;
    flex-direction: row;
    align-items: center;
    position: relative;
    width: auto;
    max-width: 1000px;
    gap: 60px;
}

.skills {
    justify-content: start;
    width: 100%;
}

#dynamic-image-container {
    width: 100%;
    max-width: 500px;
    height: 300px;
}

.img {
    width: 450px;
}

.intro {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: 100%;
}

.intro-box {
    width: 100%;
    height: auto;
    max-width: 400px;
    position: relative;
}

.intro-text {
    width: 100%;
}

.written-heading {
    font-family: 'Caveat', sans-serif;
    font-weight: 600;
    text-decoration: none;
    color: var(--mainText);
    font-size: 40px;
    line-height: 120%;
    margin: 0 0 30px 10px;
    font-style: normal;
}

section:last-of-type {
    text-align: center;
    display: flex;
    justify-content: center;
    flex-direction: column;
    position: relative;
}

.last-box {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
    max-width: 400px;
}

.claim {
    position: absolute;
    bottom: 30px;
    font-size: 16px;
    padding: 0 120px;
}

footer {
    text-align: center;
    display: flex;
    justify-content: center;
}


/* All Scribbles */
.handwritten {
    font-family: 'Caveat', sans-serif;
    font-weight: 600;
    text-decoration: none;
    color: var(--mainColor);
    font-size: 30px;
    line-height: 100%;
}

.first-scribble {
    position: absolute;
    z-index: 10;
    top: 95px;
    font-size: 35px;
}

.scribble-01 {
    position: relative;
}

.scribble-01::after {
    content: '';
    display: block;
    position: absolute;
    top: 2px;
    left: 0;
    width: 115%;
    height: 100%;
    background-image: url('../img/scribbl-01.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: none;
    z-index: 10;
}

.scribble-02 {
    position: absolute;
    bottom: 30px;
    left: 50%;
    right: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    z-index: 10;
    transition: opacity 0.3s ease-out, visibility 0.3s;
}

.scribble-02 span {
    transform: rotate(-5deg);
}

.scribble-03 {
    position: absolute;
    bottom: 45px;
    left: 35px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    z-index: 10;
    text-align: center;
    transform: rotate(-5deg);
    transition: opacity 0.3s ease-out, visibility 0.3s;
}

.scribble-03 span {
    margin-left: 60px;
}

.scribble-04 {
    width: 200px;
    height: 100px;
    position: absolute;
    top: 350px;
    left: 280px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
    transform: rotate(5deg);
}

.scribble-04 img {
    margin-right: 140px;
}

.scribble-05 {
    position: relative;
}

.scribble-05::after {
    content: '';
    display: block;
    position: absolute;
    top: 2px;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('../img/scribble-05.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: none;
    z-index: 10;
}

.last-scribble {
    z-index: 10;
    position: relative;
    font-size: 30px;
    margin-bottom: 5px;
    display: block;
}





.cv {
    position: absolute;
    bottom: 30px;
    left: 30px;
    background-color: var(--mainColor);
    border-radius: 50px;
    z-index: 990;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border: none;
    cursor: pointer;
}

.cv:hover {
    background-color: var(--mainAccent);
}

.cv:focus {
    outline: 2px solid var(--mainColor);
    outline-offset: 5px;
}

.cv:hover .icon {
    filter: brightness(10%);
}

.cv .icon {
    position: relative;
    width: 16px;
    height: auto;
}

.button-group {
    display: flex;
    width: 200px;
    height: 400px;
    overflow-y: auto;
    gap: 15px;
    flex-direction: column;
    align-items: flex-start;
    padding: 60px 0 60px 0;
}

.button-group::before {
    content: ''; /* Wichtig für Pseudo-Elemente */
    position: absolute;
    top: 0px; /* Positioniert es ganz unten am Elternelement */
    left: 0;
    width: 50%;
    height: 100px;
    pointer-events: none;
    background: linear-gradient(to bottom, rgb(30, 28, 27) 0%, transparent 100%);
}

.button-group::after {
    content: ''; /* Wichtig für Pseudo-Elemente */
    position: absolute;
    bottom: 0; /* Positioniert es ganz unten am Elternelement */
    left: 0;
    width: 50%;
    height: 100px;
    pointer-events: none;
    background: linear-gradient(to top, rgb(30, 28, 27) 0%, transparent 100%);
}



.sec-button {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    text-decoration: none;
    color: var(--mainText);
    background-color: transparent;
    font-size: 18px;
    line-height: 100%;
    padding: 15px 20px;
    border-radius: 50px;
    flex: 0 0 auto;
    text-align: left;
    border: 1px solid var(--mainText);
    cursor: pointer;
}

.sec-button:hover {
    background-color: var(--mainText);
    color: var(--black);
}

.sec-button:active {
    background-color: var(--mainText);
    color: var(--black);
}

.on {
    background-color: var(--mainText);
    color: var(--black);
}

.more-btn {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    text-decoration: none;
    color: var(--white);
    background-color: var(--mainColor);
    font-size: 18px;
    line-height: 100%;
    padding: 15px 20px;
    border-radius: 50px;
    margin-top: 30px;
    display: inline-block;
    border: none;
    cursor: pointer;
}

.more-btn:hover {
    background-color: var(--mainAccent);
    color: var(--black);
}

.more-btn:focus {
    outline: 2px solid var(--mainColor);
    outline-offset: 5px;
}





.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* Dein halbtransparenter Hintergrund */
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: center;
    justify-content: center;
    z-index: 20;
    transition: opacity 0.2s ease-out, visibility 0.2s; /* Kürzere Dauer für Schnelligkeit */
}

.overlay.hidden {
    opacity: 0;
    visibility: hidden;
}

.overlay:not(.hidden) {
    transform: translateY(0); /* Gleitet in die normale Position */
    opacity: 1; /* Voll sichtbar */
    visibility: visible; /* Interaktiv */
}

.overlay-content {
    background-image: url('../img/desktop/paper.png');
    background-size: cover;
    padding: 40px;
    border-radius: 20px;
    max-width: 500px;
    max-height: 60%;
    overflow-y: auto;
    text-align: left;
    position: relative;
    margin: 0 20px;
    transform: translateY(50px);
    opacity: 0;
    transition: transform 0.3s ease-out 0.1s, opacity 0.3s ease-out 0.1s;
}

.overlay-header {
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    line-height: 120%;
    font-style: italic;
    font-size: 30px;
    text-decoration: none;
    color: var(--black);
    margin: 0 0 20px 0;
}

.overlay-text {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    line-height: 150%;
    font-style: normal;
    font-size: 18px;
    text-decoration: none;
    color: var(--textDark);
    margin: 0 0 20px 0;
}

.overlay:not(.hidden) .overlay-content {
    transform: translateY(0); /* Gleitet in die normale Position */
    opacity: 1; /* Wird sichtbar */
}

.close-btn {
    width: 48px;
    height: 48px;
    background-color: var(--mainAccent);
    border-radius: 50px;
    border: none;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 15px;
}

.close-btn:hover {
    background-color: var(--white);
}

.close-btn:focus {
    outline: 2px solid var(--mainColor);
    outline-offset: 5px;
}







/* Mobile */

@media screen and (max-width: 1000px) {

main {
    padding: 0;
}

.wrapper {
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 20px;
}

.content {
    flex-direction: column !important;
    align-items: center;
    justify-content: center;
    height: auto;
    gap: 30px;
    width: 100%;
}

.visuals {
    order: -1;
    position: relative;
    display: flex;
    height: auto;
}

.skills-box {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
    height: auto;
    max-width: 100%;
    gap: 30px;
}

.skills {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
}

.skills img {
    width: 100%;
    max-width: 500px;
    height: auto;
}


.button-group {
    display: flex;
    width: 100%;
    height: auto;
    padding: 15px 0;
    overflow-x: auto;
    gap: 15px;
    flex-direction: row;
    position: relative;
    overflow-y: hidden;
}


.button-group::before {
    background: none;
}

.button-group::after {
    background: none;
}

.img {
    width: 300px;
    height: auto;
}

.intro {
    order: 0;
    width: 100%;
    align-items: center;
}

.intro-box {
    width: 100%;
    text-align: center;
}

.written-heading {
    text-align: center;
    margin: 0 0 30px 0;
}

.img-marker {
    display: none;
}


.scribble-03, .scribble-04 {
    display: none;
}

.cv {
    left: 20px;
    bottom: 20px;
}




}


@media screen and (max-width: 400px) {

    .scribble-02 {
        display: none;
    }


}