html, body, #root {
    width: 100vw;
    height: 100vh;
    margin: 0;
    padding: 0;
}

/* 共用字体 */
@font-face {
    src: url(./fonts/fzht_GBK.TTF);
    font-family: "\65B9\6B63\9ED1\4F53_GBK";
}

/* 常用字形/颜色 */
.font {
    font-family: "\65B9\6B63\9ED1\4F53_GBK";
    font-size: 1.5vh;
}
.t-xlarge {
    font-size: 3rem;
}
.t-large {
    font-size: 2rem;
}
.t-normal {
    font-size: 1rem;
}
.t-samll {
    font-size: 0.8rem;
}
.t-mini {
    font-size: 0.5rem;
}
.c-white {
    color: #ECECEC;
}
.c-black {
    color: #505050;
}

/* 通用按钮 */
.g-button {
    width: 10vw;
    height: 5vh;
    max-height: 40px;
    max-width: 150px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.1);
}
.g-button:hover {
    background: rgba(255, 255, 255, 0.3);
}
.g-button-disable {
    width: 10vw;
    height: 5vh;
    max-height: 40px;
    max-width: 150px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    border-radius: 3px;
    background: rgba(80, 80, 80, 0.1);
}
.g-button-disable:hover {
    background: rgba(80, 80, 80, 0.1);
}
.mini {
    width: 5vw;
    height: 3vh;
}

/* 通用输入框 */
.input {
    padding: 0.4rem;
    box-sizing: border-box;
    border-radius: 3px;
    /* border: 1px solid rgba(255, 255, 255, 0.3); */
    background: rgba(255, 255, 255, 0.1);
    border: none;
}

/* 通用flex */
.flex-row {
    display: flex;
    flex-direction: row;
}
.flex-column {
    display: flex;
    flex-direction: column;
}
.flex-wrap {
    display: flex;
    flex-wrap: wrap;
}
.flex-nowrap {
    display: flex;
    flex-wrap: nowrap;
}

/* 通用字体对齐 */
.text-align-left {
    text-align: left;
}
.text-align-right {
    text-align: right;
}
.text-align-center {
    text-align: center;
}

/* 全局变量 */
/* :root {
    --titleColor: #FFFFFF;
    --gWidth: 100vw;
    --gHeight: 100vh;
    --gpadding: 1vh 1vh;
} */

@keyframes loadingRotation {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}
.login {
    width: 100vw;
    height: 100vh;
    padding: 1vh 1vh;
    box-sizing: border-box;
    position: relative;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    background-image: url(./images/Home_Common_BackgroundImage.png);
}

/* 登陆框 */
.login-account-box {
    width: 30vw;
    height: 15vh;
    max-height: 150px;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}
.login-input-box {
    width: 100%;
    height: 45%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}
.login-input {
    width: 100%;
    max-width: 15vw;
}

/* 登录按钮 */
.login-button-group {
    width: 25vw;
    height: 5vh;
    max-width: 350px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    text-align: center;
    position: absolute;
    bottom: 15vh;
}
.login-enter-button {
    width: 10vw;
    height: 5vh;
    max-height: 40px;
    max-width: 150px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}

.notify {
	width: 15vw;
	height: 4vh;
	position: absolute;
	/* left: 0vw;
	right: 0vw; */
	bottom: 10vh;
	margin: 0 auto;
	background: rgba(0, 0, 0, 0.5);
	box-sizing: border-box;
	padding: 0.5vh 0.5vw;
	text-align: center;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	border-radius: 2.5vh;
}

.loadmodal {
	width: 100vw;
	height: 100vh;
	margin: 0 auto;
	background: rgba(0, 0, 0, 0.8);
	box-sizing: border-box;
	padding: 0.5vh 0.5vw;
	text-align: center;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 10;
}

.loadmodal-image {
    width: 3.5vh;
    height: 3.5vh;
    animation-name: loadingRotation;
    animation-duration: 0.85s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}
.loadmodal-text {
    margin-top: 2vh;
}

