/* resets */

* {
    box-sizing: border-box;
}

img {
    display: block;
    margin: 0;
    max-width: 100%;
    height: auto;
    transform: scale(50%);
}


/* typography */

body {
    font-family: "Inter";
    font-size: 16px;
    text-align: center;
}

h1 {
    font-size: 2em;
    font-weight: 600;
    color: hsl(0, 0%, 50%);
}

p {
    line-height: 100%;
    margin: 0;
}

a {
    color: hsl(0, 0%, 50%);
}

#caption {
    line-height: 150%;
    text-align: left;
    color: hsl(0, 0%, 50%);
}

/* layout */

h1 {
    margin: 1em 0;
}

#color-circle {
    margin: auto;
    width: 500px;
    aspect-ratio: 1/1;
    border-radius: 100vw;
    background: conic-gradient(
        #FF0000,
        #FF8000,
        #FFFF00,
        #80FF00,
        #00FF00,
        #00FF80,
        #00FFFF,
        #0080FF,
        #4040FF,
        #8000FF,
        #FF00FF,
        #FF0080,
        #FF0000);
    transform: rotate(90deg);
}

#buttons {
    display: flex;
    justify-content: center;
    gap: 1em;
    margin: 0;
}

button {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0.5em 1em;
    color: hsl(0, 0%, 25%);
    background-color: #FFFFFF;
    border: 1px solid #e6e6e6;
    border-radius: 100000px;
    transition: all 0.2s ease-in-out;
}

.active {
    background-color: #e6e6e6;
}

.hidden {
    opacity: 0;
}

.data-layer {
    position: relative;
    top: -250px;
    left: 50%;
}

.data-layer img {
    position: absolute;
    transform: translate(-50%, -50%) scale(50%);
}

#caption {
    margin: 0 auto;
    width: 800px;
}

#data-vis {
    margin: 3em 0 3.5em 0;
}