html,
body {
    margin: 0;
    overflow: hidden;
}

#app {
    overflow: hidden;
    width: 100vw;
    height: 100vh;
    display: flex;
    flex-direction: column;
    font-family: "Tahoma", sans-serif;
}

#banner {
    display: flex;
    flex-direction: row;
    justify-content: center;
    background: #53ac69;
    color: #efe;
    height: 75px;
    z-index: 2;
}

#main {
    flex: 1;
    padding: 1em;
    background: #343;
    color: #efe;
}

#footer {
    background: #565;
    color: #efe;
    font-size: 8pt;
    padding: 1em;
    z-index: 2;
}

.card {
    background: #333;
    color: #ddd;
    border: 1px solid #555;
    border-radius: 5px;
    display: flex;
    flex-direction: column;
}

#search-input {
    padding: .5em;
    background: #666;
    color: #eee;
    border: none;
}

#search-input::placeholder {
    color: #eee;
}

#search-suggestions-container {
    position: relative;
}

#search-suggestions {
    position: absolute;
    display: flex;
    flex-direction: column;
    background: #000;
    overflow-y: scroll;
    max-height: 250px;
    width: 100%;
}

.suggestion {
    color: #fff;
    padding: 0.2em;
    text-decoration: none;
}

.suggestion:hover {
    background: #555;
}

.tablist {
    width: 100%;
    display: flex;
}

.tab-button {
    flex: 1;
    text-transform: uppercase;
    font-weight: bold;
    color: #ccc;
    appearance: none;
    border: none;
    background: #222;
    padding: 1em;
    cursor: pointer;
    font-size: 12pt;
}

.tab {
    background: #111;
}

.tab-button:hover {
    background: #444;
    color: #fff;
}

.tab-button.active {
    color: #fff;
    border-bottom: 2px solid white;
}

.title {
    text-decoration: none;
    color: #fff;
    font-size: 25pt;
    display: block;
    font-weight: bold;
    margin: .5em 0;
}

.grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items:start;
}

.grid .card {
    margin: 1.4em;
}

.col-2 {
    grid-column: span 2;
}

.col-4 {
    grid-column: span 4;
}
.col-5{
    grid-column: span 5;
}
.col-6 {
    grid-column: span 6;
}
.col-7{
    grid-column: span 7;
}
.col-8 {
    grid-column: span 8;
}
.col-12{
    grid-column: span 12;
}
#main {
    overflow-y: auto;
}

.hidden {
    display: none;
}

#loading {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    flex-direction: column;
    z-index: 1;
    background: inherit;
}

.loading-image {
    object-fit: cover;
    height: 50px;
}

.card-header {
    background: #444;
    border-bottom: 1px solid #aaa;
    padding: 0em 1em;
}

.card-body {
    padding: .5em;
    display:flex;
    flex-direction:column;
}

.stat {
    display: flex;
    justify-content: space-between;
}

.stat-value {
    font-weight: bold;
}

.stat-name {
    flex: 1;
}

.rank-name {
    margin-right: 0.5em;
}

.rank-0 {
    color: #dda174;
}

.rank-1 {
    color: #bebebe;
}

.rank-2 {
    color: #f4b327;
}

.rank-3 {
    color: #5ceaf9;
}

.rank-4 {
    color: #7d9cff;
}

.rank-5 {
    color: #ff5863;
}
.stats-title {
  display: flex;
  align-items: center;
}
.avatar-image {
  height: 75px;
  margin: 20px;
  clip-path: circle();
}

#loading-data {
  display: flex;
  justify-content: center;
  flex-direction:column;
}
#loading-progress {
  accent-color: #53ac69;
  zoom:2;
}
#loading-percentage, #loading-flavor{
    font-size:10pt;
    font-style:italic;
}

.column {
  display: flex;
  flex-direction: column;
}
.game {
  display: flex;
  justify-content: space-between;
  margin: 0.2em;
  padding: 0.3em;
  border-radius: 5px;
  align-items: center;
  font-size: ;
}
.game.won{
    background:#152;
}
.game.lost{
    background:#512;
}
.stat-value-multi {
  margin: 1em 0;
}

.row-2 {
  grid-row: span 2;
}

.button{
  background:#53ac69;
  padding:0.5em;
  text-transform:uppercase;
  color:#fff;
  text-decoration:none;
  border-radius:2px
  }
.game-opponent, .player-nick, .guess-open{
  color:inherit;
  text-decoration:none;  
  font-weight:bold;
}
.row, .player{
    display:flex;
    align-items:center;
}
.avatar-image-small{
    height:1.5em;
    clip-path:circle();
}
.row>*{
    margin:0 0.5em;
}
.player>*{
    margin:0 0.1em;
}
#pp-areas-map{
    height:500px;
    z-index:0;
}
.row.right{
    justify-content:end;
}
.column.right{
    align-items:end;
}
.wrap{
    flex-wrap:wrap;
}
.player-outer {
  padding: 0.5em;
  background: #111;
  margin: 0.5em;
  border-radius: 10px;
}
.guess {
  background: #111;
  padding: 0.5em;
  margin: 0.5em;
  border-radius: 10px;
  flex:.3333333;
}

.guess-map {
  height: 200px;
  margin: 1em;
}

.country-table {
  width: 100%;
}
.small-flag {
  height: 1EM;
  object-fit: cover;
  aspect-ratio: 1;
  clip-path: circle();
}
.country-table-wrapper {
  height: 410px;
  overflow-y: scroll;
}
.country-table thead {
  position: sticky;
  top: 0;
  background: #111;
  z-index: 1;
}
.table-row td{
    border-bottom:1px solid #444;
}
