#outcontainer {
    width: 100%;
    height: 100%;
}

.grayed {
    -webkit-filter: grayscale(50%);
    filter: grayscale(50%);
}

/* Revive, disconnect, error screen */
.disconnectwindow {
    width: 640px;
    height: 200px;
    max-width: 100%;
    max-height: 100%;
    text-align: center;
}

/* Popup windows border and background */
.windowborder {
    background-color: #242628f0;
    border: 32px solid transparent;
    border-radius: 24px;
    padding: 32px 32px;
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    margin-top: auto;
    margin-bottom: auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 100;
    font-size: 20pt;
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 2px 0 #000, 1px 2px 0 #000;
    color: white;
    max-width: calc(100% - 128px);
}

.windowborder {
    border-image: url(../../files/gui/bbuilder_windowborder.png) 48 48 fill repeat repeat;
}

#deathscreen .windowborder {
    margin-top: initial;
    margin-bottom: initial;
    top: 50px;
}

/* Popup window title, menu items and close button */
.titletext {
    width: 100%;
    height: 48px;
    position: absolute;
    left: -8px;
    top: -16px;
    font-size: 48px;
    text-align: center;
    color: white;
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 2px 0 #000, 1px 2px 0 #000;
}

.menuitem {
    width: 106px;
    height: 96px;
    float: left;
    position: relative;
    margin-top: 10px;
}

.menuitemtext {
    position: absolute;
    width: 100%;
    height: 20px;
    top: 76px;
    font-size: 20px;
    text-align: center;
    pointer-events: none;
}

.menuitemtext2 {
    position: absolute;
    width: 100%;
    text-align: center;
    pointer-events: none;
}

.menuitemsubtitle {
    position: absolute;
    width: 100%;
    height: 14px;
    right: 5px;
    bottom: 5px;
    line-height: 14px;
    font-size: 14px;
    text-align: right;
    pointer-events: none;
}

.menuitemsmall {
    height: 88px;
}

.menuitem.selected {
    border: 4px solid #ffe060;
    border-radius: 12px;
    height: 124px;
}

.closebutton {
    position: absolute;
    top: -32px;
    right: -32px;
    width: 80px;
    height: 80px;
    cursor: pointer;
}

.closebuttonimage {
    position: absolute;
    left: 24px;
    top: 24px;
    width: 32px;
    height: 32px;
    background: url(../../files/gui/bbuilder_closebutton.png);
    background-size: contain;
}

.backbutton {
    background: url(../../files/gui/bbuilder_backbutton.png);
    background-size: cover !important;
    position: absolute;
    top: -8px;
    left: 0px;
    width: 38px !important;
    height: 38px !important;
}

.likebutton {
    background: url(../../files/gui/bbuilder_likebutton2.png);
    position: absolute;
    bottom: 5px;
    right: 0px;
    width: 80px;
    height: 32px;
    background-size: contain;
}

.unlikebutton {
    background: url(../../files/gui/bbuilder_unlikebutton.png);
    position: absolute;
    bottom: 5px;
    right: 0px;
    width: 80px;
    height: 32px;
    background-size: contain;
}

.bigmapimage {
    background: url(../../files/gui/bbuilder_bigmap.jpg);
    position: absolute;
    left: 0px;
    top: 0px;
    width: 664px;
    height: 400px;
}

.button {
    position: absolute;
    cursor: pointer;
    background: #2f2f2fbd;
    border-radius: 8px;
    color: white;
}

.button:disabled {
    color: lightgray;
}

.statuscontent {
    position: relative;
    left: 2px;
}

/* due to overflow:hidden, divs inside profile status needs to be moved 2px */

#ingamedoms {
    position: absolute;
    overflow: hidden;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
}

#ingamedoms iframe {
    overflow: hidden;
}

/* Position of game buttons */
#chatbutton {
    left: 60px;
    top: 10px;
}

#clanchatbutton {
    display: none !important;
    left: 10px;
    top: 60px;
}

#menubutton {
    left: 10px;
    top: 10px;
}

#homebutton {
    display: none !important;
    left: 128px;
    top: 8px;
}
#playerlistbutton { display: none !important; left: 128px; top: 8px; } /* playerlist button takes the home button's place */

#pmbutton {
    left: 60px;
    top: 140px;
}

#pmbubble {
    width: 100%;
    height: 100%;
    background-size: contain;
}

#coinsbutton {
    display: none;
    right: 240px;
    top: 8px;
}

#helpbutton {
    right: 200px;
    top: 8px;
}

#invitebutton {
    right: 200px;
    top: 8px;
}

#furniturebutton {
    right: 200px;
    top: 8px;
}

#postpicturebutton {
    display: none !important;
    right: 160px;
    top: 8px;
}

#logoutbutton {
    right: 160px;
    top: 48px;
}

#fullscreenbutton {
    display: none !important;
    right: 160px;
    top: 88px;
}

/* Image definitions for game and menu buttons */
#chatbutton {
    background-image: url(../../files/gui/bbuilder_newbutton_chat.png);
}

#clanchatbutton {
    background-image: url(../../files/gui/bbuilder_newbutton_clanchat.png);
}

#menubutton {
    background-image: url(../../files/gui/bbuilder_newbutton_menu2.png);
}

#homebutton {
    background-image: url(../../files/gui/bbuilder_newbutton_home.png);
}

#pmbutton {
    background-image: url(../../files/gui/bbuilder_newbutton_default.png);
}

#pmbubble {
    background-image: url(../../files/gui/bbuilder_newbutton_pm.png);
}

#helpbutton {
    background-image: url(../../files/gui/bbuilder_newbutton_help.png);
}

#invitebutton {
    background-image: url(../../files/gui/bbuilder_newbutton_invite.png);
}

#coinsbutton {
    background-image: url(../../files/gui/bbuilder_newbutton_buycoins.png);
}