.minimap {
	--containerWidth: 50vh;
	--containerHeight: 50vh;
	--borderSize: 0.2vh;
	--rightBarWidth: 5vh;
	position: relative;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: flex-start;
}
.minimap-mapcontainer {
	width: calc(var(--containerWidth) + var(--borderSize) * 2);
	height: calc(var(--containerHeight) + var(--borderSize) * 2);
	position: relative;
	overflow: hidden;
	background-image: url(./images/map_img_map_place_holder_default_bg.png);
	background-size: contain;
	background-repeat: no-repeat;
	border: 0.2vh solid rgba(255,255,255,0.5);
}
.minimap-maptile {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	background-size: 100% 100%;
}
.minimap-maplocation {
	width: 2.0vh;
	height: 3.5vh;
	z-index: 2;
	position: absolute;
	left: 0vh;
	top: 0vh;
	z-index: 1;
	background-image: url(./images/map_location_icon.png);
	background-position: center;
	background-size: 100% 85%;
}
.minimap-operate-bar {
	width: var(--rightBarWidth);
	height: 100%;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: flex-end;
	align-items: center;
}
.minimap-button {
	width: 3.0vh;
	height: 3.0vh;
	border-radius: 1.5vh;
	margin-top: 1vh;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	background: rgba(0, 0, 0, 0.1);
}
.minimap-button:hover {
	background: rgba(0, 0, 0, 0.3);
}
.minimap-button img {
	width: 60%;
	height: 60%;
}

.ingame {
    width     : 100vw;
    height    : 100vh;
    position  : relative;
    background: transparent;
    z-index   : 0;
}
.ingame-operate-bar {
    width          : auto;
    height         : 5vh;
    position       : absolute;
    right          : 1.0vw;
    top            : 2.5vh;
    display        : flex;
    flex-direction : row;
    flex-wrap      : nowrap;
    justify-content: space-around;
    align-items    : center;
    z-index        : 2;
}

.ingame-operate-icon {
    width          : 4vw;
    height         : 4vh;
    display        : flex;
    flex-direction : row;
    flex-wrap      : nowrap;
    justify-content: center;
    align-items    : center;
    cursor         : pointer;
    border         : 2px solid transparent;
    z-index        : 2;
}
.ingame-operate-icon img {
    width : 70%;
    height: 70%;
}
.ingame-operate-icon:hover {
    border: 2px solid rgba(255, 255, 255, 0.2);
}

.ingame-operate-barleft {
    width          : auto;
    height         : 5vh;
    position       : absolute;
    left           : 1.0vw;
    bottom         : 1.5vh;
    display        : flex;
    flex-direction : row;
    flex-wrap      : nowrap;
    justify-content: space-around;
    align-items    : center;
    z-index        : 2;
}

.ingame-all-content {
    width   : 100%;
    height  : 100%;
    position: relative;
}
.g-minimap {
    position: absolute;
    right   : 1.5vw;
    top     : 8vh;
    z-index : 2;
}
.g-setting {
    position: absolute;
    right   : 0;
    top     : 0;
    bottom  : 0;
    z-index : 2;
}
.g-debug {
    position: absolute;
    right   : 1.5vw;
    bottom  : 1.5vh;
    z-index : 2;
}
.g-chat {
    position: absolute;
    left    : 1.5vw;
    bottom  : 1.5vh;
    z-index : 2;
}
.g-imgui-mouseevent-layer {
    position: absolute;
    width   : 100vw;
    height  : 100vh;
    z-index : 1;
}
.g-nameplates {
    position: absolute;
    width   : 100vw;
    height  : 100vh;
    z-index : 0;
}
.nameplate {
    width         : 16vh;
    position      : absolute;
    letter-spacing: 2px;
    font-size     : 1.6vh;
    text-shadow   : 
        -1px  1px 0 rgba(0, 0, 0, 1), 
         1px  1px 0 rgba(0, 0, 0, 1), 
         1px -1px 0 rgba(0, 0, 0, 1), 
        -1px -1px 0 rgba(0, 0, 0, 1);
    display        : flex;
    flex-direction : row;
    flex-wrap      : nowrap;
    justify-content: center;
    align-items    : center;
    z-index        : 0;
}
.nameplate span {
    text-align: center;
}
.g-horsepicker {
    position: absolute;
    left    : 60vw;
    top     : 60vh;
    z-index : 2;
}
.g-notification {
    position: absolute;
    left    : 42.5vw;
    right   : 42.5vw;
    bottom  : 15vh;
}
.g-hotkeymap {
    position: absolute;
    left    : 17.5vw;
    right   : 17.5vw;
    top     : 17.5vh;
    /* bottom  : 17.5vh; */
    z-index : 2;
}
.settings {
	width: 25%;
	height: 100%;
	padding: 2vh 1vw;
	box-sizing: border-box;
	background: rgba(0, 0, 0, 0.3);
	position: relative;
	border-left: 2px solid rgba(0, 0, 0, 0.3);
}
.settings-header {
	/* width: 100%; */
	height: 5%;
	justify-content: space-between;
	align-items: center;
}
.settings-header-block {
	width: 30%;
	/* height: 100%; */
	font-size: 1.5vh;
}
.settings-header-block img {
	width: 2vw;
	height: 2vh;
	cursor: pointer;
}
.settings-header-block img:hover {
	filter: opacity(0.5);
	transform: scale(1.05);
}
.settings-body {
	width: 100%;
	height: 95%;
	justify-content: flex-start;
	align-items: center;
	position: relative;
}
.settings-bigtype {
	width: 100%;
	height: auto;
	margin-top: 3.5vh;
	/* justify-content: space-between; */
	/* align-items: flex-start; */
}
.settings-bigtype-title {
	width: 100%;
	height: 3vh;
	text-align: left;
	font-size: 1.3vh;
	border-bottom: 1px solid rgba(182, 226, 255, 0.1);
}
.settings-block {
	width: 95%;
	height: 5vh;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid rgba(182, 226, 255, 0.1);
}

