* {
    margin: 0px;
    padding: 0px;
    position: relative;
    list-style: none;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent !important;
}

a {
    text-decoration: none;
}

html {
    font-size: 62.5%
}

body {
    font-size: 1.6rem;
    font-family: 'pretendard' !important; /* 기본 폰트 설정 */
    color: var(--dark);
}

input[type='text'],
input[type='password'],
textarea{
    font-family: 'pretendard' !important; /* 기본 폰트 설정 */
}

img {
    max-width: 100%;
}

em {
    font-style: normal;
}

button {
    cursor: pointer;
    padding: 0;
    font-family: 'pretendard' !important;
    border: none;
}

a {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    -ms-user-select: none;
    -moz-user-select: -moz-none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    user-select: none;
}

select {
    -webkit-appearance:none; /* for chrome */
    -moz-appearance:none; /*for firefox*/
    appearance:none;
    border: none;
    font-family: 'pretendard' !important; /* 기본 폰트 설정 */
 }
 
 select::-ms-expand{
    display:none;/*for IE10,11*/
 }

.fl {
    float: left;
}

.fr {
    float: right;
}

.clear:after {
    content: "";
    clear: both;
    display: block;
    width: 100%;
    height: 0px;
    overflow: hidden;
}

.w100 {
    width: 100%;
}

.w70 {
    width: 70%;
}

.w63 {
    width: 63%;
}

.w65 {
    width: 65%;
}

.w60 {
    width: 60%;
}

.w55 {
    width: 55%;
}

.w50 {
    width: 50%;
}

.w45 {
    width: 45%;
}

.w40 {
    width: 40%;
}

.w37 {
    width: 37%;
}

.w35 {
    width: 35%;
}

.w33 {
    width: 33.3%;
}

.w30 {
    width: 30%;
}

.w26 {
    width: 26.6666666%;
}

.w25 {
    width: 25%;
}

.w20 {
    width: 20%;
}

.w16 {
    width: 16.6666666%;
}

.w15 {
    width: 15%;
}

.w10 {
    width: 10%;
}

.w5 {
    width: 5%;
}

.im {
    margin: 10px;
}

.imx {
    margin: 0px 30px;
}

.imxHarf {
    margin: 0px 10px;
}

.ip {
    padding: 20px;
}

/* padding */
.py-150 {
    padding-top: 150px !important;
    padding-bottom: 150px !important;
}

.py-100 {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
}

.py-80 {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
}

.py-50 {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
}

.py-30 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}

.py-20 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

.py-10 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.pl-40 {
    padding-left: 40px !important;
}

.pl-20 {
    padding-left: 20px !important;
}

.pl-10 {
    padding-left: 10px !important;
}

.pr-20 {
    padding-right: 20px !important;
}

.pr-10 {
    padding-right: 10px !important;
}

.px-40 {
    padding-left: 40px !important;
    padding-right: 40px !important;
}

.px-30 {
    padding-left: 30px !important;
    padding-right: 30px !important;
}

.px-20 {
    padding-left: 20px !important;
    padding-right: 20px !important;
}

.px-8 {
    padding-left: 8px !important;
    padding-right: 8px !important;
}

/* margin */
.my-150 {
    margin-top: 150px !important;
    margin-bottom: 150px !important;
}

.my-100 {
    margin-top: 100px !important;
    margin-bottom: 100px !important;
}

.my-50 {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
}

.my-20 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
}

.my-10 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}

.mt-200 {
    margin-top: 200px !important;
}

.mt-150 {
    margin-top: 150px !important;
}

.mt-120 {
    margin-top: 120px !important;
}

.mt-100 {
    margin-top: 100px !important;
}

.mt-80 {
  margin-top: 80px !important;
}

.mt-50 {
  margin-top: 50px !important;
}

.mt-30 {
    margin-top: 30px !important;
}

.mt-20 {
    margin-top: 20px !important;
}

.mt-10 {
    margin-top: 10px !important;
}

.mb-200 {
    margin-bottom: 200px !important;
}

.mb-150 {
    margin-bottom: 150px !important;
}

.mb-100{
    margin-bottom: 100px !important;
}

.mb-80{
    margin-bottom: 80px !important;
}

.mb-50{
    margin-bottom: 50px !important;
}

.mb-30 {
    margin-bottom: 30px !important;
}

.mb-20 {
    margin-bottom: 20px !important;
}

.mb-10 {
    margin-bottom: 10px !important;
}

.mb-8 {
    margin-bottom: 8px !important;
}

.ml-10 {
    margin-left: 10px !important;
}

.mr-10 {
    margin-right: 10px !important;
}

.m-auto {
  margin: auto;
}

.mx-20 {
    margin-left: 20px !important;
    margin-right: 20px !important;
}

/* flex set */
.row {
    width: 100%;
    max-width: 1064px; /* px 20px */
    margin: auto;
    padding: 0 20px;
}