#furniturebutton {
    background-image: url(../../files/gui/bbuilder_newbutton_furniture.png);
}

#postpicturebutton {
    background-image: url(../../files/gui/bbuilder_newbutton_share.png);
}

#logoutbutton {
    background-image: url(../../files/gui/bbuilder_newbutton_logout.png);
}

#fullscreenbutton {
    background-image: url(../../files/gui/bbuilder_newbutton_fullscreen.png);
}

/* Size of game and menu buttons */
.gamebutton {
    background-size: auto 40px;
    position: absolute;
    width: 40px;
    height: 40px;
}

.gamewidebutton {
    background-size: auto 40px;
    position: absolute;
    width: 40px;
    height: 40px;
}

.menuitemimage {
    background-size: auto 64px;
    background-repeat: no-repeat;
    position: absolute;
    left: 16px;
    width: 64px;
    height: 64px;
    margin-left: auto;
    margin-right: auto;
    pointer-events: none;
}

.storymenuimage {
    left: 24px;
    top: 36px;
}

/* Popups */
#modal_background {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 99;
    background: rgba(0, 0, 0, 0.25);
    opacity: 0;
    left: 0px;
    top: 0px;
}

#likearrow {
    background: url('../../files/gui/bbuilder_likebutton.png');
    width: 78px;
    height: 40px;
    position: absolute;
    left: 30px;
    top: 85px;
}

#coinsarrow {
    background: url('../../files/gui/bbuilder_coinsarrow.png');
    width: 117px;
    height: 44px;
    position: absolute;
    right: 168px;
    top: 63px;
    pointer-events: none;
}

/* Map markers */
.pin {
    width: 120px;
    height: 20px;
    position: absolute;
    margin: -48px 0px 0px -68px;

    color: white;
    font: bold 22px Coolvetica;
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 2px 0 #000, 1px 2px 0 #000;
    text-align: center;
    padding: 8px 8px;
}

.friendpin {
    width: 240px;
    height: 20px;
    position: absolute;
    margin: -52px 0px 0px -128px;

    color: gold;
    font: bold 18px Coolvetica;
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 2px 0 #000, 1px 2px 0 #000;
    text-align: center;
    padding: 8px 8px;
}

/* Input */
.gamelink {
    color: lime;
}

input[type='text'],
input[type='number'],
textarea {
    height: 24px;
    font-size: 21px;
}

input[type='submit'] {
    -webkit-appearance: button;
    appearance: button;
    width: 120px;
    height: 30px;
    font-size: 21px;
}

input[type='checkbox'] {
    width: 24px;
    height: 24px;
}

/* Images in GUI */

.pixelimage {
    image-rendering: optimizeSpeed;
    image-rendering: -moz-crisp-edges;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: optimize-contrast;
    image-rendering: pixelated;
    -ms-interpolation-mode: nearest-neighbor;
}

.flipximage {
    -moz-transform: scaleX(-1);
    -o-transform: scaleX(-1);
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
    filter: FlipH;
    -ms-filter: 'FlipH';
}

/* Movement help for Facebook version */

#movementhelp {
    background: url(../../files/gui/bbuilder_movementhelp_fb.png);
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 518px;
    height: 518px;
    opacity: 0.8;
}

#movementhelpad {
    position: absolute;
    left: 20px;
    top: 274px;
    right: 15px;
    bottom: 15px;
    color: white;
    font-size: 19px;
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}

/* Short message */

#shortmessage {
    position: absolute;
    left: 0px;
    right: 0px;
    top: 60px;
    height: 30px;
    text-align: center;
    font-size: 20pt;
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 2px 0 #000, 1px 2px 0 #000;
    color: white;
    display: none;
}

#pinglabel {
    position: absolute;
    left: 0px;
    right: 0px;
    bottom: 15px;
    height: 20px;
    text-align: center;
    font-size: 15pt;
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 2px 0 #000, 1px 2px 0 #000;
    color: white;
    pointer-events: none;
    display: none;
}

#pmbubble {
    -webkit-animation: blink 1s;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: steps(1, end);
    -moz-animation: blink 1s;
    -moz-animation-iteration-count: infinite;
    -moz-animation-timing-function: steps(1, end);
    -ms-animation: blink 1s;
    -ms-animation-iteration-count: infinite;
    -ms-animation-timing-function: steps(1, end);
    animation: blink 1s;
    animation-iteration-count: infinite;
    animation-timing-function: steps(1, end);
}

.pmbadge {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 10px;
    padding: 1px 2px 1px 2px;
    background-color: red;
    color: white;
    font-weight: bold;
    font-size: 0.55em;
    border-radius: 30px;
    box-shadow: 1px 1px 1px gray;
    text-shadow: none;
    text-align: center;
}

/* Winner message */

#winnercanvas {
    position: absolute;
    left: 8px;
    top: 90px;
    width: 118px;
    height: 60px;
}

/* Admin console */

.chatnick {
    color: green;
    font-weight: 600;
}

.resizablewindow {
    -webkit-user-select: text;
    user-select: text;
    position: absolute;
    left: 10px;
    top: 10px;
    width: 400px;
    height: 240px;
    max-width: 100%;
    max-height: 100%;
    background-color: rgba(30, 30, 30, 0.8);
    border-width: 1px;
    border-color: black;
    border-radius: 4px;
    border-style: solid;
    z-index: 1000;
    resize: both;
    overflow: auto;
    backdrop-filter: blur(3px);
}

.resizablewindowtitle {
    position: absolute;
    left: 0px;
    top: 0px;
    right: 0px;
    height: 28px;
    padding-left: 5px;
    padding-top: 4px;
    -webkit-user-select: none;
    user-select: none;
    color: white;
    font-family: Verdana;
    font-size: 16px;
    cursor: move;
}

.resizablewindowtitle::after {
    content: attr(title);
}

