@charset "utf-8";
/**************************************
 * reset.css
 * font 설정
 * 변수값 정의
 * html 기본 스타일 초기화
 * 2025/11 By "PARK EUN HEE"
/**************************************/

/* SpoqaHanSansNeo-Regular */
@font-face {
  font-family: 'SpoqaHanSansNeo';
  font-style: normal;
  font-weight: 300;
  src:
          local('SpoqaHanSansNeo Thin'),
          local('SpoqaHanSansNeo-Thin'),
          url('../fonts/SpoqaHanSansNeo-Thin.woff2') format('woff2');
}
/* SpoqaHanSansNeo-Regular */
@font-face {
  font-family: 'SpoqaHanSansNeo';
  font-style: normal;
  font-weight: 400;
  src:
          local('SpoqaHanSansNeo Regular'),
          local('SpoqaHanSansNeo-Regular'),
          url('../fonts/SpoqaHanSansNeo-Regular.woff2') format('woff2');
}

/* SpoqaHanSansNeo-Medium */
@font-face {
  font-family: 'SpoqaHanSansNeo';
  font-style: normal;
  font-weight: 500;
  src:
          local('SpoqaHanSansNeo Medium'),
          local('SpoqaHanSansNeo-Medium'),
          url('../fonts/SpoqaHanSansNeo-Medium.woff2') format('woff2');
}

/* SpoqaHanSansNeo-Bold */
@font-face {
  font-family: 'SpoqaHanSansNeo';
  font-style: normal;
  font-weight: 700;
  src:
          local('SpoqaHanSansNeo Bold'),
          local('SpoqaHanSansNeo-Bold'),
          url('../fonts/SpoqaHanSansNeo-Bold.woff2') format('woff2');
}

/**************************************
 S: variables
/**************************************/

:root {
  --max-width: 1920px;
  --min-width: 360px;
  --headHeight: 100px;

  --font-family: 'SpoqaHanSansNeo', 'NotoSans', sans-serif;

  /* 컬러 */
  --color-blue: #3798f3;
  --color-red: #fa5e4c;
  --color-darkGray: #3e454b;
  --color-primary: #1aa179;
  --color-primary-fill: #e9f8ef;

  /* 박스, 컴포넌트 radius */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;

  /* input, select, button - 높이 */
  --component-sm-height: 32px;
  --component-md-height: 40px;
  --component-lg-height: 48px;

  /* input, select - bg 컬러 */
  --component-bg: #fff;
  --component-border-default: #b0b9c2;
  --component-shadow: 0 0 0 3px rgba(184, 225, 200, 0.15);

  /* input, select, button - disabled 컬러 */
  --bg-disabled: #eceff1;

  /* checkbox, radio 사이즈 */
  --radio-size: 20px;
  --checkbox-size: 20px;

  /* 폰트컬러*/
  --fc-default: #272c30;
  --fc-gray: #87929c;
  --fc-gray-light: #d0d7dc;
  --fc-disabled: #adb9c2;
  --fc-placeholder: #adb5bd;

  --padding-modal-hoz: 30px;
  --padding-modal-ver: 40px;

  /* 세로축 영역 간 간격 */
  --marginVer: 30px;

  --zIndex-head: 997;
  --zIndex-sidebar: 998;
  --zIndex-toast: 9999;
  --zIndex-dim: 998;
  /* --zIndex-modal: 999; ul.js 에서 정의*/

  --gap-lg: 24px; /* 세로축 영역 간 간격 */
  --gap-sm: 8px; /* 컴포넌트 간 간격*/

  @media all and (max-width: 1079px) {
    --headHeight: 80px;
  }

  @media all and (max-width: 799px) {
  }
}

/* body {
  --vh: 1vh;
} */

/**************************************
 E: variables
/**************************************/

/**************************************
 S: reset
/**************************************/
* {
  margin: 0px;
  padding: 0px;
}

*,
::after,
::before {
  box-sizing: border-box;
  background-repeat: no-repeat;
  background-position: center;
}

html {
  scroll-behavior: smooth;
  background-color: #f2f2f2;
}

