@charset "utf-8";

/* grid */
@import url("./../css/gride.css");

/* module */
@import url("./../css/module.css");

/* webFont noto */
@import url(./../fonts/SUIT/SUIT.css);


*, ::after, ::before{
	box-sizing: border-box;
}

/*
	z-index
	
	500 : gnb-nav
	1000 : modal
	400 : modal-noGnb
	5000 : loading-indicator
*/
/* start:: Basic setting  */
	body {
		min-height: calc(100vh - 10px);
		font-family: 'SUIT', sans-serif ;
		color: #333333;
		background-color: #f8f8f8;
	}

	.gnb-wrapper {
	}
	.gnb-body {
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		flex-direction: column;
	}
	.gnb-body.full-layout{
		min-height: 100vh;
		width: 100%;
		justify-content: center;
		align-items: center;
		flex-direction: column;
	}
	.gnb-header ~ .gnb-body {
		padding-top: 50px;
		/* find = gnb-header(height) */
	}
	.gnb-nav + .gnb-body {
		padding-left: 245px;
		width: 100%;
		height: 100%;
	}
	.gnb-nav + .gnb-body .content-wrapper {
		width: 100%;
		height: 100%;
		min-width: 1890px;
		transition: min-width 0.3s linear;
	}

	.gnb-nav.V-wide + .gnb-body .content-wrapper {
		min-width: calc(1890px - 245px);
	}
	.gnb-nav.V-mini + .gnb-body .content-wrapper {
		min-width: calc(1890px - 118px);
	}

	.container{
		padding: 0 15px;
		max-width: 1000px;
		margin-left: auto;
		margin-right: auto;
	}
	.container-fluid{
		padding: 0 50px;
	}
	.container-fluid > .page-title:first-child{
		margin-top: 40px;
		margin-bottom: 16px;
	}
	.container-fluid>.dataTables_wrapper:last-child{
		margin-bottom: 20px;
	}
	.content-title{
		margin: 0;
		margin-bottom: 15px;
		padding-top: 30px;
		font-size: 1.5em;
	}
/* end  :: Basic setting  */


/* start:: gnb header 헤더 */
	.gnb-header {
		position: fixed;
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		height: 50px;
		/* find > gnb-header(height) */
		top: 0;
		left: 0;
		right: 0;
		z-index: 1000;
		background-color: #243880;
		background-color: #e6e6e6;
		box-shadow: 0 2px 4px -1px rgba(0, 0, 0, .2), 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12);
	}

	.header-logo {
		height: 60%;
		margin: 0 1em;
	}
	.header-logo img{
		height: 100%;
	}
	.header-nav {
		display: flex;
		list-style: none;
		margin: 0 auto;
		padding: 0;
		width: 100%;
		max-width: 700px;
		font-size: 16px;
		font-weight: 600;
	}

	.header-nav li {
		padding: 0 0.5em;
		text-align: center;
		flex: 1;
		color: #ffffff;
		opacity: 0.5;
	}

	.header-nav li.on {
		color: #ffffff;
		font-weight: bold;
		opacity: 1;
	}

	.header-nav a {
		text-decoration: none;
		color: inherit;
	}

	.header-end {
		margin: 0 1em;
		width: 95px;
	}
/* end  :: gnb header 헤더 */

