<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@import url('fonts.css');

html {
    font-size: 20px;
    min-height: 100%;
    position: relative;
}

body {
    background: #2b2b2b;
    color: #fff;
    font: 20px "Lato", sans-serif;
    margin-bottom: 20px;
    min-height: 100%;
}

.body-with-footer {
    margin-bottom: 180px;
}

ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
}

.row.no-gutter {
    margin-right: 0;
    margin-left: 0;
}
.row.no-gutter &gt; [class^="col-"],
.row.no-gutter &gt; [class*=" col-"] {
    padding-right: 0;
    padding-left: 0;
}

abbr[title] {
    text-decoration: none;
    cursor: help;
}

a, .link {
    color: #8BC34A;
    cursor: pointer;
}

a:hover, a:focus, a:active,
.link:hover, .link:focus, .link:active {
    color: #689F38;
    cursor: pointer;
    text-decoration: none;
}

hr {
    border-top: 1px solid #3c3c3c;
}

img.responsive {
    width: 100%;
}

.modal-content {
    background-color: #353535;
}

.modal-backdrop.in {
    opacity: 0.2;
}

.modal.in {
    background-color: rgba(0, 0, 0, 0.5);
}

body.modal-open {
    overflow: visible;
    padding-right: 0 !important;
}

.clearfix {
    clear: both;
}

.pull-left {
    float: left;
}

.pull-right {
    float: right;
}

.text-right {
    text-align: right !important;
}

.text-center {
    text-align: center !important;
}

.text-divider {
    text-align: center;
    padding-bottom: 10px;
}

.btn {
    position: relative;
    text-align: center;
    display: inline-block;
    font-size: 1em;
    font-weight: bold;
    color: #222;
    padding: .5em;
    background: #CDDC39;
    margin-bottom: calc(10px + 3px); /* 10px plus box-shadow */
    border-radius: 3px;
    border: 1px solid #827717;
    box-shadow: 0 3px #827717;
    text-transform: uppercase;
    outline: none;
}

.btn .sub-text {
    display: block;
    font-size: 0.5em;
}

.btn:hover,
.btn:focus,
.btn:active {
    text-decoration: none;
    color: #222;
    background: #C0CA33;
}

.btn-primary:active {
    top: 3px;
    box-shadow: none;
}

.btn-primary::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: -3px;
    right: 0;
}

.btn-primary:active::after {
    top: -3.5px;
}

.btn-default {
    box-shadow: none;
    background: #353535;
    border-color: #404040;
    color: #d0d0d0;
    font-size: 16px;
    padding: 8px 10px;
    display: inline-block;
    vertical-align: middle;
    font-weight: normal;
    text-transform: none;
    margin-bottom: 0;
    cursor: pointer;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.btn-default:hover,
.btn-default:focus,
.btn-default:active {
    background: #2b2b2b;
    color: #d0d0d0;
}

.btn-secondary {
    color: #fff;
    background: #0E8AE0;
    border: 1px solid #095C96;
    box-shadow: 0 3px #095C96;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active {
    color: #fff;
    background: #0277BD;
}

.btn-secondary:active {
    top: 3px;
    box-shadow: none;
}

.btn-secondary::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: -3px;
    right: 0;
}

.btn-secondary:active::after {
    top: -3.5px;
}

.btn[disabled] {
    cursor: not-allowed;
}

.btn.btn-tiny {
    font-size: 12px;
}

.btn-regions {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
    width: auto !important;
}

.table {
    width: 100%;
}

.table.table-teams {
    border: 1px solid black;
}

.table th {
    text-align: left;
    font-weight: bold;
}

.table th,
.table td {
    padding: 0.2em 0.5em;
}

.table.table-teams thead {
    background: #4c4c4c;
    color: #fff;
}

.table thead {
    background: #8BC34A;
    color: #232323;
}

.table tbody tr {
    background: #353535;
}

.table.table-hidden tr {
    background: transparent;
}

.table.table-teams tr {
    border-bottom: 1px solid black;
}

.table.table-teams .red-team {
    background: #D32F2F;
}

.table.table-teams .blue-team {
    background: #1976D2;
}

.table.table-teams .red-team-text {
    color: #FF2F2F;
}

.table.table-teams .blue-team-text {
    color: #1976FF;
}

.table.table-teams tr a {
    color: #fff;
    text-decoration: underline;
}

.table.table-teams .nogrow {
    width: 1px;
    white-space: nowrap;
}

.table.table-stripped thead tr {
    border: 1px solid #212121;
}

.table.table-stripped tbody tr {
    border: 1px solid #212121;
    border-bottom: 1px solid #2D2D2D;
    border-top: none;
}

.table.table-stripped tbody tr:last-child {
    border-bottom: 1px solid #212121;
}

.table.table-stripped tbody tr:nth-child(2n) {
    background: #404040;
}

.table.table-stripped tbody tr.foundPlay {
    background: #4a6b24;
}

.table.table-stripped tbody tr.foundSpectate {
    background: #979024;
}

.form-control {
    color: #fff;
    background: #212121;
    border-color: #5f5f5f;
    font-size: 16px;
}

.form-control:focus {
    border-color: #8BC34A;
    outline: 0;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(139, 195, 74, 0.6);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(139, 195, 74, 0.6);
}

.form-control[type="file"] {
    display: inline;
    width: auto;
}

.form-control[disabled] {
    background-color: inherit;
    color: #cccccc;
}

.form-control.with-copy-helper {
    display: inline-block;
    width: calc(100% - 1em - 1ch);
}

.bootstrap-select .no-results {
    background: inherit;
}

.bootstrap-select &gt; .btn-default {
    color: #fff;
    background: #212121;
    border-color: #5f5f5f;
    font-size: 16px;
}

.group .bootstrap-select &gt; .dropdown-toggle.bs-placeholder {
    color: inherit;

    &amp;:hover, &amp;:focus, &amp;:active {
        color: inherit;
    }
}

span[data-copyhelper] {
    display: inline-block;
    width: 1em;
}

.bullet-list {
    list-style-type: disc;
    margin-left: 20px;
}

.badge {
    display: inline-block;
    min-width: 10px;
    padding: 3px 7px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    background-color: #777;
    border-radius: 10px;
}

.badge-primary {
    background: #8BC34A;
}

.msg {
    padding: 5px 10px;
    display: block;
    border: 1px solid #404040;
    background: #353535;
    color: #fff;
    border-radius: 3px;
}

.msg.msg-warning {
    color: #FFA9A2;
    background: #6B2121;
    border-color: #BD0E0B;
}

[v-cloak] {
    display: none;
}

.msg.msg-info {
    color: #ffffff;
    background: #979024;
    border-color: #84a81f;
}

.msg.msg-notice {
    color: #ffffff;
    background: #095C96;
    border-color: #222222;
    padding-left: 20px;
    padding-right: 20px;
}

.msg.msg-success {
    color: #FFF;
    background: #4C6D25;
    border-color: #8BC34A;
}

.msg.msg-release-notes {
    color: #ffffff;
    background: #444444;
    border-color: #222222;
    padding-left: 10px;
    padding-right: 10px;
    text-align: left;
}

.msg.msg-release-notes h4 {
    margin-bottom: 0;
}

.msg.msg-release-notes ul {
    padding: revert;
    list-style: revert;
    margin-top: 10px;
    margin-bottom: 20px;
}

.tab-list {
    margin-bottom: 20px;
    border-bottom: 1px solid #3C3C3C;
}

.tab-list li {
    float: left;
    padding: 5px 10px;
    margin: 0;
    margin-bottom: -1px;
    margin-right: 2px;
}

.tab-list li a {
    cursor: pointer;
}

.tab-list li.active {
    border: 1px solid #3C3C3C;
    border-bottom-color: transparent;
    border-radius: 3px 3px 0 0;
    background-color: #2b2b2b;
}

.tab-list:after {
    content: "";
    display: block;
    clear: both;
}

.tab-pane {
    display: none;
}

.tab-pane.active {
    display: block;
}

.card {
    padding: 1rem;
    border: 1px solid #191919;
    background-color: #2B2B2B;
    box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
    margin-bottom: 10px;
}

.group-header-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.group-header-title .pull-left.group-name {
    flex-grow: 1;
    min-width: 150px;
    max-width: calc(100% - 300px);
    margin-right: 10px;
}

@media (max-width: 768px) {
    .group-header-title {
        flex-direction: column;
        align-items: flex-start;
    }

    .group-header-title .pull-left.group-name {
        max-width: 100%;
        margin-bottom: 10px;
        margin-right: 0;
    }

    .group-header-title .group-exit {
        align-self: flex-end;
    }
}

.header {
    padding-top: 20px;
    padding-bottom: 40px;
    background: #2b2b2b url('../images/background_cropped.jpg') no-repeat top;
    position: relative;
    margin-bottom: 40px;
    border-bottom: 1px solid #191919;
    background-size: cover;
}

.header .card {
    background-color: rgba(42,42,42,0.75);
    border: 1px solid #333;
    border-radius: 3px;
}

.header .header-top {
    position: relative;
}

.header .header-top .server-stats {
    display: inline-block;
    font-size: 14px;
    padding: 10px;
    margin-left: 20px;
    background-color: rgba(53, 53, 53, 0.71);
    border-radius: 3px;
}

.header .header-top .join-ranked {
    display: inline-block;
    font-size: 14px;
    padding: 10px;
    max-width: 170px;
    margin-left: 20px;
    white-space: normal;
    background-color: rgba(53, 53, 53, 0.71);
    border-radius: 3px;
    text-align: center;
    border-color: #AF3AAF;
    animation: pulseBorder 3s infinite;
    visibility: hidden;
}

.header .header-top .joiner-status {
    display: inline-block;
    font-size: 14px;
    padding: 10px;
    max-width: 170px;
    margin-left: 20px;
    white-space: normal;
    background-color: rgba(53, 53, 53, 0.71);
    border-radius: 3px;
    text-align: center;
}

.header .header-top .joiner-status .joiner-message {
    margin-bottom: 5px;
}

.header .header-top .popupPlayNow {
    font-size: 1.2em;
    color: #222;
    background-color: #CDDC39;
    margin: 0px;
    margin-top: 3px;
    padding: 3px;
}

.header .header-top .popupPlayNowSmall {
    font-size: 0.8em;
    color: #222;
    background-color: #CDDC39;
    margin: 0px;
    margin-top: 3px;
    padding: 3px;
}


.grow {
    height: 20px;
    width: 100%;
    float: left;
    position: relative;
    transition: height 0.5s;
    -webkit-transition: height 0.5s;
    overflow: hidden;
    }
    .grow:hover {
    height: 60px;
    }
    .grow-mini {
    height: 20px;
    width: 100%;
    float: left;
    position: relative;
    transition: height 0.5s;
    -webkit-transition: height 0.5s;
    overflow: hidden;
    }
    .grow-mini:hover {
    height: 32px;
    }

.header .header-top .flair-log {
    display: inline-block;
    font-size: 14px;
    max-width: calc(100% - 145px);
    max-height: 84px;
}

.header h1 {
    max-width: 342px;
    display: inline-block;
}

.homepage-layout .header {
    padding-bottom: 20px;
}

.header .header-home h1 {
    display: block;
    margin-bottom: 0;
    margin: 0 auto;
    max-width: initial;
}

.header .header-home h1.logo img {
    width: auto;
    max-width: 100%;
}

.header h1.logo img {
    width: 100%;
}

.header .nav {
    font-size: .7em;
    position: absolute;
    bottom: -1px;
}

.header .nav ul {
}

.header .nav li {
    display: inline-block;
    margin-right: 10px;
}

.header .nav li.nav-mobile {
    display: none;
}

.header .nav li:last-child {
    margin-right: 0;
}


.header .nav a {
    color: #e0e0e0;
    padding: 10px 12px;
    text-transform: uppercase;
    position: relative;
    display: block;
}

.header .nav a:hover {
    color: #fff;
    text-decoration: none;
}

.header .nav .active-tab a {
    background-color: #2b2b2b;
    border-radius: 3px 3px 0 0;
    font-weight: bold;
    color: #8BC34A;
    border: 1px solid #191919;
    border-bottom: none;
}

.header .nav .group-indicator {
    font-size: 1.2em;
    color: #8BC34A;
    display: inline-block;
    line-height: 14px;
}

.header .nav .group-indicator.js-animate {
    animation-delay: 3s;
    animation-duration: 0.8s;
    animation-iteration-count: 1;
    animation-name: bounce;
    transform-origin: center bottom;
}

.header .nav .active-tab .group-indicator {
    display: none;
}

