:root {
  --dark-mode-color: #121212;
  --dark-mode-color-alt: #2b2b2b;
  --default-color: #e6e6e6;
  --default-color-alt: #2a4966;
  --default-color-alt-hover: #4273a1;
}

html, body {
  margin: 0;
  height: 100%;
  -webkit-tap-highlight-color: transparent;
}

.dark-mode {
  background-color: black;
  color: var(--default-color);
}

body {
  background: linear-gradient(180deg, #f0e8e1 0%, #e3dbd5 100%);

  margin: 0;
  padding: 0;

  text-align: center;

  font-family: 'Roboto', sans-serif;
}
.dark-mode {
  background: linear-gradient(180deg, #181818 0%, var(--dark-mode-color) 100%);
}

*:focus {
  outline: none;
}

a.plain-anchor:link {
  text-decoration: inherit;
  color: inherit;
  cursor: pointer;
}
a.plain-anchor:visited {
  text-decoration: inherit;
  color: inherit;
  cursor: pointer;
}

.unselectable, .sidebar-menu-inner p, .sidebar-menu-inner a, .game-menu-inner p {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.box {
  display: flex;
  flex-flow: column;
  height: 100%;
}

.box .row.header {
  flex: 0 1 auto;
}

.box .row.content {
  flex: 1 1 auto;
}

.box .row.footer {
  flex: 0 1 40px;
}

.content {
  display: flex;
  align-items: center;
  justify-content: center;
}
#content-wrapper {
  width: 100%;
}

.search, .display, #error {
  display: none;
}

#avatar-today {
  height: 75px;
  width: 75px;
}
#avatar-history {
  height: 48px;
  width: 48px;
}
#avatar-anchor-history {
  vertical-align: middle;
}

#platform-icon-today, #platform-icon-history {
  height: 20px;
  width: 20px;
}

#header {
  background-color: var(--default-color-alt);
  z-index: 1;
}
.dark-mode #header {
  background-color: var(--dark-mode-color-alt);
}

#banner {
  height: auto;
  width: auto;

  margin: 0;
  margin-left: 40px;
  margin-right: 90px;
  padding: 0;
  padding-bottom: 10px;

  color: white;

  font-size: 50pt;

  z-index: 100;
}

.text {
  margin: 1vh;
  color: #0e1924;
  display: inline-block;
  text-align: center;
}
.dark-mode .text {
  color: var(--default-color);
}
#date-today,
#open-datepicker-today,
#open-datepicker-start,
#open-datepicker-end,
#history-submit {
  font-size: 15pt;
}
#date-history {
  font-size: 10pt;
}
#datepicker-today, #datepicker-start, #datepicker-end {
  display: none;
}
#open-datepicker-today, #open-datepicker-start, #open-datepicker-end, #history-submit {
  display: inline;
  color: var(--default-color-alt);
  border: none;
  outline: none;
  background-color: transparent;
  cursor: pointer;
}
#open-datepicker-today:hover,
#open-datepicker-start:hover,
#open-datepicker-end:hover,
#history-submit:hover {
  border: none;
  color: var(--default-color-alt-hover);
}
.dark-mode #open-datepicker-today,
.dark-mode #open-datepicker-start,
.dark-mode #open-datepicker-end,
.dark-mode #history-submit {
  color: var(--default-color);
}
.dark-mode #open-datepicker-today:hover,
.dark-mode #open-datepicker-start:hover,
.dark-mode #open-datepicker-end:hover,
.dark-mode #history-submit:hover {
  color: white;
}
.dark-mode .picker__box,
.dark-mode .picker__button--today,
.dark-mode .picker__button--clear,
.dark-mode .picker__button--close {
  background-color: black;
  color: white;
}
.dark-mode .picker__day--disabled {
  background-color: var(--dark-mode-color-alt);
  border-color: transparent;
}
.dark-mode .picker__nav--next:before {
  border-left-color: white;
}
.dark-mode .picker__nav--prev:before {
  border-right-color: white;
}
#name-today, #name-history {
  font-size: 20pt;
  text-align: center;
  text-decoration: underline;
}
#name-today:hover, #name-history:hover {
  color: #1d334a;
}
.dark-mode #name-today:hover, .dark-mode #name-history:hover {
  color: white;
}
#kd {
  font-size: 25pt;
}
#kd-diff {
  font-size: 15pt;
}
#wl, #time-played {
  font-size: 18pt;
}
#wl-diff {
  font-size: 11pt;
}
#comment {
  font-size: 15pt;
}
.fa-long-arrow-alt-down {
  color: red
}
.fa-long-arrow-alt-up {
  color: green
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px white inset !important;
}
.dark-mode input {
  color: var(--default-color);
}
.dark-mode input:-webkit-autofill,
.dark-mode input:-webkit-autofill:hover,
.dark-mode input:-webkit-autofill:focus,
.dark-mode input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px var(--dark-mode-color) inset !important;
}
.dark-mode input:-webkit-autofill {
  -webkit-text-fill-color: var(--default-color) !important;
}
#username {
  border: 1px solid;
  border-radius: 2px 0 0 2px;
  border-color: #303030;
  width: 30%;
  height: 30px;
  font-size: 15pt;
}
.dark-mode #username {
  background-color: var(--dark-mode-color);
}
#search {
  outline: none;
  background-color: Transparent;
  border: none;
  cursor: pointer;
}
#search:hover {
  border: none;
  color: white;
}
.dark-mode #search {
  color: var(--default-color);
}
.dark-mode #search:hover {
  color: white;
}