.flexBox{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.flexBox2{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
}

.flexBox3{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
}

.flexBox4{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.flexBox5{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
}

.flexCol {
  flex-direction: column;
}

.flexRow {
  flex-direction: row;
}

.flexWrap {
  flex-wrap: wrap !important;
}

.flexNoWrap {
    flex-wrap: nowrap !important;
}

.alignStretch {
    align-items: stretch !important;
}

.alignStart {
    align-items: flex-start !important;
}

.alignEnd {
    align-items: flex-end !important;
}

.gap-10 {
    gap: var(--gap-10) !important;
}

.gap-20 {
    gap: var(--gap-20) !important;
}

.gap-30 {
    gap: var(--gap-30) !important;
}

.gap-50 {
    gap: var(--gap-50) !important;
}

.gx-10 {
    column-gap: var(--gap-10) !important;
}

.gx-20 {
    column-gap: var(--gap-20) !important;
}

.gx-30 {
    column-gap: var(--gap-30) !important;
}

.gy-10 {
    row-gap: var(--gap-10) !important;
}

.gy-20 {
    row-gap: var(--gap-20) !important;
}

.gy-30 {
    row-gap: var(--gap-30) !important;
}

.gy-50 {
    row-gap: var(--gap-50) !important;
}

.skipTextBox{
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-wrap: break-word;
}

input.checkType {
    -webkit-appearance: none;
    -moz-appearance: none;
    -o-appearance: none;
    appearance: none;
    outline: none;
    box-shadow: none;
    background: none;
    background: url("/public/assets/icons/icon-checkbox.svg") no-repeat;
    background-size: cover;
    background-position: center;
    transition: all 0.3s;
}

input.checkType:checked {
    background: url("/public/assets/icons/icon-checkbox2.svg") no-repeat;
    background-size: cover;
    border: none;
}

/* font setting */
@font-face {
	font-family: 'Pretendard';
	font-weight: 300;
	src: url('../fonts/Pretendard-Light.woff2') format('woff2');
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 400;
	src: url('../fonts/Pretendard-Regular.woff2') format('woff2');
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 500;
	src: url('../fonts/Pretendard-Medium.woff2') format('woff2');
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 600;
	src: url('../fonts/Pretendard-SemiBold.woff2') format('woff2');
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 700;
	src: url('../fonts/Pretendard-Bold.woff2') format('woff2');
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 900;
	src: url('../fonts/Pretendard-ExtraBold.woff2') format('woff2');
}

@font-face {
    font-family: 'Ohsquare';
    font-weight: normal;
    src: url('../fonts/Cafe24OhsquareAir-v2.0.woff2') format('woff2');
}

@font-face {
    font-family: 'Ohsquare-bold';
    font-weight: normal;
    src: url('../fonts/Cafe24Ohsquare-v2.0.woff2') format('woff2');
}

@font-face {
    font-family: "Playwrite NZ Basic";
    font-weight: 100;
    font-style: normal;
}

@media (max-width: 1024px) { 
}

@media (max-width: 950px) {
    html {
        font-size: 56.25%;
    }

    /* padding */
    .py-150 {
        padding-top: 120px !important;
        padding-bottom: 120px !important;
    }

    .py-100 {
        padding-top: 80px !important;
        padding-bottom: 80px !important;
    }

    .py-80 {
        padding-top: 60px !important;
        padding-bottom: 60px !important;
    }

    .py-50 {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

    .py-20 {
        padding-top: 15px !important;
        padding-bottom: 15px !important;
    }    

    .px-40 {
        padding-left: 30px !important;
        padding-right: 30px !important;
    }

    .px-30 {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .px-20 {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    /* margin */
    .my-150 {
        margin-top: 120px !important;
        margin-bottom: 120px !important;
    }

    .my-100 {
        margin-top: 80px !important;
        margin-bottom: 80px !important;
    }

    .mt-200 {
        margin-top: 180px !important;
    }

    .mt-150 {
        margin-top: 120px !important;
    }

    .mt-120 {
        margin-top: 100px !important;
    }

    .mt-100 {
        margin-top: 80px !important;
    }

    .mt-80 {
        margin-top: 60px !important;
    }

    .mt-50 {
        margin-top: 40px !important;
    }

    .mb-200 {
        margin-bottom: 150px !important;
    }

    .mb-150 {
        margin-bottom: 120px !important;
    }

    .mb-100{
        margin-bottom: 80px !important;
    }

    .mb-80{
        margin-bottom: 60px !important;
    }
}

@media (max-width: 768px) {
    .row .row {
        padding: 0 10px;
    }

    /* padding */
    .py-150 {
        padding-top: 100px !important;
        padding-bottom: 100px !important;
    }

    .py-100 {
        padding-top: 50px !important;
        padding-bottom: 50px !important;
    }

    .py-80 {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

    .py-50 {
        padding-top: 30px !important;
        padding-bottom: 30px !important;
    }

    /* margin */
    .my-150 {
        margin-top: 100px !important;
        margin-bottom: 100px !important;
    }

    .my-100 {
        margin-top: 50px !important;
        margin-bottom: 50px !important;
    }

    .mt-200 {
        margin-top: 140px !important;
    }    

    .mt-150 {
        margin-top: 100px !important;
    }

    .mt-120 {
        margin-top: 80px !important;
    }

    .mt-100 {
        margin-top: 50px !important;
    }

    .mb-200 {
        margin-bottom: 120px !important;
    }

    .mb-150 {
        margin-bottom: 100px !important;
    }

    .mb-100{
        margin-bottom: 50px !important;
    }
}

@media (max-width: 520px) {
    .row .row {
        padding: 0 6px;
    }    
}