@charset "UTF-8";
/* font */
/* flex align */
/* flex justify-content */
/* flex direction*/
/* flex row */
/* flex */
/* scrollbar mixin */
/* ======== 라이브러리 커스텀 INDEX ================

1. RangeSlider
2. DatePicker

============================================= */
/* RangeSlider =============================== */
.box-inner {
  padding: 4px 0;
}

.middle {
  position: relative;
  width: 183px;
  height: 32px;
}
.middle .markers {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 183px;
  margin-top: 8px;
}
.middle .markers option {
  font-size: 1.3rem;
  color: #B1B8BE;
}

.popover {
  display: flex;
  justify-content: center;
  width: 12px;
}
.popover .value {
  border: none;
  background: transparent;
  font-size: 1.3rem;
  color: #B1B8BE;
  margin-top: 16px;
  width: 30px;
}

.slider {
  position: relative;
  z-index: 1;
  height: 4px;
}

.slider > .track {
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  border-radius: 5px;
  background-color: #33363D;
}

.slider > .range {
  position: absolute;
  z-index: 2;
  left: 25%;
  right: 25%;
  top: 0;
  bottom: 0;
  border-radius: 5px;
  background-color: var(--krds-color-light-primary-40);
}

.slider > .thumb {
  position: absolute;
  z-index: 3;
  width: 12px;
  height: 12px;
  background-color: var(--krds-color-light-primary-40);
  border-radius: 50%;
}
.slider > .thumb::before {
  content: "";
  width: 4px;
  height: 4px;
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  top: 4px;
  left: 4px;
  box-shadow: var(--krds-light-color-alpha-shadow2);
}

.slider > .thumb.left {
  left: 25%;
  transform: translate(0px, -4px);
}

.slider > .thumb.right {
  right: 25%;
  transform: translate(0px, -4px);
}

input[type=range] {
  position: absolute;
  /* opacity로 가린 것을 이벤트도 비활성화하기 위해 */
  pointer-events: none;
  -webkit-appearance: none;
  z-index: 2;
  height: 10px;
  width: 100%;
  opacity: 0;
}

input[type=range]::-webkit-slider-thumb {
  /* 겹쳐진 두 thumb를 모두 활성화 */
  pointer-events: all;
  width: 30px;
  height: 30px;
  border-radius: 0;
  border: 0 none;
  background-color: red;
  cursor: pointer;
  /* appearance를 해야 위의 스타일들을 볼 수 있음 */
  -webkit-appearance: none;
}

/* DatePicker =============================== */
.ui-widget-content {
  border: unset;
}

.ui-widget.ui-widget-content {
  border: none;
  background-color: var(--krds-color-light-gray-80);
  border-radius: var(--krds-radius-large2);
}

.ui-widget-header {
  border: unset;
  background-color: unset;
}

.ui-datepicker {
  font-family: var(--krds-font-family-base);
  padding-top: 1.6rem;
  padding-inline: 0;
  width: 304px;
  z-index: 100 !important;
}

.ui-datepicker-title select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: none;
  border: none;
  outline: none;
  box-shadow: none;
}

.ui-datepicker select.ui-datepicker-month {
  width: fit-content;
  padding-right: 20px;
}

.ui-datepicker select.ui-datepicker-year {
  width: fit-content;
  padding-right: 28px;
  background-position: center right 9px;
}

.ui-datepicker select {
  background: url("../images/common/ico/ico_date_select.svg") no-repeat;
  background-position: center right 2px;
}

.ui-widget-header .ui-icon.ui-icon-circle-triangle-w {
  background: url("../images/common/ico/ico_date_prev.svg") no-repeat center;
}

.ui-widget-header .ui-icon.ui-icon-circle-triangle-e {
  background: url("../images/common/ico/ico_date_next.svg") no-repeat center;
}

.ui-datepicker .ui-icon {
  width: 32px;
  height: 32px;
  left: unset;
  top: unset;
}

.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
  position: relative;
  left: unset;
  margin-left: unset;
  top: unset;
  margin-top: unset;
}

.ui-datepicker .ui-datepicker-title select {
  font-size: var(--krds-pc-font-size-heading-xsmall);
  color: #fff;
}

.ui-datepicker table {
  padding: 0 2.4rem 1.6rem 2.4rem;
}

.ui-datepicker table th {
  font-size: var(--krds-pc-font-size-label-small);
  font-weight: 400;
  color: #fff;
}

.ui-datepicker table td {
  font-size: var(--krds-pc-font-size-label-medium);
  font-weight: 400;
  color: #fff;
  border-radius: 100%;
}

