body * {
    -moz-user-select: none;
    user-select: none;
    -ms-user-select: none
}

canvas {
    display: block
}

body {
    cursor: none
}

body.loading>canvas {
    opacity: 0
}

body.debug {
    cursor: default
}

body:not(.loaded):after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 1px;
    background-image: linear-gradient(to right, #000, #000), url('../images/interface/merixgames.png'), url('../images/interface/menu_background.jpg'), url('../images/interface/start_screen.jpg'), url('../images/interface/panel_small_background.png'), url('../images/interface/panel_medium_background.png'), url('../images/interface/panel_large_background.png'), url('../images/interface/header_small.png'), url('../images/interface/header_medium.png'), url('../images/interface/header_large.png'), url('../images/full_version/01.jpg'), url('../images/full_version/02.jpg'), url('../images/full_version/03.jpg'), url('../images/full_version/04.jpg'), url('../images/full_version/05.jpg'), url('../images/full_version/06.jpg'), url('../images/full_version/07.jpg'), url('../images/full_version/08.jpg');
}

button {
    color: #fff
}

h1 {
    margin-bottom: 1em;
    font-weight: 400
}

h2 {
    margin-bottom: 1em;
    font-weight: 400
}

.float-left {
    float: left
}

.relative {
    position: relative
}

.text-left {
    text-align: left
}

.text-center {
    text-align: center
}

.text-right {
    text-align: right
}

.text-size-medium {
    font-size: 36px
}

.no-wrap {
    white-space: nowrap
}

.menu {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('../images/interface/inner_shadow.png') repeat-x 0 100%, url('../images/interface/menu_background.jpg') no-repeat 50% 50% / cover, #000;
    color: #fff;
    text-align: center;
    visibility: hidden
}

.menu.top {
    visibility: visible
}

.menu-header {
    transform-origin: 50% 0
}

.menu.transparent {
    background: transparent url('../images/interface/inner_shadow.png') repeat-x 0 100%
}

.menu.loading {
    background: url('../images/interface/inner_shadow.png') repeat-x 0 100%, url('../images/interface/start_screen.jpg') no-repeat 50% 50% / cover, #000
}

.menu.intro {
    background: #000 url('../images/interface/merixgames.png') no-repeat 50% 50%
}

.menu.overlay:not(.transparent) {
    background: rgba(0, 0, 0, 0.5)
}

.gui {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    pointer-events: none
}

.gui.no-scale .scalable {
    transform: none !important
}

.panel {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent none no-repeat 0 0
}

.panel.scalable {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1920px;
    height: 1080px;
    margin: -540px 0 0 -960px
}

.panel>.clip {
    position: relative;
    height: 100%
}

.panel.small {
    padding: 320px 340px 170px;
    background-image: url('../images/interface/panel_small_background.png')
}

.panel.medium {
    padding: 320px 340px 170px;
    background-image: url('../images/interface/panel_medium_background.png')
}

.panel.large {
    padding: 200px 200px 109px;
    background-image: url('../images/interface/panel_large_background.png')
}

.menu.overlay .panel {
    padding: 200px
}

.panel-footer {
    width: 540px;
    margin: auto;
    text-align: left
}

.menu>svg {
    position: absolute;
    top: 0;
    left: 0
}

.focused:not(.menu) {
    color: #ffe24d
}

.panel.focused:not(.active) {
    box-shadow: inset 0 0 0 2px #000
}

.scrollable-content {
    position: relative;
    min-width: 100%
}

.match .user-team:after,
.user-team.text-left:after {
    content: '';
    display: inline-block;
    width: 28px;
    height: 20px;
    margin-left: 3px;
    background: transparent url('../images/users.png') no-repeat -136px -50px;
    vertical-align: -4px
}

.match .user-team:after {
    position: absolute;
    bottom: -10px;
    right: 0;
    margin-left: 0;
    vertical-align: 0
}

.user-team.text-right:before {
    content: '';
    display: inline-block;
    width: 28px;
    height: 20px;
    margin-right: 3px;
    background: transparent url('../images/users.png') no-repeat -136px -50px;
    vertical-align: -4px
}

i.bronze {
    color: #c68759 !important;
    font-style: normal
}

i.silver {
    color: #cac7c2 !important;
    font-style: normal
}

i.gold {
    color: #f0bf32 !important;
    font-style: normal
}

i.platinum {
    color: #aeabe3 !important;
    font-style: normal
}

i.green {
    color: #8aff7b !important;
    font-style: normal
}

