@charset "UTF-8";

/* pretendard font */
@font-face {
    font-family: "Pretendard";
    font-weight: 100;
    font-style: normal;
    src:
            url("../../fonts/pretendard/Pretendard-Thin.woff2") format("woff2"),
            url("../../fonts/pretendard/Pretendard-Thin.woff");
    font-display: swap;
}
@font-face {
    font-family: "Pretendard";
    font-weight: 200;
    font-style: normal;
    src:
            url("../../fonts/pretendard/Pretendard-ExtraLight.woff2") format("woff2"),
            url("../../fonts/pretendard/Pretendard-ExtraLight.woff");
    font-display: swap;
}
@font-face {
    font-family: "Pretendard";
    font-weight: 300;
    font-style: normal;
    src:
            url("../../fonts/pretendard/Pretendard-Light.woff2") format("woff2"),
            url("../../fonts/pretendard/Pretendard-Light.woff");
    font-display: swap;
}
@font-face {
    font-family: "Pretendard";
    font-weight: 400;
    font-style: normal;
    src:
            url("../../fonts/pretendard/Pretendard-Regular.woff2") format("woff2"),
            url("../../fonts/pretendard/Pretendard-Regular.woff");
    font-display: swap;
}
@font-face {
    font-family: "Pretendard";
    font-weight: 500;
    font-style: normal;
    src:
            url("../../fonts/pretendard/Pretendard-Medium.woff2") format("woff2"),
            url("../../fonts/pretendard/Pretendard-Medium.woff");
    font-display: swap;
}
@font-face {
    font-family: "Pretendard";
    font-weight: 600;
    font-style: normal;
    src:
            url("../../fonts/pretendard/Pretendard-SemiBold.woff2") format("woff2"),
            url("../../fonts/pretendard/Pretendard-SemiBold.woff");
    font-display: swap;
}
@font-face {
    font-family: "Pretendard";
    font-weight: 700;
    font-style: normal;
    src:
            url("../../fonts/pretendard/Pretendard-Bold.woff2") format("woff2"),
            url("../../fonts/pretendard/Pretendard-Bold.woff");
    font-display: swap;
}
@font-face {
    font-family: "Pretendard";
    font-weight: 800;
    font-style: normal;
    src:
            url("../../fonts/pretendard/Pretendard-ExtraBold.woff2") format("woff2"),
            url("../../fonts/pretendard/Pretendard-ExtraBold.woff");
    font-display: swap;
}
@font-face {
    font-family: "Pretendard";
    font-weight: 900;
    font-style: normal;
    src:
            url("../../fonts/pretendard/Pretendard-Black.woff2") format("woff2"),
            url("../../fonts/pretendard/Pretendard-Black.woff");
    font-display: swap;
}

/* nanum square font */
@font-face {
    font-family: "NanumSquare";
    font-weight: 300;
    font-style: normal;
    src: url("../../fonts/nanumsqare/NanumSquareL.woff2") format("woff2"), url("../../fonts/nanumsqare/NanumSquareL.woff") format("woff");
    font-display: swap;
}
@font-face {
    font-family: "NanumSquare";
    font-weight: 400;
    font-style: normal;
    src: url("../../fonts/nanumsqare/NanumSquareR.woff2") format("woff2"), url("../../fonts/nanumsqare/NanumSquareR.woff") format("woff");
    font-display: swap;
}
@font-face {
    font-family: "NanumSquare";
    font-weight: 700;
    font-style: normal;
    src: url("../../fonts/nanumsqare/NanumSquareB.woff2") format("woff2"), url("../../fonts/nanumsqare/NanumSquareB.woff") format("woff");
    font-display: swap;
}
@font-face {
    font-family: "NanumSquare";
    font-weight: 800;
    font-style: normal;
    src: url("../../fonts/nanumsqare/NanumSquareEB.woff2") format("woff2"), url("../../fonts/nanumsqare/NanumSquareEB.woff") format("woff");
    font-display: swap;
}

