/*
vars
*/
:root {
    --bc-dot-color-inner-active: rgba(136, 8, 8, 1.0);
    --bc-dot-color-inner-inactive: rgba(136, 8, 8, 0.0);
    --bc-dot-color-outer-active: rgba(136, 8, 8, 1.0);
    --bc-dot-color-outer-inactive: rgba(136, 8, 8, 1.0);

    --bc-dot-border-width: 1.5px;
    --bc-dot-radius: 5px;
    --bc-dot-radius-outer: calc(var(--bc-dot-radius) - var(--bc-dot-border-width));
    --bc-dot-radius-inner: calc(var(--bc-dot-radius) - var(--bc-dot-border-width) * 2);
    --bc-dot-diameter: calc(var(--bc-dot-radius) * 2);
    --bc-dot-distance: 2px;

    --bc-dot-pos-col-1: calc(var(--bc-dot-radius) + var(--bc-dot-distance));
    --bc-dot-pos-col-2: calc(var(--bc-dot-pos-col-1) + var(--bc-dot-diameter) + var(--bc-dot-distance));
    --bc-dot-pos-col-3: calc(var(--bc-dot-pos-col-2) + var(--bc-dot-diameter) + var(--bc-dot-distance));
    --bc-dot-pos-col-4: calc(var(--bc-dot-pos-col-3) + var(--bc-dot-diameter) + var(--bc-dot-distance));
    --bc-dot-pos-col-5: calc(var(--bc-dot-pos-col-4) + var(--bc-dot-diameter) + var(--bc-dot-distance));
    --bc-dot-pos-col-6: calc(var(--bc-dot-pos-col-5) + var(--bc-dot-diameter) + var(--bc-dot-distance));

    --bc-dot-pos-row-1: calc(var(--bc-dot-radius) + var(--bc-dot-distance));
    --bc-dot-pos-row-2: calc(var(--bc-dot-pos-row-1) + var(--bc-dot-diameter) + var(--bc-dot-distance));
    --bc-dot-pos-row-3: calc(var(--bc-dot-pos-row-2) + var(--bc-dot-diameter) + var(--bc-dot-distance));
    --bc-dot-pos-row-4: calc(var(--bc-dot-pos-row-3) + var(--bc-dot-diameter) + var(--bc-dot-distance));

    --bg-dots-pattern-gap-x: 0px;
    --bg-dots-pattern-gap-y: 0px;
    --bc-dots-pattern-width: calc(calc(var(--bc-dot-diameter) + var(--bc-dot-distance)) * 6 + var(--bg-dots-pattern-gap-x));
    --bc-dots-pattern-height: calc(calc(var(--bc-dot-diameter) + var(--bc-dot-distance)) * 4 + var(--bg-dots-pattern-gap-y));

    --bc-h10-2-inner: var(--bc-dot-color-inner-inactive);
    --bc-h10-2-outer: var(--bc-dot-color-outer-inactive);
    --bc-h10-1-inner: var(--bc-dot-color-inner-inactive);
    --bc-h10-1-outer: var(--bc-dot-color-outer-inactive);

    --bc-h01-8-inner: var(--bc-dot-color-inner-inactive);
    --bc-h01-8-outer: var(--bc-dot-color-outer-inactive);
    --bc-h01-4-inner: var(--bc-dot-color-inner-inactive);
    --bc-h01-4-outer: var(--bc-dot-color-outer-inactive);
    --bc-h01-2-inner: var(--bc-dot-color-inner-inactive);
    --bc-h01-2-outer: var(--bc-dot-color-outer-inactive);
    --bc-h01-1-inner: var(--bc-dot-color-inner-inactive);
    --bc-h01-1-outer: var(--bc-dot-color-outer-inactive);

    --bc-m10-4-inner: var(--bc-dot-color-inner-inactive);
    --bc-m10-4-outer: var(--bc-dot-color-outer-inactive);
    --bc-m10-2-inner: var(--bc-dot-color-inner-inactive);
    --bc-m10-2-outer: var(--bc-dot-color-outer-inactive);
    --bc-m10-1-inner: var(--bc-dot-color-inner-inactive);
    --bc-m10-1-outer: var(--bc-dot-color-outer-inactive);

    --bc-m01-8-inner: var(--bc-dot-color-inner-inactive);
    --bc-m01-8-outer: var(--bc-dot-color-outer-inactive);
    --bc-m01-4-inner: var(--bc-dot-color-inner-inactive);
    --bc-m01-4-outer: var(--bc-dot-color-outer-inactive);
    --bc-m01-2-inner: var(--bc-dot-color-inner-inactive);
    --bc-m01-2-outer: var(--bc-dot-color-outer-inactive);
    --bc-m01-1-inner: var(--bc-dot-color-inner-inactive);
    --bc-m01-1-outer: var(--bc-dot-color-outer-inactive);

    --bc-s10-4-inner: var(--bc-dot-color-inner-inactive);
    --bc-s10-4-outer: var(--bc-dot-color-outer-inactive);
    --bc-s10-2-inner: var(--bc-dot-color-inner-inactive);
    --bc-s10-2-outer: var(--bc-dot-color-outer-inactive);
    --bc-s10-1-inner: var(--bc-dot-color-inner-inactive);
    --bc-s10-1-outer: var(--bc-dot-color-outer-inactive);

    --bc-s01-8-inner: var(--bc-dot-color-inner-inactive);
    --bc-s01-8-outer: var(--bc-dot-color-outer-inactive);
    --bc-s01-4-inner: var(--bc-dot-color-inner-inactive);
    --bc-s01-4-outer: var(--bc-dot-color-outer-inactive);
    --bc-s01-2-inner: var(--bc-dot-color-inner-inactive);
    --bc-s01-2-outer: var(--bc-dot-color-outer-inactive);
    --bc-s01-1-inner: var(--bc-dot-color-inner-inactive);
    --bc-s01-1-outer: var(--bc-dot-color-outer-inactive);
}

