html, body{
    color:#eee;
    background:#333;
    font-family:"Roboto Condensed";
    margin:0;
    padding:0;
    height:100%;
    overflow:hidden;
}
*:focus{
    outline:none;
}
.tablist{
    width:100%;
    display:flex;
}
.tab-button{
    flex:1;
    text-transform: uppercase;
    font-family:"Roboto";
    font-weight:bold;
    color:#ccc;
    appearance:none;
    border:none;
    background:#222;
    padding:1em;
    cursor:pointer;
    font-size:12pt;
}
.tab{
    background:#111;
}
.tab-button:hover{
    background:#444;
    color:#fff;
}
.tab-button.active{
    color:#fff;
    border-bottom: 2px solid white;
}
.title{
    text-transform: uppercase;
    font-size:2em;
    text-decoration:none;
    color:#fff;
    font-weight:bolder;
}
#banner {
  background: #000;
  margin: 0;
  padding: 0.1em 0;
  display: flex;
  width:100%;
  height:90px;
}
.center{
    display:flex;
    justify-content:center;
    flex:1;
}
.left{
    display:flex;
    justify-content:flex-start;
    flex:1;
}
.right{
    display:flex;
    justify-content:flex-end;
    flex:1;
}
.banner-items{
    align-items:center;
    margin:0em 1em;
    flex:1;
    display:flex;
}

#app{
    display:flex;
    flex-direction:column;
    height:100vh;

}
#site{
    flex:1;
    padding: 0 1em;
    overflow: hidden;
    display:flex;
    flex-direction:column;
    position:relative;
}
.tabs {
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.tab {
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.map-list {
  overflow-y: auto;
  padding: 1rem;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  grid-gap: 8px;
}
.map {
    border: 1px solid #eee;
    padding: 0.5em;
    border-radius: 5px;
    position:relative;
}
.map-image-outer{
    position:absolute;
    top:0;
    right:0;
    height:100%;
    z-index:1;
}
.map-image{
    object-fit:cover;
    width:100%;
    height:100%;
    mask-image: linear-gradient(to right,transparent 0%, rgba(0,0,0,0.7) 100%);
}
.map-overlay{
    z-index: 2;
    position:relative;
    height:100%;
}
.map-select-container{
    position:absolute;
    bottom:5px;
    right:0;
}
.map-ov-item{
    margin: 5px 0;
}
.button{
    background: #5a5;
    color: #eee;
    appearance: none;
    border: none;
    padding: 0.5em 2em;
    border-radius: 3px;
    text-transform: uppercase;
    font-weight: bold;
    font-family: "Roboto";
    cursor:pointer;
    border: 2px solid #5a5;
}
.button:hover{
    background: #eee;
    color:#5a5;
}
.darkbox-container{
    flex:1;
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
}
.darkbox{
    background:#222;
    padding:1em;
    border: 1px solid #fff;
    border-radius:5px;
    flex:1;
    margin:0 30%;

}
.darkbox-title{
    border-bottom: 1px solid #aaa;
}
.label{
    margin: 0 1em;
}
#map-settings {
	position: absolute;
	z-index: 3;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,0.5);
}
#map-settings button{
    margin:0em 0.1em;
}
.formset{
    display:flex;
    align-items:center;
}
.maps-search{
  display: flex;
  padding: 1em;
  background: #555;
}
.maps-search-input{
    flex:1;
    padding:0.2em;
}
#mapview-map{
    flex:1;
    z-index:1;
}
.nopad{
    padding:0!important;
}
#overlay{
    position:absolute;
    top:0;
    left:0;
    z-index:2;
    pointer-events:none;
}
#mapview-ui{
    bottom:0;
    left:0;
    right:0;
    position:absolute;
    display:flex;
    padding:2em;
    z-index:3;
    align-items:center;
}
#mapview-ui *{
    align-items:center;
}
#mapview{
    display:flex;
    flex:1;
    position:relative;
}
.panel-container{
    display:flex;
    flex-direction:row;
    flex:1;
}
.select-panel{
    flex:0.25;
}
.panel-title{
    justify-content:center;
    display:flex;
}
#map-title{
    font-weight: 400;
    text-align:center;
    text-transform:uppercase;
}
#loading, #error-box-container{
    display:flex;
    justify-content:center;
    align-items:center;
    position:absolute;
    top:90px;
    left:0;
    right:0;
    bottom:0;
    flex-direction:column;
}
#loading{
    z-index:998;
    background:#333;
}
#loading-image{
    object-fit:cover;
    height:50px;
}
#loading-flavor{
    color:#aaa;
    font-size:12px;
}
#error-box-container{
    background:rgba(0.2,0.2,0.2,0.5);
    z-index:999;
}
#error-box{
    flex:0.4;
    width:40%;
    height:40%;
    display:flex;
    flex-direction:column;
    background:#333;
    justify-content:space-between;
    border-radius:10px;
}
#error-box-title{
    text-transform:uppercase;
    background:#300;
    text-align:center;
    padding:0.4em;
    margin:0;
    border-radius:10px 10px 0px 0px;
}
#error-box-bottom{
    padding:1em;
    display:flex;
    justify-content:center;
}
#error-box-content{
    padding:1em;
    font-size:15pt;
    font-weight:bold;
}
#mapview-ui *{
    margin:0em 0.1em;
}
.loading{
    flex:1;
    justify-content:center;
    align-items:center;
    display:flex;
}
#drop-list{
    overflow-y:scroll;
    height:0;
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
}
.sp-drops{
    display:flex;
    flex-direction:column;
}
.dl-item{
    padding:0.5em;
    border-bottom:1px solid #aaa;
}
.drop-group, .drop{
    font-weight:bold;
    display:flex;
    align-items:center;
    cursor:pointer;
}
.drop-count-outer{
    font-size:10pt;
}
.flag-small{
    height:1em;
    aspect-ratio:1;
    object-fit:cover;
    clip-path:circle(0.5em at center);
    margin-right:0.2em;
}
.map-title{
    padding:0.1em;
}
#dp-input{
    width:3em;
    appearance:textfield!important;
}
#token-help-wrapper{
    position:absolute;
    top:90px;
    left:0;
    right:0;
    bottom:0;
    background:rgba(0,0,0,0.5);
    z-index:2;
}
#dp-input::-webkit-outer-spin-button,
#dp-input::-webkit-inner-spin-button {
    appearance: none;
    display:none;

}
#drop-paginator{
    padding:0.5em;
    background:#555;
    font-size:12pt;
    display:flex;
    justify-content:space-between;
    align-items:center;
}
#drop-filter-select{
    flex:1;
    background: #333;
    color: #eee;
    border: 1px solid #eee;
    padding: 0.5em;
    border-radius: 5px;
    font-size: 12pt;
    font-family: "Roboto Condensed";
}
#dp-arrows{
    display:flex;
}
.dp-arrow {
	font-weight: bold;
	background: #333;
	color: #eee;
	appearance: none;
	border: 1px solid #eee;
	padding:0.5em;
        border-radius: 50%;
	margin: 0.1em;
        cursor:pointer;
        aspect-ratio:1;
        display:flex;
        align-items:center;
}
.dp-arrow:hover{
    background:#eee;
    color:#333;
    border-color:#333;
}
.dl-item:hover{
    background:#444;
}
.drop-desc {
	font-weight: normal;
	margin-left: 0.2em;
	color: #ccc;
}
#th-open{
    background:none;
    color:#eee;
    font-weight:bold;
    border:1px solid #eee;
    border-radius:50%;
    width:25px;
    height:25px;
    font-size:12pt;
    cursor:help;
}