/* start:: gnb-body login */
.gnb-body.login,
.gnb-body.login-sub{
	background-color: #243880;
	overflow: hidden;
}
.login-card{
	overflow-y: auto;
	width: 1332px;
	height: 730px;
	max-width: 90vw;
	max-height: 90vh;
	padding: 83px 120px;
	border-radius: 20px;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);
	border: solid 1px #f1f1f1;
	background-color: #fff;
}
.gnb-body.login{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.gnb-body.login .login-card{
	animation: loginCard_show 0.5s ease forwards;
}
@keyframes loginCard_show {
	0% {
		transform: translateY(80%);
	}
	100% {
		transform: translateY(0%);
	}
}
.content-login .logo,
.content-login .welcome-message h2{
	animation: login_show 1s ease forwards;
	opacity: 0;
	animation-delay: 0.5s;
}
@keyframes login_show {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
.content-login .welcome-message{
	margin-top: 43px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.content-login .welcome-message h2:first-child{
	width: 100%;
}
.content-login .welcome-message h2{
	font-size: 34px;
	font-weight: 400;
	line-height: 1.47;
	margin: 0;
}
.content-login .welcome-message .line{
	flex: 1;
	height: 100%;
	padding: 0 3%;
}
.content-login .welcome-message .line::before{
	content: "";
	display: block;
	width: 0%;
	height: 50%;
	border-bottom: solid 1px #333;
	animation: login_welcomeline 0.5s ease forwards;
	animation-delay: 1s;
}
@keyframes login_welcomeline {
	0% {
		width: 0%;
	}
	100% {
		width: 100%;
	}
}
.content-login .welcome-message .login-title{
	font-size: 20px;
	font-weight: 500;
	margin: 0;
	opacity: 0;
	animation: login_show-l 0.8s ease forwards;
	animation-delay: 1.5s;
}
@keyframes login_show-l {
	0% {
		opacity: 0;
		transform: translateX(-25px);
	}
	100% {
		opacity: 1;
		transform: translateX(0px);
	}
}
.content-login .login-form{
	/* width: 300px; */
	margin-top: 60px;
	margin-left: auto;
	width: 300px;
}
.content-login .login-subLink{
	font-size: 14px;
	font-weight: 500;
	margin-left: -15px;
	margin-right: -15px;
}
.content-login form .login-subLink{
	text-align: center;
	margin-top: 30px;
	margin-bottom: 117px;
}
.content-login .login-subLink a{
	position: relative;
	display: inline-block;
	text-decoration: none;
	margin-left: 15px;
	margin-right: 15px;
	color: #adadad;
}
.content-login .login-subLink a:hover{
	color: #243880;
}
.content-login .login-subLink a::after{
	content: "";
	position: absolute;
	right: -17px;
	top: 0;
	bottom: 0;
	border-right: 1px solid #ddd;
}
.content-login .login-subLink a:last-child:after{
	content: none;
	display: block;
}
.content-login form{
}
.content-login form >*{
	opacity: 0;
	animation: login_show-t 0.8s ease forwards;
}
.content-login form >*:nth-child(1){animation-delay: 1.9s;}
.content-login form >*:nth-child(2){animation-delay: 2.1s;}
.content-login form >*:nth-child(3){animation-delay: 2.3s;}
.content-login form >*:nth-child(4){animation-delay: 2.5s;}
.content-login form >*:nth-child(5){animation-delay: 2.7s;}
@keyframes login_show-t {
	0% {
		opacity: 0;
		transform: translateY(-20px);
	}
	100% {
		opacity: 1;
		transform: translateY(0px);
	}
}
.login-btn{
	cursor: pointer;
	width: 300px;
	height: 53px;
	border-radius: 27px;
	border: solid 1px #243880;
	background-color: #fff;
	font-size: 16px;
	font-weight: bold;
	color: #243880;
}
.login-btn:hover{
	box-shadow: 0 3px 6px 0 rgba(36, 56, 128, 0.19);
	border-color: #333;
	background-color: #333;
	color: #fff;
}
.loginFoot-btn{
	cursor: pointer;
	width: 300px;
	height: 53px;
	border-radius: 27px;
	font-size: 16px;
	font-weight: bold;
	margin-right: 20px;
}
.gnb-body.login-sub .login-card{
	display: flex;
	flex-direction: column;
}
.gnb-body.login-sub .login-header{
	text-align: center;
}
.gnb-body.login-sub .system-title{
	font-size: 21px;
	font-weight: bold;
	margin: 0 ;
	margin-bottom: 3px;
	color: #243880;
}
.gnb-body.login-sub .page-title{
	font-size: 34px;
  	font-weight: bold;
	margin: 0 ;
	color: #333;
}
.gnb-body.login-sub .page-description{
	font-size: 16px;
  	font-weight: 500;
	margin-top: 11px;
	margin-bottom: 0px;
	line-height: 1.5;
}
.gnb-body.login-sub .login-body{
	width: 300px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex: 1;
	margin: 0 auto;
}
.gnb-body.login-sub .login-body .loginBody-text1{
	font-size: 20px;
  	font-weight: 500;
	margin: 0;
}
.gnb-body.login-sub .login-body .readonly-box{
	width: 300px;
	border-radius: 10px;
	font-size: 16px;
	padding: 16px;
	background-color: #f1f1f1;
}
.gnb-body.login-sub .login-body .loginBody-text1 + .readonly-box{
	padding: 16px;
	border-radius: 10px;
	font-size: 16px;
	background-color: #f1f1f1;
	margin: 49px 0;
}
.login-readonly_list{
	list-style: none;
	height: 208px;
	overflow-y: auto;
	padding: 0;
	margin: 0 -16px;
}
.login-readonly_list .readonly-box{
	margin: 0 auto;
	margin-bottom: 26px;
}
.login-readonly_list .readonly-box:last-child{
	margin-bottom: 0;
}
.gnb-body.login-sub .textinput,
.gnb-body.login-sub .selectinput{
	margin-top: 10px;
	margin-bottom: 30px;
}
.gnb-body.login-sub .textinput:last-child,
.gnb-body.login-sub .selectinput:last-child{
	margin-bottom: 0;
}
.gnb-body.login-sub .login-footer{
	display: flex;
	width: 300px;
	margin: 0 auto;
}
.gnb-body.login-sub .login-footer button:last-child{
	margin-right: 0;
}


/* end:: gnb-body login */

/* start:: gnb-nav */

	.gnb-nav {
		position: absolute;
		display: flex;
		flex-direction: column;
		left: 0;
		top: 0px;
		width: 245px;
		box-shadow: 2px 7px 12px 0 rgba(0, 0, 0, 0.1);
		border-top-right-radius: 16px;
		border-bottom-right-radius: 16px;
		padding-top: 20px;
		padding-bottom: 20px;
		background-color: #fff;
		min-height: calc(100vh - 50px);
		z-index: 500;
		
		transition: width 0.3s linear;
	}
	
	.gnb-nav.V-wide{
		color: #243880;
	}
	.gnb-nav.V-mini{
		width: 118px;
		color: #ffffff;
		background-color: #243880;
	}
	
	.gnb-nav + .gnb-body {
		transition: padding 0.3s linear;
	}
	.gnb-nav.V-wide + .gnb-body {
		padding-left: 245px;
	}
	.gnb-nav.V-mini + .gnb-body {
		padding-left: 118px;
	}

	.gnb-nav.fixed {
		position: fixed;
		bottom: 0;
	}

	.gnb-nav h1 {
		display: flex;
		margin: 8px 0;
		padding: 0 22px;
		height: 40px;
		min-height: 40px;
		font-size: 16px;
		font-weight: 500;
		overflow: hidden;
	}
	.gnb-nav h2 {
		display: flex;
		min-height: 80px;
		font-size: 24px;
  		font-weight: bold;
		margin: 0;
		padding: 0 22px 20px;
		overflow: hidden;
	}
	.gnb-nav.V-mini h2 {
		padding-top: 10px;
		font-size: 16px;
		display: block;
	}
	.gnb-nav.V-mini h2 span {
		display: block;
		margin-bottom: 2px;
	}
	.gnb-nav.V-mini h1,
	.gnb-nav.V-mini h2 {
		flex-wrap: wrap;
		line-height: 1.25;
	}
	.gnb-nav.V-mini h1 span,
	.gnb-nav.V-mini h2 span {
		width: 100%;
	}
	.gnb-nav h1 span,
	.gnb-nav h2 span{
		margin-right: 5px;
		white-space: nowrap;
	}
	
	.gnb-nav-list {
		display: flex;
		flex-direction: column;
		justify-content: center;
		flex: 1;
		margin: 30px 0%;
		padding: 0;
		list-style: none;
	}

	.gnb-nav-list li {
		position: relative;
		font-size: 16px;
	}
	.gnb-nav-list > li {
		margin: 7px 0;
	}

	
	/* btn-navWM */
	.btn-navWM {
		position: relative;
		width: 100%;
		height: 20px;
		min-height: 20px;
		transition: transform 0.5s ease;
		background-color: transparent;
		border: none;
		padding: 0;
	}
	.btn-navWM .navWM-svg {
		position: absolute;
		right: 0;
		top: 0;
		height: 100%;
		width: 245px;
		transform: translateX(-100%);
		cursor: pointer;
		transition: transform 0.2s ease;
	}
	.gnb-nav.V-mini .btn-navWM.first-landing .navWM-svg.navWM-mini,
	.gnb-nav.V-wide .btn-navWM.first-landing .navWM-svg.navWM-wide {
		animation-delay: 0.2s;
		animation: gnbArrow-Landing 0.7s ease forwards;
	}
	@keyframes gnbArrow-Landing {
		0% {transform: translateX(-100%);}
		100% {transform: translateX(0%);}
	}
	.gnb-nav.V-mini .navWM-mini,
	.gnb-nav.V-wide .navWM-wide {
		transform: translateX(0%);
		transition: transform 0.7s ease;
		transition-delay: 0.2s;
	}
	/* V-mini */
	.gnb-nav.V-mini .navWM-mini .right-arrow,
	.gnb-nav.V-wide .navWM-mini .left-arrow {
		opacity: 1;
	}
	.gnb-nav.V-mini .navWM-mini .left-arrow,
	.gnb-nav.V-wide .navWM-mini .right-arrow {
		opacity: 0;
	}
	/* navWM-wide */
	.gnb-nav.V-wide .navWM-wide .left-arrow {
		opacity: 0;
		animation: arrowChange 0.001s linear forwards;
		animation-delay: 1s;
	}
	.gnb-nav.V-wide .navWM-wide .right-arrow {
		opacity: 1;
		animation: arrowChange 0.001s linear reverse forwards;
		animation-delay: 1s;
	}
	.gnb-nav.V-mini .navWM-wide .left-arrow {
		opacity: 1;
	}
	.gnb-nav.V-mini .navWM-wide .right-arrow {
		opacity: 0;
	}
	@keyframes arrowChange {
		0% {opacity: 0;}
		100% {opacity: 1;}		
	}

	/* hover */
	@keyframes navWM-wide {
		0%, 30%, 40%, 60%, 100% {
			transform: translateX(-5px);
		}			30%, 50% {
			transform: translateX(0px);
		}		
	}
	@keyframes navWM-mini {

		0%, 30%, 40%, 60%, 100% {
			transform: translateX(0px);
		}
		30%, 50% {
			transform: translateX(-5px);
		}		
	}
	.gnb-nav.V-mini:hover .btn-navWM {
		animation: navWM-mini 2s linear infinite;
	}
	.gnb-nav.V-wide:hover .btn-navWM {
		animation: navWM-wide 2s linear infinite;
	}
	/* svg */
	.gnb-nav .btn-navWM svg {
		position: absolute;
		right: 0;
		top: 0;
	}
	.gnb-nav .btn-navWM .svg-arrow,
	.gnb-nav .btn-navWM .svg-line {
		transition: stroke-width 0.15s ease;
	}
	.gnb-nav .btn-navWM:hover .svg-arrow,
	.gnb-nav .btn-navWM:hover .svg-line {
		stroke-width: 2.5px !important;
	}
	.gnb-nav.V-wide .btn-navWM .svg-arrow,
	.gnb-nav.V-wide .btn-navWM .svg-line {
		stroke: #243880;
	}
	.gnb-nav.V-mini .btn-navWM .svg-arrow,
	.gnb-nav.V-mini .btn-navWM .svg-line {
		stroke: #ffffff;
	}




	.gnb-nav-list .menu-title{
		position: relative;
		height: 40px;
		width: 100%;
		display: flex;
		align-items: center;
		overflow: hidden;
		text-decoration: none;
		color: inherit;		
		font-size: 18px;
  		font-weight: 500;
		padding-left: 38px;
		color: #adadad;
		transition: color 0.15s linear;
	}
	.gnb-nav-list .menu-title .d{
		fill: #adadad;
	}

	.gnb-nav-list .menu-title:hover,
	.gnb-nav-list > li:hover .menu-title{
		color: #243880;
	}
	.gnb-nav-list .menu-title:hover .d,
	.gnb-nav-list > li:hover .menu-title .d{
		fill: #243880;
	}
	.gnb-nav-list .menu-title svg,
	.gnb-nav-list .menu-title i{
		font-size: 18px;
		width: 22px;
		min-width: 22px;
		text-align: center;
		padding-bottom: 2px;
	}
	.gnb-nav-list .menu-title svg{
		transition: fill 0.15s linear;
	}
	.gnb-nav-list .menu-title span {
		white-space: nowrap;
		margin-right: 5px;
		margin-left: 15px;
		width: 150px;
	}
	
	.gnb-nav-list .active .menu-title{
		color: #243880;
	}
	.gnb-nav-list .active .menu-title .d{
		fill: #243880;
	}
	.gnb-nav-list .active .menu-title::after{
		content: "";
		height: 50%;
		position: absolute;
		top: 50%;
		right: 1px;
		transform: translateY(-50%);
		width: 2px;
		border-radius: 1px;
		background-color: #243880;
	}
	

	/* .gnb-nav-sub-list */
	.gnb-nav-sub-list{
		position: absolute;
		left: 100%;
		top: -11px;
		width: max-content;
		max-width: 300px;
		font-size: 16px;
		box-shadow: 4px 8px 10px 0 rgba(0, 0, 0, 0.04);
  		background-color: #506099;
		border-top-right-radius: 16px;
		border-bottom-right-radius: 16px;
		padding: 15px 0;
		list-style: none;
		display: none;
	}
	.gnb-nav-sub-list li{
		padding: 0;
		margin-bottom: 5px;
	}
	.gnb-nav-sub-list li:last-child{
		margin-bottom: 0px;
	}
	.gnb-nav-sub-list a{
		display: block;
		padding: 5px 20px;
		text-decoration: none;
		color: #ffffff;
		transition: background-color 0.05s linear;
	}
	.gnb-nav-sub-list li.title{
		font-weight: 600;
		margin-bottom: 5px;
	}
	.gnb-nav-sub-list li:last-child{
		margin-bottom: 0px;
	}
	.gnb-nav-sub-list a:hover{
		background-color: rgba(255, 255, 255, .19);
	}

	.gnb-nav-list li.gnb-nab-entity:hover .gnb-nav-sub-list,
	.gnb-nav-list li.gnb-nab-group:hover .gnb-nav-sub-list{
		display: block;
	}
	/* V-wide */
	.gnb-nav.V-wide li.gnb-nab-entity:hover .gnb-nav-sub-list{
		display: none;
	}
	.gnb-nav.V-wide li.gnb-nab-group .gnb-nav-sub-list .title{
		display: none;
	}
	/* .V-mini */
	.gnb-nav.V-mini .gnb-nav-list .menu-title{
		color: #fff;
		opacity: 0.5;
		padding-left: 0;
		justify-content: center; 
	}
	.gnb-nav.V-mini .gnb-nav-list .menu-title .d{
		fill: #fff;
	}
	.gnb-nav.V-mini .gnb-nav-sub-list li.title {
		pointer-events: none;
	}
	.gnb-nav.V-mini .gnb-nav-list .menu-title:hover,
	.gnb-nav.V-mini .gnb-nav-list .active .menu-title,
	.gnb-nav.V-mini .gnb-nav-list > li:hover .menu-title{
		opacity: 1;
	}
	.gnb-nav.V-mini .gnb-nav-list .active .menu-title::after{
		background-color: #fff;
	}


	.gnb-nav .user-info{
		display: flex;
		flex-direction: column;
		margin: 0 20px 0 20px;
		padding: 20px;
		border-radius: 16px;
  		background-color: #243880;
		color: #ffffff;
		min-height: 250px;
		overflow: hidden;
	}

	.gnb-nav .user-info .belong-keyword{
		width: 46px;
		height: 46px;
		font-size: 14px;
  		font-weight: 600;
		border-radius: 46px;
		background-color: #fff;
		line-height: 46px;
		text-align: center;
		color: #243880;
	}
	.gnb-nav .user-info .user-name{
		margin: 9px 0px 12px;
		font-size: 18px;
  		font-weight: bold;
		min-width: 165px;
	}
	.gnb-nav .user-info .user-belong{
		flex: 1;
		min-width: 145px;
		min-height: 40px;
		margin: 0;
		margin-bottom: 10px;
		font-size: 16px;
		font-weight: 500;
		word-break: keep-all;
	}
	.gnb-nav.V-mini .gnb-nav-list .menu-title span{
		width: 0;
		margin: 0;
		opacity: 0;
		pointer-events: none;
	}
	
	.gnb-nav .user-info .function{
		display: flex;
		align-items: center;
		justify-content: center;
		width: 175px;
		margin: 0 -5px;
		padding-bottom: 10px;
	}
	
	.gnb-nav .user-info .function .function-btn{
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 1;
		text-decoration: none;	
		color: #ffffff;
		background-color: transparent;
		padding: 0;
		margin-right: 28px;
		border: 0;
		text-align: center;
		transition: font-weight 0.15s linear;
	}
	.gnb-nav .user-info .function .function-btn i{
		font-size: 16px;
		opacity: 0.7;
		margin-right: 5px;
	}
	.gnb-nav .user-info .function .function-btn:hover{
		font-weight: 600;
	}
	.gnb-nav .user-info .function .function-btn:hover i{
		opacity: 1;
	}
	.gnb-nav.V-wide .user-info .function .function-btn::after{
		content: "";
		position: absolute;
		right: -14px;
		top: 50%;
		transform: translateY(-50%);
		width: 0;
		height: 20px;
		border-right: solid 1px #fff;
	}
	.gnb-nav.V-wide .user-info .function .function-btn:last-child{
		margin-right: 0px;
	}
	.gnb-nav.V-wide .user-info .function .function-btn::after{
		margin-right: 0;
	}
	/* V-mini */
	.gnb-nav.V-mini .user-info{
		height: 247px;
		margin: 0;
		padding-left: 0;
		padding-right: 0;
		text-align: center;
	}
	.gnb-nav.V-mini .user-info .belong-keyword{
		margin: 0 auto;
	}
	.gnb-nav.V-mini .user-info .user-name{
		min-width: 100%;
	}
	.gnb-nav.V-mini .user-info .user-belong{
		opacity: 0;
	}
	.gnb-nav.V-mini .user-info .function{
		flex-direction: column;
		width: 118px;
		padding-bottom: 0;
		margin: 0 auto;
	}
	.gnb-nav.V-mini .user-info .function .function-btn{
		padding: 2px 5px;
		margin: 10px 0;
		height: 21px;
	}
	.gnb-nav.V-mini .user-info .function .function-btn::after{
		content: "";
		position: absolute;
		left: 50%;
		bottom: -10px;
		transform: translateX(-50%);
		opacity: 0.3;
		width: 60px;
		height: 0px;
		border-bottom: solid 1px #fff;
	}
	.gnb-nav .user-info .function .function-btn:last-child::after{
		content: none;
	}
/* end  :: gnb-nav */


/* start  :: dashboard */
.dashboard-row1{
	display: flex;
}
.dashboard-filter{
	display: flex;
	align-items: center;
	border-radius: 16px;
	box-shadow: 4px 6px 10px 0 rgba(0, 0, 0, 0.04);
	border: solid 1px #f1f1f1;
	background-color: #fff;
	padding: 2px 16px 2px 30px;
}
.dashboard-filter .title{
	font-size: 16px;
	font-weight: 500;
	color: #243880;
	margin-right: 18px;
}
.dashboard-filter .selectinput{
	width: 150px;
	padding-top: 3px;
}
.dashboard-filter .selectinput button{
	min-width: 100%;
}
.dashboard-swichG{
	display: flex;
	align-items: center;
	margin-left: 30px;
}
.dashboard-swichG.disabled{
	pointer-events: none;
	opacity: 0.8;
}
.dashboard-swichG .switch{
	margin-left: 18px;
}
/* dashboard-intro */
.dashboard-intro{
	flex: 1;
	height: 200px;
	/* width: 536px; */
	border: 0;
	padding: 34px 30px 34px 40px;
}
.dashboard-intro .title{
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 14px;
}
.dashboard-intro .count{
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 13px;
}
.dashboard-intro .count .value{
	font-size: 34px;
	font-weight: bold;
	margin-right: 4px;
}
.dashboard-intro .explain{
	line-height: 1.36;
}
/* dashboard-state */
.dashboard-state{
	display: flex;
	margin-left: 7px;
}
.dashboard-state .card{
	height: 200px;
	width: 200px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-left: 41px;
	border: 0;
	background-color: #e6e6e6;
	color: #ffffff;
}
.dashboard-state .title{
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 8px;
}
.dashboard-state .count{
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 20px;
}
.dashboard-state .count .value{
	display: inline-block;
	/* min-width: 65px; */
	font-size: 34px;
	font-weight: bold;
	margin-right: 4px;
	text-align: right;
}
.dashboard-state .chart .value{
	text-align: right;
	font-size: 16px;
  	font-weight: bold;
	margin-bottom: 4px;
}
.dashboard-state .chart .bar-chart{
	position: relative;
	width: 150px;
	height: 16px;
	border-radius: 20px;
	background-color: rgba(255, 255, 255, 0.4);
	overflow: hidden;
}
.dashboard-state .chart .bar-chart span{
	position: absolute;
	top: 0%;
	left: 0%;
	width: 16px;
	height: 100%;
	border-radius: 20px;
	background-color: #ffffff;
}
.dashboard-state .card.fine{ /* 양호 */
	background-color: #374FC4;
}
.dashboard-state .card.warning{ /* 주의 */
	background-color: #F8C03E;
}
.dashboard-state .card.danger{ /* 심각 */
	background-color: #D3404D;
}

.dashboard-state .chart .bar-chart span{
	transition: width 0.6s ease;
}
.dashboard-intro .count .unit,
.dashboard-row1 .dashboard-state .count .unit{
	animation: unit-show 0.2s ease forwards;
	animation-delay: 0.65s;
	opacity: 0;
}
@keyframes unit-show {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
/* pubilc-mapChart */
.pubilc-mapChart{
	width: 390px;
  	height: 632px;
	padding: 24px 16px;
}
.pubilc-mapChart .legend{
	display: flex;
	height: 40px;
	font-size: 12px;
	border-radius: 16px;
	box-shadow: 4px 6px 10px 0 rgba(0, 0, 0, 0.04);
	border: solid 1px #f1f1f1;
	background-color: #f1f1f1;
	white-space: nowrap;
	margin-bottom: 25px;
}
.pubilc-mapChart .legend .legend-each{
	display: flex;
	flex-grow: 1;
	align-items: center;	
	justify-content: center;
	font-size: 12px;
	/* padding: 0 13px; */
	border: solid 1px transparent;
	cursor: pointer;
}
.pubilc-mapChart .legend .legend-each span.badge{
	display: inline-block;
	width: 25px;
	height: 12px;
	border-radius: 4px;
	margin-right: 6px;
}
.pubilc-mapChart .legend .legend-each span.badge.full{
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-right: 7px;
	border-radius: 6px;
	background-image: conic-gradient(from 0.25turn, #fb4400, #fccc00 0.5turn, #2ff080);
}

.pubilc-mapChart .legend .legend-each.on{
	border-radius: 16px;
	border-color: #f1f1f1;
	background-color: #fff;
}

.pubilc-mapChart .map{
	position: relative;
	width: 328.5px;
  	height: 508.6px;
	margin: auto;
}
.pubilc-mapChart .map img{
	width: 100%;
	height: 100%;
}
.pubilc-mapChart .map .marker{
	position: absolute;
	left: 0;
	top: 0;
	height: 50px;
	min-width: 50px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	transform: translate(-50%, -50%);
	border-radius: 6px;
	box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
	background-color: rgba(255, 255, 255, 0.84);
	font-size: 12px;
	font-weight: 500;
	padding: 6px 9px;
	white-space: nowrap;
	cursor: default;
	transition: transform 0.4s ease;
}
.pubilc-mapChart .map .marker.hide{
	transform: translate(-50%, -50%) scale(0);
}
.pubilc-mapChart .map .marker:hover{
	z-index: 2;
}
.pubilc-mapChart .map .marker .count{
	margin-top: 8px;
	font-weight: bold;
}
/* 
	양호 : fine (#374FC4)
	주의 : warning (#F8C03E)
	심각 : danger (#D3404D) 
*/
.pubilc-mapChart .map .marker.fine .count{
	color: #374FC4;
}
.pubilc-mapChart .map .marker.warning .count{
	color: #F8C03E;
}
.pubilc-mapChart .map .marker.danger .count{
	color: #D3404D;
}
.dashboard-categoryRow{
	display: flex;
	margin: 0 -24px;
	margin-bottom: 50px;
}
.dashboard-categoryScroll{
	flex: 1;
	display: flex;
	overflow-x: auto;
}
.dashboard-categoryScroll.innerContent-1 .dashboard-subContent{
	width: calc(100% - 48px);
	min-width: calc(100% - 48px);
}
.dashboard-categoryScroll.innerContent-2 .dashboard-subContent{
	width: calc(50% - 48px);
	min-width: calc(50% - 48px);
}
/* dashboard-subContent */

.dashboard-subContent{
	width: calc(33.333% - 48px);
	margin: 0 24px;
}
.dashboard-subContent .introCount{
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-radius: 16px;
  	border: solid 1px #eaeaea;
	padding: 0 30px;
	margin-bottom: 16px;
}
.dashboard-subContent .introCount .title{
	font-size: 14px;
  	font-weight: 600;
}
.dashboard-subContent .introCount .count{
	font-size: 14px;
  	font-weight: 500;
}
.dashboard-subContent .introCount .value{
	font-size: 24px;
  	font-weight: bold;
	  margin-right: 4px;
}
.dashboard-subContent .dashboard-state{
	display: flex;
	justify-content: space-between;
	margin-left: -10px;
	margin-bottom: 30px;
}
.dashboard-subContent .dashboard-state .card{
	width: 128px;
	height: 128px;
	margin-left: 10px;
	padding: 0 15px;
	margin-bottom: 0px;
}
.dashboard-subContent .dashboard-state .title{
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 6px;
}
.dashboard-subContent .dashboard-state .count{
	font-size: 11px;
  	font-weight: 500;
	margin-bottom: 11px;
}
.dashboard-subContent .dashboard-state .count .value{
	font-size: 22px;
  	font-weight: bold;
}
.dashboard-subContent .dashboard-state .chart{
	width: 100%;
}
.dashboard-subContent .dashboard-state .chart .value{
	font-size: 11px;
  	font-weight: bold;
}
.dashboard-subContent .dashboard-state .chart .bar-chart{
	height: 12px;
	width: 100%;
}
.categoryList-title{
	font-size: 18px;
  	font-weight: 600;
	margin: 0;
	margin-bottom: 16px;
}
.categoryList-quarter{
	display: flex;
	margin-bottom: 16px;
	
}
.categoryList-quarter p{
	flex: 1;
  	height: 32px;
	line-height: 32px;
	border-radius: 8px;
	font-size: 16px;
  	font-weight: bold;
  	background-color: #7793f7;
	color: #ffffff;
	text-align: center;
	margin: 0;
	margin-right: 16px;
}
.categoryList-quarter p:last-child{
	margin-right: 0;
}
.categoryEach .categoryEach-title{
	min-width: 90px;
	width: max-content;
	height: 32px;
	line-height: 32px;
	border-radius: 8px;
	font-size: 14px;
  	font-weight: bold;
	background-color: #243880;
	color: #fff;
	text-align: center;
	padding: 0 5px;
}
.categoryEach .rep-row{
	line-height: 30px;;
	display: flex;
	list-style: none;
	white-space: nowrap;
	margin: 0;
	padding: 0;
	text-align: right;
	margin-top: 12px;
}
.categoryEach .rep-row li:not(.variation){
	flex: 1;
	font-size: 22px;
	font-weight: bold;
	border-right: solid 1px #adadad;
	padding: 0px 8px;
}
.categoryEach .rep-row li:not(.variation) span{
	font-size: 14px;
	font-weight: 500;
	margin-left: 4px;
}
.categoryEach .rep-row li.variation{
	position: relative;
	width: 19%;
	font-size: 16px;
  	font-weight: bold;
	color: #adadad;
}
.categoryEach .rep-row li.variation::before{
	content: "";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 6px;
}
.categoryEach .rep-row li.variation.up{
	color: #d3404d;
}
.categoryEach .rep-row li.variation.up::before{
	content: "\f0d8";
}

.categoryEach .rep-row li.variation.down{
	color: #374fc4;
}
.categoryEach .rep-row li.variation.down::before{
	content: "\f0d7";
}

.categoryEach .rep-row li.variation::after{
	content: "증감율";
	position: absolute;
	right: 0;
	bottom: 100%;
	line-height: normal;
	font-size: 11px;
  	font-weight: 600;
	color: #666;
}
.categoryEach .rep-hideConent{
	height: 136px;
	margin-bottom: 20px;
	margin-top: 14px;
	overflow: hidden;
	transition: height 0.4s ease;
}
.dashboard-categoryRow.hide .rep-hideConent{
	height: 0 !important;
	border-bottom: 1px solid #eaeaea;
}
.categoryEach .rep-hideConent .repCard{
	height: 64px;
	border-radius: 10px;
	padding: 8px 20px;
	background-color: #f5f7fe;
	margin-top: 8px;
	color: #666;
}
.categoryEach .rep-hideConent .repCard:first-child{
	margin-top: 0px;
}
.categoryEach .rep-hideConent .repCard .title{
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 5px;
}
.categoryEach .rep-hideConent .repCard-row{
	list-style: none;
	display: flex;
	align-items: center;
	text-align: right;
	padding: 4px 0 0;
	margin: 0 -40px;
}
.categoryEach .rep-hideConent .repCard-row li{
	flex: 1;
	padding: 0 40px;
	font-size: 20px;
  	font-weight: bold;
}
.categoryEach .rep-hideConent .repCard-row li span{
	font-size: 14px;
	font-weight: 500;
	margin-left: 4px;
}
.categoryEach .rep-hideConent .repCard-row .inner-barChart{
	display: flex;
	align-items: center;
}
.categoryEach .rep-hideConent .repCard-row .inner-barChart .bar-chart{
	position: relative;
	flex: 1;
	height: 10px;
	border-radius: 20px;
	background-color: #ddd;
	overflow: hidden;
}
.categoryEach .rep-hideConent .repCard-row .inner-barChart .bar-chart span{
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	min-height: 10px;
	height: 100%;
	border-radius: 20px;
	margin: 0;
	background-color: #adadad;
}
.categoryEach .rep-hideConent .repCard-row .inner-barChart .value{
	font-size: 14px;
  	font-weight: 500;
	width: 41px;
	padding-left: 5px;
}
.categoryEach:last-child .rep-hideConent{
	margin-bottom: 0px;
}


/* end  :: dashboard */










/* 
	z-index

	10 : map
	15 : mapPin
	20 : map-scale
	20 : map-legend
	30 : map-filter
	40 : congestedArea-content
*/
.gis-wrapper{
	position: relative;
}
.gis-wrapper .map{
	position: relative;
	z-index: 10;
	margin-left: -16px;
	position: relative;
	overflow: hidden;
	height: 100vh;
}
.gis-wrapper .map .map-img{
	/* display: none; */
	height: 100%;
	width: calc(100% + 118px);
	background-image: url(./../images/map-bg.PNG);
	background-position: center;
	background-size: cover;
	margin-left: -118px;
}


/* start  :: mapPin */
.mapPin{
	position: absolute;
	z-index: 15;
	transform: translate(-50%, -50%);
}
.mapPin .map-node{
	height: 32px;
	min-width: 32px;
	width: auto;
	padding: 0 5px;
	margin-right: 0;
	cursor: pointer;
	border: solid 1px #fff;
	background-color: #7988cd;
}
.mapPin .mapPin-hover{
	position: absolute;
	display: flex;
	top: calc(100% + 4px);
	left: 50%;
	transform: translateX(-50%);
	width: max-content;
	font-size: 16px;
	font-weight: 600;
	padding: 6px 12px;
	border-radius: 50px;
	border: solid 1px transparent;
	background-color: #fff;
	border-color: #374FC4;
	color: #374FC4;
	opacity: 0;
	pointer-events: none;
}
.mapPin:not(.on) .map-node:hover + .mapPin-hover{
	opacity: 1;
	pointer-events: auto;
}
.mapPin .mapPin-hover .badge{
	display: inline-block;
	height: 20px;
	line-height: 20px;
	border-radius: 16px;
	background-color: #374FC4;
	color: #ffffff;
	font-size: 14px;
	font-weight: 600;
	padding: 0 6px;
	margin: 0 -6px 0 8px;
}

/* 
	양호 : fine (#374FC4)
	주의 : warning (#F8C03E)
	심각 : danger (#D3404D) 
*/

.mapPin.fine .map-node, .mapPin.fine .mapPin-hover .badge{background-color: #374FC4;}
.mapPin.fine .mapPin-hover{border-color: #374FC4; color: #374FC4;}

.mapPin.warning .map-node, .mapPin.warning .mapPin-hover .badge{background-color: #F8C03E;}
.mapPin.warning .mapPin-hover{border-color: #F8C03E; color: #F8C03E;}

.mapPin.danger .map-node, .mapPin.danger .mapPin-hover .badge{background-color: #D3404D;}
.mapPin.danger .mapPin-hover{border-color: #D3404D; color: #D3404D;}
/* end  :: mapPin */

/* start  :: multiPin */
.mapPin .multiList{
	position: absolute;
	display: flex;
	flex-direction: column;
	left: calc(100% + 10px);
	top: 50%;
	transform: translateY(-50%);
	width: 380px;
	box-shadow: 4px 6px 10px 0 rgba(0, 0, 0, 0.04);
	border-radius: 16px;
	border: solid 1px #f1f1f1;
	background-color: #fff;
	padding: 0;
	margin: 0;
}
.mapPin .multiList .multiPin-list{
	overflow: hidden;
	list-style: none;
	padding: 0;
	margin: 7px 0;
	max-height: 566px;
	overflow-y: auto;
}
.mapPin .multiList .multiPin-list li{
	display: flex;
    align-items: center;
	flex-wrap: wrap;
	padding: 20px 30px;
	border-bottom: solid 1px #f1f1f1;
	cursor: pointer;
	transition: background-color 0.15s linear;
}
.mapPin .multiList .multiPin-list li:hover{
	background-color: #f5f7fe;
}
.mapPin .multiList .multiPin-list li:last-child{
	border-bottom: none;
}

.mapPin .multiList .areaName{
	width: calc(100% - 53px);
	overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
	font-size: 16px;
  	font-weight: 600;
}
.mapPin .multiList .areaDetail{
	display: flex;
	width: 100%;
}
.mapPin .multiList .areaType{
	flex-grow: 1;
	margin-top: 12px;
	overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
	min-width: 90px;
}


.mapPin .multiPin-info{
	position: absolute;
	left: calc(100% + 10px);
	top: 50%;
	transform: translateY(-50%);
	width: 380px;
	padding: 20px 30px;
	border-radius: 16px;
	box-shadow: 2px 4px 10px 0 rgba(0, 0, 0, 0.1);
	border: solid 1px #f1f1f1;
	background-color: #fff;
}
.mapPin .info-title{
	display: flex;
	margin-bottom: 25px;
	align-items: center;
}
.mapPin .info-title .areaName{
	font-size: 16px;
    font-weight: 600;
	flex: 1;
}
.mapPin .info-title .btn-close{
	margin: 0;
	font-size: 16px;
	margin-right: -6px;
}
.mapPin .info-list{
	list-style: none;
	margin: 0;
	padding: 0;
	margin-bottom: 20px;
}
.mapPin .info-list li{
	display: flex;
	margin-bottom: 10px;
}
.mapPin .info-list p{
	margin: 0;
	font-weight: 600;
	flex-grow: 1;
	margin-right: 10px;
	white-space: nowrap;
}
.mapPin .info-list span{
	flex-grow: 1;
	text-align: right;
}
.mapPin .info-foot{
	position: relative;
	display: flex;
	justify-content: center;
}
.mapPin .info-foot .info-tooltip{
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.mapPin .info-link{
	padding: 6px 12px;
	background-color: #333;
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	border: 0;
	border-radius: 20px;
	cursor: pointer;
}
.mapPin .info-link:hover{
	box-shadow: 2px 4px 10px 0 rgba(0, 0, 0, 0.1);
}
.multiList,
.multiPin-info,
.mapPin .multiList{
	display: none;
}
.mapPin:hover{
	z-index: 17;
}
.mapPin.on{
	z-index: 16;
}
.mapPin.on .multiList,
.mapPin.on > .multiPin-info,
.multiList.show,
.multiPin-info.show{
	display: block;
}
/* end  :: multiPin */


/* start  :: mapCluster */
.mapCluster{
	position: absolute;
	z-index: 15;
	transform: translate(-50%, -50%);
}
.mapCluster .cluster-node{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	border-radius: 80px;
	font-size: 20px;
  	font-weight: 900;
	border: solid 1px #fff;
	background-color: #243880;
	color: #fff;
	cursor: pointer;
	opacity: 0.5;
	transition: opacity 0.15s linear;
}
.mapCluster .cluster-node:hover{
	opacity: 0.9;
}
.mapCluster .info-layer{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: calc(100% + 10px);
	width: 430px;
	padding: 20px 30px;
	border-radius: 16px;
	box-shadow: 2px 4px 10px 0 rgba(0, 0, 0, 0.1);
	border: solid 1px #f1f1f1;
	background-color: #fff;
}
.mapCluster .info-layer h5{
	font-size: 16px;
	font-weight: 600;
	color: #333;
	margin-top: 0;
	margin-bottom: 17px;
}
.mapCluster .info-layer .count-row{
	display: flex;
	margin: 0 -10px;
}
.mapCluster .info-layer .count-row .group{
	flex: 1;
	padding: 0 10px;
	display: flex;
	align-items: center;
	height: 20px;
}
.mapCluster .info-layer .count-row .line{
	border-right: solid 1px #f1f1f1;
}
.mapCluster .info-layer .count-row p{
	font-weight: 600;
	margin: 0;
}
.mapCluster .info-layer .count-row span{
	flex: 1;
	text-align: right;
}
.mapCluster .info-layer .stage-row{
	display: flex;
	margin-right: -12px;
}
.mapCluster .info-layer .stage-row .stage-card{
	flex: 1;
	display: flex;
	align-items: center;
	margin-right: 12px;
	padding: 8px 14px;
	border-radius: 13px;
	font-weight: 600;
	background-color: #374FC4;
	color: #ffffff;
	white-space: nowrap;
}
.mapCluster .info-layer .stage-row .stage-card p{
	flex: 1;
	text-align: right;
	margin: 0 2px 0 7px;
	font-size: 18px;
	font-weight: bold;
}
.mapCluster .info-layer .stage-row .stage-card span{
	font-weight: 400;	
}

/* 
	양호 : fine (#374FC4)
	주의 : warning (#F8C03E)
	심각 : danger (#D3404D) 
*/
.stage-card.fine{background-color: #374FC4 !important;}
.stage-card.warning{background-color: #F8C03E !important;}
.stage-card.danger{background-color: #D3404D !important;}

.mapCluster:hover{
	z-index: 17;
}
.mapCluster .info-layer{
	display: none;
}
.mapCluster .cluster-node:hover + .info-layer{
	display: block;
}
/* end  :: mapCluster */

/* start  :: congestedArea-content */

.congestedArea-content{
	position: absolute;
	z-index: 40;
	width: 456px;
	display: flex;
	flex-direction: column;
	top: 0;
	left: -16px;
	height: 100%;
	padding: 26px 30px 0 46px;
	border-top-right-radius: 16px;
	border-bottom-right-radius: 16px;
	box-shadow: 4px 6px 10px 0 rgba(0, 0, 0, 0.1);
	background-color: #ffffff;
}
.congestedArea-search{
	display: flex;
	align-items: center;
	padding: 18px 30px;
	border-radius: 16px;
	box-shadow: 4px 6px 10px 0 rgba(0, 0, 0, 0.04);
	border: solid 1px #f1f1f1;
	background-color: #fff;
	margin-bottom: 30px;
}
.congestedArea-search label{
	font-size: 16px;
	font-weight: 500;
	color: #243880;
	margin-right: 16px;
}
.congestedArea-search .textinput{
	margin-bottom: 0;
	width: auto;
	flex: 1;
}
.congestedArea-total{
	font-weight: 500;
}
.congestedArea-total{
	font-weight: 500;
}
.congestedArea-list{
	flex: 1;
	overflow-y: auto;
	list-style: none;
	margin: 0 -25px;
	margin-top: 14px;
	margin-bottom: 3px;
	padding: 0 10px 0 25px;
	border-bottom-right-radius: 16px;
}
.congestedArea-list li{
	display: flex;
	align-items: center;
	font-weight: 500;
	width: 380px;
	flex-wrap: wrap;
	padding: 20px 30px;
	border-radius: 16px;
	box-shadow: 4px 6px 10px 0 rgba(0, 0, 0, 0.04);
	border: solid 1px #F8C03E;
	margin-bottom: 18px;
	cursor: pointer;
	transition: background-color 0.15s linear;
}
.congestedArea-list li.noList{
	display: block;
	padding: 0;
	border: none;
	box-shadow: none;
	font-size: 16px;
}
.congestedArea-list li.noList p{
	font-weight: 600;
	margin-top: 0;
	margin-bottom: 6px;
}
.congestedArea-list .stage{
	margin-bottom: 7px;
}

.congestedArea-list .areaName{
	width: calc(100% - 52px);
	overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
	font-size: 16px;
  	font-weight: 600;
}
.congestedArea-list .areaDetail{
	display: flex;
	width: 100%;
}
.congestedArea-list .areaType,
.congestedArea-list .address{
	flex-grow: 1;
	margin-top: 12px;
	overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
	min-width: 90px;
}
.congestedArea-list .areaType{
	border-right: solid 1px #eaeaea;;
	padding-right: 5px;
	margin-right: 15px;
}
.congestedArea-list .address{
	text-align: right;
}

/* stage-fine */
.congestedArea-list li.stage-fine{border: solid 1px #374FC4;}
.congestedArea-list li.stage-fine .stage-badge{background-color: #374FC4;}
.congestedArea-list li.stage-fine .stage-badge::before{content: "양호";}
.congestedArea-list li.stage-fine:hover{background-color: #F4F5FB;}


/* stage-warning */
.congestedArea-list li.stage-warning{border: solid 1px #F8C03E;}
.congestedArea-list li.stage-warning .stage-badge{background-color: #F8C03E;}
.congestedArea-list li.stage-warning .stage-badge::before{content: "주의";}
.congestedArea-list li.stage-warning:hover{background-color: #FEF9EF;}


/* stage-danger */
.congestedArea-list li.stage-danger{border: solid 1px #D3404D;}
.congestedArea-list li.stage-danger .stage-badge{background-color: #D3404D;}
.congestedArea-list li.stage-danger .stage-badge::before{content: "심각";}
.congestedArea-list li.stage-danger:hover{background-color: #FBEFF0;}

/* 
양호 : fine (#374FC4)
주의 : warning (#F8C03E)
심각 : danger (#D3404D)
*/

.congestedArea-btn{
	position: absolute;
	right: -30px;
	top: 50%;
	transform: translateY(-50%);
	width: 30px;
  	height: 50px;
	box-shadow: 4px 6px 10px 0 rgba(0, 0, 0, 0.04);
	margin-right: 0;
	border-radius: 0px;
	border-top-right-radius: 10px;
	border-bottom-right-radius: 10px;
	font-size: 20px;
	color: #adadad;
	background-color: #fff;
}
.congestedArea-btn::before{
	font-family: 'Font Awesome 5 Free';
    font-weight: 900;
	content: "\f104";
	display: block;
	transition: transform 0.25s ease;
	transition-delay: 0.5s;
}

/* hide */
.congestedArea-content{
	transition: all 0.5s ease;
}
.congestedArea-content.hide{
	left: -456px;
	box-shadow: none;
}
.congestedArea-content.hide .congestedArea-btn{
	animation: congestedArea-btn 0.25s ease forwards;
	animation-delay: 0.5s;
}
.congestedArea-content.hide .congestedArea-btn::before{
	transform: rotateY(180deg);
}

@keyframes congestedArea-btn {
	0% {
		color: #adadad;
		background-color: #fff;
	}
	100% {
		color: #fff;
		background-color: #243880;
	}
}
/* end  :: congestedArea-content */


/* start:: map-filter 필터영역 */
.map-filter{
	position: absolute;
	z-index: 30;
	display: flex;
	flex-direction: column;
	left: 480px;
	top: 26px;
	max-height: calc(100vh - 52px);
	max-width: calc(100% - 582px);
	border-radius: 16px;
	box-shadow: 0px 0px 0 1px #f1f1f1, 4px 6px 10px 0 rgba(0, 0, 0, 0.04);
	background-color: #fff;
	transition: max-width 0.5s ease, left 0.5s ease, width 0.5s ease;
	width: 881px;
}
.congestedArea-content.hide + .map-filter{
	left: 40px;
	max-width: calc(100% - 140px);
}

.map-filter .mainfilter{
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
    flex-wrap: wrap;
	white-space: nowrap;
	padding: 17px 14px 7px 0px;
	border-radius: 16px;
	box-shadow: 0px 0px 0 1px #f1f1f1, 4px 6px 10px 0 rgba(0, 0, 0, 0.04);
	background-color: #fff;
}

.map-filter .mainfilter::before{
	content: "";
	position: absolute;
	z-index: 1;
	top: 16px;
	bottom: 16px;
	left: 0;
	width: 12px;
	background-color: #fff;
}
.map-filter .mainfilter .grouping{
	display: flex;
	align-items: center;
	padding-right: 16px;
	margin-bottom: 10px;
}
.map-filter .mainfilter .grouping::before{
	content: "";
	position: relative;
	border-left: solid 1px #eaeaea;
	height: 29px;
	padding-right: 30px;
}
.map-filter .mainfilter label{
	font-size: 16px;
	font-weight: 500;
	color: #243880;
	margin-right: 13px;
}
.map-filter .mainfilter .division-line{
	border-radius: 14px;
	margin: 0 30px 0 16px;
	border-right: solid 1px #eaeaea;
	height: 30px;
}
.map-filter .mainfilter .selectinput{
	width: 150px;
	max-width: 150px;
	min-width: 120px;
	flex: 1;
	margin-left: 3px;
}
.map-filter .mainfilter .selectinput button{
	min-width: 100%;
}
.map-filter .mainfilter .cluster-change,
.map-filter .mainfilter button.detail-toggle{
	height: 38px;
	margin-right: 25px;
	font-size: 16px;
	font-weight: 500;
	border-radius: 14px;
}
.map-filter .mainfilter .cluster-change{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 122px;
	color: #243880;
	background-color: #e2e4ec;
	padding : 0 14px;
}
.map-filter .mainfilter .cluster-change:hover{
	background-color: rgba(36, 56, 128, 0.2);;
}
.map-filter .mainfilter .cluster-change::before{
	content: "집계보기 OFF";
}
.map-filter .mainfilter .cluster-change.on::before{
	content: "집계보기 ON";
}
.map-filter .mainfilter .cluster-change.on{
	color: #ffffff;
	background-color: #243880;
}
.map-filter .mainfilter .cluster-change.on:hover{
	background-color: rgba(36, 56, 128, 0.9);;
}
.map-filter .mainfilter button.detail-toggle{
	width: 38px;
	background-color: #e2e4ec;
	color: #243880;
	margin-right: 0;
}
.map-filter .mainfilter button.detail-toggle::before{
	font-family: 'Font Awesome 5 Free';
    font-weight: 900;
	content: "\f0b0";
}
.map-filter .mainfilter button.detail-toggle:hover,
.map-filter .mainfilter button.detail-toggle.on{
	background-color: #243880;
	color: #fff;
}

.map-filter .mainfilter button.detail-toggle.on::before{
	content: "\f00d";
}
/* detailfilter */
.map-filter .detailfilter{
	top: 0px;
	left: 0;
	display: flex;
	flex-direction: column;
	white-space: nowrap;
	width: 100%;
	overflow: hidden;
}

.map-filter .detailfilter .detailfilter-body{
	display: flex; 
	flex-wrap: wrap;
	width: 1200px;
	max-width: 100%;
	padding: 0px 3.35% 30px 3.35%;
	flex: 1;
    overflow-y: auto;
}
.map-filter .detailfilter .grouping{
	float: left;
	padding: 0 25px;
	margin-top: 36px;
}
.map-filter .detailfilter .detailfilter-title{
	width: 100%;
	font-size: 16px;
	font-weight: 500;
	color: #666666;
}
.map-filter .detailfilter .detailfilter-content{
	display: flex;
	flex-wrap: wrap;
}
.map-filter .detailfilter .stage-input,
.map-filter .detailfilter .filter-input{
	font-size: 16px;
	font-weight: 500;
	float: left;
	margin-bottom: 5;
}
.map-filter .detailfilter .stage-input label,
.map-filter .detailfilter .filter-input label{
	cursor: pointer;
	transition: all 0.15s linear;
}

/* .stage-input */
.map-filter .detailfilter .stage-input{
	margin-right: 14px;
	margin-top: 6px;
}
.map-filter .detailfilter .stage-input input{
	display: none;
}
.map-filter .detailfilter .stage-input label{
	display: block;
	width: 46px;
	height: 46px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 46px;
	color: #adadad;
	border: 1px solid #adadad;
	margin-right: 0;
}
.map-filter .detailfilter .stage-input input:checked + label{
	color: #ffffff;
	background-color: #adadad;
}

/* 양호 : stage-fine */
.map-filter .detailfilter .stage-input.stage-fine label{
	color: #374FC4;
	border: 1px solid #374FC4;
}
.map-filter .detailfilter .stage-input.stage-fine input:checked + label{
	color: #ffffff;
	background-color: #374FC4;
}
.map-filter .detailfilter .stage-input.stage-fine label:hover{background-color: #F4F5FB;}

/* 주의 : stage-warning */
.map-filter .detailfilter .stage-input.stage-warning label{
	color: #F8C03E;
	border: 1px solid #F8C03E;
}
.map-filter .detailfilter .stage-input.stage-warning input:checked + label{
	color: #ffffff;
	background-color: #F8C03E;
}
.map-filter .detailfilter .stage-input.stage-warning label:hover{background-color: #FEF9EF;}

/* 심각 : stage-danger */
.map-filter .detailfilter .stage-input.stage-danger label{
	color: #D3404D;
	border: 1px solid #D3404D;
}
.map-filter .detailfilter .stage-input.stage-danger input:checked + label{
	color: #ffffff;
	background-color: #D3404D;
}
.map-filter .detailfilter .stage-input.stage-danger label:hover{background-color: #FBEFF0;}



/* .filter-input */
.map-filter .detailfilter .filter-input{
	margin-right: 14px;
	margin-top: 9px;
}
.map-filter .detailfilter .filter-input input{
	display: none;
}
.map-filter .detailfilter .filter-input label{
	display: block;
	text-align: center;
	border-radius: 20px;
	color: #243880;
	border: 1px solid transparent;
	margin-right: 0;
	padding: 10px 14px;
}
.map-filter .detailfilter .filter-input label:hover{
	background-color: #e2e4ec;
}
.map-filter .detailfilter .filter-input input:checked + label{
	color: #243880;
	border-color: #243880;
	background-color: #e2e4ec;
}
.map-filter .detailfilter .filter-input input:checked + label:hover{
	background-color: transparent;
}

.map-filter .detailfilter .detailfilter-footer{
	border-top: solid 1px #f1f1f1;
	padding: 20px 38px;
}
.map-filter .detailfilter .detailfilter-footer{
	display: flex;
	border-top: solid 1px #f1f1f1;
	padding: 20px 38px;
}
.map-filter .detailfilter .detailfilter-footer button{
	border-radius: 14px;
}
.map-filter .detailfilter .detailfilter-footer button:last-child{
	margin-right: 0;
}
.map-filter .detailfilter .detailfilter-footer button.btn-reset{
	margin-left: -25px;
}    
.map-filter .detailfilter.hide{
	display: none;
}

/* .map-filter.open */

.map-filter.open{
	width: 1200px;
}

.map-filter .detailfilter{
	opacity: 0;
	/* transform: translateY(-10px); */
	transition: opacity 0s ease, transform 0s ease;
	transition-delay: 0s;
}
.map-filter .detailfilter.action{
	opacity: 1;
	/* transform: translateY(0); */
	transition: opacity 0.3s ease, transform 0.3s ease;
	transition-delay: 0.4s;
}
/* end:: map-filter 필터영역 */

/* start:: map-scale 확대/축소 */
.map-scale{
	position: absolute;
	z-index: 20;
	top: 26px;
	right: 30px;
	display: flex;
	flex-direction: column;
	border-radius: 10px;
	box-shadow: 4px 6px 10px 0 rgba(0, 0, 0, 0.04);
	font-size: 16px;
	overflow: hidden;
	color: #ddd;
	background-color: #ffffff;
	border: solid 1px #f1f1f1;
}
.map-scale button{
	height: 40px;
	width: 40px;
	margin: 0;
	border-radius: 0;
	background-color: transparent;
	color: inherit;
	border: 0;
	border-bottom: solid 1px #f1f1f1;
}
.map-scale button:hover{
	color: #adadad;
	background-color: #eaeaea;
}
.map-scale button:last-child{
	border-bottom: none;
}
/* end:: map-scale 확대/축소 */

/* start:: map-legend 레전드 */
.map-legend{
	position: absolute;
	z-index: 20;
	bottom: 26px;
	right: 30px;
	padding: 20px;
	border-radius: 16px;
	box-shadow: 4px 6px 10px 0 rgba(0, 0, 0, 0.04);
	background-color: #fff;
	font-size: 16px;
  	font-weight: 500;
}
.map-legend .title{
	margin-bottom: 16px;
}
.map-legend ul{
	padding: 0;
	margin: 0;
	list-style: none;
}
.map-legend li{
	display: flex;
	align-items: center;
	margin-top: 11px;
}
.map-legend li:last-child{
}
.map-node{
	display: flex;
    align-items: center;
    justify-content: center;
	width: 28px;
	height: 28px;
	line-height: 28px;
	text-align: center;
	margin-right: 10px;
	border-radius: 28px;
	font-size: 14px;
	color: #ffffff;
}
.map-node.pin::before{
	content: "";
	width: 13px;
  	height: 16px;
	background-image: url(./../images/icon/mapPin.svg);
	background-position: center center;
	background-size: contain;
}
/* 
	양호 : fine (#374FC4)
	주의 : warning (#F8C03E)
	심각 : danger (#D3404D) 
*/
.map-node.fine{background-color: #374FC4;}
.map-node.warning{background-color: #F8C03E;}
.map-node.danger{background-color: #D3404D;}

.map-legend li span{

}
/* end:: map-legend 레전드 */


/* strat:: question 설문조사 */
.question-intro{
	font-size: 16px;
	border-radius: 16px;
  	border: solid 1px #f1f1f1;
	padding: 18px 20px;
	margin: 0 -20px 38px -20px;
	word-break: break-all;
}
.question-title{
	font-size: 16px;
  	font-weight: 600;
	padding: 10px 20px;
	border-radius: 10px;
  	background-color: #ddd;
	margin: 20px -20px 20px -20px;
}
.question-finish{
	text-align: center;
	border-radius: 10px;
  	background-color: #666;
	margin-top: 50px;
	padding: 16px 30px;
}
.question-finish p{
	margin: 0;
	margin-bottom: 14px;
	font-size: 16px;
	font-weight: 600;
	color: #ffffff;
}
.question-finish .input-row{
	width: 100%;
	justify-content: center;
}
.question-finish .textinput-title{
	display: flex;
	align-items: center;
	/* margin-left: 80px; */
	min-width: 170px;
	font-size: 16px;
	font-weight: 600;
	color: #fff;
}
.question-finish .textinput{
	max-width: 440px;
	width: 100%;
	margin: 0;
	margin-right: 20px;
}
.question-finish .textinput:last-child{
	margin-right: 0px;
}
.question-finish input[type="password"]{
	text-align: center;
}
.chart-question{
	display: flex;
	margin-bottom: 30px;
}
.chart-question .chart{
	flex: 1;
	display: flex;
	margin-right: 40px;
}


.chart-question .chart::before{
}
.question-list{
	min-width: 300px;
	width: 35%;
	margin: 0;
	padding: 0;
	margin-bottom: -14px;
}
.question-list li{
	display: flex;
	align-items: center;
	border-radius: 10px;
	border: solid 1px #f1f1f1;
	background-color: #fff;
	padding: 17px 40px;
	margin-bottom: 14px;
}
.question-list li .title{
	flex: 1;
	margin: 0;
}
.question-list li .stats {
    font-weight: 500;
    width: 110px;
    margin-left: 15px;
    text-align: right;
}

/* end:: question 설문조사 */

/* start:: mainFilter 필터(공통요소) */
.mainFilter-card{
	padding: 18px 40px;
	margin-bottom: 38px;
}
.m-list.mainFilter-list{
	position: relative;
	margin-left: -30px;
	margin-right: -30px;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: -20px;
}
.m-list.mainFilter-list.vertical{
	flex-direction: column;
}
.m-list.mainFilter-list::before{
	content: "";
	position: absolute;
	z-index: 1;
	left: -2px;
	top: 0;
	bottom: 20px;
	width: 10px;
	background-color: #ffffff;
}
.m-list.mainFilter-list .inputList-item{
	position: relative;
	/* width: 33.333%; */
	padding-left: 30px;
	padding-right: 30px;
	flex: 1;
}
.m-list.mainFilter-list .inputList-item::before{
	content: "";
	position: absolute;
	top: 3px;
	left: -1px;
	height: 29px;
	border-left: solid 1px #eaeaea;
}

.inputList-item.vertical .inputList_title,
.inputList-item.vertical .inputList_title2{
	padding-top: 0;
	padding-bottom: 14px;
}
.inputList-item.vertical .textinput{
	margin-top: 0px;
}
.inputList-item.vertical .textinput,
.inputList-item.vertical .selectinput,
.inputList-item.vertical .btn-inputBtn{
	margin-bottom: 0px;
}
.inputList-item.vertical .textinput + .textinput-message,
.inputList-item.vertical .selectinput + .textinput-message{
	width: 100%;
	color: #d3404d;
	margin-top: 8px;
}

.textinput.textinput-S1 .input-message{
	width: 100%;
	
}
.m-list.mainFilter-list .inputList-item .selectinput{
	/* max-width: 215.250px; */
	height: 36px;
}
.m-list.mainFilter-list .inputList-item .textinput.full-width,
.m-list.mainFilter-list .inputList-item .selectinput.full-width{
	max-width: none;
}
.m-list.mainFilter-list .inputList-item.w-100{
	width: 100%;
	min-width: 100%;
}

.m-list.mainFilter-list .inputList_title{
	color: #243880;
}
.inputList-item.error .inputList_title,
.inputList-item.error .inputList_title2,
.inputList-item.error .inputList_title span,
.inputList-item.error .inputList_title2 span{
	color: #d3404d;
}

.m-list.mainFilter-list.noline{
}
.m-list.mainFilter-list.noline .inputList-item{
}
.m-list.mainFilter-list.noline .inputList-item::before{
	border-left: none;
}
td.inputTd{
	text-align: right;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
td.inputTd input{
    min-width: 10px;
    width: calc(100% - 45px);
	height: 40px;
	text-align: right;
    margin-right: 5px;
	border: 0;
	outline: none;
}

/* end:: mainFilter 필터(공통요소) */

/* start:: LS */
.chart-box{
	padding: 34px 40px;
	border-radius: 16px;
	border: solid 1px #eaeaea;
	background-color: #fff;
	margin-bottom: 30px;
}
.LStoggleTable-content{
	padding-bottom: 30px;
}
.LS-tab-container{
	border-radius: 16px;
	box-shadow: 4px 6px 10px 0 rgba(0, 0, 0, 0.04);
	background-color: #e2e4ec;
	margin-bottom: 38px;
}
.LS-tab-container > .card{
	margin-bottom: 0;
	color: #2ff080;
	box-shadow: 4px 6px 10px 0 rgba(0, 0, 0, 0.04);
}
.LS-filter-footer{
	height: 78px;
	display: flex;
	align-items: center;
	padding: 0 40px;
}
.LS-filter-footer .checkbox-wrapper{
	display: flex;
	margin-right: 40px;
	width: calc(100% - 283px);
	max-width: 1400px;
}
.LS-filter-footer .checkbox-wrapper .clickinput{
	margin-right: 15px;
	flex-grow: 1;
}
.LS-filter-footer .checkbox-wrapper .clickinput:last-child{
	margin-right: 0;
}
.LS-filter-footer .checkbox-wrapper ~ button{
	margin-right: 0;
}
.LS-filter-footer .line{
	position: relative;
	height: 29px;
	border-left: 1px solid #adadad;
	margin: 0 24px;
}
.LS-filter-footer .dashboard-swichG{
	font-size: 16px;
	font-weight: 500;
	color: #243880;
}

.card.LS-card{
	padding: 34px 40px 20px;
}
.card.LS-card .card-header{
	padding: 0 0 16px 0;
}
.card.LS-card .card-body{
	padding-right: 0px;
	padding-left: 0px;
	padding: 8px 0 0 0;
}
/* end:: LS */

/* start:: loading-indicator 로딩인디게이터 */
.loading-indicator{
	z-index: 5000;
	position: fixed;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	background-color: rgba(0, 0, 0, 0.42);
	color: #ffffff;
}
.loading-indicator .loading-icon{
	font-size: 100px;
}
.loading-indicator p{
	font-size: 30px;
	margin: 20px 0 0;
}
/* end:: loading-indicator 로딩인디게이터 */


/* custom css */
.sticky-top {
	position: -webkit-sticky;
	position: sticky;
	top: 100px;
}
.sticky-bottom {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
}
.no-scroll{
	overflow: hidden;
}

.txt-main {
	color: #243880;
}
.txt-error{
	color: #fb0000;
}
.txt-green {
	color: #7bbf37;
}


.txt-fine{ /* 양호 */
	color: #374FC4;
}
.txt-fine2{ /* 양호2 */
	color: #7988CD;
}
.txt-warning{ /* 주의 */
	color: #F8C03E;
}
.txt-danger{ /* 심각 */
	color: #D3404D;
}

.bg-fine{ /* 양호 */
	background-color: #374FC4;
}
.bg-fine2{ /* 양호2 */
	background-color: #7988CD;
}
.bg-warning{ /* 주의 */
	background-color: #F8C03E;
}
.bg-danger{ /* 심각 */
	background-color: #D3404D;
}

.fw-bold{
	font-weight: 600 !important;
}
.txt-left {
	text-align: left;
}

.txt-center {
	text-align: center;
}

.txt-right {
	text-align: right;
}

.d-flex {
	display: flex;
}

.width-500{
	width: 500px;
}
.h-100{
	height: 100%;
}

/* mt */
.mt-0{
	margin-top: 0px;
}
.mt-10{
	margin-top: 10px;
}
.mt-20{
	margin-top: 20px;
}
.mt-25{
	margin-top: 25px;
}
.mt-35{
	margin-top: 35px;
}
.mt-40{
	margin-top: 40px;
}
.mt-60{
	margin-top: 60px;
}


/* mr */
.mr-20{
	margin-right: 20px;
}
.mr-30{
	margin-right: 30px;
}

/* mb */
.mb-0{
	margin-bottom: 0 !important;
}
.mb-14{
	margin-bottom: 14px !important;
}
.mb-40{
	margin-bottom: 40px;

}

/* ml */
.ml-20{
	margin-left: 20px;
}
.ml-0{
	margin-left: 0px;
}


/* pt */

/* pr */

/* pb */

/* pl */

/* start  :: media */
@media only screen and (max-width: 600px) {
	.gnb-nav.mini{
		left: -320px;
	}
	.gnb-nav.mini + .content-wrapper {
		padding-left: 20px;
	}
}
/* start  :: media */