/* font */
@font-face {
	font-family: 'Spoqa Han Sans';
	font-weight: 700;
	src: local('Spoqa Han Sans Bold'), url('/web/css/font/SpoqaHanSansNeo-Bold.woff2') format('woff2'), url('/web/css/font/SpoqaHanSansNeo-Bold.woff') format('woff'), url('/web/css/font/SpoqaHanSansNeo-Bold.ttf') format('truetype');
}

@font-face {
	font-family: 'Spoqa Han Sans';
	font-weight: 500;
	src: local('Spoqa Han Sans Medium'), url('/web/css/font/SpoqaHanSansNeo-Medium.woff2') format('woff2'), url('/web/css/font/SpoqaHanSansNeo-Medium.woff') format('woff'), url('/web/css/font/SpoqaHanSansNeo-Medium.ttf') format('truetype');
}

@font-face {
	font-family: 'Spoqa Han Sans';
	font-weight: 400;
	src: local('Spoqa Han Sans Regular'), url('/web/css/font/SpoqaHanSansNeo-Regular.woff2') format('woff2'), url('/web/css/font/SpoqaHanSansNeo-Regular.woff') format('woff'), url('/web/css/font/SpoqaHanSansNeo-Regular.ttf') format('truetype');
}

@font-face {
	font-family: 'Spoqa Han Sans';
	font-weight: 300;
	src: local('Spoqa Han Sans Light'), url('/web/css/font/SpoqaHanSansNeo-Light.woff2') format('woff2'), url('/web/css/font/SpoqaHanSansNeo-Light.woff') format('woff'), url('/web/css/font/SpoqaHanSansNeo-Light.ttf') format('truetype');
}

@font-face {
	font-family: 'Spoqa Han Sans';
	font-weight: 100;
	src: local('Spoqa Han Sans Thin'), url('/web/css/font/SpoqaHanSansNeo-Thin.woff2') format('woff2'), url('/web/css/font/SpoqaHanSansNeo-Thin.woff') format('woff'), url('/web/css/font/SpoqaHanSansNeo-Thin.ttf') format('truetype');
}

@font-face {
	font-family: 'Spoqa Han Sans Neo';
	font-weight: 700;
	src: local('Spoqa Han Sans Bold'), url('/web/css/font/SpoqaHanSansNeo-Bold.woff2') format('woff2'), url('/web/css/font/SpoqaHanSansNeo-Bold.woff') format('woff'), url('/web/css/font/SpoqaHanSansNeo-Bold.ttf') format('truetype');
}

@font-face {
	font-family: 'Spoqa Han Sans Neo';
	font-weight: 500;
	src: local('Spoqa Han Sans Medium'), url('/web/css/font/SpoqaHanSansNeo-Medium.woff2') format('woff2'), url('/web/css/font/SpoqaHanSansNeo-Medium.woff') format('woff'), url('/web/css/font/SpoqaHanSansNeo-Medium.ttf') format('truetype');
}

@font-face {
	font-family: 'Spoqa Han Sans Neo';
	font-weight: 400;
	src: local('Spoqa Han Sans Regular'), url('/web/css/font/SpoqaHanSansNeo-Regular.woff2') format('woff2'), url('/web/css/font/SpoqaHanSansNeo-Regular.woff') format('woff'), url('/web/css/font/SpoqaHanSansNeo-Regular.ttf') format('truetype');
}

@font-face {
	font-family: 'Spoqa Han Sans Neo';
	font-weight: 300;
	src: local('Spoqa Han Sans Light'), url('/web/css/font/SpoqaHanSansNeo-Light.woff2') format('woff2'), url('/web/css/font/SpoqaHanSansNeo-Light.woff') format('woff'), url('/web/css/font/SpoqaHanSansNeo-Light.ttf') format('truetype');
}

@font-face {
	font-family: 'Spoqa Han Sans Neo';
	font-weight: 100;
	src: local('Spoqa Han Sans Thin'), url('/web/css/font/SpoqaHanSansNeo-Thin.woff2') format('woff2'), url('/web/css/font/SpoqaHanSansNeo-Thin.woff') format('woff'), url('/web/css/font/SpoqaHanSansNeo-Thin.ttf') format('truetype');
}

