@media (prefers-color-scheme: dark) {
  body {
    background-color: #06233c;
  }
}

@media (prefers-color-scheme: light) {
  body {
    background-color: #fff;
  }
}

:root.light-theme {
  --background: rgb(247, 247, 247);
  --secondary-background: rgb(255, 255, 255);
  --text-color: rgb(0, 0, 0);
  --link-color: #0189cd;
  --text-dark-color: #0e2f6a;
  --text-semitrasparent: rgba(67, 67, 67, 0.333);
  --global-gradient: linear-gradient(140deg, #0e2f6a 0%, #00121a 100%);
  --global-reverse-gradient: linear-gradient(-45deg, #0e2f6a 0%, #00121a 100%);
  --main-col: #050e26;
  --main-col-darker: #111b39;
  --main-content-bg: rgba(0, 0, 0, 0.037);
  --dark-semitransparent: rgba(35, 51, 99, 0.821);
  --element-color-primary: rgba(0, 174, 239, 0.8);
  --element-color-secondary: rgba(0, 174, 239, 0.15);
  --button-color: #0189cd;
  --text-color-on-dark: #fff;
  --gradient-end: #fff;
  --gradient-widget:linear-gradient(223deg, #ffffff 10%, #ffffff 100%);
  --new: rgb(113, 27, 95);
  --passed: green;
}

:root.dark-theme {
  --background: #0b1628;
  --secondary-background: #06233c;
  --text-color: rgb(255, 255, 255);
  --link-color: #48c2ff;
  --text-dark-color: #0e2f6a;
  --text-semitrasparent: rgba(255, 255, 255, 0.333);
  --global-gradient: linear-gradient(140deg, #172641 0%, #00121a 100%);
  --global-reverse-gradient: linear-gradient(-45deg, #1e2e4a 0%, #00121a 100%);
  --main-col: #050e26;
  --main-col-darker: #111b39;
  --main-content-bg: #fff1;
  --dark-semitransparent: rgba(15, 23, 44, 0.821);
  --element-color-primary: rgba(0, 174, 239, 0.8);
  --element-color-secondary: rgba(0, 174, 239, 0.15);
  --button-color: #0189cd;
  --text-color-on-dark: #fff;
  --gradient-end: #06233c;
  --gradient-widget:linear-gradient(223deg, #184c82 10%, #06233c 40%);
  --new: rgb(113, 27, 95);
  --passed: green;
}
.logo-light,
.logo-dark {
  display: none;
}

.light-theme .logo-light {
  display: block;
}
.dark-theme .logo-dark {
  display: block;
}
.dark-theme .btn-primary {
  background-color: var(--secondary-background);
}

.dark-theme .btn-outline-dark {
  color: var(--text-color-on-dark);
  border-color: var(--text-color-on-dark);
}

.dark-theme .btn.action {
  border: 1px solid #fff2;
}

.btn.action:hover {
  border: 1px solid #fff;
}

.form-control:disabled,
.form-control[readonly] {
  background-color: #8b8b8b;
  opacity: 1;
}

.has_played_flag {
  font-size: 0.7rem;
  position: absolute;
  z-index: 2;
  background-color: var(--background);
  color: var(--text-color);
  padding: 2px;
  border-radius: 10px;
  border: 1px solid var(--secondary-background);
  right: 30px;
  top: 4px;
}

.card-header {
  background: var(--secondary-background);
}

#spinner-message {
  color: var(--text-color-on-dark);
}

.card-home .card-img-top {
  background-position-x: 0%;
  background-position-y: 0%;
  background-size: auto;
  background-size: cover;
  background-position: center center;
}

.play-game-head {
  font-weight: bold;
  background: #2f84cde7;
  color: white;
  padding: 6px;
  border-radius: 8px;
}

body {
  background: var(--background);
  color: var(--text-color);
}

a {
  color: var(--link-color);
}

hr {
  border-color: var(--main-content-bg);
}

#left-sidebar .left-sidebar-footer {
  color: var(--text-color);
}

#left-sidebar .left-sidebar-footer #version {
  opacity: 0.5;
  font-size: 0.8rem;
}

.chart-widget {
  color: var(--text-color);
  background: var(--gradient-widget);
  box-shadow: 0 3px 17px #0001;


}

#notification-box {
  background-color: var(--secondary-background);
  border: 1px solid #fff2;
}

.new {
  background: var(--new);
  color: white;
}

.passed {
  background: var(--passed);
  color: white;
  padding: 6px 15px;
}

.team-header::before {
  background-image: linear-gradient(to left, var(--gradient-end), #e9e9e9);
}

.team-header.red-team-header::before {
  background-image: linear-gradient(to left, var(--gradient-end), #cb1d1d);
}

.team-header.blue-team-header::before {
  background-image: linear-gradient(to left, var(--gradient-end), #019acd);
}

.form-control {
  color: var(--text-color);
  background-color: var(--background);
  border: 1px solid #a3a3a37d;
  font-weight: bold;
}

.modal-content {
  background-color: var(--background);
  border: 1px solid #fff3;
}

.widget-icon {
  padding: 15px;
  color: white;
  border-radius: 50px;
  font-size: 2rem;
  box-shadow: 0 6px 10px #0002;
  border: 1px solid #fff2;
}

.game-list-item:hover {
  background-color: #207ccb;
  color: white;
}
.game-list-item.active {
  background-color: #207ccb;
  color: white;
}

.play-game-box {
  background: var(--main-content-bg);
  border-radius: 9px;
  margin: 10px 0;
}

.dropdown-menu {
  color: var(--text-color);
}

.dropdown-menu p {
  color: var(--text-color);
}



.sw-pop {
  background-color: var(--background) !important;
  color: var(--text-color) !important;
  border: 1px solid #fff4 !important;
}

.sw-pop-lg {
  background-color: var(--background) !important;
  color: var(--text-color) !important;
  border: 1px solid #fff4 !important;
  max-width: 800px;
  min-width: 800px;
}

@media only screen and (max-width: 992px) {
  .sw-pop-lg {
    background-color: var(--background) !important;
    color: var(--text-color) !important;
    border: 1px solid #fff4 !important;
    max-width: 100%;
    min-width: 100%;
  }
}

#overlay {
  background-color: var(--dark-semitransparent);
}
.spinner {
  border-left: 6px solid var(--element-color-secondary);
  border-right: 6px solid var(--element-color-secondary);
  border-bottom: 6px solid var(--element-color-secondary);
  border-top: 6px solid var(--element-color-primary);
  border-radius: 100%;
}

.card-title {
  color: var(--text-color);
}

.card-title-on-dark {
  color: var(--text-color-on-dark);
}

.dashboard-private .list-group-item.active {
  background-color: #207ccb;
  box-shadow: 0 0 10px #0004;
  border-radius: 5px;
}

.rank-lines {
  background-color: var(--background);
}

.card-home {
  background-color: var(--secondary-background) !important;
}

#helplist .nav-link.active {
  color: var(--text-color-on-dark) !important;
}

.close {
  color: var(--text-color);
  text-shadow: 0;
}

.close:hover {
  color: var(--text-color);
  text-shadow: 0;
}

.btn.action {
  background: var(--secondary-background) !important;
  box-shadow: 0 3px 3px #0001;
  font-size: 0.9rem;
  color: var(--text-color);
}

.btn.action:hover {
  border: 1px solid var(--text-color);
}

.red-team .btn.action {
  color: red;
}
.blue-team .btn.action {
  color: #019acd;
}

.btn.action:hover {
  color: var(--text-color);
}

.dashboard-private .list-group-item.active span {
  color: white;
}

.dashboard-private .list-group-item:hover,
.game-session .list-group-item:hover {
  background-color: #207ccb;
  box-shadow: 0 0 10px #0004;
  border-radius: 5px;

}

.dashboard-private .list-group-item:hover span {
  color: white;
}
.bg-dark-nav {
  background-color: var(--main-col) !important;
  background-image: var(--global-gradient);
}

.btn-primary {
  color: var(--text-color-on-dark);
  background-color: var(--button-color);
  border-color: var(--button-color);
}

.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
  background: transparent;
  border-color: transparent;
  border-bottom: 1px solid #dedede;
  color: var(--button-color);
}

.nav-menu-item {
  color: var(--text-color-on-dark);
}
#inline-menu-nav .nav-menu-item {
  color: var(--text-color);
}

.play-message-success {
  color: var(--text-color-on-dark);
}

.play-message-fail {
  color: var(--text-color-on-dark);
}

.locked{
  position: absolute;
  background: #000000a8;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
}

.locked-info{
  max-height: 300px;
  border-radius: 5px;
  overflow-y: scroll;
  padding: 5px;
}

.challenge-card .icon-eye{
  position: absolute;
  opacity: 0;
  transform: rotateZ(0deg);
  transition: all 0.5s ease-in-out;
}

.challenge-card .icon-lock_outline{
  position: absolute;
  opacity: 1;
  transform: rotateZ(0deg);
  transition: all 0.5s ease-in-out;
  
}

.challenge-card:hover .icon-eye{
  transform: rotateZ(360deg);
  transition: all 0.5s ease-in-out;
  opacity: 1;
 
}

.challenge-card:hover .icon-lock_outline{
  transform: rotateZ(360deg);
  transition: all 0.5s ease-in-out;
  opacity: 0;
}

.locked span {
  font-size: 3rem;
  border: 3px solid;
  border-radius: 50%;
  padding: 12px;
  opacity: 0.8;
}

.tutorial-locked span {
  border: 2px solid var(--text-color);
  border-radius: 50%;
  padding: 5px;
  margin-bottom: 3px;
  display: inline-block;
}

.active.nav-selector {
  color: var(--text-color-on-dark) !important;
  background-color: var(--button-color) !important;
  border-color: var(--button-color);
}

.nav-link {
  color: var(--text-color) !important;
}

/* .nav-link.active::after {
    content: "";
    height: 4px;
    display: block;
    background: var(--button-color);
    position: relative;
    top: 9px;
    animation: scaleX 300ms ease-in-out;
  } */

.card {
  background: transparent;
}

#game-play .game-bar {
  background: var(--background);
  box-shadow: 0 0 15px #0002;
}