.resizablewindowclose {
    background: url(../../files/gui/bbuilder_closebutton.png);
    background-size: contain;
    position: absolute;
    top: 2px;
    right: 2px;
    width: 24px;
    height: 24px;
    cursor: pointer;
}

.adminconsoletext {
    position: absolute;
    left: 2px;
    right: 2px;
    bottom: 30px;
    top: 28px;
    background-color: #19191997;
    color: white;
    font-family: Verdana;
    font-size: 14px;
    padding: 5px;
    resize: none;
    overflow: auto;
    border-radius: 10px;
}

.adminconsoleinputcontainer {
    position: absolute;
    left: 2px;
    bottom: 4px;
    right: 20px;
    height: 24px;
}

input[type='text'].adminconsoleinput {
    width: 100%;
    height: 100%;
    padding: 0;
    padding-left: 2px;
    border-width: 0px;
    background-color: #1919197b;
    color: white;
    font-family: Verdana;
    font-size: 15px;
    border-width: 0px;
    border-style: solid;
    border-color: gray;
    resize: none;
}

.resizablewindowcontent {
    position: absolute;
    left: 0px;
    right: 0px;
    top: 28px;
    bottom: 40px;
}

.ace_editor * {
    font: 14px / normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace;
}

/* Custom uploads */
.uploadstitched {
    padding: 10px;
    margin: 10px;
    background: #4f4f4f8f;
    color: #fff;
    font-size: 21px;
    font-weight: bold;
    line-height: 1.3em;
    border: 2px dashed #717171;
    border-radius: 10px;
    box-shadow: 0 0 0 4px #00000078, 2px 1px 6px 4px rgba(10, 10, 0, 0.5);
    font-weight: normal;
}

.uploaddroptext {
    position: absolute;
    left: 0px;
    right: 0px;
    bottom: 10px;
    text-align: center;
    -webkit-user-select: none;
    user-select: none;
    pointer-events: none;
}

/* Offerwall */
.offer .menuitemimage {
    border-radius: 15px;
}

.itembuybutton {
    background-size: auto 96px;
    background-repeat: no-repeat;
    position: absolute;
    width: 96px;
    height: 96px;
    cursor: pointer;
}

/* Notifications */
/* #notifications,
.notification {
	-moz-user-select: none;
	-webkit-user-select: none;
	-o-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

#notifications {
	width: 100%;
	left: 0px;
	top: 64px;
	bottom: 0px;
	position: absolute;
	overflow: hidden;
	pointer-events: none;
	height: 80%;
}

.notification {
	position: relative;
	width: 100%;
	height: auto;
	text-align: center;
}

.notificationtext {
	position: relative;
	width: auto;
	height: auto;
	max-width: calc(100% - 260px);
	background: rgb(19 19 19 / 50%);
	margin-right: 60px;
	margin-bottom: 4px;
	padding: 0px 8px 0px 12px;
	border-radius: 8px;
	color: rgba(255, 255, 255, 0.8);
	display: inline-block;
	text-align: center;
	font-size: 18px;
	text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 2px 0 #000, 1px 2px 0 #000;
	color: white;
	cursor: pointer;
	pointer-events: auto;
}

.notificationtitle {
	position: relative;
	float: left;
	min-height: 30px;
	margin-right: 16px;
}

.notificationbutton,
.notificationbutton[type='submit'] {
	position: relative;
	cursor: pointer;
	background: white;
	float: right;
	width: auto;
	min-width: 60px;
	margin: 1px 2px 1px 0px;
	line-height: 100%;
	border-radius: 6px;
}

.dismissnotification {
	background-image: url(../../files/gui/bbuilder_dismissarrow.png);
	background-repeat: no-repeat;
	position: absolute;
	right: 6px;
	top: 8px;
	width: 20px;
	height: 20px;
	margin-left: 8px;
	display: inline-block;
} */

/* New Notifications */
#notifications,
.notification {
    -moz-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

#notifications {
    top: 20px;
    position: fixed;
    overflow: hidden;
    pointer-events: none;
    right: 20px;
    height: 450px;
    width: 250px;
}

.notification {
    position: relative;
    overflow-y: scroll;
    width: 100%;
    height: auto;
    max-height: 400px;
    text-align: center;
    opacity: 0;
    transform: translateY(-100%);
    animation: displayNotification 0.5s ease forwards;
}

.notification::-webkit-scrollbar {
    display: none;
}

.notificationtext {
    position: relative;
    width: 100%;
    height: auto;
    background: var(--background);
    backdrop-filter: blur(4.5px);
    -webkit-backdrop-filter: blur(4.5px);
    margin-bottom: 10px;
    border-radius: 10px 1px 1px 10px;
    text-align: center;
    cursor: pointer;
    pointer-events: auto;
    box-sizing: border-box;
    padding: 10px;
    border-right: 4px solid white;
    color: #fff;
    font-size: 14px;
    line-height: 20px;
}

.notificationtext img {
    left: 5px !important;
    top: 3px !important;
}

@keyframes displayNotification {
    from {
        opacity: 0;
        transform: translateY(-100%);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.pmtranslate {
    text-decoration: underline;
    color: lightblue;
    cursor: pointer;
}

.pmtranslated {
    color: lightblue;
}

/* Hotkeys */
#hotkeys {
    position: absolute;
    left: 45%;
    bottom: 0px;
    right: 128px;
    height: 80px;
    overflow: hidden;
}

.hotkey {
    float: left;
    position: relative;
    width: 80px;
    height: 80px;
    background-image: url(../../files/gui/bbuilder_hotkey.png);
    background-size: contain;
    cursor: pointer;
}

.hotkeynumber {
    color: #9d9d9d;
    font-family: fantasy;
    position: absolute;
    right: 15px;
    top: 10px;
    font-size: 20px;
    pointer-events: none;
}

.hotkeyimage {
    width: 100%;
    height: 100%;
    pointer-events: none;
    transform: translate(10px, 2px) rotate(225deg);
}

/* ShowVs spar display */

.showvswindow {
    background: rgba(0, 0, 0, 0.5);
    padding: 0px 12px 0px 12px;
    border-radius: 8px;
    color: white;
    text-align: center;
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    margin-top: auto;
    margin-bottom: auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    font-size: 28px;
    line-height: 28px;
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 2px 0 #000, 1px 2px 0 #000;
    color: white;
    max-width: 100%;
    max-height: 100%;
}

.deathwindow {
    width: 640px;
    height: 220px;
    margin-top: initial;
    margin-bottom: initial;
    top: 50px;
    max-width: 100%;
    max-height: 100%;
    text-align: center;
    padding: 20px;
}

#showvs {
    width: 600px;
    height: 250px;
}