/* common */
html, body {
	margin: 0 auto;
	font-family: 'Spoqa Han Sans Neo', 'sans-serif';
	overflow-x: hidden;
}

a {
	text-decoration: none;
	outline: none;
}

a:hover, a:active {
	text-decoration: none;
}

/* body */
.container, .container-fluid {
	font-family: 'Spoqa Han Sans Neo', 'sans-serif';
	padding: 0;
}

/* scroll-top */
#scroll-top {
	background: #03C755 none repeat scroll 0 0;
	border: 0 none;
	border-radius: 50%;
	bottom: 50px;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
	color: #fff;
	height: 40px;
	opacity: 0;
	position: fixed;
	right: 40px;
	transition: opacity 0.2s ease-out 0s;
	width: 40px;
	z-index: 9;
	display: flex;
	align-items: center;
	justify-content: center;
}

#scroll-top i {
	color: #fff;
}

#scroll-top.show {
	opacity: 1;
}

/* spinner */
#loader {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 9999;
	background-color: #000;
	opacity: 0.7;
	display: none;
	align-items: center;
	justify-content: center;
}

#loader[style*="display: block"],
#loader[style*="display:flex"] {
	display: flex !important;
}

#loader .spinner {
	height: 60px;
	width: 60px;
	position: relative;
	-webkit-animation: rotation .6s infinite linear;
	-moz-animation: rotation .6s infinite linear;
	-o-animation: rotation .6s infinite linear;
	animation: rotation .6s infinite linear;
	border-left: 6px solid rgba(3, 199, 85, .15);
	border-right: 6px solid rgba(3, 199, 85, .15);
	border-bottom: 6px solid rgba(3, 199, 85, .15);
	border-top: 6px solid rgba(3, 199, 85, .8);
	border-radius: 100%;
}

/* spinner animation */
@-webkit-keyframes rotation {
	from {
		-webkit-transform: rotate(0deg);
	}
	to {
		-webkit-transform: rotate(359deg);
	}
}

@-moz-keyframes rotation {
	from {
		-moz-transform: rotate(0deg);
	}
	to {
		-moz-transform: rotate(359deg);
	}
}

@-o-keyframes rotation {
	from {
		-o-transform: rotate(0deg);
	}
	to {
		-o-transform: rotate(359deg);
	}
}

@keyframes rotation {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(359deg);
	}
}

/* dialog */
.modal {
	font-family: 'Spoqa Han Sans Neo', 'sans-serif';
	font-weight: 300;
	text-align: center;
}

.modal-header {
	border-bottom: 1px solid #dee2e6;
	padding: 1rem 1.5rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0;
}

.modal-header .close {
	outline: none;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	color: #000;
	text-shadow: 0 1px 0 #fff;
	opacity: 0.5;
	padding: 1rem 1.5rem;
	margin: -1rem -1.5rem -1rem auto;
}

.modal-header .close:hover {
	opacity: 0.75;
}

.modal-footer {
	border-top: 1px solid #dee2e6;
	padding: 1rem 1.5rem;
	display: flex;
	justify-content: flex-end;
	gap: 0.5rem;
}

.dialog-button {
	font-family: 'Spoqa Han Sans Neo', 'sans-serif';
	font-style: normal;
	font-weight: normal;
	color: #ffffff;
	background: #6c757d;
	border: 1px solid #6c757d;
	padding: 8px 16px 8px 16px;
	min-width: 80px;
}

.dialog-button:hover {
	background: #5a6268;
	border-color: #545b62;
}

.dialog-button-ok {
	font-family: 'Spoqa Han Sans Neo', 'sans-serif';
	font-style: normal;
	font-weight: normal;
	color: #ffffff;
	background: #03C755;
	border: 1px solid #03C755;
	padding: 8px 16px 8px 16px;
	min-width: 80px;
}

