html {
  overflow-y: hidden;
  overflow-x: hidden;
}
html.default-theme {
  cursor: url("/images/stuff/sm_cursor.png"), default !important;
}
body.default-theme {
  cursor: url("/images/stuff/sm_cursor.png"), default !important;
}
html.light-theme {
  cursor: url("/images/stuff/sm_cursor_b.png"), default !important;
}
body.light-theme {
  cursor: url("/images/stuff/sm_cursor_b.png"), default !important;
}
body {
  background-color: var(--color-desktop-sm);
  color: var(--color-w-sm);
}
a {
  color: var(--color-y-sm);
}
/* scroll bar */
::-webkit-scrollbar-thumb {
  background-color: var(--color-w-sm);
  border-radius: 15px;
  border: 3px solid var(--color-b-sm);
}
::-webkit-scrollbar-thumb:hover {
  background-color: var(--color-y-sm);
}
/* END scroll bar */
::-moz-selection {
  background-color: transparent;
}
::selection {
  background-color: transparent;
}
input::-moz-selection,
textarea::-moz-selection {
  background-color: var(--color-b-smronze-transparent);
}
input::selection,
textarea::selection {
  background-color: var(--color-b-smronze-transparent);
}
.active-window {
  z-index: 100 !important;
}
button {
  border: none;
}
button.default-theme {
  cursor: url("/images/stuff/sm_cursor.png"), default !important;
}
button.light-theme {
  cursor: url("/images/stuff/sm_cursor_b.png"), default !important;
}
#sm-desktop p {
  font-family: "Space Mono";
  margin: 0;
}
.white-p {
  color: var(--color-w-sm);
}
.stealth-p {
  color: var(--color-b-sm);
}
.content-text-title {
  font-size: larger;
  font-weight: 600;
}

/* header */
#header-pullout {
  width: 40px;
  height: 30px;
  position: absolute;
  top: 0px;
  left: 50%;
  transform: translate(-50%, -10%);
  border-radius: 0px 0px 8px 8px;
  display: none;
  cursor: pointer !important;
}
#header-pullout:hover path {
  fill: var(--color-y-sm);
}

/* task bar */
#task-bar {
  background-color: var(--color-task-bar-black);
  position: absolute;
  top: calc(100% - 40px);
  height: 40px;
  width: 100%;
  z-index: 999;
}
#start-menu-div {
  height: 100%;
  width: fit-content;
}
#task-bar-right {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.task-bar-icons {
  padding-left: 5px;
  padding-right: 5px;
}
.task-bar-icons-border {
  margin-right: 10px;
}
.task-bar-icons div {
  height: max-content !important;
  position: relative;
  top: 50%;
  transform: translate(0, -60%);
}
.task-bar-icons a {
  padding: 0;
}
.task-bar-icons.clickable {
  margin-top: 5px;
  height: 30px;
}
.task-bar-icons.clickable:hover {
  background-color: var(--color-b-smronze-transparent);
  border: 0px;
  border-radius: 3px;
  transition: background-color 0.5s ease-out;
}
#task-bar-time {
  width: 110px;
}
#tb-time {
  padding: 0;
  padding-left: 6px;
  position: relative;
  top: 50%;
  transform: translate(0, -50%);
}
#start-menu-button {
  position: relative;
  padding: 0px;
  padding-left: 13px;
  padding-right: 13px;
  height: 100%;
  z-index: 99;
}
#start-menu-button:hover img {
  background-color: var(--color-b-smronze-transparent);
  border: 0px;
  border-radius: 3px;
  transition: background-color 0.5s ease-out;
}
/* tooltip */
.sm-tooltip {
  --bs-tooltip-bg: var(--color-task-bar-black); /* 242429ef */
  --bs-tooltip-color: var(--color-w-sm);
  --bs-tooltip-border-radius: 4px;
  --bs-tooltip-arrow-height: 10px;
  font-family: "Space Mono";
}

/* start menu */
#start-menu {
  position: absolute;
  top: 100vh;
  left: 20px;
  border: 0px;
  border-radius: 6px;
  background-color: var(--color-task-bar-black);
  width: 260px;
  height: 278px;
  z-index: 998;
}
#start-menu .row {
  margin: 0;
  height: 100%;
  cursor: pointer;
}
#start-menu-banner {
  height: 100%;
  width: 35px;
  padding: 0;
  background-color: var(--color-r-sm);
  border-right: 0px;
  border-radius: 6px 0px 0px 6px;
}
#start-menu-column {
  margin: 0;
  width: 100%;
}
#start-menu-column img {
  padding-left: 15px;
  margin: 0;
  height: 75px;
}
#sm-logo {
  box-shadow: none !important;
  cursor: default;
}
#start-menu-column p {
  padding-bottom: 8px;
  padding-top: 8px;
  padding-left: 15px;
}
#start-menu-column div {
  height: max-content;
  margin: 0;
  padding: 0;
  transition: box-shadow 0.25s ease-out;
}
#start-menu-column div:hover {
  box-shadow: var(--shadow-bronze-glow);
}
.start-menu-divider {
  border-top: 1px solid var(--color-w-sm);
}