/* reset */
html,
body,
div,
span,
dl,
dt,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
p,
form,
fieldset,
legend,
table,
col,
colgroup,
thead,
tfoot,
tbody,
tr,
th,
td,
button,
input,
select,
figure,
figcaption,
video,
textarea {
    font-family: "pretendard", sans-serif;
    font-weight: 500;
    margin: 0;
    padding: 0;
    border: 0;
}

* {
    outline: none;
}

*:focus {
    outline: none;
}

*,
*:before,
*:after {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

html,
body {
    width: 100%;
    height: 100%;
    font-size: 16px;
    color: #222;
    font-weight: 500;
}

body {
    position: relative;
    margin: 0 auto;
    line-height: 1.2;
}

ul,
ol,
li {
    list-style: none;
    padding: 0;
    margin: 0;
}

em,
address {
    font-style: normal;
}

img {
    font-size: 0;
    line-height: 0;
    border: 0 none;
}

sup {
    position: relative;
    top: 2px;
    font-size: 11px;
    line-height: 100%;
}

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

caption {
    overflow: hidden;
    width: 0;
    height: 0;
    font-size: 0;
    line-height: 0;
}

th,
td {
    vertical-align: middle;
    word-break: break-all;
}

a {
    text-decoration: none;
    color: #222;
    cursor: pointer;
}

a:hover,
a:focus,
a:active {
    text-decoration: none;
}

p,
span {
    -moz-word-break: keep-all;
    -ms-word-break: keep-all;
    word-break: keep-all;
}

input:disabled {
    cursor: default;
    background: #f5f5f5;
}

input:read-only {
    cursor: default;
    background: #f5f5f5;
}

select:disabled {
    cursor: default;
    opacity: 1;
}

textarea:disabled {
    background: #f5f5f5;
}

button {
    cursor: pointer;
    background: transparent;
}

/* IE - input close button delete */
input::-ms-clear {
    display: none;
}

input:-webkit-autofill {
    -webkit-text-fill-color: #222;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    transition: background-color 5000s ease-in-out 0s;
}

input::placeholder {
    color: #aaa;
}

input:-ms-input-placeholder {
    color: #aaa;
}

input::-moz-placeholder {
    color: #aaa;
}

input::-webkit-input-placeholder {
    color: #aaa;
}

textarea::placeholder {
    color: #aaa;
}

textarea:-ms-input-placeholder {
    color: #aaa;
}

textarea::-moz-placeholder {
    color: #aaa;
}

textarea::-webkit-input-placeholder {
    color: #aaa;
}

input {
    background: #fff;
    border: 1px solid #dbdfea;
    padding: 0 16px;
    height: 40px;
    border-radius: 4px;
    font-size: 16px;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

textarea {
    background: #fff;
    border: 1px solid #dbdfea;
    padding: 16px;
    min-height: 150px;
    border-radius: 4px;
    font-size: 16px;
    resize: none;
}

select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    height: 40px;
    padding: 0 40px 0 16px;
    cursor: pointer;
    border-radius: 4px;
    border: 1px solid #dbdfea;
    font-size: 16px;
    background: transparent;
    position: relative;
    z-index: 3;
}
select option {
    font-size: 16px;
    font-weight: 500;
}

pre {
    color: #222;
    font-family: "pretendard", sans-serif;
    text-wrap: nowrap;
    margin: 0;
    white-space: pre-wrap;
}

button,
input {
    -moz-appearance: none; /* Firefox */
    -webkit-appearance: none; /* Safari and Chrome */
    appearance: none;
}

::selection {
    background: #ddd;
}
::-webkit-scrollbar {
    width: 4px;
    height: 4px;
}
::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: #aaa;
}

/* 제목류 - 줄 길이를 균등하게 */
h1,
h2,
h3 {
    text-wrap: balance;
}
/* 본문/설명 텍스트 - 마지막 줄 짧은 단어 고아(orphan) 방지 */
p {
    text-wrap: pretty;
}