.header .nav .stream-indicator {
    font-size: 1.2em;
    color: #ff0000;
    display: inline-block;
    line-height: 14px;
}

.header .nav .stream-indicator.js-animate {
    animation-delay: 3s;
    animation-duration: 0.8s;
    animation-iteration-count: 1;
    animation-name: bounce;
    transform-origin: center bottom;
}

.header .nav .active-tab .stream-indicator {
    display: none;
}

.signup-indicator {
    font-size: 1.2em;
    color: #8BC34A;
    position: absolute;
    left: 0;
}

.signup-indicator.js-animate {
    animation-delay: 3s;
    animation-duration: 0.8s;
    animation-iteration-count: 1;
    animation-name: bounce;
    transform-origin: center bottom;
}

.signup-info {
    background: #353535;
    border: 1px solid #404040;
    border-radius: 3px;
    padding: 8px 10px;
    margin-bottom: 20px;
}

.userbar {
    font-size: .8rem;
    vertical-align: bottom;
    display: inline-block;
}

.userbar .btn-default {
    display: block;
}

.userbar .btn-default {
    font-size: 14px;

}

.userbar td {
    vertical-align: top;
}

.userbar td.admin {
    position: relative;
}

.userbar td.admin div {
    position: absolute;
    top: 0;
    right: 10px;
    height: 90px;
    display: flex;
    flex-flow: column wrap-reverse;
    column-gap: 5px;
}

@-moz-keyframes bounce {
    from, 20%, 53%, 80%, to {
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    transform: translate3d(0,0,0);
    }

    40%, 43% {
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    transform: translate3d(0, -15px, 0);
    }

    70% {
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    transform: translate3d(0, -8px, 0);
    }

    90% {
    transform: translate3d(0,-2px,0);
    }
}

@-webkit-keyframes bounce {
    from, 20%, 53%, 80%, to {
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    transform: translate3d(0,0,0);
    }

    40%, 43% {
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    transform: translate3d(0, -15px, 0);
    }

    70% {
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    transform: translate3d(0, -8px, 0);
    }

    90% {
    transform: translate3d(0,-2px,0);
    }
}

@keyframes bounce {
    from, 20%, 53%, 80%, to {
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    transform: translate3d(0,0,0);
    }

    40%, 43% {
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    transform: translate3d(0, -15px, 0);
    }

    70% {
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    transform: translate3d(0, -8px, 0);
    }

    90% {
    transform: translate3d(0,-2px,0);
    }
}

.main-menu li:first-child {
}

.main-menu .server {
    font-weight: bold;
    margin-top: 20px;
    margin-bottom: 10px;
}

.header-title {
    color: #8BC34A;
    margin: 0;
    margin-bottom: 20px;
    border-bottom: 2px solid #1b1b1b;
}


.main-block {
    margin-bottom: 40px;
}

.main-block .home-error {
    margin-bottom: 20px;
}

.home .img-responsive {
    margin: 0 auto;
}

.play-now.block {
    margin-top: 40px;
}

.play-now .btn {
    font-size: 22px;
    padding: .5em 1.5em;
}

.block {
    margin-bottom: 30px;
}

#nosound a {
    color: #CDDC39;
}

#nosound a:hover,
#nosound a:focus,
#nosound a:active {
    color: #C0CA33;
}

.game-controls-block {
    max-width: 600px;
    margin: auto;
    margin-bottom: 20px;
    border: 1px outset #aaa;
    border-radius: 3px;
    box-shadow: 5px 5px 10px 1px #000000;
    padding: 20px;
}

.controls img {
    vertical-align: bottom;
    margin-bottom: 5px;
    max-width: 100%;
}

.controls .key {
    display: inline-block;
    text-align: center;
    margin-right: 1rem;
    font-size: 16px;
}

.controls-2 {
    margin-top: 20px;
    width: 100%;
    display: inline-flex;
    justify-content: center;
}

.controls-2 .btn-default {
    font-size: 14px;
}

#newUserModal h3 {
    border-bottom: none;
}

#newUserArrow {
    position: absolute;
    top: 50%;
    width: 100%;
    color: white;
    z-index: 9999;
    font-size: 150px;
    text-align: center;
    filter:
        drop-shadow(3px 3px 5px rgba(204,220,57,0.5))
        drop-shadow(-3px 3px 5px rgba(204,220,57,0.5))
        drop-shadow(3px -3px 5px rgba(204,220,57,0.5))
        drop-shadow(-3px -3px 5px rgba(204,220,57,0.5));
}

@media (min-width: 768px) {
    #newReleaseModal .modal-dialog {
        width: 75%;
    }
}

.news li {
    margin-bottom: 20px;
}

.news-item-new {
    background: #0e8ae0;
    padding: 2px;
    font-size: 12px;
    color: white;
}

.news .news-item-detail,
.chat .chat-item-detail {
    font-size: 16px;
}

#playstore-badge {
    max-width: 40%;
    max-height: 40%;
    margin-top: -20px;
    margin-left: -20px;
}

.groups .groups-item-detail {
    font-size: 16px;
}

.server {
    font-weight: bold;
}

.server .btn {
    margin: 20px 0;
}

.server .stats {
    background: #353535;
    padding: 10px;
    font-size: 16px;
    font-weight: normal;
    border-radius: 3px;
}

.server .stats li {
    margin-bottom: 10px;
}

.server .stats li:last-child {
    margin: 0;
}


.donate .donor-flair-list,
.donations .donor-flair-list,
.leaderboard .rolling-flair-list {
    background-color: #353535;
    padding: 10px;
    border-radius: 3px;
    font-size: 16px;
}

.donate .donor-flair-list {
    display: inline-block;
}

.donate .donor-flair-list .flair,
.donations .donor-flair-list .flair {
    margin-right: 10px;
}

.donations .callout {
    text-align: center;
}

.donations .callout .btn {
    margin-top: 10px;
    width: 100%;
}

.donation-bar {
    height: 25px;
    position: relative;
    margin: 20px auto;
    padding: 2px;
    background: #353535;
    -webkit-border-radius: 20px;
         -moz-border-radius: 20px;
            border-radius: 20px;
}

.donation-bar .progress-container {
    height: 100%;
    position: relative;
}

.donation-bar .progress {
    position: absolute;
    display: block;
    text-align: center;
    font-size: 14px;
    font-weight: bold;
    line-height: 21px;
    height: 100%;
    width: 100%;
    background-color: #0077CA;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
    -webkit-animation: donation 1.5s ease-in-out;
         -moz-animation: donation 1.5s ease-in-out;
            animation: donation 1.5s ease-in-out;
}

@-moz-keyframes donation {
    0% {
        width: 0%;
     }
     100% {
        width: 100%;
    }
}

@-webkit-keyframes donation {
    0% {
         width: 0%;
    }
    100% {
         width: 100%;
    }
}


.donations .message {
    display: none;
    color: #fff;
}

.donations.complete.js-complete .message {
    display: inline;
}

.joiner-content {
    height: 38vh;
    max-height: 500px;
    margin-left: 10px;
    padding-bottom: 5vh;
}

.joiner-map-group {
    position: relative;
    width: 100%;
    height: 100%;
}

.joiner-map-group .player-list {
    width: 100%;
    height: 100%;
    margin-bottom: 7%;
    position: relative;
    z-index: 2;
}

.joiner-map-group .group-chat {
    width: 60%;
    height: 70%;
    z-index: 2;
    border: 1px solid rgba(211, 211, 211, 0.2);
    background-color: rgba(211, 211, 211, 0.02);
    border-radius: 3px;
}

