@charset "utf-8";

/* 속성 초기화 및 box-sizing 정의 */
*,
*:before,
*:after {
  box-sizing: border-box !important;
}
html,
body,
header,
main,
aside,
footer,
nav,
section,
article,
div,
figure,
figcaption,
hr,
h1,
h2,
h3,
h4,
h5,
h6,
p,
strong,
b,
em,
i,
ol,
ul,
li,
dl,
dt,
dd,
address,
form,
legend,
fieldset {
  all: unset;
  min-width: 0;
  min-height: 0; /*scroll-behavior:smooth;*/
  word-wrap: break-word;
  word-break: keep-all;
}
input,
select,
textarea {
  margin: 0;
  padding: 0;
  min-width: 0;
  min-height: 0;
  border: 0;
  font-family: inherit;
  word-wrap: break-word;
  word-break: keep-all;
}
/* html,body */
html {
  overflow: hidden;
  overflow-y: auto;
  font-size: 10px;
  width: 100%;
  height: auto !important;
  text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: none;
}
body {
  display: flex !important;
  flex-direction: column;
  position: relative;
  width: 100%;
  min-height: 100vh;
  height: auto;
  color: #444;
  font-size: 1.8rem;
  line-height: 1.55;
  font-family: 'Pretendard';
  font-weight: 400;
  letter-spacing: -0.015rem;
}
/* display:block */
html,
body,
header,
main,
section,
aside,
footer,
nav,
section,
article,
div,
figure,
figcaption,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ol,
ul,
li,
dl,
dt,
dd,
address,
form,
legend,
fieldset,
input,
select,
label,
textarea,
hr {
  display: block;
}
/* display:inline-block */
a,
button,
label,
select,
input {
  display: inline-block;
}
/* cursor:pointer */
a,
button,
label,
option {
  cursor: pointer;
  transition: 0.25s background-color, 0.25s color, 0.25s border;
}
select {
  cursor: pointer;
}
/* link */
a,
button,
label {
  text-decoration: none;
  font-family: 'Pretendard';
}
a:link,
a:visited,
a:hover,
a:focus {
  color: inherit;
}
/* link_target="_blank" */
a[target='_blank'] > .xi-external-link {
  position: relative;
  top: 0.1rem;
  padding-left: 0.5rem;
}
/* 전화번호 링크 */
@media (min-width: 1280px) {
  a[href*='tel:'] {
    cursor: text;
  }
  a[href*='tel:']:hover,
  a[href*='tel:']:hover * {
    text-decoration: unset !important;
  }
}
button {
  margin: 0;
  padding: 0;
  background-color: transparent;
  border: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}
