*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
.logo {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
}

body {
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    line-height: 1.5;
    background: linear-gradient(54deg, #2b2c7c, #6a6bff);
    color: #f0f0f0;
    overflow-x: hidden;
    padding-bottom: 50px;
}

.timeline ul li {
    list-style-type: none;
    position: relative;
    width: 6px;
    margin: 0 auto;
    padding-top: 50px;
    background: #2b2c7c;
}
.timeline ul li::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%) rotate(45deg);
    width: 20px;
    height: 20px;
    z-index: 2;
    background: #2b2c7c;
}
.timeline ul li div {
    position: relative;
    bottom: 0;
    width: 400px;
    padding: 20px;
    background: #2b2c7c;
    box-shadow: 4px 13px 30px 1px rgba(43, 44, 124, 0.2);
    border-radius: 5px;
    display: flex;
    align-items: center;
    color: #f0f0f0;

}
.timeline ul li div time {
    position: absolute;
    background: #4a4aff;
    width: 150px; /* Erhöht die Breite */
    height: 30px;
    top: -15px;
    border-radius: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 2px;
    color: #f0f0f0;
    
}
.timeline ul li div div {
    height: 100px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.timeline ul li div div p {
    text-align: center;
}
.timeline ul li div .discovery {
    margin-right: 10px;
}
.timeline ul li:nth-of-type(odd) > div {
    left: 60px;
}
.timeline ul li:nth-of-type(even) > div {
    left: -460px;
}

.timeline ul li div {
    visibility: hidden;
    opacity: 0;
    transition: all 0.5s ease-in-out;
}
.timeline ul li:nth-of-type(odd) div {
    transform: translate3d(100px, -10px, 0) rotate(10deg);
}
.timeline ul li:nth-of-type(even) div {
    transform: translate3d(-100px, -10px, 0) rotate(10deg);
}
.timeline ul li.in-view div {
    transform: none;
    visibility: visible;
    opacity: 1;
}

@media screen and (max-width: 900px) {
    .timeline ul li div {
        width: 250px;
        flex-direction: column;
    }
    .timeline ul li div div {
        width: 80%;
        margin: 10px;
    }
    .timeline ul li:nth-of-type(even) > div {
        left: -289px;
    }
}
@media screen and (max-width: 600px) {
    body {
        background: #6a6bff;
    }

    .timeline ul li {
        margin-left: 20px;
    }
    .timeline ul li div {
        width: calc(100vw - 91px);
    }
    .timeline ul li:nth-of-type(even) > div {
        left: 45px;
    }
}
.introduction {
    text-align: center;
    margin: 0 auto;
    padding: 20px;
    max-width: 800px;
}

.introduction h1 {
    font-size: 2em;
    margin-bottom: 10px;
}

.introduction p {
    font-size: 1.2em;
    line-height: 1.5;
}
h1 {
    line-height: 1.2; /* Adjust the value as needed */
}
        .bubble-skills {
            display: flex;
            justify-content: center; /* Center the bubbles */
            flex-wrap: wrap;
            margin: 50px 0;
            padding: 20px;
        }

        .bubble-skill {
            background: #2b2c7c;
            color: #f0f0f0;
            padding: 20px;
            border-radius: 50%;
            box-shadow: 4px 13px 30px 1px rgba(43, 44, 124, 0.2);
            width: 250px; /* Increased size */
            height: 250px; /* Increased size */
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            margin: 5px; /* Reduce margin to bring bubbles closer */
            transition: transform 0.3s ease;
            border: 6px solid #4a4aff; /* Add border */
        }

        .bubble-skill:hover {
            transform: scale(1.1);
            border-color: #6a6aff;
        }

        .bubble-skill h2 {
            margin-bottom: 10px;
            font-size: 1.2em;
        }

        @media screen and (max-width: 900px) {
            .bubble-skills {
                flex-direction: column;
                align-items: center;
            }
        
            .bubble-skill {
                width: 200px; /* Increased size */
                height: 200px; /* Increased size */
                margin-bottom: 10px;
                visibility: visible !important; /* Ensure visibility */
                opacity: 1 !important; /* Ensure opacity */
            }
        }

        .skill-card h2 {
            background-color: #4a4aff;
            padding: 10px;
            border-radius: 5px;
            margin-bottom: 10px;
        }

        .footer-icon {
            vertical-align: middle;
            height: 1em; /* Passt die Höhe der Icons an die Textgröße an */
            margin-left: 1px; /* Fügt etwas Abstand zwischen Icon und Text hinzu */
        }

        @media (max-width: 599px) {
            .logo span {
                font-size: 1.5em; /* Kleinere Schriftgröße für mobile Geräte */
            }
        }

        a {
            color: inherit;
            text-decoration: none;
        }

        .introduction p {
            margin-bottom: 20px; /* Fügt Abstand zwischen Text und Bild hinzu */
        }

        @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');


        .logo {
            position: fixed;
            top: 10px;
            left: 10px;
            z-index: 1000;
            display: flex;
            align-items: center;
        }

        .logo img {
            width: 50px; /* Default size */
        }

        .logo span {
            margin-left: 10px;
            font-size: 2em;
            font-weight: bold;
            color: #ffffff;
        }

        @media (min-width: 600px) {
            .logo img {
                width: 75px; /* Medium size for larger screens */
            }
            .logo span {
                font-size: 2em;
            }
        }

        @media (min-width: 900px) {
            .logo img {
                width: 100px; /* Larger size for even larger screens */
            }
            .logo span {
                font-size: 2.5em;
            }
        }

        .footer {
            background-color: #2b2c7c;
            text-align: center;
            padding: 10px;
            position: fixed;
            left: 0;
            bottom: 0;
            width: 100%;
            z-index: 1;
            border-top-left-radius: 20px;
            border-top-right-radius: 20px;
        }

        .timeline {
            position: relative;
            z-index: 0;
            margin-bottom: 50px; /* Abstand zum Footer */
        }

        /* Animation for the introduction image */
        .introduction img {
            opacity: 0;
            transform: translateY(20px);
            animation: fadeInUp 1s ease-out forwards;
        }

        @keyframes fadeInUp {
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .discovery, .scientist {
            text-align: center;
            margin: 10px 0;
        }

        @keyframes fadeIn {
            from {
                opacity: 0;
                transform: translateY(-20px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
    
        @keyframes float {
            0% {
                transform: translateY(0);
            }
            50% {
                transform: translateY(-5px); /* Leichter Schwebeneffekt */
            }
            100% {
                transform: translateY(0);
            }
        }
        
        /* Definiert die sanfte Schwebebewegung */
        @keyframes float {
            0% {
                transform: translateY(0);
            }
            50% {
                transform: translateY(-5px); /* Weniger Bewegung für ein leichteres Schweben */
            }
            100% {
                transform: translateY(0);
            }
        }

        /* Stile für den Textcontainer */
        .floating-text {
            background-color: #2b2c7c;
            border-radius: 10px;
            padding: 10px;
            color: #f0f0f0;
            animation: float 5s ease-in-out infinite; /* Längere Dauer für ruhigere Bewegung */
            border: 6px solid #4a4aff; /* Hinzugefügter Rand */
            transition: transform 0.3s ease, border-color 0.3s ease; /* Transition for hover effect */
        }

        .floating-text:hover {
            transform: scale(1.05); /* More prominent zoom */
            border-color: #6a6aff; /* Slightly brighter border on hover */
        }

        .skills {
            display: flex;
            flex-wrap: wrap; /* Allows cards to wrap */
            justify-content: center; /* Centers cards */
            gap: 25px; /* Increased space between cards */
            margin: 40px 0; /* Adjusted top and bottom margin */
            padding: 20px; /* Adjusted padding */
        }
    
        .skill-card {
            background: #2b2c7c;
            color: #f0f0f0;
            padding: 25px; /* Increased padding */
            border: 6px solid #4a4aff; /* Added border with the specified color */
            border-radius: 10px; /* Rounder corners */
            box-shadow: 4px 12px 30px rgba(43, 44, 124, 0.4); /* Softer and larger shadow */
            width: 35%; /* Increased size */
            max-width: 260px; /* Ensures a consistent size */
            text-align: center;
            transition: all 0.5s ease-in-out;
            visibility: hidden;
            opacity: 0;
        }
    
        .skill-card:nth-of-type(odd) {
            transform: translate3d(100px, -10px, 0) rotate(10deg);
        }
    
        .skill-card:nth-of-type(even) {
            transform: translate3d(-100px, -10px, 0) rotate(10deg);
        }
    
        .skill-card.in-view {
            transform: none;
            visibility: visible;
            opacity: 1;
        }
    
        .skill-card:hover {
            transform: scale(1.05); /* More prominent zoom */
            border-color: #6a6aff; /* Slightly brighter border on hover */
        }
    
        .skill-card h2 {
            margin-bottom: 12px; /* Adjusted spacing */
            font-size: 1.2em; /* Increased size */
        }
    
        .skill-card p {
            font-size: 1.1em; /* Larger text */
        }
    
        @media screen and (max-width: 900px) {
            .skills {
                flex-direction: column;
                align-items: center;
            }
    
            .skill-card {
                width: 85%; /* Increased width for smaller screens */
                max-width: 350px; /* Ensures cards don't become too large */
            }
        }

        .bubble-skill {
            visibility: hidden;
            opacity: 0;
            transition: all 0.5s ease-in-out;
        }
    
        .bubble-skill:nth-of-type(odd) {
            transform: translate3d(100px, -10px, 0) rotate(10deg);
        }
    
        .bubble-skill:nth-of-type(even) {
            transform: translate3d(-100px, -10px, 0) rotate(10deg);
        }
    
        .bubble-skill.in-view {
            transform: none;
            visibility: visible;
            opacity: 1;
        }
    
        .bubble-skill:hover {
            transform: scale(1.05); /* Slightly enlarge on hover */
        }
        
        @media screen and (max-width: 900px) {
            .timeline ul li div {
                width: 250px;
                flex-direction: column;
            }
            .timeline ul li div div {
                width: 80%;
                margin: 10px;
            }
            .timeline ul li:nth-of-type(even) > div {
                left: -289px;
            }
            .skill-card, .bubble-skill {
                visibility: visible !important;
                opacity: 1 !important;
            }
        }
        
        @media screen and (max-width: 600px) {
            body {
                background: #6a6bff;
            }
        
            .timeline ul li {
                margin-left: 20px;
            }
            .timeline ul li div {
                width: calc(100vw - 91px);
            }
            .timeline ul li:nth-of-type(even) > div {
                left: 45px;
            }
            .skill-card, .bubble-skill {
                visibility: visible !important;
                opacity: 1 !important;
            }
        }