.joiner-map-group .joiner-map {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.footer {
    position: absolute;
    bottom: 0;
    left: 0;
    margin-top: 40px;
    padding-top: 20px;
    height: 140px;
    width: 100%;
    background: #333;
    font-size: .8em;
    border-top: 1px solid #202020;
}

.footer .copyright {
    font-size: 14px;
    margin-left: 8px;
}

.footer .header-title {
    border-color: #222;
    margin-bottom: 10px;
}

.footer li a {
    line-height: 20px;
}

.flairpage table {
    table-layout: fixed;
}

.flairpage th {
    position: sticky;
    top: -1px;
    background-color:#8BC34A;
}

.flairpage td, .flairpage th {
    vertical-align: top;
    width: auto;
}

.flair {
    width: 16px;
    height: 16px;
    display: inline-block;
    background-image: url(../images/flair.png);
    background-repeat: no-repeat;
}

.flair.special-bitcoin {
    background-position: -128px -16px;
}

.flair.special-supporter1 {
    background-position: -16px -16px;
}

.flair.special-supporter2 {
    background-position: -48px -16px;
}

.flair.special-supporter3 {
    background-position: -64px -16px;
}

.flair.special-supporter4 {
    background-position: -112px -16px;
    -webkit-animation-name: spin;
    -webkit-animation-duration: 4000ms;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-name: spin;
    -moz-animation-duration: 4000ms;
    -moz-animation-iteration-count: infinite;
    -moz-animation-timing-function: linear;
    animation-name: spin;
    animation-duration: 4000ms;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

.flair.special-supporter5 {
    background-position: -192px 0px;
    -webkit-animation-name: spin-scale;
    -webkit-animation-duration: 5000ms;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -webkit-transform-origin: center;
    -moz-animation-name: spin-scale;
    -moz-animation-duration: 5000ms;
    -moz-animation-iteration-count: infinite;
    -moz-animation-timing-function: linear;
    -moz-transform-origin: center;
    animation-name: spin-scale;
    animation-duration: 5000ms;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
    transform-origin: center;
}

.flair.special-supporter6 {
    background-position: -192px -16px;
    -webkit-animation-name: spin-rainbow;
    -webkit-animation-duration: 3300ms;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-name: spin-rainbow;
    -moz-animation-duration: 3300ms;
    -moz-animation-iteration-count: infinite;
    -moz-animation-timing-function: linear;
    animation-name: spin-rainbow;
    animation-duration: 3300ms;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

.flair.special-supporter7 {
    background-position: -192px -48px;
    -webkit-animation-name: shake-popper;
    -webkit-animation-duration: 500ms;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-name: shake-popper;
    -moz-animation-duration: 500ms;
    -moz-animation-iteration-count: infinite;
    -moz-animation-timing-function: linear;
    animation-name: shake-popper;
    animation-duration: 500ms;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

.flair.special-eventmaster {
    background-position: -64px -176px;
    -webkit-animation-name: shake-popper;
    -webkit-animation-duration: 525ms;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-name: shake-popper;
    -moz-animation-duration: 525ms;
    -moz-animation-iteration-count: infinite;
    -moz-animation-timing-function: linear;
    animation-name: shake-popper;
    animation-duration: 525ms;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

.flair.special-flairz1 {
    background-position: 0px -32px;
    -webkit-animation-name: shake-popper;
    -webkit-animation-duration: 450ms;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-name: shake-popper;
    -moz-animation-duration: 450ms;
    -moz-animation-iteration-count: infinite;
    -moz-animation-timing-function: linear;
    animation-name: shake-popper;
    animation-duration: 450ms;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

.flair.special-flairz2 {
    background-position: -112px -32px;
    -webkit-animation-name: shake-popper;
    -webkit-animation-duration: 425ms;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-name: shake-popper;
    -moz-animation-duration: 425ms;
    -moz-animation-iteration-count: infinite;
    -moz-animation-timing-function: linear;
    animation-name: shake-popper;
    animation-duration: 425ms;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

@-moz-keyframes spin {
    from { -moz-transform: rotate(0deg); }
    to { -moz-transform: rotate(360deg); }
}

@-webkit-keyframes spin {
    from { -webkit-transform: rotate(0deg); }
    to { -webkit-transform: rotate(360deg); }
}

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

@-moz-keyframes spin-rainbow {
    0% { -moz-transform: rotate(0deg); -moz-filter: brightness(0.5) sepia(1) saturate(1000%) hue-rotate(0deg); }
    100% { -moz-transform: rotate(360deg); -moz-filter: brightness(0.5) sepia(1) saturate(1000%) hue-rotate(360deg); }
}

@-webkit-keyframes spin-rainbow {
    0% { -webkit-transform: rotate(0deg); -webkit-filter: brightness(0.5) sepia(1) saturate(1000%) hue-rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); -webkit-filter: brightness(0.5) sepia(1) saturate(1000%) hue-rotate(360deg); }
}

@keyframes spin-rainbow {
    0% { transform: rotate(0deg); filter: brightness(0.5) sepia(1) saturate(1000%) hue-rotate(0deg); }
    100% { transform: rotate(360deg); filter: brightness(0.5) sepia(1) saturate(1000%) hue-rotate(360deg); }
}

@-moz-keyframes spin-scale {
    50% { -moz-transform: rotate(360deg) scale(.6); }
    100% { -moz-transform: rotate(720deg) scale(1); }
}

@-webkit-keyframes spin-scale {
    50% { -webkit-transform: rotate(360deg) scale(.6); }
    100% { -webkit-transform: rotate(720deg) scale(1); }
}

@keyframes spin-scale {
    50% { transform: rotate(360deg) scale(.6); }
    100% { transform: rotate(720deg) scale(1); }
}

@-moz-keyframes shake-popper {
    0% { transform: rotate(0deg); }
    25% { transform: rotate(-5deg); }
    50% { transform: rotate(5deg); }
    100% { transform: rotate(0deg); }
}

@-webkit-keyframes shake-popper {
    0% { transform: rotate(0deg); }
    25% { transform: rotate(-5deg); }
    50% { transform: rotate(5deg); }
    100% { transform: rotate(0deg); }
}

@keyframes shake-popper {
    0% { transform: rotate(0deg); }
    25% { transform: rotate(-5deg); }
    50% { transform: rotate(5deg); }
    100% { transform: rotate(0deg); }
}

.leaderboard .leaderboard-bottom-ads,
.leaderboard .leaderboard-side-ads {
    margin-top: 20px;
}

.leaderboard .flair {
    margin-right: 5px;
}

.leaderboard-menu ul {
    border-right: 2px solid #8BC34A;
}

.leaderboard-menu li {
    padding: 20px 5px;
    font-size: 24px;
    font-weight: bold;
    background: #353535;
    border-bottom: 1px solid #2b2b2b;
    text-align: center;
    cursor: pointer;
}

.leaderboard-menu li:hover {
    color: #8BC34A;
}

.leaderboard-menu li.active {
    background: #8BC34A;
    color: #232323;
}

.leaderboard-menu li.active:hover {
    color: #232323;
}

.leaderboard-menu li:last-child {
    border-bottom: none;
}

.leaderboard-content .leaderboard {
    display: none;
}

.leaderboard-content .leaderboard.active {
    display: block;
}

.mark-pass {
    color: #8BC34A;
    font-weight: bold;

    &amp;:empty::after {
        content: "\2713";
    }
}

.mark-fail {
    color: #979024;
    font-weight: bold;

    &amp;:empty::after {
        content: "\2717";
    }
}

.profile .btn-admin {
    color: #fff;
    background: #0E8AE0;
    border: 1px solid #095C96;
}

.profile .btn-admin:hover,
.profile .btn-admin:focus,
.profile .btn-admin:active {
    color: #fff;
    background: #0277BD;
}

.profile .degree {
    font-size: 50%;
    top: -1em;
    color: #fff;
}

.profile .profile-detail {
    background: #353535;
    border-radius: 3px;
    border: 1px solid #3C3C3C;
}

.profile .profile-admin-block {
    background: #353545;
    border-radius: 3px;
    border: 1px solid #3C3C3C;
}

.profile-admin h3 {
    color: #0E8AE0;
}

.profile .profile-flair,
.profile .profile-admin {
    margin-top: 20px;
}

.profile-admin td {
    vertical-align: top;
}

.profile-admin input {
    background: transparent;
}

.profile .flair-list:after {
    content: " ";
    display: block;
    clear: both;
}

.profile .flair-list li {
    float: left;
    margin: 0;
    padding-right: 2px;
    padding-bottom: 2px;
    position: relative;
}

.profile .flair-list .flair-item {
    border-radius: 3px;
    background: #383838;
    height: 32px;
    line-height: 16px;
    text-align: center;
    padding: 7px 8px 8px;
    border: 1px solid transparent;
    position: relative;
}

.profile .flair-list li .flair-unavailable .flair {
    opacity: 0.3;
}

.profile .flair-list .flair-item.empty {
    width: 33.25px;
}

.profile .flair-list .flair-item.selectable {
    cursor: pointer;
}

.profile .flair-list .flair-item:hover {
    background: #404040;
}

.profile .flair-list li.bundle &gt; div:first-child::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border: 3px double #4b4b4b;
    border-radius: 3px;
}

.profile .flair-list li.bundle:hover &gt; div:first-child::before {
    border: none;
}

.profile .flair-list li.bundle:hover .bundle-flair {
    visibility: visible;
}

.profile .flair-list .bundle-flair {
    visibility: hidden;
    display: flex;
    padding-right: 2px;
    padding-bottom: 2px;
    z-index: 2;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background: #404040;
    border: 3px solid #353535;
}

.profile .flair-list .bundle-flair .flair-item {
    border-radius: 3px;
    background: #383838;
    border: 1px solid transparent;
    margin: 2px;
}

.profile .flair-list .bundle-flair .flair-item:hover {
    background: #404040;
}


.profile .flair-list .flair-item.selected {
    border-color: #8BC34A;
}

.profile .flair-list .flair-item.random-selected {
    border-color: #AF3AAF;
}

@keyframes pulseBorder {
    0%, 20%, 90%, 100% {
        opacity: 1;
        box-shadow: 0 0 0 1px rgba(175, 58, 175, 1);
    }
    50% {
        opacity: 0.8;
        box-shadow: 0 0 0 1px rgba(175, 58, 175, 0.5);
    }
}

@keyframes pulseText {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.2);
    }
}

.profile .flair-list .flair-item.random-pulse {
    border-color: #AF3AAF;
    animation: pulseBorder 1.5s infinite;
}

.profile .flair-list .random-selector {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 32px;
    width: 34px;
}

.profile .flair-list .random-selector &gt; div:first-child {
    display: flex;
    justify-content: center;
    text-align: center;
    font-size: 9px;
    line-height: 1em;
}

.profile .flair-list .non-flair &gt; div:first-child {
    display: flex;
    justify-content: center;
    text-align: center;
    font-size: 9px;
    line-height: 1em;
}

.profile .flair-list .selecting-randoms &gt; div:first-child {
    color: #8BC34A;
    animation: pulseText 1s infinite;
    font-weight: bold;
}

.profile .flair-list .flair-tooltip {
    position: absolute;
    visibility: hidden;
    bottom: 0;
    left: 0;
    padding: 5px 10px;
    border-radius: 3px;
    width: 230px;
    font-size: 14px;
    z-index: 0;
    text-align: left;
    border: 1px solid #4C4C4C;
    background: #404040;
    word-wrap: break-word;
}

.profile .flair-list .flair-tooltip::before {
    content: "";
    display: block;
    border-top: 6px solid #4C4C4C;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    width: 0;
    height: 0;
    position: absolute;
    bottom: -6px;
    left: 4px;
}

.profile .flair-list .flair-tooltip::after {
    content: "";
    display: block;
    border-top: 6px solid #404040;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    width: 0;
    height: 0;
    position: absolute;
    bottom: -5px;
    left: 4px;
}

.profile .flair-list div.flair-item:hover .flair-tooltip {
    background: #404040;
    visibility: visible;
    z-index: 1;
}

.profile .flair-list div:hover .flair-header {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 5px;
}

.profile .flair-tooltip .flair-description {
    margin-bottom: 5px;
}

.profile .flair-tooltip .flair-type {
    float: right;
    color: #8BC34A;
    font-weight: bold;
    text-transform: capitalize;
}

.profile .flair-tooltip .flair-count {
    float: left;
    font-weight: bold;
}

.profile .flair-item-count {
    position: absolute;
    font-size: 8px;
    color: #999;
    bottom: -1px;
    right: 3px;
    pointer-events: none;
}

.profile .flair-wins-remaining {
    position: absolute;
    background-color: rgb(83, 83, 83);
    width: 90%;
    height: 3px;
    border-radius: 5px;
    left: 0;
    right: 0;
    margin: auto;
    bottom: 1px;
    overflow: hidden;
    pointer-events: none;
}

.profile .flair-progress-bar {
    height: 3px;
    background-color: #a0a0a0;
    border-radius: 5px;
    right: 5px;
    width: 0;
}

.profile #flair-options {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-bottom: 15px;
    margin-top: -15px;
}

.profile #flair-options div {
    margin-top: 10px;
    margin-right: 10px;
    font-size: 16px
}

.profile #flair-options a {
    margin-right: 10px;
}

.profile .profile-settings form {
    font-size: 16px;
}

.profile .profile-settings form .checkbox {
    line-height: 20px;
}

.selectBox {
    margin-top: 8px;
}

.selectBox label {
    font-weight: normal;
}

form .form-link,
.profile .profile-settings form .form-link {
    padding-top: 7px;
}

.profile .profile-settings form .email .hidden-email {
    display: none;
}

.profile .profile-settings form .form-status {
    margin-bottom: 20px;
    display: none;
}

.profile .table td.table-row-label {
    color: #8BC34A;
    font-weight: bold;
    border-right: 4px solid #2D2D2D;
}

.profile .profile-stats .table {
    font-size: 18px;
}

.profile {
    &amp; .previewContainer {
        position: fixed;
        top: 0;
        left: 0;
        opacity: 0;
    }

    &amp; .previewBlock {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100vh;
        width: 100vw;
    }

    &amp; .ballPreview {
        color: #8BC34A;
        animation: orbit 3s linear infinite;
    }

    &amp; #flairPreview {
        margin-left: 11px;
        margin-right: 2px;
    }

    &amp; #namePreview {
        font-size: 17px;
    }
}

@keyframes orbit {
    0% {
        transform: rotate(0deg) translateX(75px) rotate(0deg);
    }
    100% {
        transform: rotate(360deg) translateX(75px) rotate(-360deg);
    }
}

/* START: Key Remapping */

#remapContainer {
    position: relative;
    width: 100%;
    transition: 0.25s all ease-in-out;
    top: 0;
    opacity: 1;
}

#remapContainer.switch {
    top: -200px;
    opacity: 0;
}

.remap-keys-container {
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: flex-end;
}

.remap-instructions {
    text-align: center;
    transition: 0.25s all ease-in-out;
}

.remap-instructions.remapping {
    animation: key-remap-flash 0.75s infinite ease-in-out both;
    color: #8BC34A;
}

.remap-key {
    position: relative;
    top: 0px;
    width: 64px;
    height: 64px;
    margin: 8px;
    background-color: #444444;
    border: 2px solid white;
    border-radius: 8px;
    cursor: pointer;
    transition: 50ms all ease-in-out;
}

.remap-key.macro {
    width: 100%;
    height: 32px;
}

.remap-key.space {
    margin: 8px auto;
    width: 192px;
}

.remap-key.pressed {
    top: 6px;
}

.remap-key.selected {
    border-color: #8BC34A;
    color: #8BC34A;
}

.remap-key-background.macro {
    width: 100%;
    height: 32px;
    margin-bottom: -46px;
}

.remap-key-background {
    width: 64px;
    height: 64px;
    background-color: #222222;
    border-radius: 8px;
    margin: 8px;
    margin-bottom: -78px;
}

.remap-key-background.space {
    margin-left: auto;
    margin-right: auto;
    width: 192px;
}

.control-name {
    font-size: 12px;
    text-transform: capitalize;
}

.control-text {
    text-align: center;
    margin: 0;
}

.control-text-small {
    font-size: 16px;
    padding-top: 3px;
}

.control-direction {
    margin-top: 10px;
}

#remapModal .status-message {
    margin: 0;
    margin-bottom: 4px;
}

@keyframes key-remap-flash {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

/* END: Key Remapping */

/* START: Chat Macros */

.chat-macro-text-row {
    width: 65%;
}

#createMacroBtn {
    display: block;
    margin: 0 auto;
}

/* END: Chat Macros */

.alpha-test h3 {
    color: #8BC34A;
}

.groups-list .group-item {
    background: #353535;
    margin-bottom: 20px;
    padding: 10px;
    border-radius: 3px;
    font-size: 16px;
    border: 1px solid #404040;
}

.groups-list .groups-list-empty {
    margin-top: 40px;
    font-weight: bold;
    font-size: 24px;
}

.groups-list .group-item .group-name {
    color: #8BC34A;
    font-size: 22px;
    font-weight: bold;
}

.groups-list .group-item .group-type {
    color: #868686;
    font-size: 16px;
    line-height: 1.5em;
}

.groups-list .group-item .group-private-settings {
    font-size: .8em;
}

.groups-list .group-item .memberList {
    position: absolute;
    visibility: hidden;
    top: 100%;
    left: 25%;
    padding: 5px 10px;
    border-radius: 3px;
    font-size: 14px;
    z-index: 0;
    text-align: left;
    border: 1px solid #4C4C4C;
}

.groups-list .group-item .showMemberList:hover + .memberList {
    visibility: visible;
    background: #404040;
    z-index: 1;
}