.dashboard-stats-number {
  font-size: 1.5rem;
  color: var(--link-color);
}

.result-label {
  color: var(--link-color);
}

.dropdown-divider {
  border-top: 1px solid #e9ecef24;
}

.profile-username {
  color: var(--text-dark-color);
  font-weight: bold;
}
.profile-sub-username {
  color: var(--text-color);
  background: var(--background);
  padding: 3px 11px;
  border-radius: 30px;
  margin-bottom: 0.77rem;
  user-select: none;
}

.swal2-styled.swal2-confirm {
  background-color: var(--button-color) !important;
  color: #fff;
}

.swal2-styled.swal2-confirm:focus {
  box-shadow: 0 0 0 3px var(--element-color-primary) !important;
}

.dashboard-card .card-body {
  background: var(--secondary-background);
  border: 1px solid #fff2;
  background-repeat: no-repeat;
}

.my-position-leaderboard {
  background-image: var(--global-gradient) !important;
  color: white;
}

.dark-theme #left-sidebar {
  background: var(--secondary-background) !important;
}

.light-theme #left-sidebar {
  background: var(--secondary-background) !important;
}

#left-sidebar .active .item-name {
  color: var(--text-color-on-dark);
  font-size: 0.9rem;
}
#left-sidebar .list-group-item:hover .item-name {
  color: var(--text-color-on-dark);
  font-size: 0.9rem;
}
#left-sidebar .item-name {
  color: var(--text-color);
  font-size: 0.9rem;
  letter-spacing: 0.02rem;
  font-weight: bold;
}