i.red {
    color: #ff7b7b !important;
    font-style: normal
}

i.white {
    color: #fff !important;
    font-style: normal
}

i.pink {
    color: #ffc6ff !important;
    font-style: normal
}

i.yellow {
    color: #ffc514 !important;
    font-style: normal
}

/*
 * Locked content information, appears on widget focus
 */

.lock-info {
    position: absolute;
    z-index: 2;
    top: 40px;
    left: 10%;
    right: 10%;
    opacity: 0;
    color: #999;
    font-size: 30px;
    line-height: 1.5;
    letter-spacing: 1px;
    transition: opacity 0.5s ease
}

.lock-info i {
    color: #eee;
    font-style: normal
}

.focused>*>.lock-info,
.focused>.lock-info {
    opacity: 1
}

.small .lock-info {
    top: 30px;
    font-size: 22px
}

/*
 * Alert
 */

.alert {
    position: relative;
    padding: 50px
}

.alert>div {
    position: relative
}

.alert:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 100px;
    left: 0;
    background: rgba(0, 0, 0, 0.75);
    transform-origin: 50% 100%;
    transform: perspective(800px) rotateX(-10deg)
}

/*
 * Choice slider
 */

.choice-slider {
    height: 100%
}

.choice-slider:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle
}

.choice-slider:not(.no-wrap)>* {
    height: 100%
}

/*
 * Headers
 */

.small-header .label,
.medium-header .label,
.large-header .label {
    overflow: hidden;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    padding-top: 170px;
    font-size: 60px;
    text-overflow: ellipsis;
    line-height: 120px;
    white-space: nowrap
}

.small-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 320px;
    background: transparent url('../images/interface/header_small.png') no-repeat 0 0
}

.small-header .label {
    width: 640px
}

.medium-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 330px;
    background: transparent url('../images/interface/header_medium.png') no-repeat 0 0
}

.large-header .label {
    width: 1300px
}

.large-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 180px;
    background: transparent url('../images/interface/header_large.png') no-repeat 0 0
}

.large-header .label {
    width: 1550px;
    padding-top: 40px
}

.large-header.above {
    z-index: 2
}

.friendly-match .team-select-big-container {
    margin-top: -40px;
    margin-bottom: -7px
}

.friendly-match-settings {
    margin-left: -87px;
    margin-right: -87px;
    margin-top: 57px
}

/*
 * SVG elements
 */

.pattern {
    position: absolute;
    top: -10px;
    left: -10px
}

svg {
    display: block;
    margin: auto
}

svg .normal {
    fill: #7fc2d9
}

svg .progress,
.focused>svg .normal {
    fill: #fc0
}

svg .light {
    fill: #87cee6
}

.focused>svg .light {
    fill: #ffde5c
}

svg .dark {
    fill: #2b4751
}

svg .shadow {
    opacity: 0.25
}

svg .flag-shadow {
    opacity: 0.125
}

svg .background {
    fill: #578fa2
}

svg .header-front {
    fill: #fe9428
}

svg .header-back {
    fill: #d07a21
}

/*
 * Buttons
 */

.button {
    position: relative;
    display: inline-block;
    width: 526px;
    height: 90px;
    max-width: 100%;
    color: #fff !important;
    font-size: 36px;
    line-height: 80px;
    text-align: center;
    vertical-align: top;
    backface-visibility: hidden
}

.button .label {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

.button.disabled {
    color: #666 !important;
    opacity: 0.5
}

.button.small {
    width: 264px
}

.button svg {
    display: block;
    width: 100%
}

.button svg g.left {
    display: block
}

.button svg g.right {
    display: none
}

.even .button svg g.left {
    display: none
}

.even .button svg g.right {
    display: block
}

.button.right svg g.left {
    display: none
}

.button.right svg g.right {
    display: block
}

.button.medium {
    width: 300px
}

.button.icon img {
    position: absolute;
    top: -85px;
    left: -40px
}

.button.icon img~span {
    padding-left: 100px
}

/*
 * Input binder
 */

.input-binder .grid>div {
    line-height: 128px
}

.input-binder .button {
    vertical-align: middle
}

.input-binder.focused {
    color: #fff
}

.input-binder.focused svg .normal {
    fill: #fc0
}

/*
 * Loader
 */

.panel.loading {
    padding-top: 900px
}

/*
 * Team select
 */

.team-select-big {
    position: relative;
    display: inline-block;
    top: -15px;
    width: 644px;
    height: 451px;
    padding-top: 315px;
    color: #fff !important;
    font-size: 48px;
    line-height: 110px
}

.team-select-big svg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    width: 100%;
    height: 100%
}

