@charset "utf-8";

/* ///////////////////////////////////////////////////////////////////

    글꼴 / 색상 / 변수 설정

/////////////////////////////////////////////////////////////////// */

:root {
    /* ---------- Font Type ---------- */
    --ff-style: 'Pretendard Variable', Pretendard, -apple-system, system-ui,
    Roboto, 'Helvetica Neue', 'Segoe UI', 'Apple SD Gothic Neo',
    'Noto Sans KR', 'Malgun Gothic', 'Apple Color Emoji', 'Segoe UI Emoji',
    'Segoe UI Symbol', sans-serif;

    /* ---------- Font Size : 디폴트로 14px 설정 (변환시 반드시 14px 기준으로 해야함!!) ---------- */

    --fs-28: 2rem; /* 페이지 타이틀 */
    --fs-18: 1.286rem; /* 메시지 박스 내 텍스트 */
    --fs-16: 1.143rem; /* 아이템 내부 텍스트 및 다운로드 버튼 텍스트 */
    --fs-14: 1rem; /* 기본 크기, 컬럼헤더 텍스트 및 푸터 버튼 텍스트,  */
    --fs-10: 0.714rem; /* 사각점 */

    /* ---------- Font weight ---------- */
    --fw-100: 100; /* thin */
    --fw-200: 200; /* extralight */
    --fw-300: 300; /* light */
    --fw-400: 400; /* regular 기본 굵기 */
    --fw-500: 500; /* medium */
    --fw-600: 600; /* semibold */
    --fw-700: 700; /* bold */
    --fw-800: 800; /* extrabold */
    --fw-900: 900; /* black */

    /* ---------- Color ---------- */
    --clr-black: #000;
    --clr-white: #fff;
    --clr-bright: #f9fafc;
    --clr-light: #f3f4f6;
    --clr-gray: #6d757d;
    --clr-point: #302bcf;
    --clr-point-over: #1c188e;
    --clr-border: #ebebeb;
    --clr-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.05);
}