.groups-list .group-item .memberList .groupMember.auth {
    color: #8BC34A;
}

.groups-list .group-item .map-preview {
    float: left;
    max-width: 65px;
    max-height: 30px;
}

.groups-list .group-item .map-preview img {
    max-width: 100%;
    max-height: 100%;
}

.groups-list .group-item .map-preview .random {
    font-size: 64px;
    font-weight: bold;
    text-align: center;
}

.group #groupPreset {
    display: none;
}

.group #groupTakeover {
    display: none;
}

.group.dropContainer {
    border: 1px solid #8BC34A;
    margin-bottom: 20px;
}

.group .random, .group .upload {
    font-size: 64px;
    font-weight: bold;
    text-align: center;
}

.group#loadingMessage {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2000;
    overflow: hidden;
    background-color: #2b2b2b;

    #message {
        position: absolute;
        color: #ffffff;
        font-weight: bold;
        font-size: 56px;
        width: 100%;
        text-align: center;
        margin-top: 40vh;
    }
}

.group#loading {
    position: absolute;
    top: 50%;
    width: 100%;
}

.group .maptype-ctf {
    background: url(../images/maptype-ctf.png) no-repeat calc(100% - 10px) center;
}

.group .maptype-nf {
    background: url(../images/maptype-nf.png) no-repeat calc(100% - 10px) center;
}

.group .maptype-2nf {
    background: url(../images/maptype-2nf.png) no-repeat calc(100% - 10px) center;
}

.groups-list .group-item .group-private-settings li {
    background: #2b2b2b;
    margin-bottom: 5px;
    padding: 2px 10px;
}

.groups-list .group-item .btn {
    font-size: 16px;
}

.profile .profile-name,
.group .group-name {
    font-size: 2em;
    font-weight: bold;
}

.profile .profile-name .unreserved {
    color: white;
}

.profile .profile-name .name-icons {
    font-size: 0.4em;
    margin-left: 0.4em;
    cursor: default;
}

.profile .profile-exit,
.group .group-exit {
    margin-top: .25em;
}

.group .public-game,
.group .private-game {
    display: none;
}

.group .player-group-header {
    padding: 8px;
    font-weight: bold;
    border-radius: 3px 3px 0 0;
}

.group .group-name input {
    min-width: 100px;
    max-width: 100%;
    padding-right: 5px;
}

/* Default style for group-name and team-name inputs */
.group .group-name input,
.group .player-group-header .team-name input {
    background: transparent;
    outline: none;
    border: none;
    width: 100%;
    padding-left: 5px;
}

/* Validation  styles for all inputs with data-validate attribute.
   Includes data-color-scheme option for 'white' where inputs are
   on a dark background*/

   /* Base styles for all inputs for overflow */
input[data-validate] {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

/* Styles for focus state */
input[data-validate]:focus {
    border-color: #80bdff;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

/* Styles for invalid state */
input[data-validate].is-invalid {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
    padding-right: calc(1.5em + 0.75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

input[data-validate].is-invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}

/* White color scheme */
input[data-validate][data-color-scheme="white"]:focus {
    border-color: rgba(255, 255, 255, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.25);
}

input[data-validate][data-color-scheme="white"].is-invalid {
    border-color: white;
    box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.5);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23FFFFFF'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FFFFFF' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

input[data-validate][data-color-scheme="white"].is-invalid:focus {
    border-color: white;
    box-shadow: 0 0 0 0.25rem rgba(255, 255, 255, 0.5);
}

/* Feedback styles */
.invalid-feedback {
    display: none;
    width: 100%;
    margin-top: 4px;
    font-size: 14px;
    color: #dc3545;
}

input[data-validate].is-invalid ~ .invalid-feedback {
    display: block;
}

input[data-validate][data-color-scheme="white"] ~ .invalid-feedback {
    color: white;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

.group .player-group-header .team-name,
.group .player-group-header .team-score,
.group .player-group-header .team-score-value {
    display: inline-block;
}

.group .player-group-header .team-name {
    width: 85%;
}

.group .player-group-header .team-score-buttons {
    position: relative;
    display: inline-block;
    margin: 0 3px;
}

.group .player-group-header .team-score-buttons svg {
    display: block;
    position: absolute;
    cursor: pointer;
}

.group .player-group-header .team-score-buttons svg path {
    fill: #fff;
}

.group .player-group-header .team-score-buttons .up-score {
    top: -23px;
    left: -6px;
}

.group .player-group-header .team-score-buttons .down-score {
    top: -8px;
    left: -6px;
}

.group #pub-players .player-group-header {
    background: #8BC34A;
    color: #000;
}

.group #red-team .player-group-header {
    background: #D32F2F;
}

.group #blue-team .player-group-header {
    background: #1976D2;
}

.group #spectators .player-group-header {
    background: #e0e0e0;
    color: #000;
}

.group #pub-waiting .player-group-header,
.group #waiting .player-group-header {
    background: #4c4c4c;
    color: #fff;
}

.group .player-options, .group .leader-options {
    position: absolute;
    z-index: 100;
    background: #353535;
    border: 1px solid #404040;
    border-radius: 3px;
    font-size: 16px;
    font-weight: bold;
    visibility: hidden;
}

.group .player-options.open, .group .leader-options.open {
    visibility: visible;
}

.group .player-options li, .group .leader-options li {
    color: #8BC34A;
    padding: 10px;
    border-bottom: 1px solid #404040;
    cursor: pointer;
}

.group .player-options li:hover, .group .leader-options li:hover {
    color: #AED581;
}

.group .player-options li:last-child, .group .leader-options li:last-child {
    border: none;
    margin: none;
}

.group .player-options li:first-child, .group .leader-options li:first-child {
    background-color: #8BC34A;
    color: #000000;
    user-select: none;
}

.group .leader-text {
    color: #E7E700;
}

.group .player-group {
    margin-bottom: 20px;
    position: relative;
}

.group .player-group .player-list, .joiner .player-list {
    min-height: 67px;
    height: auto;
    max-height: 255px;
}

.group .player-list {
    background: #353535;
    border-radius: 0 0 3px 3px;
    border: 1px solid #404040;
    border-top: 1px solid #2b2b2b;
    padding: 10px;
    overflow-y: auto;
}

.group .player-list .player-item {
    padding: 5px 10px;
    border-radius: 3px;
    font-size: 16px;
    display: inline-block;
    width: 25%;
    overflow: hidden;
}

.joiner .player-list .player-item {
    padding: 5px 10px;
    border-radius: 3px;
    font-size: 16px;
    display: inline-block;
    overflow: hidden;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, .5);
}

.group .player-list .player-item.ui-sortable-placeholder {
}

.group .player-group.small .player-list .player-item, .joiner .player-group.small .player-list .player-item {
    width: 50%;
}

.group.js-self-assignment .player-list .player-item.player-self:hover,
.group.js-leader .player-list .player-item:hover {
    background: #2b2b2b;
    cursor: pointer;
}

.group.js-self-assignment .player-list:hover {
    cursor: pointer;
}

.group .player-list .player-item .player-name, .joiner .player-list .player-item .player-name {
    font-weight: bold;
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 118px;
}

.group .player-list .player-item.auth .player-name, .joiner .player-list .player-item.auth .player-name {
    color: #8BC34A;
}

.group .player-list .player-item.player-muted .player-name {
    font-style: italic;
}

.group .player-list .player-item .player-name .flair, .joiner .player-list .player-item .player-name .flair {
    margin-right: 5px;
}

.group .player-list .player-item .player-location, .joiner .player-list .player-item .player-location {
    font-size: 14px;
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 118px;
}

.group.js-public-game .public-game {
    display: block;
}

.group.js-private-game .private-game {
    display: block;
}

.group .chat, .launcher .chat {
    background: #212121;
    border-radius: 3px;
    border: 1px solid #404040;
    font-size: 16px;
    line-height: 18px;
}

.joiner .chat {
    border-radius: 10px;
    font-size: 16px;
    line-height: 18px;
    height: 93%;
}

.group .chat-log, .launcher .chat-log {
    height: 189px;
    overflow-y: auto;
    padding: 5px 10px;
}

.joiner .chat-log {
    height: 100%;
    padding: 15px 10px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    overflow-y: auto;
}

.chat-log .checkmark, .chat-log .checkmark {
    color: #BFFF00;
}

.chat-log .auth, .chat-log .auth {
    color: #8BC34A;
}

.chat-log .player-name, .chat-log .player-name {
    font-weight: bold;
}

.group .chat-log .player-name.player-leader {
    color: gold;
    text-decoration: underline;
}

.chat-log .chat-message, .chat-log .chat-message {
    word-wrap: break-word;
}

.group .chat-input input, .launcher .chat-input input {
    background: #212121;
    width: 100%;
    border: none;
    border-top: 1px solid #505050;
    padding: 5px 10px;
}

.joiner .chat-input {
    position: absolute;
    width: 100%;
    bottom: 1px;
}

.joiner .chat-input input {
    background: rgba(33, 33, 33, 0.4);
    width: 100%;
    border: none;
    border-top: 1px solid #505050;
    border-radius: 0px 0px 3px 3px;
    padding: 5px 10px;
}

.group .private-settings,
.group .public-settings {
    margin-top: 20px;
}

.group .private-settings .extra-settings {
    float: left;
    width: 100%;
}

.group .group-settings {
    margin-bottom: 20px;
}


.group .group-settings .group-setting {
}

.group .group-settings .group-setting input[type="checkbox"]{
    margin: 0;
    vertical-align: middle;
}

.group svg {
    width: 16px;
    height: 16px;
    vertical-align: middle;
}

.group svg path {
    fill: #d0d0d0;
}

.group.js-private-group #private-group {
    display: inline;
}

.group.js-public-group #public-group {
    display: inline;
}

.group .group-analytics {
    display: none;
}

.group .group-privacy {
    font-size: 16px;
}

.group .group-assignment svg {
    display: inline;
}

.group .group-assignment svg path {
    fill: #202020;
}

.group.js-self-assigment .group-assignment svg {
    fill: #8BC34A;
}

.group .actions .start-game,
.group .actions .end-game,
.group .actions .join-game {
    display: none;
}

.group.js-leader .actions .start-game {
    display: inline-block;
}

.group .private-settings .js-leader-only,
.group.js-leader .private-settings .js-non-leader,
.group .extra-settings .js-display-setting,
.group.js-public-game .private-settings,
.group.js-private-game .public-settings,
.group.js-leader .customize-settings .form-group,
.group.js-public-game .player-settings .switch-to-pub,
.group.js-private-game .player-settings .switch-to-pug,
.group.js-game-in-progress .private-settings .start-game,
.group.js-game-in-progress .public-settings .start-game,
.group .player-settings .player-swap,
.group .player-settings .player-randomize,
.group.js-game-in-progress .actions .start-game {
    display: none;
}

.group.js-leader .private-settings .js-leader-only,
.group.js-leader .customize-settings .form-group.js-visible,
.group .extra-settings .js-display-setting.non-default {
    display: block;
}

.group.js-leader.js-private-game .player-settings .player-swap,
.group.js-leader.js-private-game .player-settings .player-randomize,
.group.js-game-in-progress .private-settings .join-game,
.group.js-game-in-progress .public-settings .join-game,
.group.js-leader.js-game-in-progress .actions .end-game {
    display: inline-block;
}

.group #map-selection-modal .map-item {
    text-align: center;
    background: #3C3C3C;
    border-radius: 3px;
    padding: 10px;
}

.group #map-selection-modal .map-item .map-name {
    margin-top: 4px;
    font-weight: bold;
}

.group.js-leader .private-settings .form-control {
    margin-bottom: 5px;
}

.group .extra-settings .extra-setting {
    font-size: 16px;
    background: #353535;
    border-radius: 3px;
    padding: 10px 10px;
    margin-bottom: 5px;
}

.group.js-leader .extra-settings .extra-setting {
    cursor: pointer;
}

.group .extra-settings .extra-setting .js-setting-value {
    float: right;
}

.group .extra-settings .extra-setting .js-setting-clear {
    font-weight: bold;
    color: #D32F2F;
    padding: 1px 4px;
    border-radius: 3px;
    margin-right: 4px;
    cursor: pointer;
    display: none;
}

.group.js-leader .extra-settings .extra-setting .js-setting-clear {
    display: inline;
}

.group .extra-settings .extra-setting .js-setting-clear:hover {
    background: #404040;
}

.group.js-leader .customize-settings,
.group .region-settings,
.group .server-settings {
    font-size: 16px;
}

.group .customize-settings input[type="checkbox"] {
    margin-top: 2px;
}