.team-select-big img {
    position: absolute;
    top: 21px;
    left: 102px;
    z-index: 2
}

.team-select-big img.thumbnail {
    top: 60px;
    z-index: 4
}

.team-select-big figcaption {
    position: relative;
    z-index: 3;
    overflow: hidden;
    padding: 0 7%;
    text-overflow: ellipsis;
    white-space: nowrap
}

.team-select-big.random img.thumbnail {
    filter: brightness(0)
}

.team-select-big.right img {
    left: auto;
    right: 105px
}

.team-select-big-container {
    height: 451px
}

.team-select-big-container.left {
    direction: rtl
}

.team-select-big-container.left>* {
    direction: ltr
}

/*
 * Thumbnail button
 */

.thumbnail-button,
.thumbnail-button * {
    backface-visibility: hidden
}

.thumbnail-button figure {
    position: relative;
    display: block;
    width: 100%;
    color: #fff !important;
    font-size: 48px;
    line-height: 110px;
    transform: scale(0.9, 0.9);
    transition: transform 0.25s ease
}

.thumbnail-button figure:before {
    content: '';
    position: relative;
    display: block;
    padding-bottom: 64%
}

.thumbnail-button svg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%
}

.thumbnail-button img {
    position: absolute;
    top: 9.54%;
    left: 0;
    z-index: 2;
    width: 100%;
    height: auto
}

.thumbnail-button figcaption {
    overflow: hidden;
    position: absolute;
    top: 78.18%;
    left: 10%;
    right: 10%;
    z-index: 3;
    height: 60px;
    padding: 0 5px;
    font-size: 30px;
    text-align: center;
    line-height: 60px;
    white-space: nowrap
}

.thumbnail-button.focused figure {
    transform: scale(1, 1)
}

.thumbnail-button.focused svg .normal {
    fill: #fc0 !important
}

.thumbnail-button.disabled {
    opacity: 0.5
}

.thumbnail-button.locked.focused p.lock-info {
    opacity: 1
}

.thumbnail-button.locked.focused image.thumbnail {
    opacity: 0.333
}

.thumbnail-button.small figure:before {
    padding-bottom: 128%
}

.thumbnail-button.small p.lock-info {
    top: 30px;
    font-size: 22px
}

/*
 * Team
 */

.team .thumbnail {
    position: absolute;
    top: 9.54%;
    left: 0;
    z-index: 2;
    width: 100%;
    height: auto
}

.team figure:before {
    padding-bottom: 70%
}

.team figcaption {
    left: 10%;
    right: 10%;
    text-align: left
}

/*
 * Checkbox
 */

.checkbox {
    position: relative;
    display: inline-block;
    width: 415px;
    height: 95px;
    font-size: 24px;
    line-height: 95px
}

.checkbox svg {
    position: absolute;
    top: 0;
    left: 0
}

.checkbox .label {
    position: relative
}

.checkbox .label:after {
    content: ': off'
}

.checkbox.selected .label:after {
    content: ': on'
}

/*
 * Keys
 */

.key {
    position: relative;
    display: inline-block;
    max-width: 100%;
    height: 2em;
    margin: 0 0.5em;
    padding: 0 0.75em;
    border-radius: 0.25em;
    background: #fff;
    box-shadow: 0 0.125em 0 0.0625em rgba(0, 0, 0, 0.25);
    color: rgba(0, 0, 0, 0.5);
    font-family: 'Mikodacs', 'Arial', 'Helvetica', sans-serif !important;
    font-size: 1.6rem;
    text-shadow: none;
    line-height: 2em;
    text-align: center;
    transform: perspective(100px) rotateX(-10deg)
}

.key:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 0.25em;
    border: 0.125em solid rgba(255, 255, 255, 0.5);
    border-bottom: 0
}

