/* FONT IMPORT */
@import url('https://fonts.cdnfonts.com/css/force-majeure');
@import url('https://fonts.googleapis.com/css2?family=Silkscreen&display=swap');
  
/* -------------------------------------------------------- */
/* VARIABLES */
/* -------------------------------------------------------- */

/* Variables are used like this: var(--text-color) */
:root {
  /* Background Colors: */
  --background-color: #ffffffff;
  --content-background-color: #ffcffddb;
  --sidebar-background-color: #ffcffddb;

  /* Text Colors: */
  --text-color: #1f66afff;
  --sidebar-text-color: #1f66afff;
  --link-color: #d24430;
  --link-color-hover: #ec705d;

  /* Text: */
  --font: 'Silkscreen', sans-serif;
  --heading-font: 'Force Majeure', sans-serif;
  --font-size: 14px;

  /* Other Settings: */
  --margin: 4px;
  --padding: 24px;
  --border: none;
  --round-borders: 4px;
  --sidebar-width: 150px;
}

/* -------------------------------------------------------- */
/* BASICS */
/* -------------------------------------------------------- */

* {
  box-sizing: border-box;
}

body {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  font-size: var(--font-size);
  margin: 0;
  padding: var(--margin);
  color: var(--text-color);
  font-family: var(--font);
  line-height: 1.2;
  background: var(--background-color);
  background-image: url("background/bg.png");
  
}

::selection {
  /* (Text highlighted by the user) */
  background: rgba(0, 0, 0, 0.2);
}

mark {
  /* Text highlighted by using the <mark> element */
  text-shadow: 1px 1px 4px var(--link-color);
  background-color: inherit;
  color: var(--text-color);
}

/* Links: */
a {
  text-decoration: underline;
}

a,
a:visited {
  color: var(--link-color);
}

a:hover,
a:focus {
  color: var(--link-color-hover);
  text-decoration: none;
}

/* -------------------------------------------------------- */
/* LAYOUT */
/* -------------------------------------------------------- */

.layout {
  width: 1000px;
  display: grid;
  grid-gap: var(--margin);
  grid-template: "header header header" auto "leftSidebar main rightSidebar" auto "footer footer footer" auto / var(--sidebar-width) auto var(--sidebar-width);
  /* Confused by the grid? Check out my tutorial: https://petrapixel.neocities.org/coding/positioning-tutorial#grid */
}

main {
  grid-area: main;
  overflow-y: auto;
  padding: var(--padding);
  background: var(--content-background-color);
  border: var(--border);
  border-radius: var(--round-borders);
}

/* -------------------------------------------------------- */
/* HEADER */
/* -------------------------------------------------------- */

header {
  grid-area: header;
  font-size: 1.2em;
  border: var(--border);
  border-radius: var(--round-borders);
  background: var(--content-background-color);
}

.header-content {
  padding: var(--padding);
}

.header-title {
  font-family: var(--heading-font);
  font-size: 1.5em;
  font-weight: bold;
}

.header-image img {
  width: 100%;
  height: auto;
}

/* -------------------------------------------------------- */
/* SIDEBARS */
/* -------------------------------------------------------- */

aside {
  grid-area: aside;
  border: var(--border);
  border-radius: var(--round-borders);
  overflow: hidden;
  background: var(--sidebar-background-color);
  padding: var(--padding);
  color: var(--sidebar-text-color);
}

.left-sidebar {
  grid-area: leftSidebar;
  text-align: center;
}

.right-sidebar {
  grid-area: rightSidebar;
  text-align: center;
}

.sidebar-title {
  font-weight: bold;
  font-size: 1.2em;
  font-family: var(--heading-font);
  text-align: center;
}

.sidebar-section:not(:last-child) {
  margin-bottom: 3em;
}

.sidebar-section ul,
.sidebar-section ol {
  padding-left: 1.5em;
}

.sidebar-section > *:not(p):not(ul):not(ol):not(blockquote) {
  margin-top: 10px;
}

