html, body, .map-container {
    width:100%;
    height:100%;
    margin: 0;
}

@keyframes FlashOrFragDeployed {
    0% {
        box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.8);
        opacity: 1;
    }
    100% {
        box-shadow: 0 0 0 50px rgba(0, 0, 0, 0.8);
        opacity:0;
    }
}
@keyframes BombPlanted {
    0% {
        box-shadow: 0 0 0 0 rgba(185, 5, 5, 0.8);
    }
    100% {
        box-shadow: 0 0 0 50px rgba(185, 5, 5, 0);
    }
}
@keyframes BombExploded {
    0% {
        box-shadow: 0 0 0 0 rgba(185, 5, 5, 0.8);
    }
    100% {
        box-shadow: 0 0 0 150px rgba(185, 5, 5, 0);
    }
}
@keyframes BombDefused {
    0% {
        box-shadow: 0 0 0 0 rgba(5, 185, 5, 0.8);
    }
    100% {
        box-shadow: 0 0 0 150px rgba(5, 185, 5, 0);
    }
}
.map-container {
    position: relative;
}

.map-container .map {
    width:1024px;
    height: 1024px;
    position: relative;
    transform: scale(1);
    transition: all 0.5s;
}
.map .player, .map .grenade, .map .bomb {
    position: absolute;
    height:0px;
    width:0px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.5s ease;
    .content {
        position: absolute;
        width: 30px;
        height: 30px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    /*transition: all 0.1s ease;/**/
}
.map .player .background {
    /*background-color:white;*/
    /*clip-path: polygon(0 0, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0 0);*/
    background-image: url('./assets/playerBg.png');
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    transition:transform 0.2s linear;
}
.map .player .background-fire {
    position: absolute;
    width:200%;
    height:200%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition:transform 0.2s ease;
    /*background-color:white;*/
    /*clip-path: polygon(0 0, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0 0);*/

}
@keyframes Blink {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
.map .player .background-fire .bg {
    width:100%;
    height:100%;
    background-image: url('./assets/shootFire.png');
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    position: relative;
    left: 50%;
    animation: Blink;
    animation-duration: 0.25s;
    animation-iteration-count: infinite;
}
.map .player.dead {
    opacity: 0.2;
    z-index: 1;
}
.map .player {
    transition:transform 0.1s ease, opacity 1s;
    image-rendering: -moz-crisp-edges; /* Firefox */
    image-rendering: -o-crisp-edges; /* Opera */
    image-rendering: -webkit-optimize-contrast; /* Webkit (non-standard naming) */
    image-rendering: crisp-edges;
    -ms-interpolation-mode: nearest-neighbor; /* IE (non-standard property) */
}
.map .player:not(.dead) {
    z-index: 2;
}

.map .player.flashed.CT:not(.dead) .label {
    background: rgb(159 197 255);
}
.map .player.flashed.T:not(.dead) .label {
    background: rgb(255 219 165);
}
.map .player.active .background {
    width:120%;
    height:120%;
}

/*
.map .player.shooting .background {
    width: 110%;
    height: 110%;
}

.map .player.active.shooting .background {
    width: 132%;
    height: 132%;
}
*/
.map .player.active {
    z-index: 3;
}
.map .player.active .content {
    width:48px;
    height:48px;
}
.map .grenade .background {
    border-radius:50%;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    opacity:1;
    transition: opacity 0.25s;
}
.map .grenade.smoke .background {
    background-color: rgba(255,255,255,0.5);
    opacity: 1;
    transition: opacity 1s;
}
.map .grenade.smoke.inair .background {
    background-color: transparent !important;
    border: none !important;
    background-image: url('./grenades/smoke.png');
    filter: invert(1);
}
.map .grenade.smoke.exploded .background {
}
.map .grenade.flashbang, .map .grenade.frag {
    filter: invert(1);
}
.map .grenade.flashbang .background {
    background-image: url('./grenades/flash.png');
    background-color: transparent;
}
.map .grenade.frag .background {
    background-image: url('./grenades/frag.png');
    background-color: transparent;
}
.map .grenade .explode-point, .map .bomb .explode-point {
    position: absolute;
    width: 2px;
    top: calc(50% - 1px);
    left:  calc(50% - 1px);
    height: 2px;
    border-radius: 0.08px;
}
.map .grenade.flashbang.exploded .explode-point, .map .grenade.frag.exploded .explode-point {
    animation: FlashOrFragDeployed 0.25s 1 forwards;
}

.map .grenade.flashbang.exploded .background, .map .grenade.frag.exploded .background {
    opacity: 0;
}
.map .grenade.smoke .background {
    background-color: rgba(255,255,255,0.5);
}
.map .grenade.smoke.CT .background {
    border: 5px solid var(--color-new-ct);
    background-color: rgba(255, 255, 255,0.5);
}
.map .grenade.smoke.T .background {
    border: 5px solid var(--color-new-t);
    background-color: rgba(255, 255, 255,0.5);
}
.map .grenade.firebomb .background {
    background-color:transparent;
    background-image: url('./grenades/firebomb.png');
    filter: invert(1);
}
.map .grenade.inferno {
    width:12px;
    height:12px;
}
.map .grenade .content {
    position: absolute;
}
.map .grenade.inferno .background {
    background-color: red;
    opacity: 0.5;
    border: 2px solid orange;
}
.map .player .background, .map .player .label,.map .grenade .background, .map .bomb .background {
    position: absolute;
    width:100%;
    height:100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.map .player .label {
    color: white;
    font-weight: 600;
    border-radius: 50%;
    transition: background-color 0.5s;
    -webkit-font-smoothing: crisp-edges;
    font-size: 37px;
    text-shadow: 4px 4px 0 black;
}
.map .bomb {
    transition:transform 0.1s ease;
}
.map .bomb .background {
    background-image: url('./grenades/bomb.png');
    background-size: 66%;
    background-position: center;
    background-repeat: no-repeat;
    border-radius:50%;
}
.map .bomb.planted .explode-point, .map .bomb.defusing .explode-point {
    animation: BombPlanted 2s infinite;
}
.map .bomb.exploded .explode-point {
    animation: BombExploded 2s 1 forwards;
}
.map .bomb.defused .explode-point {
    animation: BombDefused 2s 1 forwards;
}
.map .player.CT .label {
    background: rgb(16, 88, 197)
}
.map .player.T .label {
    background: rgb(255, 153, 0);
}
.map .player.T.hasBomb .label {
    background: red;
}

.map .player.dead .background {
    display: none;
}
.map .player.dead .label {
    background: transparent;
}
.map .player.dead.CT .label, .map .player.CT .label div {
    color: var(--color-new-ct);
}
.map .player.dead.T .label, .map .player.T .label div {
    color: var(--color-new-t);
}
.map .hidden {
    opacity: 0 !important;
}

.map .grenade {
    &.smoke {
        &.exploded, &.landed {
            .background {
                display: flex;
                flex-wrap: wrap;
            }
        }
    }
}