.is-loading img,
.is-loading h2,
.is-loading p {
  background: #eee;
  background: linear-gradient(
    110deg,
    var(--secondary-background) 8%,
    var(--background) 18%,
    var(--secondary-background)
  );
  border-radius: 5px;
  background-size: 200% 100%;
  -webkit-animation: 1.5s shine linear infinite;
  animation: 1.5s shine linear infinite;
}

@-webkit-keyframes shine {
  to {
    background-position-x: -200%;
  }
}

@keyframes shine {
  to {
    background-position-x: -200%;
  }
}

#challenge-container {
  transition: width 1s ease-in-out, opacity 0.7s ease-in-out 0.3s,
    padding-left 0.7s ease-in-out 0.3s, padding-right 0.7s ease-in-out 0.3s;
}

.light {
  position: absolute;
  width: 0px;
  opacity: 0.75;
  background-color: red;
  box-shadow: #0189cd 0px 0px 20px 2px;
  opacity: 0;
  top: 100vh;
  bottom: 0px;
  left: 0px;
  right: 0px;
  margin: auto;
}

.x1 {
  -webkit-animation: floatUp 4s infinite linear;
  -moz-animation: floatUp 4s infinite linear;
  -o-animation: floatUp 4s infinite linear;
  animation: floatUp 4s infinite linear;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}

