/* 페이지 로딩시 필요한 기본 폰트 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100..900&display=swap');

/* 페이지 로딩시 필요한 폰트가 아닌 경우 lazy_font.css에서 로딩 */
/* 
@import url('https://fonts.googleapis.com/css2?family=Alata&family=Noto+Sans+KR:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Alata&family=Lacquer&family=Noto+Sans+KR:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Alata&family=Knewave&family=Lacquer&family=Noto+Sans+KR:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Alata&family=Damion&family=Knewave&family=Lacquer&family=Noto+Sans+KR:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Nanum+Pen+Script&display=swap'); 
*/

:root {
	--font-color-white: #FFF;
	--font-color-darkgrey: #767676;
	--font-color-lightgrey: #A5A5A5;
	--font-color-offblack: #353535;
	--font-color-black: #000;

	--max-screen-width: 600px;
}

* {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
	font-style: normal;
}

html {
	height: 100%;
}

body {
	height: 100%;
	font-size: 100%;
	letter-spacing: -0.02em;
	font-family: "Noto Sans KR", sans-serif;
	font-optical-sizing: auto;
	-ms-overflow-style: none;
}

::-webkit-scrollbar {
	display: none;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
	font-size: 0;
}

.wrap {
	position: relative;
    max-width: var(--max-screen-width);
	height: 100%;
	margin: 0 auto;
	overflow: hidden;
    color: var(--font-color-offblack);
}

img {
	max-width: 100%;
}

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

input {
	outline: none;
}

table caption {
	position: absolute;
	left: -99999999vw;
}

*::placeholder {
	color: #787e85;
	font-weight: 400;
	font-size: 14px;
}

figcaption {
	height: 0;
	overflow: hidden;
}

/* ol, ul {
	list-style: none;
} */


table {
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: fixed;
}

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

button {
	border: 0;
	cursor: pointer;
	background: none;
}

.is-blind {
	position: absolute;
	left: -9999em;
}

.italic {
	font-style: italic;
}

.themeTxtPoint01 {
	color: #f70f66;
}

[class*=d-flex] {
	display: flex;
}
[class*=d-flex].f-wrap {
	flex-wrap: wrap;
}

.prt {
	font-family: Pretendard;
}

#map * {
	max-width: 180px;
	box-sizing: content-box;
	text-align: center;
}
#map .info-window {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 25px;
	font-size: 13px;
}

.d-block {
	display: block;
}

.d-flex-s-s {
	justify-content: flex-start;
	align-items: flex-start;
}
.d-flex-s-c {
	justify-content: flex-start;
	align-items: center;
}
.d-flex-s-e {
	justify-content: flex-start;
	align-items: end;
}
.d-flex-c-s {
	justify-content: center;
	align-items: flex-start;
}
.d-flex-c-c {
	justify-content: center;
	align-items: center;
}
.d-flex-c-e {
	justify-content: center;
	align-items: end;
}
.d-flex-e-s {
	justify-content: end;
	align-items: flex-start;
}
.d-flex-e-c {
	justify-content: end;
	align-items: center;
}
.d-flex-e-e {
	justify-content: end;
	align-items: end;
}
.d-flex-sb-s {
	justify-content: space-between;
	align-items: flex-start;
}
.d-flex-sb-c {
	justify-content: space-between;
	align-items: center;
}
.d-flex-sb-e {
	justify-content: space-between;
	align-items: end;
}

.tac {
	text-align: center !important;
}

.ovh {
	overflow: hidden;
}

.pageTab + *[class$=-container] {
	height: calc(100% - 36px);
	overflow-y: auto;
}

.p-sticky {
	position: sticky;
	top: 0;
}

.p-relative {
	position: relative;
}

.mt-5 {
	margin-top: 5px;
}
.mt-10 {
	margin-top: 10px;
}
.mt-15 {
	margin-top: 15px;
}
.mt-20 {
	margin-top: 20px;
}
.mt-25 {
	margin-top: 25px;
}
.mt-30 {
	margin-top: 30px;
}

.ml-5 {
	margin-left: 5px;
}
.ml-10 {
	margin-left: 10px;
}
.ml-15 {
	margin-left: 15px;
}
.ml-20 {
	margin-left: 20px;
}
.ml-25 {
	margin-left: 25px;
}
.ml-30 {
	margin-left: 30px;
}

.mb-5 {
	margin-bottom: 5px;
}
.mb-10 {
	margin-bottom: 10px;
}
.mb-15 {
	margin-bottom: 15px;
}
.mb-20 {
	margin-bottom: 20px;
}
.mb-25 {
	margin-bottom: 25px;
}
.mb-30 {
	margin-bottom: 30px;
}

.mr-5 {
	margin-right: 5px;
}
.mr-10 {
	margin-right: 10px;
}
.mr-15 {
	margin-right: 15px;
}
.mr-20 {
	margin-right: 20px;
}
.mr-25 {
	margin-right: 25px;
}
.mr-30 {
	margin-right: 30px;
}

.h-centered {
    left: 50%;
    transform: translate(-50%, 0);
}
.v-centered {
    top: 50%;
    transform: translate(0, -50%);
}

.padding-16 {
	padding: 16px;
}
.h-padding-16 {
	padding-left: 16px;
	padding-right: 16px;
}
.v-padding-16 {
	padding-top: 16px;
	padding-bottom: 16px;
}
.no-top-padding {
	padding-top: 0;
}
.no-btm-padding {
	padding-bottom: 0;
}
.no-padding {
	padding: 0;
}
.no-margin {
	margin: 0;
}