.showvsplayer {
    position: absolute;
    width: 250px;
    height: 100%;
}

.showvshead {
    background-size: 480px 200px;
    position: absolute;
    left: 45px;
    top: 32px;
    width: 160px;
    height: 160px;
}

.showvshat {
    background-size: 480px 280px;
    position: absolute;
    left: 45px;
    top: -16px;
    width: 160px;
    height: 240px;
}

.showvsvs {
    position: absolute;
    left: 250px;
    top: 100px;
    width: 100px;
    height: 100px;
    font-size: 48px;
    line-height: 48px;
}

.showvsname {
    position: absolute;
    left: 0px;
    top: 190px;
    width: 100%;
    height: 60px;
    color: lightgray;
}

#showvsplayer1 {
    left: 0px;
}

#showvsplayer2 {
    left: 350px;
}

#showvsclans {
    width: 360px;
    height: 300px;
    background: rgba(0, 0, 0, 0.8);
}

.showvsclan {
    position: absolute;
    left: 0px;
    width: 100%;
    height: 120px;
    font-size: 48px;
    line-height: 48px;
    color: lightgray;
}

.showvsclansvs {
    position: absolute;
    left: 0px;
    top: 120px;
    width: 100%;
    height: 60px;
    font-size: 48px;
    line-height: 48px;
}

#showvsclan1 {
    top: 30px;
}

#showvsclan2 {
    top: 200px;
}

#showvswinner {
    width: 250px;
    height: 330px;
}

#showvsplayerw {
    left: 10px;
    top: 60px;
    height: 270px;
}

.showvslabel,
.showvsclanlabel {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 60px;
    font-size: 48px;
    line-height: 48px;
}

.showvsstreak {
    position: absolute;
    left: 0px;
    top: 235px;
    width: 100%;
    height: 20px;
    font-size: 20px;
    line-height: 20px;
    font-style: italic;
}

#showvsclanwinner {
    width: 360px;
    height: 200px;
}

#showvsclanw {
    top: 80px;
}

/* Story interface */

#recordinterface {
    position: absolute;
    margin-left: auto;
    margin-top: auto;
    margin-right: auto;
    margin-bottom: auto;
    left: 0px;
    right: 0;
    top: 28px;
    bottom: 0;
    width: 256px;
    height: 326px;
}

#recordborder {
    background: url(../../files/gui/bbuilder_recordborder.png);
    background-size: contain;
    position: absolute;
    width: 256px;
    height: 256px;
    left: 0px;
    top: 35px;
}

#recordclosebutton {
    right: -24px;
    top: -24px;
}

#recordstartbutton {
    background: url(../../files/gui/bbuilder_recordbutton.png);
    background-size: contain;
    position: absolute;
    left: 88px;
    bottom: 0px;
    width: 80px;
    height: 32px;
    cursor: pointer;
}

#recordstopbutton {
    background: url(../../files/gui/bbuilder_recordstopbutton.png);
    background-size: contain;
    position: absolute;
    left: 88px;
    bottom: 0px;
    width: 80px;
    height: 32px;
    cursor: pointer;
    display: none;
}

#recordborder.recording {
    -webkit-animation: blink 1s;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation: blink 1s;
    -moz-animation-iteration-count: infinite;
    -moz-animation-timing-function: linear;
    -ms-animation: blink 1s;
    -ms-animation-iteration-count: infinite;
    -ms-animation-timing-function: linear;
    animation: blink 1s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

.storycanvas {
    border: 4px solid #006000;
    border-radius: 24px;
    -webkit-mask-image: -webkit-radial-gradient(white, black);
    mask-image: -webkit-radial-gradient(white, black);
}

.storymenu .menuitem {
    border: 4px solid #006000;
    border-radius: 24px;
    margin-right: 8px;
    width: 114px;
    height: 114px;
}

.storymenu .menuitem.selectedstory {
    border: 4px solid #ffe060;
}

.storymenu .menuitemtext {
    font-size: 18px;
    padding: 4px;
    width: calc(100% - 8px);
    height: auto;
    top: 0px;
    bottom: initial;
    background: rgba(0, 0, 0, 0.4);
    border-radius: 8px;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}

.storymenu .menuitemhead {
    left: 32px !important;
    top: 52px !important;
}

.storymenu .menuitemhat {
    left: 32px !important;
    top: 36px !important;
}

#playlistcontainer {
    margin-left: -8px;
}

.storysmallcontainer {
    border: 4px solid #006000;
    border-radius: 6px;
    -webkit-mask-image: -webkit-radial-gradient(white, black);
    mask-image: -webkit-radial-gradient(white, black);
    margin: -4px;
    overflow: hidden;
    position: absolute;
    width: 144px;
    height: 144px;
}

/* New profile */

.profilefieldlabel {
    position: absolute;
    font-size: 22px;
    width: 180px;
}

.profilefield {
    position: absolute;
    right: 0px;
    top: 0px;
}