.latest-updates ul {
  list-style-type: none;  /* Removes default bullets */
  padding: 0;
  margin: 0;
  font-size: 1em;
  max-width: 150px;       /* Matches sidebar width */
  overflow-wrap: normal;
  word-wrap: normal;
  white-space: normal;
  text-align:center;
}

.latest-updates li {
  margin-top: 10px;
  font-size: 0.85em;
  margin-bottom: 0.5em;
}

.socials ul {
 list-style-type: none;
 padding: 0;
 margin: 0;
 font-size: 1em;
 max-width: 150px;
 overflow-wrap: break-word;
 word-wrap: break-word;
 white-space: normal;
 text-align:center;
}

.socials li {
  margin-top: 10px;
  font-size: 0.85em;
  margin-bottom: 0.5em;
}

.button-stack {
  display:flex;
  flex-direction: column;
  align-items: center; /* <-- this centers the image horizontally */
}

.switchFC {
 list-style-type: none;
 padding: 0;
 margin: 0;
 font-size: 1em;
 max-width: 150px;
 overflow-wrap: normal;
 word-wrap: normal;
 white-space: normal;
 text-align:center;
}

.button-stack img {
  display: block;
  margin: 2px 0; /* small space between buttons */
  width: 88px;
  height: 31px;
}


/* Sidebar Blockquote: */

.sidebar-section blockquote {
  background: rgba(0, 0, 0, 0.1);
  padding: 15px;
  margin: 1em 0;
  border-radius: 10px;
  overflow: hidden;
}

.sidebar-section blockquote > *:first-child {
  margin-top: 0;
}

.sidebar-section blockquote > *:last-child {
  margin-bottom: 0;
}

/* Site Button: */

.site-button {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.site-button textarea {
  font-family: monospace;
  font-size: 0.7em;
}

/* CSS LAST UPDATE*/
#lastupdate {
  font-size: 1.5em;
  font-weight: bold;
}

/* JOURNALS */
.journal-section {
  border:3.5px hidden;
  padding: 1px;
  
}

.journal-header {
  display: flex;
  justify-content: space-between; /* title left, date right */
  align-items: center;            /* vertical alignment */
  margin-bottom: 5px;             /* space below header */
}

.journal-title {
  font-weight:bold;
  font-size: 15.5px;
  margin-top: 5px;
  margin-left: 5px;
  margin-bottom: 5px;
}


.journal-date {
  font-size: 0.90em;
  font-weight: bold;
  margin-top: 5px;
  margin-bottom: 5px;
  margin-right: 5px;
}

.journal-content {
  border: 3.5px ridge #1f66afff;
  padding: 5px
}


/* -------------------------------------------------------- */
/* FOOTER */
/* -------------------------------------------------------- */

footer {
  grid-area: footer;
  border: var(--border);
  border-radius: var(--round-borders);
  overflow: hidden;
  font-size: 0.75em;
  padding: 15px;
  background: var(--content-background-color);
  display: flex;
  justify-content: center;
}

footer a,
footer a:visited {
  color: var(--link-color);
}

footer a:hover,
footer a:focus {
  color: var(--link-color-hover);
}

/* -------------------------------------------------------- */
/* NAVIGATION */
/* -------------------------------------------------------- */

nav {
  margin-bottom: 3em;
}

nav .sidebar-title {
  margin-bottom: 0.5em;
}

nav ul {
  margin: 0 -5px;
  padding: 0;
  list-style: none;
  user-select: none;
}

nav ul li {
  margin-bottom: 0;
}

nav > ul li > a,
nav > ul li > strong {
  display: inline-block;
}

nav > ul li > a,
nav > ul li > details summary,
nav > ul li > strong {
  padding: 5px 10px;
}

nav > ul li > a.active,
nav > ul li > details.active summary {
  font-weight: bold;
}

nav ul summary {
  cursor: pointer;
}

nav ul ul li > a {
  padding-left: 30px;
}



/* -------------------------------------------------------- */
/* CONTENT */
/* -------------------------------------------------------- */

main {
  line-height: 1.5;
}