/* loader */
#stuff-machine-loader {
  position: absolute;
  color: var(--color-w-sm);
  top: 120px;
  left: 65px;
  font-family: "Space Mono";
  font-weight: bolder;
  width: 90%;
}
#stuff-machine-logo-bg {
  position: absolute;
  background-color: var(--color-b-sm);
  padding-left: 20px;
  border-radius: 8px;
  width: 270px;
  height: 120px;
  top: -20px;
  z-index: -1;
}
#stuff-machine-logo {
  width: 270px;
  position: absolute;
  top: -30px;
  padding-left: 20px;
}
#stuff-machine-logo-square {
  position: absolute;
  width: 90px;
  height: 90px;
  background-color: var(--color-r-sm);
  border-radius: 6px;
  left: 65px;
  top: 0px;
  animation: logo-spin 2.5s infinite;
  z-index: -1;
}
@keyframes logo-spin {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
#stuff-machine-loader p {
  font-size: 25px;
  line-height: 85%;
}
#stuff-machine-loader ul {
  list-style-type: square;
}
#mobile-message p {
  position: absolute;
  font-size: 18px;
  line-height: 105%;
  font-weight: lighter;
  left: 50%;
  transform: translate(-50%, 0);
  width: 85%;
}
#acsii-art {
  text-shadow: 0px 0px 10px var(--color-w-sm);
  transition: text-shadow 0.5s ease-out;
}

/* desktop */
#sm-desktop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
}
#stuff-space {
  background-color: var(--color-desktop-sm-transparent); /* 131318 */
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 40px); /* minus task bar */
}
#window-boundries {
  display: block;
  position: absolute;
  top: 0;
  left: -15vw;
  width: 130vw;
  height: 130vh; /* minus task bar */
  z-index: -1;
}
#sm-restart {
  width: max-content;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#sm-restart img {
  width: 70px;
  cursor: pointer;
}

/* window */
.window {
  display: none;
  position: absolute;
  width: max-content;
  border-radius: 10px;
  border: 0px;
  box-shadow: 0px 3px 3px black;
}
.window-controls {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  background-color: var(--color-task-bar-black);
  border: var(--border-window); /* WINDOW BORDER UPPER */
  border-bottom: 0px;
  border-radius: 6px 6px 0px 0px;
  height: 30px; /* keep consitent */
  transition: box-shadow 0.25s ease-in-out;
}
.window-header-text {
  color: var(--color-w-sm);
  margin: 0;
  padding: 0;
  padding-left: 15px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, calc(-50% + 2px));
  text-shadow: none !important;
  height: 100%;
  width: calc(100% - 60px);
  overflow: clip;
  white-space: nowrap;
}
.window-toggle-button,
.window-close-button {
  border: none;
  text-align: center;
  height: 100%;
  width: 30px; /* keep consitent */
  margin: 0;
  padding: 6px;
  transition: background-color 0.3s ease-out;
}
.window-close-button {
  border-radius: 0px 4px 0px 0px; /* 0px 4px 0px 0px */
}
.window-toggle-button:hover,
.window-close-button:hover {
  background-color: var(--color-task-bar-black);
}
.window-toggle-button:hover path,
.window-close-button:hover path {
  fill: var(--color-y-sm);
  transition: fill 0.3s ease-out;
}

.window-content,
.window-content-fixed {
  position: relative;
  width: 100%;
  top: 0px;
  left: 0px;
  background-color: var(--color-b-sm);
  border: var(--border-window); /* WINDOW BORDER LOWER */
  border-radius: 0px 0px 6px 6px;
  margin: 0px;
  color: var(--color-b-sm);
  text-align: center;
  box-shadow: 0px 3px 3px var(--color-b-sm);
}
.overflow-auto {
  width: 100%;
  height: 100%;
}
.window-content-text {
  text-align: start;
  padding: 15px;
}
.window-content-folder {
  padding: 10px;
  padding-left: 15px;
  padding-right: 15px;
}