.dialog-button-ok:hover {
	background: #029F44;
	border-color: #027733;
}

/* gnb */
/* mobile */
#nav .navbar-toggler {
	outline: none;
	border: none;
}

#nav .navbar-toggler a {
	background-color: rgba(0, 0, 0, 0.0);
}

#nav .navbar-toggler a img {
	width: 26px;
	height: 26px;
}

#nav .navbar-nav > li > a {
	font-family: 'Spoqa Han Sans Neo', 'sans-serif';
	font-style: normal;
	font-weight: normal;
	font-size: 16px;
	line-height: 19px;
	color: #434343;
}

/* pc */
/* AdminLTE 3 스타일 적용 - 상단 메뉴 유지 */
#nav {
	font-family: 'Spoqa Han Sans Neo', 'sans-serif';
	position: absolute;
	width: 100%;
	height: 100px;
	background-color: #fff;
	margin-top: -4px;
	z-index: 9;
	border-bottom: 1px solid #dee2e6;
}

#nav .container {
	padding: 0 20px;
	max-width: 100%;
}

#nav .logo {
	width: 113px;
	height: 25px;
	vertical-align: top;
}

#nav .hello {
	float: left;
	margin-left: 10px;
	color: #828282;
	font-family: 'Spoqa Han Sans Neo', 'sans-serif';
	font-size: 14px;
	font-weight: 400;
}

#nav .navbar-nav {
	margin-top: 4px;
	display: flex;
	flex-wrap: nowrap;
	white-space: nowrap;
}

#nav .navbar-nav .nav-item {
	margin: 8px 4px;
	flex-shrink: 0;
	white-space: nowrap;
}

#nav .navbar-nav .nav-item .btn-group {
	margin: 0;
}

#nav .navbar-nav .nav-item .btn {
	padding: 6px 12px;
	font-size: 14px;
	line-height: 1.5;
}

/* 메뉴바 버튼 스타일 통일 */
#nav .navbar-nav .nav-item .btn-secondary {
	background-color: #029F44;
	border-color: #029F44;
	color: #ffffff;
}

#nav .navbar-nav .nav-item .btn-secondary:hover,
#nav .navbar-nav .nav-item .btn-secondary:focus {
	background-color: #027733;
	border-color: #027733;
	color: #ffffff;
}

#nav .navbar-nav .nav-item .btn-secondary:active {
	background-color: #015022;
	border-color: #015022;
	color: #ffffff;
}

/* 로그아웃 버튼 스타일 */
#nav .navbar-nav .nav-item.logout .btn-outline-secondary {
	background-color: #ffffff;
	border-color: #029F44;
	color: #029F44;
}

#nav .navbar-nav .nav-item.logout .btn-outline-secondary:hover,
#nav .navbar-nav .nav-item.logout .btn-outline-secondary:focus {
	background-color: #f0fdf7;
	border-color: #027733;
	color: #027733;
}

#nav .navbar-nav .nav-item.logout .btn-outline-secondary:active {
	background-color: #dcfce9;
	border-color: #027733;
	color: #027733;
}

/* 드롭다운 메뉴 스타일 */
#nav .navbar-nav .nav-item .dropdown-menu {
	background-color: #ffffff;
	border: 1px solid #dddddd;
	border-radius: 4px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
	margin-top: 4px;
	padding: 4px 0;
	min-width: 150px;
}

#nav .navbar-nav .nav-item .dropdown-item {
	color: #434343;
	font-family: 'Spoqa Han Sans Neo', 'sans-serif';
	font-size: 14px;
	padding: 8px 16px;
	white-space: nowrap;
}

#nav .navbar-nav .nav-item .dropdown-item:hover,
#nav .navbar-nav .nav-item .dropdown-item:focus {
	background-color: #f8f9fa;
	color: #3d3c3d;
}

#nav .navbar-nav .nav-item .dropdown-item:active {
	background-color: #e9ecef;
	color: #3d3c3d;
}