.joiner .joiner-message {
    font-size: 56px;
    font-weight: bold;
    text-align: center;
    margin-top: -5px;
    margin-bottom: 15px;
}

.joiner #worldmap-on {
    display: flex;
    justify-content: left;
}

#worldmap {
    max-height: 50vh;
    display: block;
    opacity: 0.7;
}

.joiner #group {
    display: none;
    padding-left: 3%;
    padding-right: 3%;
    margin-top: 10px;
}

.joiner #worldmap-message {
    font-size: 32px;
    font-weight: bold;
}

.joiner #worldmap-message:after {
    overflow: hidden;
    display: inline-block;
    vertical-align: bottom;
    animation: ellipsis steps(4,end) 4000ms infinite;
    content: "\2026"; /* ascii code for the ellipsis character */
    width: 0px;
}

@keyframes ellipsis {
    to {
        width: 1.25em;
    }
}

.joiner #worldmap-container, .joiner #group-chat {
    position: relative;
}

.joiner .worldmap-targets {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.joiner .worldmap-target {
    position: absolute;
	border-radius: 50%;
	height: 10px;
	width: 10px;
	transform: scale(1);
}

.joiner .worldmap-target.worldmap-target-gray {
	background: #666666;
}

.joiner .worldmap-target.worldmap-target-white {
	background: #ffffff;
	box-shadow: 0 0 0 0 rgba(255, 255, 255, 1);
	animation: worldmap-target-white 2s infinite;
}

@keyframes worldmap-target-white {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
    }

    70% {
        transform: scale(1);
        box-shadow: 0 0 0 10px rgba(255, 255, 255, 0);
    }

    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
    }
}

.joiner .worldmap-target.worldmap-target-green {
	background: #8BC34A;
	box-shadow: 0 0 0 0 rgba(139, 195, 74, 1);
	animation: worldmap-target-green 2s infinite;
}

@keyframes worldmap-target-green {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(139, 195, 74, 0.7);
    }

    70% {
        transform: scale(1);
        box-shadow: 0 0 0 10px rgba(139, 195, 74, 0);
    }

    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(139, 195, 74, 0);
    }
}

.joiner #tip-container {
    margin-top: 20px;
    height: 50px;
}

.joiner .stats {
    font-size: medium;
    text-shadow:rgb(0, 0, 0);
}

.joiner #flagged {
    background: #353535;
    border: 1px solid #404040;
    border-radius: 3px;
    padding: 5px 10px;
    margin-top: 20px;
    display: none;
}

.joiner #joiner-settings {
    background: #3c3c3c;
    font-size: 18px;
    padding: 4px 10px;
    display: block;
    border-radius: 3px;
}

.joiner #joiner-settings .inner {
    border-bottom: 2px solid #333;
}

.joiner #leave-joiner {
    font-size: smaller;
    font-style: italic;
}

.joiner #joiner-settings .event-christmas {
    color: #CC231E;
    font-weight: bold;
}

.joiner #joiner-settings .title {
    font-size: 22px;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.joiner #joiner-settings .btn:not(.modal *) {
    width: 100%;
    font-size: 16px;
    top: 20%;
}

.joiner .joiner-header {
    margin-top: 10px;
}

.joiner .joiner-display {
    margin-left: 5%;
    margin-bottom: 0px;
}

.joiner .spinner {
    margin: 20px auto 0;
    text-align: center;
}

.spinner .spinner-item {
    width: 16px;
    height: 16px;
    background-color: #8BC34A;
    border-radius: 100%;
    display: inline-block;
    animation: sk-bouncedelay 1.7s infinite ease-in-out both;
    margin-right: 5px;
}

.spinner .spinner-item:nth-child(1) {
    animation-delay: -0.60s;
}

.spinner .spinner-item:nth-child(2) {
    animation-delay: -0.40s;
}

.spinner .spinner-item:nth-child(3) {
    animation-delay: -0.20s;
}

.joiner .spinner.disable {
    display: none;
}

.joiner-select .joiner-options {
    display: flex;
    justify-content: center;
    align-items: stretch;
    min-height: 30vh;
}

.joiner-select .spectate-options {
    display: flex;
    justify-content: center;
    align-items: center;
}

.joiner .joiner-option {
    font-weight: bold;
    color: #8BC34A;
}

.joiner-select .joiner-option {
    margin: 5px;
    padding: 15px 20px;
    border-radius: 10px;
    background: #323232;
    box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
    text-align: center;
    justify-content: center;
    transition: transform 0.2s ease-in-out;
    border: 1px solid transparent;
    min-width: 25vw;
    position: relative;
    align-items: center;
}

.joiner-select .joiner-option.enabled:hover {
    background: #404040;
    border: 1px solid #8BC34A;
    transform: translateY(-3px);
    cursor: pointer;
}

.joiner-select .joiner-option button.ineligible {
    position: absolute;
    bottom: 15px;
    font-size: small;
    background-color: transparent;
    border-radius: 12px;
    border: none;
    color: #FF4C4C;
    text-shadow: 2px 2px 5px rgba(40, 30, 30, 0.5);
    font-weight: bold;
}

.joiner-select .joiner-option-title {
    font-size: xx-large;
    font-weight: bold;
    color: #8BC34A;
}

.joiner-option {
    transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

.selected-casual-regions {
    font-size: 1em;
    color: grey;
    font-style: italic;
    font-weight: bold;
}

.joiner-quiet {
    font-size: 10px;
    color: grey;
    font-style: italic;
}

.region-list {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
    opacity: 0;
}

.region-list.show {
    max-height: 200px;
    opacity: 1;
}

.region-list.indent {
    padding-left: 5%;
}

.region-list .checkbox {
    margin-top: 0;
    margin-bottom: 3px;
}

.waiting-options {
    font-size: .8em;
    color: grey;
    font-weight: bold;
    margin-bottom: 5px;
    margin-top: 10px;
}

#ranked-select {
    margin-bottom: 10px;
}

#casual-display {
    margin-top: 5px;
    position: relative;
}

@keyframes sk-bouncedelay {
    0%, 80%, 100% {
    transform: scale(0);
    opacity: 0;
    } 40% {
    transform: scale(1.0);
    opacity: 1;
    }
}

.game #joiner {
    position: absolute;
    padding: 3px;
    top: 40px;
    left: 10px;
    z-index: 9999;
    background-color: rgb(60, 60, 60, 0.6);
    max-width: 200px;
}
.game #joiner-settings {
    font-size: 18px;
    padding: 4px 10px;
    display: block;
}

.game #joiner-settings .title {
    color: #8BC34A;
    font-size: 20px;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.game #joiner-settings .btn {
    width: 100%;
    font-size: 16px;
    margin-top: 5px;
}

.game #leave-joiner {
    display: none;
}

.game .asset {
    display: none;
}

.game #loadingMessage {
    position: absolute;
    color: #ffffff;
    font-weight: bold;
    font-size: 56px;
    width: 100%;
    text-align: center;
    margin-top: 40vh;
}

.game #exit {
    position: absolute;
    z-index: 9999;
    text-shadow:
        1px 1px #000,
        1px -1px #000,
        -1px 1px #000,
        -1px -1px #000;
}

.game .news {
    width: 545px;
    margin: 0 auto;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 3;
}

.game .news svg {
    display: none;
}

.game .news .redditLink {
    background-color: #6f9c3b;
    background: rgba(139, 195, 74, 0.8) url(../images/reddit.png) no-repeat 10px center;
    margin-top: 2px;
    padding-left: 38px;
    border-color: #000;
}

.game .news .redditLink:hover {
    background: rgba(103, 146, 53, 0.8) url(../images/reddit.png) no-repeat 10px center;
}

.game #viewport {
    margin: 0;
    padding: 0;
    display: none;
}

.game #chatHistory {
    position: absolute;
    width: 450px;
    height: 150px;
    overflow-y: hidden;
    overflow-x: clip;
    line-break: auto;
    font-family: arial, sans-serif;
    font-size: 9pt;
    font-weight: bold;
    cursor: default;
    padding-left: 5px;
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-start;
    margin-left: 10px;
    border-radius: 4px;
    padding: 4px;
    text-shadow:
        -1px -1px 2px #000,
        1px -1px 2px #000,
        -1px  1px 2px #000,
        1px  1px 2px #000,
        -1px -1px 1px #000,
        1px -1px 1px #000,
        -1px  1px 1px #000,
        1px  1px 1px #000;
}

.game #chatHistory &gt; div + div {
    margin-bottom: 2px;
}

.game #chatHistory &gt; div &gt; .auth {
    color: #BFFF00;
    margin-right: 2px;
}

.game #chatHistory &gt; div &gt; .icon {
    margin-right: 2px;
}

.game #chatHistory &gt; div &gt; .name:after {
    content: ': ';
}

.game input#chat {
    position: absolute;
    display: none;
    width: 350px;
    background-color: rgba(0, 0, 0, .75);
    color: #ffffff;
    border: 1px solid #ffffff;
    border-radius: 4px;
    padding: 3px;
    outline: none;
    font-size: 16px;
}

.game #options {
    position: absolute;
    background-color: rgba(0, 0, 0, .5);
    display: none;
    top: 100px;
    width: 860px;
    height: auto;
    max-height: 600px;
    padding: 10px;
    border: 1px solid #404040;
    border-radius: 3px;
    font-size: 16px;
}

.game .form-control {
    background: rgba(33, 33, 33, 0.8);
    border-color: #000;
}

.game #replayInfo {
    float: right;
}

.game #mapInfo {
    font-weight: bold;
}

.game #flairInfo {
    margin-bottom: 10px;
}

.game #options table {
    width: 100%;
    font-size: 12.6px;
    margin-bottom: 10px;
}

.game div#options .table.table-stripped tbody tr {
    border-bottom: 1px solid #000;
    background: rgba(53, 53, 53, 0.8);
}

.game div#options .table.table-stripped tbody tr:nth-child(2n) {
    background: rgba(44, 44, 44, 0.8);
}

.game div#options .table.table-stripped .quit {
    text-decoration: line-through;
}

.game div#options .table.table-stripped .dnf {
    color: rgba(172, 172, 172, 0.8);
}

.game div#options .table.table-stripped .scoreAuth {
    color: #8BC34A;
}

.game div#options .table.table-stripped .scoreName {
    font-weight: bold;
}
/* Score column */
.game div#options .table.table-stripped th[data-column="score"]{
    min-width: 50px;
}
.game div#options .table.table-stripped td[data-column="score"] {
    background-color: #95779E;
    opacity: 80%;
    min-width: 50px;
}

/* O IPM Column */
.game div#options .table.table-stripped th[data-column="oscore"]{
    min-width: 30px;
}
.game div#options .table.table-stripped td[data-column="oscore"] {
    background-color: #ce6060;
    opacity: 80%;
    min-width: 30px;
}

/* D IPM Column */
.game div#options .table.table-stripped th[data-column="dscore"] {
    min-width: 30px;
}
.game div#options .table.table-stripped td[data-column="dscore"] {
    background-color: #5b8edb;
    opacity: 80%;
    min-width: 30px;
}

.game div#options .table.table-stripped td.o-ipm,
.game div#options .table.table-stripped td.d-ipm{
    font-weight: bold;
    font-size: 1.1em;
    color: #000;
}
.game div#options .table.table-stripped td.t-ipm {
    font-weight: bold;
    font-size: 1.1em;
    color: #000;
}

.game div#options .table.table-stripped .scoreName.team-red {
    color: #FFB5BD;
}

.game div#options .table.table-stripped .scoreName.team-blue {
    color: #CFCFFF;
}

.game div#options .table.table-stripped .scoreName.muted-red {
    color: rgba(255, 181, 189, 0.7);
    font-style: italic;
}

.game div#options .table.table-stripped .scoreName.muted-blue {
    color: rgba(207, 207, 255, 0.7);
    font-style: italic;
}

.game div#options table th,
.game div#options table td {
    padding: 3px 0 !important;
    text-align: center;
}

.game div#options table tbody td {
    border-right: 1px solid #000;
}

.game div#options table tr.template {
    display: none;
}

.game #options input,
.game #options select {
    width: 12em;
}

.game .form-options {
    margin-bottom: 10px;
}

.game #options #optionsName {
    float: left;
}

.game #options #optionsLinks {
    display: block;
    padding-top: 24px;
    text-align: right;
}

.game #options #optionsLinks .social-link {
    display: inline-block;
    background: rgba(39, 39, 39, 0.8);
    padding: 4px 8px;
    border-radius: 3px;
    border: 1px solid #000;
    height: 34px;
}

