.theme-toggle-container {
    display: flex;
    justify-content: flex-end;
    margin: 1rem 1.25rem;
}

html, body {
    overflow-x: hidden;
}

header {
    text-align: center;
    margin-bottom: 30px;
}

main section {
    margin-bottom: 5rem;
}

.hero {
    align-items: center;

    section {
        margin: 0;
    }

    .logo {
        justify-self: center;
    }
}

.notebook-banner {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 3rem 0;
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--pico-primary-background);
}

.details {
    ul {
        padding: 0;

        li {
            list-style-type: none;
        }
    }
}

.program {
    ul.agenda-list {
        padding: 0;

        li {
            list-style-type: none;
        }
    }
}

.details {
    text-align: center;
}

.cta-button {
    display: flex;
    justify-content: center;
    margin-top: 40px;

    a {
        text-decoration: none;
        color: white;
    }

    button {
        border: none;
        padding: 10px 20px;

        &:hover {
            background-color: var(--pico-primary-hover-background);
        }
    }
}

.social-promo {
    margin-top: 3rem;
}

.team h2 {
    margin-bottom: 1.5em;
}

.team-members {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 3rem;

    .team-member {
        display: flex;
        flex-direction: column;
        align-items: center;
        max-width: 250px;
        gap: 1rem;

        .member-photo {
            width: 200px;
            height: 200px;
            border: 10px solid var(--pico-primary-background);
            border-radius: 50%;
            color: white;
            background-color: white;
            display: flex;
            justify-content: center;
            align-items: center;

            img:not(.blank) {
                border-radius: 50%;
            }
        }

        .member-details {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: .25rem;
            text-align: center;
        }

        .social-icons {
            margin-top: 0.5rem;
            display: flex;
            gap: 0.5rem;
        }
    }
}

footer {
    background-color: var(--pico-primary-background);
    margin-top: 1rem;
    padding: 20px;
    text-align: center;

    p {
        color: white;
    }

    a {
        color: white;
        text-decoration: underline;

        &:hover {
            text-decoration: none;
        }
    }
}
