.center-middle {
    text-align: center;
    vertical-align: middle;
}
td.left-align { text-align: left; }
td.right-align { text-align: right; }

.table-no-last-bottom-border :where(tbody tr:last-child) {
 border-bottom: none !important;
}

.item_shadow {
    filter: drop-shadow(-2px 4px 2px #999);
}

#map-container {
    position: relative;
    width: 256px;
    height: 256px;
    border: 1px solid #ccc;
}

.blinking-dot {
    position: absolute;
    width: 10px;
    height: 10px;
    background-color: red;
    border-radius: 50%;
    display: none;
}

.header-item-sprite {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: -moz-crisp-edges;
}

/* shop interface */
.shoptext { font-family: sans-serif; font-size: 10pt; }
.shopicon { position: absolute;
            margin-top: 1px;
            padding-left: 7px;
            cursor: pointer; }
.ownermid { background-image: url('/static/shop/sysbox_m.png');
            background-repeat: repeat-x;
            float: left;
            padding-top: 3px;
            padding-left: 22px;
            padding-right: 2px;
            height: 26px;
            cursor: pointer; }
.ownerleft { background-image: url('/static/shop/sysbox_l.png');
             background-repeat: no-repeat;
             float: left;
             width: 8px;
             height: 26px;
             cursor: pointer; }
.ownerright { background-image: url('/static/shop/sysbox_r.png');
              background-repeat: no-repeat;
              float: left;
              width: 7px;
              height: 26px;
              cursor: pointer; }

.shopwindow { width: 275px;
              background-repeat: repeat-y; }

.shopheader { background-image: url('/static/shop/titlebar_fix.png');
              background-repeat: no-repeat;
              text-align: center;
              text-shadow: #ffffff 1px 1px;
              font-size: 8pt;
              font-family: sans-serif;
              padding-top: 1px;
              padding-right: 20px;
              width: 280px;
              height: 17px; }

.itemlistwrapper {
                   width: 280px;
                   padding-top: 6px;
                   border-left: #c6c6c6 1px solid;
                   border-right: #c6c6c6 1px solid; }

.shopfooter { background-image: url('/static/shop/itemwin_bot.png');
              height: 29px;
              width: 280px; }

.itemicon { float: left;
            position: absolute;
            z-index: -1;
            background-image: url('/static/shop/item_shadow.png');
            background-position: -1 10px;
            background-repeat: no-repeat;
            padding-right: 3px; }
.itemimagewrapper { float: left;
                    width: 35px;
                    padding-left: 5px; }
.itemcount {
    position: absolute;
    padding-top: 15px;
    padding-left: 13px;
             font-size: 8pt;
             text-shadow: #fff -1px -1px,
                          #fff 1px -1px,
                          #fff -1px 1px,
                          #fff 1px 1px;}
.itemname { float: left;
            padding-top: 5px;
            max-width: 170px; }
.itemprice { font-size: 10pt;
             padding-top: 5px;
             float: right;
             padding-right: 4px; }
.lowlow { color: #ff0000;
          text-shadow: #ffff00 1px 0; }
.lowhigh { color: #ff18ff; }
.medlow { color: #0000ff; }
.medhigh { color: #000000;
           text-shadow: #00ff00 1px 0; }
.highlow { color: #ff0000; }
.highhigh { color: #000000;
            text-shadow: #cece63 1px 0; }
.shop-table-white {
    background-color: #fff;
}
.image-cell {
    padding: 0;
}
.vertical-top {
    vertical-align: top;
    background-position: top;
}
.vertical-bottom {
    vertical-align: bottom;
    background-position: bottom;
}
.shop-header-cell {
    background-image: url('/static/shop/titlebar_mid.png');
    background-repeat: repeat-x;
}
.shop-footer-cell {
    background-image: url('/static/shop/itemwin_mid.png');
    background-repeat: repeat-x;
}
.shop-item {
    background-image: url('/static/shop/item_shadow.png');
    background-repeat: no-repeat;
    background-position: bottom left;
}
.shop-inserted-card {
    width: 12px;
    height: 17px;
    display: inline-block;
    vertical-align: bottom;
    border: 1px solid rgb(255, 187, 61);
}
.shop-inserted-to-item {
    display: inline-block;
}
.shop-empty-cardslot {
    border: 1px dashed rgb(255, 187, 61);
}
.shop-table-additional-attributes {
    position: absolute;
    display: inline;
    padding-left: 18px;
}
.shopclear {
    clear: both;
}
