:root {
	--main-point-color: #35C88A;
	--main-hover-color: #32bd83;
	--main-color:#00a832;
	/*
	#0475f4;
	#39ac44;
	#39ac44;
	*/
}

@import url(//fonts.googleapis.com/earlyaccess/notosanskr.css);

.notosanskr * { 
 font-family: 'Noto Sans KR', sans-serif;
}


* {
	font-family:  'Noto Sans KR', 'Malgun Gothic','맑은고딕', sans-serif;
	color:var(--normal-text);
	font-weight: normal;
	font-size:14px;
	color:#333;
	letter-spacing: -0.03em;
	line-height: 1.75em;

}
*,
*::before,
*::after {
  box-sizing: border-box;
}

.clear::after{
	content:"";
	display:block;
	clear:both;
}
/*
*:focus {
    outline: 0;
	background:transparent;
	-webkit-tap-highlight-color: transparent;

}
*/
h3{
	font-weight:normal;
}
html,body{
	margin:0;
	padding:0;
	background:#f8f8f8;
	
}
.blind {
	font-size:15px;
	letter-spacing:2px;
}
table{
	border-collapse: collapse;
	width:100%;
}


input:focus,select:focus,textarea:focus{
    outline: 0;

	transition-property:all !important;transition-duration:.2s !important
}


.hidden-scroll {
	-ms-overflow-style: none; /* IE and Edge */
	scrollbar-width: none; /* Firefox */
}
.hidden-scroll::-webkit-scrollbar {
	display: none; /* Chrome, Safari, Opera*/
}
.hidden {height:100vh; overflow:hidden !important; touch-action:none;}
.ellipsis {
    display: block;
    text-decoration: none;
    color: #333;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden; 
}

.ellipsis2{
display:-webkit-box !important; 
word-wrap:break-word; 
-webkit-line-clamp:2; 
-webkit-box-orient:vertical; 
overflow:hidden; 
text-overflow:ellipsis; 
}

a {text-decoration:none;}
ul {padding:0;margin:0}
li {list-style:none;padding:0;margin:0}
.ani{
	transition-property:all !important;
	transition-duration:.2s !important
}
/*
.ani-1s{transition-property:all;transition-duration:1s}*/
.center {text-align:center}
.highlight {
	position: relative;
	z-index:1;
}

.highlight::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 40%;
	background-color: #bfffa1;
	z-index: -1;
}
.label {
	font-size:12px;
	font-weight:400;
	color:#ffd1a2;
	text-shadow:1px 2px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;;
}
.hole-label {
	font-size:12px;
	font-weight:400;
	color:#fff;
	background:#50ac00aa;
	width:18px;
	height:18px;
	text-align:center;
	line-height:18px;
	border-radius:50%;
	margin-left:-4px;
	margin-top:0px;
}


.login-wrap{
	width:100%;
	height:100vh;
	background-image:url(/assets/img/bg.jpg);
	background-size: cover;
	background-position: center top;
	position:relative;
}

.login-wrap img{
	width:210px;
	margin-left:40px;
	margin-top:40px;
}

.login-box {
	width:440px;
	height:440px;
	position: absolute;
	right:150px;
	top:50%;
	padding:60px;
	transform: translateY(-50%);

}

.login-box select{
	width:100%;
	border:0;
	height:40px;
	padding-left:10px;
	padding-right:10px;
	border-radius:5px;
	margin-bottom:50px;
}

.login-box input[type=text],
.login-box input[type=password]{
	margin-top:10px;
	height:40px;
	min-height:40px;
	border-radius:5px;
}

