﻿:root {
    --animate-duration: .25s;
}

.noselect {
    -webkit-user-select: none; /* Safari */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* IE10+/Edge */
    user-select: none; /* Standard */
}

.game-menu {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    font-family: square-bold;
}

    .game-menu.background {
        background-color: black;
/*        aspect-ratio: 1;*/
        background-image: url("img/menu-background2.png");
        background-size: 100%;
        background-repeat: no-repeat;
        background-position-x: 0;
        background-position-y: 0;
    }

    .game-menu .version {
        position: absolute;
        bottom: 10px;
        left: 25px;
        font-size: 1.2em;
    }

    .game-menu .bottom-label {
        position: absolute;
        bottom: 10px;
        right: 25px;
        left:25px;
        font-size: 1.2em;
    }

    .game-menu .title {
        font-family: military;
        text-align: center;
        padding: 20px;
        font-size: 6rem;
        color: #ddd;
        text-shadow: 0 0 30px rgba(0, 0, 0, .75);
    }

    .game-menu .button {
        font-size: 1.2rem;
        margin: 0px 12px;
        padding: 0 1em;
        border-radius: 1em;
        font-family: military;
    }

        .game-menu .button:focus {
            box-shadow: 0 0 0 0.1em #000, 0 0 0 0.25em #aaa;            
        }

    .game-menu .descr-text {
        margin-top: 24px;
        font-size: 1.5rem;
/*        background-color: rgba(5, 5, 15, .5);*/
        background: linear-gradient(90deg, 
            rgba(0, 0, 0, 0) 0%, 
            rgba(5, 5, 15, 0.5) 25%, 
            rgba(5, 5, 15, 0.5) 75%, 
            rgba(0, 0, 0, 0) 100%);
        padding: 16px;
    }

    .game-menu .descr-text2 {
        font-size: 1.5rem;
        /*        background-color: rgba(5, 5, 15, .5);*/
        background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(5, 5, 15, 0.5) 25%, rgba(5, 5, 15, 0.5) 75%, rgba(0, 0, 0, 0) 100%);
        padding: 16px;
    }

    .game-menu .form-control:focus {
        box-shadow: 0 0 0 0.1em #000, 0 0 0 0.25em #aaa;
        border-color: #999;
    }

    .game-menu .name-input {
        font-family: sans-serif;
        width: 50%;
        min-width: 340px;
        border-radius: 2em;
        margin-left: auto;
        margin-right: auto;
        background-color: #1a222b;
    }

.prevent-select {
    -webkit-user-select: none; /* Safari */
    -ms-user-select: none; /* IE 10 and IE 11 */
    user-select: none; /* Standard syntax */
}

.btn-check:checked + .btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check) + .btn:active {
    box-shadow: 0 0 0 0.1em #000, 0 0 0 0.2em #aaa;
    background-color: #7dadcb;
}

.copy-button {
    border-radius: 2em;
    padding: 2px .4em;
}

.copy-toast {
/*    font-size:.75em;*/
/*    background:rgba(0,0,0,.5);
    padding:.25em 1em;
    border-radius:1em;*/
    color:#878646;
}

:not(.copy-button.btn-check) + .copy-button.btn:active {
    box-shadow: none;
    background-color: #1a222b;
}

.hidden {
    visibility: hidden;
}

.game-screen-container {
    background-color: black;
    aspect-ratio: 1;
    position: relative;
}

.game-action {
/*    background-color: red;*/
/*    aspect-ratio: 1;*/
}

.game-frame {
    width: 100%;
    height: 100%;
    overflow:hidden !important;
}

.game-scene {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
}

.resizable-scene {
    width: 100%;
    height: 100vh;
    position: relative;
}

    .resizable-scene .js-border {
        background-color: #0d1217;
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
        max-width: 100%;
        max-height: 100%;
        aspect-ratio: 1;
        margin: auto;
        /*overflow: hidden;*/
    }

    .resizable-scene .js-border2 {
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
        overflow: hidden;
    }

    .resizable-scene .js-scaler {
        position: absolute;
        left: 0px;
        top: 0px;
        width: 1320px;
/*        height: 1320px;*/
        aspect-ratio: 1;
        margin: auto;
        transform-origin: 0 0;
    }