.profilebuttons {
    position: absolute;
    left: -18px;
    bottom: -18px;
    width: 100%;
    width: calc(100% + 36px);
    height: 44px;
}

.profilebutton {
    position: absolute;
    top: 0px;
    height: 100%;
    text-align: center;
    cursor: pointer;
    border: 3px solid #5a462f99;
    border-radius: 16px;
    box-sizing: border-box;
    background: rgba(0, 0, 0, 0.3);
}

.profilebutton.selected:before {
    border: solid;
    border-color: #5a462f99 transparent;
    border-width: 0px 8px 8px 8px;
    top: 0px;
    margin-top: -11px;
    content: '';
    left: 50%;
    margin-left: -8px;
    position: absolute;
    z-index: 99;
}

#profilebuttonsocial {
    left: 0px;
    width: 33%;
}

#profilebuttonprofile {
    left: 33%;
    right: 33%;
}

#profilebuttonmore {
    right: 0px;
    width: 33%;
}

.profilehpback {
    position: absolute;
    left: 0px;
    top: 20px;
    width: 180px;
    height: 22px;
    border: 2px solid #ffffff;
    box-sizing: border-box;
    border-radius: 15px;
}

.profilehp {
    position: absolute;
    left: 0px;
    top: 20px;
    height: 22px;
    background: white;
    border: solid 2px #ffffff;
    box-sizing: border-box;
    border-radius: 15px;
}

#profilecharacter {
    pointer-events: none;
}

.profile_specialtitle {
    position: absolute;
    left: 0px;
    top: 270px;
    width: 100%;
    font-size: 22px;
    text-align: center;
    font-style: italic;
    color: #e0e0e0;
}

.profile_specialtitle_level {
    font-size: 12px;
}

.profile_specialtitle_id {
    position: absolute;
    left: 0px;
    top: 290px;
    width: 100%;
    font-size: 22px;
    text-align: center;
    font-style: italic;
    color: #e0e0e0;
}

.profile_achievementtitle {
    position: absolute;
    left: 0px;
    top: 4px;
    width: 100%;
    font-size: 22px;
    text-align: center;
    font-style: italic;
    color: #e0e0e0;
    display: block;
    line-height: 18px;
}

.profile_achievementexp {
    font-size: 16px;
}

.profile_value {
    font-size: 22px;
    font-weight: bold;
}

.profile_id {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    text-align: center;
    font-style: italic;
    color: #e0e0e0;
}

.profile_offlinetime {
    position: absolute;
    left: 0px;
    top: 20px;
}

.profile_online {
    position: absolute;
    left: 0px;
    top: 20px;
}

.profile_onlinetime {
    position: absolute;
    left: 0px;
    top: 60px;
}

.profile_bombs {
    position: absolute;
    left: 165px;
    top: 60px;
}

.profile_coins {
    position: absolute;
    left: 0px;
    top: 95px;
}

.profile_arrows {
    position: absolute;
    left: 165px;
    top: 95px;
}

.profile_eventcoin {
    position: absolute;
    left: 0px;
    top: 130px;
}

.profile_nitrocoin {
    position: absolute;
    left: 0px;
    top: 165px;
}

.profile_eggs {
    position: absolute;
    left: 0px;
    top: 197px;
}

.profile_spar {
    position: absolute;
    left: 0px;
    top: 230px;
}

.profile_kills {
    position: absolute;
    left: 0px;
    top: 265px;
}

.profile_deaths {
    position: absolute;
    left: 0px;
    top: 235px;
    display: none;
}

.profile_mobkills {
    position: absolute;
    left: 0px;
    top: 300px;
}

.profile_holidayloot {
    position: absolute;
    left: 0px;
    top: 270px;
    display: none;
}

.profile_holidayloot2 {
    position: absolute;
    left: 80px;
    top: 270px;
    display: none;
}

.profile_holidayloot3 {
    position: absolute;
    left: 160px;
    top: 270px;
    display: none;
}

.profile_status {
    position: absolute;
    left: 420px;
    top: 0px;
    right: 0px;
    bottom: 16px;
    overflow: auto;
}

.profile_kills .profile_value {
    color: #ffffff;
}

.profile_streak {
    font-style: italic;
    font-size: 18px;
}

.profile_addfriend,
.profile_removefriend {
    position: absolute;
    left: 0px;
    bottom: 28px;
    font-size: 20px;
    cursor: pointer;
    z-index: 1;
}

.profile_addmessage {
    position: absolute;
    left: 274px;
    bottom: 28px;
    font-size: 20px;
    cursor: pointer;
    z-index: 1;
}

.profile_viewclan {
    position: absolute;
    right: 20px;
    bottom: 28px;
    font-size: 20px;
    cursor: pointer;
    z-index: 1;
}

.profile_ping {
    position: absolute;
    left: 0px;
    top: 305px;
    display: none;
}

.profile_like {
    position: absolute;
    vertical-align: middle;
    left: 20px;
    top: 4px;
    font-size: 20px;
    cursor: pointer;
    z-index: 1;
}

/* Identify */
#identifyscreen {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 99;
}

#identifybuttons {
    position: absolute;
    width: 240px;
    height: 120px;
    left: 50%;
    margin-left: -120px;
    top: 50%;
    margin-top: -60px;
}

#identifyscreen .windowborder {
    display: none;
    position: absolute;
    width: 320px;
    height: 100px;
    left: 50%;
    margin-left: -224px;
    top: 50%;
    margin-top: -104px;
}

#identifyscreen .backbutton {
    position: absolute;
    left: -10px;
    width: 160px;
    top: -10px;
    height: 40px;
    cursor: pointer;
    background-size: contain;
    background-repeat: no-repeat;
}

#identifyscreen .menuitem:hover,
#identifyscreen .backbutton:hover,
#identifyscreen input[type='submit']:hover {
    -webkit-filter: brightness(1.4);
    filter: brightness(1.4);
}