.platform-selector input {
  display: none;
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.playstation-network {
  background-image: url('../images/psn.png');
}
.xbox-live {
  background-image: url('../images/xbl.png');
}
.activision {
  background-image: url('../images/atvi.png');
}
.battlenet {
  background-image: url('../images/battlenet.png');
}

.platform-selector input:active +.platform {
  opacity: .9;
}
.platform-selector input:checked +.platform {
  -webkit-filter: none;
  -moz-filter: none;
  filter: none;
}
.platform {
  width: 50px;
  height: 50px;

  margin-top: 25px;
  margin-left: 10px;
  margin-right: 10px;

  background-size: contain;
  background-repeat: no-repeat;

  cursor: pointer;

  display: inline-block;

  -webkit-transition: all 100ms ease-in;
  -moz-transition: all 100ms ease-in;
  transition: all 100ms ease-in;

  -webkit-filter: brightness(1.8) grayscale(1) opacity(.85);
  -moz-filter: brightness(1.8) grayscale(1) opacity(.85);
  filter: brightness(1.8) grayscale(1) opacity(.85);
}
.platform:hover {
  -webkit-filter: brightness(1.2) grayscale(.5) opacity(.95);
  -moz-filter: brightness(1.2) grayscale(.5) opacity(.95);
  filter: brightness(1.2) grayscale(.5) opacity(.95);
}

/* https://codepen.io/plavookac/pen/qomrMw */
#sidebar-menu {
  height: 100%;
  position: fixed;
  left: 0;
  width: 250px;
  transform: translateX(-250px);
  transition: transform 250ms ease-in-out;
  background: #2c4d6b;
  z-index: 1;
}
#game-menu {
  height: 100%;
  position: fixed;
  right: 0;
  width: 250px;
  transform: translateX(250px);
  transition: transform 250ms ease-in-out;
  background: #2c4d6b;
  z-index: 1;
}
.dark-mode #sidebar-menu, .dark-mode #game-menu {
  background: var(--dark-mode-color-alt);
}
.sidebar-menu-inner, .game-menu-inner {
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.10);
}
.sidebar-menu-inner li, .game-menu-inner li {
  list-style: none;
  color: #fff;
  text-transform: uppercase;
  font-weight: bold;
  padding: 15px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}
