/* Define Color Variables */
:root {
  --white-color: #ffffff;
  --primary-blue: #245edc;
  --primary-dark-blue: #1941a5;
  --secondary-blue: #3f8cf3;
  --tab-bg-color: #4892f7;
  --border-color: #306fd9;
  --button-bg-start: #5eac56;
  --button-bg-end: #3c873c;
  --highlight-color: #1290e9;
  --text-shadow-color: #222;
  --drop-shadow-color: rgba(0, 0, 0, 0);
  --light-blue: #99d1ff00;
}

/* Global Styles */
* {
  font-family: "Tahoma", monospace;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  scroll-behavior: smooth;
  outline: none;
  user-select: none;
}

body {
  overflow: hidden !important;
  background-color: #ece9d8;
  min-height: 100px;
  background: url(../assets/images/bliss.jpg) no-repeat center center fixed;
  background-size: cover;
}

body,
html {
  margin: 0;
  padding: 0;
  height: 100%;
  min-height: 100%;
}

/* Icon Styles */
.icon {
  color: var(--white-color);
  width: 80px;
  height: 80px;
  cursor: pointer;
  margin: 8px 0;
  padding: 2px;
  border: 1px solid transparent;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  background-color: var(--light-blue);
  border-color: var(--light-blue);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: var(--drop-shadow-color);
}

.icon img {
  width: 48px; /* Adjust this value as needed */
  height: 48px; /* Adjust this value as needed */
  margin-bottom: 5px; /* Space between image and text */
}

/* Positioning Classes */
.move {
  position: absolute;
}

#cmd-container {
  position: absolute;
  left: 22%;
  top: 62%;
  transform: translate(-22%, -62%);
}

#network-container {
  position: absolute;
  left: 33%;
  top: 24%;
  transform: translate(-33%, -24%);
}

#projects-container {
  position: absolute;
  left: 63%;
  top: 76%;
  transform: translate(-63%, -76%);
}

#browser-container,
#guestbook-container {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

/* Network Container Styles */
#network-container .window-body {
  padding: 0 20px;
}

#network-container .window-body #activity-div {
  font-weight: 600;
  margin: auto;
  text-align: center;
}

#network-container .window-body #activity-div img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  padding: 5px 0;
}

#network-container #about {
  font-weight: 700;
}

#network-container .buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

/* Browser and Guestbook Container Styles */
#browser-container .window-body,
#guestbook-container .window-body {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

/* Taskbar Styles */
.taskbar {
  background-color: var(--primary-blue);
  background: linear-gradient(
    to bottom,
    var(--primary-blue) 0%,
    var(--secondary-blue) 9%,
    var(--primary-blue) 18%,
    var(--primary-blue) 92%,
    var(--primary-dark-blue) 100%
  ) center/cover no-repeat;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 32px;
  z-index: 1000;
}

.start-button {
  color: var(--white-color);
  height: 100%;
  float: left;
  font-size: 22px;
  line-height: 22px;
  font-weight: bold;
  font-style: italic;
  background: radial-gradient(circle, var(--button-bg-start) 0%, var(--button-bg-end) 100%) center/cover no-repeat;
  box-shadow: 0px 5px 10px #79ce71 inset, 4px 0 8px var(--secondary-blue);
  padding: 2px 25px 6px 10px;
  text-shadow: 1px 1px 3px var(--text-shadow-color);
  border-radius: 0px 8px 8px 0px;
  margin-right: 16px;
  cursor: pointer;
}

.start-button img {
  height: 20px;
  filter: drop-shadow(1px 1px 1px var(--text-shadow-color));
  transform: translateY(4px);
}

.opened-tabs {
  width: calc(100% - 225px);
  float: left;
}

.open-tab {
  color: var(--white-color);
  width: 150px;
  height: 26px;
  margin: 3px 0;
  float: left;
  background-color: var(--tab-bg-color);
  background: url(../assets/images/btn1.png) no-repeat 0 0;
  border: 1px solid var(--border-color);
  border-radius: 2px;
  font-family: Calibri, monospace;
  font-size: 14px;
  line-height: 14px;
  padding: 8px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  word-wrap: break-word;
  cursor: pointer;
}

.open-tab:hover {
  background: url(../assets/images/btn2.png) no-repeat 0 0;
}

.open-tab:active {
  background: url(../assets/images/btn3.png) no-repeat 0 0;
}

.open-tab img {
  height: 18px;
  float: left;
  transform: translateY(-3px);
  margin-right: 5px;
}

.time {
  color: var(--white-color);
  height: 100%;
  float: right;
  font-size: 14px;
  line-height: 13px;
  background: linear-gradient(
    to bottom,
    var(--highlight-color) 0%,
    #19b9f3 9%,
    var(--highlight-color) 18%,
    var(--highlight-color) 92%,
    var(--primary-dark-blue) 100%
  ) center/cover no-repeat;
  box-shadow: 0px 5px 10px #14a5f0 inset, 0px 5px 10px #333333;
  padding: 9px 15px 9px 25px;
  border-left: 1px solid #092e51;
  text-shadow: 1px 1px 2px var(--text-shadow-color);
  cursor: pointer;
  text-transform: uppercase;
  position: fixed;
  right: 0;
}

/* Loading and Welcome Screens */
#welcome,
#loading {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
}

#welcome {
  background: url(../assets/images/welcome.png) no-repeat center center fixed;
  z-index: 1001;
}

#loading {
  background: url(../assets/images/loading.gif) no-repeat center center fixed;
  z-index: 1002;
}

/* Media Queries */
@media (max-width: 825px) {
  .taskbar .open-tab {
    width: 100px;
  }
}

@media (max-width: 625px) {
  .taskbar .open-tab {
    color: transparent;
    width: 70px;
  }
}

@media (max-width: 505px) {
  .taskbar .open-tab {
    width: 50px;
  }
}

@media (max-width: 360px) {
  .taskbar .open-tab {
    width: 35px;
  }
}

@media (max-width: 345px) {
  .taskbar .start-button {
    display: none;
  }

  .taskbar .open-tab {
    width: 35px;
  }
}