/* counter css */
.settings-label {
	width: 30%;
	height: 5vh;
	display: flex;
	flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
	align-items: center;
	font-size: 1.3vh;
}
.settings-counter {
    width: 70%;
    height: 5vh;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    padding: 0.5vh 0.5vw;
    box-sizing: border-box;
}
.settings-counter-left,
.settings-counter-right {
    width: 3vh;
    height: 3vh;
    background: rgba(255, 255, 255, 0.1);
    border: 2px solid transparent;
    font-size: 1.5vh;
    text-align: center;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    cursor: pointer;
}
.settings-counter-left:hover,
.settings-counter-right:hover {
    border: 2px solid rgba(255, 255, 255, 0.3);
}
.settings-counter-value {
    width: 5vw;
    height: 3vh;
    font-size: 1.3vh;
    text-align: center;
    line-height: 3vh;
}
.settings-bigtype-last {
	justify-content: center;
	align-items: center;
	position: absolute;
	bottom: 2vh;
	z-index: 3;
}
.counter {
    width: 100%;
    height: 5vh;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    padding: 0.5vh 0.5vw;
    box-sizing: border-box;
}
.counter-left,
.counter-right {
    width: 3vh;
    height: 3vh;
    background: rgba(255, 255, 255, 0.1);
    border: 2px solid transparent;
    font-size: 1.5vh;
    font-weight: bold;
    text-align: center;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    cursor: pointer;
}
.counter-left:hover,
.counter-right:hover {
    border: 2px solid rgba(255, 255, 255, 0.3);
}
.counter-value {
    width: 80%;
    height: 3vh;
    font-size: 1.5vh;
    text-align: center;
    line-height: 3vh;
}
.layoutStyle42 {
	width: 32.407vh;
	height: 26.329vh;
	z-index: 1;
	display: block;
}
.layoutStyle36 {
	width: 32.406vh;
	height: 26.330vh;
	z-index: 1;
	display: block;
}
.positionStyle2 {
	position: absolute;
	left: 0.000vh;
	top: 0.000vh;
}
.layoutStyle30 {
	width: 32.407vh;
	height: 2.778vh;
	z-index: 1;
	display: block;
}
.positionStyle31 {
	position: absolute;
	left: 0.000vh;
	top: 23.552vh;
}
.visualStyle11 {
	background-color:rgba(0,0,0,0.498);
}
.layoutStyle22 {
	width: 32.407vh;
	height: 2.778vh;
	z-index: 1;
}
.visualStyle19 {
	background-color: transparent;
	color:rgba(255,255,255,1.000);
	font-size: 1.389vh;
}
.layoutStyle17 {
	width: 31.574vh;
	height: 2.167vh;
	z-index: 2;
	margin-bottom: 0.185vh;
	padding-left: 0.185vh;
	padding-top: 0.185vh;
}
.positionStyle18 {
	position: absolute;
	left: 0.370vh;
	top: 0.245vh;
}
.layoutStyle27 {
	width: 32.407vh;
	height: 23.148vh;
	z-index: 2;
	display: block;
}
.layoutStyle12 {
	width: 32.407vh;
	height: 23.148vh;
	z-index: 1;
}
.layoutStyle8 {
	width: 36.111vh;
	height: 26.755vh;
	z-index: 2;
	transform: scale(0.875, 0.833);
	overflow-x: scroll;
	overflow-y: scroll;
	display: block;
}
.positionStyle9 {
	position: absolute;
	left: -1.855vh;
	top: -1.841vh;
}
.visualStyle3 {
	color:rgba(255,255,255,1.000);
	font-size: 1.667vh;
	word-wrap: break-word;
}