.ui-datepicker table td a {
  text-align: center;
  border-radius: 100%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button {
  border: unset;
  background-color: unset;
  color: #fff;
  font-size: 14px;
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
  background-color: var(--krds-color-light-primary-40);
}

.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus,
.ui-button:hover,
.ui-button:focus {
  background-color: var(--krds-color-light-primary-40);
  border-radius: 100%;
}

.ui-datepicker table td.ui-datepicker-today a {
  background-color: transparent;
}
.ui-datepicker table td.ui-datepicker-today a:hover {
  background-color: var(--krds-color-light-primary-40);
}

.ui-datepicker table td.ui-datepicker-today a {
  color: #fff;
}

.ui-state-hover {
  background-color: var(--krds-color-light-primary-40);
}

.ui-datepicker table td.ui-datepicker-today a {
  border-radius: 100%;
  color: #fff;
  position: relative;
}
.ui-datepicker table td.ui-datepicker-today a::after {
  content: "";
  position: absolute;
  bottom: 3px;
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  height: 4px;
  border-radius: 100%;
  background-color: var(--krds-light-color-element-point);
}

.ui-datepicker .ui-datepicker-buttonpane {
  background-color: #000;
  height: 54px;
  border-radius: 0 0 12px 12px;
  padding-inline: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.ui-datepicker .ui-datepicker-buttonpane button {
  background-color: #000;
  border: 1px solid #fff;
  font-size: var(--krds-pc-font-size-label-small);
  border-radius: var(--krds-radius-medium1);
  color: #fff;
  font-family: var(--krds-font-family-base);
  font-weight: 400;
  width: 60px;
  height: 32px;
}

.ui-datepicker .ui-datepicker-buttonpane button[data-handler=today] {
  background-color: unset;
  border: unset;
  color: #fff;
  width: unset;
  height: 40px;
}

.ui-datepicker-next.ui-corner-all, .ui-datepicker-prev.ui-corner-all {
  cursor: pointer;
}

.ui-datepicker-next.ui-corner-all.ui-state-hover.ui-datepicker-next-hover, .ui-datepicker-prev.ui-corner-all.ui-state-hover.ui-datepicker-prev-hover {
  background-color: transparent;
  border: unset;
}

.ui-datepicker .ui-datepicker-prev-hover {
  left: 2px;
}

.ui-datepicker .ui-datepicker-next-hover {
  right: 2px;
}

.ui-datepicker .ui-datepicker-prev-hover,
.ui-datepicker .ui-datepicker-next-hover {
  top: 2px;
}

/* ====== COMPONENT INDEX =============================

※ 스타일 수정 시 아래 인덱스 항목명을 검색하여 해당 섹션으로 이동.

  공통 레이아웃 영역
  HEADER 영역
  FOOTER 영역
  Map Layout (메인지도 레이아웃)
  MAP TOOLBAR (우측 툴 패널)
  Layer Panel (레이어 패널)
  Search Layer Panel (검색 레이어 패널)
  Modal & Alert System (모달, 알럿 팝업)
  Map Items (마커, 툴팁, 측정결과)
  Component UI (버튼/테이블/토글)

====================================================== */
/* === Common (공통 레이아웃 영역)  ============== */
#wrap {
  overflow-y: hidden;
}

/*좌측 사이드바*/
.map_sidebar {
  position: absolute;
  top: 0px;
  bottom: 0px;
  z-index: 5;
  height: 100%;
  padding: 10px 0;
  max-width: 340px;
  width: 100%;
  background-color: var(--krds-light-color-background-dim2);
  transform: translateX(-100%);
  transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  backdrop-filter: blur(4px);
}
.map_sidebar:has(.title-box) {
  padding-bottom: 0;
}
.map_sidebar .map_sidebar_toggle {
  position: absolute;
  right: -18px;
  top: 0;
  width: 18px;
  height: 46px;
  background-color: var(--krds-light-color-background-dim2);
  border-radius: 0 4px 4px 0;
}
.map_sidebar .map_sidebar_toggle::before {
  content: "";
  position: absolute;
  background: url("../images/common/ico/ico-toggle.svg") no-repeat center;
  width: 10px;
  height: 6px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-180deg);
  transition: all 0.3s;
}
.map_sidebar .mo_close {
  height: 44px;
}
.map_sidebar .mo_close .mo_sidebar_toggle {
  position: absolute;
  width: 44px;
  height: 44px;
  right: 16px;
}
.map_sidebar .mo_close .mo_sidebar_toggle .ico-side_close {
  display: inline-block;
  background: url("../images/common/ico/ico-side_close.svg") no-repeat;
  width: 44px;
  height: 44px;
}
.map_sidebar.is-open {
  transform: translateX(0%);
}
.map_sidebar.is-open .map_sidebar_toggle {
  display: block;
}
.map_sidebar.is-open .map_sidebar_toggle::before {
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 1200px) {
  .map_sidebar.is-open .map_sidebar_toggle {
    display: none;
  }
}
.map_sidebar .krds-tab-area {
  gap: 0;
  height: 100%;
}
.map_sidebar .krds-tab-area.manage {
  height: inherit;
}
.map_sidebar .krds-tab-area.manage .search_area {
  width: 100%;
}
.map_sidebar .krds-tab-area.manage .inner-manage {
  width: 100%;
  overflow-y: auto;
  padding: var(--krds-padding-5) var(--krds-padding-6);
}
.map_sidebar .tab.full {
  margin: 0 16px;
}
.map_sidebar .tab-conts-wrap {
  overflow-y: auto;
  padding-inline: 16px;
  padding-top: var(--krds-padding-5);
  padding-bottom: var(--krds-padding-5);
  height: calc(100% - 2.6rem);
}
.map_sidebar .tab.full.line.tab-swiper {
  width: calc(100% - 3.2rem) !important;
}

@media screen and (max-width: 1200px) {
  .map_sidebar {
    padding-block: 0;
    z-index: 10;
    max-width: none;
  }
  .map_sidebar .map_sidebar_toggle {
    top: 16px;
  }
  .map_sidebar .tab-conts-wrap {
    max-height: calc(100% - 8rem);
  }
  .map_sidebar .krds-table-wrap .tbl {
    min-width: unset;
  }
  .map_sidebar .krds-table-wrap {
    overflow-x: unset;
    width: unset;
  }
}
/* === HEADER 영역  ================== */
.header {
  position: relative;
  height: 48px;
  width: 100%;
  z-index: 600;
}
.header .header_inner {
  position: relative;
  display: flex;
  align-items: center;
  background-color: var(--krds-light-color-element-primary);
  padding: 8px 16px;
  gap: 2.4rem;
  z-index: 101;
  height: 100%;
}
.header .header_inner .header_top {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
}
.header .header_inner .header_logo {
  display: flex;
  gap: 2.4rem;
}
.header .header_inner .header_logo .logo-link .logo {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  gap: 0 var(--krds-padding-3);
  color: var(--krds-light-color-text-basic-inverse);
}
.header .header_inner .header_logo .logo-link .logo > img {
  flex-shrink: 0;
  width: 10.6rem;
}
.header .header_inner .header_logo .logo-link .logo > span {
  font-size: var(--krds-pc-font-size-heading-xsmall);
  flex-shrink: 0;
}
.header .header_inner .pc {
  margin-left: auto;
}
.header .header_inner .map_toggle {
  margin-left: 2.4rem;
}
.header .header_inner .map_toggle .krds-form-toggle-switch + .krds-form-toggle-switch {
  margin-left: 0.4rem;
}
.header .header_utils {
  display: flex;
  gap: 2.4rem;
}
.header .filter_region {
  display: flex;
  gap: 8px;
}
.header .filter_region ul {
  padding-inline: 16px;
  width: 245px;
  display: flex;
  background-color: #fff;
  border-radius: var(--krds-radius-medium1);
  align-items: center;
  gap: 36px;
}
.header .filter_region ul li {
  font-size: var(--krds-pc-font-size-body-xsmall);
  position: relative;
  color: var(--krds-light-color-text-subtle);
}
.header .filter_region ul li:not(:last-child)::before {
  content: "";
  position: absolute;
  right: -24px;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background: url("../images/common/ico/ico_step.svg");
}
.header .filter_region ul li:last-child {
  color: var(--krds-light-color-text-basic);
  font-weight: 700;
}
.header select {
  border: unset;
  font-size: var(--krds-pc-font-size-body-xsmall);
}
.header input {
  border: unset;
  font-size: var(--krds-pc-font-size-body-xsmall);
}
.header input::placeholder {
  font-size: var(--krds-pc-font-size-body-xsmall);
  color: var(--krds-light-color-text-disabled);
}
.header .daily-weather {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  gap: var(--krds-gap-3);
}
.header .daily-weather li {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  gap: var(--krds-gap-1);
}
.header .daily-weather li.daily-minmax {
  gap: var(--krds-gap-3);
}
.header .daily-weather-am {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  font-size: 1.2rem;
  color: var(--krds-light-color-text-basic-inverse);
}
.header .daily-weather-am span:first-child {
  margin-right: 0.4rem;
}
.header .daily-weather-pm {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  font-size: 1.2rem;
  color: var(--krds-light-color-text-basic-inverse);
}
.header .daily-weather-pm span:first-child {
  margin-right: 0.4rem;
}
.header .daily-minmax div:first-child strong {
  font-size: var(--krds-pc-font-size-body-xsmall);
  font-weight: bold;
  color: var(--krds-color-light-information-30);
}
.header .daily-minmax div:last-child strong {
  font-size: var(--krds-pc-font-size-body-xsmall);
  font-weight: bold;
  color: var(--krds-color-light-red);
}

