@charset "UTF-8";

/* LAYOUT */

#container{width: 100%; height: calc(100vh - 60px); position: relative;}
#wrap{min-width: 320px; overflow: hidden; height: 100dvh; /*height: 100vh;*/}
.map{width: 100%; height: 100%; margin-top: 60px;/*background: url(/images/site/map/map_bg.png)no-repeat center;*/}
.mapScreenshot{position: absolute; top:0; left:0; width: 100%; height: 100%; /*background: url(/images/site/map/map_bg.png)no-repeat center;*/}

/* .gri_wrap .group{
	display: flex;
	width: 100%;
	height: 100%;
	margin-top: 60px;
}

.gri_wrap .group > div{
	position: relative;
	width: 50%;
}
.gri_wrap .group .top_wrap{
	
}
.gri_wrap #main{width: 100%; height: 100%;}
.gri_wrap  .select_wrap{
	position: absolute;
	bottom: 10px;
	right: 10px; 
} */
  	

/* HEADER */

#header{position: absolute; left: 0; top: 0; width: 100%; height: 60px; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; background: #fff; min-width: 320px; border-bottom: 1px solid #EEEEEE;}
#header .left{display: flex; align-items: center; gap: 30px;}
#header .logo{display: block; width: 131px; height: 37px; background: url(/assets/images/common/logo.svg)no-repeat center / contain;}
#header .search_wrap{width: 240px; display: flex; align-items: center; height: 44px; border-radius: 5px;  border: 1px solid #D8DADE; background: #F2F1F6; transition: .3s; flex: 1;}
#header .search_wrap .search_btn{width: 44px; height: 44px; background: url(/images/site/map/ico_search.svg)no-repeat center;}
#header .search_wrap input{width: 100%; border: 0; padding-left: 12px; background: transparent; height: 100%; flex: 1; }
.search_del_btn{display: none; position: relative; width: 20px; height: 20px; background: url(/images/site/map/ico_search_del.png)no-repeat center;}
.search_del_btn.show{display: block;}
#header .search_wrap.active{background: #fff; border-color: var(--green);}