.game #options #optionsLinks .social-link:hover {
    background: rgba(23, 23, 23, 0.8);
}

.game #options #switchButton,
.game #options #tutorialButton {
    width: 12em;
    background: rgba(139, 195, 74, 0.8);
    padding: 8px 8px;
    border-radius: 3px;
    border: 1px solid #000;
    text-align: center;
    color: #fff;
    font-weight: bold;
    display: inline-block;
}

.game #options #switchButton:hover,
.game #options #tutorialButton:hover {
    background: rgba(103, 146, 53, 0.8);
}

.game #options #rankedGame {
    width: 12em;
    background: rgba(175, 58, 175, 0.8);
    padding: 8px 8px;
    border-radius: 3px;
    border: 1px solid #000;
    text-align: center;
    color: #fff;
    font-weight: bold;
    display: inline-block;
}

.game #options #tutorialButton {
    float: right;
}

.game #options #mapRatingContainer {
    float: right;
    display: none;
}

.game div#sound {
    width: 64px;
    height: 32px;
    top: 10px;
    right: 10px;
    position: absolute;
    z-index: 1;
}

.game div#soundEffects {
    width: 32px;
    height: 32px;
    background: transparent url(../images/soundon.png) no-repeat top left;
    cursor: pointer;
    display: block;
    float: left;
}

.game svg {
    vertical-align: middle;
    fill: #8BC34A;
}

.game div#soundEffects.off {
    background-image: url(../images/soundoff.png);
}

.game div#soundMusic {
    width: 32px;
    height: 32px;
    background: transparent url(../images/musicon.png) no-repeat top left;
    cursor: pointer;
    display: block;
    float: left;
}

.game div#soundMusic.off {
    background-image: url(../images/musicoff.png);
}

.game #kick {
    position: absolute;
    background-color: rgba(0, 0, 0, .75);
    display: none;
    width: 400px;
    padding: 15px;
    border: 1px solid #404040;
    border-radius: 3px;
    z-index: 10;
}

.game #kick .btn {
    width: 100%;
}

.game div#sendToPreferred {
    position: absolute;
    background-color: rgba(0, 0, 0, .75);
    display: none;
    width: 400px;
    padding: 15px;
    border: 2px solid white;
}

.game #optionsAd {
    margin-top: 10px;
    text-align: center;
}

body.game-page {
    background: url("../images/background.jpg") no-repeat;
    background-size: cover;
    overflow: hidden;
}

.modal .btn-primary {
    font-size: 16px;
}

.modal .close {
    float: right;
}

.modal .warning-wrapper {
    text-align: center;
}

.modal .warning {
    color:#e90b16;
    font-weight: bold;
    font-size: xx-large;
}

@keyframes shake {
    from, to {
    transform: translate3d(0, 0, 0);
    }

    10%, 30%, 50%, 70%, 90% {
    transform: translate3d(-10px, 0, 0);
    }

    20%, 40%, 60%, 80% {
    transform: translate3d(10px, 0, 0);
    }
}

.shake {
    animation-name: shake;
}

.shake-constant {
    /* yep this is a lie */
    /* muahahaha */
    animation-duration: 1s;
}

.shockwave {
    display: inline-block;
    position: relative;
    z-index: 2;
}

.shockwave::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    border-radius: 50%;
    animation: shockwave 1s .65s ease-out;
    z-index: 1;
}

.shockwave::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    border-radius: 50%;
    animation: shockwave 1s .5s ease-out;
    z-index: 1;
}

@keyframes shockwave {
    0% {
        transform: scale(1);
        box-shadow: 0 0 2px rgba(255, 255, 255, 0.15), inset 0 0 1px rgba(255, 255, 255, 0.15);
    }

    95% {
        box-shadow: 0 0 50px transparent, inset 0 0 30px transparent;
    }

    100% {
        transform: scale(10);
    }
}

.maps .axis path,
.maps .axis line {
    fill: none;
    stroke: #fff;
    shape-rendering: crispEdges;
}

.maps .graph svg text {
    color: #fff;
    fill: #8BC34A;
}

.maps .dot {
    stroke: #000;
    cursor: pointer;
    fill: #8BC34A;
}

.maps .dot.active {
    stroke: #000;
    fill: #0E8AE0;
}

.maps .graph {
    position: relative;
    z-index: 10;
}

.maps .graph svg {
    width: 100%;
    border-right: 1px solid #3c3c3c;
}

.maps .tab-pane {
    background: transparent;
}

.maps .tooltip {
    position: absolute;
    background: #353535;
    border-radius: 3px;
    border: 1px solid #404040;
    padding: 5px 10px;
    font-size: 16px;
    line-height: 20px;
    display: none;
    width: 150px;
}


.maps .tooltip .name {
    font-weight: bold;
    color: #8BC34A;
}

.maps .previewHover {
    position: absolute;
    background: #353535;
    border-radius: 3px;
    border: 1px solid #404040;
    padding: 5px 10px;
    font-size: 16px;
    line-height: 20px;
    display: none;
    width: 300px;
}

.maps .map-detail {
    font-size: 16px;
}

.maps .map-detail .map-detail-header {
    margin-bottom: 10px;
}

.maps .map-detail .name {
    font-size: 24px;
    font-weight: bold;
    color: #8BC34A;
}

.maps .map-detail .author {
    font-size: 16px;
}

.maps .map-detail .map-stat {
    font-weight: bold;
}

.maps .map-detail .map-stat .stat {
    font-weight: normal;
    padding: 15px;
}

.maps .map-detail .preview {
    text-align: center;
    max-height: 228px;
    margin: 0 auto;
}

.maps .map-detail .map-nav {
    float: right;
}

.maps .maps-table {
}

.maps .maps-selected-table {
}

.maps .maps-favoured-td {
    min-width: 2.5em;
}

.maps .ratio-bar {
    width: 100%;
    height: 25px;
    overflow: hidden;
    white-space: nowrap;
    display: inline-block;
    text-align: left;
}


.maps .ratio-bar span {
    height: 100%;
    display: inline-block;
    margin: 0;
    padding: 0;
}


.maps .ratio-bar .likes {
    background-color: #8BC34A;
}

.maps .ratio-bar .indifferents {
    background-color: #0E8AE0;
}

.maps .ratio-bar .dislikes {
    background-color: #c34a4a;
}

.maps .stat.likes {
    color: #8BC34A;
    text-align: left;
    padding: 5px 20px;
}

.maps .stat.indifferents {
    color: #0E8AE0;
    text-align: center;
    padding: 5px 20px;
}

.maps .stat.dislikes {
    color: #c34a4a;
    text-align: right;
    padding: 5px 20px;
}

.server-info .server-info-item {
    background: #353535;
    border-radius: 3px;
    padding: 10px 20px;
    font-size: 16px;
    margin-bottom: 10px;
}

.server-info .server-info-item .map-name {
    color: #8BC34A;
    font-size: 22px;
    font-weight: bold;
}

.server-info .server-info-item .game-type {
    font-size: 16px;
    color: #868686;
}

.server-info .server-info-item .map-unknown {
    font-size: 52px;
    text-align: center;
}

.header .nav .mobile-menu-toggle {
    display: none;
}

.texture-packs {
    &amp; #textures {
        margin-bottom: 20px;
    }

    &amp; .explanation-bubble {
        background: #383838;
        border-radius: 3px;
        border: 1px solid #3c3c3c;
        padding: 10px;
        margin-top: 0;
    }

    &amp; .texture-choice {
        background: rgba(56, 56, 56, 0.7);
        border-radius: 3px;
        margin-bottom: 41px;
        padding: 8px;
        border: 1px solid #3c3c3c;
        cursor: pointer;

        &amp;:hover {
            border: 1px solid rgb(189, 189, 189);

            &amp; .name, &amp; .author {
                opacity: 1;
                transition: opacity 0s;
            }
        }

        &amp; .name {
            color: #8BC34A;
            font-size: 22px;
            font-weight: bold;
            opacity: 0.7;
            transition: opacity 0.5s ease-out;
        }

        &amp; .author {
            opacity: 0.7;
            transition: opacity 0.5s ease-out;
        }

        &amp; hr {
            padding-top: 8px;
            border-top: 2px solid #3c3c3c;
            margin: 8px 0 4px;
        }

        &amp;.active-pack {
            border: 1px solid #8BC34A;

            &amp; .name, &amp; .author {
                opacity: 1;
            }
        }
    }

    &amp; .texture-image {
        border: 1px outset #aaa;
        border-radius: 3px;
        opacity: 1;
    }

    &amp; .texture-popularity {
        font-size: 11px;
        float: right;
    }

    &amp; h3 {
        color: #8BC34A;
    }

    &amp; .previewContainer {
        position: fixed;
        top: 0;
        left: 0;
        opacity: 0;
    }

    &amp; .previewBlock {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100vh;
        width: 100vw;
    }

    &amp; .buttonContainer {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        padding-top: 20px;
        padding-bottom: 10px;
        height: 80px;
        background: linear-gradient(rgba(43, 43, 43, 0), rgba(43, 43, 43, 1) 75%);
    }

    &amp; #loadmore {
        margin-top: 10px;
        transition: transform 0.2s ease;
    }

    &amp; .texture-sort a {
        cursor: pointer;
    }
}

.competitive h3.header-title {
    border-bottom: 1px solid #565656;
}

.competitive h4.header-title {
    border-bottom: none;
    display: inline;
}

.competitive .col-sm-4, .competitive .col-sm-12 {
    padding: 5px 20px;
}

.competitive .col-sm-4 p, .competitive .col-sm-12 p {
    font-size: 16px;
}

.competitive img {
    float: right;
    display: inline-block;
    width: 30px;
    height: 30px;
}

.northAmerica {
    color: #e65864 !important
}

.europe {
    color: #639ccf !important
}

.oceania {
    color: #CDDC39 !important
}

.groupsAvailable {
    color: #e65864 !important
}

.playerSearch .limitedResultsWarning {
    background: #383838;
    padding:.5rem;
    margin:0 10px 0 10px;
    border-radius: 4px 4px 0 0;
}

.playerSearch .limitedResultsWarning p {
    padding: 0;
    margin: 0;
}

.video-content .video {
    display: none;
}

.video-content .video.active {
    display: block;
}

.stream-ui-container .jumbotron {
    width: 100%;
    height: 100%;
}

.video-selector {
    display: block;
    margin: 0 auto;
    white-space: nowrap;
    overflow: hidden;
}

.video-selector .width-375 {
    display: inline-block;
    width: 37.5%;
}

.video-selector .width-3752 {
    display: inline-block;
    width: 37.5%;
}

.video-selector .stream-item {
    display: inline-block;
    position: relative;
    width: 25%;
    padding-bottom: 10%;
    margin: 10px;

    border: 1px solid #191919;
    background-color: black;

    background-size: cover;
    background-position: center;

    cursor: pointer;

    transition: all 0.1s ease-in-out;
}

.video-selector .tutorial-item {
    display: inline-block;
    margin: 10px;
    cursor: pointer;
    transition: all 0.1s ease-in-out;
    width: 25%;
    height: 100px;
    background-image: url(../images/background_square.png);
    background-size: 100%;
    white-space: normal;
    text-align: center;
    text-shadow: 2px 2px 4px rgb(0, 0, 0), -2px -2px 4px rgb(0, 0, 0);
    color: #AED581;
    font-size: large;
    overflow: hidden;
}

.video-selector .video-item:hover {
    transform: scale(1.05);
}

.video-selector .video-item.selected {
    border-color: #8BC34A;
    transform: scale(1.1);
}

.video-selector .stream-item .stream-info {
    display: flex;
    width: 100%;

    justify-content: space-between;
}

.video-selector .stream-item .stream-avatar {
    width: 32px;
    height: 32px;

    border-bottom-left-radius: 8px;
}

.video-selector .stream-item .stream-username {
    flex: 0 1 auto;
    background-color: rgba(0, 0, 0, 0.6);
    padding: 4px;
    border-bottom-right-radius: 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.stream-ui-container .left-select-btn-container {
    z-index: 10;
    padding: inherit;
    position: absolute;
    top: 0;
    left: 0;
    width: 15%;
    height: 100%;
}

.stream-ui-container .right-select-btn-container {
    z-index: 10;
    padding: inherit;
    position: absolute;
    top: 0;
    right: 0;
    width: 15%;
    height: 100%;
}

.stream-ui-container .video-select-btn {
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-color: #00000030;
    border: none;
}

.stream-ui-container .video-select-btn:hover {
    background-color: #00000050;
}

.video-container {
    position: relative;
    width: 100%;
    height: 350px;
    display: flex;
    flex-direction: column;
}

.video-container iframe {
    position: relative;
    margin: 0 auto;
    top: 0;
    left: 0;
    border: none;
    background-color: black;
}

#streamerID {
    color: black;
}