main a,
main a:visited {
  color: var(--link-color);
}

main a:hover,
main a:focus {
  color: var(--link-color-hover);
  text-decoration-style: wavy;
}

main p,
main .image,
main .full-width-image,
main .two-columns {
  margin: 0.75em 0;
}

main ol,
main ul {
  margin: 0.5em 0;
  padding-left: 1.5em;
}

main ol li,
main ul li {
  margin-bottom: 0.2em;
  line-height: 1.3;
}

main ol {
  padding-left: 2em;
}

main blockquote {
  background: rgba(0, 0, 0, 0.1);
  padding: 15px;
  margin: 1em 0;
  border-radius: 10px;
}

main pre {
  margin: 1em 0 1.5em;
}

main code {
  text-transform: none;
}

main center {
  margin: 1em 0;
  padding: 0 1em;
}

main hr {
  border: 0;
  border-top: 1px solid #1f66afff;
  margin: 0.5em 0;
}

/* HEADINGS: */

main h1,
main h2,
main h3,
main h4,
main h5,
main h6 {
  font-family: var(--heading-font);
  margin-bottom: 0;
  line-height: 1.5;
  text-align: center;
}

main h1:first-child,
main h2:first-child,
main h3:first-child,
main h4:first-child,
main h5:first-child,
main h6:first-child {
  margin-top: 0;
}

main h1 {
  font-size: 1.5em;
}

main h2 {
  font-size: 1.4em;
}

main h3 {
  font-size: 1.3em;
}

main h4 {
  font-size: 1.2em;
}

main h5 {
  font-size: 1.1em;
}

main h6 {
  font-size: 1em;
}

/* COLUMNS: */

.two-columns {
  display: flex;
}

.two-columns > * {
  flex: 1 1 0;
  margin: 0;
}

.two-columns > *:first-child {
  padding-right: 0.75em;
}

.two-columns > *:last-child {
  padding-left: 0.75em;
}

/* -------------------------------------------------------- */
/* CONTENT IMAGES */
/* -------------------------------------------------------- */

.image {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
}

.full-width-image {
  display: block;
  width: 100%;
  height: auto;
}

.images {
  display: flex;
  width: calc(100% + 5px + 5px);
  margin-left: -5px;
  margin-right: -5px;
}

.images img {
  width: 100%;
  height: auto;
  padding: 5px;
  margin: 0;
  overflow: hidden;
}

/* -------------------------------------------------------- */
/* TOY PHOTOS STUFF */
/* -------------------------------------------------------- */

.centered-link img {
  width: 375px;
  height: auto;
  display: block;
  margin: 0 auto;
}

.centered-logo {
  width: 375px;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* Top-level list (characters) */
ul.centered-list {
  list-style-type: none;
  padding: 0;
  margin: 0 auto;
  text-align: center;
  font-size: 1.45em; /* bigger font for characters */
}

/* Nested list (toys) */
ul.centered-list ul {
  list-style-type: none; /* optional: remove bullets from sublist */
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
  font-size: 1rem; /* normal font size for toys */
}

/***
EZ Gallery by netfriend - https://netfriend.neocities.org/ez-gallery/
Released under the Unlicense - https://unlicense.org/
***/

.ezgallery.montage { 
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.ezgallery.montage img {
  flex: auto;
  margin: 0 5px 5px 0;
  object-fit: contain;
  object-position: bottom;
}

.ezgallery.horizontal { 
  display: grid;
  grid-gap: 5px;
  gap: 5px;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  grid-auto-rows: minmax(100px, auto);
}

.ezgallery.horizontal a {
  text-align: center;
}

.ezgallery.horizontal img {
  text-align: center;
  vertical-align: middle;
  margin: 0 5px 5px 0;
  max-width: 100px;
  max-height: 100px;
  object-fit: contain;
  object-position: bottom;
}


/* -------------------------------------------------------- */
/* ACCESSIBILITY */
/* -------------------------------------------------------- */

/* please do not remove this. */

#skip-to-content-link {
  position: fixed;
  top: 0;
  left: 0;
  display: inline-block;
  padding: 0.375rem 0.75rem;
  line-height: 1;
  font-size: 1.25rem;
  background-color: var(--content-background-color);
  color: var(--text-color);
  transform: translateY(-3rem);
  transition: transform 0.1s ease-in;
  z-index: 99999999999;
}

#skip-to-content-link:focus,
#skip-to-content-link:focus-within {
  transform: translateY(0);
}