.login-box > .inp-box{
	position: relative;
}
.login-box > .inp-box > span{
	position: absolute;
	width:40px;
	left:-50px;
	top:19px;
	text-align:right;
	color:#fff;
}
.login-box .right{
	text-align:right;
	line-height:18px;
	margin-top:10px;
	margin-bottom:30px;
	color:#fff;
}
.login-box input[type=checkbox]{
	width:18px;
	height:18px;
	display: inline-block;
	height:auto;
	line-height:18px;
	min-height: 18px;
	vertical-align: bottom;
}
.login-box button{
	width:100%;
	display: block;
	border-radius:5px;
	background:#e59610;
	color:#000;
	font-size:14px;
	font-weight:400;
	height:42px;
	border:0;
	cursor:pointer;
}

nav {
	width:360px;
	height:100vh;
	background:#fff;
	position: absolute;
	left:0;
	top:0;
	box-shadow: 0 0 5px 0 rgb(0 0 0 / 20%), 5px 0 15px 0 rgb(0 0 0 / 10%);
	z-index:1000;
	padding:0px;
}
nav .logo{
	width:210px;
	height:auto;
	opacity: .9;
	margin:10px 20px 0 20px;

}
nav .adr-info h4{
	font-size:19px;
	font-weight:700;
	-webkit-font-smoothing: antialiased;
	margin:15px 0 0 0;
	line-height: 1em;
	padding:0 25px;
}
nav .adr-info span{
	font-size:12px;
	color:#999;
}
.adr-txt{
	padding:0 25px;

}
nav .adr-info .weather{
	background:#f1f2fa;
	border-radius:5px;
	padding:8px;
	margin: 5px 25px 0;
}

nav .adr-info .weather .left{
	float:left;
	width:50px;
	text-align: center;
}
nav .adr-info .weather .left:first-child{
	border-right:1px solid #00000011;
}
nav .adr-info .weather .left-area{
	float:left;
	width:72px;
	text-align: center;
	color:#00000022;
}
nav .adr-info .weather .left-area span{
	color:#191919;
	font-size:17px;
	position: relative;
	display: inline-block;
	line-height: 100%;
	
}
nav .adr-info .weather .left-area > span::after{
	content:"";
	position: absolute;
	width:4px;
	height:4px;
	border:1px solid #191919;
    border-radius: 2px;
    right: -4px;
    top: 0px;
}
nav .adr-info .weather .left-area p{
	margin:0;
	font-size:12px;
	color:#999;
	line-height: 100%;
}
.icon-weather{
	background-image: url(/assets/img/icon-weather25.png);
	overflow: hidden;
    width: 25px;
    height: 25px;
    font-size: 0;
    color: transparent;
    display: block;
    margin: 0 auto;
	
}
.weather .left > span {
	line-height:1em;
	font-size:11px;
	display: block;
}
.weather .left .weather-icon-0-0{
	background-position: 0px 0px;
}
.weather .left .weather-code-0-1{
	background-position: -27px 0px;
}
.weather .left .weather-code-0-3{
	background-position: -54px 0px;
}
.weather .left .weather-code-0-4{
	background-position: -81px 0px;
}
.weather .left .weather-code-0-5{
	background-position: -108px 0px;
}
.weather .left .weather-code-0-6{
	background-position: -135px 0px;
}


.right-area {
	line-height:19px;
	color:#767676;
	border: 1px solid #767676;
	font-size:11px;
	float:right;
	height:21px;
	padding:0 10px;
	border-radius: 12px;;
	margin-top:7px;
}

.right-area:hover{
	border:1px solid var(--main-color);
	color:var(--main-color);
	background:#fff;
}
.h5-title-line {
	position: relative;
	margin:15px 25px;
}
.h5-title-line h5{
	display: inline-block;
	background:#fff;
	margin:0;
	padding-right:6px;
	
}
.h5-title-line h5 b{
	font-weight: 800;
}
.h5-title-line h5::after{
	content:"";
	position: absolute;
	width:100%;
	border-top:1px solid #aaa;
	left:0;
	top:14px;
	z-index: -1;
}