#banStreamerBtn {
    font-size: 12px;
    color: red;
    border: 1px solid #5f5f5f;
}

.ban-streamer {
    position: relative;
    display: block;
    top: 35px;
}

.clickableText {
    cursor:pointer;
}

.disabledClickableText {
    color: grey;
}

.activeStar {
    color: #CDDC39;
}

.activeThumbsDown {
    color: #c34a4a;
}

.map-option {
    position: relative;
    cursor: pointer;
    padding: 10px;
    border: 2px solid transparent;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.map-option:hover {
    border-color: #666;
}

.map-option.selected {
    border-color: #4CAF50;
}

.map-option.winner {
    border-color: #FFD700;
    box-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
}

.map-name {
    text-align: center;
    margin-top: 8px;
    font-weight: bold;
}

.vote-status {
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: bold;
}

.map-option.selected .vote-status {
    background: #4CAF50;
    color: white;
    content: "Selected";
}

.map-option.winner .vote-status {
    background: #FFD700;
    color: black;
    content: "Winner";
}

#void-launcher {
    text-align: center;
    display: none;
}

#launcher.container {
    height: 85vh;
    min-height: 600px;
}

#launcher .sidebar {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    height: 65vh;
}

#launcher .sidebar #launcher-status {
    border: 1px solid transparent;
    text-align: center;
    width: 13vw;
    font-size: 14px;
    padding: 20px 10px 30px 10px;
    background-color: rgba(53, 53, 53, 0.71);
    border-radius: 3px;
    border-color: #AF3AAF;
    animation: pulseBorder 3s infinite;
    margin-left: auto;
    margin-right: auto;
}

#launcher .launcher-chat {
    margin-bottom: 0px;
}

.launcher-header {
    text-align: center;
}

.launcher-header .queue {
    font-size: xx-large;
}

.launcher-header .server-name {
    font-size: small;
}

.launcher-maps {
    display: flex;
    align-items: end;
    margin-bottom: 10px;
}

.launcher-teams {
    display: flex;
    min-height: 400px;
    justify-content: space-between;
    margin-top: 20px;
}

.team-header {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    border-radius: 4px;
}

.blue-team .team-header {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    color: rgb(68, 131, 232);
}

.red-team .team-header {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    color: rgb(232, 68, 68);
}

.team-average {
    text-align: center;
    padding: 5px;
}

.team-list {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 20px;
}

.team-member {
    padding: 5px 10px;
    background: rgba(49, 34, 34, 0.1);
    border-radius: 4px;
    display: flex;
    justify-content: space-between;
}

.team-member .checkmark {
    color: #8BC34A;
}

.red-team .team-list {
    background-color: rgba(255, 0, 0, 0.1);
}

.blue-team .team-list {
    background-color: rgba(0, 0, 255, 0.1);
}

.versus-text {
    display: flex;
    align-items:center;
}

.error-message {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 15px 30px;
    background-color: rgba(255, 0, 0, 0.9);
    color: white;
    border-radius: 4px;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    z-index: 1000;
    animation: fadeIn 0.3s ease-in;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

#mtc-app #displayedStatus {
    text-align: center;
}

#mtc-app #spinner {
    text-align: center;
    margin-top: 5%;
}

#mtc-app .btn {
    font-size: 12px;
}

#mtc-app .btn-default {
    border: 1px solid #5f5f5f;
}

#mtc-app th {
    position: sticky;
    top: 0;
    background-color: #8BC34A;
}

#mtc-app .name {
    width: 20px;
    word-wrap: break-word;
}

#mtc-app .download {
    display: inline-block;
    width: 3em;
}

#mtc-app .delete {
    color: red;
}

#mtc-app .save {
    position: sticky;
    bottom: 0px;
    width: 100%;
    text-align: center;
    background-color: #2b2b2b;
    padding-top: 10px;
}

#roles-app .btn {
    color: white;
    border: 1px solid #5f5f5f;
}

#roles-app .btn-yes {
    background-color: green;
}

#roles-app .btn-no {
    background-color: red;
}

#roles-app th {
    position: sticky;
    top: -1px;
    background-color:#8BC34A;
}

.playerSearch .limitedResultsWarning {
    background: #383838;
    padding:.5rem;
    margin:0 10px 0 10px;
    border-radius: 4px 4px 0 0;
}

#admin-app .msg {
    display: inline-block;
}

#admin-app input {
    background: #212121;
    border: 1px solid #505050;
}

#admin-app td {
    vertical-align: top;
}

.runtime td {
    vertical-align: top;
}

.runtime .saveButtonClean {
    opacity: 0.25;
}

.runtime .saveButtonDirty {
    cursor: pointer;
}

.runtime input, .runtime textarea {
    background: #212121;
    border: 1px solid #505050;
}

.replays #message {
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 1rem;
}

.replays .filterToggle {
    color: #8BC34A;
    margin-right: 5px;
}

.replays #filter .form-control {
    width: auto;
    display: inline-block;
    border-radius: 4px;
    line-height: 1;
}

.replays #filter select:invalid {
    color: gray;
}

.replays #filter select option {
    color: #ffffff;
}

.replays #filter .table {
    width: auto;
    border: 1px solid #212121;
    margin-bottom: 20px;
}

.replays #filter .table tbody tr {
    background-color: transparent;
}

.replays #filter .btn-apply {
    background-color: #CDDC39;
    color: #222;
    border-color: #827717;
}

.replays #filter .btn-apply:hover,
.replays #filter .btn-apply:focus,
.replays #filter .btn-apply:active {
    background: #C0CA33;
}

.replays #filter button.dropdown-toggle {
    padding-right: 12px;
}

.replays .maptype-trial {
    background: url(../images/maptype-trial.png) no-repeat calc(100% - 10px) center;
}

.datepicker.dropdown-menu {
    background-color: #404040;
    color: inherit;
}

.datepicker table tr td.range {
    color: inherit;
}

.canny-embed {
    padding: 16px;
    background-color: #1C1B22;
    border-radius: 10px;
}

.login .gcolumn {
    display: flex;
}

.login .gitem {
    display: inline-block;
    margin: auto;
}

.login .spinner-container {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    z-index: 10;
}

.login .spinner .spinner-item {
    background-color: #000000;
}

.login .gcontainer {
    width: 431px; /* The one-tap dialog is hardcoded by google at 391px wide, plus padding */
    min-height: 100px;
    padding: 20px;
    border-radius: 10px;
    background-color: #ffffff;
    margin: auto;
    display: flex;
    position: relative;
}

@media (min-width: 992px) {
    .login .gcontainer {
        min-height: 400px;
    }
}

.login .g_id_signin {
    height: 40px; /* https://stackoverflow.com/a/72919327 */
    overflow: hidden;
    z-index: 20;
}

#favoriteModal .modal-body div {
    margin-bottom: 20px;
}

#favoriteModal .modal-body .form-label {
    font-weight: normal;
}

#favoriteModal .btn[disabled] {
    opacity: 75%;
    color: #827717;
}

#favoriteForm #favoriteToggle {
    width: 0.9em;
    height: 0.9em;
}

#favoriteForm #favoriteToggleLabel {
    margin-left: 5px;
}

#favoriteForm .form-control {
    background: rgba(33, 33, 33, 0.8);
    border-color: #000;
}

#favoriteForm *:disabled {
    color: #666666;
}

/* Large Devices, Wide Screens */
@media only screen and (max-width : 1200px) {
    .controls .key.key-arrows img {
        width: 120px;
    }

    .controls .key {
        margin-top: .5rem;
    }

    .controls .key.key-escape img {
        width: 51.75px;
    }

    .controls .key.key-enter {
        width: 120px;
    }

    .controls .key.key-enter img {
        width: 94.5px;
    }

    .controls .key.key-t img {
        width: 39px;
    }

    .controls .key.key-spacebar img {
        width: 141.75px;
    }

    .alpha-test {
        margin-top: 20px;
    }
}

/* Medium Devices, Desktops */
@media only screen and (max-width : 992px) {

    .leaderboard-menu li {
        padding: 20px 0px;
        font-size: 16px;
    }

}


/* Small Devices, Tablets */
@media only screen and (max-width : 768px) {

    .header .nav.mobile-expanded {
        background: transparent;
    }


    .header .nav li {
        display: inline-block;
        margin-right: 0;
    }


    .leaderboard-menu ul {
        margin: 0 auto 10px;
        border-right: none;
    }

    .leaderboard-menu li {
        padding: 20px 0;
        font-size: 16px;
        display: inline-block;
        width: 135px;
    }

    .maps .graph svg {
        border-right: none;
    }

    .footer .header-title {
        display: none;
    }

    .footer ul {
        display: none;
    }

}

/* Extra Small Devices, Phones */
@media only screen and (max-width : 480px) {

    .controls .key {
        margin-right: 0;
    }

    .controls .key.key-escape{
        margin-right: 0;
    }

    .header h1 {
        margin-bottom: 10px;
        width: 100%;
        max-width: 100%;
        text-align: center;
    }

    .header .userbar {
        display: none;
    }

    .header .nav {
        width: 100%;
        background: transparent;
        position: absolute;
        bottom: auto;
        top: 0;
        left: 0;
        z-index: 10;
    }

    .header .nav .mobile-menu-toggle {
        display: block;
        background: transparent;
        border: none;
        position: absolute;
        right: 10px;
        z-index: 10;
        transition: all 400ms ease;
    }

    .header .nav.mobile-expanded .mobile-menu-toggle {
        transform: rotate(90deg);
        margin-right: 0;
    }

    .header .nav .mobile-menu-toggle svg {
        fill: #fff;
    }

    .header .nav.mobile-expanded {
        background: #353535;
    }

    .header .nav ul {
        display: none;
    }

    .header .nav.mobile-expanded ul {
        display: block;
    }

    .header .nav li {
        display: none;
    }

    .header .nav .active-tab a {
        border: none;
        border-bottom: 1px solid #191919;
    }

    .header .nav a {
        border-bottom: 1px solid #191919;
    }

    .leaderboard-menu li {
        padding: 20px 0;
        font-size: 16px;
        display: inline-block;
        width: 80px;
    }
}

/* Custom, iPhone Retina */
@media only screen and (max-width : 320px) {

}

/* Ranked Leaderboard Movement Arrows */
.rank-container {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.movement-number {
    display: inline-block;
    font-size: 12px;
    margin-right: 4px;
}

.rank-movement {
    display: flex;
    justify-content: flex-end;
    font-size: 12px;
    margin-left: 16px;
    min-width: 24px;
    line-height: 1;
    padding-right: 8px;
}

.rank-movement.up {
    color: #4CAF50;
}

.rank-movement.up::after {
    content: 'â–²';
}

.rank-movement.down {
    color: #f44336;
}

.rank-movement.down::after {
    content: 'â–¼';
}

.rank-movement.new {
    color: #f1fe3f;
}

.rank-movement.new::after {
    content: 'New!';
    font-size: xx-small;
    padding-right: 2px;
}

.rank-movement.same {
    color: #95a5a6;
}

.rank-movement.same::after {
    content: 'â€¢';
    padding-right: 2px;
    opacity: 0.1;
}

.rank-player .winStreak {
    margin-right: 0px;
    font-size: x-small;
}

.rank-player .right-half {
    object-fit: cover;
    clip-path: inset(0 0 0 50%);
}

/* Trophy icons with animation for top 3 positions */
.medallion {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 28px;
    min-height: 28px;
    text-align: center;
    position: relative;
}

.medallion::before {
    content: '';
    position: absolute;
    width: 24px;
    height: 24px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.medallion-1 {
    font-weight: bold;
    color: #1A237E;
}

.medallion-1::before {
    content: 'ðŸ†';
    font-size: 18px;
    animation: trophy-shine 3s infinite;
}

.medallion-2 {
    font-weight: bold;
    color: #003366;
}

.medallion-2::before {
    content: 'ðŸ¥ˆ';
    font-size: 18px;
    animation: trophy-glow 4s infinite;
}

.medallion-3 {
    font-weight: bold;
    color: #1B3B6F;
}

.medallion-3::before {
    content: 'ðŸ¥‰';
    font-size: 18px;
    animation: trophy-bounce 2s infinite;
}

/* Custom row styling for top 3 positions */
tr.top-rank-1 {
    background: linear-gradient(to right, rgba(255, 215, 0, 0.2), rgba(255, 215, 0, 0.05)) !important;
    box-shadow: 0 0 10px rgba(255, 215, 0, 0.3);
}

tr.top-rank-2 {
    background: linear-gradient(to right, rgba(176, 196, 222, 0.35), rgba(211, 211, 211, 0.15)) !important;
    box-shadow: 0 0 5px rgba(192, 192, 192, 0.2);
}

tr.top-rank-3 {
    background: linear-gradient(to right, rgba(205, 127, 50, 0.2), rgba(205, 127, 50, 0.05)) !important;
}

/* Highlight current user's row in the leaderboard */
tr.current-user-row {
    outline: 1px solid rgba(255, 204, 0, 0.6);
    position: relative;
    z-index: 1;
}

tr.current-user-row td:first-child {
    border-left: 2px solid rgba(255, 204, 0, 0.7);
}

tr.current-user-row td:last-child {
    border-right: 2px solid rgba(255, 204, 0, 0.7);
}

/* Animations for trophy icons */
@keyframes trophy-shine {
    0%, 100% {
        filter: brightness(1);
        transform: scale(1);
    }
    50% {
        filter: brightness(1.3) drop-shadow(0 0 5px gold);
        transform: scale(1.05);
    }
}

@keyframes trophy-glow {
    0%, 100% {
        filter: brightness(1);
    }
    50% {
        filter: brightness(1.2) drop-shadow(0 0 3px silver);
    }
}

@keyframes trophy-bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-2px);
    }
}