.key {
    background: linear-gradient(top, #d6cdbe 0%, #f7f2ea 100%);
    background: linear-gradient(to bottom, #d6cdbe 0%, #f7f2ea 100%);
}

.key.big {
    font-size: 3.2rem
}

/*
 * Gamepad buttons
 */

.gamepad-button {
    overflow: hidden;
    position: relative;
    display: inline-block;
    width: 30px;
    height: 30px;
    border-radius: 15px;
    background: #4f4f4f;
    color: rgba(255, 255, 255, 0.5);
    text-shadow: none;
    line-height: 30px;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle
}

.gamepad-button:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 15px;
    border: 0.2rem solid #000;
    box-shadow: inset 0 -0.2rem 0 #000
}

.gamepad-button:before {
    display: inline-block;
    width: 100%;
    vertical-align: middle
}

.gamepad-button.auto-wide {
    width: auto;
    padding: 0 10px
}

.gamepad-button[data-map*="xbox-"] {
    width: 64px;
    height: 64px;
    background: transparent none no-repeat 0 0;
    background-size: contain;
    color: transparent
}

.gamepad-button[data-map*="xbox-"]:after {
    display: none
}

.gamepad-button.big[data-map*="xbox-"] {
    width: 128px;
    height: 128px
}

.gamepad-button[data-map="xbox-stick-left-up"] {
    background-image: url('../images/interface/gamepad/xbox_stick_left_up.png')
}

.gamepad-button[data-map="xbox-stick-left-down"] {
    background-image: url('../images/interface/gamepad/xbox_stick_left_down.png')
}

.gamepad-button[data-map="xbox-stick-left-left"] {
    background-image: url('../images/interface/gamepad/xbox_stick_left_left.png')
}

.gamepad-button[data-map="xbox-stick-left-right"] {
    background-image: url('../images/interface/gamepad/xbox_stick_left_right.png')
}

.gamepad-button[data-map="xbox-stick-left-button"] {
    background-image: url('../images/interface/gamepad/xbox_stick_left_button.png')
}

.gamepad-button[data-map="xbox-stick-right-up"] {
    background-image: url('../images/interface/gamepad/xbox_stick_right_up.png')
}

.gamepad-button[data-map="xbox-stick-right-down"] {
    background-image: url('../images/interface/gamepad/xbox_stick_right_down.png')
}

.gamepad-button[data-map="xbox-stick-right-left"] {
    background-image: url('../images/interface/gamepad/xbox_stick_right_left.png')
}

.gamepad-button[data-map="xbox-stick-right-right"] {
    background-image: url('../images/interface/gamepad/xbox_stick_right_right.png')
}

.gamepad-button[data-map="xbox-stick-right-button"] {
    background-image: url('../images/interface/gamepad/xbox_stick_right_button.png')
}

.gamepad-button[data-map="xbox-a"] {
    background-image: url('../images/interface/gamepad/xbox_a.png')
}

.gamepad-button[data-map="xbox-b"] {
    background-image: url('../images/interface/gamepad/xbox_b.png')
}

.gamepad-button[data-map="xbox-x"] {
    background-image: url('../images/interface/gamepad/xbox_x.png')
}

.gamepad-button[data-map="xbox-y"] {
    background-image: url('../images/interface/gamepad/xbox_y.png')
}

.gamepad-button[data-map="xbox-lb"] {
    background-image: url('../images/interface/gamepad/xbox_lb.png')
}

.gamepad-button[data-map="xbox-rb"] {
    background-image: url('../images/interface/gamepad/xbox_rb.png')
}

.gamepad-button[data-map="xbox-lt"] {
    background-image: url('../images/interface/gamepad/xbox_lt.png')
}

.gamepad-button[data-map="xbox-rt"] {
    background-image: url('../images/interface/gamepad/xbox_rt.png')
}

.gamepad-button[data-map="xbox-dpad-up"] {
    background-image: url('../images/interface/gamepad/xbox_d_pad_up.png')
}

.gamepad-button[data-map="xbox-dpad-down"] {
    background-image: url('../images/interface/gamepad/xbox_d_pad_down.png')
}

.gamepad-button[data-map="xbox-dpad-left"] {
    background-image: url('../images/interface/gamepad/xbox_d_pad_left.png')
}

.gamepad-button[data-map="xbox-dpad-right"] {
    background-image: url('../images/interface/gamepad/xbox_d_pad_right.png')
}

.gamepad-button[data-map="xbox-back"] {
    background-image: url('../images/interface/gamepad/xbox_back.png')
}

.gamepad-button[data-map="xbox-start"] {
    background-image: url('../images/interface/gamepad/xbox_start.png')
}

.gamepad-button[data-map*="xbox-stick-left-"]:not([data-map="xbox-stick-left-button"])+.gamepad-button[data-map*="xbox-stick-left-"]:not([data-map="xbox-stick-left-button"]) {
    margin-left: -64px
}

.gamepad-button[data-map*="xbox-stick-right-"]:not([data-map="xbox-stick-right-button"])+.gamepad-button[data-map*="xbox-stick-right-"]:not([data-map="xbox-stick-right-button"]) {
    margin-left: -64px
}

.gamepad-button[data-map*="xbox-dpad-"]+.gamepad-button[data-map*="xbox-dpad-"] {
    margin-left: -64px
}

/*
 * Game menu
 */

.in-game {
    padding: 0;
    background: transparent url('../images/interface/inner_shadow.png') repeat-x 0 100%
}

.in-game b {
    font-weight: 400
}

.in-game:not(.show-user-keys) .menu-footer {
    display: none
}

.in-game.hide-help-text .help-text {
    visibility: hidden
}

.user-key-group {
    position: relative;
    margin: 0 2px;
    border-radius: 10px 10px 0 0;
    background: rgba(0, 0, 0, 0.125);
    line-height: 64px
}

.user-key-group:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 5px;
    box-shadow: 0 0 2px #000
}

