:root {
    --main-bg-color:  #310090;
    --content-bg-color: #2e0327;
    --main-font-color: white;
    --accent-bg-color: #FFC827;
    --accent-font-color: #ffc107;
  }

body {
    background-color: var(--main-bg-color);
    background: radial-gradient(circle, var(--main-bg-color) 0%,var(--content-bg-color) 80%);
    color:var(--main-font-color);
    padding: 25px;
    position: relative;
    font-family: "Josefin Sans", sans-serif;
  font-optical-sizing: auto;
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
  margin: 0 auto;
  max-width: 860px;
  padding-bottom: 80px;
}

body:before {
    --inset : 6px;
    content: "";
    position: absolute;
    inset: var(--inset) var(--inset) var(--inset) var(--inset);
    pointer-events: none;
    border: 4px dotted var(--accent-font-color);
    max-width: 860px;
    width: calc(100% - (var(--inset) *2));
}

@media (min-width: 860px) {

    body:before {
        transform: translate(-50%);
        left: 50%;
    }

}

body > * {
    max-width: 860px;
    margin: 0 auto;
}

a {
    color: var(--accent-font-color);
}

strong {
    font-weight: 700;
}

.align-center {
    text-align: center;
}

.neon {
    font-family: "Playwrite IT Moderna", cursive;
    font-family: "Playwrite IT Trad", cursive;
    /*font-family: "Tilt Neon", sans-serif;*/
  font-weight: 400;
  font-size: 3rem;
  font-style: normal;
  color: #fff;
  --off-color: #6d5669;
  --off-bg: #635861;
  --on-color: white;
    animation-name: turnonlights;
    animation-duration: 3.0s;
    animation-fill-mode: both;
    animation-timing-function: steps(2, start);
      position: relative;
    text-align: center;
    display: table;
    margin: 1rem auto;
}

@keyframes turnonlights {
    
    0%        { color: var(--off-color); text-shadow: 0 0 3px var(--off-bg), 0 0 5px var(--off-bg); }
    1%        { color: var(--on-color); text-shadow: 0 0 5px var(--accent-bg-color), 0 0 10px var(--accent-bg-color), 0 0 17px var(--accent-font-color), 0 0 38px var(--accent-font-color)}
    4%        { color: var(--on-color); text-shadow: 0 0 5px var(--accent-bg-color), 0 0 10px var(--accent-bg-color), 0 0 17px var(--accent-font-color), 0 0 38px var(--accent-font-color)}
    7%        { color: var(--off-color); text-shadow: 0 0 3px var(--off-bg), 0 0 5px var(--off-bg); }
    8%        { color: var(--on-color); text-shadow: 0 0 5px var(--accent-bg-color), 0 0 10px var(--accent-bg-color), 0 0 17px var(--accent-font-color), 0 0 38px var(--accent-font-color)}
    12%        { color: var(--off-color); text-shadow: 0 0 3px var(--off-bg), 0 0 5px var(--off-bg); }
    22%        { color: var(--off-color); text-shadow: 0 0 3px var(--off-bg), 0 0 5px var(--off-bg); }
    23%        { color: var(--on-color); text-shadow: 0 0 5px var(--accent-bg-color), 0 0 10px var(--accent-bg-color), 0 0 15px var(--accent-bg-color), 0 0 20px var(--accent-font-color), 0 0 30px var(--accent-font-color), 0 0 40px var(--accent-font-color); }
    26%        { color: var(--off-color); text-shadow: 0 0 3px var(--off-bg), 0 0 5px var(--off-bg); }
    28%        { color: var(--on-color); text-shadow: 0 0 5px var(--accent-bg-color), 0 0 10px var(--accent-bg-color), 0 0 17px var(--accent-font-color), 0 0 38px var(--accent-font-color)}
    34%        { color: var(--on-color); text-shadow: 0 0 5px var(--accent-bg-color), 0 0 10px var(--accent-bg-color), 0 0 15px var(--accent-bg-color), 0 0 20px var(--accent-font-color), 0 0 30px var(--accent-font-color), 0 0 40px var(--accent-font-color); }
    36%        { color: var(--off-color); text-shadow: 0 0 3px var(--off-bg), 0 0 5px var(--off-bg); }
    42%        { color: var(--on-color); text-shadow: 0 0 5px var(--accent-bg-color), 0 0 10px var(--accent-bg-color), 0 0 17px var(--accent-font-color), 0 0 38px var(--accent-font-color)}
    55%        { color: var(--on-color); text-shadow: 0 0 5px var(--accent-bg-color), 0 0 10px var(--accent-bg-color), 0 0 15px var(--accent-bg-color), 0 0 20px var(--accent-font-color), 0 0 30px var(--accent-font-color), 0 0 40px var(--accent-font-color); }
    60%        { color: var(--off-color); text-shadow: 0 0 3px var(--off-bg), 0 0 5px var(--off-bg); }
    63%        { color: var(--on-color); text-shadow: 0 0 5px var(--accent-bg-color), 0 0 10px var(--accent-bg-color), 0 0 15px var(--accent-bg-color), 0 0 20px var(--accent-font-color), 0 0 30px var(--accent-font-color), 0 0 40px var(--accent-font-color); }
    67%        { color: var(--off-color); text-shadow: 0 0 3px var(--off-bg), 0 0 5px var(--off-bg); }
    72%        { color: var(--off-color); text-shadow: 0 0 3px var(--off-bg), 0 0 5px var(--off-bg); }
    73%        { color: var(--on-color); text-shadow: 0 0 5px var(--accent-bg-color), 0 0 10px var(--accent-bg-color), 0 0 17px var(--accent-font-color), 0 0 38px var(--accent-font-color)}
    76%        { color: var(--off-color); text-shadow: 0 0 3px var(--off-bg), 0 0 5px var(--off-bg); }
    78%        { color: var(--on-color); text-shadow: 0 0 5px var(--accent-bg-color), 0 0 10px var(--accent-bg-color), 0 0 17px var(--accent-font-color), 0 0 38px var(--accent-font-color)}
    84%        { color: var(--on-color); text-shadow: 0 0 5px var(--accent-bg-color), 0 0 10px var(--accent-bg-color), 0 0 15px var(--accent-bg-color), 0 0 20px var(--accent-font-color), 0 0 30px var(--accent-font-color), 0 0 40px var(--accent-font-color); }
    86%        { color: var(--off-color); text-shadow: 0 0 3px var(--off-bg), 0 0 5px var(--off-bg); }
    96%    { color: var(--on-color); text-shadow: 0 0 5px var(--accent-bg-color), 0 0 10px var(--accent-bg-color), 0 0 17px var(--accent-font-color), 0 0 38px var(--accent-font-color)}
    100%    { color: var(--on-color); text-shadow: 0 0 5px var(--accent-bg-color), 0 0 10px var(--accent-bg-color), 0 0 15px var(--accent-bg-color), 0 0 20px var(--accent-font-color), 0 0 30px var(--accent-font-color), 0 0 40px var(--accent-font-color); }
}