/* 헤더 검색 영역 */
.header_search {
  display: flex;
  gap: 16px;
  align-items: center;
  max-width: 340px;
  width: 100%;
  background-color: #fff;
  padding-inline: 16px;
  border-radius: var(--krds-radius-medium1);
  height: 32px;
}
.header_search .search_type select {
  background: url(../images/common/ico/ico-select_arrow.svg) right top 1px no-repeat;
  width: 80px;
}
.header_search .search_input {
  width: 100%;
}
.header_search .search_input input {
  width: 100%;
}
.header_search .svg-icon {
  width: 20px;
  height: 20px;
}

/* 모바일 헤더 검색 영역 */
.mo_search {
  display: none;
}

/*배경 딤처리*/
.dim {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  visibility: hidden;
  z-index: -1;
  background-color: rgba(0, 0, 0, 0.6);
  transition: opacity 0.3s ease;
}
.dim.in {
  display: block;
  visibility: visible;
  z-index: -1;
  opacity: 1;
}

/*상단 도로속성/굴착정보 토글 박스*/
.map_toggle {
  background-color: var(--krds-color-light-primary-70);
  border-radius: var(--krds-radius-medium1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 4px 12px;
  gap: 1.2rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  z-index: 5;
}
.map_toggle.on {
  left: 366px;
}

@media screen and (max-width: 1400px) {
  .weather {
    display: none;
  }
}
@media screen and (max-width: 1200px) {
  .header {
    height: 96px;
    z-index: 610;
  }
  .header .header_inner {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
    gap: 0;
    padding: var(--krds-padding-3) var(--krds-padding-6) var(--krds-padding-5);
  }
  .header .header_inner .header_top {
    width: 100%;
    padding-bottom: 0.3rem;
  }
  .header .header_inner .header_top .header_logo .logo > span {
    font-size: var(--krds-pc-font-size-body-xsmall);
  }
  .header .header_inner .weather {
    width: 100%;
    margin-left: auto;
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
  }
  .header .header_inner .weather::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    background-color: var(--krds-light-color-alpha-base10);
  }
  .header .header_inner .weather .daily-weather {
    padding: var(--krds-padding-3) 0 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-direction: row;
    height: 2.8rem;
  }
  .header .mo_header_utils {
    margin-left: auto;
  }
  .header .mo_header_utils ul li {
    width: 44px;
    height: 44px;
  }
  .header .mo_header_utils .svg-icon {
    width: 44px;
    height: 44px;
  }
  .mo_header_utils ul {
    display: flex;
  }
  .mo_header_utils ul li button {
    width: 44px;
    height: 44px;
  }
  .mo_header_utils ul li button .ico-map {
    background: url("../images/common/ico/ico-map_white.svg") no-repeat;
  }
  .mo_header_utils ul li button .ico-search_btn {
    background: url("../images/common/ico/ico-search_btn.svg") no-repeat;
  }
  .mo_search {
    width: 100%;
    height: 56px;
    position: absolute;
    bottom: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    background-color: var(--krds-color-light-primary-70);
    display: flex;
    align-items: center;
    padding: 12px 10px;
    transition: all 0.3s;
    z-index: 100;
  }
  .mo_search .header_search {
    max-width: unset;
    width: 100%;
  }
  .mo_search.on {
    bottom: -56px;
    opacity: 1;
    visibility: visible;
  }
}
/* === FOOTER 영역  ======================= */
.footer {
  height: 32px;
  background-color: var(--krds-color-light-gray-90);
  color: var(--krds-light-color-text-subtle-inverse);
  display: flex;
  align-items: center;
  z-index: 600;
}
.footer .footer-inner {
  width: 100%;
  padding: 7px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: var(--krds-pc-font-size-label-xxsmall);
}
.footer .footer-inner .gis_info {
  display: flex;
  align-items: center;
}
.footer .footer-inner .gis_info .range-select {
  margin-right: 24px;
}
.footer .footer-inner .gis_info .range-select select {
  border: 1px solid var(--krds-color-light-gray-70);
  background-color: var(--krds-color-light-gray-95);
  border-radius: var(--krds-radius-small1);
  padding: 3px 12px;
  font-size: var(--krds-pc-font-size-label-xxsmall);
  color: var(--krds-light-color-text-inverse-subtle);
  background: url(../images/common/ico/ico-footer_select.svg) right 6px center no-repeat;
  width: 120px;
  height: 24px;
}
.footer .footer-inner .gis_info .range-select select option {
  color: #000;
}
.footer .footer-inner .gis_info .update-info {
  display: flex;
  gap: 8px;
}
.footer .footer-inner .gis_info .update-info .divider {
  color: rgba(255, 255, 255, 0.25);
}

@media screen and (max-width: 1200px) {
  .footer .footer-inner .gis_info {
    display: none;
  }
}
/*하단 축척 정보 영역*/
.map_footer_info {
  position: absolute;
  bottom: 0;
  right: 0;
  max-width: 288px;
  height: 20px;
  width: 100%;
  z-index: 5;
  display: flex;
  align-items: center;
  background: var(--krds-light-color-alpha-base50);
  color: var(--krds-light-color-text-basic);
  font-size: var(--krds-pc-font-size-label-xxsmall);
  padding: 0 0.8rem;
}
.map_footer_info .coord_info {
  display: flex;
  align-items: center;
  gap: 4px;
}
.map_footer_info .coord_info .coord_item {
  line-height: 1.5;
}
.map_footer_info .scale_bar {
  display: flex;
  align-items: center;
  gap: 3px;
  margin-left: 3px;
}
.map_footer_info .scale_bar .scale_line {
  background: url(../images/common/ico/scale_line.svg) no-repeat;
  width: 52px;
  height: 5px;
}
.map_footer_info .scale_bar .scale_label {
  font-size: var(--krds-pc-font-size-label-xxsmall);
  white-space: nowrap;
}

@media screen and (max-width: 480px) {
  .map_footer_info {
    bottom: 1.2rem;
    right: 1.6rem;
  }
}
/* === Map Layout (메인지도 레이아웃) ====== */
/*배경 지도*/
.map_canvas {
  position: relative;
  width: 100%;
  height: 100%;
}

#map {
  background: url("../images/common/img/bg_map.svg") no-repeat;
  width: 100%;
  height: calc(100vh - 48px - 32px);
  background-size: cover;
}
@media screen and (max-width: 1200px) {
  #map {
    height: calc(100vh - 96px - 32px);
  }
}

/* 메인 지도 레이아웃*/
.map_layout {
  width: 100%;
  position: relative;
  height: calc(100vh - 48px - 32px);
}

@media screen and (max-width: 1200px) {
  .map_layout {
    height: calc(100vh - 96px - 32px);
  }
}
/* === MAP TOOLBAR (우측 툴 패널)========= */
.tools_wrap {
  position: absolute;
  right: 20px;
  top: 16px;
  display: flex;
  flex-direction: column;
  gap: 40px;
  z-index: 5;
}