.menu-list {
	padding:5px 25px;
}
.menu-list li h5{
	font-weight:700;
	font-size:15px;
    padding: 0 0 7px 0;
    margin: 12px 0 7px;
	display: block;
	border-bottom:1px solid #00000022
}
.menu-list > li > ul li {
	float:left;
	width:50%;
	height:30px;
}

.menu-list > li > ul li > a{
	
	width:100%;
	display: block;
	color:#767676;
}
.menu-list > li > ul li > a:hover{
	color:var(--main-color);
}
.my-info{
	background:#eff6fc;
	margin:0 25px;
	padding:4px 10px;
	
	font-size:12px;
	border-radius: 5px;
}
.my-info > strong{
	font-size:14px;
	color:var(--main-color);
	font-weight:600;
}
.my-info > span{
	font-size:10px;
	background:var(--main-color);
	color:#fff;
	padding-left:5px;
	padding-right:5px;
	border-radius:7.5px;
	line-height:15px;
}

.my-info > .right-area {
	border:0;
	margin-top: 0px;
	padding: 0 7px;
}
.my-info > .right-area i {
	font-size:16px;
}
.my-info > .right-area:hover{
	background:transparent;
}
.my-info > .right-area:hover i {
	color:var(--main-color);
}

.map-top{
	position: absolute;
	
	left:375px;
	top:15px;
	z-index:1000;
}
.map-left{
	position: absolute;
	
	left:365px;
	top:85px;
	z-index:1000;
	width:55px;
	width:auto;
}

.map-top-menu
 {
	height:55px;
	min-width:400px;
	background-color: #fff;
	border-radius: 5px;    
	box-shadow: 0 0 5px 0 rgb(0 0 0 / 20%), 5px 0 15px 0 rgb(0 0 0 / 10%);
	/* border:1px solid #00000044; */
	padding:0 20px;
}
.map-left-box {
	padding:0;
	min-width: auto;
	height:auto;
	background:transparent;
	z-index: 1001;
	position: absolute;
	top:0;
	right:-55px;
	width:45px;
}
.map-left-wrap{
	position: relative;
	margin-right:10px;
}
.map-left-box button {
	border:0;
	width:40px;
	height:40px;
	background:var(--main-color);
	border-radius: 5px;
	margin-bottom:5px;
	cursor:pointer;
	position:relative;
	z-index: 1001;
}
.map-left-box button::after{
	content:"";
	position:absolute;
	left:50px;
	background:#191919aa;
	font-size:11px;
	color:#eee;
	width:110px;
	padding:5px;
	font-weight:100;
	border-radius: 5px;
	top:9px;
	display:none;
	z-index: 1001;
}
.map-left-box .add-marker::after{
	content:"지점을 등록합니다";;
}
.map-left-box .add-polygon::after{
	content:"구역을 등록합니다";;
}
.map-left-box button:hover::after{
	
	display:block;
}


.map-left-box i{
	font-size:21px;
	color:#fff;
}

.map-top-menu a,
.map-top-menu .direct-go {
	font-size: 16px;
    font-weight: 500;
	margin-top:0px;
	display: block;
	margin-right:0px;
	padding:12px 10px 11px;
	height:55px;
	float:left;
}
.map-top-menu a:hover{
	color: var(--main-color);
}
.map-top-menu a i {
	font-size: 18px;
	vertical-align: -3px;
	margin-right:2px;
}
.ico-blue {
	color:#5e9bf3;
}
.ico-green {
	color:#63aa41;
}
.ico-yellow {
	color:#ffb21f;
}
.ico-yellow2 {
	color:#fe8c52;
}
.ico-gray {
	color:#7a7a7a;
}
.direct-go {
	border-left:1px solid #ddd;
	margin-left:15px;
	padding-left:24px !important;
	position: relative;
}