#header .menu ul{display: flex; align-items: center; gap: 18px;}
.menu ul li a{position: relative; padding: 13px 15px; border-radius: 5px; color: var(--black1); font-weight: 500; padding-left: 50px; font-size: 1.8rem; white-space: nowrap; line-height: 1;}
.menu ul li.on a,
.menu ul li a:hover{background: var(--green); color: #fff; transition: .2s;}
.menu ul li a::after{content: ''; position: absolute; top: 50%; left: 15px; transform: translateY(-50%); width: 20px; height: 20px; background-repeat: no-repeat; background-position: center; transition: .2s;}
.menu ul .item1 a::after{background-image: url(/images/site/map/ico_menu01.svg);}
.menu ul .item1.on a::after,
.menu ul .item1 a:hover::after{background-image: url(/images/site/map/ico_menu01_on.svg);}
.menu ul .item2 a::after{background-image: url(/images/site/map/ico_menu02.svg);}
.menu ul .item2.on a::after,
.menu ul .item2 a:hover::after{background-image: url(/images/site/map/ico_menu02_on.svg);}
.menu ul .item3 a::after{background-image: url(/images/site/map/ico_menu03.svg);}
.menu ul .item3.on a::after,
.menu ul .item3 a:hover::after{background-image: url(/images/site/map/ico_menu03_on.svg);}
.menu ul .item4 a::after{background-image: url(/images/site/map/ico_menu04.svg);}
.menu ul .item4.on a::after,
.menu ul .item4 a:hover::after{background-image: url(/images/site/map/ico_menu04_on.svg);}
.menu ul .item5 a::after{background-image: url(/images/site/map/ico_menu05.svg);}
.menu ul .item5.on a::after,
.menu ul .item5 a:hover::after{background-image: url(/images/site/map/ico_menu05_on.svg);}

#header .right{display: flex; align-items: center; gap: 30px;}
.login_btn{padding: 10px 15px 10px 38px; border-radius: 5px; border: 1px solid var(--green); font-size: 1.4rem; background-position: center left 15px; background-repeat: no-repeat; background-color: #F6F6F6; background-image: url(/images/site/map/ico_login.svg); font-weight: 500; white-space: nowrap;}
.login_btn.logout{background-image: url(/images/site/map/ico_logout.svg);}
#header .kofpi_logo{width: 150px; height: 36px; background: url(/images/site/map/kofpi_logo.svg)no-repeat center;}

#header .menu_bar{position: absolute; width: 24px; height: 24px; right: 16px; top: 50%; transform: translateY(-50%); background: url(/images/site/map/menu_bar.svg)no-repeat center;}
#header .hd_mo_tit{font-size: 1.6rem; border-left: 1px solid #D8DADE; padding-left: 8px; margin-left: 10px; font-weight: 600;}
.mo_menu{display: none; opacity: 0; visibility: hidden; position: fixed; width: 100%; height: 100%; top: 0; left: 0; z-index: 9999; transition: .3s;}
.mo_menu::before{content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); opacity: 0; transition: all .3s;}
.mo_menu.show{opacity: 1; visibility: visible; z-index: 9999;}
.mo_menu.show::before{opacity: 1;}
.mo_menu .menu_wrap{position: absolute; right: -100%; top: 0; width: calc(100% - 100px); min-width: 260px; max-width: 600px; height: 100%; background: #fff; padding: 5px; transition: .5s;}
.mo_menu.show .menu_wrap{ right: 0;}
/* 로그인 버튼 없애면서 X버튼 오른쪽으로 붙이기 .mo_menu .top{display: flex; align-items: center; justify-content: space-between; padding: 10px 12px;}*/
.mo_menu .top{display: flex; align-items: center; justify-content: flex-end; padding: 10px 12px;}
.mo_menu .menu_close{width: 20px; height: 20px; background: url(/ggedc/gis/images/site/map/ico_pop_close.svg)no-repeat center;}
.mo_menu .menu{margin-top: 5px;}
.print_btn{position: relative; padding: 12px 15px 12px 43px; border-radius: 50px; color: var(--black1); font-weight: 500; border: 1px solid var(--green); font-size: 1.4rem; white-space: nowrap; line-height: 1; background: #F6F6F6;}
.print_btn::after{content: ''; position: absolute; top: 50%; left: 15px; transform: translateY(-50%); width: 20px; height: 20px; background: url(/images/site/map/ico_menu05.svg)no-repeat center;}

/* TOP WRAP */

.top_wrap{position: absolute; right: 20px; top:20px; display: flex; align-items: center; gap: 15px;}
.top_wrap .btn{border-radius: 5px; font-size: 1.6rem; font-weight: 600; z-index: 10;}
.top_wrap .btn:focus{outline-color: red; outline-offset: -2px;}
.top_wrap .toggle_btn_wrap{display: flex; padding: 2px; border-radius: 5px; background: #fff; z-index: 10;}
.top_wrap .toggle_btn_wrap .btn{padding: 5px 16px; color: #787878;}
.top_wrap .toggle_btn_wrap .btn.active{color: #fff; background: var(--blue);}
.top_wrap > .btn{padding: 2px;}
.top_wrap > .btn > span{display: block; border-radius: 5px; padding: 5px 12px;}
.top_wrap .map_cadastral {background: #21396C;}
.top_wrap .map_cadastral span{background: #fff; color: #21396C;}
.top_wrap .map_cadastral.on {background: #fff;}
.top_wrap .map_cadastral.on span{color: #fff; background: #21396C;}
.top_wrap .map_list {background: var(--green);}
.top_wrap .map_list span{background: #fff; color: var(--green);}
.top_wrap .map_list.on {background: #fff;}
.top_wrap .map_list.on span{color: #fff; background: var(--green);}


/* RIGHT WRAP */

a:focus,
button:focus{outline: 2px dashed #000;}

.right_wrap{position: absolute; top: 72px; right: 20px; display: flex; flex-direction: column;}
.right_btn_wrap {top: 21%;}
.right_btn_wrap .btn_wrap{margin-bottom: 8px; border-radius: 5px; border: 1px solid #D8DADE; overflow: hidden;}
.right_btn_wrap .btn{position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; width: 48px; height: 50px; background: #fff; border-bottom: 1px solid #D8DADE; font-size: 1.1rem; z-index: 10;}
.right_btn_wrap .btn:focus{outline-offset: -2px;}
.right_btn_wrap .btn:last-child{border-bottom: 0;}
.right_btn_wrap .btn.on{background-color: var(--green); color: #fff;}
.right_btn_wrap .btn .ico{width: 20px; height: 20px; background-repeat: no-repeat; background-size: contain; background-position: center;}
.right_btn_wrap .bookmark .ico{background-image: url(/images/site/map/ico_bookmark.svg);}
.right_btn_wrap .bookmark.on .ico{background-image: url(/images/site/map/ico_bookmarkBtn_on.svg);}
.right_btn_wrap .distance .ico{background-image: url(/images/site/map/ico_distance.svg);}
.right_btn_wrap .distance.on .ico{background-image: url(/images/site/map/ico_distance_on.svg);}
.right_btn_wrap .area .ico{background-image: url(/images/site/map/ico_area.svg);}
.right_btn_wrap .area.on .ico{background-image: url(/images/site/map/ico_area_on.svg);}
.right_btn_wrap .slope .ico{background-image: url(/images/site/map/ico_slope.svg);}
.right_btn_wrap .slope.on .ico{background-image: url(/images/site/map/ico_slope_on.svg);}
.right_btn_wrap .location{border-radius: 5px; width: 100%; border: 1px solid #D8DADE; background: #fff url(/ggedc/gis/images/site/map/ico_location.svg)no-repeat center;}


.map_list_wrap{display: none; position: absolute; right: 90px; top: 0; width: 250px; overflow: hidden; padding: 0 8px; border-radius: 5px; z-index: 11;}
.map_list_wrap.show{display: block;}
.map_list_wrap .top{display: flex; justify-content: space-between; align-items: center; color: #fff; padding: 8px 15px; background: var(--green); border-radius: 5px 5px 0 0;}
.map_list_wrap .top strong{position: relative; font-size: 1.4rem; font-weight: 600; padding-right: 26px;}
.map_list_wrap .top strong::after{content: ''; position: absolute; top: 50%; right: 0; transform: translateY(-50%); width: 15px; height: 15px; background: url(/images/site/map/ico_list.svg)no-repeat center;}
.map_list_wrap .list_close{width: 13px; height: 13px; background: url(/images/site/map/ico_close.svg)no-repeat center;}

.map_list_wrap .ml_cont{background: #fff; border-radius: 0 0 5px 5px; padding: 15px; max-height: 56vh; /*max-height: 531px;*/ overflow-y: auto;}
.map_list_wrap .map_list.dep1 > li{margin-bottom: 5px;}
.map_list_wrap .ml_cont .tit{display: flex; gap: 6px;}
.map_list_wrap .map_list .more_btn{position: relative; width: 18px; height: 18px; margin-top: 1px; border-radius: 50%; background: var(--green);}
.map_list_wrap .map_list .more_btn::before,
.map_list_wrap .map_list .more_btn::after{content: ''; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); background: #fff;}
.map_list_wrap .map_list .more_btn::before{width: 10px; height: 2px;}
.map_list_wrap .map_list .more_btn::after{width: 2px; height: 10px;}
.map_list_wrap .map_list .more_btn.active::after{display: none;}
.map_list_wrap .map_list .tit_wrap{padding-bottom: 5px;}
.map_list_wrap .map_list.dep2{display: none; margin-top: 5px; padding-left: 15px;}
.map_list_wrap .map_list.dep3{display: none; padding-left: 15px;}
.map_list_wrap .map_list.dep4{display: none; padding-left: 10px;}
.map_list_wrap .map_list.color{padding-left: 25px; margin-bottom: 10px;}
.map_list_wrap .map_list.color li{display: flex; align-items: center; margin-bottom: 10px; font-size: 12px; line-height: 1.2;}
.map_list_wrap .map_list .co_box{display: inline-block; width: 15px; height: 15px; margin-right: 8px;}
.map_list_wrap .map_list .img_box{display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; margin-right: 8px;}
.co_box.border{border: 1px solid #000;}


.map_list_wrap .ui-slider{max-width: 100%; margin: 3px 3px 3px 25px; height: 1rem; border-radius: 1rem; border: 0; background: #D9D9D9;}
.map_list_wrap .ui-slider .ui-slider-range{background: var(--blue); border-radius: 1rem;}
.map_list_wrap .ui-slider-horizontal .ui-slider-handle{top: -3px; width: 16px; height: 16px; background: #fff; border-radius: 50%; border: 0; box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.25);}

.map_list_wrap .chk{font-size: 13px; color: #454545; line-height: 1.3;}





.ol-zoom{width: 46px; height: 326px; padding: 0; right: 30px; top: unset; left: unset; bottom: 60px; background: url(../../../assets/images/zoom_in_out.png2.png)no-repeat center;}
.ol-zoomslider {width: 10px; top: unset; left: unset; right: 48px; bottom: 92px; border-radius: 0; height: 261px; padding: 0; background: none;}
.ol-zoom .ol-zoom-in {border-bottom-color: #D8DADE;}
.ol-zoom .ol-zoom-out {margin-top: 278px; border-top-color: #D8DADE;}
.ol-control button{width: 100%; background: #fff; margin: 0; height: 24px; border-radius: 0; color: #454545; font-weight: bold; border: 1px solid #6D757E; border-radius: 3px 3px 0 0; cursor: pointer; font-size: 20px;}
.ol-control button:focus{outline: 2px dashed #000; outline-offset: -2px;}
.ol-zoomslider-thumb {background-color: #1DAB8F; z-index: 9;}
.ol-zoomslider button{position: relative; width: 18px; height: 10px; left: 50%; transform: translateX(-50%); border-radius: 2px; border: 1px solid #6D757E; }
.ol-zoomslider button::after{content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 10px; height: 1px; background: #0940A1;}
.ol-control button:focus, .ol-control button:hover{background-color: #fff;}
.ol-control button:hover{outline: 0;}
.ol-zoomslider .zoomslider-filled {position: absolute; background-color: #0940A1; width: 10px; height: 0; bottom: 0; left: 0;}

/* Tooltip adjustments */
.ol-zoom-in.ol-has-tooltip:hover [role=tooltip],
.ol-zoom-in.ol-has-tooltip:focus [role=tooltip],
.ol-zoom-out.ol-has-tooltip:hover [role=tooltip],
.ol-zoom-out.ol-has-tooltip:focus [role=tooltip] {
  top: auto !important;
  bottom: 5px !important;
  right: 30px !important;
}






/* BOTTOM WRAP */

.bt_wrap{position: absolute; right: 20px; bottom: 30px; display: flex;}
.bt_wrap .logo{margin-left: 50px;}
.address_txt{position: absolute; left: 50%; bottom:40px; transform: translateX(-50%); background: #1778CC; border: 1px solid #205F8F; border-radius: 50px; font-size: 1.6rem; padding: 10px 16px; color: #fff;box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.25); text-align: center; word-break: keep-all; white-space: nowrap; z-index: 10;}

/* modal */

.popup{display: none; position: absolute; z-index: 20; min-width: 320px;}
.popup.show{display: block;}

.popup.t1{width: 100%; max-width: 380px; top: 80px; left: 20px; background: #fff; border-radius: 5px; overflow: hidden;}
.popup.t1 .pop_head{padding: 16px 0; margin: 0 16px; border-bottom: 1px solid #EFEFEF;}
.popup.t1 .pop_head strong{font-size: 1.8rem; color: #2E3033; font-weight: bold;}
#search_address, #bookmark_pop, #my_mnt_result{height: 72vh; overflow: hidden; z-index: 21;}
#my_mnt_result .pop_body,
#bookmark_pop .pop_body,
#search_address .pop_body{background: #F7F7F9; overflow: unset;}
.popup.t1 .pop_head{display: flex; align-items: center; justify-content: space-between;}
.popup.t1 .pop_body{height: calc(100% - 56px); background: #fff; overflow-y: auto; padding-bottom: 16px;}
.popup.t1 .pop_head .pop_close_btn{width: 20px; height: 20px; background: url(/ggedc/gis/images/site/map/ico_pop_close.svg)no-repeat center;}
.popup.t1 .pop_body ul{width: 100%; padding: 15px; background: #fff;}
.popup.t1 .pop_body ul li{font-size: 1.5rem; display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px;}
.popup.t1 .pop_body ul li:last-child{margin-bottom: 0;}
.popup.t1 .pop_body ul li .tit{position: relative; padding-left: 24px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.popup.t1 .pop_body ul li .tit::before{content: ''; position: absolute; top: 50%; transform: translateY(-50%); left: 0; width: 14px; height: 14px; background: url(/images/site/map/ico_search_list.png);}
.popup.t1 .pop_body ul li .del_btn{width: 20px; height: 20px; border-radius: 50%; background: #F2F1F6 url(/images/site/map/ico_list_del.png)no-repeat center; margin-left: 10px;}
.popup .inner{width: 100%; padding: 0 16px;}
#multi_link_forest ul{height: 370px; overflow-y: auto;}
#multi_link_forest .btn{width: 100%; text-align: center; font-size: 1.6rem; font-weight: bold; background: var(--blue); color: #fff; padding: 10px 0;}
.popup.t1 .all_del{display: inline-block; color: var(--blue); font-size: 1.3rem; padding: 8px 16px;}
.popup.t1 .all_del.nopd{padding: 0;}

.popup.t2{width: 100%; max-width: 930px; height: auto; position: absolute; top: 134px; right: 90px; z-index: 20;}
.popup.t2 .pop_head{width: 100%; padding: 16px; display: flex; align-items: center; justify-content: space-between; border-radius: 5px 5px 0 0; background: #fff;}
.popup.t2 .pop_head strong{font-weight: bold; font-size: 1.8rem;}
.popup.t2 .pop_head .pop_close_btn{width: 20px; height: 20px; background: url(/ggedc/gis/images/site/map/ico_pop_close.svg)no-repeat center;}
#slope_pop .pop_head strong{padding-left: 28px; background: url(/images/site/map/ico_slope.svg)no-repeat center left / 15px 15px;}
#slope_pop .pop_body{background: #23212F; padding: 16px 20px; border-radius: 0 0 5px 5px; overflow-y: auto; overflow-x: hidden;}
#slope_pop .box{padding: 5px 30px; background: #fff; font-size: 1.6rem; border-radius: 5px; word-break: keep-all; margin-top: 5px;}
#slope_pop .box .mark{position: relative; padding-left: 16px;}
#slope_pop .box .mark::before{content: '※'; display: inline-block; position: absolute; top: 0; left: 0;}
.popup.t3{width: 100%; max-width: 380px; height: 89vh; top: 80px; left: 20px; background: #fff; border-radius: 5px; overflow: hidden;}
.popup.t3 .pop_head{display: flex; align-items: center; justify-content: space-between; padding: 17px 16px; border-bottom: 1px solid #EFEFEF;}
.popup.t3 .pop_body{height: calc(100% - 56px); background: #fff; overflow-y: auto;}
.popup.t3 .pop_head strong{font-size: 1.8rem; color: #2E3033; font-weight: bold; padding-left: 28px; background-position: center left; background-size: 15px 15px; background-repeat: no-repeat;}
#my_mnt .pop_head strong{background-image: url(/images/site/map/ico_menu03.svg);}
#carbon_seq .pop_head strong{background-image: url(/images/site/map/ico_menu04.svg);}
.popup.t3 .pop_body .cont{padding: 16px; border-bottom: 1px solid #EFEFEF;}
.popup.t3 .pop_body .cont.ic{padding: 16px 0 0 0;}
.popup.t3 .pop_body .cont.ic .chk_tit,
.popup.t3 .pop_body .cont.ic .check_wrap{padding: 0 16px;}

.popup.t3 .pop_body .btn_wrap{padding: 20px; text-align: center;}
.popup.t3 .pop_body .btn_wrap .btn{color: #fff; font-size: 1.6rem; font-weight: 600; background: var(--blue); padding: 8px 5px; line-height: 1.2;}
.popup.t3 .pop_close_btn{display: none; width: 18px; height: 18px; background: url(/ggedc/gis/images/site/map/ico_pop_close.svg)no-repeat center / contain;}

/* 내게 맞는 산 찾기 */
.my_mnt_result{width: calc(100% - 520px); left: 420px; bottom: 21px; background: #fff;}
.my_mnt_result .pop_head{display: flex; align-items: center; justify-content: space-between; height: 42px; padding: 0 30px; border-bottom: 1px solid #D8D8D8; font-size: 16px; font-weight: bold;}
.my_mnt_result .close_btn{width: 16px; height: 16px; background: url(/ggedc/gis/images/site/map/ico_pop_close.svg)no-repeat center;}
.my_mnt_result .pop_foot{height: 42px; padding: 0 30px; align-content: center; font-size: 16px;}
.my_mnt_result .tb_wrap{overflow: auto;width: 100%;max-height: 230px;width: 2200px;overflow-x: hidden;}
.my_mnt_result table{position: static; width: 100%; min-width: 2200px; table-layout: fixed; border-spacing: 0; border-collapse: collapse;}
.my_mnt_result th,
.my_mnt_result td{vertical-align: middle; font-size: 14px; text-align: center; border-bottom: 1px solid #D8D8D8;}
.my_mnt_result th{padding: 15px 5px; height: 44px; background: #EEF7EE; }
.my_mnt_result td{padding: 10px 5px; height: 40px;}
.my_mnt_result .info_btn{width: 24px; height: 24px; background: url(/images/site/map/ico_marker.png)no-repeat center / contain;}
.my_mnt_result .pop_body{width: 100%;position: relative;padding-top: 47px;overflow: auto;}
.my_mnt_result thead tr {position: absolute; top: 0;}
.my_mnt_result thead th {position: sticky; z-index: 1;}
.my_mnt_result table tr {display: inline-table;width: 2200px;table-layout: fixed;}
.my_mnt_result table tbody tr {display: table-row;}

@media screen and (max-width: 900px) {
    .my_mnt_result{
        width: 100%;
        left: 0;
        bottom: 0;
    }
    
    .my_mnt_result .tb_wrap{
    	max-height: 120px;
    }
}

@media screen and (max-width: 640px) {
  #slope_pop .box {
    font-size: 1.3rem;
    padding: 5px 10px;
  }
  #slope_pop .box .mark{padding: 0;}
  #slope_pop .box .mark::before{
    position: static;
    padding-right: 4px;
  }
}


/* 우클릭 메뉴 */

.context_menu {display: none; width: 120px; position: absolute; background: #fff; border: 1px solid #BCE6DE; z-index: 999; border-radius: 10px; overflow: hidden;}
.context_menu ul li{border-bottom: 1px solid #BCE6DE;}
.context_menu ul li:last-child{border-bottom: 0;}
.context_menu ul li a{padding: 8px 25px; text-align: left; font-size: 1.3rem;}
.context_menu ul li a:hover {background-color: #F2F1F6;}

/* 필지분석 팝업 */
.analyze_pop{display: none; width: 100%; height: 100%; position: fixed; top: 0; left: 0; background: rgba(0,0,0,.2); min-width: 320px; z-index: 21;}
.analyze_pop .pop_wrap{position: absolute; top: 0; left: 50%; transform: translateX(-50%); max-width: 830px; width: 100%; height: 100vh; }
.analyze_pop .pop_wrap .pop_box{width: 100%; height: 100%; background: #fff; overflow-y: scroll; box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);}
.analyze_pop .pop_head{width: 100%; height: 42px; display: flex; align-items: center; justify-content: end; padding-right: 55px;}
/*#lf_pop .no_tab{}*/
.analyze_pop .pop_head .lf_multi_tabs{display: none; border: 1px solid #D4D7DC; height: 100%;}
.analyze_pop.multi .pop_head{justify-content: space-between;}
.analyze_pop.multi .pop_head .lf_multi_tabs{display: flex;}
.analyze_pop .pop_head .lf_multi_tabs li{border-right: 1px solid #D4D7DC;}
.analyze_pop .pop_head .lf_multi_tabs li:last-child{border-right: 0;}
.analyze_pop .pop_head .lf_multi_tabs li a{font-size: 1.6rem; padding: 0 15px; height: 100%; display: flex; align-items: center; text-align: center;}
.analyze_pop .pop_head .lf_multi_tabs li.on a{background: var(--green); color: #fff;}
.analyze_pop .pop_head .util{position: relative; display: flex; align-items: center; gap: 15px;}
.analyze_pop .pop_head .util .bookmark{width: 25px; height: 24px; background: url(/images/site/map/ico_bookmark.svg)no-repeat center;}
.analyze_pop .pop_head .util .bookmark.on{background: url(/images/site/map/filji_bookmark_on.svg)no-repeat center;}
.analyze_pop .pop_head .util .print_btn{padding: 5px 13px 5px 40px; font-size: 1.8rem; border: 1px solid #D8DADE; border-radius: 5px; background: url(/images/site/map/ico_print.png)no-repeat center left 13px; font-size: 1.4rem;}
.analyze_pop .pop_head .util .close{position:fixed;top: 5px;right: 28px;width: 35px;height: 35px;background: url(/ggedc/gis/images/site/map/ico_pop_close.svg)no-repeat center / 16px 16px;z-index: 10005;background-color: #fff;border-radius: 50%;} /*필지 닫기 버튼*/
.analyze_pop .pop_body{padding-bottom: 12px;}
/*.analyze_pop .img_wrap{position: relative; width: 100%; height: auto; padding-bottom:43%}*/
.analyze_pop .img_wrap{position: relative; width: 100%; height: auto; padding-bottom:43%}
.analyze_pop .img_wrap.carbon{position: relative; width: 100%; height: auto; padding-bottom:0%}
.analyze_pop .img_wrap .tit{position: absolute; bottom: 0; left: 0; width: 100%; height: 40px; text-align: center; background: rgba(0,0,0,.3); padding: 0 10px;}
.analyze_pop .img_wrap .tit p{text-align: center; color: #fff; font-size: 1.8rem; line-height: 40px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.analyze_pop .img_wrap img{width: auto; height: 100%;}
#screenshotContainer{width: 100%; height: 100%; text-align: center; position: absolute; top: 0; left: 0;}
.analyze_pop .tb_wrap{margin-top: 10px; background: #fff;}
.analyze_pop .tb_wrap table{width: 100%; table-layout: fixed; margin-bottom: 8px;}
.analyze_pop .tb_wrap table tbody{border-top: 1px solid #D8DADE; border-left: 1px solid #D8DADE;}
.analyze_pop .in_tab_cont .tb_wrap table tbody{ border-left:0;}
.analyze_pop .sl_tab_cont .tb_wrap table tbody{ border-left:0;}
.analyze_pop .tb_wrap table th,
.analyze_pop .tb_wrap table td{padding: 8px; font-size: 1.6rem; vertical-align: middle; border-right: 1px solid #D8DADE; border-bottom: 1px solid #D8DADE; color: var(--black2);}
.analyze_pop .tb_wrap table th{text-align: center; background: #F7F7F9; font-weight: bold;}
.analyze_pop .tb_wrap table td{text-align: left; padding: 8px 15px;}
.analyze_pop .tb_wrap table th.first{color: #5B5B5B; border-left: 0;}

/* 2024-09-20 추가 */
.analyze_pop .tb_wrap table th .info_key_btn{display: inline-block; width: 17px; height: 17px; font-size: 0; background: url(/images/site/map/ico_info_btn.svg)no-repeat center; flex: 0 0 auto;}
.analyze_pop .tb_wrap table th .info_item{display: inline-flex; align-items: center; gap: 4px;}
.analyze_pop .info_box{display: none; position: absolute; left: 100% ; top: 50%; transform: translateY(-50%); z-index: 9; margin-left: 10px;}
.analyze_pop .info_box .box_close_btn{position: absolute; width: 16px; height: 16px; right: 20px; top: 13px; background: url(/ggedc/gis/images/site/map/ico_pop_close.svg)no-repeat center / contain; font-size: 0;}
.analyze_pop .info_box.show{display: block;}
.analyze_pop .info_box .box_wrap{position: relative; width: 400px; height: auto; background: #F8F8F8; padding: 13px 16px; border-radius: 5px;}
.analyze_pop .info_box .tit{font-size: 1.6rem; color: #1D1D1D; font-weight: bold; padding-left: 28px; padding-right: 30px; background: url(/images/site/map/ico_info_box.png)no-repeat top left;}
.analyze_pop .info_box .desc{border-top: 1px solid #D9D9D9; margin-top: 8px; padding-top: 10px; font-size: 1.6rem;}
.analyze_pop .info_box .desc table{width: 100%; margin-top: 10px; font-size: 14px;}
.analyze_pop .info_box .desc table thead{border-top: 2px solid #D8DADE;}
.analyze_pop .info_box .desc table thead th{background: #F7F7F9;}
.analyze_pop .info_box .desc table th,
.analyze_pop .info_box .desc table td{padding: 3px 10px; text-align: center; border-bottom: 1px solid #D8DADE;}
.analyze_pop .info_box .desc table td{background: #fff;}
.analyze_pop .info_box .desc table .taL{text-align: left;}
.analyze_pop .info_box .source{position: relative; display: inline-block; font-size: 1.2rem; color: #4A4A4A; padding-left: 20px; line-height: 1; color: #4A4A4A; font-size: 12px; margin-top: 20px; line-height: 1.4;}
.analyze_pop .info_box .source::before{content: ''; position: absolute; top: -2px; left: 0; width: 20px; height: 20px; background: url(/images/site/map/ico_source.png)no-repeat center / contain;}

.analyze_pop .tb_info_txt{padding: 10px;}
.analyze_pop .tb_info_txt strong{display: flex; justify-content: center; align-items: center; width: 100%; padding: 6px 0; line-height: 1.4; text-align: center; font-size: 1.6rem; background: var(--blue); color: #fff; font-weight: bold;}
.analyze_pop .tb_info_txt i{display: inline-block; width: 17px; height: 17px; margin: 0 5px; background: url(/images/site/map/ico_info_btn_white.svg)no-repeat center; }
.analyze_pop .tb_info_txt .txt{font-size: 1.6rem; color: #000; margin-top: 15px;}
.analyze_pop .tb_info_txt .txt p{position: relative; padding-left: 15px; font-weight: bold;}
.analyze_pop .tb_info_txt .txt p::after{content: '※'; position: absolute; top: 10px; left: 0; transform: translateY(-50%);}
.analyze_pop .pop_wrap .txt_cont{padding-top: 0;}
.analyze_pop .txt_cont{padding: 32px 24px; background: #fff;}
.analyze_pop .txt_cont .item{border-bottom: 1px solid #D8DADE; padding: 32px 0;}
.analyze_pop .txt_cont .item:last-child{padding-bottom: 0; border-bottom: 0;}
.analyze_pop .txt_cont .cont_tit{position: relative; padding-left: 18px; font-size: 2rem; display: flex; align-items: center; justify-content: space-between; font-weight: bold;}
.analyze_pop .txt_cont .cont_tit::before{content: ''; position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 5px; height: 17px; border-radius: 10px; background: #00264B;}
.analyze_pop .txt_cont .cont_tit .info_btn{padding: 8px 40px; border: 1px solid #ddd; color: #6B6E6B; font-size: 1.5rem; border-radius: 5px; font-weight: 400;}
.analyze_pop .txt_cont .cont{margin-top: 24px;}
.analyze_pop .txt_cont .cont li{display: flex; }
.analyze_pop .txt_cont .cont li .tit{position: relative; padding-left: 20px; font-size: 1.7rem; font-weight: 600;}
.analyze_pop .txt_cont .cont li .tit::before{content: ''; position: absolute; top: 4px; left: 0; border-left: 10px solid black; border-top: 6px solid transparent; border-bottom: 6px solid transparent;}
.analyze_pop .txt_cont .cont .box{display: inline-block; text-align: center; border-radius: 5px; border: 1px solid #ddd; background: #F5F8FB; font-size: 1.6rem; padding: 8px 30px; min-width: 130px;}
.analyze_pop .txt_cont .cont.t1{display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap;}
.analyze_pop .txt_cont .cont.t1 li{align-items: center; gap: 23px;}
.analyze_pop .txt_cont .cont.t2 li{margin-bottom: 16px;}
.analyze_pop .txt_cont .cont.t2 .tit{padding-top: 8px; max-width: 430px; width: 100%;}
.analyze_pop .txt_cont .cont.t2 .tit::before{top: 12px;}
.analyze_pop .txt_cont .cont.t2 .tit::after{content: ''; position: absolute; top: 10px; right: 0; width: 1px; height: 20px; background: #D8DADE;}
.analyze_pop .txt_cont .cont.t2 .desc{width: calc(100% - 430px); padding-left: 48px;}
.analyze_pop .txt_cont .box.long_txt{text-align: left; width: 100%;}
.analyze_pop .info_tb{width: 100%; text-align: center; margin-top: 30px;}
.analyze_pop .info_tb th,
.analyze_pop .info_tb td{padding: 5px; font-size: 1.6rem; border-right: 1px solid #D8DADE;}
.analyze_pop .info_tb th{background: #F7F7F9;}
.analyze_pop .info_tb td{border-bottom: 1px solid #D8DADE;}
.analyze_pop .info_tb th:last-child,
.analyze_pop .info_tb td:last-child{border-right: 0;}

.az_inner_pop{display: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; max-width: 760px; z-index: 100; background: #fff; box-shadow: 0px 1px 40px 0px rgba(0, 0, 0, 0.2); border-radius: 10px; overflow: hidden;}
.az_inner_pop.show{display: block;}
.az_inner_pop .pop_head{height: auto; padding: 20px 30px; display: flex; justify-content: space-between; border-bottom: 1px solid #ddd;}
.az_inner_pop .pop_head .close_btn{width: 20px; height: 20px; background: url(/ggedc/gis/images/site/map/ico_pop_close.svg)no-repeat center;}
.az_inner_pop .pop_head strong{font-size: 2.2rem; font-weight: bold; color: #2E3033;}
.az_inner_pop .pop_body{padding: 20px; background: #fff; max-height: 600px; overflow-y: auto;}
.az_inner_pop .pop_body .cont{margin-bottom: 40px;}
.az_inner_pop .pop_body .cont strong{font-size: 2rem; font-weight: bold; padding-bottom: 20px; color: #2E3033;}
.az_inner_pop .pop_body .cont ul li{position: relative; font-size: 1.6rem; margin-bottom: 12px; line-height: 1.4; padding-left: 12px;}
.az_inner_pop .pop_body .cont ul li:last-child{margin-bottom: 0;}
.az_inner_pop .pop_body .cont ul li:after{content: ''; position: absolute; width: 4px; height: 4px; background: #333; border-radius: 50%; left: 0; top: 8px;}
.analyze_pop .az_inner_pop .img_wrap{height: auto; margin-bottom: 40px;}
.analyze_pop .az_inner_pop .img_wrap img{width: 100%; height: auto;}

.analyze_pop .tab_container .tabs{display: flex; align-items: center; border-bottom: 1px solid #D8DADE;}
.analyze_pop .tab_container .tabs li{width: 50%; height: 42px;}
.analyze_pop .tab_container .tabs li a{width: 100%; height: 100%; text-align: center; display: flex; align-items: center; justify-content: center; font-size: 2rem; font-weight: 600;}
.analyze_pop .in_tabs a:focus,
.analyze_pop .swiper-slide a:focus,
.analyze_pop .tab_container .tabs li a:focus{outline-offset: -2px;}
.analyze_pop .tab_container .tabs li.active a{background: var(--green); color: #fff;}
.analyze_pop .slide_wrap{position: relative; padding: 0 40px; height: 40px; border-top: 1px solid #D8DADE; border-bottom: 1px solid #D8DADE; margin: 12px 0; background: #F7F7F9;}
.analyze_pop .tab_slide{width: 100%; height: 100%;}
.analyze_pop .swiper-slide{width: 160px;}
.analyze_pop .swiper-slide a{width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 1.6rem; text-align: center;}
.analyze_pop .sl_tab_cont{display: none; padding: 0 15px;}
.analyze_pop .sl_tab_cont.show{display: block;}
.swiper-button-next.swiper-button-disabled, 
.swiper-button-prev.swiper-button-disabled{opacity: 1;}
.analyze_pop .swiper-button-next:after, 
.analyze_pop .swiper-button-prev:after{font-size: 2rem; color: #434343; font-weight: bold;}
.analyze_pop .swiper-slide.active{font-weight: bold; color: #000;}
.analyze_pop .sl_tab_cont .tb_wrap{overflow-x: auto; width: 100%;}
.analyze_pop .sl_tab_cont table{width: 100%; table-layout: fixed;}
.analyze_pop .sl_tab_cont table thead{border-top: 2px solid #D8DADE;}
.analyze_pop .sl_tab_cont table th,
.analyze_pop .sl_tab_cont table td{font-size: 1.4rem; text-align: center; border-left: 1px solid #D8DADE; border-bottom: 1px solid #D8DADE; vertical-align: middle;}
.analyze_pop .sl_tab_cont table th{color: #000; background: #F7F7F9; padding: 6px 0; height: 48px;}
.analyze_pop .sl_tab_cont table td{padding: 11px 5px;}
.analyze_pop .sl_tab_cont table td.txt2{padding: 3px 5px;}
.analyze_pop .sl_tab_cont table .tb_btn{display: inline-block; padding: 3px 15px; font-size: 14px; color: #fff; background: var(--green);}
.analyze_pop .sl_tab_cont table .circle{display: inline-block; position: relative; top: 2px; width: 14px; height: 14px; border-radius: 50%; background: var(--green);}
.analyze_pop .in_tab_cont{display: none;}
.analyze_pop .in_tab_cont.show{display: block;}
.analyze_pop .in_tabs{display: flex; align-items: center; text-align: center; margin-bottom: 12px; border-bottom: 1px solid #D8DADE;}
.analyze_pop .in_tabs.n5 li{width: 20%;}
.analyze_pop .in_tabs.n2 li{width: 50%;}
.analyze_pop .in_tabs a{padding: 10px 0; text-align: center; background: #F7F7F9; color: #555; font-size: 1.6rem;}
.analyze_pop .in_tabs .active a{color: #fff; background: #545454;}
.analyze_pop .sl_tab_cont table tbody{border-top: 0;}
.analyze_pop .sl_tab_cont table th,
.analyze_pop .sl_tab_cont table td{border-left: 0; border-right: 0; word-break: keep-all;}
.analyze_pop .sl_tab_cont .source{text-align: right;}
.analyze_pop .sl_tab_cont .source span{display: inline-block; font-size: 1.2rem; color: #4A4A4A; padding-left: 20px; line-height: 2; background: url(/images/site/map/ico_source.png)no-repeat top 2px left / 16px 20px;}
.analyze_pop .sl_tab_cont .txt_wrap {margin-top: 10px;}
.analyze_pop .sl_tab_cont .txt_wrap p{font-size: 1.6rem; color: #000; padding-top: 16px; word-break: keep-all;}
.analyze_pop .sl_tab_cont .txt_wrap .box{border: 1px solid #ddd; background: #F5F8FB; border-radius: 5px; display: inline-block; font-size: 1.6rem; padding: 8px 50px; margin-top: 16px;}
.analyze_pop .sl_tab_cont table tbody th{height: auto;}
.analyze_pop .sl_tab_cont table thead th.red{border-top: 2px solid #A70000; color: #A70000; background: #FAF2F2; font-size: 1.6rem; border-right: 1px solid #D8DADE;}
.analyze_pop .sl_tab_cont table thead th.blue{border-top: 2px solid #028EDD; color: #028EDD; background: #F2F9FD; font-size: 1.6rem;}
.analyze_pop .sl_tab_cont table td .red{color: #A70000;}
.analyze_pop .sl_tab_cont table td .blue{color: #028EDD;}
.analyze_pop .sl_tab_cont .table{margin-bottom: 16px; border-top: 1px solid #D8DADE;}
.analyze_pop .sl_tab_cont .table .item{display: flex; align-items: center; border-bottom: 1px solid #D8DADE; }
.analyze_pop .sl_tab_cont .table .item > div{width: 50%; padding: 11px 0; text-align: center; font-size: 1.4rem;}
.analyze_pop .sl_tab_cont .table .item .tit{background: #F7F7F9;}

/* 필지분석 아코디언 추가 */

.tb_acco .acco_head{width: 100%; padding: 0 10px;}
.tb_acco .acco_head span{display: inline-block; position: relative; padding-right: 26px;}
.tb_acco .acco_head span::after{content: ''; width: 18px; height: 18px; position: absolute; right: 0; top: 50%; transform: translateY(-50%); background: url(/assets/images/map/ico_acco_arrow.png)no-repeat center / contain;}
.tb_acco .acco_head .on span::after{transform: translateY(-50%) rotate(180deg);}
.tb_acco .acco_body{display: none;}
.tb_acco .acco_body .info_item{line-height: 2;}
.tb_acco .acco_head a{padding: 8px; font-size: 1.6rem; text-align: center; background: #F7F7F9; border: 1px solid #D8DADE; border-radius: 5px; color: var(--black2); font-weight: bold;}
.analyze_pop .tb_wrap .tb_acco table thead{border-top: 1px solid #D8DADE;}
.analyze_pop .tb_wrap .tb_acco table tbody{border: 0;}
.analyze_pop .tb_wrap .tb_acco table th{position: relative;}
.analyze_pop .tb_wrap .tb_acco table td{padding: 8px; word-break: break-all; text-align: center;}
.tb_acco .link_btn{position: absolute; display: inline-flex; align-items: center; gap: 8px; top: 50%; right: 18px; transform: translateY(-50%); font-weight: 500; padding: 7px 10px; border-radius: 5px; border: 1px solid var(--green);}
.tb_acco .link_btn::after{content: ''; display: block; width: 15px; height: 15px; background: url(/assets/images/map/ico_link.png);}
.analyze_pop .taL{text-align: left !important;}
.analyze_pop .tb_wrap .tb_acco table p{padding: 3px 0; word-break: keep-all;}


/* 필지분석 버튼 팝업 */

.measure_box{position: absolute; text-align: center; background: #fff; border-radius: 5px; padding: 5px 15px; white-space: nowrap;}
.measure_box.distance{top: 50%; left: 20rem;}
.measure_box.area{left: 40rem; top: 40%;}
.measure_box .top{display: flex; align-items: center; font-size: 1.2rem; font-weight: 600;}
.measure_box .top span{margin-left: 7px; padding: 4px 10px; border-radius: 5px; background: #EEF2F7; color: #21396C;}
.measure_box .btns{margin-top: 5px; display: flex; align-items: center; gap: 8px; justify-content: center;}
.measure_box .btns a{padding: 3px 16px; border-radius: 20px; font-size: 1.4rem;}
.measure_box .btns a.del_btn{color: #fff; background: #627AA2;}
.measure_box .btns a.visual_btn{color: #fff; background: #1778CC;}

/* 내게 맞는 산 찾기 */

.popup .select_wrap{}
.popup .select_wrap .item{display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px;}
.popup .select_wrap .item:last-child{margin-bottom: 0;}
.popup .select_wrap .item .tit{font-size: 1.5rem; color: #2E3033; padding-left: 24px; background: url(/images/site/map/ico_marker.png)no-repeat center left / 22px;}
.popup .select_wrap .item .desc{flex: 1; text-align: right;}
.popup .select_wrap .select{width: 100%; height: 32px; font-size: 1.5rem; border: 1px solid #D4D7DC; border-radius: 8px; padding: 0 32px 0 15px; text-align: left; background: url(/images/site/map/ico_select_arrow.svg)no-repeat center right 15px; color: #333;} 
/* 탄소흡수량 면적 입력 */.popup .select_wrap .input{width: 100%; height: 32px; font-size: 1.5rem; border: 1px solid #D4D7DC; border-radius: 8px; padding: 0 32px 0 15px; text-align: left; color: #333;} 
.popup .select_wrap.my_mnt .select{max-width: 163px;}
.popup.t3 .pop_body .cont .chk_tit{display: flex; justify-content: space-between; align-items: center;}
.popup.t3 .pop_body .cont .chk_tit strong{font-size: 1.6rem; color: #2E3033; font-weight: 600;}
.popup .check_wrap {margin-top: 20px; display: flex; flex-wrap: wrap; gap: 12px;}
.popup .check_wrap.n3 .btn_chk{width: calc(33.33333% - 3/4* 11px);}
.popup .check_wrap.n4 .btn_chk{width: calc(25% - 4/5* 12px);}
.popup.my_mnt .tab_wrap ul{margin-top: 20px; display: flex; flex-wrap: wrap; gap: 12px;}
.popup.my_mnt .tab_wrap ul li{width: calc(25% - 4/5* 12px);}
.popup.my_mnt .tab_wrap ul li a{width: 100%; color: #2E3033; font-size: 1.5rem; display: inline-block; position: relative; cursor: pointer; background: #fff; border: 1px solid #D4D7DC; border-radius: 8px; line-height: 1; transition: .2s; height: 48px; display: flex; align-items: center; justify-content: center; text-align: center; line-height: 1.4;}
.popup.my_mnt .tab_wrap ul li.active a{color: #fff; border: 1px solid var(--green); background: var(--green); font-weight: 600;}

.popup.t3 .pop_body .cont.tab{padding: 16px 0 0 0;}
.popup.t3 .tab_cont{display: none; padding: 16px 0; margin-top: 20px; background: #F7F7F9;}
.popup.t3 .tab_cont.show{display: block;}
.popup.t3 .pop_body .cont .tab_cont .chk_tit strong{font-size: 1.5rem;}
.popup.t3 .pop_body .cont.tab .chk_tit,
.popup.t3 .pop_body .cont.tab .tab_wrap{padding: 0 16px;}
.popup.t3 .pop_body .cont.tab .tab_cont{padding: 16px;}
.popup.t3 .pop_body .cont.tab .tab_cont .chk_tit{padding: 0;}

.popup.my_mnt .pop_body{height: calc(100% - 133px);}
.my_mnt .btn_wrap{position: absolute; bottom: 0; left: 0; display: flex; width: 100%; gap: 12px; padding: 20px; background: #fff; border-top: 1px solid #EFEFEF;}
.popup.my_mnt .pop_body .btn_wrap .btn{padding: 8px 20px;}
.popup.my_mnt .pop_body .btn_wrap .analysis{flex: 1;}
.popup.my_mnt .pop_body .btn_wrap .reset_btn{display: inline-flex; gap: 6px; background: #E9E9E9; color: #606060;}
.popup.my_mnt .pop_body .btn_wrap .reset_btn i{width: 18px; height: 18px; background: url(/images/site/map/ico_reset.png)no-repeat center;}
.popup.my_mnt .tab_wrap.type ul{gap: 0;}
.popup.my_mnt .tab_wrap.type ul li{width: 33.3333%;}
.popup.my_mnt .tab_wrap.type ul li a{height: 60px; border-radius: 0; font-size: 15px;}
.popup.my_mnt .tab_wrap.type ul li:first-child a{border-radius: 8px 0 0 8px; border-right: 0;}
.popup.my_mnt .tab_wrap.type ul li:last-child a{border-radius: 0 8px 8px 0; border-left: 0;}
.popup.my_mnt .tab_wrap.type ul li.active a{box-shadow:  0px 3px 6px 0px rgba(0, 0, 0, 0.16);}
.popup.my_mnt .empty_wrap{text-align: center; margin-top: 16px; font-size: 1.6rem;}

.ariaButton{font-size: 12px; padding: 3px 5px; border: 1px solid var(--blue); color: var(--blue); border-radius: 4px;}

/* 탄소흡수량 예측 서비스 */

.popup .select_wrap.carbon .select{max-width: 190px;}
.popup .select_wrap.carbon .input{max-width: 190px;}	/* 탄소흡수량 면적 입력칸 */
.popup.t3 .pop_body .cont.nobd{border-bottom: 0;}
.popup .calc_wrap{margin-top: 24px;}
.popup .calc_wrap .btns{display: flex; align-items: center; gap: 12px; margin-bottom: 24px; text-align: center;}
.popup .calc_wrap .btns a{width: calc(33.33333% - 3/4* 11px); height: 48px; display: flex; justify-content: center; align-items: center; background: #F5F8FB; border: 1px solid #D4D7DC; border-radius: 8px; font-size: 1.5rem; color: #2E3033; padding: 0 10px; word-break: keep-all; transition: .2s;}
.popup .calc_wrap .btns a:hover{font-weight: 600; color: #fff; border-color: var(--blue); background: var(--blue);}

.popup .calc_wrap .result_tb{}
.popup .calc_wrap .result_tb .tit{width: 100%; padding: 8px 5px; background: var(--blue); color: #fff; text-align: center; font-size: 1.6rem; font-weight: bold;}
.popup .calc_wrap .result_tb .result{padding: 8px 5px; font-size: 1.6rem; border-bottom: 1px solid #EFEFEF; text-align: center; font-weight: bold;}
.popup .calc_wrap p{font-size: 1.3rem; padding: 24px 0;}
.popup .txt_wrap .box{padding: 8px 5px; border-radius: 5px; border: 1px solid #ddd; background: #F5F8FB; text-align: center; font-size: 1.6rem; color: #000;}
.popup.t3 .txt_wrap{margin-top: 24px; font-size: 1.3rem;}
.popup.t3 .txt_wrap p{padding-bottom: 1rem;}
.popup.t3 p{word-break: keep-all;}

/* Checkbox Custom */

.chk {display: block; position: relative; cursor: pointer; padding-left: 20px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; line-height: 1.2;}
.chk.all{padding-left: 0; padding-right: 32px; font-size: 1.5rem; line-height: 24px; font-weight: 600;}
.chk input {position: absolute; opacity: 0; cursor: pointer; height: 0; width: 0;}
.checkmark {position: absolute; top: 0; left: 0; height: 16px; width: 16px; border: 1px solid #717171; border-radius: 4px;}
.chk.all .checkmark{width: 24px; height: 24px; right: 0; left: unset; border: 1px solid #D4D7DC; background: #fff;}
.chk input:checked ~ .checkmark {background-color: #00582C; border-color: #00582C;}
.checkmark:after {content: ""; position: absolute; display: none;}  
.chk input:checked ~ .checkmark:after {display: block;}
.chk .checkmark:after {left: 50%; top: 50%; transform: translate(-50%, -50%); width: 13px; height: 13px; background: transparent url(/images/site/map/checkbox.svg)no-repeat center / 13px 13px;}
.chk.all .checkmark:after {width: 18px; height: 18px; background: transparent url(/images/site/map/checkbox.svg)no-repeat center / contain;}

/* 버튼 체크박스 */

.btn_chk{position: relative; cursor: pointer;}
.btn_chk input {position: absolute; opacity: 0; cursor: pointer; height: 0; width: 0;}
.btn_chk .check{width: 100%; color: #2E3033; font-size: 1.5rem; display: inline-block; position: relative; cursor: pointer; background: #fff; border: 1px solid #D4D7DC; border-radius: 8px; line-height: 1; transition: .2s; height: 48px; display: flex; align-items: center; justify-content: center; text-align: center;}
.btn_chk input[type="checkbox"]:checked + .check{color: #fff; border: 1px solid var(--green); background: var(--green); font-weight: 600;}
.chk.all:focus-within,
.btn_chk:focus-within{outline: 2px dashed red}


/* Click Elements */

.elements .hide{display: none;}
.els.hide{display: none;}
.elements .location_icon{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 26px; height: 26px; background: #1778CC; border-radius: 50%; border: 2px solid #fff; box-shadow: 0px 0px 15px #0089FF;}
.elements .link_forest{position: absolute; top: 50%; left: 50%; }
.elements .link_forest::after{content: ''; position: absolute; bottom: -6px; left: 15px; width: 10px; height: 8px;}
.ol-overlay-container .lf_wrap{position: relative; display: flex; align-items: center; gap: 5px; background: #fff; padding: 5px; border-radius: 5px; border: 1px solid var(--green); cursor: pointer;}
.ol-overlay-container .img{position: relative; width: 28px; height: 28px; background-color: var(--green); background-image: url(/images/site/map/ico_forest_link.png); background-repeat: no-repeat; background-position: center;}
.ol-overlay-container .lf_wrap p{position: relative; font-size: 1.3rem;}
.ol-overlay-container .lf_wrap .ico{display: block; width: 15px; height: 15px; background-repeat: no-repeat; background-position: center; background-image: url(/images/site/map/ico_lf_arrow.png);}
.link_forest.multi .lf_wrap .ico{background-image: url(/images/site/map/ico_lf_multi.png);}

.mo_multi_btn{display: none; position: absolute; bottom: 20px; /*margin-bottom: calc(env(safe-area-inset-bottom) + 15px);*/ left: 50%; transform: translateX(-50%); width: 100%; max-width: 360px; padding: 12px 0; text-align: center; color: #fff; font-size: 1.6rem; border-radius: 10px; background: var(--green); font-weight: 600;}


/*=========== 미디어쿼리 ===========*/

@media screen and (max-width: 1540px){
  #header .kofpi_logo {
    display: none;
  }

  #header .left {
    gap: 20px;
  }

  #header .menu ul {
    gap: 10px;
  }

  #header .menu ul li a {
    font-size: 1.6rem;
    padding: 10px 10px 10px 30px;
  }

  #header .menu ul li a::after {
    width: 15px;
    height: 15px;
    left: 10px;
    background-size: contain;
  }

  #header .mo_top {
    display: flex;
    align-items: center;
  }
  }
  
  @media screen and (min-width: 1200px) {
  .m_show {display: none;}
  }
  
  @media screen and (max-width: 1200px) {
  .desktopShow {
    display: none;
  }

  #header .menu {
    display: none;
  }

  #header .right {
    display: none;
  }

  .mo_menu {
    display: block;
  }

  .popup.t2 {
    width: calc(100% - 110px);
  }

  #multi_link_forest {
    display: none;
  }

  .bt_wrap {
    display: none;
  }
  

  .analyze_pop .info_box{
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
  }

  .analyze_pop .info_box .box_wrap{
      border: 1px solid #D9D9D9;
  }
  
   /*.mo_multi_btn{display: block;}*/
   /*.address_txt{bottom: 80px;}*/

  }
  
  @media screen and (max-width: 900px) {
  .popup.t1 {
    max-width: 100%;
    height: calc(100% - 60px);
    top: 60px;
    left: 0;

    border-radius: 0;
    border-top: 1px solid #EFEFEF;
  }

  #search_address,
  #bookmark_pop,
  #my_mnt_result {
    height: calc(100% - 60px);
  }

  #bookmark_pop .pop_body,
  #search_address .pop_body,
  #my_mnt_result .pop_body {
    background: #fff;
  }

  .popup.t3 {
    max-width: 100%;
    height: calc(100% - 60px);
    top: 60px;
    left: 0;
    border-radius: 0;
    border-top: 1px solid #EFEFEF;
  }

  .popup.t3 .pop_close_btn {
    display: block;
  }
  
   .tb_acco .acco_body .info_item{line-height: 2.5;}
    .tb_acco .link_btn{
        position: static;
        float: right;
        transform: unset;
        padding: 5px 8px;
        margin-right: 5px;
    }
    .tb_acco .link_btn::after{clear: both;}
    .tb_acco .acco_head a{font-size: 1.2rem;}

  }

  @media screen and (max-width: 830px) {
    .analyze_pop .pop_head {
      flex-direction: column;
      height: auto;
      align-items: baseline;
      padding-right: 0;
    }

    .analyze_pop .az_inner_pop .pop_head {
      flex-direction: row;
      padding: 20px;
    }

    .analyze_pop .pop_head .util {
      margin-left: auto;
      margin-right: 58px; 
      padding: 10px;
    }
	
    .analyze_pop.multi .pop_head .lf_multi_tabs {
      order: 2;
      height: 42px;
      overflow-x: auto;
    }
  }

  @media screen and (max-width: 768px) {
    .analyze_pop .txt_cont {
      padding: 20px;
    }

    .analyze_pop .txt_cont .cont.t1 {
      row-gap: 20px;
      column-gap: 10px;
      justify-content: unset;
    }

    .analyze_pop .txt_cont .cont li .tit {
      font-size: 1.6rem;
    }

    .analyze_pop .txt_cont .cont.t1 li .tit {
      white-space: nowrap;
    }

    .analyze_pop .txt_cont .cont.t1 li {
      width: calc(33.3333% - 10px);
      gap: 10px;
    }

    .analyze_pop .txt_cont .cont .box {
      width: 100%;

      min-width: unset;
      padding: 8px 10px;
      text-align: left;
    }

    .analyze_pop .txt_cont .cont .desc {
      flex: 1;
    }

    .analyze_pop .txt_cont .cont.t2 li {
      flex-direction: column;
    }

    .analyze_pop .txt_cont .cont.t2 .tit::after {
      display: none;
    }

    .analyze_pop .txt_cont .cont.t2 .desc {
      width: 100%;
      padding-left: 0;
      margin-top: 12px;
    }

    .analyze_pop .txt_cont .cont_tit {
      padding-top: 0;
    }

    .az_inner_pop {
      width: calc(100% - 60px);
    }
    
    .ol-zoom{
    	top: 340px;
    }
    .ol-touch .ol-zoomslider,
    .ol-zoomslider{
    	top: 398px
    }
    .analyze_pop .pop_head .util .close{}
    .ol-zoom{height: auto; background: transparent; border: 0; right: 20px}
    .ol-zoomslider{display: none;}
    .ol-zoom .ol-zoom-out{margin-top: 0;}
    .ol-control button{height: 48px; border: 1px solid #D8DADE;}
    .ol-zoom .ol-zoom-in{border-radius: 5px 5px 0 0; border-bottom: 0;;}
    .ol-zoom .ol-zoom-out{border-radius: 0 0 5px 5px;}
    .ol-touch .ol-control button{font-size: 20px;}
     .ol-control{border: 0;}

     .right_btn_wrap .btn_wrap{width: 48px;}
  }
  
  @media screen and (min-width: 768px) {
  	.btn.location{display: none;}
   }

  @media screen and (max-width: 640px) {
    .m_hide {
      display: none;
    }

    #header {
      height: 96px;
      padding: 12px 16px;
    }

    #container {
      height: calc(100dvh - 96px);
    }

    .map {
      margin-top: 96px;
    }

    #header .logo {
      width: 90px;
      height: 24px;
      background-size: contain;
    }

    #header .left {
      width: 100%;
      height: 100%;
      flex-direction: column;
      gap: unset;
      justify-content: space-between;
      align-items: baseline;
    }

    #header .search_wrap {
      width: 100%;
      height: 36px;
      flex: unset;
    }

    #header .menu_bar {
      top: 24px;
    }

    .top_wrap {
      flex-direction: column;
      align-items: end;
      gap: 8px;
      top: 10px;
      right: 10px;
    }

    .top_wrap>.btn {
      position: relative;
      width: 40px;
      height: 40px;
      text-align: center;
      background: #fff;
      border: 1px solid #D8DADE;
      white-space: nowrap;
    }

    .top_wrap>.btn span {
      padding: 0;
      background:
        transparent;
      color: #454545;
      font-size: .8rem;
      padding-top: 26px;
    }

    .top_wrap>.btn::after {
      content: '';
      position: absolute;
      top: 4px;
      left: 50%;
      transform: translateX(-50%);
      width: 20px;
      height: 20px;
      background-repeat: no-repeat;
    }

    .top_wrap .map_cadastral {
      order: 3;
    }

    .top_wrap .map_cadastral.on {
      background: #21396C;
    }

    .top_wrap .map_cadastral::after {
      background-image: url(/images/site/map/ico_cadastral_map.svg);
    }

    .top_wrap .map_cadastral.on::after {
      background-image: url(/images/site/map/ico_cadastral_map_on.svg);
    }

    .top_wrap .map_list::after {
      background-image: url(/images/site/map/ico_map_list.svg);
    }

    .top_wrap .map_list.on {
      background: var(--green);
    }

    .top_wrap .map_list.on::after {
      background-image: url(/images/site/map/ico_map_list_on.svg);
    }

    .top_wrap .map_cadastral.on span,
    .top_wrap .map_list.on span {
      background: transparent;
    }

    .top_wrap .toggle_btn_wrap .btn {
      font-size: 1.4rem;
    }
    
    .right_btn_wrap .btn_wrap{width: 40px;}
    .right_btn_wrap .btn{
      width: 40px;
      height: 40px; 
      font-size: .9rem;
    }
    .right_btn_wrap .btn .ico{
      width: 16px;
      height: 16px;
    }
    .right_btn_wrap .location{background-size: 60%;}

    .map_list_wrap {
      top: -115px;
      right: 65px;
      padding:
        0;
      width: 186px;
    }

    .map_list_wrap .top {
      padding: 8px 10px;
    }

    .map_list_wrap .top strong {
      font-size: 1.2rem;
      padding-right: 20px;
    }

    .map_list_wrap .top strong::after {
      width: 12px;
      height: 12px;
    }

    .map_list_wrap .ml_cont {
      padding: 12px;
    }

    .map_list_wrap .map_list.dep1 .more_btn {
      width: 14px;
      height: 14px;
    }

    .map_list_wrap .map_list.dep1 .more_btn::before {
      width: 8px;
      height: 1px;
    }

    .map_list_wrap .map_list.dep1 .more_btn::after {
      height: 8px;
      width: 1px;
    }

    .right_wrap {
      top: 145px;
      right: 10px;
    }

    .checkmark {
      width: 14px;
      height: 14px;
    }

    .map_list_wrap .chk {
      padding-left: 18px;
      font-size: 1.1rem;
    }

    .map_list_wrap .ui-slider {
      height: 0.8rem;
    }

    .map_list_wrap .ui-slider-horizontal .ui-slider-handle {
      top: -2px;
      width: 12px;
      height: 12px;
    }

    .map_list_wrap .map_list.dep2 {
      margin-top: 0;
    }

    .map_list_wrap .map_list.dep2 li {
      font-size: 1rem;
    }

    .map_list_wrap .map_list.dep2 .co_box {
      width: 10px;
      height: 10px;
      margin-right: 6px;
    }

    .popup.t2 {
      top: 116px;
      left: 8px;
      right: 8px;
      width: calc(100% - 16px)
    }

    .popup.t2 .pop_head {
      padding: 5px 10px;
    }

    #slope_pop .pop_head strong {
      padding-left: 20px;
      font-size: 1.4rem;
    }

    .popup.t2 .pop_head .pop_close_btn {
      width: 1.5rem;
      height: 1.5rem;
      background-size: 80%;
    }

    #slope_pop .pop_body {
      padding: 15px;
    }

    .popup.t1,
    .popup.t3 {
      top: 96px;
      height: calc(100% - 96px);
    }

    #search_address,
    #bookmark_pop,
    #my_mnt_result {
      height: calc(100% - 96px);
    }

    .popup.t1 .pop_head strong {
      font-size: 1.6rem;
    }

    .popup.t1 .pop_head .pop_close_btn {
      width: 18px;
      height: 18px;
      background-size: contain;
    }


    .analyze_pop .img_wrap .tit {
      height: 20px;
    }

    .analyze_pop .img_wrap .tit p {
      font-size: 1rem;
      line-height: 20px;
    }

    .analyze_pop .tab_container .tabs li a {
      font-size: 1.6rem;
    }

    .analyze_pop .swiper-slide {
      width: auto;
    }

    .analyze_pop .swiper-slide a {
      font-size: 1.4rem;
      padding: 0 10px;
    }

    .analyze_pop .in_tabs a {
      font-size: 1.4rem;
    }

    .analyze_pop .sl_tab_cont table th,
    .analyze_pop .sl_tab_cont table td {
      font-size: 1.2rem;
    }

    .analyze_pop .sl_tab_cont table .tb_btn {
      font-size: 1.2rem;
    }

    .analyze_pop .sl_tab_cont table th {
      height: 36px;
    }

    .analyze_pop .sl_tab_cont table td {
      padding: 8px 0;
    }

    .analyze_pop .sl_tab_cont table .tb_btn {
      padding: 3px 10px;
      white-space: nowrap;
    }

    .analyze_pop .sl_tab_cont .source span {
      font-size: 1rem;
      padding: 2px 2px 4px 16px;
      background-size: 14px 16px;
      line-height: 1.2;
    }

    .analyze_pop .sl_tab_cont .txt_wrap p {
      font-size: 1.2rem;
    }

    .mw960 {
      min-width: 960px;
    }

    .analyze_pop .txt_cont .item {
      padding: 24px 0;
      margin-bottom: 0;
    }

    .analyze_pop .txt_cont .cont_tit {
      font-size: 1.7rem;
      padding-left: 12px;
    }

    .analyze_pop .txt_cont .cont_tit::before {
      width: 4px;
      height: 12px;
      top: 10px;
    }

    .analyze_pop .txt_cont .cont_tit .info_btn {
      padding: 4px 20px;
      font-size: 1.3rem;
    }

    .analyze_pop .tb_wrap table th,
    .analyze_pop .tb_wrap table td {
      font-size: 1.2rem;
      padding: 8px 2px;
    }

    .analyze_pop .tb_info_txt strong {
      font-size: 1.3rem;
    }

    .analyze_pop .tb_info_txt .txt p {
      font-size: 1.4rem;
      padding-bottom: 10px;
    }

    .analyze_pop .txt_cont .cont {
      margin-top: 12px;
    }

    .analyze_pop .txt_cont .cont.t1 li {
      width: calc(50% - 10px);
    }

    .analyze_pop .txt_cont .cont li .tit {
      font-size: 1.5rem;
    }

    .analyze_pop .txt_cont .cont .box {
      padding: 5px;
      font-size: 1.5rem;
    }

    .analyze_pop .info_tb th,
    .analyze_pop .info_tb td {
      font-size: 1.4rem;
    }

    .analyze_pop .az_inner_pop .pop_head {
      padding: 10px 15px;
    }

    .az_inner_pop .pop_head strong {
      font-size: 1.6rem;
    }

    .az_inner_pop .pop_head .close_btn {
      width: 15px;
      height: 15px;
      background-size: contain;
    }

    .az_inner_pop .pop_body .cont {
      margin-bottom: 20px;
    }

    .az_inner_pop .pop_body .cont strong,
    .az_inner_pop .pop_body .cont ul li {
      font-size: 1.4rem;
    }

    .az_inner_pop .pop_body .cont ul li {
      margin-bottom: 8px;
    }

    .az_inner_pop .pop_body .cont strong {
      padding-bottom: 10px;
    }

    .az_inner_pop .pop_body .cont ul li::after {
      top: 7px;
    }

    .analyze_pop .pop_head .lf_multi_tabs li a {
      font-size: 1.1rem;
      padding: 0 8px;
    }

    .address_txt {
      font-size: 1.2rem;
      padding: 8px 14px 6px 14px;
      
    }
    
    .ol-zoom{
      right: 10px;
    	top: 363px;
    }
    .ol-touch .ol-zoomslider,
    .ol-zoomslider{
    	top: 492px
    }

    .analyze_pop .info_box{
      width: 100%;

    }
    .analyze_pop .info_box .box_wrap{
        width: calc(100% - 40px);
        margin: 0 auto;
    }
    .analyze_pop .tb_wrap table th .info_key_btn{
        width: 12px;
        height: 12px;
        background-size: contain;
    }
    .analyze_pop .info_box .tit{
        font-size: 1.4rem;
        background-size: 1.6rem;
        padding-left: 20px;
    }
    .analyze_pop .info_box .desc{
        font-size: 1.4rem;
    }
     .mo_multi_btn{
        font-size: 1.4rem;
        width: calc(100% - 40px);
        max-width: 200px;
    }
    .ol-zoom{width: 40px;}
    .ol-control button{height: 40px;}
}

/* 균형발전사업 팝업 스타일 */
.rbd-project-popup {
    position: relative;
}

.rbd-popup-content {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    padding: 12px 16px;
    min-width: 180px;
    max-width: 280px;
}

.rbd-popup-content::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 8px solid #fff;
}

.rbd-popup-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 10px;
}

.rbd-popup-title {
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin: 0;
    line-height: 1.4;
    word-break: keep-all;
    flex: 1;
    padding-right: 8px;
}

.rbd-popup-close {
    background: none;
    border: none;
    font-size: 20px;
    color: #999;
    cursor: pointer;
    padding: 0;
    line-height: 1;
    flex-shrink: 0;
}

.rbd-popup-close:hover {
    color: #333;
}

.rbd-popup-link {
    display: inline-block;
    background: #FF5722;
    color: #fff;
    padding: 8px 16px;
    border-radius: 4px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    transition: background 0.2s;
}

.rbd-popup-link:hover {
    background: #E64A19;
    color: #fff;
}

.rbd-popup-nourl {
    color: #999;
    font-size: 13px;
    margin: 0;
}

.rbd-popup-address {
    color: #666;
    font-size: 12px;
    margin: 0 0 10px 0;
    line-height: 1.4;
    word-break: keep-all;
}
.rbd-popup-close {height: 14px; display: flex; align-items: center; justify-content: center;}
.rbd-popup-content {padding: 12px;}
.rbd-popup-address {margin-bottom: 0;}
.rbd-popup-link {margin-top: 10px;}
/* 균형발전사업 팝업 스타일 END */

/* 레이어 제어 패널 스타일 */
/* 레이어 토글 버튼 - 초기화/반경/면적/거리 버튼 위에 배치 */
.layer-toggle-btn {
    position: absolute;
    top: calc(26% - 105px);  /* right_btn_wrap(top:26%) 위에 배치, 간격 포함 */
    right: 30px;
    width: 51px;
    height: 49px;
    background: #fff;
    border-radius: 5px;
    box-shadow: none;
    border: 1px solid #606060;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
    transition: background 0.2s;
}
.layer-toggle-btn:hover {
    background: #f5f5f5;
}
.layer-toggle-btn.active {
    background: #0940A1;
}
.layer-toggle-btn.active svg {
    fill: #fff;
}
.layer-toggle-btn svg {
    width: 22px;
    height: 22px;
    fill: #333;
}

/* 레이어 패널 */
.layer-panel {
    position: absolute;
    top: calc(10%); /*calc(26% - 105px);*/
    right: 90px;
    width: 265px;
    max-height: calc(100% - 26% + 70px - 360px);
    background: rgba(255, 255, 255, 0.98);
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    display: none;
    flex-direction: column;
    z-index: 99;
    overflow: hidden;
}
.layer-panel.active {
    display: flex;
}

/* 패널 헤더 */
.panel-header {
    padding: 10px 16px;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fafafa;
    border-radius: 8px 8px 0 0;
}
.panel-header h3 {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: #333;
}
.panel-close-btn {
    background: none;
    border: none;
    font-size: 22px;
    cursor: pointer;
    color: #999;
    line-height: 1;
    padding: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.panel-close-btn:hover {
    color: #333;
}

/* 패널 바디 */
.panel-body {
    padding: 4px 0;
    overflow-y: auto;
    flex: 1;
}

/* 레이어 아이템 */
.layer-item {
    padding: 3px 16px;
    display: flex;
    align-items: center;
    font-size: 14px;
    color: #333;
    cursor: pointer;
    user-select: none;
    transition: background 0.15s;
}
.layer-item:hover {
    background: #f0f7ff;
}
.layer-item label {
    cursor: pointer;
    flex: 1;
    margin: 0;
}

/* 체크박스 스타일 */
.layer-checkbox {
    width: 18px;
    height: 18px;
    margin-right: 10px;
    cursor: pointer;
    accent-color: #0066ff;
}

/* 그룹 헤더 */
.group-header {
    font-weight: 600;
}
.toggle-arrow {
    margin-right: 8px;
    transition: transform 0.25s ease;
    font-size: 11px;
    color: #666;
    display: inline-block;
    width: 12px;
}
.group-header.expanded .toggle-arrow {
    transform: rotate(90deg);
}

/* 그룹 컨텐츠 */
.group-content {
    display: none;
    background: #fafafa;
    padding: 4px 0;
}
.group-content.show {
    display: block;
}

/* 자식 아이템 */
.child-item {
    padding-left: 52px !important;
    font-size: 13px;
    color: #555;
    font-weight: 400;
}

/* 구분선 */
.layer-divider {
    height: 1px;
    background: #eee;
    margin: 6px 16px;
}

/* 설정 버튼 (톱니바퀴) */
.layer-settings-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    margin-left: auto;
    opacity: 0.5;
    transition: opacity 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}
.layer-settings-btn:hover {
    opacity: 1;
}
.layer-settings-btn svg {
    fill: #666;
}

/* 레이어 설정 팝업 (투명도 조절용) */
.layer-settings-popup {
    position: absolute;
    top: calc(26% - 70px);
    right: 375px;
    width: 250px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.2);
    display: none;
    z-index: 101;
    overflow: hidden;
}
.layer-settings-popup.active {
    display: block;
}
.settings-header {
    padding: 10px 14px;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.settings-header h4 {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    color: #333;
}
.settings-close-btn {
    background: none;
    border: none;
    font-size: 18px;
    cursor: pointer;
    color: #999;
    line-height: 1;
}
.settings-close-btn:hover {
    color: #333;
}
.settings-body {
    padding: 14px;
}
.settings-item {
    display: flex;
    align-items: center;
    gap: 10px;
}
.settings-item label {
    font-size: 13px;
    color: #555;
    white-space: nowrap;
}
.settings-item input[type="range"] {
    flex: 1;
    cursor: pointer;
}
.settings-item span {
    font-size: 12px;
    color: #666;
    min-width: 40px;
    text-align: right;
}
/* 레이어 제어 패널 스타일 END */

/* 인구 정보 버튼 스타일 */
.chip-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 40px;
    border-bottom: 1px solid #f0f0f0;
}
.chip-row:last-child {
    border-bottom: none;
}
.chip-label {
    font-size: 12px;
    color: #555;
    font-weight: 600;
    min-width: 55px;
    flex-shrink: 0;
}
.chip-group {
    display: flex;
    gap: 4px;
}
.chip-btn {
    border: 1px solid #ddd;
    background: #fff;
    color: #666;
    font-size: 11px;
    font-family: 'Pretendard', sans-serif;
    font-weight: 500;
    padding: 5px 7px;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s;
}
.chip-btn:hover {
    background: #f5f5f5;
    border-color: #bbb;
    color: #333;
}
.chip-btn.active {
    background: #0940A1;
    border-color: #0940A1;
    color: #fff;
    font-weight: 700;
    box-shadow: 0 2px 4px rgba(9, 64, 161, 0.3);
}
/* 인구 정보 버튼 스타일 END */

/* 범례 박스 스타일 */
.legend-box {
    position: absolute;
    bottom: 46px;
    right: 90px;
    width: 265px;
    max-height: 387px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    display: none;
    z-index: 90;
    overflow: hidden;
}
.legend-box.active {
    display: block;
}
.legend-header {
    padding: 8px 12px;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: move;
    user-select: none;
}
.legend-box.dragging {
    opacity: 0.9;
    box-shadow: 0 4px 16px rgba(0,0,0,0.25);
}
.legend-header h4 {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    color: #333;
}
.legend-close-btn {
    background: none;
    border: none;
    font-size: 18px;
    cursor: pointer;
    color: #999;
    line-height: 1;
    padding: 0;
}
.legend-close-btn:hover {
    color: #333;
}
.legend-select-wrap {
    padding: 8px 12px;
    border-bottom: 1px solid #eee;
}
.legend-select {
    width: 100%;
    padding: 6px 28px 6px 8px;
    font-size: 13px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") no-repeat right 6px center;
    background-size: 16px;
    cursor: pointer;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.legend-select:focus {
    border-color: #0066ff;
}
.legend-body {
    padding: 12px;
    max-height: 248px;
    overflow-y: auto;
}
.legend-content {
    display: none;
}
.legend-content.active {
    display: block;
}
.legend-section {
    margin-bottom: 12px;
}
.legend-section:last-child {
    margin-bottom: 0;
}
.legend-subtitle {
    font-size: 12px;
    font-weight: 600;
    color: #555;
    margin: 0 0 8px 0;
    padding-bottom: 4px;
    border-bottom: 1px solid #eee;
}
.legend-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.legend-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: #333;
}
.legend-color {
    width: 16px;
    height: 16px;
    border-radius: 3px;
    border: 1px solid rgba(0,0,0,0.1);
    flex-shrink: 0;
}
/* 범례 모양 아이콘 */
.legend-shape {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    display: inline-block;
    position: relative;
}
.legend-shape.square {
    background: #666;
    transform: rotate(45deg);
    width: 12px;
    height: 12px;
    margin: 2px;
}
.legend-shape.triangle {
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 14px solid #666;
}
.legend-shape.circle {
    width: 14px;
    height: 14px;
    background: #666;
    border-radius: 50%;
    margin: 1px;
}
.legend-shape.star {
    width: 16px;
    height: 16px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/%3E%3C/svg%3E") no-repeat center center;
    background-size: contain;
}
.legend-source {
    padding: 10px 12px;
    border-top: 1px solid #eee;
    font-size: 11px;
    color: #888;
    line-height: 1.5;
    background: #fafafa;
}
.legend-notice {
    margin: 10px 0 0 0;
    padding: 8px;
    font-size: 11px;
    color: #856404;
    background: #fff8e6;
    border-radius: 4px;
    line-height: 1.4;
}
/* 범례 박스 스타일 END */

/* ======== 필지 정보 플로팅 팝업 ======== */
.parcel-info-popup {
    position: absolute;
    z-index: 1000;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.2);
    font-size: 13px;
    overflow: hidden;
    min-width: 450px;
}
.parcel-info-popup.hide {
    display: none;
}
.parcel-info-popup .popup-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 15px;
    background: #21396C;
    color: #fff;
}
.parcel-info-popup .popup-title {
    font-weight: 600;
    font-size: 14px;
}
.parcel-info-popup .popup-close {
    background: none;
    border: none;
    color: #fff;
    font-size: 20px;
    cursor: pointer;
    padding: 0;
    line-height: 1;
}
.parcel-info-popup .popup-close:hover {
    opacity: 0.8;
}
.parcel-info-popup .popup-body {
    padding: 12px;
}
.parcel-info-popup .parcel-address-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    background: #f5f7fa;
    border-radius: 6px;
    margin-bottom: 12px;
}
.parcel-info-popup .parcel-address-row .label {
    font-weight: 600;
    color: #555;
    white-space: nowrap;
}
.parcel-info-popup .parcel-address-row .value {
    color: #1a73e8;
    font-weight: 500;
}
.parcel-info-popup .parcel-section {
    margin-bottom: 10px;
}
.parcel-info-popup .parcel-section:last-child {
    margin-bottom: 0;
}
.parcel-info-popup .section-title {
    font-weight: 600;
    font-size: 13px;
    color: #333;
    padding: 6px 10px;
    background: #e8ecf0;
    border-radius: 4px 4px 0 0;
}
.parcel-info-popup .parcel-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    border: 1px solid #e0e0e0;
    border-top: none;
    table-layout: fixed;
}
.parcel-info-popup .parcel-table th {
    padding: 8px 6px;
    text-align: center;
    font-weight: 600;
    color: #555;
    background: #fafafa;
    word-break: keep-all;
    border-bottom: 1px solid #e0e0e0;
    border-right: 1px solid #e0e0e0;
}
.parcel-info-popup .parcel-table th:last-child {
    border-right: none;
}
.parcel-info-popup .parcel-table td {
    padding: 8px 6px;
    text-align: center;
    vertical-align: middle;
    color: #333;
    border-right: 1px solid #e0e0e0;
    word-break: keep-all;
}
.parcel-info-popup .parcel-table td:last-child {
    border-right: none;
}
.parcel-info-popup .parcel-table tbody tr:hover {
    background: #f8f9fa;
}
.parcel-info-popup .popup-notice {
    margin-top: 10px;
    font-size: 11px;
    color: #e74c3c;
    line-height: 1.4;
}
/* ======== 필지 정보 플로팅 팝업 END ======== */