@charset "utf-8";

:root {
	--primary-color: #1a64cf;
	--seconary-color: #080808;
	--white-color: #fff;
	--font-size-30: 1.85em;
	--font-size-28: 1.75em;
	--font-size-24: 1.5em;
	--font-size-20: 1.25em;
	--font-size-18: 1.125em;
	--font-size-15: 0.95em;
	--font-size-14: 0.88em;
	--font-size-13: 0.82em;
}


/* ## layout ## */
body {
	overflow:hidden;
}
.vr-wrap {
	width: 100vw;
	height: 100vh;
	line-height: 1.2;
	letter-spacing: -0.5px;
}
.vr-nav {
	width:320px;
	height: 100%;
	box-shadow: -3px 0 5px rgba(0,0,0,0.1);
	position: fixed;
	right:0;
	top:0;
	background:#fff;
	transition: all 0.3s ease-in-out;
	z-index: 100;
}
.vr-nav.hide {
	right:-320px;
}
.vr-area {
	width: 100%;
	height: 100%;
}
.vr-header {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	background:var(--primary-color);
	height: 90px;
	padding:10px 20px;
}
.vr-logo {
	margin-bottom:10px;
}
.vr-title {
	font-size: var(--font-size-28);
	color: var(--white-color);
	font-weight: 600;
	text-align: center;
}
.vr-cont {
	border-left: 1px solid #d2d2d2;
	height: 100%;
}
.vr-nav-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 55px;
	background:var(--seconary-color);
	border-radius: 5px 0 0 5px;
	position: absolute;
	left:-30px;
	top:50%;
	transform:translateY(-50%);
}
.vr-nav-btn .icon-custom {
	color: var(--white-color);
	font-size: var(--font-size-18);
	margin-left:2px;
	transition: all 0.2s ease-in-out;
}
.vr-nav-btn.hide .icon-custom {
	transform:rotate(180deg);
}
::-webkit-scrollbar {
	width: 8px;
}
::-webkit-scrollbar-thumb {
	background: #c4c6c8;
}
::-webkit-scrollbar-track {
	background: #e9ecef;
}
@media all and (max-width: 500px) {
	.vr-nav {
		width: 280px;
	}
	.vr-nav.hide {
		right: -280px;
	}
}


/* ## tab ## */
.vr-tab-list {
	display: flex;
	align-items: center;
}
.vr-tab-list li {
	flex: 1;
	border-left:1px solid #494949;
}
.vr-tab-list li:first-child {
	border-left:none;
}
.vr-tab-lnk {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 50px;
	background:var(--seconary-color);
	color: var(--white-color);
	padding:0 10px;
	text-align: center;
}
.vr-tab-lnk.active {
	background:var(--white-color);
	color: var(--seconary-color);
	font-weight: 600;
}


/* ## content ## */
.vr-list {
	padding:20px;
	overflow-y: auto;
	max-height: calc(100vh - 175px);
}
.vr-card:not(:last-child) {
	margin-bottom:25px;
}
.vr-card-box {
	display: block;
}
.vr-card-box:focus {
	outline: none;
}
.vr-card-box .img {
	padding-top:48%;
	position: relative;
	overflow:hidden;
	border-radius: 5px;
	border:2px solid transparent;
	transition: all 0.2s ease-in-out;
}
.vr-card-box.active .img {
	border-color: var(--primary-color);
}
.vr-card-box .img img {
	position: absolute;
	left:50%;
	top:50%;
	transform:translate(-50%, -50%);
	width: 100%;
	max-width: 100%;
	transition: all 0.2s ease-in-out;
}
.vr-card:not(.opt-view) .vr-card-box.active .img img,
.vr-card:not(.opt-view) .vr-card-box:hover .img img {
	transform:translate(-50%, -50%) scale(1.12);
}
.vr-card:not(.opt-view) .vr-card-box .img::before {
	display: block;
	content:"";
	width: 100%;
	height: 100%;
	background:#000;
	opacity: 0;
	position: absolute;
	left:0;
	top:0;
	z-index: 1;
	transition: all 0.2s ease-in-out;
}
.vr-card:not(.opt-view) .vr-card-box.active .img::before,
.vr-card:not(.opt-view) .vr-card-box:hover .img::before {
	opacity: 0.4;
}
.vr-card-box .title {
	margin-top:8px;
	color: var(--primary-color);
	font-weight: 600;
	font-size: var(--font-size-18);
}
.vr-card-box .title .category {
	color: #9a9a9a;
	font-size: var(--font-size-13);
	margin-left:3px;
}
.vr-card-box .addr {
	color: #363636;
	font-size: var(--font-size-15);
	margin-top:3px;
}
.vr-map {
	width: 100%;
	height: 100%;
}
.vr-view-back {
	display: flex;
	align-items: center;
	padding:0 20px;
	height: 50px;
	border-bottom:1px solid #e5e5e5;
	font-size: var(--font-size-14);
	color: #a7a7a7;
}
.vr-view-back .icon-custom {
	font-size: 2em;
	margin-right:8px;
}
.vr-card.opt-view {
	padding:20px;
	margin:0;
	height: 217px;
}
.vr-view-list {
	background:#f7f7f7;
	border-top:1px solid #e5e5e5;
	overflow-y: auto;
	max-height: calc(100% - 340px);
}
.vr-view-list li {
	border-bottom:1px solid #e5e5e5;
}
.vr-view-list-lnk {
	display: block;
	padding:12px 20px 12px 20px;
	font-size: var(--font-size-13);
	position: relative;
}
.vr-view-list-lnk::before {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	font-weight: 400;
	width: 29px;
	height: 29px;
	border:1px solid #e5e5e5;
	border-radius: 100%;
	background: #fff;
	font-size: var(--font-size-13);
	color: #c2c2c2;
	position: absolute;
	left:20px;
	top:11px;
}
.vr-view-list-lnk.active {
	color: #000;
	font-weight: 600;
}
.vr-view-list-lnk.active::before {
	color: #000;
}