/* ------------------------------------------------------------
  Pretendard 폰트 가져옴
------------------------------------------------------------ */
@font-face {
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 900;
    src: local('Pretendard Black'), local('Pretendard-Black'),
    url('../../font/pretendard/woff/Pretendard-Black.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 800;
    src: local('Pretendard ExtraBold'), local('Pretendard-ExtraBold'),
    url('../../font/pretendard/woff/Pretendard-ExtraBold.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 700;
    src: local('Pretendard Bold'), local('Pretendard-Bold'),
    url('../../font/pretendard/woff/Pretendard-Bold.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 600;
    src: local('Pretendard SemiBold'), local('Pretendard-SemiBold'),
    url('../../font/pretendard/woff/Pretendard-SemiBold.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 500;
    src: local('Pretendard Medium'), local('Pretendard-Medium'),
    url('../../font/pretendard/woff/Pretendard-Medium.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 400;
    src: local('Pretendard Regular'), local('Pretendard-Regular'),
    url('../../font/pretendard/woff/Pretendard-Regular.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 300;
    src: local('Pretendard Light'), local('Pretendard-Light'),
    url('../../font/pretendard/woff/Pretendard-Light.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 200;
    src: local('Pretendard ExtraLight'), local('Pretendard-ExtraLight'),
    url('../../font/pretendard/woff/Pretendard-ExtraLight.woff')
    format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-style: normal;
    font-weight: 100;
    src: local('Pretendard Thin'), local('Pretendard-Thin'),
    url('../../font/pretendard/woff/Pretendard-Thin.woff') format('woff');
}

/* ///////////////////////////////////////////////////////////////////

    초기화 설정

/////////////////////////////////////////////////////////////////// */
* {
    padding: 0;
    margin: 0;
    border: 0;
    outline: 0;
    vertical-align: middle;
    background: transparent;
    box-sizing: border-box;
    list-style: none;
    font-family: var(--ff-style)
}
html,
body {
    /* 기본 font-size 는 14px로 설정함 */
    font-weight: var(--fw-400) !important;
    font-size: 14px !important;
    color: var(--clr-darkgray) !important;
    /*line-height: 1.5;*/
    background-color: var(--clr-lightblue) !important;
    transition: all 0.3s;
    /* 웹폰트 부드럽게하기 */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
blockquote,
q {
    quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}
/* remember to define focus styles! */
:focus {
    outline: 0;
}
/* remember to highlight inserts somehow! */
ins {
    text-decoration: none;
}
del {
    text-decoration: line-through;
}
/* table 태그에 cellspacing="0" 넣어줘야 함 */
table {
    border-collapse: collapse;
    border-spacing: 0;
}
a,
a:link,
a:visited,
a:active {
    display: inline-block;
    position: relative;
    vertical-align: baseline;
    text-decoration: none;
    color: var(--clr-point);
    cursor: pointer !important;
}
a:hover {
    color: var(--clr-point);
    cursor: pointer !important;
}
a::before {
    content: "";
    position: absolute;
    width: 0;
    height: 0.071rem;
    bottom: 0;
    left: 50%;
    opacity: 0;
    transition: all 0.3s;
    background-color: var(--clr-point);
}
a:hover::before {
    width: 100%;
    left: 0;
    opacity: 1;
}
/* " no_underline " 클래스 적용 시 하단 언더라인 제거 */
a.no_underline:hover::before {
    width: 0;
    left: 0;
    opacity: 0;
}

p {
    line-height: 1.5 !important;
}
/* ///////////////////////////////////////////////////////////////////

    디스플레이 관련

/////////////////////////////////////////////////////////////////// */
.inline_block {
    display: inline-block !important;
}
.block {
    display: block !important;
}
.display_none {
    display: none !important;
}
.flex {
    display: flex !important;
}

/* ///////////////////////////////////////////////////////////////////

    정렬 관련 스타일

/////////////////////////////////////////////////////////////////// */

.txt_left {
    text-align: left !important;
}
.txt_center {
    text-align: center !important;
}
.txt_right {
    text-align: right !important;
}
.vertical_top {
    vertical-align: top !important;
}
.vertical_middle {
    vertical-align: middle !important;
}
.vertical_bottom {
    vertical-align: bottom !important;
}
.vertical_base {
    vertical-align: baseline !important;
}
.flex_top {
    align-items: flex-start !important;
}
.flex_center {
    align-items: center !important;
}
.flex_bottom {
    align-items: flex-end !important;
}
/* ///////////////////////////////////////////////////////////////////

    여백 크기 (margin, padding)

/////////////////////////////////////////////////////////////////// */
:root {
    --margin2: 0.143rem;
    --margin4: 0.286rem;
    --margin8: 0.571rem;
    --margin16: 1.143rem;
    --margin24: 1.714rem;
    --margin32: 2.286rem;
    --margin48: 3.429rem;
    --margin60: 4.286rem;
    --margin80: 5.714rem;
}
/* --------------- Margin Top ------------------ */
.mt2 {
    margin-top: var(--margin2) !important;
}
.mt4 {
    margin-top: var(--margin4) !important;
}
.mt8 {
    margin-top: var(--margin8) !important;
}
.mt16 {
    margin-top: var(--margin16) !important;
}
.mt24 {
    margin-top: var(--margin24) !important;
}
.mt32 {
    margin-top: var(--margin32) !important;
}
.mt48 {
    margin-top: var(--margin48) !important;
}
.mt60 {
    margin-top: var(--margin60) !important;
}
.mt80 {
    margin-top: var(--margin80) !important;
}
/* --------------- Margin Bottom ------------------ */
.mb2 {
    margin-bottom: var(--margin2) !important;
}
.mb .mb4 {
    margin-bottom: var(--margin4) !important;
}
.mb8 {
    margin-bottom: var(--margin8) !important;
}
.mb16 {
    margin-bottom: var(--margin16) !important;
}
.mb24 {
    margin-bottom: var(--margin24) !important;
}
.mb32 {
    margin-bottom: var(--margin32) !important;
}
.mb48 {
    margin-bottom: var(--margin48) !important;
}
.mb60 {
    margin-bottom: var(--margin60) !important;
}
.mb80 {
    margin-bottom: var(--margin80) !important;
}
/* --------------- Margin Left ------------------ */
.ml2 {
    margin-left: var(--margin2) !important;
}
.ml4 {
    margin-left: var(--margin4) !important;
}
.ml8 {
    margin-left: var(--margin8) !important;
}
.ml16 {
    margin-left: var(--margin16) !important;
}
.ml24 {
    margin-left: var(--margin24) !important;
}
.ml32 {
    margin-left: var(--margin32) !important;
}
.ml48 {
    margin-left: var(--margin48) !important;
}
.ml60 {
    margin-left: var(--margin60) !important;
}
.ml80 {
    margin-left: var(--margin80) !important;
}
/* --------------- Margin Right ------------------ */
.mr2 {
    margin-right: var(--margin2) !important;
}
.mr4 {
    margin-right: var(--margin4) !important;
}
.mr8 {
    margin-right: var(--margin8) !important;
}
.mr16 {
    margin-right: var(--margin16) !important;
}
.mr24 {
    margin-right: var(--margin24) !important;
}
.mr32 {
    margin-right: var(--margin32) !important;
}
.mr48 {
    margin-right: var(--margin48) !important;
}
.mr60 {
    margin-right: var(--margin60) !important;
}
.mr80 {
    margin-right: var(--margin80) !important;
}

/* ///////////////////////////////////////////////////////////////////

    기타 스타일

/////////////////////////////////////////////////////////////////// */
/* 로그인 박스 상단 중앙 정렬을 위해서 우측에 가상요소 너비 확보 */
.empty {
    width: 1.357rem; /* back버튼 가로 너비와 동일 */
}
/* 너비 100% */
.wall {
    width: 100% !important;
}