body {
  font-size: 14px;
  font-family: var(--font-family);
  line-height: 1.4;
  font-weight: 400;
  color: var(--fc-default);
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: none; /* for mobile 모바일에서  PC버전 보기 시(뷰포트가 변경되었을때) 폰트크기 변경되지 않도록 함*/
  -webkit-touch-callout: none; /* 모바일 요소 오래 클릭시 불필요한 현상 제거 for IOS */
  -webkit-overflow-scrolling: touch;
  /* -webkit-tap-highlight-color: transparent; */
  /* overflow: auto scroll; */
}

div,
p {
  word-wrap: break-word;
  word-break: keep-all;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: 400;
}

b,
strong {
  font-weight: 700;
}

span,
b,
strong {
  vertical-align: baseline;
  line-height: normal;
}

ins {
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

hr {
  height: 0;
  border-bottom: 1px solid #dfe2e5;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

em,
address,
i {
  font-style: normal;
}

button,
input[type='button'],
a {
  border: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: var(--fc-default);
  background-color: transparent;
  font-family: var(--font-family);
  line-height: inherit;
  vertical-align: middle;
  font-size: inherit;
  user-select: none;
  -webkit-user-select: none;
}

pre,
input,
textarea {
  font-family: var(--font-family);
  line-height: inherit;
}

button:not(:disabled) {
  cursor: pointer;
}

a {
  text-decoration: none;
  color: var(--fc-default);
}

button,
a,
button::before,
button::after,
a::before,
a::after {
  transition: 0.1s;
}

textarea {
  width: 100%;
  resize: none;
  border-radius: 0; /* IOS radius 기본 스타일 제거 */
  overflow-y: auto; /* IE11이하 기본 스타일 제거 */
  display: block;
}

table {
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

td,
th {
  padding: 0;
  font-weight: 400;
}

legend,
.hidden {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 0 !important;
  height: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: hidden;
}

img {
  max-width: 100%;
}

img,
fieldset {
  vertical-align: middle;
  border: none;
}

input[type='text']::-ms-clear {
  display: none; /* input의 x 버튼 제거 for IE 또는  input::-ms-clear {display: none;} */
}

input:-webkit-autofill {
  /*크롬브라우저에서 자동완성 기능이 작동할 때 input의 배경색이 변하는 현상 제거 */
  -webkit-box-shadow: 0 0 0 100px var(--component-bg) inset;
  -moz-box-shadow: 0 0 0 100px var(--component-bg) inset;
  box-shadow: 0 0 0 100px var(--component-bg) inset;
  -webkit-text-fill-color: var(--fc-default);
}

/* Chrome, Safari, Edge */
input[type='date']::-webkit-calendar-picker-indicator {
  opacity: 0;
  -webkit-appearance: none;
}

/* Firefox */
input[type='date'] {
  -moz-appearance: textfield;
}

/* input type="number" 기본 스타일 제거 */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type='number'] {
  -moz-appearance: textfield;
  appearance: textfield;
}

input::placeholder,
textarea::placeholder {
  color: var(--fc-placeholder);
  font-weight: 400;
}

select::-ms-expand {
  display: none;
}

/* 키보드 접근시 */
:focus-visible {
  outline: none;
}

a:focus-visible,
button:focus-visible {
  outline: 3px dotted var(--color-primary);
  border-radius: 4px;
}

/* 스크롤바 */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
  border: 0;
  transition: 0.4s;
}

::-webkit-scrollbar-button:start:decrement,
::-webkit-scrollbar-button:end:increment {
  display: none;
  width: 0;
  height: 0;
}

::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 2px;
}

::-webkit-scrollbar-thumb {
  background: #adb9c2;
  border-radius: 4px;
}

::-webkit-scrollbar-corner {
  background: transparent;
}

.modal:not(.full) .modal-body::-webkit-scrollbar {
  width: 11px;
}

.modal:not(.full) .modal-body::-webkit-scrollbar-thumb {
  border-radius: 5px;
  border: 2px solid #fff;
}
/**************************************
E: reset
/**************************************/