#identifybuttons .menuitem {
    position: absolute;
    top: 0px;
    margin-top: 0px;
    height: 120px;
    cursor: pointer;
    background: rgba(0, 64, 0, 0.5);
    border-radius: 8px;
    text-align: center;
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 2px 0 #000, 1px 2px 0 #000;
    color: white;
}

.identifybuttonimage {
    position: absolute;
    left: 5px;
    width: 96px;
    height: 96px;
    background-size: contain;
}

#identifydevicebutton.menuitem {
    left: 0px;
}

#identifydevicebutton .identifybuttonimage {
    background-image: url(../../files/gui/bbuilder_newbutton_logindevice.png);
}

#identifyfacebookbutton.menuitem {
    left: 56px;
}

#identifyfacebookbutton .identifybuttonimage {
    background-image: url(../../files/gui/bbuilder_newbutton_loginfacebook.png);
}

#identifygooglebutton.menuitem {
    left: 0px;
    top: 0px;
}

#identifygooglebutton .identifybuttonimage {
    background-image: url(../../files/gui/bbuilder_newbutton_logingoogle.png);
}

#identifycognitobutton.menuitem {
    left: 56px;
}

#identifycognitobutton .identifybuttonimage {
    background-image: url(../../files/gui/bbuilder_newbutton_loginnewuser.png);
}

#identifysteambutton.menuitem {
    left: 240px;
    display: none;
}

#identifysteambutton .identifybuttonimage {
    background-image: url(../../files/gui/bbuilder_newbutton_loginsteam.png);
}

#identifyemailbutton.menuitem {
    left: 168px;
}

#identifyemailbutton.menuitem {
    left: 168px;
}

#identifyemailbutton .identifybuttonimage {
    background-image: url(../../files/gui/bbuilder_newbutton_loginemail.png);
}

#identifynewuserbutton.menuitem {
    left: 280px;
}

#identifynewuserbutton .identifybuttonimage {
    background-image: url(../../files/gui/bbuilder_newbutton_loginnewuser.png);
}

#identifyforumsbutton.menuitem {
    left: 168px;
    top: 128px;
}

#identifyforumsbutton .identifybuttonimage {
    background-image: url(../../files/gui/bbuilder_newbutton_forum.png);
}

#identifyscreen label {
    position: absolute;
    left: 20px;
    top: 50px;
}

#identifyscreen label#identifynewuserdesc {
    right: 20px;
    top: 80px;
    font-size: 20px;
    text-align: center;
}

#identifyscreen input[type='text'],
#identifyscreen input[type='password'] {
    position: absolute;
    left: 160px;
    right: 20px;
    top: 50px;
    height: 24px;
    font-size: 21px;
}

#identifyscreen input[type='submit'] {
    position: absolute;
    width: 160px;
    left: 50%;
    margin-left: -80px;
    bottom: 0px;
    height: 32px;
}

#identifyscreen input[type='submit']#identifynewusersendbutton {
    width: 240px;
    margin-left: -120px;
}

#identifywait {
    display: none;
    position: absolute;
    width: 64px;
    height: 64px;
    left: 50%;
    margin-left: -32px;
    top: 50%;
    margin-top: -32px;
}

#identifylinks {
    position: absolute;
    left: 4px;
    bottom: 4px;
    font-size: 21px;
    color: #c0c0c0;
}

#identifylinks a:link {
    color: white;
}

#identifylinks a:visited {
    color: white;
}

/* Trading */
.tradeitem {
    border: 4px solid #006000;
    border-radius: 24px;
    margin-top: 4px;
    margin-left: 4px;
    height: 88px;
}

.tradeitem .menuitemtext {
    top: 68px;
    font-size: 16px;
    line-height: 14px;
}

.tradeplayername {
    position: absolute;
    text-align: center;
    width: 100%;
    top: 105px;
    font-style: italic;
    opacity: 0.5;
}

#tradechattext {
    position: absolute;
    left: 0px;
    right: 0px;
    bottom: 36px;
    top: 0px;
    background-color: white;
    color: black;
    font-family: Verdana;
    font-size: 14px;
    padding: 2px;
    border-width: 1px;
    border-style: solid;
    border-color: gray;
    resize: none;
    overflow: auto;
    text-shadow: none;
}

#tradechatinputcontainer {
    position: absolute;
    left: 0px;
    bottom: 4px;
    right: 4px;
    height: 30px;
}

#tradechatinput {
    position: absolute;
    width: 100%;
    height: 100%;
    padding: 0;
    padding-left: 2px;
    border-width: 0px;
    background-color: white;
    color: black;
    font-family: Verdana;
    font-size: 21px;
    border-width: 1px;
    border-style: solid;
    border-color: gray;
    resize: none;
}

.tradebutton {
    width: 70px;
    height: 70px;
    margin: 0 16px 0 -16px;
}

.tradehistoryitem {
    height: 88px;
}

.tradehistoryitem .menuitemtext {
    font-size: 18px;
    line-height: 16px;
    top: 64px;
}

/* File Browser */
#filebrowsertree,
#filebrowserview {
    background-color: rgba(0, 0, 0, 0.85);
}

#filebrowserresizer {
    background-color: rgba(168, 168, 168, 0.89) !important;
}

/* Tree */

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

ul.tree {
    display: none;
}

ul.tree.active {
    display: block;
}

ul.tree ul {
    margin-left: 1em;
}

ul.tree li {
    margin-left: 0.35em;
    border-left: thin solid #000;
}

ul.tree li:last-child {
    border-left: none;
}

ul.tree li:before {
    width: 0.9em;
    height: 0.6em;
    margin-right: 0.1em;
    vertical-align: top;
    border-bottom: thin solid #000;
    content: '';
    display: inline-block;
}

ul.tree li:last-child:before {
    border-left: thin solid #000;
}

