* {
	font-family: 'NanumSquareNeo-Variable', sans-serif;
	font-size: 15px;
	color: #333;
	box-sizing: border-box;
}

html, body, ul, li, input, table, button {
	margin: 0;
	padding: 0;
}

ul, li {
	list-style: none;
}

a {
	height: inherit;
	color: inherit;
	font-size: inherit;
	text-decoration: none;
	display: inline-block;
}

span {
	font-size: inherit;
	color: inherit;
}

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-repeat: no-repeat;
	background-color: #fff;
	cursor: pointer;
}

select::-ms-expand {
	display: none;
}

a:focus, input:focus, button:focus, select:focus, textarea:focus {
	outline: none;
}

input[type='checkbox'], input[type='radio'], input[type='file'] {
	display: none;
}

input[type='text'], input[type='email'], input[type='number'], input[type='password'], input[type='date'], select {
	width: 100%;
	height: 40px;
	padding: 0 10px;
	border: 1px solid #ddd;
	border-radius: 10px;
	background-color: #fff;
}

input[type='date'] {
	cursor: pointer;
}

input[type='date']::-webkit-inner-spin-button {
	display: none;
	-webkit-appearance: none;
	appearance: none;
}

input[type='date']::-webkit-calendar-picker-indicator:focus {
	outline: none;
}

input[type='number']::-webkit-inner-spin-button,
input[type='number']:hover::-webkit-inner-spin-button {
	-webkit-appearance: none;
}

input::placeholder, input::-webkit-input-placeholder, input:-ms-input-placeholder, input:-moz-placeholder,
textarea::placeholder, textarea::-webkit-input-placeholder, textarea:-ms-input-placeholder, textarea:-moz-placeholder {
	color: #ddd;
}

input:read-only, input:disabled {
	background-color: #fafafa;
	color: #999;
}

button {
	padding: 0;
	border: 0;
	border-radius: 0;
	background-color: transparent;
	cursor: pointer;
}

button img {
	display: block;
}

textarea {
	width: 100%;
	border: 1px solid #ddd;
	margin: 0;
	padding: 10px;
	border-radius: 10px;
	resize: none;
}

div {
	position: relative;
}

table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}

table th, table td {
	vertical-align: middle;
	padding: 10px;
}

label {
	cursor: pointer;
	display: inline-block;
}

img {
	max-width: 100%;
	max-height: 100%;
	display: block;
}

body > .loading {
	position: fixed;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.3);
	z-index: 99999;
	text-align: center;
}

body > .loading img {
	position: absolute;
	width: 32px;
	height: 32px;
	top: 0;
	bottom: 0;
	margin: auto 0;
}

.d-none {
	display: none;
}