/* apps */
#apps-column {
  padding-left: 2vw;
  padding-top: 4vh;
  height: 100%;
  width: fit-content;
}
.apps {
  border: none;
  color: var(--color-w-sm);
  margin: 0;
  padding: 0;
  width: 65px;
  height: fit-content;
  margin-bottom: 25px;
}
.apps:hover img,
.apps:focus img,
.folder-item button:hover img,
.folder-item button:focus img {
  background-color: var(--color-b-smronze-transparent);
  border: 1px dotted var(--color-w-sm);
  transition: background-color 0.35s ease-out;
}
.apps img {
  padding: 0;
  margin: 0;
  width: 100%;
}
.apps p {
  line-height: 1rem;
  padding-top: 5px;
}
.apps div {
  margin: 0;
  padding: 0;
  padding-left: 10px;
  padding-right: 10px;
  position: relative;
  left: 50%;
  transform: translate(-50%);
}
/* notes */
#app-notes {
  position: absolute;
  left: calc(98vw - 65px);
  top: 4vh;
}
#notes-window .window-content-fixed {
  background-color: var(--color-b-sm);
  padding: 0px;
  height: 40vh;
  width: 15vw;
}
#notes-background {
  position: absolute;
  width: calc(15vw - 2px);
  height: calc(40vh - 2px);
  border-radius: 0 0 5px 5px;
  background-color: #8f887830;
  z-index: 0;
}
#notes-list {
  position: relative;
  color: var(--color-w-sm);
  font-family: "Space Mono";
  padding-left: 15px;
  list-style-image: url(/images/stuff/i_list.png);
  z-index: 1;
}

/* folder */
.folder-grid {
  margin: 0;
  padding: 0;
}
.folder-item {
  padding: 10px;
  padding-bottom: 0;
  margin: 0;
  width: 90px; /* img width is 90 - padding */
  height: 90px;
  padding-right: 20px;
  padding-left: 20px;
  height: max-content;
}
.folder-item p {
  font-size: 15px;
}
.folder-item img {
  padding: 0;
  margin-top: 13px;
  width: 45px; /* img width is folder-item - padding */
  height: 45px;
  object-fit: cover;
}
.folder-item button {
  padding: 0;
  width: 100%;
}
.folder-item div {
  color: var(--color-w-sm);
  position: relative;
  left: 50%;
  transform: translate(-50%);
  line-height: 1;
}
/* folder levels */
.folder-path {
  color: var(--color-w-sm);
  background-color: var(--color-b-sm);
  position: absolute;
  left: 0;
  top: 0px;
  padding-top: 5px;
  padding-left: 15px;
  z-index: 99;
  line-height: 1em; /* a */
  max-height: 2.5em; /* a x number of line to show (ex : 2 line)  */
  text-align: start;
}
.folder-back-button:hover,
.folder-back-button-lvl2:hover {
  color: var(--color-y-sm);
  fill: var(--color-y-sm);
  cursor: pointer;
}
.folder-lvl-2,
.folder-lvl-3 {
  display: none;
}

/* viewers */
.viewer-loader {
  width: 30vw;
  height: 40vh;
}
.video-viewer {
  width: 45vw;
  height: auto;
}
video::-webkit-media-controls-fullscreen-button {
  display: none !important;
}
video {
  width: 100%;
}
.image-clip {
  height: 66vh;
  margin: 2px;
  padding: 0;
}
audio {
  padding: 0;
  margin: 6px;
  margin-bottom: 0;
}

/* individual apps */
#venera-window .window-content {
  padding: 15px;
  padding-right: 0px;
}
#photo-window .window-content {
  padding: 5px;
}
#audio-folder .window-content,
#visual-folder .window-content {
  padding: 0;
}
#titanpoint-window .window-content-fixed {
  padding: 0;
  margin: 0;
  width: 860px;
  height: 646px; /* 644 + 2 for border */
}

/* bug */
#bug-form {
  font-family: "Space Mono";
  color: var(--color-w-sm);
}
#bug-form > textarea,
input[type="text"] {
  background-color: var(--color-task-bar-black);
  border: 0px;
  border-radius: 4px;
  transition: box-shadow 0.25s ease-out;
  color: var(--color-w-sm);
  padding: 8px;
  padding-left: 15px;
  margin-top: 5px;
}
#bug-form > textarea:focus,
input[type="text"]:focus {
  box-shadow: 0px 0px 8px var(--color-y-sm);
  border: none;
  outline: none;
}
#bug-form > textarea {
  resize: none;
}
#bug-description {
  width: 100%;
  height: 170px;
}
#bug-submit-btn {
  background-color: var(--color-y-sm);
  border-radius: 4px;
}
#bug-submit-btn:hover {
  background-color: var(--color-r-sm);
}

/* venera reader */
#venera-reader {
  text-align: center;
}
#venerapdf {
  display: none;
}
#venerapdf iframe {
  height: calc(40vw * 1.382 * 10);
  width: 40%;
  display: none;
  position: relative;
  left: 50%;
  transform: translate(-50%, 0);
}