.table td.rank-container {
    padding: 0.2em 0.2em;
}

.rank-wrapper {
    min-width: 23px;
    text-align: center;
}

.rank-number {
    position: relative;
    right: .5px;
}

/* Hide rank numbers for top 3 positions */
.medallion-1 .rank-number,
.medallion-2 .rank-number,
.medallion-3 .rank-number {
    display: none;
}

.season-selector {
    margin-bottom: 15px;
}

.season-selector select {
    max-width: 300px;
    width: 100%;
}

/* Ranked Leaderboard Current User Skill Display */
.current-user-skill h3 {
    margin-top: 20px;
    margin-bottom: 15px;
}
.current-user-skill .user-stats-container,
.current-user-skill .tier-distribution-container {
    background-color: #353535;
    padding: 15px;
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    color: #fff;
}
.current-user-skill .user-name {
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 10px;
}
.current-user-skill .user-name a {
    color: #fff;
    text-decoration: none;
}
.current-user-skill .user-name a:hover {
    text-decoration: underline;
}
.current-user-skill .stat-row {
    margin-bottom: 8px;
    color: #fff;
    display: flex;
    justify-content: space-between;
}
.current-user-skill .stat-label {
    font-weight: bold;
    color: #ddd;
}
.current-user-skill .skill-value {
    font-weight: bold;
    color: #fff;
}
.current-user-skill .tier-value {
    font-weight: bold;
    color: #fff;
}
.current-user-skill .games-value {
    font-weight: bold;
    color: #fff;
}
.current-user-skill h4 {
    margin-top: 15px;
    margin-bottom: 10px;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
}
.current-user-skill .tier-distribution {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.current-user-skill .tier-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.current-user-skill .tier-name {
    font-weight: bold;
    margin-right: 5px;
    flex: 1;
}
.current-user-skill .tier-row.active .tier-name {
    color: #ffcc00;
    text-shadow: 0 0 5px rgba(255, 204, 0, 0.5);
}
.current-user-skill .tier-icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 8px;
    background-image: url('/images/flair.png');
    background-repeat: no-repeat;
    vertical-align: middle;
}
.current-user-skill .tier-percent {
    color: #aaa;
    font-size: 12px;
    width: 100px;
    text-align: right;
}

.current-user-skill .tier-count {
    color: #8BC34A;
    font-size: 11px;
    margin-left: 2px;
}
.current-user-skill .tier-note {
    margin-top: 10px;
    font-size: 12px;
    color: #aaa;
    font-style: italic;
}
.tier-separator {
    background-color: transparent !important;
}

.tier-separator-content {
    padding: 10px 0 !important;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tier-separator-line {
    flex-grow: 1;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.2);
}

.tier-separator-text {
    padding: 0 10px;
    font-weight: bold;
    color: #ffd700;
    font-size: 14px;
    white-space: nowrap;
}
/* Top notification that appears briefly */
.ranked-notification-top {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    display: flex;
    justify-content: center;
    padding-top: 10px;
    animation: slide-down 0.5s ease-out;
}

.ranked-notification-modal {
    width: 300px;
    background-color: rgba(20, 20, 20, 0.9);
    border: 4px solid #ffd700;
    border-radius: 8px;
    padding: 20px;
    color: white;
    text-align: center;
    animation: fadeIn 0.3s ease-out, bounce 0.5s ease-out;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.5);
}

.ranked-notification-modal.urgent {
    animation: urgent-pulse 1.2s infinite;
}

.ranked-notification-modal.critical {
    animation: critical-pulse 0.8s infinite;
}

.ranked-notification-header {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 15px;
    color: #ffd700;
}

.ranked-notification-minimized {
    position: fixed;
    top: 10px;
    left: 50%;
    background-color: rgba(20, 20, 20, 0.9);
    border: 2px solid #ffd700;
    border-radius: 4px;
    padding: 10px;
    color: white;
    z-index: 1000;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
    width: 240px;
    transform: translateX(-50%) translateY(-100%);
    animation: slide-down-center 0.5s forwards, pulse 2s infinite;
}

.ranked-notification-minimized.urgent {
    animation: urgent-pulse 1.2s infinite;
}

.ranked-notification-minimized.critical {
    animation: critical-pulse 0.8s infinite;
}

.minimized-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.timer {
    display: inline-block;
    width: 40px;
    height: 40px;
    position: relative;
    margin: 0 10px;
}

.timer-circle {
    stroke-dasharray: 283;
    stroke-dashoffset: 0;
    transform: rotate(-90deg);
    transform-origin: 50% 50%;
    transition: stroke-dashoffset 1s linear;
    stroke: #ffd700;
}

.ranked-notification-go {
    background-color: #4CAF50;
    color: white;
    border: none;
    padding: 5px 10px;
    border-radius: 4px;
    font-size: 14px;
    cursor: pointer;
    transition: background-color 0.3s;
    margin-left: 10px;
}

.ranked-notification-go:hover {
    background-color: #45a049;
}

.ranked-notification-minimized #info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex-grow: 1;
}

.ranked-notification-minimized #count {
    font-weight: bold;
    font-size: 30px;
    color: #ffd700;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes bounce {
    0% { transform: scale(0.8); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}

@keyframes slide-in {
    to { transform: translateX(0); }
}

@keyframes slide-down-center {
    to { transform: translateX(-50%) translateY(0); }
}

@keyframes slide-down {
    from { transform: translateY(-100%); }
    to { transform: translateY(0); }
}

@keyframes pulse {
    0% { box-shadow: 0 0 0 0 rgba(255, 215, 0, 0.7); }
    70% { box-shadow: 0 0 0 10px rgba(255, 215, 0, 0); }
    100% { box-shadow: 0 0 0 0 rgba(255, 215, 0, 0); }
}

@keyframes urgent-pulse {
    0% { box-shadow: 0 0 0 0 rgba(255, 215, 0, 0.7); transform: translateX(-50%) scale(1); }
    50% { box-shadow: 0 0 20px 5px rgba(255, 215, 0, 0.3); transform: translateX(-50%) scale(1.02); }
    100% { box-shadow: 0 0 0 0 rgba(255, 215, 0, 0); transform: translateX(-50%) scale(1); }
}

@keyframes critical-pulse {
    0% { box-shadow: 0 0 0 0 rgba(255, 50, 50, 0.7); transform: translateX(-50%) scale(1); }
    50% { box-shadow: 0 0 30px 10px rgba(255, 50, 50, 0.5); transform: translateX(-50%) scale(1.03); }
    100% { box-shadow: 0 0 0 0 rgba(255, 50, 50, 0); transform: translateX(-50%) scale(1); }
}

/* Tier Badge Styles */
.tier-badge {
    display: inline-block;
    padding: 1px 5px;
    margin-left: 5px;
    border-radius: 4px;
    font-size: 0.8em;
    font-weight: bold;
    text-shadow: none;
    box-shadow: none;
}

/* Diamond - Tier 1 */
.tier-1 {
    background: transparent;
    border: 2px solid #27c3c3;
    color: #27c3c3;
}

/* Platinum - Tier 2 */
.tier-2 {
    background: transparent;
    border: 2px solid #b4b4b4;
    color: #b4b4b4;
}

/* Gold - Tier 3 */
.tier-3 {
    background: transparent;
    border: 2px solid #ffd700;
    color: #ffd700;
}

/* Silver - Tier 4 */
.tier-4 {
    background: transparent;
    border: 2px solid #c0c0c0;
    color: #c0c0c0;
}

/* Bronze - Tier 5 */
.tier-5 {
    background: transparent;
    border: 2px solid #cd7f32;
    color: #cd7f32;
}

/* Iron - Tier 6 */
.tier-6 {
    background: transparent;
    border: 2px solid #a19d94;
    color: #a19d94;
}

/* Copper - Tier 7 */
.tier-7 {
    background: transparent;
    border: 2px solid #b87333;
    color: #b87333;
}

/* Tin - Tier 8 */
.tier-8 {
    background: transparent;
    border: 2px solid #b5c5cf;
    color: #b5c5cf;
}

/* Launcher styles */
.launcher .team-member .tier-badge {
    vertical-align: middle;
    white-space: nowrap;
    font-size: 0.7em;
    padding: 1px 3px;
    display: inline-block;
    flex-shrink: 0;
    border-radius: 3px;
    min-width: 24px;
    text-align: center;
    background: transparent;
}

.launcher .blue-team .team-member .tier-badge {
    margin-left: 8px;
}

.launcher .red-team .team-member .tier-badge {
    margin-right: 8px;
}

/* Profile page tier styles */
.profile-tier-display {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 300px;
}

.profile-tier-display .tier-badge {
    font-size: 0.9em;
    padding: 3px 8px;
    border-radius: 4px;
    font-weight: bold;
}

.profile-tier-display .skill-value {
    font-weight: bold;
    color: #ffcc00;
}

.profile-tier-display .rank-value {
    color: #aaa;
    font-size: 0.9em;
}

.profile-tier-display .movement {
    font-size: 0.85em;
    padding: 2px 5px;
    border-radius: 3px;
}

.profile-tier-display .movement.up {
    color: #4caf50;
}

.profile-tier-display .movement.down {
    color: #f44336;
}

.profile-tier-display .movement.new {
    color: #2196f3;
}

.profile-tier-display .decay-info {
    color: #ff9800;
    cursor: help;
}

.win-streak {
    width: 16px;
    display: inline-block;
    font-size: 14px;
}

.streak-count {
    color: #ff6600;
    font-size: 12px;
}

.launcher .team-member {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 5px 8px 5px;
    border-bottom: 1px solid #444;
    margin-bottom: 5px;
    box-sizing: border-box;
    width: 100%;
}

.launcher .player-info {
    display: flex;
    align-items: center;
    flex: 1;
    margin: 0 10px;
    gap: 5px;
    min-width: 0;
}

.launcher .player-info a {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    min-width: 0;
}

.launcher .team-average {
    margin-bottom: 15px;
    text-align: center;
    font-size: 16px;
}

.launcher .skill-value {
    font-weight: bold;
    margin: 0 5px;
    min-width: 45px;
    flex-shrink: 0;
}

.launcher .red-team .player-info,
.launcher .blue-team .player-info {
    flex: 1;
    justify-content: flex-start;
}

.launcher .red-team, .launcher .blue-team {
    width: 48%;
    min-width: 300px;
    max-width: 350px;
    padding: 15px 5px 15px 5px;
    border-radius: 5px;
    transition: width 0.3s ease;
    box-sizing: border-box;
    overflow: hidden;
}

.launcher .red-team {
    background-color: rgba(255, 0, 0, 0.2) !important;
}

@media (max-width: 768px) {
    .launcher-teams {
        flex-direction: column;
    }

    .launcher .red-team,
    .launcher .blue-team {
        width: 100%;
        margin-bottom: 15px;
    }

    .launcher .versus-container {
        display: none;
    }
}

.launcher .blue-team {
    background-color: rgba(0, 0, 255, 0.2) !important;
}

.launcher .versus-container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    padding: 0 10px;
}

.launcher .versus-text {
    font-size: 18px;
    font-weight: bold;
}

.launcher .team-header {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
    text-align: center;
}

.launcher .team-list {
    border-top: 1px solid #444;
    background-color: transparent !important;
}</pre></body></html>