.side-menu {
    position: absolute;
/*    left: -48px;*/
    bottom: 0;
    right: 0;
    height: 1px;
    width: 100%;
}
    .side-menu .button-container {
        position: absolute;
        bottom:0;
        right: 0;
/*        padding-top:1em;*/
        padding: 1em;
    }

    .side-menu .button {
        padding: 0 8px;
        box-shadow: none !important;
        background-color: #1a222b;
    }

.settings-modal .modal-content {
    background-color: #1A222B;
    border: none;
    box-shadow: 0 0 2px 7px rgba(0,0,0,.3);
}


input[type=range]::-webkit-slider-thumb {
    background-color: #6c757d;
}

/*input[type=range]::-moz-range-thumb {
    background-color: #6c757d;
}*/


table.settings-table {
    width: 100%;
}

    table.settings-table td.slider {
        width: 100%;
    }

.small-text {
    font-size: .5em;
    font-family: sans-serif;
    color: #eee;
}

.screen-spinner {
    background-color: rgba(0,0,0,.3);
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
}
    .screen-spinner .inner {
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
        max-width: 10%;
        max-height: 10%;
        aspect-ratio: 1;
        margin: auto;
    }

    .screen-spinner .border {
        width: 100%;
        height: 100%;
    }

.j-screen-spinner-panel {
    background-color: rgba(0,0,0,.3) !important;
}
.j-panel-spinner-panel {
    background-color: rgba(0,0,0,.3) !important;
    justify-content: start !important;
    padding-top:1em;
}
.j-modal-spinner-panel {
    background-color: transparent !important;
    position: relative !important;
    font-size: 1.2em;
}

.j-screen-spinner {
    height: 5% !important;
}

.j-panel-spinner {
    height: 1.5em !important;
}

.j-modal-spinner {
    height: 32px !important;
    margin: 12px;
}

.j-screen-spinner-pill {
    background-color: #afc5cb !important;
}

.j-screen-spinner-pill-transparent {
    border: 1px solid #afc5cb;
    background-color: rgba(0,0,0,.3) !important;

}

.end-game-background {
    background-color: rgba(77,0,0,.5);
    padding: 75px 150px;
}

.end-game-inner {
    background-color: #1A222B;
    border: 5px solid #777;
    border-radius: 1em;
    box-shadow: 10px 10px 30px rgba(0,0,0,.5);
    padding: 15px;
    height: 100%;
}

    .end-game-inner .title-label {
        border-bottom: 2px solid #eee;
        margin-bottom:12px
    }

    .end-game-inner .footer {
        background-color:transparent !important;
        position: absolute;
        bottom: 0;
        padding-top: 20px;
        border-top: 2px solid #eee;
        left:0;
        right:0;
        margin:20px;
    }

    .end-game-inner .button {
        font-family: square-bold !important;
        font-size: 1.2em;
    }

.screen-transitions {
    transition: filter 2s;
}
    .screen-transitions.blur {
        filter: blur(4px);
    }

table.game-result-table {
    border-spacing: 8px 0;
    font-family: sans-serif;
    border-collapse: separate;
    width: 100%;
    table-layout: fixed;
}

    table.game-result-table td {
        border-left: 3px solid;
        border-right: 3px solid;
        border-color: #aaa;
        padding: 2px 16px;
    }

    table.game-result-table tr:first-child td {
        border-top: 3px solid;
        border-radius: 16px 16px 0 0;
        text-align: center;
    }

    table.game-result-table tr:last-child td {
        border-bottom: 3px solid;
        border-radius: 0 0 16px 16px;
    }

    table.game-result-table img.shield {
        border: none;
        width: 32px;
        height: 32px;
    }

    table.game-result-table img.shield {
        border: none;
        width: 32px;
        height: 32px;
    }

    table.game-result-table ul {
        margin-bottom: 0;
    }

    table.game-result-table img.mouse {
        border: none;
        width:100px;
    }


.myst-container {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    pointer-events: none;
}
    .myst-container .wisp {
        position: absolute;
        left: 0;
        top: 0;
    }