/* 테이블 요소 */
table {
  border-spacing: 0;
}
table,
th,
td {
  margin: 0;
  padding: 0;
  font-weight: 400;
}
/* input 요소 */
input[type='text'],
input[type='password'],
input[type='email'],
input[type='tel'],
select {
  padding: 0 1.2rem;
  height: 4rem;
  background-color: #fff;
  border: 1px solid #dedede;
  border-radius: 2px;
  color: #484848;
  font-size: 1.6rem;
  line-height: 4rem;
}
input[type='text']:disabled,
input[type='password']:disabled,
select:disabled,
input[type='text'][readonly],
input[type='password'][readonly],
select[readonly],
textarea[readonly] {
  background-color: #fbfbfb;
}
input[type='checkbox'],
input[type='radio'] {
  cursor: pointer;
}
select {
  position: relative;
  padding-right: 2.8rem;
  background: #fff url(/_html/images/common/select_arr.svg) right 1.6rem center no-repeat;
  background-size: 1.8rem;
  line-height: calc(4.8rem - 2px);
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
select.type02 {
  padding-right: 6.2rem;
  background-image: url(/_html/images/common/select_type02_arr.svg);
  background-position: right center;
  background-size: 5.3rem 5.2rem;
}
input.input_date {
  padding-right: 6.2rem;
  background: #fff url(/_html/images/common/input_date_ico.svg) no-repeat right center;
  background-size: 5.3rem 5.2rem;
}
textarea {
  padding: 1.4rem;
  width: 100%;
  min-height: 12.6rem;
  resize: vertical;
  border: 1px solid #dedede;
  border-radius: 2px;
  line-height: 2rem;
}
input::-webkit-input-placeholder {
  color: #aaa;
  font-style: unset !important;
}
input::-moz-placeholder {
  color: #aaa;
  font-style: unset !important;
}
input:-ms-input-placeholder {
  color: #aaa;
  font-style: unset !important;
}
input::-ms-input-placeholder {
  color: #aaa;
  font-style: unset !important;
}
/* img */
img {
  max-width: 100%;
  height: auto;
  border: 0;
  vertical-align: top;
}
/* fieldset 내 반응형 테이블 동작 */
fieldset {
  min-inline-size: unset;
}

/* hover & focus */
input[type='text']:hover,
input[type='password']:hover,
input[type='email']:hover,
input[type='tel']:hover,
select:hover,
textarea:hover,
input[type='text']:focus,
input[type='password']:focus,
input[type='email']:focus,
input[type='tel']:focus,
select:focus,
textarea:focus {
  border-color: #354a80;
}
input[type='text']:disabled:hover,
input[type='password']:disabled:hover,
select:disabled:hover,
input[type='text'][readonly],
input[type='password'][readonly],
select[readonly],
textarea[readonly] {
  border-color: #dedede;
}
select.type02:hover,
select.type02:focus {
  background-image: url(/_html/images/common/select_type02_arr_ov.svg);
}
input.input_date:hover,
input.input_date:focus {
  background-image: url(/_html/images/common/input_date_ico_ov.svg);
}
input:hover::-webkit-input-placeholder,
input:focus::-webkit-input-placeholder {
  color: #212121;
}
input:hover::-moz-placeholder,
input:focus::-moz-placeholder {
  color: #212121;
}
input:hover:-ms-input-placeholder,
input:focus:-ms-input-placeholder {
  color: #212121;
}
input:hover::-ms-input-placeholder,
input:focus::-ms-input-placeholder {
  color: #212121;
}

/* 숨김요소 */
legend,
caption,
.hide,
.sr-only,
.sr_only {
  overflow: hidden;
  position: fixed;
  top: -1px;
  left: -1px;
  width: 1px;
  height: 1px;
  font-size: 0;
  line-height: 0;
}

/* 스킵 네비게이션 */
#skip {
  position: relative;
  z-index: 9999;
}
#skip a {
  position: absolute;
  top: -40px;
  left: 0;
  padding: 5px 0;
  width: 100%;
  background-color: #3f6991;
  font-size: 16px;
  line-height: 30px;
  color: #fff;
  text-align: center;
  transition: 0.4s;
}
#skip a:hover,
#skip a:focus,
#skip a:active {
  top: 0;
  text-decoration: none;
}

/* 스크롤 커스텀_webkit 기반 브라우저에서만 동작 */
body ::-webkit-scrollbar {
  width: 8px;
  height: 8px;
  background-color: transparent;
}
body ::-webkit-scrollbar-track {
  background-color: #f6f7f8;
}
body ::-webkit-scrollbar-thumb {
  background: #dedede;
}
body ::-webkit-scrollbar-button {
  display: none;
}

/* 프린트 기능 */
@media print {
  body {
    -webkit-print-color-adjust: exact !important;
  }
}

@media (max-width: 1439px) {
  html {
    font-size: 9px;
  }
  /*body{font-size:18px;line-height:24px}
	input[type="text"],input[type="password"],input[type="email"],input[type="tel"],select{font-size:15px;height:40px;line-height:40px !important;}*/
}
@media (max-width: 767px) {
  html {
    font-size: 8px;
  }
  /*body{font-size:16px;line-height:22px}
	input[type="text"],input[type="password"],input[type="email"],input[type="tel"],select{font-size:14px;height:36px;line-height:36px !important;}*/
}

/* remixicon 파이어폭스 행간정렬 fix */
@-moz-document url-prefix() {
  [class^='ri-'],
  [class*=' ri-'] {
    transform: translateY(5%);
  }
}
