body {
    background-color: #2B2B2B;
    background-image: url("https://github.com/GameSphere-MultiPlayer/GameSphere/assets/56786344/a00fb41a-c7f0-4aa3-b99d-4b4d966e08ad");
    background-repeat: repeat;
    font-family: "Trebuchet MS", Helvetica, sans-serif;
    color: #DFE0E0;

    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: default;
}

a, h1, span {
    cursor: default;
    text-decoration: none;
}

a {
    color: #A6CCE0;
}

a:hover {
    text-decoration: underline;
}

/* Header */

@keyframes headerhighlight {
    0% { background-color: #369D8A; }
    10% { background-color: #69B7A9; }
    100% { background-color: #369D8A; }
}

#header {
    background-color: #369D8A;
    margin: 0;
    margin-bottom: 10px;
    overflow: hidden;
    padding: 10px;
    border-radius: 5px;
    border-bottom: 5px solid #EE7147;
}

.hhighlight {
    animation-name: headerhighlight;
    animation-duration: 300ms;
    animation-delay: 500ms;
}

#header div {
    display: inline-block;
    padding-right: 10px;
    padding-left: 10px;
    border-right: 1px solid #58AE9E;
}

#header div.right-end {
    float: right;
}

#header div.right {
    border: 0;
    float: right;
}

#header div.end {
    border: 0;
    margin-right: 0;
    padding-right: 0;
}

#header div span {
    font-weight: bold;
    display: block;
    width: 100%;
    text-align: center;
    font-size: 22px;
}

#header div span:last-child {
    font-weight: normal;
    font-size: 12px;
    color: #B0F7EA;
}

@media screen and (max-width: 400px) {
    #header div span {
        font-size: 15px;
    }    

    #header div span:last-child {
        font-weight: normal;
        font-size: 10px;
        color: #B0F7EA;
    }
}

/* Columns */

#columns {
    overflow: hidden;
}

.column {
    width: 100%;
}

.column:first-child {
    margin-top: 0;
}

@media screen and (min-width: 768px) {
    .column {
        margin-top: 0;
    }

    #left {
        float: left;
        width: 25%;
    }
    
    #center {
        width: 45%;
        display: inline-block;
    }
    
    #right {
        width: 30%;
        float: right;
    }
}

/* Widgets */

.widget {
    display: block;
    background-color: #2F3439;
    padding: 5px;
    border-radius: 5px;
}

.widget-invisible {
    display: block;
    background-color: #2B2B2B;
    padding: 0;
}

.widget h1 {
    font-size: 15px;
    padding: 5px;
    margin: 0;
}

@media screen and (min-width: 768px) {
    .widget {
        margin-right: 10px;
    }

    .widget-clear {
        margin-right: 0;
    }
}

/* Collapsed actions */

.column a:last-child {
    margin-bottom: 0;
}

@media screen and (max-width: 768px) {
    .actions {
        height: 180px;
        transition: transform 150ms ease-in-out, height 150ms ease-in-out, margin 150ms ease-in-out;
        margin-bottom: 10px;
    }

    .collapse {
        transform: scaleY(0) translateY(-100%) !important;
        height: 0;
        margin-bottom: -10px;
    }

    #right {
        margin-top: 10px;
    }
}

/* Buttons */

.button {
    display: block;
    border-radius: 5px;
    padding: 15px;
    background-color: #EE7147;
    color: #EEEEEE;
    text-align: center;
    text-decoration: none;
    font-size: 14pt;
    margin-bottom: 10px;
    pointer-events: all;

    transition: background-color 200ms;
    text-decoration: none;
}

.disabled {
    background-color: #B28B7E;
    pointer-events: none;
}

.inline-button {
    display: inline;
}

.small-button {
    padding: 5px;
}

.button:active {
    background-color: #369D8A;
    transition: background-color 200ms;
    text-decoration: none;
}

.button:hover {
    text-decoration: none;
}

@media screen and (min-width: 768px) {
    .button:hover {
        background-color: #369D8A;
        transition: background-color 200ms;
        text-decoration: none;
    }

    .button:active {
        background-color: #54BAA7;
        transition: background-color 200ms;
    }
}

/* Dialog */

.dialog-container {
    visibility: visible;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    
    background-color: #282626;
    opacity: 0.8;
    transition: opacity 50ms ease-in;
}

.dialog {
    position: fixed;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);

    min-width: 280px;
    max-width: 400px;
    
    margin: auto;
    border-radius: 5px;
    
    background-color: #2F3439;
    padding-bottom: 15px; 
    border-bottom: 5px solid #EE7147;
    opacity: 1;
    transition: opacity 200ms  ease-in;
}

.hidden {
    position: absolute;
    visibility: hidden !important;
    opacity: 0.0;
}

.dialog header {
    padding: 15px;
    padding-bottom: 5px;
    font-size: 14pt;
}

.dialog section {
    padding: 5px;
    margin: 10px;
    margin-bottom: 25px;
    background-color: #EEEEEE;
    color: #2F3439;
    border-radius: 5px;
    overflow-y: auto;
    max-height: 70vh;
}

.dialog .button-container {
    margin: 10px;
}

.msghighlight {
    background-color: white;
    padding: 3px;
    border-radius: 3px;
}

.msgerror {
    background-color: white;
    color: #B83310;
    padding: 3px;
    border-radius: 3px;
}

