@import url('https://fonts.googleapis.com/css2?family=Twinkle+Star&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Short+Stack&display=swap');

.twinkle-star-regular {
  font-family: "Twinkle Star", cursive;
  font-weight: 400;
  font-style: normal;
}

.short-stack-regular {
  font-family: "Short Stack", cursive;
  font-weight: 400;
  font-style: normal;
}

// Quantity should be the same in PUG
$quantity: 15

html, body
  height: 100%

body
  background: url(https://i.pinimg.com/originals/44/6e/3b/446e3b79395a287ca32f7977dd83b290.jpg)
  background-size: cover
    
.firefly {
  position: fixed
  left: 50%
  top: 50%
  width: 0.4vw
  height: 0.4vw
  margin: -0.2vw 0 0 9.8vw
  animation: ease 200s alternate infinite
  pointer-events: none

  &::before,
  &::after
    content: ''
    position: absolute
    width: 100%
    height: 100%
    border-radius: 50%
    transform-origin: -10vw
  
  &::before
    background: black
    opacity: 0.4
    animation: drift ease alternate infinite
  
  &::after
    background: white
    opacity: 0
    box-shadow: 0 0 0vw 0vw yellow
    animation: drift ease alternate infinite, flash ease infinite

  
// Randomize Fireflies Motion
@for $i from 1 through $quantity
  
  $steps: random(12) + 16
  $rotationSpeed: random(10) + 8s
  
  .firefly:nth-child(#{$i})
    animation-name: move#{$i}

    &::before
      animation-duration: #{$rotationSpeed}

    &::after
      animation-duration: #{$rotationSpeed}, random(6000) + 5000ms
      animation-delay: 0ms, random(8000) + 500ms

  @keyframes move#{$i}
    @for $step from 0 through $steps
      #{$step * (100 / $steps)}%
        transform: translateX(random(100) - 50vw) translateY(random(100) - 50vh) scale(random(75) / 100 + .25)

@keyframes drift
  0%
    transform: rotate(0deg)
  100%
    transform: rotate(360deg)

@keyframes flash
  0%, 30%, 100%
    opacity: 0
    box-shadow: 0 0 0vw 0vw yellow
  5%
    opacity: 1
    box-shadow: 0 0 2vw 0.4vw yellow
}

.clippic {
  clip-path: circle(50%);
}

/* clearfix hack to prevent image overflow. check out the W3Schools page on it. */
.clearfix::after {
  content: "";
  clear: both;
  display: table;
}

/* for pictures displayed to the left */
.leftPic {
  clear: left;
  float:right;
  margin-left:20px;
}

/* for pictures displayed to the left */
.rightPic {
  clear: right;
  float:left;
  margin-left:20px;
}

hr.new1 {
  border-top: 4px dashed #ffffff;
}

/* specific to Characters */
.charTable, .charTable td { 
  width: 100%;
}

a:link {
  color: #d6ae0d;
}

/* visited link */
a:visited {
  color: #d6860d;
}

/* mouse over link */
a:hover {
  color: #ffffff;
}


/* header image */
header img {
  width: 500px;
  max-width: 98%;
}

/* clearfix hack to prevent image overflow. check out the W3Schools page on it. */
.clearfix::after {
  content: "";
  clear: both;
  display: table;
}

body {
  background-image: url(https://images.unsplash.com/photo-1472173148041-00294f0814a2?q=80&w=1170&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D);
  background-size: cover;
  background-position; center;
  font-family: "Short Stack", cursive;
  color: #ffffff;
  
ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  background-color: #333333;
  display: flex;
  justify-content: center;
  font-family: "Twinkle Star", cursive;
}

ul li a {
  display: block;
  color: white;
  padding: 14px 16px;
  text-decoration: none;
}

ul li a:hover {
  background-color: #111111;
}

.parent {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(7, 1fr);
    gap: 8px;
}
    
.div3 {
    grid-column: span 3 / span 3;
    grid-row: span 2 / span 2;
    grid-column-start: 2;
    justify-self: start;
    align-self: start;
}

.div4 {
    grid-column: span 3 / span 3;
    grid-row: span 4 / span 4;
    grid-column-start: 2;
    grid-row-start: 3;
    background: #333333;
    border-radius: 25px;
    padding: 20px;
    justify-self: start;
    align-self: start;
}

.div5 {
    grid-column: span 3 / span 3;
    grid-column-start: 2;
    grid-row-start: 7;
    background: #333333;
    border-radius: 25px;
    padding: 20px;
    justify-self: start;
    align-self: start;
}

/* FOOTER */
footer {
  color: #fff;
  margin-top: 12px;
  margin-bottom: 15px;
  float: left;
  width: 100%;
  font-size: 20px;
}

footer p {
  margin: auto;
}

footer a {
  color: #dec990
}

footer a:hover {
  color: #868d26
}

        