ul.tree .foldertitle,
ul.tree li {
    -webkit-user-select: none;
    user-select: none;
    cursor: pointer;
    color: #ebebeb !important;
    font-family: monospace;
    font-size: 15px;
}

ul.tree .foldertitle:before {
    content: '';
    display: inline-block;
    margin: 0 4px 0 0;
    width: 1em;
    height: 1em;
    background: url(../../files/gui/bbuilder_fileicon_folder.png);
    background-size: contain;
}

ul.tree .foldertitle.active:before {
    background-image: url(../../files/gui/bbuilder_fileicon_folderopen.png);
}

ul.tree .filetitle {
    background-image: url(../../files/gui/bbuilder_fileicon_default.png);
    background-size: 0;
    color: #ebebeb !important;
    font-family: monospace;
    font-size: 14px;
}

ul.tree .filetitle:before {
    content: '';
    display: inline-block;
    margin: 0 4px 0 0;
    width: 1em;
    height: 1em;
    background-image: inherit;
    background-size: contain;
}

/* Right-click menu */

.contextmenu_background {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 200;
}

.contextmenucontainer {
    background: var(--background);
    border-radius: 5px;
    position: absolute;
    line-height: 40px;
    z-index: 201;
    color: white;
    font-size: 20px;
    padding: 5px 15px;
    cursor: pointer;
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 2px 0 #000, 1px 2px 0 #000;
}

.contextmenu {
    float: left;
    clear: left;
    width: 100%;
}

/* PM blinking */

@-moz-keyframes blink {
    0% {
        opacity: 1;
        filter: none;
    }

    50% {
        opacity: 0;
        filter: alpha(opacity=0);
    }

    100% {
        opacity: 1;
        filter: none;
    }
}

@-webkit-keyframes blink {
    0% {
        opacity: 1;
        filter: none;
    }

    50% {
        opacity: 0;
        filter: alpha(opacity=0);
    }

    100% {
        opacity: 1;
        filter: none;
    }
}

@keyframes blink {
    0% {
        opacity: 1;
        filter: none;
    }

    50% {
        opacity: 0;
        filter: alpha(opacity=0);
    }

    100% {
        opacity: 1;
        filter: none;
    }
}

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

    100% {
        transform: translateY(0);
    }
}

@keyframes slide {
    0% {
        width: 0%;
    }

    100% {
        width: 100%;
    }
}

@keyframes slide-reverse {
    0% {
        width: 100%;
    }

    100% {
        width: 0%;
    }
}

@keyframes opacity {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

#postpicturebutton { display:none !important; } /* story recording replaced by the video clip button */
/* Video clips (ClientTS VideoRecorder.ts): clip button in the place of the story button,
   replay overlay + preview canvas, export progress box. --safe-* are the notch / home indicator
   insets sent by the app shells (0 elsewhere). Same block in every game's css - adjust per game. */
#clipbutton { right:160px; top:8px; display:none; background-image:url(../../files/gui/bbuilder_newbutton_default.png); }
#clipbutton .clipicon { position:absolute; left:0; width:100%; top:50%; transform:translateY(-50%); text-align:center; font-size:20px; line-height:1; pointer-events:none; }
#clipoverlay { position:absolute; left:0; top:0; width:100%; height:100%; z-index:61; display:none; cursor:pointer; background:rgba(0,0,0,0.7); }
#clipcanvas { position:absolute; left:50%; top:0; height:100%; transform:translateX(-50%); box-shadow:0 0 24px rgba(0,0,0,0.8); }
#clipoverlay div { position:absolute; left:50%; top:calc(16px + var(--safe-top, 0px)); transform:translateX(-50%); background:rgba(180,20,20,0.85); color:#fff; border-radius:8px; padding:8px 16px; font-size:16px; white-space:nowrap; }
#clipprogress { position:absolute; left:50%; top:calc(16px + var(--safe-top, 0px)); transform:translateX(-50%); width:220px; background:rgba(20,36,61,0.9); border:2px solid #ffd75e; border-radius:8px; padding:6px 10px; color:#fff; font-size:14px; z-index:60; display:none; cursor:pointer; }
#clipprogress .clipprogresstrack { height:6px; background:rgba(255,255,255,0.2); border-radius:3px; margin-top:4px; overflow:hidden; }
#clipprogress .clipprogressbar { height:100%; width:0; background:#ffd75e; }
#clipprogress .clipprogresshint { font-size:11px; opacity:0.7; margin-top:2px; }

/* Player list (ClientTS PlayerList.ts): #playerlistbutton (in the place of the old home button) toggles the draggable
   #playerlist window (sections Staff / Friends / Clan / Players); #playerlistmenu is the right-click /
   long-press context menu. Same block in every game's css; the --pl-* palette below mirrors this game's
   main menu window (.windowborder / .titletext / .button) - adjust colors and positions per game. */
#playerlist, #playerlistmenu, .resizablewindow { --pl-bg:rgba(36,38,40,0.94); --pl-border:#000; --pl-outline:rgba(0,0,0,0.3); --pl-accent:#ffe060; --pl-line:rgba(255,255,255,0.2); --pl-hover:rgba(255,255,255,0.12); --pl-radius:10px; }
#playerlistbutton { display:none; background-image:url(../../files/gui/bbuilder_newbutton_friends.png); background-repeat:no-repeat; background-size:contain; }
#playerlistbutton .playerlistbuttonicon { display:none; } /* the friends button image already shows player heads */
#playerlistbutton .playerlistbuttonicon { position:absolute; left:0; width:100%; top:50%; transform:translateY(-50%); text-align:center; font-size:20px; line-height:1; pointer-events:none; }
#playerlist { position:absolute; width:260px; max-width:calc(100% - 16px); height:420px; max-height:calc(100% - 16px); z-index:59; box-sizing:border-box;
  background:var(--pl-bg); border:3px solid var(--pl-border); box-shadow:0 0 0 2px var(--pl-outline), inset 0 0 0 1px var(--pl-outline); border-radius:var(--pl-radius); color:#fff; font-size:14px;
  text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; display:none; flex-direction:column; overflow:hidden; }