/* button-group */
.button-group {
  width: 100%;
}
.button-group.row {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  gap: var(--krds-gap-3);
}
.button-group.row4 {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  gap: var(--krds-gap-2);
}
.button-group.grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 0.8rem;
}
.button-group.grid .gallery_item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  gap: var(--krds-gap-1);
  width: 9.6rem;
}
.button-group.grid .gallery_item button {
  width: 100%;
  height: 9.4rem;
  padding: var(--krds-padding-3);
  border-radius: var(--krds-radius-medium2);
  border: 1px solid transparent;
}
.button-group.grid .gallery_item button.gallery_btn {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  gap: 0.2rem;
}
.button-group.grid .gallery_item button.gallery_btn::before {
  content: "";
  display: inline-flex;
  width: 8rem;
  height: 6rem;
  border: 0.1rem solid #000;
  border-radius: var(--krds-radius-medium2);
}
.button-group.grid .gallery_item button.gallery_btn.basics::before {
  background-image: url("../images/common/map_image01.png");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.button-group.grid .gallery_item button.gallery_btn.night::before {
  background-image: url("../images/common/map_image02.png");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.button-group.grid .gallery_item button.gallery_btn.satellite::before {
  background-image: url("../images/common/map_image03.png");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.button-group.grid .gallery_item button.gallery_btn.blank::before {
  background-image: url("../images/common/map_image04.png");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.button-group.grid .gallery_item span {
  font-size: var(--krds-pc-font-size-body-xsmall);
  color: var(--krds-light-color-text-subtle-inverse);
  font-weight: bold;
}
.button-group.grid .gallery_item:hover button, .button-group.grid .gallery_item:active button, .button-group.grid .gallery_item.on button {
  border: 0.1rem solid var(--krds-color-light-primary-40);
  background-color: var(--krds-high-contrast-color-surface-white);
}
.button-group.grid .gallery_item:hover span, .button-group.grid .gallery_item:active span, .button-group.grid .gallery_item.on span {
  font-size: var(--krds-pc-font-size-body-xsmall);
  font-weight: bold;
  color: var(--krds-light-color-text-basic-inverse);
}
.button-group li {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  gap: var(--krds-gap-1);
  flex: 1;
}
.button-group li:hover span {
  color: var(--krds-light-color-text-basic-inverse);
}
.button-group li:hover .map_btn.dot::before {
  background-image: url("../images/common/ico/ico-dot-select.svg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.button-group li:hover .map_btn.point::before {
  background-image: url("../images/common/ico/ico-point-select.svg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.button-group li:hover .map_btn.line::before {
  background-image: url("../images/common/ico/ico-line-select.svg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.button-group li:hover .map_btn.polygon::before {
  background-image: url("../images/common/ico/ico-polygon-select.svg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.button-group li:hover .map_btn.elipse::before {
  background-image: url("../images/common/ico/ico-elipse-select.svg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.button-group li:hover .map_btn.figure::before {
  background-image: url("../images/common/ico/ico-figure-select.svg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.button-group li span {
  font-size: var(--krds-pc-font-size-body-xsmall);
  color: var(--krds-light-color-text-subtle-inverse);
  font-weight: bold;
}
.button-group .map_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  width: 4rem;
  height: 4rem;
  position: relative;
}
.button-group .map_btn.active + span {
  color: var(--krds-light-color-text-basic-inverse);
}
.button-group .map_btn.active::after {
  background-color: var(--krds-color-light-primary-50);
  border: 0.1rem solid var(--krds-color-light-primary-30);
}
.button-group .map_btn.active.dot::before {
  background-image: url("../images/common/ico/ico-dot-select.svg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.button-group .map_btn.active.point::before {
  background-image: url("../images/common/ico/ico-point-select.svg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.button-group .map_btn.active.line::before {
  background-image: url("../images/common/ico/ico-line-select.svg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.button-group .map_btn.active.polygon::before {
  background-image: url("../images/common/ico/ico-polygon-select.svg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.button-group .map_btn.active.elipse::before {
  background-image: url("../images/common/ico/ico-elipse-select.svg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.button-group .map_btn.active.figure::before {
  background-image: url("../images/common/ico/ico-figure-select.svg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.button-group .map_btn::before {
  width: 2.6rem;
  height: 2.6rem;
  content: "";
  position: absolute;
}
.button-group .map_btn::after {
  width: 4rem;
  height: 4rem;
  content: "";
  background-color: var(--krds-light-color-icon-gray);
  border-radius: var(--krds-radius-medium1);
}
.button-group .map_btn.point::before {
  background-image: url("../images/common/ico/ico-point.svg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.button-group .map_btn.dot::before {
  background-image: url("../images/common/ico/ico-dot.svg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.button-group .map_btn.line::before {
  background-image: url("../images/common/ico/ico-line.svg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.button-group .map_btn.polygon::before {
  background-image: url("../images/common/ico/ico-polygon.svg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.button-group .map_btn.elipse::before {
  background-image: url("../images/common/ico/ico-elipse.svg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.button-group .map_btn.figure::before {
  background-image: url("../images/common/ico/ico-figure.svg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

@media screen and (max-width: 1200px) {
  .tools_wrap {
    gap: 1.6rem;
    top: 16px;
  }
}
.map_btn-toggle {
  position: absolute;
  right: 4.4rem;
  top: 0;
  background-color: transparent;
}

.map_tools_list {
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: var(--krds-radius-medium1);
}
.map_tools_list li.map_tools_item {
  position: relative;
  height: 36px;
  width: 36px;
  background-color: var(--krds-light-color-background-dim3);
  border-bottom: 1px solid var(--krds-color-light-gray-70);
}
.map_tools_list li.map_tools_item:hover {
  background-color: var(--krds-light-color-element-secondary);
}
.map_tools_list li.map_tools_item:hover .map_tools_tooltip {
  right: calc(100% + 12px);
  opacity: 1;
  width: fit-content;
  visibility: visible;
  transition: all 0.4s;
  z-index: 10;
}
.map_tools_list li.map_tools_item.is-active {
  background-color: var(--krds-light-color-element-secondary);
}
.map_tools_list li.map_tools_item.is-active .map_tools_tooltip {
  display: none;
}
.map_tools_list li.map_tools_item.is-active .tool_layer {
  display: block;
  position: absolute;
  right: 4rem;
  top: 0;
  z-index: 6;
}
.map_tools_list li.map_tools_item:first-child {
  border-radius: 6px 6px 0 0;
}
.map_tools_list li.map_tools_item:last-child {
  border-radius: 0 0 6px 6px;
  border-bottom: none;
}
@media screen and (max-width: 1200px) {
  .map_tools_list li.map_tools_item.compas {
    border-radius: 6px;
  }
}
.map_tools_list li.map_tools_item .tool_layer {
  display: none;
}
.map_tools_list .map_tools_tooltip {
  position: absolute;
  border-radius: var(--krds-radius-small1);
  right: calc(100% + 6px);
  top: 50%;
  transform: translateY(-50%);
  background-color: var(--krds-light-color-alpha-inverse100);
  padding: 5px 8px;
  color: #fff;
  width: 0;
  font-size: var(--krds-pc-font-size-label-xxsmall);
  opacity: 0;
  visibility: hidden;
}
.map_tools_list .map_tools_tooltip::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 0;
  height: 0;
  border: 4px solid transparent;
  border-left-color: var(--krds-light-color-alpha-inverse100);
  border-right: 0;
  margin-top: -4px;
  margin-right: -4px;
}

.map_tools_btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
}
.map_tools_btn.on ~ .map_tools_tooltip {
  display: none;
}
.map_tools_btn.ico-2d {
  background: url(../images/common/ico/ico-2d.svg) no-repeat center;
}
.map_tools_btn.ico-reset {
  background: url(../images/common/ico/ico-reset.svg) no-repeat center;
}
.map_tools_btn.ico-check {
  background: url(../images/common/ico/ico-check.svg) no-repeat center;
}
.map_tools_btn.ico-move {
  background: url(../images/common/ico/ico-move.svg) no-repeat center;
}
.map_tools_btn.ico-gmarker {
  background: url(../images/common/ico/ico-gmarker.svg) no-repeat center;
}
.map_tools_btn.ico-extent {
  background-image: url(../images/common/ico/tool-full.svg);
  background-position: center;
  background-repeat: no-repeat;
}
.map_tools_btn.ico-share {
  background: url(../images/common/ico/ico-share.svg) no-repeat center;
}
.map_tools_btn.ico-draw {
  background: url(../images/common/ico/ico-draw.svg) no-repeat center;
}
.map_tools_btn.ico-measure {
  background: url(../images/common/ico/ico-measure.svg) no-repeat center;
}
.map_tools_btn.ico-save {
  background: url(../images/common/ico/ico-save.svg) no-repeat center;
}
.map_tools_btn.ico-print {
  background: url(../images/common/ico/ico-print.svg) no-repeat center;
}
.map_tools_btn.ico-glegend {
  background: url(../images/common/ico/ico-glegend.svg) no-repeat center;
}
.map_tools_btn.ico-layer {
  background: url(../images/common/ico/ico-layer.svg) no-repeat center;
}
.map_tools_btn.ico-compass {
  background: url(../images/common/ico/ico-compass.svg) no-repeat center;
}
.map_tools_btn.ico-zoom_in {
  background: url(../images/common/ico/ico-zoom_in.svg) no-repeat center;
}
.map_tools_btn.ico-zoom_out {
  background: url(../images/common/ico/ico-zoom_out.svg) no-repeat center;
}
.map_tools_btn.ico-3d {
  background: url(../images/common/ico/ico-3d.svg) no-repeat center;
}
.map_tools_btn.ico-gallery {
  background: url(../images/common/ico/ico-gallery.svg) no-repeat center;
}
.map_tools_btn.ico-timeSeries {
  background: url(../images/common/ico/ico-timeSeries.svg) no-repeat center;
}
.map_tools_btn.ico-division {
  background: url(../images/common/ico/ico-division.svg) no-repeat center;
}
.map_tools_btn.ico-2d3d {
  background: url("../images/common/toolbar/tool-2d3d.svg") no-repeat center;
}
.map_tools_btn.ico-3D {
  background: url("../images/common/toolbar/tool-3d-map.svg") no-repeat center;
}
.map_tools_btn.ico-check {
  background: url("../images/common/toolbar/tool-current-location.svg") no-repeat center;
}
.map_tools_btn.ico-move {
  background: url("../images/common/toolbar/tool-location-move.svg") no-repeat center;
}
.map_tools_btn.ico-gmarker {
  background: url("../images/common/toolbar/tool-current-marker.svg") no-repeat center;
}
.map_tools_btn.ico-map-feature {
  background: url("../images/common/toolbar/tool-map-feature.svg") no-repeat center;
}
.map_tools_btn.ico-extent {
  background: url("../images/common/toolbar/tool-full.svg") no-repeat center;
}
.map_tools_btn.ico-glegend {
  background: url("../images/common/toolbar/tool-legend.svg") no-repeat center;
}
.map_tools_btn.ico-gallery {
  background: url("../images/common/ico/ico-extent.svg") no-repeat center;
}

.btn-wrap {
  width: 100%;
}
.btn-wrap.full {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  gap: var(--krds-gap-3);
}
.btn-wrap.full button {
  width: 100%;
}
.btn-wrap.center {
  gap: var(--krds-gap-3);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
}

/* === Layer Panel (레이어 패널)========= */
/* 레이어 패널 */
.layer-group {
  background-color: var(--krds-color-light-gray-95);
  border: 1px solid var(--krds-color-light-gray-95);
  border-radius: var(--krds-radius-medium1);
  overflow: hidden;
  padding: 0.8rem;
}
.layer-group:has(.layer-header) {
  padding: 0 1.2rem 0;
}
.layer-group.is-expanded {
  border: unset;
  padding: 0 1.2rem 0.8rem;
}
.layer-group.is-expanded .layer-header .icon.expend-plus {
  background: url(../images/common/ico/ico-collapse_minus.svg) center no-repeat;
}
.layer-group.is-expanded .layer-header > .krds-form-check label, .layer-group.is-expanded .layer-header > .krds-form-check strong {
  color: #fff;
}
.layer-group.is-open .layer-depth2 {
  display: block;
}
.layer-group .layer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  user-select: none;
  gap: 12px;
  position: relative;
  height: 3.6rem;
}
.layer-group .layer-header .expand_btn:hover .icon {
  filter: brightness(3);
}
.layer-group .layer-header .layer-title {
  font-size: var(--krds-pc-font-size-body-small);
  font-weight: 700;
  color: var(--krds-light-color-text-basic-inverse);
}
.layer-group .layer-header > .krds-form-check {
  align-items: center;
  gap: 8px;
}
.layer-group .layer-header > .krds-form-check label, .layer-group .layer-header > .krds-form-check strong {
  font-size: var(--krds-pc-font-size-body-small);
  font-weight: 700;
  color: var(--krds-light-color-text-subtle-inverse);
}
.layer-group .legend-label {
  display: flex;
  align-items: center;
}
.layer-group .layer-depth2 {
  overflow: hidden;
  background: var(--krds-color-light-gray-80);
  padding: 8px 12px;
  border-radius: var(--krds-radius-medium1);
  display: none;
}
.layer-group .layer-depth2:has(.list-result) {
  padding: 0;
  background-color: transparent;
}
.layer-group .layer-depth2 .layer-depth2-item:not(:last-child) {
  margin-bottom: 6px;
}
.layer-group .layer-depth2 .layer-depth2-item > .krds-form-check {
  gap: 5px;
}
.layer-group .layer-depth2 .layer-depth2-item > .krds-form-check label {
  font-size: var(--krds-pc-font-size-body-xsmall);
}
.layer-group .layer-depth2 .layer-depth2-item .expand_btn {
  width: 16px;
  height: 16px;
  background-color: var(--krds-color-light-gray-95);
  border-radius: var(--krds-radius-xsmall1);
}
.layer-group .layer-depth2 .layer-depth2-item .expand_btn i {
  background-size: 12px;
}
.layer-group .layer-depth2 .layer-depth2-item .expand_btn.text-type {
  width: auto;
  height: auto;
  background-color: transparent;
  position: relative;
}
.layer-group .layer-depth2 .layer-depth2-item .expand_btn.text-type.is-active .icon {
  margin-left: 0;
}
.layer-group .layer-depth2 .layer-depth2-item .expand_btn.text-type.is-active .icon.expend-plus {
  width: 1.6rem;
  height: 1.6rem;
}
.layer-group .layer-depth2 .layer-depth2-item .expand_btn.text-type .icon {
  z-index: 1;
  background-repeat: no-repeat;
}
.layer-group .layer-depth2 .layer-depth2-item .expand_btn.text-type span {
  font-size: var(--krds-pc-font-size-body-xsmall);
  color: var(--krds-light-color-text-basic-inverse);
}
.layer-group .layer-depth2 .layer-depth2-item .expand_btn.text-type:before {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background-color: var(--krds-light-color-text-basic);
}
.layer-group .layer-depth2 .layer-depth2-item.is-expanded .icon.expend-plus {
  width: 1.6rem;
  height: 1.6rem;
  background-size: 1.2rem;
  background-image: url(../images/common/ico/ico-collapse_minus.svg);
  background-repeat: no-repeat;
  background-position: center;
}
.layer-group .layer-depth2 .layer-depth2-item.is-open .layer-depth3 {
  display: block;
}
.layer-group .layer-depth2 .layer-depth3 {
  max-height: 800px;
  overflow: hidden;
  transition: max-height 0.3s ease;
  padding: 6px 0 0px 20px;
  display: none;
}
.layer-group .layer-depth2 .layer-depth3 .layer-depth3-item {
  display: flex;
  align-items: center;
  gap: 4px;
}
.layer-group .layer-depth2 .layer-depth3 .layer-depth3-item:not(:last-child) {
  margin-bottom: 6px;
}
.layer-group .layer-depth2 .layer-depth3 .layer-depth3-item .layer-name {
  color: #fff;
  font-size: var(--krds-pc-font-size-body-xsmall);
}
.layer-group .layer-depth2 .layer-depth3 .layer-depth3-item label {
  margin-left: var(--krds-padding-2);
}
.layer-group .disabled-text {
  color: #666;
  font-size: 14px;
}
.layer-group .svg-icon {
  width: 16px;
  height: 16px;
}
.layer-group .svg-icon.ico-legend {
  background: url("../images/common/img/layer_legend.svg");
}
.layer-group .krds-form-check {
  display: flex;
  align-items: center;
}
.layer-group .krds-form-check label {
  align-items: center;
  color: #fff;
}
.layer-group .krds-form-check.medium > input[type=checkbox] ~ label:before {
  margin-top: 0;
}
.layer-group .krds-form-check.medium > input[type=checkbox] ~ label:after {
  top: 0.7rem;
}

/* layer-group 체크박스 커스텀 */
.layer-group .krds-form-check.medium > input[type=checkbox] ~ label::before {
  content: none;
}
.layer-group .krds-form-check.medium > input[type=checkbox] ~ label::after {
  content: none;
}
.layer-group input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 16px !important;
  height: 16px !important;
  border: 2px solid #888;
  border-radius: 4px;
  background-color: #fff;
  cursor: pointer;
  position: relative !important;
}
.layer-group input[type=checkbox]:checked {
  background-color: var(--krds-color-light-primary-50);
  border: 1px solid var(--krds-color-light-primary-30) !important;
}
.layer-group input[type=checkbox]:checked::after {
  content: "";
  background: url(../images/common/ico/ico_checkbox_checked_sm.svg) no-repeat;
  width: 8px;
  height: 8px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.layer-group input[type=checkbox]:disabled {
  background-color: var(--krds-color-light-gray-80);
  border: 1px solid var(--krds-color-light-gray-70) !important;
  cursor: not-allowed;
  opacity: 0.6;
}
.layer-group input[type=checkbox]:checked:disabled {
  background-color: var(--krds-color-light-gray-80);
  border: 1px solid var(--krds-color-light-gray-70) !important;
  cursor: not-allowed;
}
.layer-group input[type=checkbox]:checked:disabled::after {
  content: "";
  background: url(../images/common/ico/ico_checkbox_checked_disabled_sm.svg) no-repeat center center;
  width: 8px;
  height: 8px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.5;
}

/* === Search Layer Panel (검색 레이어 패널)========= */
/* 검색 레이어 패널 */
.search_area .search_form {
  padding: 1.2rem;
  display: flex;
  flex-direction: column;
  gap: var(--krds-gap-4);
}
.search_area .krds-btn.full {
  width: 100%;
  border-radius: var(--krds-radius-small3);
}

/* 영향범위 체크후 삭제 예정 */
.sect + .sect {
  margin-top: 12px;
}

.sect {
  display: flex;
  flex-direction: column;
  gap: var(--krds-gap-3);
  width: 100%;
}

.sect_tit {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sect_tit .tit {
  font-size: var(--krds-pc-font-size-heading-xxsmall);
  color: #fff;
  font-weight: 700;
}
.sect_tit .tit b {
  color: var(--krds-color-light-secondary-50);
}
.sect_tit .filter-btn {
  width: 32px;
  height: 32px;
  border: 1px solid var(--krds-color-light-primary-40);
  background-color: #2C2C6D;
  padding: 0;
}
.sect_tit .filter-btn.on, .sect_tit .filter-btn:hover, .sect_tit .filter-btn:focus {
  background-color: var(--krds-light-color-button-primary-fill-hover);
}
.sect_tit .filter-btn .filter {
  background-repeat: no-repeat;
}

.filter_sel {
  display: none;
  margin-top: 0.8rem;
}
.filter_sel.on {
  display: block;
}
.filter_sel .sect_box {
  display: flex;
  width: 100%;
  padding: 6px 12px;
  align-items: center;
}

.sect_box {
  background-color: var(--krds-color-light-gray-95);
  border-radius: var(--krds-radius-medium1);
}

/* === Modal & Alert System (모달,알럿 팝업)========= */
.modal_form_wrap {
  background-color: var(--krds-high-contrast-color-background-white);
  border-radius: var(--krds-radius-medium1);
  padding: 1.2rem;
  display: flex;
  flex-direction: column;
  gap: var(--krds-gap-4);
}
.modal_form_wrap.gray95 {
  gap: var(--krds-gap-4);
  padding: var(--krds-padding-3) var(--krds-padding-5);
  background-color: var(--krds-high-contrast-color-surface-gray-subtler);
}
.modal_form_wrap.gray95_small {
  padding: 0.6rem 0.8rem;
  background-color: var(--krds-high-contrast-color-surface-gray-subtler);
}
.modal_form_wrap .map_toggle {
  padding: 0;
  background-color: var(--krds-high-contrast-color-surface-gray-subtler);
}
.modal_form_wrap .map_toggle .krds-form-toggle-switch [type=checkbox]:checked ~ label .switch-toggle > i::before {
  background: url(../images/common/ico/ico-switch2_on.svg);
}
.modal_form_wrap .measure-result {
  background-color: #1e2124;
  border-radius: var(--krds-radius-medium1);
  padding: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
}
.modal_form_wrap .measure-result p {
  font-size: var(--krds-pc-font-size-body-xsmall);
  margin-bottom: 4px;
}
.modal_form_wrap .measure-result span {
  display: flex;
  align-items: center;
  font-size: var(--krds-pc-font-size-body-medium);
}
.modal_form_wrap .measure-result span strong {
  margin-right: 5px;
  color: var(--krds-light-color-divider-secondary);
}

.form-group.row {
  flex-direction: row;
  gap: 1.2rem;
  align-items: center;
}
.form-group.row .form-tit {
  width: unset;
}
.form-group.row .label {
  white-space: nowrap;
  font-size: var(--krds-pc-font-size-label-xsmall);
  color: var(--krds-light-color-text-basic-inverse);
}
.form-group .sch-input {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  position: relative;
}
.form-group .sch-input .krds-input {
  background: var(--krds-high-contrast-color-surface-gray-subtler);
}
.form-group .sch-input .ico-search_16 {
  position: absolute;
  right: 1.2rem;
}
.form-group .sch-input .ico-search_16::before {
  content: "";
  display: inline-flex;
  width: 1.6rem;
  height: 1.6rem;
  background-image: url("../images/common/ico/ico-search-white.svg");
  background-repeat: no-repeat;
  background-position: center;
}

.krds-modal .krds-tab-area {
  gap: 0.8rem;
}
.krds-modal .krds-tab-area > div {
  width: 100%;
}
.krds-modal .box-area.type3 {
  padding: 1.2rem 1rem;
}
.krds-modal .box-area.type3 .flex.row > li {
  flex: 1;
}
.krds-modal .box-area.type3 .form-group.row {
  gap: 0 0.8rem;
}
.krds-modal .box-area.type3 .form-group.row .krds-input {
  width: 100% !important;
}

@media screen and (max-width: 1200px) {
  .krds-modal.in {
    z-index: 600;
  }
  .krds-modal .modal-back {
    display: block;
  }
  .krds-modal .modal-back.in {
    display: block;
  }
}
/* box-area 템플릿 */
.box-wrap.col {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
}
.box-wrap.gap8 {
  gap: var(--krds-gap-3);
}
.box-wrap.gap12 {
  gap: var(--krds-gap-4);
}
.box-group {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  gap: var(--krds-gap-4);
  margin-top: var(--krds-padding-5);
}
.box-area {
  width: 100%;
  background: var(--krds-high-contrast-color-surface-white-subtle);
  border-radius: var(--krds-radius-medium1);
  padding: var(--krds-padding-5);
}
.box-area.type2 {
  padding: var(--krds-padding-5) 1.7rem var(--krds-padding-3);
}
.box-area.type3 {
  background: var(--krds-high-contrast-color-surface-white);
}
.box-area.pad128 {
  padding: var(--krds-padding-5) var(--krds-padding-5) var(--krds-padding-3);
}
.box-area.pad12 {
  padding: var(--krds-padding-5);
}
.box-inner {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  gap: var(--krds-gap-3);
}
.box-inner.gap-4 {
  gap: var(--krds-gap-4);
}
.box-inner .result {
  background: var(--krds-light-color-surface-inverse);
  padding: var(--krds-padding-5);
  border-radius: var(--krds-radius-medium1);
  gap: var(--krds-gap-2);
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
}
.box-inner .result.gap8 {
  gap: var(--krds-gap-3);
}
.box-inner .result.center {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
}
.box-inner .result-tit {
  font-size: var(--krds-pc-font-size-body-xsmall);
  color: var(--krds-light-color-text-basic-inverse);
  font-weight: bold;
}
.box-inner .result .num {
  font-size: var(--krds-pc-font-size-body-medium);
  color: var(--krds-light-color-text-basic-inverse);
  font-weight: bold;
}
.box-inner .result .num .secondary {
  color: var(--krds-color-light-secondary-50);
}
.box-header {
  height: 3.6rem;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
}
.box-content {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  gap: 0.6rem;
  border-radius: var(--krds-radius-medium1);
  padding: var(--krds-padding-3) var(--krds-padding-5);
  background-color: var(--krds-high-contrast-color-border-gray-light);
}
.box-content ul {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  gap: 0.6rem;
}
.box-content ul li {
  width: 100%;
  white-space: inherit;
  font-size: var(--krds-pc-font-size-body-xsmall);
  color: var(--krds-light-color-text-basic-inverse);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  gap: var(--krds-gap-2);
}
.box-tit {
  font-size: var(--krds-pc-font-size-heading-xxsmall);
  color: var(--krds-light-color-surface-white);
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  gap: var(--krds-gap-2);
}

/* 두번째 탭 스타일 */
.sub-tab-area .list-subtab {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  color: var(--krds-color-light-gray-0);
  width: 100%;
}
.sub-tab-area .list-subtab > li {
  width: 50%;
  overflow: hidden;
}
.sub-tab-area .list-subtab > li + li {
  border-left: 1px solid var(--krds-color-light-gray-70);
}
.sub-tab-area .list-subtab > li.active > .btn-subtab {
  background-color: var(--krds-color-light-secondary-70);
  color: var(--krds-color-light-gray-0);
}
.sub-tab-area .list-subtab > li:first-child {
  border-radius: var(--krds-radius-medium1) 0 0 var(--krds-radius-medium1);
}
.sub-tab-area .list-subtab > li:first-child.active {
  border: none;
}
.sub-tab-area .list-subtab > li:last-child {
  border-left: 1px solid var(--krds-color-light-gray-70);
  border-radius: 0 var(--krds-radius-medium1) var(--krds-radius-medium1) 0;
}
.sub-tab-area .list-subtab > li:last-child.active {
  border: none;
}
.sub-tab-area .list-subtab > li .btn-subtab {
  display: block;
  width: 100%;
  height: 3.6rem;
  background-color: var(--krds-color-light-gray-95);
  font-size: var(--krds-pc-font-size-label-small);
  color: var(--krds-color-light-gray-30);
}
.sub-tab-area .list-subtab:has(li:nth-child(2).active) li:first-child {
  border: none;
}
.sub-tab-area .subtab-conts {
  margin-top: var(--krds-padding-5);
}
.sub-tab-area .subtab-conts .subtab-conts {
  display: none;
}
.sub-tab-area .subtab-conts .subtab-conts.active {
  display: block;
}
.sub-tab-area .subtab-conts .subtab-conts .title {
  color: var(--krds-color-light-gray-0);
  font-size: var(--krds-pc-font-size-body-small);
}
.sub-tab-area .subtab-conts .subtab-conts .title-box {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: row;
}
.sub-tab-area .subtab-conts .subtab-conts .title-box .title {
  font-size: var(--krds-pc-font-size-heading-xxsmall);
}
.sub-tab-area .subtab-conts .subtab-conts .title-box .krds-btn {
  width: 5.2rem;
}
.sub-tab-area .subtab-conts .subtab-conts .title-box .btn-group {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  gap: 0 var(--krds-padding-3);
}
.sub-tab-area .subtab-conts .subtab-conts .area-box {
  background-color: var(--krds-color-light-gray-95);
  border-radius: var(--krds-radius-medium1);
  padding: var(--krds-padding-5);
}
.sub-tab-area .subtab-conts .subtab-conts .flex-container-wrap {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  gap: var(--krds-padding-3);
  flex-wrap: wrap;
}
.sub-tab-area .subtab-conts .subtab-conts .flex-container-wrap > .krds-btn {
  width: calc(50% - 0.4rem);
}
.sub-tab-area .subtab-conts .subtab-conts .flex-container-wrap .switch-group {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  gap: var(--krds-padding-8);
}
.sub-tab-area .subtab-conts .subtab-conts .flex-container-sb {
  margin-top: var(--krds-padding-3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
}
.sub-tab-area .subtab-conts .subtab-conts .flex-container-sb .tit {
  color: var(--krds-color-light-gray-0);
  font-size: var(--krds-pc-font-size-body-xsmall);
}
.sub-tab-area .subtab-conts .subtab-conts .flex-container-sb .btn-group {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  gap: var(--krds-padding-3);
}
.sub-tab-area .subtab-conts .subtab-conts .flex-container-sb .form-group {
  width: 2.4rem;
  height: 2.4rem;
}
.sub-tab-area .subtab-conts .subtab-conts .flex-container-sb .form-group.box-color:has(.krds-input.color-picker[disabled]):before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url("../images/common/ico/ico-colorpicker-disabled.svg");
  background-size: cover;
}
.sub-tab-area .subtab-conts .subtab-conts .flex-container-sb .form-group.box-color:has(.krds-input.color-picker[disabled]) .krds-input.color-picker {
  display: none;
}

@media screen and (max-width: 1200px) {
  .sub-tab-area .list-subtab > li .btn-subtab {
    height: 4.2rem;
  }
}
/* structured */
.structured-list {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  gap: 0.6rem;
}
.structured-item {
  width: 100%;
  padding: 0 1.2rem;
  background: var(--krds-high-contrast-color-surface-gray-subtle);
  border: 0.1rem solid var(--krds-high-contrast-color-surface-white-subtle);
  border-radius: var(--krds-radius-medium1);
}
.structured-item.active {
  background: var(--krds-high-contrast-color-surface-white-subtle);
  border: 0.1rem solid var(--krds-high-contrast-color-surface-white-subtle);
}
.structured-item.active .structured-title .krds-badge-wrap .label {
  color: var(--krds-light-color-text-basic-inverse);
}
.structured-item.active .structured-item-2D {
  visibility: visible;
  opacity: 1;
  display: block;
  background: var(--krds-high-contrast-color-divider-gray-light);
  border-radius: var(--krds-radius-medium1);
  padding: var(--krds-padding-3) var(--krds-padding-5);
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  gap: 0.6rem;
  margin-bottom: var(--krds-padding-3);
}
.structured-item.active .structured-item-2D li {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  gap: 0.6rem;
}
.structured-item.active .structured-item-2D li .tructured-2D-header {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  gap: 0.4rem;
}
.structured-item.active .structured-item-2D li .tructured-2D-header.is-open .st-box_btn {
  background: url("../images/common/ico/ico-box-minus.svg") no-repeat center;
  width: 1.6rem;
  height: 1.6rem;
  display: flex;
}
.structured-item.active .structured-item-2D li .tructured-2D-header.is-open + .structured_depth {
  display: block;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  gap: 0.6rem;
}
.structured-item.active .structured-item-2D .structured_depth {
  padding-left: 2rem;
  display: none;
}
.structured-item.active .structured-item-2D .st-box_btn {
  background: url("../images/common/ico/ico-box-pluse.svg") no-repeat center;
  width: 1.6rem;
  height: 1.6rem;
  display: flex;
}
.structured-item.active .structured-item-2D span {
  font-size: var(--krds-pc-font-size-body-xsmall);
  font-weight: 400;
  color: var(--krds-light-color-surface-white);
  text-justify: auto;
}
.structured-item.active .structured_btn {
  height: 1.6rem;
}
.structured-item.active .structured_btn::after {
  display: none;
}
.structured-item.active .structured_btn::before {
  content: "";
  background: url("../images/common/ico/ico-minus.svg") no-repeat center;
  width: 1.6rem;
  height: 1.6rem;
  display: flex;
}
.structured-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
  height: 3.6rem;
}
.structured-title.type-on {
  margin: var(--krds-padding-5) 0 0.6rem 0;
  height: 2.6rem;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  gap: var(--krds-gap-2);
}
.structured-title.type-on .badge {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
}
.structured-title.type-on .badge.small {
  width: 4rem;
  height: 2rem;
  border-radius: 10rem;
  padding: 0 var(--krds-padding-3);
}
.structured-title.type-on .badge.on {
  background-color: var(--krds-color-light-secondary-70);
  font-size: var(--krds-pc-font-size-body-xsmall);
  font-weight: bold;
  color: var(--krds-light-color-text-basic-inverse);
}
.structured-title.type-on .badge.on.icon {
  position: relative;
  margin-right: 16px;
}
.structured-title.type-on .badge.on.icon::after {
  content: "";
  background: url("../images/common/ico/ico-badge_on.svg") no-repeat center;
  width: 1.2rem;
  height: 1.2rem;
  display: flex;
  position: absolute;
  right: -1.6rem;
}
.structured-title.type-on .badge.off {
  background-color: var(--krds-light-color-text-disabled-on);
  font-size: var(--krds-pc-font-size-label-xsmall);
  color: var(--krds-light-color-text-basic-inverse);
}
.structured-title.type-on .badge.off.icon {
  position: relative;
  margin-right: 16px;
}
.structured-title.type-on .badge.off.icon::after {
  content: "";
  background: url("../images/common/ico/ico-badge_off.svg") no-repeat center;
  width: 1.2rem;
  height: 1.2rem;
  display: flex;
  position: absolute;
  right: -1.6rem;
}
.structured-title.type-on .car-number {
  font-size: 1.4rem;
  font-weight: bold;
  color: var(--krds-light-color-text-basic-inverse);
}
.structured-title.type-on .date {
  font-size: 1.2rem;
  white-space: nowrap;
  color: var(--krds-light-color-text-subtle-inverse);
}
.structured-sub-box .row {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: var(--krds-gap-3);
}
.structured-sub-box .row li {
  width: 100%;
}
.structured-sub-box .row li.structured-item-2D {
  padding: var(--krds-padding-2) var(--krds-padding-5);
  gap: var(--krds-gap-1);
  margin-bottom: var(--krds-padding-5);
}
.structured-sub-box .row li.structured-item-2D .sub-text {
  font-size: var(--krds-pc-font-size-body-xsmall);
  color: var(--krds-light-color-text-subtle-inverse);
}
.structured-sub-box .row li.structured-item-2D .car-number {
  font-size: 1.4rem;
  font-weight: bold;
  color: var(--krds-light-color-text-basic-inverse);
}
.structured_btn::after {
  content: "";
  background: url("../images/common/ico/ico-st_more.svg") no-repeat center;
  width: 1.6rem;
  height: 1.6rem;
  display: flex;
}
.structured_btn_more {
  margin-left: auto;
}
.structured_btn_more::after {
  content: "";
  background: url("../images/common/ico/ico-more_2.svg") no-repeat center;
  width: 2rem;
  height: 2rem;
  display: flex;
}
.structured-item-2D {
  visibility: hidden;
  opacity: 0;
  display: none;
}
/*# sourceMappingURL=core_component.css.map */
