*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    border: 0;
  }

:root {
  --sketch: rgba(46, 46, 46, 0.8);
}

html {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    padding: 0;
    margin: 0;
    height: 100%;
    width: 100%;
    font-size: 38px;
    background-color: grey;
}

body, #content-container {
  height: 100%;
  width: 100%;
}

/* SECTIONS */
#title {
  width: 100%;
  height: 7.5%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: 'Gloria Hallelujah', cursive;
  color: red;
}

#controls {
  width: 100%;
  height: 7.5%;
  font-family: 'Indie Flower', cursive;
  font-size: 0.60rem;
  text-align: center;
  display: flex;
  justify-content:center;
  align-items: center;
  padding-top: 20px;
}

  #controls-top {
    padding-right: 20px;
  }

  #controls button {
    font-size: 0.60rem;
    font-family: 'Indie Flower', cursive;
    border-radius: 5%;
    width: auto;
    padding: 1px 6px;
    border: 1px solid red;
    margin: 5px;
  }

  #controls #size-input {
    font-size: 0.60rem;
    font-family: 'Indie Flower', cursive;
    width: 1.5rem;
    text-align: center;
    border: 1px solid red;
  }

  #controls-bot button:focus-within {
    border: 3px solid gold;
    outline-style: none;
  }

#grid-container {
  width: 100%;
  height: 85%;
  display: flex;
  justify-content: center;
  align-items: center;
}

  #grid {
    height: 81vmin;
    width: 81vmin;
    display: grid;
    grid-template-columns: repeat(6,1fr);
    border: 3px solid var(--sketch);
    background-color: white;
  }

  .grid-item {
    border: 1px solid var(--sketch);
  }

/* @media screen and (min-height:) */

@media screen and (max-width: 730px) {
  #grid {
    height: 75vmin;
    width: 75vmin;
  }

  #controls-top button, #controls-bottom button,   #controls #size-input {
    font-size: 0.5rem;
  }

  #controls {
    height: 15%;
  }

  #grid-container {
    height: 77.5%;
  }
}

@media screen and (max-width: 650px) {
  #grid {
    height: 80vmin;
    width: 80vmin;
  }
}

@media screen and (max-width: 500px) {
  #grid {
    height: 93vmin;
    width: 93vmin;
  }
}

@media screen and (max-width: 500px) {
  #controls {
    height: 22.5%;
  }

  #grid-container {
    height: 70%;
  }
}

@media screen and (max-width: 400px) {
  #grid {
    height: 96vmin;
    width: 96vmin;
  }
}