#nav .navbar-nav a,
#nav .navbar-nav button {
	font-family: 'Spoqa Han Sans Neo', 'sans-serif';
	font-style: normal;
	font-weight: normal;
	font-size: 14px;
	line-height: 19px;
}

#nav .navbar-nav a:active {
	background: none;
}

/* footer */
footer {
	margin-top: 40px;
	background-color: #ffffff;
}

footer .container-fluid {
	font-family: 'Spoqa Han Sans Neo', 'sans-serif';
	padding: 40px 0 40px 0;
}

footer .copy {
	color: #d7dde3;
	font-family: 'Spoqa Han Sans Neo', 'sans-serif';
	font-style: normal;
	font-weight: normal;
	font-size: 12px;
	line-height: 14px;
	margin-top: 15px;
}

#main {
	text-align: left;
	padding: 160px 0 5% 0;
}

#main .header {
	font-family: 'Spoqa Han Sans Neo', 'sans-serif';
	font-style: normal;
	font-weight: normal;
	text-align: center;
}

#main .header h2 {
	color: #202020;
	font-family: 'Spoqa Han Sans Neo', 'sans-serif';
	font-style: normal;
	font-size: 24px;
	font-weight: 500;
}

.input-default {
	font-family: 'Spoqa Han Sans Neo', 'sans-serif';
	font-style: normal;
	font-weight: normal;
	font-size: 14px;
	height: 38px;
	border: 1px solid #c1c4cc;
	outline: none;
	padding: 10px 20px 10px 20px;
}

.textarea-default {
	font-family: 'Spoqa Han Sans Neo', 'sans-serif';
	font-style: normal;
	font-weight: normal;
	border: 1px solid #c1c4cc;
	outline: none;
	padding: 10px 20px 10px 20px;
}

.select-default {
	font-family: 'Spoqa Han Sans Neo', 'sans-serif';
	font-style: normal;
	font-weight: normal;
	font-size: 14px;
	height: 38px;
	border: 1px solid #c1c4cc;
	outline: none;
	padding: 0 17px 0 17px;
	color: #828282;
}

/* 모든 검색창, 드롭다운, 입력 필드 폰트 크기 통일 (탭 폰트 크기와 동일: 14px) */
.form-control,
input[type="text"],
input[type="search"],
input[type="email"],
input[type="tel"],
input[type="number"],
select.form-control {
	font-size: 14px !important;
}

/* placeholder 폰트 크기 통일 */
.form-control::placeholder,
input[type="text"]::placeholder,
input[type="search"]::placeholder,
input[type="email"]::placeholder,
input[type="tel"]::placeholder {
	font-size: 14px !important;
}

/* 검색창 오른쪽 버튼 폰트 크기 통일 (버튼 크기는 유지) */
.input-group-append .btn,
.input-group-append .btn-primary,
.input-group-append .btn-default {
	font-size: 14px !important;
}

.button-default {
	font-family: 'Spoqa Han Sans Neo', 'sans-serif';
	font-style: normal;
	font-weight: normal;
	color: #ffffff;
	background: #3d3c3d;
	border: 1px solid #3d3c3d;
	padding: 10px 20px 10px 20px;
}

.button-default:hover {
	font-family: 'Spoqa Han Sans Neo', 'sans-serif';
	font-style: normal;
	font-weight: normal;
	color :#3d3c3d;
	background: #ffffff;
}

.button-default:active {
	font-family: 'Spoqa Han Sans Neo', 'sans-serif';
	font-style: normal;
	font-weight: normal;
}

.button-submit {
	font-family: 'Spoqa Han Sans Neo', 'sans-serif';
	font-style: normal;
	font-weight: normal;
	color: #ffffff;
	background: #029F44;
	border: 1px solid #027733;
	padding: 10px 40px 10px 40px;
}

.button-submit:hover {
	font-family: 'Spoqa Han Sans Neo', 'sans-serif';
	font-style: normal;
	font-weight: normal;
	color :#027733;
	background: #ffffff;
}

.button-submit:active {
	font-family: 'Spoqa Han Sans Neo', 'sans-serif';
	font-style: normal;
	font-weight: normal;
}

