html {
  cursor: url('../src/graphics/normal.png'), auto;
}

::selection {
  color: #000;
  background-color: chartreuse;
  text-shadow: none;
}

body,
ul {
  margin: 0;
  padding: 0;
}

hr {
  display: block;
  border: 0px;
  height: 1px;
  background-image: url(../src/graphics/hr.gif);
}

hr {
  width: 100%;
}

main > section {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100vh;
  overflow-y: scroll;
}

a {
  color: blue;
}

aside a {
  text-decoration: none;
}

body {
  text-align: center;
  /* background-image: url(../src/bg.jpg); */
  background-color: #8088ef;
}

body,
aside h4 {
  color: white;
}

aside,
aside a,
#music-player > marquee {
  color: pink
}

body,
button,
select {
  font-family: 'superkarcherregular', 'Smallest Pixel-7';
  font-size: 8pt;
}

h1 {
  /* text-shadow: 1px 1px 0px #170101; */
  font-style: italic;
  font-size: 25pt;
}

h1,
h2,
h3 {
  text-shadow: 1px 1px #000;
}

main marquee {
  position: absolute;
  color: #fff;
  background-color: #5962c5;
}

aside li:hover,
aside a:hover,
button:hover,
select:hover {
  background-color: chartreuse;
  color: #000;
}

a:hover,
aside li:hover,
button:hover,
select:hover {
  cursor: url('../src/graphics/link.png'), auto;
}

p {
  font-size: 11px; /* Why yes, I am aware that fonts should be declared with pt. */
}

main h1 {
  margin-top: 0;
}

#music-player {
  width: 155px;
  height: 222px;
  padding: 10px;
  left: calc(25% - 200px);
  position: absolute;
  border: 2px outset #7a81d6;
  box-shadow: 0 0 0px 1px black;
  text-align: center;
  font-size: 7pt;
  text-shadow: 1px 1px 0px black;
  top: 47px;
  color: #ffffff;
  left: 183px;
  background-color: #5962c5;
  z-index: 10;
}

#music-player > img {
  max-width: 125px;
  margin: 5px;
  border: 1px solid #000;
}

#music-player h4 {
  font-weight: normal;
  line-height: 0;
}

#music-player > marquee {
  background-color: #8088ef;
}

aside > h4:first-of-type {
  margin-top: 0px;
}

#home > marquee {
  position: absolute;
  top: 0;
  width: calc(100% - 151px);
  z-index: 1;
  left: 151px;
}

#music-player > button {
  background-color: #f6f5c4;
}

#about > article,
section > div {
  width: 50%;
  max-width: 478px;
}

#about > article {
  padding: 10px;
  background-color: #feffde;
  color: #000000;
  border: 1px solid #000;
  margin-top: -1px;
}

main section {
  justify-content: flex-start;
  padding-top: 100px;
}

#music-player > button {
  font-size: 9pt;
  top: 60px;
  width: 15px;
  height: 15px;
  box-shadow: 0 0 0 1px #000;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 10px 2px;
  border: 2px outset #f7f5c4;
}

aside {
  width: 150px;
  min-height: 100vh;
  background-color: #5a62c5;
  z-index: 2;
  border-right: 1px solid #000;
}

main,
.gallery-items {
  display: flex;
}

.gallery-items {
  width: calc(100% - 100px);
  padding: 0px 50px;
  flex-wrap: wrap;
  justify-content: center;
}

#music-player > section {
  position: absolute;
  left: calc(100% + 2px);
  width: 200px;
  top: 0;
  text-align: left;
  padding-left: 10px;
  color: black;
  background-color: white;
  text-shadow: none;
  border: 1px solid #000;
}

#music-player > section > ol {
  max-height: 190px;
  min-height: 100px;
  overflow-y: scroll;
  padding: 15px;
}

#music-player > section > ol > li {
  margin-bottom: 10px;
}

.playing {
  font-weight: bold;
}

#music-player > section > h1 {
  position: absolute;
  top: -31px;
  font-size: 8pt;
  font-style: normal;
  text-shadow: none;
  border: 1px solid #000;
  padding: 5px;
  border-radius: 5px 5px 0px 0px;
  color: black;
  font-weight: normal;
  background-color: #ffffde;
}

main > section {
  margin: 0 auto;
  text-align: left;
}

#about h1 { 
  text-align: center;
}

aside ul {
  list-style: none;
  text-align: left;
}

aside ul li {
  background: transparent url(../src/graphics/bullet.gif) no-repeat 8px center;
  padding-left: 32px;
  margin-bottom: 2px;
  min-height: 12px;
}

.new {
  background: transparent url("../src/graphics/new.gif") no-repeat left center;
}

#toggle-playlist {
  width: 150px !important;
  transform: rotate(90deg);
  position: absolute;
  left: calc(100% - 66px);
  top: 57px;
  border: 0px !important;
}

main > section h1 {
  font-size: 30pt;
  font-family: 'star_houndregular';
  font-style: normal;
  font-weight: normal;
  margin: 0;
}

main > section {
  display: none;
  max-height: 100vh;
}

main > section a {
  color: lime;
}

.hidden,
iframe {
  display: none;
}

.visible {
  display: inline-flex;
}

main > section {
  width: calc(100% - 151px);
}

#about h4 {
  margin: 0;
  text-decoration: none;
  padding: 5px;
  border: 1px solid #000;
  background-color: #8d90c9;
  border-radius: 5px 5px 0px 0px;
  position: absolute;
  margin-top: -33px;
}

#genre-select {
  position: absolute;
  width: 404px;
  z-index: 2;
  display: inline-block;
  background-color: #feffde;
  border: 1px solid #000;
  border-radius: 0px 0px 5px 5px;
  color: black;
  padding: 5px;
  left: calc(100% - 421px);
  text-align: left;
}

select {
  width: 96px;
  border-radius: 0px;
  padding-bottom: 3px;
}

aside > img {
  width: calc(100% - 20px);
  padding: 3px;
}

aside > img:hover {
  box-shadow: 0px 0px 20px 0px #ffffff78;
}

aside > img:first-of-type {
  margin-top: 10px;
}

.homepage {
  border: 1px solid #fff;
  box-shadow: 5px 5px 5px black;
  max-width: 400px;
  height: 300px;
  width: 50%;
  margin: 10px;
}

#home img:hover,
#music-player img:hover {
  filter: sepia(90%) hue-rotate(-162deg) saturate(3);
}

.gallery-items img {
  max-height: 300px;
  border: 1px solid;
}

#gallery {
  justify-content: flex-start;
  background-color: #000;
}

.gallery-items figure {
  display: table;
}

.gallery-items figcaption{
  display: table-caption;
  caption-side: bottom;
}

aside li p {
  margin: 0;
}

aside li:hover p,
aside li:hover a {
  animation: blink 1s linear infinite;
}

#me {
  position: absolute;
  margin-left: -35px;
  margin-top: -100px;
}

@keyframes blink {
  49% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  99% {
    opacity: 0;
  }
}