.x2 {
  -webkit-animation: floatUp 7s infinite linear;
  -moz-animation: floatUp 7s infinite linear;
  -o-animation: floatUp 7s infinite linear;
  animation: floatUp 7s infinite linear;
  -webkit-transform: scale(1.6);
  -moz-transform: scale(1.6);
  -o-transform: scale(1.6);
  transform: scale(1.6);
  left: 15%;
}

.x3 {
  -webkit-animation: floatUp 2.5s infinite linear;
  -moz-animation: floatUp 2.5s infinite linear;
  -o-animation: floatUp 2.5s infinite linear;
  animation: floatUp 2.5s infinite linear;
  -webkit-transform: scale(0.5);
  -moz-transform: scale(0.5);
  -o-transform: scale(0.5);
  transform: scale(0.5);
  left: -15%;
}

.x4 {
  -webkit-animation: floatUp 4.5s infinite linear;
  -moz-animation: floatUp 4.5s infinite linear;
  -o-animation: floatUp 4.5s infinite linear;
  animation: floatUp 4.5s infinite linear;
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
  left: -34%;
}

.x5 {
  -webkit-animation: floatUp 8s infinite linear;
  -moz-animation: floatUp 8s infinite linear;
  -o-animation: floatUp 8s infinite linear;
  animation: floatUp 8s infinite linear;
  -webkit-transform: scale(2.2);
  -moz-transform: scale(2.2);
  -o-transform: scale(2.2);
  transform: scale(2.2);
  left: -57%;
}

.x6 {
  -webkit-animation: floatUp 3s infinite linear;
  -moz-animation: floatUp 3s infinite linear;
  -o-animation: floatUp 3s infinite linear;
  animation: floatUp 3s infinite linear;
  -webkit-transform: scale(0.8);
  -moz-transform: scale(0.8);
  -o-transform: scale(0.8);
  transform: scale(0.8);
  left: -81%;
}

.x7 {
  -webkit-animation: floatUp 5.3s infinite linear;
  -moz-animation: floatUp 5.3s infinite linear;
  -o-animation: floatUp 5.3s infinite linear;
  animation: floatUp 5.3s infinite linear;
  -webkit-transform: scale(3.2);
  -moz-transform: scale(3.2);
  -o-transform: scale(3.2);
  transform: scale(3.2);
  left: 37%;
}

