:root{
    --col-primary: #588B4A;
    --col-primary-t: #588B4ABF;
    --col-secondary: #6AA758;
    --col-secondary-t: #6AA758BF;
    --col-background: #4B4D4A;
    --col-background-t: #151515BF;

    --shadow-primary: .2px .2px 10px -3px black;
    --shadow-primary-svg: drop-shadow(.2px .2px 10px rgba(0,0,0,.5));
    --shadow-primary-inset: inset .2px .2px 10px -3px black;

    --border-radius: 12px;
}
body{
    margin: 0;
    background-color: black;
    overflow-x: hidden;
    font-family: Malgun Gothic, dotum, sans-serif;
    color: white;
}
.noselect{
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Old versions of Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome, Edge, Opera and Firefox */
}

.jtreeview{
    list-style-type: none;
}
.jtreeactive > *:not(span){
    margin-left: 12px;
}
.jtreeview > li > span{
    cursor: pointer;
}
.jtreeview > li > span::before{
    content: "\25B6";
    display: inline-block;
    margin-right: 6px;
}
.jtreeview > .jtreeactive > span::before{
    -ms-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}
.jtreeview > li > *:not(:first-child){
    display: none;
}
.jtreeview > .jtreeactive > *:not(:first-child){
    display: block;
}
.jtreeview > li > span{
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Old versions of Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome, Edge, Opera and Firefox */
}

.tiledmap > div{
    position: fixed;
}
#map{
    background-color: #222222;
    width: 100%;
    height: 100vh;
    cursor: crosshair;
    margin: auto;
    position: relative;
}
.map_html_marker{
    width: max-content;
    background: none;
    text-align: middle;
}
.map_node_marker, .map_town_marker, .map_resource_marker{
    width: 64px;
    text-align: center;
    margin-top: -25px;
}
.map_node_marker > img, .map_town_marker > img, .map_resource_marker > img{
    display: block;
    height: 75px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: -12px;
}
.map_node_marker > div:nth-child(2), .map_town_marker > div:nth-child(2), .map_resource_marker > div:nth-child(2){
    position: absolute;
    width: 150px;
    bottom: 80px;
    margin-left: -48px;
    display: none;
    border-radius: 7px;
    color: white;
    background-color: var(--col-background-t);
    border: 2px solid var(--col-primary);
}
.map_node_marker:hover > div:nth-child(2), .map_town_marker:hover > div:nth-child(2), .map_resource_marker:hover > div:nth-child(2){
    display: block !important;
}
.map_node_marker > div:nth-child(3), .map_town_marker > div:nth-child(3){
    position: absolute;
    margin-top: -16px;
    margin-left: 6px;
    width: 16px;
    height: 16px;
    border-radius: 8px;
    line-height: 16px;
    background-color: white;
    color: black;
    box-shadow: 0px 0px 3px black;
    font-weight: bold;
}
.map_node_marker > span, .map_town_marker > span{
    margin-left: -100%;
    margin-right: -100%;
    text-shadow: black 0px 0px 3px, black 0px 0px 3px, black 0px 0px 3px, black 0px 0px 3px;
    white-space: nowrap;
    color: white;
    font-size: 12px;
}
.map_resource_marker > div:nth-child(3){
    width: 90px;
    margin-left: -13px;
    margin-right: -13px;
    margin-top: 10px;
}
.map_resource_marker ul{
    list-style-type: none;
    display: block;
    float: left;
    margin: 0;
    padding: 0;
    width: 90px;
}
.map_resource_marker li{
    display: block;
    float: left;
    position: relative;
    margin: 0;
    padding: 0;
    width: 30px;
    height: 30px;
}
.map_resource_marker li > img{
    display: block;
    width: 100%;
    height: 100%;
}
.map_resource_marker table{
    margin-left: auto;
    margin-right: auto;
}
.map_resource_marker table img{
    width: 24px;
    height: 24px;
}