/* -------------------------------------------------------- */
/* MOBILE RESPONSIVE */
/* -------------------------------------------------------- */

/* CSS Code for devices < 800px */
@media (max-width: 800px) {
  body {
    font-size: 14px;
  }

  .layout {
    width: 100%;
    grid-template: "header" auto  "leftSidebar" auto "main" auto "footer" auto / 1fr;
    /* Confused by the grid? Check out my tutorial: https://petrapixel.neocities.org/coding/positioning-tutorial#grid */
  }

  
  .right-sidebar { 
    display: none;
  }

  aside {
    border-bottom: 1px solid;
    padding: 9px;
    font-size: 0.9em;
  }

  
  nav {
    padding: 0;
  }

  nav > ul {
    padding-top: 0.5em;
  }

  nav > ul li > a,
  nav > ul li > details summary,
  nav > ul li > strong {
    padding: 0.5em;
  }

  main {
    max-height: none;
    padding: 15px;
  }

  .images {
    flex-wrap: wrap;
  }

  .images img {
    width: 100%;
  }

  #skip-to-content-link {
    font-size: 1rem;
  }
  
}
/* stuff you can probably edit without breaking the styling lol */
.title-bar {
  background: linear-gradient(90deg, rgb(0, 0, 123), rgb(16, 132, 206));
}

.player {
  width: fit-content;
  border: black solid 1px;
  border-width: 1px 0px 0px 1px;
  margin-left: auto;
  margin-right: auto;
}

.controlimg:hover {
  cursor: help;
}

/* below is styling to get windows 98 effect. from 98.css [https://jdan.github.io/98.css/] */
input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  background: transparent;
}

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

input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  height: 21px;
  width: 11px;
  background: svg-load("https://raw.githubusercontent.com/jdan/98.css/main/icon/indicator-horizontal.svg");
  transform: translateY(-8px);
  box-shadow: none;
  border: none;
}

input[type="range"].has-box-indicator::-webkit-slider-thumb {
  background: svg-load("https://raw.githubusercontent.com/jdan/98.css/main/icon/indicator-rectangle-horizontal.svg");
  transform: translateY(-10px);
}

input[type="range"]::-moz-range-thumb {
  height: 21px;
  width: 11px;
  border: 0;
  border-radius: 0;
  background: svg-load("https://raw.githubusercontent.com/jdan/98.css/main/icon/indicator-horizontal.svg");
  transform: translateY(2px);
}

input[type="range"]::-moz-range-thumb {
  background: url("https://raw.githubusercontent.com/jdan/98.css/main/icon/indicator-horizontal.svg");
  border: 0;
  border-radius: 0;
  height: 21px;
  transform: translateY(2px);
  width: 11px;
}

input[type="range"].has-box-indicator::-moz-range-thumb {
  background: svg-load("https://raw.githubusercontent.com/jdan/98.css/main/icon/indicator-rectangle-horizontal.svg");
  transform: translateY(0px);
}

input[type="range"]::-webkit-slider-runnable-track {
  width: 100%;
  height: 2px;
  box-sizing: border-box;
  background: black;
  border-right: 1px solid grey;
  border-bottom: 1px solid grey;
  box-shadow: 1px 0 0 white, 1px 1px 0 white, 0 1px 0 white, -1px 0 0 darkgrey,
    -1px -1px 0 darkgrey, 0 -1px 0 darkgrey, -1px 1px 0 white, 1px -1px darkgrey;
}