.sidebar-menu-inner li span, .game-menu-inner li span {
  display: block;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.50);
}
.sidebar-menu-inner li a, .game-menu-inner li a {
  color: #fff;
  text-transform: uppercase;
  font-weight: bold;
  cursor: pointer;
  text-decoration: none;
}
#open-sidebar-menu:checked ~ #sidebar-menu {
  transform: translateX(0);
}
#open-game-menu:checked ~ #game-menu {
  transform: translateX(0);
}
#open-game-menu:checked ~ .modern-warfare-icon-toggle {
  fill: #789920;
}
#open-game-menu:checked ~ .cold-war-icon-toggle {
  fill: #d04242;
}
#open-game-menu:checked ~ .vanguard-icon-toggle {
  fill: #c2001a;
}
#open-sidebar-menu, #open-game-menu {
  display: none;
}
#open-sidebar-menu {
  transition: all 0.3s;
  box-sizing: border-box;
}
.sidebar-icon-toggle, .game-menu-icon-toggle {
  margin-top: 10px;
  transition: all 0.3s;
  box-sizing: border-box;
  cursor: pointer;
  position: absolute;
  z-index: 99;
  height: 100%;
  width: 100%;
  height: 22px;
  width: 22px;
}
.sidebar-icon-toggle {
  top: 22px;
  left: 15px;
}
.game-menu-icon-toggle {
  fill: #ffffff;
  display: none;
}
.modern-warfare-icon-toggle {
  top: 18px;
  right: 70px;
}
.cold-war-icon-toggle {
  top: -4px;
  right: 60px;
}
.vanguard-icon-toggle {
  top: 10px;
  right: 42px;
}
#modern-warfare-icon {
  height: 25px;
}
#cold-war-icon {
  height: 70px;
}
#vanguard-icon {
  height: 50px;
}
.game-menu-inner li {
  cursor: pointer;
}
.spinner {
  transition: all 0.3s;
  box-sizing: border-box;
  position: absolute;
  height: 3px;
  width: 100%;
  background-color: #fff;
}
.horizontal {
  transition: all 0.3s;
  box-sizing: border-box;
  position: relative;
  float: left;
  margin-top: 3px;
}
.diagonal.part-1 {
  position: relative;
  transition: all 0.3s;
  box-sizing: border-box;
  float: left;
}
.diagonal.part-2 {
  transition: all 0.3s;
  box-sizing: border-box;
  position: relative;
  float: left;
  margin-top: 3px;
}
#open-sidebar-menu:checked ~ .sidebar-icon-toggle > .horizontal {
  transition: all 0.3s;
  box-sizing: border-box;
  opacity: 0;
}
#open-sidebar-menu:checked ~ .sidebar-icon-toggle > .diagonal.part-1 {
  transition: all 0.3s;
  box-sizing: border-box;
  transform: rotate(135deg);
  margin-top: 8px;
}
#open-sidebar-menu:checked ~ .sidebar-icon-toggle > .diagonal.part-2 {
  transition: all 0.3s;
  box-sizing: border-box;
  transform: rotate(-135deg);
  margin-top: -9px;
}

.sidebar-menu-inner p, .game-menu-inner p {
  margin: 0;
  display: inline-block;
}

/* https://codepen.io/garetmckinley/pen/YmxYZr */
.toggle-control {
  padding-left: 70px;
  margin-bottom: 12px;
  cursor: pointer;
  font-size: 22px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.toggle-control input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.toggle-control input:checked ~ .control {
  background-color: #20C20E;
}
.toggle-control input:checked ~ .control:after {
  left: 30px;
}
.toggle-control .control {
  position: absolute;
  top: 0;
  left: 0;
  height: 30px;
  width: 60px;
  border-radius: 17.5px;
  background-color: darkgray;
  -webkit-transition: background-color 0.15s ease-in;
  transition: background-color 0.15s ease-in;
}
.toggle-control .control:after {
  content: "";
  position: absolute;
  left: 6px;
  top: 4px;
  width: 22px;
  height: 22px;
  border-radius: 17.5px;
  background: white;
  -webkit-transition: left 0.15s ease-in;
  transition: left 0.15s ease-in;
}
.toggle {
  position: relative;
  display: inline-block;
}
#toggle-text-dark-mode {
  margin-right: 15px;
}
.control {
  cursor: pointer;
}

.display-history {
  display: none;
}
.display-history text {
  color: white;
}

g[class^='raphael-group-'][class$='-creditgroup'] text {
  display: none;
}
#fusion-charts-credit {
  font-size: 5pt !important;
}

.bottom-nav {
  display: flex;
  width: 100%;
  flex-wrap: nowrap;
  align-items: baseline;
  justify-content: space-evenly;
}