.debug-input input {
	border: none;
}
.chat {
	width: 25vw;
	height: 35vh;
	background: rgba(0, 0, 0, 0.3);
	box-sizing: border-box;
	border: 2px solid rgba(0, 0, 0, 0.3);
}
.chat-content {
	width: 100%;
	height: 90%;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	box-sizing: border-box;
	overflow-x: hidden;
	overflow-y: auto;
}
.chat-content-row {
	width: 100%;
	height: auto;
	overflow: hidden;
	padding: 1vh 0.5vw;
	box-sizing: border-box;
}
.chat-content-rowtext {
	width: 100%;
	overflow: hidden;
	white-space: normal;
	word-break: break-all;
}

.chat-operate-bar {
	width: 100%;
	height: 10%;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
}
.chat-operate-input {
	width: 70%;
	height: 100%;
	border-left: 1px solid rgba(255, 255, 255, 0.1);
	border-right: 1px solid rgba(255, 255, 255, 0.1);
	box-sizing: border-box;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
}
.chat-operate-input input {
	width: 100%;
	/* height: 100%; */
	border: none;
	color: #ECECEC;
	font-size: 1.3vh;
	padding: 0.2rem;
    box-sizing: border-box;
	background: transparent;
}
.chat-operate-sendbtn {
	width: 10%;
	height: 100%;
	border: 2px solid transparent;
	box-sizing: border-box;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.chat-operate-sendbtn:hover {
	border: 2px solid rgba(255, 255, 255, 0.3);
}
.chat-sendbtn--disable {
	filter: opacity(0.7);
}
.chat-sendbtn--disable:hover {
	border: 2px solid transparent;
}
.notify {
	width: 15vw;
	height: 4vh;
	position: absolute;
	/* left: 0vw;
	right: 0vw; */
	bottom: 10vh;
	margin: 0 auto;
	background: rgba(0, 0, 0, 0.5);
	box-sizing: border-box;
	padding: 0.5vh 0.5vw;
	text-align: center;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	border-radius: 2.5vh;
}

.hotkey {
    width          : 65vw;
    height         : 65vh;
    background     : rgba(0, 0, 0, 0.3);
    box-sizing     : border-box;
    border-radius  : 2px;
    overflow       : hidden;
    display        : flex;
    flex-direction : column;
    flex-wrap      : nowrap;
    justify-content: center;
    align-items    : flex-start;
    padding        : 2vh;
}
.hotkey-title {
    width          : 100%;
    height         : 5%;
    display        : flex;
    flex-direction : row;
    flex-wrap      : nowrap;
    justify-content: space-between;
    align-items    : center;
}

.hotkey-item-wrapper {
    width          : 100%;
    height         : 90%;
    overflow-x     : hidden;
    overflow-y     : auto;
    display        : flex;
    flex-direction : column;
    flex-wrap      : nowrap;
    justify-content: center;
    align-items    : flex-start;
}
.hotkey-item {
    width          : 100%;
    height         : 5vh;
    border-bottom  : 1.5px solid rgba(255, 255, 255, 0.1);
    border         : 1.5px solid transparent;
    display        : flex;
    flex-direction : row;
    flex-wrap      : nowrap;
    justify-content: center;
    align-items    : center;
}
.hotkey-item:hover {
    border-top   : 0.2vh solid rgba(255, 255, 255, 0.1);
    border-bottom: 0.2vh solid rgba(255, 255, 255, 0.1);
}
.hotkey-key {
    width          : 20%;
    height         : 100%;
    border-right   : 1.5px solid rgba(255, 255, 255, 0.1);
    text-align     : center;
    display        : flex;
    flex-direction : row;
    flex-wrap      : nowrap;
    justify-content: center;
    align-items    : center;
}
.hotkey-comment {
    width          : 80%;
    height         : 100%;
    text-align     : center;
    display        : flex;
    flex-direction : row;
    flex-wrap      : nowrap;
    justify-content: center;
    align-items    : center;
}

.hotkey-optbar {
    width          : 100%;
    height         : 5vh;
    display        : flex;
    flex-direction : row;
    flex-wrap      : nowrap;
    justify-content: flex-end;
    align-items    : center;
    padding        : 0.5vh 0;
}
.hotkey-title--close {
    width          : 10%;
    height         : 100%;
    display        : flex;
    flex-direction : row;
    flex-wrap      : nowrap;
    justify-content: center;
    align-items    : center;
}
.hotkey-title--close > img {
    width: 25%;
    height: 55%;
}
.actorlist {
    width: 100vw;
    height: 100vh;
    padding: 1vh 1vw;
    background-image: url(./images/Home_Common_BackgroundImage.png);
}

.actorlist-tab {
    width: 100%;
    height: 6%;
    padding: 0 1vw 0 2vw;
    align-items: center;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
/* tab-back */
.actorlist-menu-head {
    width: 15%;
    align-items: center;
}
.actorlist-menu-logout {
    height: 100%;
    justify-content: flex-end;
    align-items: center;
}
.actorlist-menu-head img {
    width: 2vw;
    height: 2vh;
    cursor: pointer;
}
.actorlist-menu-head img:hover {
    filter: opacity(0.5);
    transform: scale(1.05);
}
.actorlist-backtab {
    font-size: 2vh;
}

.actorlist-content {
    width: 100%;
    height: 94%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
}

.actorlist-scrolllist {
    width: 40%;
    height: 95%;
    padding: 0vh 1vw 0vh 2vw;
    margin: 2vh 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    overflow-x: hidden;
    overflow-y: auto;
}
.actorlist-actor-card {
    width: 22%;
    height: 21%;
    border: 2px solid rgba(255, 255, 255, 0.1);
    margin: 0vh 1vw 1vh 0vw;
    background: rgba(255, 255, 255, 0.1);
    position: relative;
}
.actorlist-card-hover:hover {
    animation-name: ActorHover;
    animation-duration: 0.2s;
    animation-timing-function: ease-out;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}
.actorlist-card-title {
    width: 100%;
    overflow: hidden;
    font-size: 0.65vw;
    line-height: 2.454000vh;
    padding: 0 0.5vw;
    color: rgba(255, 255, 255, 0.8);
    position: absolute;
    bottom: 1vh;
    text-align: center;
}
.actor-card-type {
    width: 2vh;
    height: 2vh;
    position: absolute;
    left: 0.5vh;
    top: 0.5vh;
    filter: opacity(0.5);
}
.actor-card-type img {
    width: 100%;
    height: 100%;
}

.actorlist-preview {
    width: 60%;
    height: 100%;
    justify-content: flex-end;
    align-items: center;
    position: relative;
}
.actorlist-next-button {
    position: absolute;
    bottom: 10vh;
    text-align: center;
}
.actorlist-next-button span {
    margin-bottom: 1.5vh;
}
.actorlist-select-disabled:hover {
    background: rgba(255, 255, 255, 0.1);
    cursor: default;
}
.actorlist-card-selected {
    border: 2px solid rgba(255, 255, 255, 0.5);
}

@keyframes ActorHover {
    0% {
        transform: scale(1.0);
    }
    100% {
        transform: scale(1.02);
    }
}

.maplist {
    width: 100vw;
    height: 100vh;
    padding: 1vh 1vh;
    box-sizing: border-box;
    position: relative;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    background-image: url(./images/Home_Common_BackgroundImage.png);
}

/* tab */
.maplist-tab {
    width: 95%;
    height: 4vh;
    border-radius: 2vh;
    margin-top: 5vh;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    background: rgba(255, 255, 255, 0.1);
}
.maplist-menu-main {
    width: 80%;
    height: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
}
/* tab-back */
.maplist-menu-head {
    /* width: 20%; */
    cursor: pointer;
    margin-left: 0.5vw;
}
.maplist-menu-head img {
    width: 2.0vw;
    height: 2.0vh;
}
.maplist-menu-head img:hover {
    filter: opacity(0.5);
    transform: scale(1.05);
}
/* tab-menu */
.maplist-menu-group {
    /* width: 80%; */
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
}
.maplist-menu-button {
    width: 6.5vw;
    height: 4vh;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    border-left: 1px solid transparent;
    border-right: 1px solid transparent;
    filter: opacity(0.5);
}
.maplist-menu-button:hover {
    background: rgba(255, 255, 255, 0.2);
}
.maplist-menu-button img {
    width: 30%;
    height: 35%;
}
.maplist-tab-selected {
    /* background: rgba(0, 0, 0, 0.1); */
    filter: opacity(1.0);
}
/* 视图类型 */
.maplist-menu-addition {
    width: 3vw;
    justify-self: flex-end;
}
.maplist-menu-display {
    cursor: pointer;
}
.maplist-menu-addition img {
    width: 2.0vw;
    height: 2.0vh;
}
.maplist-menu-addition img:hover {
    filter: opacity(0.5);
    transform: scale(1.05);
}

/* 地图内容 */
.maplist-content {
    width: 95%;
    height: 85%;
    margin: 2.5%;
    box-sizing: border-box;
    overflow-y: auto;
    overflow-x: hidden;
    position: relative;
}
.maplist-mapitem-align {
    align-items: flex-start;
    align-content: flex-start;
    /* justify-content: space-between; */
}
.maplist-mapcard-align {
    /* align-items: center; */
    align-content: flex-start;
    justify-content: space-between;
}
.maplist-mapitem {
    width: 100%;
    height: 6.5%;
    cursor: pointer;
    border-top: 2px solid rgba(255, 255, 255, 0.1);
    border-bottom: 2px solid transparent;
    border-left: 2px solid transparent;
    border-right: 2px solid transparent;
}
.maplist-divider,
.maplist-mapitem {
    border-top: 2px solid rgba(255, 255, 255, 0.1);
}
.maplist-mapitem--last {
    border-bottom: 2px solid rgba(255, 255, 255, 0.1);
}
/* card视图 */
.maplist-mapcard {
    width: 15%;
    height: 20%;
    margin: 0 0 1.5% 0;
    border: 2px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.1);
}
.maplist-mapcard:hover {
    cursor: pointer;
    border: 2px solid rgba(255, 255, 255, 0.5);
}
.maplist-card-cover {
    width: 100%;
    height: 85%;
}
.maplist-card-title {
    width: 100%;
    height: 15%;
    font-size: 1.5vh;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    overflow: hidden;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}
/* list视图 */
.maplist-mapitem:hover {
    border: 2px solid rgba(255, 255, 255, 0.5);
}
.maplist-mapitem:hover .maplist-divider {
    display: none;
}
.maplist-divider {
    width: 100%;
    height: 0;
}
.maplist-mapitem-title {
    width: 65%;
    height: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
}
.maplist-mapitem-icon {
    width: 3.5%;
    height: 45%;
    margin-left: 0.5vw;
    margin-right: 0.5vw;
}
.maplist-mapitem-name {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    overflow: hidden;
}
.maplist-mapitem-info {
    width: 35%;
    height: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
}
.maplist-mapitem-infoitem {
    width: 30%;
    height: 100%;
    align-items: center;
    overflow: hidden;
    margin-right: 1vw;
    justify-content: flex-end;
}
.mapdetail {
    width: 100vw;
    height: 100vh;
    padding: 1vh 1vh;
    background-image: url(./images/Home_Common_BackgroundImage.png);
    position: relative;
}

.mapdetail-tab {
    width: 100%;
    height: 6%;
    padding: 0 1vw 0 2vw;
    align-items: center;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    /* border-bottom: 1px solid rgba(182, 226, 255, 0.1); */
    /* background: linear-gradient(to top, rgba(255, 255, 255, 0.1), rgba(182, 226, 255, 0.1)); */
}
/* tab-back */
.mapdetail-menu-head {
    width: 3%;
    cursor: pointer;
}
.mapdetail-menu-head img {
    width: 2vw;
    height: 2vh;
}
.mapdetail-menu-head img:hover {
    filter: opacity(0.5);
    transform: scale(1.05);
}
.mapdetail-backtab {
    font-size: 2vh;
}

.mapdetail-content {
    width: 100%;
    height: 94%;
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
}
.mapdetail-info {
    width: 70%;
    height: 100%;
    padding: 0 2vw;
}
.mapdetail-header {
    width: 100%;
    height: 25%;
    padding: 0 0 2vw 0;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
}
.mapdetail-cover {
    width: 25%;
    height: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    border: 2px solid rgba(255, 255, 255, 0.1);
}
.mapdetail-cover img {
    width: 50%;
    height: 100%;
}
.mapdetail-infolist {
    width: 60%;
    height: 100%;
    padding: 0 1vw;
}
.mapdetail-card-title {
    width: 100%;
    /* height: 40%; */
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    margin-bottom: 3vh;
}
.mapdetail-card-title--label {
    width: 8%;
    height: 80%;
    font-size: 2vh;
    align-items: center;
    justify-content: center;
    margin-right: 0.5vw;
    background: linear-gradient(#84d3e7, rgb(2, 133, 255));
}
.mapdetail-card-title--text {
    font-size: 2.5vh;
}
.mapdetail-simple-intro {
    width: 100%;
    overflow: hidden;
    line-height: 3.5vh;
    font-size: 2.5vh;
    color: rgba(255, 255, 255, 0.5);
}
.mapdetail-author-name {
    height: 3.5vh;
    line-height: 3.5vh;
    overflow: hidden;
    font-size: 2vh;
    color: rgba(255, 255, 255, 0.5);
}

.mapdetail-main {
    width: 100%;
    height: 65%;
}
.mapdetail-introlabel {
    width: 100%;
    height: 5%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.mapdetail-screenshot {
    width: 100%;
    height: 45%;
    overflow-x: auto;
}
.mapdetail-screenshot img {
    width: 100%;
    height: 65%;
    border: 2px solid rgba(255, 255, 255, 0.1);
    margin-right: 1vw;
}
.mapdetail-intro {
    width: 100%;
    height: 50%;
    padding: 2vh 0;
}

.mapdetail-addition {
    width: 30%;
    height: 100%;
    padding: 2vh 2vw;
    justify-content: space-between;
    border-left: 1px solid rgba(255, 255, 255, 0.1);
}
.mapdetail-addition-top {
    width: 100%;
    height: 90%;
}
.mapdetail-addition-block {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    border-bottom: 1px solid rgba(182, 226, 255, 0.1);
}
.mapdetail-addition-text {
    height: 3.5vh;
    font-size: 1.5vh;
    line-height: 3.5vh;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.5);
}
.mapdetail-maptype-label {
    height: 60%;
    margin-right: 0.5vw;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: rgba(255,255,255,0.1) /* linear-gradient(rgba(255,255,255,0.1), rgba(255,255,255,0.2));*/
}
.mapdetail-kms {
    width: 10%;
}
.mapdetail-jsonmap {
    width: 20%;
}
.mapdetail-addition-bottom {
    width: 100%;
    height: 10%;
    align-items: center;
    justify-content: space-around;
}
.loading {
    width: 100vw;
    height: 100vh;
    position: relative;
    justify-content: center;
    align-items: center;
    background-size: cover;
    background-image: url(./images/loading_loading_bg.jpg);
}
.loading-image {
    width: 3.5vh;
    height: 3.5vh;
    position: absolute;
    bottom: 20vh;
    animation-name: loadingRotation;
    animation-duration: 0.85s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}
.loading-text {
    position: absolute;
    bottom: 15vh;
}
.loading-progress {
    width: 20vw;
    height: 0.5vh;
    position: absolute;
    bottom: 10vh;
    background: rgba(255, 255, 255, 0.1);
}
.loading-bar {
    width: 1%;
    max-width: 100%;
    min-width: 1%;
    height: 0.5vh;
    bottom: 10vh;
    background: #FFFFFF;
}

.checkbox {
	width: 2vh;
	height: 2vh;
	border: 0.2vh solid rgba(255, 255, 255, 0.5);
	/* border-radius: 3vh; */
}
.checkbox:hover {
	width: 2vh;
	height: 2vh;
	/* filter: opacity(0.3); */
	background: rgba(255, 255, 255, 0.1);
}
.checkbox img {
	filter: opacity(0.5);
}