/*
global
*/
@import url(//fonts.googleapis.com/css?family=Roboto+Mono);

*, *::before, *::after {
    margin: 0;
    padding: 0;
    border: 0;
    box-sizing: border-box;
}

*:focus {
    outline: none;
}

body {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
    background:
        radial-gradient(circle at var(--bc-dot-pos-col-1) var(--bc-dot-pos-row-3), var(--bc-h10-2-inner) var(--bc-dot-radius-inner), var(--bc-h10-2-outer) var(--bc-dot-radius-outer), transparent var(--bc-dot-radius)),
        radial-gradient(circle at var(--bc-dot-pos-col-1) var(--bc-dot-pos-row-4), var(--bc-h10-1-inner) var(--bc-dot-radius-inner), var(--bc-h10-1-outer) var(--bc-dot-radius-outer), transparent var(--bc-dot-radius)),

        radial-gradient(circle at var(--bc-dot-pos-col-2) var(--bc-dot-pos-row-1), var(--bc-h01-8-inner) var(--bc-dot-radius-inner), var(--bc-h01-8-outer) var(--bc-dot-radius-outer), transparent var(--bc-dot-radius)),
        radial-gradient(circle at var(--bc-dot-pos-col-2) var(--bc-dot-pos-row-2), var(--bc-h01-4-inner) var(--bc-dot-radius-inner), var(--bc-h01-4-outer) var(--bc-dot-radius-outer), transparent var(--bc-dot-radius)),
        radial-gradient(circle at var(--bc-dot-pos-col-2) var(--bc-dot-pos-row-3), var(--bc-h01-2-inner) var(--bc-dot-radius-inner), var(--bc-h01-2-outer) var(--bc-dot-radius-outer), transparent var(--bc-dot-radius)),
        radial-gradient(circle at var(--bc-dot-pos-col-2) var(--bc-dot-pos-row-4), var(--bc-h01-1-inner) var(--bc-dot-radius-inner), var(--bc-h01-1-outer) var(--bc-dot-radius-outer), transparent var(--bc-dot-radius)),

        radial-gradient(circle at var(--bc-dot-pos-col-3) var(--bc-dot-pos-row-2), var(--bc-m10-4-inner) var(--bc-dot-radius-inner), var(--bc-m10-4-outer) var(--bc-dot-radius-outer), transparent var(--bc-dot-radius)),
        radial-gradient(circle at var(--bc-dot-pos-col-3) var(--bc-dot-pos-row-3), var(--bc-m10-2-inner) var(--bc-dot-radius-inner), var(--bc-m10-2-outer) var(--bc-dot-radius-outer), transparent var(--bc-dot-radius)),
        radial-gradient(circle at var(--bc-dot-pos-col-3) var(--bc-dot-pos-row-4), var(--bc-m10-1-inner) var(--bc-dot-radius-inner), var(--bc-m10-1-outer) var(--bc-dot-radius-outer), transparent var(--bc-dot-radius)),

        radial-gradient(circle at var(--bc-dot-pos-col-4) var(--bc-dot-pos-row-1), var(--bc-m01-8-inner) var(--bc-dot-radius-inner), var(--bc-m01-8-outer) var(--bc-dot-radius-outer), transparent var(--bc-dot-radius)),
        radial-gradient(circle at var(--bc-dot-pos-col-4) var(--bc-dot-pos-row-2), var(--bc-m01-4-inner) var(--bc-dot-radius-inner), var(--bc-m01-4-outer) var(--bc-dot-radius-outer), transparent var(--bc-dot-radius)),
        radial-gradient(circle at var(--bc-dot-pos-col-4) var(--bc-dot-pos-row-3), var(--bc-m01-2-inner) var(--bc-dot-radius-inner), var(--bc-m01-2-outer) var(--bc-dot-radius-outer), transparent var(--bc-dot-radius)),
        radial-gradient(circle at var(--bc-dot-pos-col-4) var(--bc-dot-pos-row-4), var(--bc-m01-1-inner) var(--bc-dot-radius-inner), var(--bc-m01-1-outer) var(--bc-dot-radius-outer), transparent var(--bc-dot-radius)),

        radial-gradient(circle at var(--bc-dot-pos-col-5) var(--bc-dot-pos-row-2), var(--bc-s10-4-inner) var(--bc-dot-radius-inner), var(--bc-s10-4-outer) var(--bc-dot-radius-outer), transparent var(--bc-dot-radius)),
        radial-gradient(circle at var(--bc-dot-pos-col-5) var(--bc-dot-pos-row-3), var(--bc-s10-2-inner) var(--bc-dot-radius-inner), var(--bc-s10-2-outer) var(--bc-dot-radius-outer), transparent var(--bc-dot-radius)),
        radial-gradient(circle at var(--bc-dot-pos-col-5) var(--bc-dot-pos-row-4), var(--bc-s10-1-inner) var(--bc-dot-radius-inner), var(--bc-s10-1-outer) var(--bc-dot-radius-outer), transparent var(--bc-dot-radius)),

        radial-gradient(circle at var(--bc-dot-pos-col-6) var(--bc-dot-pos-row-1), var(--bc-s01-8-inner) var(--bc-dot-radius-inner), var(--bc-s01-8-outer) var(--bc-dot-radius-outer), transparent var(--bc-dot-radius)),
        radial-gradient(circle at var(--bc-dot-pos-col-6) var(--bc-dot-pos-row-2), var(--bc-s01-4-inner) var(--bc-dot-radius-inner), var(--bc-s01-4-outer) var(--bc-dot-radius-outer), transparent var(--bc-dot-radius)),
        radial-gradient(circle at var(--bc-dot-pos-col-6) var(--bc-dot-pos-row-3), var(--bc-s01-2-inner) var(--bc-dot-radius-inner), var(--bc-s01-2-outer) var(--bc-dot-radius-outer), transparent var(--bc-dot-radius)),
        radial-gradient(circle at var(--bc-dot-pos-col-6) var(--bc-dot-pos-row-4), var(--bc-s01-1-inner) var(--bc-dot-radius-inner), var(--bc-s01-1-outer) var(--bc-dot-radius-outer), transparent var(--bc-dot-radius)),

        #000;

    background-size: var(--bc-dots-pattern-width) var(--bc-dots-pattern-height);
    background-repeat: repeat;

    font-family: 'Roboto Mono', monospace;
}

/*
info
*/
header {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 1rem;
    color: white;
    padding: 2rem;
    backdrop-filter: saturate(50%) blur(3px);
    border-radius: 2rem;
	  max-width: 75%;
}

header h1 {
    font-size: 2.5rem;
    text-align: center;
}

header p {
    font-size: 1rem;
    text-align: center;
}

header section {
    font-size: 3rem;
    text-align: center;
}