/* ----- high contrast specific -----*/


body:has(#high-contrast:checked) {
  .player-wrapper {
    border-width: 0.2vh;
    border-style: solid;
  }
  a, label,footer {
    border-width: 0.1em;
    padding: 0.2em;
    border-style: solid;
  }
}


/* ----- device specific layout ------ */


/* Extra Extra small phones (370px and down) */
@media only screen and (max-width: 370px) {
  #top-bar {
    display: grid;
  }
  nav {
    display: grid;
    grid-template-columns: repeat(7, auto);
    justify-content: space-evenly;
    align-items: center;
    height: 3em;
    padding-bottom: 0.8em;
  }
  #theme-panel {
    display: grid;
    grid-template-columns: repeat(3, auto);
    justify-content: space-evenly;
    align-items: center;
    height: 3em;
    padding-bottom: 0.5em;
    label {
    width: 5em;
    border-width: 0.1em;
    padding: 0.2em;
    border-style: solid;
    }
  }
  #content-and-footer-wrapper {
    height: 87vh;
  }
  article {
    margin-left: 0.6em;
    margin-right: 0.6em;
  }
  #cryptonerd-comic {
    max-width: 80vw;
  }
  #contact {
    p {
      font-size: 0.7em;
    }
  }
}

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {
  #top-bar {
    display: grid;
  }
  nav {
    display: grid;
    grid-template-columns: repeat(7, auto);
    justify-content: space-evenly;
    align-items: center;
    height: 3em;
    padding-bottom: 0.8em;
  }
  #theme-panel {
    display: grid;
    grid-template-columns: repeat(3, auto);
    justify-content: space-evenly;
    align-items: center;
    height: 3em;
    label {
    border-width: 0.1em;
    padding: 0.2em;
    border-style: solid;
    }
  }
  #content-and-footer-wrapper {
    height: 87vh;
  }
  article {
    margin-left: 0.6em;
    margin-right: 0.6em;
  }
  #cryptonerd-comic {
    max-width: 80vw;
  }
  #contact {
    p {
      font-size: 0.7em;
    }
  }
}

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {
  #top-bar {
    display: grid;
    grid-template-rows: repeat(3, auto);
    justify-content: center;
    nav {
      height: 2em;
      display: grid;
      grid-template-columns: repeat(7, auto);
      justify-content: space-evenly;
      align-items: center;
    }
    #theme-panel {
      padding-top: 0.3em;
      display: grid;
      grid-template-columns: repeat(3, auto);
      label {
      border-width: 0.1em;
      padding: 0.3em;
      margin: 0.2em;
      border-style: solid;
      }
    }
  }
  article {
    margin-left: 3em;
    margin-right: 3em;
    max-width: 1000px;
  }
  #content-and-footer-wrapper {
    height: 90vh;
  }
} 

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {
  #top-bar {
    display: grid;
    grid-template-columns: repeat(3, auto);
    justify-content: space-between;
    nav{
      width: 28em;
    }
    div {
      width: 24em;
    }
    #theme-panel {
      padding-top: 0;
    }
  }
  #content-and-footer-wrapper {
    height: 94vh;
  }
}


/* ----- general layout ------ */

#content-and-footer-wrapper {
  display: grid;
  align-content: space-between;
}

input {
  display: none;
}

footer {
  margin-left: 0.2vw;
  margin-bottom: 0;

  display: grid;
  grid-template-columns: 33.3% 33.3% 33.3%;
  justify-content: space-between;
  
}

#contact {
  display: grid;
  grid-row: auto;
  align-items: center;
  p {
    margin: 0;
  }
}

#shout-out {
  display: grid;
  grid-template-columns: auto;
  justify-content: center;
  align-items: center;
  img {
    height: 31px;
  }
}

#footer-about {
  display: grid;
  align-items: center;
}

.player-wrapper {
  padding: 0.5vw;
}

hr {
  margin-top: 2em;
  border-top: 0.1em solid;
}

/* ------ text styling ----- */

* {
	font-family: "Courier New", Monospace, sans-serif;
}

small {
	font-size: 0.6em;
}

/*Links*/

article, #contact, #footer-about {
  a[href^="http"]:after {
    content: " \2197";
  }
}