input[type="range"]::-moz-range-track {
  width: 100%;
  height: 2px;
  box-sizing: border-box;
  background: black;
  border-right: 1px solid grey;
  border-bottom: 1px solid grey;
  box-shadow: 1px 0 0 white, 1px 1px 0 white, 0 1px 0 white, -1px 0 0 darkgrey,
    -1px -1px 0 darkgrey, 0 -1px 0 darkgrey, -1px 1px 0 white, 1px -1px darkgrey;
}

button, input, label, option, select, table, textarea, ul.tree-view {
  -webkit-font-smoothing: none;
  font-family: "Pixelated MS Sans Serif", Arial;
  font-size: 11px;
}

h1 {
  font-size: 5rem;
}

h2 {
  font-size: 2.5rem;
}

h3 {
  font-size: 2rem;
}

h4 {
  font-size: 1.5rem;
}

u {
  border-bottom: 0.5px solid #222;
  text-decoration: none;
}

button, input[type=reset], input[type=submit] {
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  color: transparent;
  min-height: 23px;
  min-width: 75px;
  padding: 0 12px;
  text-shadow: 0 0 #222;
}

.vertical-bar, button, input[type=reset], input[type=submit] {
  background: silver;
  box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #fff, inset -2px -2px grey, inset 2px 2px #dfdfdf;
}

.vertical-bar {
  height: 20px;
  width: 4px;
}

button:not(:disabled):active, input[type=reset]:not(:disabled):active, input[type=submit]:not(:disabled):active {
  box-shadow: inset -1px -1px #fff, inset 1px 1px #0a0a0a, inset -2px -2px #dfdfdf, inset 2px 2px grey;
  text-shadow: 1px 1px #222;
}

@media (not(hover)) {
  button:not(:disabled):hover, input[type=reset]:not(:disabled):hover, input[type=submit]:not(:disabled):hover {
    box-shadow: inset -1px -1px #fff, inset 1px 1px #0a0a0a, inset -2px -2px #dfdfdf, inset 2px 2px grey;
  }
}

button:focus, input[type=reset]:focus, input[type=submit]:focus {
  outline: 1px dotted #000;
  outline-offset: -4px;
}

button::-moz-focus-inner, input[type=reset]::-moz-focus-inner, input[type=submit]::-moz-focus-inner {
  border: 0;
}

:disabled, :disabled + label, input[readonly], input[readonly] + label {
  color: grey;
}

:disabled + label, button:disabled, input[type=reset]:disabled, input[type=submit]:disabled {
  text-shadow: 1px 1px 0 #fff;
}

.title-bar-controls button {
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  color: transparent;
  min-height: 23px;
  min-width: 75px;
  padding: 0 12px;
  text-shadow: 0 0 #222;
}

.title-bar-controls button {
  background: silver;
  box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #fff, inset -2px -2px grey, inset 2px 2px #dfdfdf;
}

.title-bar-controls button:not(:disabled):active {
  box-shadow: inset -1px -1px #fff, inset 1px 1px #0a0a0a, inset -2px -2px #dfdfdf, inset 2px 2px grey;
  text-shadow: 1px 1px #222;
}

@media (not(hover)) {
  button:not(:disabled):hover {
    box-shadow: inset -1px -1px #fff, inset 1px 1px #0a0a0a, inset -2px -2px #dfdfdf, inset 2px 2px grey;
  }
}

.title-bar-controls button:focus {
  outline: 1px dotted #000;
  outline-offset: -4px;
}

.title-bar-controls button::-moz-focus-inner {
  border: 0;
}

