body {
    margin: 0;
}
.menu{
    display: flex;
    gap: 30px;
    background-color: beige;
    padding: 15px;
    width: 100%;
    justify-content: center;
    position: sticky;
    top: 0;
    z-index: 1000;
}
.menu a{
    text-decoration: none;
    color: black;
    transition: color 0.3s, transform 1.0s;
    display: inline-block;
}
.menu a:hover {
    color: pink;
    transform: scale(1.1);
}

#ceremony, #about, #party {
    margin-top: 50px;
    border: 1px solid black;
    padding: 25px;
    border-radius: 10px;
    scroll-margin: top 200px;
}
.party-groups {
    display: flex;
    gap: 50px;
    justify-content: center;

}
.party-groups div{
    background-color: white;
    padding: 20px;
    border: 1px solid black;
    border-radius: 10px;
    width: 200px;
}
.group-title {
    text-align: center;
}
.hero {
    text-align: center;
    padding: 100px 20px;
}

.hero h1 {
    font-size: 50px;
}
.hero p{
    font-size: 20px;
}
.timeline-event {
    padding: 20px;
    position: relative;
    width: 50%;
    box-sizing: border-box;
}
.timeline {
    width: 500px;
    margin: auto;
    position: relative;
}
.timeline-event::before {
    content: "";
    width: 12px;
    height: 12px;
    display: block;
    background-color: black;
    border-radius: 50%;
    position: absolute;
    transform: translate(50%);
    top: 25px;
    right: 1px;
}
.timeline-event h3 {
    margin-top: 0;
}
.timeline-event:nth-child(even)::before {
    left: -13px;
    right: auto;
}
.timeline-event:nth-child(even) {
    text-align: right;
    margin-left: 50%;
}
.timeline-date {
    font-style: italic;
    opacity: 0.7;
    margin: 5px 0;
}
.timeline::before {
    content: "";
    width: 2px;
    height: 100%;
    background-color: black;
    position: absolute;
    left: calc(50% - 1px);
    transform: translateX(-50%);
}
@media (max-width: 600px) {
     html {
        scroll-padding-top: 220px;
    }
    .timeline::before {
        left: 0;
        transform: none;
    }
    .timeline-event::before {
        left: 1px;
        right: auto;
        transform: translateX(-50%);
    }
    .timeline-event:nth-child(even)::before {
        left: 1px;
        right: auto;
        transform: translateX(-50%);
    }
    .party-groups {
        flex-direction: column;
    }
    .menu {
        flex-direction: column;
        gap: 15px;
    }
    .timeline {
        width: 100%;
    }
    .timeline-event {
        width: 100%;
        margin-left: 0;
        text-align: left;
    }
        .timeline-event:nth-child(even) {
        margin-left: 0;
        text-align: left;
    }
    #ceremony, #about, #party {
    scroll-margin-top: 145px;
}
}
html {
    scroll-behavior: smooth;
    scroll-padding-top: 65px;
}