:root {
    --hexagon-size: 100px; /* Width */
    --hexagon-border-size: 4px;
    --outer-hexagon-size: calc(var(--hexagon-size) + var(--hexagon-border-size));
}

* {
    margin: 0px;
    padding: 0px;
}

html {
    background-color: black;
}

body {
    width: 100vw;
    height: 100vh;
}

#flex_box {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
    background: linear-gradient(red, purple, blue);
    /* background: radial-gradient(white, grey, black, black); */
    background-color: black;
}

.flex_column {
    width: var(--outer-hexagon-size);
    height: 100vh;
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    gap: 0px;
}

.hexagon, .hex_border {
    aspect-ratio: 1/cos(30deg);
    clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
}

.hex_border {
    flex: 0 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(255, 255, 255, 0);
    width: var(--outer-hexagon-size);
    transition: background-color 0.2s, transform 0.5s;
}

.hexagon {
    width: var(--hexagon-size);
    background-color: black;
    transition: background-color 0.5s;
}
.hex_border:hover {
    background-color: white;
}