.user-key-group .connect {
    display: block;
    padding: 0 20px
}

.user-key-group .press-to-play {
    display: block;
    padding: 0 20px
}

.user-key-group .press-to-leave {
    display: none;
    padding: 0 20px
}

.user-key-group.connected .connect {
    display: none
}

.user-key-group:not(.connected) {
    opacity: 0.5
}

.user-key-group:not(.connected):after {
    opacity: 0.5
}

.user-key-group:not(.connected) .press-to-play,
.user-key-group.playing .press-to-play {
    display: none
}

.user-key-group.playing .press-to-leave {
    display: block
}

.user-key-group.fixed {
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    background: transparent !important
}

.user-key-group.fixed.playing {
    display: block
}

.user-key-group[data-user="1"]:after {
    background: #eaec26
}

.user-key-group[data-user="2"]:after {
    background: #44e6ff
}

.user-key-group[data-user="3"]:after {
    background: #fe653e
}

.user-key-group[data-user="4"]:after {
    background: #44ff00
}

.user-key-group[data-user="5"]:after {
    background: #ffffff
}

/*
 * Menu footer
 */

.menu-footer {
    position: absolute;
    bottom: 0;
    right: 0;
    padding: 1rem 3rem;
    line-height: 64px;
    transform-origin: 100% 100%
}

.menu-footer.centered {
    right: auto;
    left: 50%;
    width: 1920px;
    margin-left: -960px;
    transform-origin: 50% 100%
}

/*
 * Match (tournament graph)
 */

.match {
    position: relative;
    z-index: 1;
    width: 183px;
    height: 270px;
    margin: auto;
    padding: 130px 22px 0 13px
}

.match svg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2
}

.match .team-short {
    position: relative;
    z-index: 3;
    font-size: 1.25em;
    line-height: 1.1;
    text-transform: uppercase
}

.match .team-points {
    position: relative;
    z-index: 3;
    font-size: 1.25em;
    line-height: 1.1
}

.match .team-flag {
    position: relative;
    padding-bottom: 50%;
    background: #1b282e
}

.match .team-flag img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%
}

.match .team-x.hidden {
    display: none
}

.match .path-1 {
    top: 190px;
    left: -22px;
    z-index: 1
}

.match .path-2 {
    top: 190px;
    left: -116px;
    z-index: 1
}

.match.next svg:first-child g:first-child path:nth-child(3) {
    fill: #78b5cc !important
}

.final-round {
    margin-bottom: -25px
}

.final-match {
    position: absolute;
    bottom: 287px;
    left: 503px
}

.third-place {
    position: absolute;
    bottom: 97px;
    left: 803px
}

.podium-image {
    position: absolute;
    z-index: -1;
    width: 314px;
    background: #1b282e
}

.podium-image:before {
    content: '';
    display: block;
    width: 100%;
    padding-bottom: 50%
}

.podium-image img {
    position: absolute;
    top: 0;
    left: 0;
    max-width: 100%
}

.podium-image.first {
    left: 593px;
    bottom: 814px
}

.podium-image.second {
    left: 160px;
    bottom: 784px;
    width: 248px
}

.podium-image.third {
    left: 1104px;
    bottom: 752px;
    width: 255px
}

.podium-team-thumbnail {
    position: absolute;
    z-index: 1;
    width: 400px
}

.podium-team-thumbnail:before {
    content: '';
    display: block;
    width: 100%;
    padding-bottom: 50%
}

.podium-team-thumbnail img {
    position: absolute;
    top: 0;
    left: 0;
    max-width: 100%
}