#show-search, #show-today, #show-history {
  display: flex;
}
#footer {
  background-color: var(--default-color-alt);
  z-index: 100;
}
.dark-mode #footer {
  background-color: var(--dark-mode-color-alt);
}
#show-search, #show-today, #show-history {
  font-size: 40pt;
  margin-top: 8px;
  margin-bottom: 8px;
  display: inline;
  color: gray;
  border: none;
  outline: none;
  background-color: transparent;
  vertical-align: middle;
}
.bottom-nav-selected {
  color: white !important;
}
.bottom-nav-selected .show-search:hover,
.bottom-nav-selected .show-today:hover,
.bottom-nav-selected .show-history:hover {
  color: white !important;
}
.bottom-nav-selectable .show-search:hover,
.bottom-nav-selectable .show-today:hover,
.bottom-nav-selectable .show-history:hover {
  cursor: pointer;
  border: none;
  color: var(--default-color);
}
#footer-message {
  display: inline-block;
  text-align: center;
  border-top: 1px solid #233f59;
  margin: 0;
  padding-top: 5px;
  padding-bottom: 5px;
  margin-left: auto;
  margin-right: auto;
  color: var(--default-color);
}
.dark-mode #footer-message {
  border-color: #242424;
}

@media screen and (max-width: 1000px) {
  #username {
    width: 75%;
  }
}

@media screen and (max-width: 1000px), screen and (max-height: 350px) {
  #banner {
    margin-right: 72px;
    padding-top: 15px;
    font-size: 25pt;
  }

  .sidebar-icon-toggle, .game-menu-icon-toggle {
    margin-top: 0;
  }

  .modern-warfare-icon-toggle {
    top: 24px;
    right: 56px;
  }
  .cold-war-icon-toggle {
    top: 7px;
    right: 48px;
  }
  .vanguard-icon-toggle {
    top: 13px;
    right: 32px;
  }
  #modern-warfare-icon {
    height: 20px;
  }
  #cold-war-icon {
    height: 56px;
  }
  #vanguard-icon {
    height: 40px;
  }

  #username {
    height: 50px;
    font-size: 20pt;
  }

  #date-today,
  #name-today,
  #name-history,
  #open-datepicker-today,
  #open-datepicker-start,
  #open-datepicker-end,
  #history-submit {
    font-size: 12pt;
  }
  #date-history {
    font-size: 8pt;
  }
  #kd {
    font-size: 16pt;
  }
  #kd-diff {
    font-size: 10pt;
  }
  #wl, #time-played {
    font-size: 12pt;
  }
  #wl-diff {
    font-size: 8pt;
  }
  #comment {
    font-size: 12pt;
  }
}

@media screen and (max-width: 500px) {
  #banner {
    margin-right: 54px;
    font-size: 20pt;
  }

  .modern-warfare-icon-toggle {
    top: 25px;
    right: 42px;
  }
  .cold-war-icon-toggle {
    top: 10px;
    right: 36px;
  }
  .vanguard-icon-toggle {
    top: 15px;
    right: 25px;
  }
  #modern-warfare-icon {
    height: 15px;
  }
  #cold-war-icon {
    height: 42px;
  }
  #vanguard-icon {
    height: 30px;
  }

  #username {
    height: 30px;
    font-size: 20pt;
  }
  .platform {
    width: 40px;
    height: 40px;
  }

  #avatar-today {
    height: 55px;
    width: 55px;
  }
  #avatar-history {
    height: 35px;
    width: 35px;
  }
}

@media screen and (max-width: 350px), screen and (max-height: 350px) {
  #banner {
    padding-top: 15px;
    font-size: 15pt;
  }

  .modern-warfare-icon-toggle {
    top: 18px;
    right: 20px;
  }
  .cold-war-icon-toggle {
    top: 14px;
    right: 17px;
  }
  .vanguard-icon-toggle {
    top: 19px;
    right: 13px;
  }
  #modern-warfare-icon {
    height: 10px;
  }
  #cold-war-icon {
    height: 28px;
  }
  #vanguard-icon {
    height: 20px;
  }

  #username {
    height: 25px;
    font-size: 15pt;
  }
  .platform {
    width: 30px;
    height: 30px;
  }

  #avatar-today {
    height: 35px;
    width: 35px;
  }
  #avatar-history {
    height: 22px;
    width: 22px;
  }
  #footer-message {
    font-size: 10pt;
  }
}

@media screen and (max-width: 300px) {
  #banner {
    padding-top: 15px;
    padding-bottom: 15px;
    font-size: 10pt;
  }
  .sidebar-icon-toggle, .game-menu-icon-toggle {
    margin-top: -5px;
  }
  #username {
    font-size: 10pt;
  }
  .platform {
    width: 20px;
    height: 20px;
  }
}