.x8 {
  -webkit-animation: floatUp 4.7s infinite linear;
  -moz-animation: floatUp 4.7s infinite linear;
  -o-animation: floatUp 4.7s infinite linear;
  animation: floatUp 4.7s infinite linear;
  -webkit-transform: scale(1.7);
  -moz-transform: scale(1.7);
  -o-transform: scale(1.7);
  transform: scale(1.7);
  left: 62%;
}

.x9 {
  -webkit-animation: floatUp 4.1s infinite linear;
  -moz-animation: floatUp 4.1s infinite linear;
  -o-animation: floatUp 4.1s infinite linear;
  animation: floatUp 4.1s infinite linear;
  -webkit-transform: scale(0.9);
  -moz-transform: scale(0.9);
  -o-transform: scale(0.9);
  transform: scale(0.9);
  left: 85%;
}

@-webkit-keyframes floatUp {
  0% {
    top: 100vh;
    opacity: 0;
  }

  25% {
    opacity: 1;
  }

  50% {
    top: 0vh;
    opacity: 0.8;
  }

  75% {
    opacity: 1;
  }

  100% {
    top: -100vh;
    opacity: 0;
  }
}

@-moz-keyframes floatUp {
  0% {
    top: 100vh;
    opacity: 0;
  }

  25% {
    opacity: 1;
  }

  50% {
    top: 0vh;
    opacity: 0.8;
  }

  75% {
    opacity: 1;
  }

  100% {
    top: -100vh;
    opacity: 0;
  }
}

@-o-keyframes floatUp {
  0% {
    top: 100vh;
    opacity: 0;
  }

  25% {
    opacity: 1;
  }

  50% {
    top: 0vh;
    opacity: 0.8;
  }

  75% {
    opacity: 1;
  }

  100% {
    top: -100vh;
    opacity: 0;
  }
}

@keyframes floatUp {
  0% {
    top: 100vh;
    opacity: 0;
  }

  25% {
    opacity: 1;
  }

  50% {
    top: 0vh;
    opacity: 0.8;
  }

  75% {
    opacity: 1;
  }

  100% {
    top: -100vh;
    opacity: 0;
  }
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@-moz-keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@-o-keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 0;
  }

  30% {
    opacity: 1;
  }

  80% {
    opacity: 0.9;
  }

  100% {
    opacity: 0;
  }
}

@-moz-keyframes fadeOut {
  0% {
    opacity: 0;
  }

  30% {
    opacity: 1;
  }

  80% {
    opacity: 0.9;
  }

  100% {
    opacity: 0;
  }
}

@-o-keyframes fadeOut {
  0% {
    opacity: 0;
  }

  30% {
    opacity: 1;
  }

  80% {
    opacity: 0.9;
  }

  100% {
    opacity: 0;
  }
}

@keyframes fadeOut {
  0% {
    opacity: 0;
  }

  30% {
    opacity: 1;
  }

  80% {
    opacity: 0.9;
  }

  100% {
    opacity: 0;
  }
}

@-webkit-keyframes finalFade {
  0% {
    opacity: 0;
  }

  30% {
    opacity: 1;
  }

  80% {
    opacity: 0.9;
  }

  100% {
    opacity: 1;
  }
}

@-moz-keyframes finalFade {
  0% {
    opacity: 0;
  }

  30% {
    opacity: 1;
  }

  80% {
    opacity: 0.9;
  }

  100% {
    opacity: 1;
  }
}

@-o-keyframes finalFade {
  0% {
    opacity: 0;
  }

  30% {
    opacity: 1;
  }

  80% {
    opacity: 0.9;
  }

  100% {
    opacity: 1;
  }
}

@keyframes finalFade {
  0% {
    opacity: 0;
  }

  30% {
    opacity: 1;
  }

  80% {
    opacity: 0.9;
  }

  100% {
    opacity: 1;
  }
}

.play-game-topbar {
  background: var(--background);
}