.podium-team-thumbnail.first {
    left: 554px;
    bottom: 790px
}

.podium-team-thumbnail.second {
    left: 92px;
    bottom: 760px
}

.podium-team-thumbnail.third {
    left: 1029px;
    bottom: 729px
}

.podium-name {
    position: absolute;
    overflow: hidden;
    width: 380px;
    font-size: 28px;
    text-align: center;
    line-height: 46px;
    white-space: nowrap
}

.podium-name.first {
    bottom: 744px;
    left: 560px
}

.podium-name.second {
    bottom: 714px;
    left: 100px
}

.podium-name.third {
    bottom: 684px;
    left: 1037px
}

.tournament-header {
    position: relative;
    z-index: 2;
    width: 1461px;
    height: 81px;
    margin: 0 auto -20px
}

.tournament-header svg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}

.tournament-header h2 {
    position: relative;
    z-index: 2;
    line-height: 70px
}

.tournament .panel.large {
    padding-top: 160px
}

.tournament .panel.large>.clip {
    height: calc(100% - 132px);
    border-bottom: 2px solid #2b4751;
    box-shadow: 0 2px 0 0 rgba(255, 255, 255, 0.25)
}

.tournament .panel footer.buttons {
    margin: 0 -70px;
    padding: 20px 0
}

.tournament h1 {
    z-index: 2
}

.tournament .scrollable-content {
    z-index: 1;
    padding: 50px 0
}

.tournament .group-stage {
    padding: 0 20px
}

.tournament .group-stage .tournament-header {
    margin-bottom: 20px
}

.tournament-group {
    position: relative;
    margin: -50px 0;
    padding: 50px 0
}

.tournament-group table {
    width: 100%;
    box-shadow: 1px 1px 0 #1b282e, 10px 10px 0 rgba(0, 0, 0, 0.125)
}

.tournament-group table+table {
    margin-top: 20px
}

.tournament-group.next table {
    box-shadow: 0 0 0 5px #ccecf6, 1px 1px 0 #1b282e, 10px 10px 0 rgba(0, 0, 0, 0.125)
}

.tournament-group table tr.qualifying td {
    background: #78b5cc
}

.tournament-group table th {
    padding: 5px 5px;
    background: #2f4852;
    font-weight: 400
}

.tournament-group table td {
    width: 10%;
    padding: 5px 5px;
    border-top: 1px solid #365863;
    background: #6a9fb3;
    box-shadow: inset 0 2px 0 -1px rgba(255, 255, 255, 0.125)
}

.tournament-group table td.wide {
    width: 100%
}

.tournament-group table td.team-points {
    background: #4e7c8d
}

.tournament-group table tr.qualifying td.team-points {
    background: #588da0
}

.tournament-group .team-flag {
    width: 1%
}

.tournament-group .team-flag img {
    width: 30px;
    box-shadow: 0 0 0 1px #000;
    vertical-align: middle
}

.tournament-group .team-short {
    text-transform: uppercase
}

.tournament-group table.matches td {
    background: #2f4852
}

.tournament-group .next td {
    background: #ccecf6 !important
}

/*
 * Progress bar
 */

.progress-bar {
    position: relative;
    z-index: 1;
    padding: 0;
    text-indent: -999em;
    transform: perspective(800px) rotateX(-10deg)
}

.progress-bar:before {
    content: '';
    position: absolute;
    bottom: -5px;
    left: -5px;
    right: -5px;
    z-index: -1;
    height: 50px;
    background: rgba(0, 0, 0, 0.25)
}

.progress-bar:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    border: 3px solid rgba(255, 255, 255, 0.25);
    border-bottom: 0
}

.progress-bar span {
    display: block;
    max-width: 100%;
    box-shadow: inset 0 25px 0 rgba(255, 255, 255, 0.25)
}

.progress-bar>span {
    position: relative;
    z-index: 1;
    background: #39b8e5
}

.progress-bar>span>span {
    background: #f46666
}

/*
 * Team summary
 */

.score-big {
    position: relative
}

.score-big p {
    font-size: 50px
}

.score-big p.text-right {
    padding-right: 15px
}

.score-big p.text-left {
    padding-left: 15px
}

.team-summary-header {
    position: relative;
    z-index: 2;
    margin-top: -180px
}

.team-summary-header .score-big {
    top: 44px
}

.team-summary-header figure {
    position: relative;
    font-size: 40px
}

.team-summary-header figure svg {
    position: relative;
    z-index: 2
}