.form-group {
	text-align: left;
}

.form-inline div {
	margin-left: -15px;
}

.form-block {
	margin-top: 30px;
}

label {
	font-family: 'Spoqa Han Sans Neo', 'sans-serif';
	font-style: normal;
	font-weight: normal;
	margin: 0 0 -10px 25px;
}

@media (max-width: 450px) {
	#main {
		width: 80%;
	}
}

@media (max-width: 550px) {
	#main {
		width: 90%;
	}
}

@media (max-width: 767px) {
	footer .container-fluid {
		font-size: 12px;
	}
}

@media (max-width: 991px) {
	#nav {
		height: auto;
	}

	#nav .logo {
		margin-top: 2px;
	}

	#nav .navbar-nav {
		text-align: right;
		flex-wrap: wrap;
	}

	#nav .navbar-nav .sign {
		float: right;
	}

	#nav .navbar-nav .nav-item {
		margin: 4px;
		flex-shrink: 1;
	}

	#nav .navbar-nav a {
		color: #333333;
	}
}

/* IE10+ */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
}

/* AdminLTE 3 공통 스타일 - 카드 푸터 및 페이지네이션 */
#main .card-footer {
	background-color: #fff;
	border-top: 1px solid rgba(0,0,0,.125);
	padding: 0.75rem 1.25rem;
}

#main .pagination {
	margin: 0;
	justify-content: center;
}

#main .card-footer {
	display: flex;
	justify-content: center;
}

#main .pagination .page-link {
	color: #03C755;
	border-color: #dee2e6;
}

#main .pagination .page-item.active .page-link {
	background-color: rgba(2, 159, 68, 0.85); /* Floobe Green 600 */
	color: #ffffff;
	border-color: rgba(2, 159, 68, 0.85);
}

#main .pagination .page-item.disabled .page-link {
	color: #6c757d;
	pointer-events: none;
	cursor: auto;
	background-color: #fff;
	border-color: #dee2e6;
}

/* 검색 영역 공통 스타일 */
#main .card-body .input-group {
	max-width: 400px;
}

/* AdminLTE 3 공통 테이블 헤더 스타일 - 모든 목록 페이지에 통일 적용 */
#list .th {
	padding: 12px 15px;
	font-family: 'Spoqa Han Sans Neo', 'sans-serif';
	font-style: normal;
	font-weight: bold;
	font-size: 14px;
	color: #ffffff;
	background-color: #027733; /* Floobe Green 700 */
	border: none;
	border-radius: 0; /* border-radius 제거 */
	text-align: center;
	vertical-align: middle;
	margin: 0; /* 옆으로 삐져나가지 않도록 */
}

/* 제목 row hover 제거 - 카테고리 기준 통일 */
/* #list .th:hover {
	background-color: #3d5a8a;
} */

#list .th i {
	display: none;
	margin-left: 5px;
}

/* list-group-item active 스타일 (회원 목록 등) */
#list .list-group-item.active {
	background-color: #027733; /* Floobe Green 700 */
	border-color: #027733;
	border-radius: 0; /* border-radius 제거 */
	color: #ffffff;
	padding: 12px 15px;
	margin: 0; /* 옆으로 삐져나가지 않도록 */
}

#list .list-group-item.active h5,
#list .list-group-item.active strong {
	color: #ffffff;
	font-weight: bold;
	font-size: 14px;
	margin: 0;
}

#list .list-group-item.active span,
#list .list-group-item.active small {
	color: #ffffff;
	font-size: 13px;
}

/* list-group-item의 border-radius 제거 */
#list .list-group-item {
	border-radius: 0;
}

/* row.th 스타일 (주문 내역 등) */
#list .row.th {
	margin: 0;
	border-radius: 0;
}

/* row.item 스타일 - 가로줄이 옆으로 넘어가지 않도록 */
#list .row.item {
	margin-left: 0;
	margin-right: 0;
}

/* list-group-item도 동일하게 */
#list .list-group-item {
	margin-left: 0;
	margin-right: 0;
}