@font-face {
  font-family: "Pixelated MS Sans Serif";
  src: url("https://files.catbox.moe/1za99g.woff") format("woff");
  src: url("https://files.catbox.moe/8fwbkl.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "Pixelated MS Sans Serif";
  src: url("https://files.catbox.moe/z7csle.woff") format("woff");
  src: url("https://files.catbox.moe/moqhx6.woff2") format("woff2");
  font-weight: bold;
  font-style: normal;
}

.window, .title-bar {
  font-family: "Pixelated MS Sans Serif", Arial;
  -webkit-font-smoothing: none;
  font-size: 11px;
}

.window {
  box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #dfdfdf, inset -2px -2px #808080, inset 2px 2px #ffffff;
  background: #c0c0c0;
  padding: 3px;
  width: 260px;
}

.title-bar {
  padding: 3px 2px 3px 3px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.title-bar-text {
  font-weight: bold;
  color: white;
  letter-spacing: 0;
  margin-right: 24px;
}

.title-bar-controls {
  display: flex;
}

.title-bar-controls button {
  padding: 0;
  display: block;
  min-width: 16px;
  min-height: 14px;
}

.title-bar-controls button:active {
  padding: 0;
}

.title-bar-controls button:focus {
  outline: none;
}

.title-bar-controls button[aria-label=Minimize] {
  background-image: url("https://raw.githubusercontent.com/jdan/98.css/main/icon/minimize.svg");
  background-position: bottom 3px left 4px;
  background-repeat: no-repeat;
}

.title-bar-controls button[aria-label=Maximize] {
  background-image: url("https://raw.githubusercontent.com/jdan/98.css/4a2282dd9170cabf730fb5803d1153d86b2e94e3/icon/maximize.svg");
  background-position: top 2px left 3px;
  background-repeat: no-repeat;
}

.title-bar-controls button[aria-label=Close] {
  background-image: url("https://raw.githubusercontent.com/jdan/98.css/main/icon/close.svg");
  background-position: top 3px left 4px;
  background-repeat: no-repeat;
  margin-left: 2px;
}

.window-body {
  margin: 0px;
  height: 98px;
}

input[type=range] {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
}

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

/* settings for chrome browsers */
input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 2px; /* thickness of seeking track */
  cursor: help;
}

/* settings for firefox browsers */
input[type=range]::-moz-range-track {
  width: 100%;
  height: 2px; /* thickness of seeking track */
  cursor: help;
}

.flex {
  display: flex;
}

.titlebaricon {
  height: 14px;
  width: 14px;
}

.songtitlewindow {
  background-color: #fff;
  box-shadow: inset -1px -1px #fff, inset 1px 1px grey, inset -2px -2px #dfdfdf, inset 2px 2px #0a0a0a;
}

#musicplayer {
  border: 2px solid silver; /* border around player */
  border-width: 2px 0px 0px 0px;
  width: 160px; /* width of the player */
}

#imagestyle {
  background: silver; /* background color of player */
  border: 2px solid silver; /* border around player */
  width: 95px; /* width of the player */
  height: 95px;
  box-shadow: inset -1px -1px #fff, inset 1px 1px grey, inset -2px -2px #dfdfdf, inset 2px 2px #0a0a0a;
}

.ic {
  width: 90px;
  position: relative;
  bottom: 1px;
  right: 1px;
  overflow: hidden;
  padding: 2px;
  border: 2px solid transparent;
}

.songtitlearrow {
  background-size: 100%;
  background-repeat: no-repeat;
  background-image: url(https://files.catbox.moe/f5e8np.png);
  height: 21px;
  width: 21px;
  position: relative;
  top: 2px;
  left: -2px;
  border: 0px solid transparent;
  border-width: 0px 0px 0px 0px;
}

.songtitle {
  padding: 5px; /* padding around song title */
  border-bottom: 0px; /* border under song title */
  display: block;
  font-family: Pixelated MS Sans Serif;
}

.controls {
  font-size: 18px !important; /* size of controls */
  text-align: center;
  width: 100%;
  position: relative;
  bottom: 10px;
}

.controls td {
  padding: 8px 5px 0px 5px; /* padding around controls */
}

button {
  min-width: 40px;
}

.seeking {
  background-color: #c0c0c0; /* background color of seeking bar */
  display: flex;
  justify-content: space-evenly;
  padding: 14px; /* padding around seeking bar */
}

.current-time {
  padding-right: 5px;
}

.total-duration {
  padding-left: 5px;
}

.controlimg {
  height: 15px;
  width: 15px;
}