.team-summary-header figure img.ai {
    position: absolute;
    top: 0;
    z-index: 3
}

.team-summary-header figure figcaption {
    overflow: hidden;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
    margin-top: -10px;
    padding: 10px 20px;
    white-space: nowrap
}

.team-summary-header figure.red .base {
    fill: #f46666
}

.team-summary-header figure.blue .base {
    fill: #39b8e5
}

.team-summary-header .user-status {
    position: absolute;
    top: 230px;
    left: 50%;
    z-index: 1;
    padding-top: 0;
    transform: translateX(-50%)
}

.team-summary-header .user-status:after {
    content: '';
    position: absolute;
    top: -10px;
    right: -10px;
    bottom: -10px;
    left: -10px;
    z-index: -1;
    background: rgba(0, 0, 0, 0.25);
    transform: perspective(80px) rotateX(-10deg)
}

.team-summary-header figure.red img.ai {
    left: -50px
}

.team-summary-header figure.blue img.ai {
    right: -50px;
    transform: scaleX(-1)
}

.team-summary-grid {
    padding: 70px 50px 50px
}

.team-summary header {
    display: table;
    width: 100%
}

.team-summary header>p {
    display: table-cell;
    height: 100px;
    vertical-align: middle;
    text-align: center
}

.stat-widget {
    position: relative;
    z-index: 2;
    font-size: 22px;
    line-height: 50px
}

.stat-widget-title {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2;
    text-align: center
}

.stat-widget-red {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    padding: 0 10px
}

.stat-widget-blue {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    padding: 0 10px
}

/*
 * Help screen ("How To Play")
 */

.help .panel.large {
    padding-top: 160px
}

.help .panel.large>.clip {
    height: 100%
}

.help .panel footer.buttons {
    padding: 20px 0;
    border-top: 2px solid #2b4751;
    background: #578fa2
}

.help .scrollable-content {
    z-index: 1;
    padding: 50px 150px
}

.help .scrollable-content h2 {
    font-size: 4.8rem;
    font-weight: 400;
    text-align: center
}

.help .scrollable-content h3 {
    font-size: 4.2rem;
    font-weight: 400;
    text-align: center
}

.help .scrollable-content *+h3 {
    margin-top: 3em
}

.help .scrollable-content p {
    width: 50%;
    margin-left: auto;
    margin-right: auto;
    font-size: 2.2rem
}

.help .scrollable-content figure {
    display: block;
    width: 500px;
    margin-left: auto;
    margin-right: auto
}

.help .scrollable-content *+figure {
    margin-top: 2em
}

.help .scrollable-content figcaption p {
    width: auto;
    font-size: 2.6rem
}

/*
 * Global FPS meter
 */

#fps {
    position: absolute;
    bottom: 0;
    left: 0;
    overflow: hidden;
    display: none;
    width: 300px;
    height: 27px;
    padding: 0 6px;
    color: #fff;
    font-family: 'Consolas', monospace;
    text-shadow: 1px 1px 1px #000
}

#fps * {
    text-shadow: 1px 1px 1px #000
}

/*
 * User status icons in footer
 */

.user-status {
    padding-top: 3px
}

.user-status>li {
    width: 34px;
    height: 25px;
    background: transparent url('../images/users.png') no-repeat 0 0
}

.user-status>li.user-0 {
    background-position: 0 0
}

.user-status>li.user-1 {
    background-position: -34px 0
}

.user-status>li.user-2 {
    background-position: -68px 0
}

.user-status>li.user-3 {
    background-position: -102px 0
}

.user-status>li.user-4 {
    background-position: -136px 0
}

.user-status>li.user-0.online {
    background-position: 0 -25px
}

.user-status>li.user-1.online {
    background-position: -34px -25px
}

.user-status>li.user-2.online {
    background-position: -68px -25px
}

.user-status>li.user-3.online {
    background-position: -102px -25px
}

.user-status>li.user-4.online {
    background-position: -136px -25px
}

/*
 * Leaderboards
 */

#leaderboards.loading {
    position: relative;
    height: 600px
}

#leaderboards.loading>* {
    visibility: hidden
}

#leaderboards.loading:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border-radius: 14px;
    border-top: 4px solid #fff;
    border-right: 4px solid transparent;
    border-bottom: 4px solid #fff;
    border-left: 4px solid transparent;
    animation: rotation 0.5s linear 0 infinite
}

#leaderboards .user td {
    background: #ccecf6 !important
}

