/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 20px;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}
audio:not([controls]) {
  display: none;
  height: 0;
}
[hidden],
template {
  display: none;
}
a {
  background-color: transparent;
}
a:active,
a:hover {
  outline: 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b,
strong {
  font-weight: bold;
}
dfn {
  font-style: italic;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
h2 {
  font-size: 1.5em;
}
mark {
  background: #ff0;
  color: #000;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
img {
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 1em 40px;
}
hr {
  box-sizing: content-box;
  height: 0;
}
pre {
  overflow: auto;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input {
  line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
legend {
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}

nav {
  display: block;
  background: #EEE;
  padding: 10px;
}

nav a {
  padding: 3px;
}

.matrix td { padding: 3px 5px; font-size: 14px;}
.matrix .player { background: #DDD; padding: 4px;}

.leaderboard {
  border-spacing: 2px;
  border-collapse: separate;
  font-size: 14px;
  border: 1px solid #444;
}

.leaderboard a {
  color: #333;
}

.leaderboard td,
.leaderboard th {
  height: 18px;
  padding: 3px 8px;
  text-align: right;
}

.leaderboard tr:nth-child(2n) td {
  background: #EEE;
}

.leaderboard th {
  background: #CCC;
  padding: 6px 8px;
  text-align: left;
}

.leaderboard .number,
.leaderboard .handicap {
  text-align: center;
}

.leaderboard .name {
  text-align: left;
  min-width: 120px;
}

.leaderboard .form {
  padding: 4px 2px;
}

.leaderboard .form-table {
  table-layout:fixed
}

.leaderboard .form-table td {
  text-align: center;
  width: 18px;
  padding: 0 2px;
}

.form-table .match {
  color: #FFF;
  line-height: 16px;
  height: 16px;
  width: 15px;
  font-size: 12px;
  display: block;
  padding: 2px 1px 1px;
  color: #FFF;
  text-decoration: none;
}

.form-table .absense {
  background: #CCC;
 }

.form-table .win {
  background: #2c7e00;
}

.form-table .loss {
  background: #a8160c
}

.form-table .draw {
  background: #777777;
}

.form-table .void {
  background: orange;
}

.matches {
  width: 60%;
}

.scored {
  margin-bottom: 10px;
}

.match {
  clear: both;
}

.team.winners {
  background: lightgreen;
}

.match.void .team {
  background: #ffd17c;
}

.team {
  box-sizing: border-box;
  width: 45%;
  background: #DDD;
  float: left;
  padding: 0px 30px;
}

.team a {
  line-height: 1.5em;
  text-decoration: none;
}

.team a:hover {
  text-decoration: underline;
}

.vs {
  color: #666;
  width: 10%;
  float: left;
  text-align: center;
  padding: 20px 0;
}

.team ul {
  padding: 0;
}

.team li {
  line-height: 22px;
  list-style: none;
}

.team a {
  color: #333;
}

.match .date {
  background: #AAA;
  color: #FFF;
  border-top: 1px solid #888;
  display: block;
  padding: 10px;
}

.date small {
  float: right;
}

.win-percentage {
  opacity: 0.6;
}

.vs {
  float: left;
}

.player { display: flex; width: 400px; position: relative; height: 30px; margin: 2px 0; line-height: 30px }
.player .info { color: #FFF; position: absolute; }
.player .bar { height: 100%; padding: 0 5px; color: white }
.bar.with { background-color: green; }
.bar.against { background-color: red; text-align: right }

.player--injured { font-style: italic; color: maroon; }
.player--highlight-teammate { background: rgba(50, 100, 210, 0.15); border-left: 3px solid #2a5cbf; margin-left: -30px; padding-left: 27px; }
.player--highlight-teammate a { color: #1a3d8f; font-weight: bold; }
.player--highlight-opponent { background: rgba(210, 170, 0, 0.18); border-left: 3px solid #b8960a; margin-left: -30px; padding-left: 27px; }
.player--highlight-opponent a { color: #7a6200; font-weight: bold; }
.filter-fieldsets { display: flex; gap: 2em; }
.filter-fieldset { margin: 1em 0; padding: 0.75em 1.25em 1em; }
.player-filter-list { columns: 3; }
.player-filter-list label { display: block; white-space: nowrap; margin-bottom: 2px; }
.filter-fieldset--teammate { border-color: #2a5cbf; }
.filter-fieldset--teammate legend { color: #1a3d8f; font-weight: bold; }
.filter-fieldset--opponent { border-color: #b8960a; }
.filter-fieldset--opponent legend { color: #7a6200; font-weight: bold; }

.stats dt { margin-bottom: 0.25em; }
.stats dd { margin-bottom: 0.5em; }

.js-expanded,
.js-expanded-row { display: none; }
.js-expanded-table .js-expanded-row { display: table-row; }
.js-expanded-table .js-expanded { display: table-cell }

.js-inactive { display: none; }
.js-inactive-players-table .js-inactive { display: table-row; }

.leaderboard-controls { font-size: 0.9em; padding: 7px;}
.leaderboard-controls a { cursor: pointer; color: #333; border-bottom: 1px dotted #AAA; }

h2 small { font-size: 0.7em; color: #666; }

@media only screen and (max-width: 600px) {
  body {
    margin: 1em;
  }
  .leaderboard {
    margin: 0 -1em;
    border-width: 0;
  }
  .leaderboard td {
    padding: 2px 6px;
  }
  .leaderboard th {
    padding: 4px 6px;
  }
  .matches {
    width: 100%;
  }
  .matches .team {
    padding: 0 20px;
  }
  .matches .scored {
    margin-top: 15px;
  }
  .matches .vs {
    padding: 15px 0;
  }
  .matches-wrapper {
    margin: 0 -20px;
  }
}