.night-sky {
    z-index:-1000;
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background-color: #07152C;
    background-image: url("/img/night-sky3.png");
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100% 100%;
}

    .night-sky .stars {
        position: absolute;
        left: 0;
        top: 0;
    }


.game-menu.game-burrow {
    background-color: black;
    background-image: url("img/burrow-background.png");
    background-size: 100%;
    background-repeat: no-repeat;
    background-position-x: 0;
    background-position-y: 0;
}

.game-burrow .button {
    font-family: "square-bold";
}

.game-burrow .settings-modal .modal-content {
    opacity: .75;
}

.game-burrow .settings-modal.opaque .modal-content {
    opacity: 1;
}

.game-burrow table {
/*    border:1px solid white;*/
    height:100%;
    width:100%;
    border-collapse:separate;
    border-spacing:1em;
}
    .game-burrow table tr {
        height: 100%;
    }

    .game-burrow table td {
/*        border:1px solid white;*/
    }

    .game-burrow table tr:first-child {
        height: 1px;
    }

    .game-burrow table .panel-header {
        text-shadow: 2px 2px 1px black;
    }

    .game-burrow table .burrow-code {
        background-color: #1A222B;
        border-radius:8px;
    }

    .game-burrow table tr:last-child {
        height: 1px;
    }

    .game-burrow table td.mates-list {
        width: 30%;
        height: 100%;
    }

    .game-burrow table tr.roster {
        height: 1px;
    }

.game-burrow .code-text {
    color: white;
    letter-spacing:.2em;
}

.game-burrow .burrow-lord-name {
    font-family: sans-serif;
    font-size: 1.2em;
    color: #efd87d;
}

.game-burrow .card {
    height: 100%;
    /*    background-color: rgba(22, 30, 39, .75);*/
    background-color: rgb(8, 12, 17, .75);
    border: none;
    box-shadow: 0 0 2px 7px rgba(0, 0, 0, .3);
    
}

    .game-burrow .card .card-header {
        box-shadow: 0 .25em .25em black;
    }

    .game-burrow .card .card-body {
        overflow: auto;
        padding: 0;
    }

.codename-input {
    font-family: "square-bold";
    width: 100%;
    min-width: 240px;
    border-radius: 1em;
    margin-left: auto;
    margin-right: auto;
    background-color: #1a222b;
    letter-spacing: .5em;
}

.residents-list {
    font-family: sans-serif;
    height: 1px;
}

    .residents-list .list-group-item {
        background-color: rgba(0, 0, 0, .3);
    }

    .residents-list .shield-icon {
        margin: -5px;
        height: 30px;
    }

    .residents-list .item-button {
        background: rgba(0,0,0,.3);
        padding: 0;
        line-height: 1;
    }

        .residents-list .item-button:hover {
            background: rgba(0,0,0,.7);
        }

.btn-group > .btn-group:not(:last-child) > .btn, .btn-group > .btn.dropdown-toggle-split:first-child, .btn-group > .btn:not(:last-child):not(.dropdown-toggle) {
    border-top-right-radius: 2em;
    border-bottom-right-radius: 2em;
}

.residents-list .dropend .dropdown-toggle::after,
.battle-spot .dropdown-toggle::after {
    display: none !important;
}

.residents-list .dropdown-menu {
    margin-right:10px !important;
}

.residents-list li {
    padding: 8px 0;
    cursor: pointer;
}

.residents-list .dropdown-item span {
    margin:4px;
}

.residents-list .list-group-item .admin {
    font-size: 1.2em;
    color: #efd87d;
}

.residents-list .list-group-item .you::after {
    content: " (You)";
}

table.battle-roster {
    width: auto;
    margin-left: auto;
    margin-right: auto;
    border-spacing: .5em;
}

    table.battle-roster tr td:first-child {
        text-align: right;
    }

.battle-spot {
    position:relative;
    height: 80px;
    /*    aspect-ratio: 2;*/
    min-width: 160px;
    width: 100%;
    background-color: #1a222b;
    border-radius: .5em;
    box-shadow: 0 0 2px 5px rgba(0, 0, 0, .3);
}

