* {
    box-sizing: border-box;
}

@media (prefers-reduced-motion: no-preference) {
  * {
    scroll-behavior: smooth;
  }
}

html {
    background-color: #bbe4ff;
}

body {
    background-image: url("assets/bckg.jpeg");
    padding-top: 20px;
    margin: 0;
    min-height: 100vh;

    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

img {
    width: 100%;
    height: 100%;
}

nav {
    background: linear-gradient(90deg, rgb(78, 255, 181), rgb(255, 87, 233));

    padding: 5px;
    margin: 10px;

    border: 5px ridge white;
    border-radius: 15px;
    box-shadow: 0 0 30px white;

    position: sticky;
    top: 10px;
    z-index: 100;
}

.nav-button {
    padding: 7px 10px 5px 10px;
    border-radius: 10px;

    font-family: "Arista Light";
    font-size: 1.3rem;

    border: 2px solid white;
    box-shadow: 0 0 0 white;

    background: linear-gradient(135deg, white, rgb(209, 209, 209));

    transition-property: box-shadow, background, border;
    transition-duration: 0.5;
    transition-timing-function: ease-in-out;
}

.nav-button:hover {
    box-shadow: 0 0 5px white;
    background: linear-gradient(135deg, white, rgb(230, 230, 230));
}

.backblur {
    backdrop-filter: blur(10px);
}

section {
    background-color: transparent;
    border: 5px ridge white;
    border-radius: 15px;

    padding: 20px;
    padding-top: 40px;
    margin: 30px 0;

    backdrop-filter: blur(10px);

    .section-title {
        background: linear-gradient(-45deg, rgb(78, 255, 181), rgb(255, 126, 238));
        width: fit-content;
        padding: 10px 15px 5px 15px;
        margin: 0;  
        position: absolute;
        top: -35px;
        left: 10px;
        border: 5px ridge white;
        border-radius: 15px;
        box-shadow: 0 0 10px white;
        font-family: Margin;
        font-size: 2.5rem;
        color: rgb(255, 42, 159);
        text-shadow: 0 0 5px white;
        letter-spacing: 3px;
    }

    .section-images {
        height: 200px;
        width: 300px;

        position: absolute;
        top: -100px;
        right: -75px;

        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;

        * {
            position: absolute;
        }
    }
}

main {
    width: 100%;
    max-width: 900px;
    margin: 0 50px;
}

.banner {
    max-height: 125px;
    max-width: 80%;
    padding: 0 10px;

    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;

    background: radial-gradient(white 10%, transparent 70%);
    border-radius: 50%;
}

.banner > * {
    width: 100%;
}

.banner-side {
    height: 50px;
    width: 75px;
}