@charset "utf-8";

/* ///////////////////////////////////////////////////////////////////

    초기화 기본

/////////////////////////////////////////////////////////////////// */
* {
    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;
}