.vr-map-overlay {
	background:var(--white-color);
	border:1px solid #e83e22;
	border-radius: 5px;
	padding:20px;
	width: 300px;
	word-break: break-word;
	white-space: initial;
	position: relative;
	margin-top:-110%;
}
.vr-map-overlay .title {
	font-weight: 600;
	margin-bottom:15px;
	font-size: var(--font-size-15);
}
.vr-map-overlay .img {
	border-radius: 5px;
	overflow:hidden;
}
.vr-map-overlay .img img {
	vertical-align: middle;
	max-width: 100%;
}
.vr-map-overlay .addr {
	font-size: var(--font-size-15);
	margin-top:8px;
	min-height: 38px;
}
.vr-map-overlay .btn-box {
	display: flex;
	align-items: center;
	margin:10px -5px 0;
}
.vr-map-overlay .btn {
	flex:1;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 35px;
	background: #ffc7be;
	border-radius: 5px;
	margin:0 5px;
	font-size: var(--font-size-14);
	font-weight: 600;
}
.vr-map-overlay .close {
	position: absolute;
	right:10px;
	top:-15px;
	width: 30px;
	height: 30px;
	border-radius: 100%;
	background: #e83e22;
	display: flex;
	align-items: center;
	justify-content: center;
}
.vr-map-overlay .close .icon-custom {
	color: var(--white-color);
}

@media all and (max-width: 768px) {
	.vr-map-overlay {
		margin-top:-50%
	}
}


.vr-search {
	position: absolute;
	right:340px;
	top:20px;
	z-index: 20;
	transition: all 0.3s ease-in-out;
}
.vr-search.hide {
	right:20px;
}
.vr-search-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 43px;
	height: 43px;
	border-radius: 100%;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
	background:#fff;
	border:2px solid #fff;
	transition: all 0.2s ease-in-out;
	outline:none;
}
.vr-search-btn.active {
	border-color: var(--primary-color);
}
.vr-search-box {
	position: absolute;
	right:0;
	top:30px;
	transition: all 0.3s ease-in-out;
	opacity: 0;
	visibility: hidden;
}
.vr-search-box.active {
	top:50px;
	opacity: 1;
	visibility: visible;
}
.vr-search-item {
	display: flex;
	align-items: center;
	width: 250px;
	height: 43px;
	background: #fff;
	border-radius: 25px;
	overflow: hidden;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
}
.vr-search-item .input {
	height: 100%;
	padding:0 20px;
	font-size: var(--font-size-14);
	flex:1 1 auto;
	width: 100%;
	outline:none;
}
.vr-search-item .btn {
	display: flex;
	width: 54px;
	height: 43px;
	align-items: center;
	justify-content: center;
	outline:none;
}
@media all and (max-width: 768px) {
	.vr-search,
	.vr-search.hide {
		right:10px;
		top:10px;
	}
}

.vr-empty-list {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 100%;
	height: calc(100vh - 175px);
	padding-bottom:30px;
}
.vr-empty-list .text {
	margin-top:10px;
	font-size: var(--font-size-15);
	font-weight: 500;
}