.direct-go > ul {
	background:#fff;
	position: absolute;
	right:-155px;
	top:55px;
	z-index: 1000;
	width:382px;
	padding:10px;
	border-radius: 5px;
	display: none;
	border:1px solid #ddd;
}
.direct-go > ul a {
	width:100%;
	display: block;
	padding:0;
	height:auto;
	font-size:14px;
	font-weight:normal;
	text-align:center;
}
.direct-go > ul > li {
	width:120px;
	float:left;
}
.direct-go > ul > li > a{
	font-weight:600;
	font-size:15px;
	background-color: var(--main-color);
	color:#fff;
	border-radius: 15px;
	border:2px solid #fff
}
.direct-go > ul > li > a:hover{
	color:#fff;
}
.direct-go > ul > li > ul > li {
	width:100%;
}
.direct-go > ul > li > ul > li > a:hover{
	background:#f1f2fa;
	border-radius: 5px;
}
#map{
	width:calc(100% - 360px);
	margin-left:360px;
	height:100vh;
	background:#f1f1f1;
}
.map-top-menu > .off{
	opacity: .33;
}
.input-data-box {
	width:320px;
	
    margin-left: 10px;
	background:#fff;
	z-index:999;
	box-shadow: 0 0 5px 0 rgb(0 0 0 / 20%), 5px 0 15px 0 rgb(0 0 0 / 10%);
	border-radius:5px;
	display:none;
	padding:20px;
}
.input-data-box h4{
	margin-left:16px;
	font-size:17px;
	font-weight:600;
	margin:0 0 8px 0;
}
.input-data-box input,
.input-data-box select {
	border:1px solid #ddd;
	padding:8px 12px;
	width:100%;
	margin:4px 0;
	border-radius: 5px;
	height:34px;

}
.input-data-box select{
	padding:0 0 0 10px;
	color:#757575;
}
.input-data-box textarea{
	width:100%;
	border:1px solid #ddd;
	padding:4px 8px;
	height:60px;
	display: block;
	margin:4px 0;
	border-radius: 5px;
}
.input-data-box button{
	float:left;
	width:137px;
	height:32px;
	margin-top:10px;
	border:1px solid var(--main-color);
	border-radius: 5px;
	background:#fff;
	color:var(--main-color);
	
}
.input-data-box button[type=button]{
	margin-right:6px;
}
.input-data-box button[type=submit]{
	color:#fff;
	background:var(--main-color);
}
.top-right {
	position: absolute;
	right:15px;
	top:15px;
	z-index: 1000;
}
.top-right a {
	width:64px;
	height:58px;
	background-color: #fff;
	display: inline-block;
	margin-left:4px;
	border-radius: 5px;
	text-align:center;
	font-weight:400;
	font-size:11px;
	background-image: url(/assets/img/drone_view.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center top;
	padding-top:36px;    
	box-shadow: 0 1px 3px 0 rgb(0 0 0 / 10%);
    border: 1px solid rgba(0,0,0,.2);

}
.top-right a:nth-child(2){
	background-image: url(/assets/img/sensor_view.png);

}
.top-right a:nth-child(3){
	background-image: url(/assets/img/map_view.png);

}
.top-right > .on {
	border:1px solid var(--main-color);
	color:var(--main-color);
	font-weight:600;
}


.bottom-left{
	height:55px;
	left:375px;
	bottom:20px;
	background:#fff;
	box-shadow: 0 0 5px 0 rgb(0 0 0 / 20%), 5px 0 15px 0 rgb(0 0 0 / 10%);
	position: absolute;
	z-index: 1000;
	border-radius: 5px;
	width:1024px;
	padding:5px 30px;

}
.rs-tooltip{
	min-width:80px;
	padding: 3px 10px 0;
    font-weight: 600;
}
.rs-container .rs-selected {

    background-color: var(--main-color);
    border: 1px solid rgb(0 0 0 / 20%);

	background-color: #eee;
    border: 1px solid #ededed;

	transition: all .2s linear;
    width: 0;
}

.map-left-box{
	display:none;
}