#leaderboards table.points td {
    padding-left: 10px;
    padding-right: 10px;
    white-space: nowrap
}

#leaderboards table.points img.fame-icon {
    height: 20px;
    vertical-align: -3px
}

#leaderboards table.points img.league {
    height: 24px;
    width: auto;
    margin-bottom: -3px;
    vertical-align: top
}

#leaderboards table.points img.avatar {
    height: 24px;
    width: auto;
    margin-right: 6px;
    box-shadow: 0 1px 3px #000;
    vertical-align: top
}

#leaderboards table.points i.name {
    overflow: hidden;
    display: inline-block;
    width: 230px;
    vertical-align: top;
    font-style: normal
}

@keyframes rotation {
    from {
        transform: rotate(0deg)
    }
    to {
        transform: rotate(360deg)
    }
}

/*
 * Fame widget
 */

.fame-widget {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 1rem 3rem 1rem 24rem;
    font-size: 30px;
    line-height: 64px;
    transform-origin: 0% 100%;
    white-space: nowrap
}

.fame-widget img {
    display: inline-block;
    margin-top: -7px;
    vertical-align: middle
}

.fame-widget i.league {
    margin-left: 15px;
    font-style: normal
}

.fame-widget i.league:before {
    content: '';
    display: inline-block;
    width: 40px;
    height: 40px;
    margin-right: 10px;
    background: transparent none no-repeat 50% 50%;
    vertical-align: -10px
}

.fame-widget i.league.platinum:before {
    background-image: url('../images/interface/challenge_platinum.png')
}

.fame-widget i.league.gold:before {
    background-image: url('../images/interface/challenge_gold.png')
}

.fame-widget i.league.silver:before {
    background-image: url('../images/interface/challenge_silver.png')
}

.fame-widget i.league.bronze:before {
    background-image: url('../images/interface/challenge_bronze.png')
}

.fame-widget .logo {
    position: absolute;
    bottom: 2rem;
    left: 3rem
}

/*
 * Fame summary
 */

.fame-summary {
    position: relative;
    z-index: 1;
    padding: 20px;
    font-size: 26px;
    text-align: right;
    direction: rtl
}

.fame-summary:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    background: rgba(0, 0, 0, 0.25);
    transform: perspective(800px) rotateX(-10deg)
}

.fame-summary table {
    direction: ltr
}

.fame-summary table tr :nth-child(2) {
    padding: 0 20px
}

.fame-summary th {
    font-size: 30px
}

.fame-summary img {
    vertical-align: -8px
}

/*
 * League info
 */

.league-info {
    position: relative;
    z-index: 2;
    padding: 30px 30px 30px 70px;
    text-align: left
}

.league-info:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    background: rgba(0, 0, 0, 0.5);
    transform: perspective(800px) rotateX(-5deg)
}

.league-info.user-league:before {
    border: 10px solid #ccecf6
}

.league-info figure {
    float: left;
    margin-left: -50px;
    margin-top: -7px
}

.league-info h2 {
    margin: 0;
    line-height: 1
}

.league-info table {
    width: 100%;
    text-align: right
}

.league-info table th {
    width: 100%;
    padding-right: 20px
}

.league-info table td {
    padding-left: 5px
}

.league-info table img {
    height: 20px !important;
    width: auto;
    vertical-align: -3px
}

/*
 * Media
 */

.media {
    position: relative;
    display: block;
    width: 1024px;
    margin: auto
}

.media:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    border: 10px solid rgba(255, 255, 255, 0.2);
    transform-origin: 50% 0;
    transform: perspective(1000px) rotateX(-2deg)
}

.media:after {
    content: '';
    position: absolute;
    top: 5px;
    left: -5px;
    right: -5px;
    bottom: -10px;
    z-index: 1;
    background: rgba(0, 0, 0, 0.2);
    transform-origin: 50% 0;
    transform: perspective(1000px) rotateX(-2deg)
}

.media img,
.media video {
    display: block;
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    background: #000;
    transform-origin: 50% 0;
    transform: perspective(1000px) rotateX(-2deg)
}

.media.focused:before {
    border: 10px solid #f0bf32
}

.game-slider {
    margin-bottom: 50px
}

.game-slider .grid>* {
    width: 1124px
}

.game-slider .grid>:first-child {
    padding-left: 248px;
    padding-right: 50px;
    width: 1322px
}

.game-slider .grid>:last-child {
    padding-right: 248px;
    padding-left: 50px;
    width: 1322px
}