.battle-spot.filled {
    background-image: url('/img/jerboa2_alpha50.png');
    background-repeat: no-repeat;
    background-blend-mode: soft-light;
}

.battle-spot.filled-bot {
    background-image: url('/img/jerboa_bot_small.png');
    background-repeat: no-repeat;
    background-blend-mode: soft-light;
}

.battle-spot .shielder-name {
    font-family: sans-serif;
    text-shadow: 2px 2px 1px black;
    background:rgba(0,0,0,.5);
    text-align: center;
    padding: .25em 0;
}

    .battle-spot.filled-bot .shielder-name {
        color:#54a0f3;
    }

.battle-spot .delete-button {
    margin-top:4px;
    background: rgba(0,0,0,.3);
    padding: 0;
    line-height: 1;
}
    .battle-spot .delete-button:hover {
        background: rgba(0,0,0,.7);
    }
    .battle-spot .delete-button i {
        font-size:2em;
    }

    .battle-spot .add-button-container {
        display: flex;
        height: 100%;
        justify-content: center;
        align-items: center;
    }

    .battle-spot .add-button {
        font-size: 1.5em;
    }

    .battle-spot .dropdown-menu {
        margin: 10px !important;
        text-align: center;
        font-family: sans-serif;
        text-align:left;
    }

        .battle-spot .dropdown-menu .add-bot-item {
            color: #dadc4a;
        }

.chat-panel {
    background: rgba(0, 0, 0, .5);
    position: absolute;
    top: 0;
    left: 0;
    bottom: 80px;
    right: 0;
    color: white;
    padding: 10px;
    overflow: auto;
    display: flex;
    flex-direction: column;
}

.game-burrow .chat-panel {
    background-color:transparent !important;
    font-family:sans-serif;
}

.game-burrow .chat-message-background {
    background-color: rgba(240, 250, 255, .2) !important;
    display: inline-block;
    max-width: 90%;
}

.game-burrow .chat-message.you .chat-message-background {
    background-color: rgba(140, 190, 255, .2) !important;
}

.game-burrow .chat-message.server .chat-message-background {
    
    background-color: transparent !important;
    padding: 8px 1.5em;
    border-radius:initial !important;
}

.game-burrow .sender-name {
    border-bottom:1px solid #aaa;
}

.game-burrow .server-name {
    font-weight: bold;
}

.game-burrow .chat-input input {
    font-family:sans-serif;
}

.game-burrow .chat-message {
    text-shadow: 1px 1px 1px rgba(0, 0, 0, .5);
}

.game-burrow .chat-message .message-text {
    font-size: 1em !important;
}

.game-burrow .chat-message .sender-name {
    color: #81aebd;
}

.chat-inner-panel {
    margin-top: auto;
}

.chat-message {
    color: #aaa;
    text-shadow: 2px 2px 1px black;
}
    .chat-message.you {
        text-align: right;
    }

    .chat-message .chat-message-background {
        background-color: rgba(0, 0, 0, .6);
        padding: 8px 1.5em;
        border-radius: 2em 2em 2em 0;
    }

    .chat-message.you .chat-message-background {
        border-radius: 2em 2em 0 2em !important;
    }

    .chat-message .sender-name {
        font-weight: bold;
    }

        .chat-message .sender-name.enemy {
            color: #f55;
        }

        .chat-message .sender-name.spectator {
            color: #55fff5;
        }

    .chat-message .message-type {
        font-style: italic;
    }

    .chat-message .message-text {
        color: #ddd;
        font-size: 1.5em;
    }

div.chat-input {
    pointer-events: all;
    position: absolute;
    left: 0;
    bottom: 10px;
    right: 0;
    color: white;
    padding: 10px;
}

.chat-input {
    font-size: 1.5em;
}

.chat-button {
    position: absolute;
    left: 10px;
    bottom: 10px;
}

.close-chat-button {
    position: absolute;
    right: 20px;
    top: 20px;
}

.chat-toasts {
    pointer-events: none;
    position: absolute;
    left: 0;
    bottom: 70px;
    right: 0;
    color: white;
    padding: 10px;
}

.smoke-container {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

.smoke-particle {
    position: absolute;
/*    border: 1px solid #aaa;*/
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% 100%;
}