#playerlist.shown { display:flex; }
#playerlist .playerlisttitle { flex:0 0 auto; padding:5px 8px; background:rgba(0,0,0,0.2); border-bottom:2px solid var(--pl-line); cursor:move; user-select:none; -webkit-user-select:none; font-family:Augusta, sans-serif; font-size:18px; color:var(--pl-accent); touch-action:none; }
#playerlist .playerlistclose { float:right; cursor:pointer; padding:0 4px; font-family:sans-serif; font-size:15px; opacity:0.8; }
#playerlist .playerlistclose:hover { opacity:1; }
#playerlist .playerlistbody { flex:1 1 auto; overflow-y:auto; overflow-x:hidden; padding:4px 0; }
#playerlist .playerlistresize { position:absolute; right:0; bottom:0; width:18px; height:18px; cursor:nwse-resize; touch-action:none; background:linear-gradient(135deg, transparent 0 50%, var(--pl-border) 50% 60%, transparent 60% 70%, var(--pl-border) 70% 80%, transparent 80% 90%, var(--pl-border) 90% 100%); opacity:0.8; }
#playerlist .playerlistsectionhead { padding:4px 8px; cursor:pointer; color:var(--pl-accent); font-weight:bold; user-select:none; -webkit-user-select:none; border-bottom:1px solid var(--pl-line); }
#playerlist .playerlistsectionhead:hover { background:var(--pl-hover); }
#playerlist .playerlistarrow { display:inline-block; width:0; height:0; margin-right:6px; vertical-align:middle; border-left:5px solid transparent; border-right:5px solid transparent; border-top:6px solid var(--pl-accent); }
#playerlist .collapsed .playerlistarrow { border-top:5px solid transparent; border-bottom:5px solid transparent; border-left:6px solid var(--pl-accent); border-right:0; }
#playerlist .collapsed .playerlistentries { display:none; }
#playerlist .playerlistcount { font-weight:normal; opacity:0.7; }
#playerlist .playerlistentry { padding:3px 8px 3px 12px; cursor:pointer; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; user-select:none; -webkit-user-select:none; }
#playerlist .playerlistentry:hover { background:var(--pl-hover); }
#playerlist .playerlisticon { display:inline-block; width:8px; height:8px; border-radius:50%; margin-right:8px; vertical-align:middle; background:#7ed957; box-shadow:0 0 0 1px rgba(0,0,0,0.6); }
#playerlist .section-staff .playerlisticon { background:#ffd75e; }
#playerlist .section-friends .playerlisticon { background:#5ec8ff; }
#playerlist .section-clan .playerlisticon { background:#c98bff; }
#playerlist .playerlistentry.self .playerlistname { font-style:italic; }
#playerlist .playerlistentry.stealth { opacity:0.55; }
#playerlist .playerlistbubble { display:inline-block; width:18px; height:16px; margin-left:6px; vertical-align:middle; background:url(../../files/gui/bbuilder_chatbubble_red.png) no-repeat center; background-size:contain; animation:playerlistblink 1s steps(1) infinite; }
@keyframes playerlistblink { 0%, 100% { opacity:1; } 50% { opacity:0.15; } }
#playerlist .playerlistlevel { float:right; font-size:11px; opacity:0.7; }
#playerlistmenu { position:absolute; display:none; min-width:150px; z-index:62; background:var(--pl-bg); border:3px solid var(--pl-border); box-shadow:0 0 0 2px var(--pl-outline), 0 4px 12px rgba(0,0,0,0.5); border-radius:var(--pl-radius); color:#fff; font-size:14px;
  text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; overflow:hidden; }
#playerlistmenu .playerlistmenutitle { padding:5px 10px; color:var(--pl-accent); font-weight:bold; background:rgba(0,0,0,0.2); border-bottom:2px solid var(--pl-line); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:220px; }
#playerlistmenu .playerlistmenuitem { padding:6px 12px; cursor:pointer; user-select:none; -webkit-user-select:none; }
#playerlistmenu .playerlistmenuitem:hover { background:var(--pl-hover); }
#playerlistmenu .playerlistmenuitem.danger { color:#ff8080; }
#playerlistmenu .playerlistmenuitem.confirm { background:rgba(255,80,80,0.4); font-weight:bold; }
#playerlist { left:8px; top:140px; }

/* Resizable windows (file browser, admin console, script editor...): same look as the staff
   player list above - palette from the --pl-* variables, !important beats the older overrides. */
.resizablewindow { background:var(--pl-bg) !important; border:3px solid var(--pl-border) !important; box-shadow:0 0 0 2px var(--pl-outline), 0 6px 20px rgba(0,0,0,0.45) !important; border-radius:var(--pl-radius) !important; color:#fff; }
.resizablewindowtitle { background:rgba(0,0,0,0.2) !important; border-bottom:2px solid var(--pl-line); box-sizing:border-box; color:var(--pl-accent) !important; text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; }

@keyframes fade-out {
    from { opacity: 1; }
    to { opacity: 0; }
}

/* "Go back to start!" button on the scripted map popup (clientclasses menu_map.js): opens the
   home menu. Sits on the popup window (not the scrolling map), bottom left; admin warp hint is bottom right. */
.mapgobackbutton { position:absolute; left:0; bottom:0; height:32px; line-height:32px; padding:0 14px; font-size:16px !important; white-space:nowrap; z-index:10000; /* above the map markers (z-index = map y) */ border:2px solid rgba(255,255,255,0.35); box-shadow:0 2px 4px rgba(0,0,0,0.5); }
#homebutton { display:none !important; } /* replaced by the playerlist button; "Go back to start" is on the map */