.msghighlight b {
    color: #0D0037;
}

@media screen and (min-width: 768px) {
    .dialog {
        width: 400px;
    }
}

/* Input Range */

.range {
    background-color: #D0D3D2;
    padding: 5px;
    border-radius: 5px;
    margin-bottom: 10px;
}

.range h1 {
    font-size: 16px;
    display: inline-block;
    margin-bottom: 15px;
}

.range span {
    display: inline-block;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    margin-right: 5px;
    margin-left: 5px;
    width: 60px;
}

.range .range-controls {
    margin-top: 13px;
    float: right;
}

.range .button {
    padding-left: 15px;
    padding-right: 15px;
}

/* InfoWidget */

.infowidget {
    background-color: #2B9884;
    margin: 0;
    margin-bottom: 10px;
    overflow: hidden;
    padding: 10px;

    border-radius: 5px;
    color: #DFE0E0;
    border-bottom: 5px solid #EE7147;
}

.infowidget div {
    display: block;
    padding-right: 10px;
    padding-left: 10px;
    border-left: 1px solid #58AE9E;
    float: right;
}

.infowidget .infowidgettitle {
    display: inline-block;
    float: none;
    border: 0;
    padding: 0;
    
    font-size: 16px;
    margin-top: 10px;
    margin-left: 0;
    font-weight: bold;
}

.infowidget div:last-child {
    border: 0;
    float: right;
}

.infowidget div span {
    font-weight: bold;
    display: block;
    width: 100%;
    text-align: center;
    font-size: 22px;
}

.infowidget div span:last-child {
    font-weight: normal;
    font-size: 12px;
    color: #B0F7EA;
}

/* Map */

.mapinfo {
    background-color: #3A3F43;
}

.mapinfo div {
    border-left: 1px solid #4C5157;
    float: left;
}

.mapinfo div:first-child {
    display: block;
    padding-right: 10px;
    padding-left: 10px;
    border: 0;
    float: left;
}
.mapinfo div span:last-child {
    color: #818B95;
    font-size: 11px;
}

#mapcanvas {
    border-bottom: 6px solid #EE7147;
    border-radius: 5px;
}

/* Progress */

ul {
    padding: 0;
    margin: 0;
}

.wprogress p {
    margin: 0 0 5px 0;
    padding: 0;
}

@keyframes proganim {
    0%   {background-color: #464C53;}
    50% {background-color: #4E5560;}
    100% {background-color: #464C53;}
}

.wprogress {
    animation-name: proganim; 
    animation-duration: 1s;
    animation-iteration-count: infinite;
    /* background-color: #464C53; */
    list-style-type: none;
    padding: 10px;
    margin: 0px;
    margin-bottom: 10px;

    border-radius: 5px;
}

.wprogress:last-child {
    margin: 0;
}

progress::-moz-progress-bar { background: #EE7147; }
progress::-webkit-progress-bar { background: #D0D3D2; }
progress::-webkit-progress-value { background: #EE7147; }
progress {
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    width: 100%;
    height: 20px;

    border-radius: 5px;

    background-color: #D0D3D2;
}

.screenhidden {
    display: none;
}

/* Menu */

#menu h1 {
    text-align: center;
    font-size: 9vw;
    letter-spacing: 2vw;
    color: #989898;
    margin-top: 25vh;
    margin-bottom: 20vh;
}

#menu h1 span {
    color: white;
}

#menu .button {
    margin-right: 5vw;
    margin-left: 5vw;
    padding-top: 20px;
    padding-bottom: 20px;
    font-size: 30px;
}

#menu footer {
    text-align: center;
    margin-top: 20vh;
}

/* Messenger */

#messenger header {
    position: absolute;
    display: block;
    background-color: #2B9884;
    padding: 10px;
    height: 30px;

    font-size: 25px;

    border-radius: 5px;
    border-bottom: 5px solid #EE7147;

    top: 10px;
    right: 10px;
    left: 10px;
}

#messenger section {
    position: absolute;
    display: block;
    background-color: #2F3439;
    padding: 5px;
    border-radius: 5px;

    top: 75px;
    bottom: 75px;
    right: 10px;
    left: 10px;
    overflow-y: scroll;
}

#messenger section ul {
    position: absolute;
    bottom: 10px;
    left: 10px;
    right: 10px;
    padding: 10px;
}

#messenger section li {
    list-style-type: none;
    height: auto;
    margin-bottom: 10px;
    overflow-y: visible;
}

#messenger section span {
    display: block;
    float: left;
    width: 50px;
    height: 50px;
    margin-right: 20px;
    background-color: black;
}

#messenger section li p {
    margin-left: 60px;
    padding: 10px;
    font-size: 18px;
    border-radius: 5px;
    background-color: #484E55;
}

#messenger section li p b {
    color: white;
}    

#messenger footer {
    position: absolute;
    display: block;
    height: 50px;
    bottom: 15px;
    left: 10px;
    right: 10px;
    background-color: #3F454B;
    border-radius: 5px;
}

@media screen and (min-width: 768px) {
    #messenger section li p {
        font-size: 15px;
    }        
}

/* Fade */

#fadeDiv {
    display: block;
    visibility: visible;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    
    background-color: #0C0B0B;
    transition: transform 200ms ease-out;
}

.fadehid {
    transform: scaleY(0);
}
