* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    width: 100vw;
    height: 100vh;
    font-family: 'Cabin Sketch', Arial, Helvetica, sans-serif;
}

#title {
    text-align: center;
    padding: 2em;
    color: rgba(0, 0, 0, 0.75);
    font-weight: 700;
}

#container {
    display: flex;
    justify-content: center;
    align-items: center;
}

#grid {
    display: flex;
    flex-flow: row nowrap;
    width: 500px;
    height: 500px;
}

#border {
    box-shadow: 0.15em 0.15em 0.15em  rgba(0, 0, 0, 0.35), 0.15em 0.15em 0.15em rgba(0, 0, 0, 0.25);
    border: 0.2em solid rgba(0, 0, 0, 0.4);
}

.grid-border {
    border: 0.01em solid rgba(0, 0, 0, 0.25);
}

label,
p {
    color: rgba(0, 0, 0, 0.75);
    font-weight: 700;
}

#controls {
    display: flex;
    flex-direction: column;
}

.control {
    padding: 1em;
    margin: 0.2em;
}

#color-input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 6em;
    height: 6em;
    border: none;
    background-color: transparent;
}

#color-input::-webkit-color-swatch {
    border-radius: 15px;
    border: none;
}

#color-input::-moz-color-swatch {
    border-radius: 0.35em;
    border: none;
}

.check {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #fff;
    margin: 0;
    color: black;
    width: 1.15em;
    height: 1.15em;
    border: 0.15em solid rgba(0, 0, 0, 0.25);
    border-radius: 0.35em;
    transform: translateY(-0.075em);
}
input[type="checkbox"] {
  display: grid;
  place-content: center;
}
input[type="checkbox"]::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  box-shadow: inset 1em 1em rgba(0, 0, 0, 0.25);
}

input[type="checkbox"]:checked::before {
  transform: scale(1);
}

input[type="checkbox"]:disabled {
    background-color: transparent;
    border: 0.15em solid #F7665E;
}
input[type="checkbox"]:disabled::before {
  transform: scale(1);
  background-color: #F7665E;
}

input[type="range"] {
    -webkit-appearence: none;
    -moz-appearance: none;
    appearance: none;
    margin-bottom: 1em;
}

input[type=range]:focus {
  outline: none;
}

input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.40em;
  cursor: pointer;
  box-shadow: 0.15em 0.15em 0.15em rgba(0, 0, 0, 0.55), 0em 0em 0.15em rgba(0, 0, 0, 0.25);
  background: rgba(0, 0, 0, 0.25);
  border-radius: 0.35em;
  border: 0.02em solid rgba(0, 0, 0, 0.55);
}

input[type=range]::-webkit-slider-thumb {
  box-shadow: 0.15em 0.15em 0.15em  rgba(0, 0, 0, 0.55), 0.15em 0.15em 0.15em rgba(0, 0, 0, 0.25);
  border: 0.15em solid rgba(0, 0, 0, 0.55);
  height: 1.5em;
  width: 1.5em;
  border-radius: 3px;
  background: #ffffff;
  cursor: pointer;
  -webkit-appearance: none;
  margin-top: -0.65em;
}

input[type=range]:focus::-webkit-slider-runnable-track {
  background: rgba(0, 0, 0, 0.55);
}

.btn {
    padding: 1em;
    font-family: inherit;
    color: rgba(0, 0, 0, 0.75);
    background-color: rgba(0, 0, 0, 0.25);
    font-weight: 700;
    box-shadow: 0.15em 0.15em 0.15em  rgba(0, 0, 0, 0.55), 0.15em 0.15em 0.15em rgba(0, 0, 0, 0.25);
    border-radius: 0.35em;
}

.btn:hover {
    background-color: rgba(0, 0, 0, 0.75);
    color: #fff;
}