.bugs {
    --off-color: #6d5669;
    --off-bg: #635861;
    --on-color: white;
animation-name: bugs;
animation-duration: 8.0s;
animation-fill-mode: both;
animation-timing-function: steps(2, start);
animation-iteration-count: infinite;
}

@keyframes bugs {
    0%        { color: var(--off-color); text-shadow: 0 0 3px var(--off-bg), 0 0 5px var(--off-bg); }
    1%        { color: var(--on-color); text-shadow: 0 0 5px var(--accent-bg-color), 0 0 10px var(--accent-bg-color), 0 0 17px var(--accent-font-color), 0 0 38px var(--accent-font-color)}
    2%        { color: var(--on-color); text-shadow: 0 0 5px var(--accent-bg-color), 0 0 10px var(--accent-bg-color), 0 0 17px var(--accent-font-color), 0 0 38px var(--accent-font-color)}
    3%        { color: var(--off-color); text-shadow: 0 0 3px var(--off-bg), 0 0 5px var(--off-bg); }
    5%        { color: var(--on-color); text-shadow: 0 0 5px var(--accent-bg-color), 0 0 10px var(--accent-bg-color), 0 0 17px var(--accent-font-color), 0 0 38px var(--accent-font-color)}
    100%        { color: var(--on-color); text-shadow: 0 0 5px var(--accent-bg-color), 0 0 10px var(--accent-bg-color), 0 0 17px var(--accent-font-color), 0 0 38px var(--accent-font-color)}
}

.btn {
    background: linear-gradient(0deg, #ff9c19 40%, #ffdd2d 110%);
    color: var(--content-bg-color);
    box-shadow: -3.828px -3.828px 6px 0px rgba(255, 200, 39, 0.4), 3px 5px 8px 0px rgba(255, 82, 1, 0.2);
    border-radius: 50em;
    border: 0;
    transition: all .3s ease-in-out;
    padding: 12px 35px;
    text-align: center;
}

.btn:hover, .btn:active {
    box-shadow: 11px 11px 32px rgba(255, 82, 1, 0.2), -11px -11px 32px rgba(255, 200, 39, 0.4);
}