@import url('https://fonts.googleapis.com/css?family=IBM+Plex+Sans:400,600&display=swap&subset=vietnamese');

html,
body {
	position: relative;
	height: 100%;
}

body {
	background: #fff;
	font-size: 14px;
	color: #000;
	margin: 0;
	padding: 0;
}

.rotate-5 {
	transform: rotate(-5deg);
}

h1,
h2,
#nav ul.main li a {
	font-family: 'IBM Plex Sans', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
}

a,
a:hover,
a:focus {
	text-decoration: none;
	color: currentColor;
}

.disable {
	overflow: hidden;
}

.place-card-btn,
.place-card-btn:hover {
	-webkit-transition: all .3s cubic-bezier(.29, .22, .11, 1.33);
	-moz-transition: all .3s cubic-bezier(.29, .22, .11, 1.33);
	transition: all .3s cubic-bezier(.29, .22, .11, 1.33);
}

/*************************************** nav ***************************************/

.menu {
	width: 50px;
	height: 50px;
	position: absolute;
	z-index: 21;
	right: 1%;
	/* margin-top: 3.5rem; */
	/* border: 2px solid #000; */
	/* background-color: #fff; */
}

.menu-label {
	margin-top: 2.5rem;
	/* background-color: #fff; */
}

.menu span {
	position: relative;
	margin-top: 9px;
	margin-bottom: 9px;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-left: -15px;
	margin-top: -1.5px;
}

.menu span,
.menu span::before,
.menu span::after {
	display: block;
	width: 26px;
	right: 0;
	height: 3px;
	background-color: #000;
	outline: 1px solid transparent;
	-webkit-transition-property: background-color, -webkit-transform;
	-moz-transition-property: background-color, -moz-transform;
	-o-transition-property: background-color, -o-transform;
	transition-property: background-color, transform;
	-webkit-transition-duration: 0.3s;
	-moz-transition-duration: 0.3s;
	-o-transition-duration: 0.3s;
	transition-duration: 0.3s;
}

.menu span::before,
.menu span::after {
	position: absolute;
	content: "";
}

.menu span::before {
	top: -9px;
	width: 20px
}

.menu span::after {
	top: 9px;
	width: 33px;

}

.menu.clicked span {
	background-color: transparent;
}

.menu.clicked span::before {
	-webkit-transform: translateY(9px) rotate(45deg);
	-moz-transform: translateY(9px) rotate(45deg);
	-ms-transform: translateY(9px) rotate(45deg);
	-o-transform: translateY(9px) rotate(45deg);
	transform: translateY(9px) rotate(45deg);
	width: 33px;
}

.menu.clicked span::after {
	-webkit-transform: translateY(-9px) rotate(-45deg);
	-moz-transform: translateY(-9px) rotate(-45deg);
	-ms-transform: translateY(-9px) rotate(-45deg);
	-o-transform: translateY(-9px) rotate(-45deg);
	transform: translateY(-9px) rotate(-45deg);
}

.menu.clicked span:before,
.menu.clicked span:after {
	background-color: orange;
}

.menu:hover {
	cursor: pointer;
}

#nav {
	background: #fff;
	position: fixed;
	z-index: 20;
	top: 0;
	right: 0;
	height: 100%;
	/* max-width: 250px; */
	width: 100%;
	padding: 100px 40px 60px 40px;
	overflow-y: auto;
	-webkit-transform: translateX(100%);
	-moz-transform: translateX(100%);
	-ms-transform: translateX(100%);
	-o-transform: translateX(100%);
	transform: translateX(100%);
	-webkit-transition: transform 0.55s cubic-bezier(0.785, 0.135, 0.15, 0.86);
	-moz-transition: transform 0.55s cubic-bezier(0.785, 0.135, 0.15, 0.86);
	-o-transition: transform 0.55s cubic-bezier(0.785, 0.135, 0.15, 0.86);
	transition: transform 0.55s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

#nav.show {
	-webkit-transform: translateX(0px);
	-moz-transform: translateX(0px);
	-ms-transform: translateX(0px);
	-o-transform: translateX(0px);
	transform: translateX(0px);
}

#nav.show ul.main li {
	-webkit-transform: translateX(0px);
	-moz-transform: translateX(0px);
	-ms-transform: translateX(0px);
	-o-transform: translateX(0px);
	transform: translateX(0px);
	opacity: 1;
}

.menu.clicked {
	position: fixed;
	z-index: 99;
}

#nav.show ul.main li:nth-child(1) {
	transition-delay: 0.15s;
}

#nav.show ul.main li:nth-child(2) {
	transition-delay: 0.3s;
}

#nav.show ul.main li:nth-child(3) {
	transition-delay: 0.45s;
}

#nav.show ul.main li:nth-child(4) {
	transition-delay: 0.6s;
}

#nav.show ul.main li:nth-child(5) {
	transition-delay: 0.75s;
}

#nav.show ul.main li:nth-child(6) {
	transition-delay: 0.9s;
}

#nav.show ul.main li:nth-child(7) {
	transition-delay: 1.05s;
}

#nav.show ul.main li:nth-child(8) {
	transition-delay: 1.2s;
}

#nav.show ul.main li:nth-child(9) {
	transition-delay: 1.35s;
}

#nav.show .about,
#nav.show .social,
#nav.show ul.sub {
	-webkit-transform: translateY(0px);
	-moz-transform: translateY(0px);
	-ms-transform: translateY(0px);
	-o-transform: translateY(0px);
	transform: translateY(0px);
	opacity: 1;
	transition-delay: .85s;
}

@media (min-width: 667px) {
	#nav {
		padding: 120px 30px 70px 20px;
	}
}

#nav ul.main {
	list-style-type: none;
}

#nav ul.main li {
	-webkit-transform: translateX(40px);
	-moz-transform: translateX(40px);
	-ms-transform: translateX(40px);
	-o-transform: translateX(40px);
	transform: translateX(40px);
	opacity: 0;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
	float: none;
	list-style: circle;
	color: #fff
}

#nav ul.main li:last-of-type {
	margin-bottom: 0px;
}

#nav ul.main li a {
	color: #000;
	text-decoration: none;
	/* text-transform: uppercase; */
	font-size: 2.5rem;
	display: block;
	padding: 1rem 0;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

#nav ul.main li a span {
	color: orange;
}

#nav ul.main li a:hover {
	color: orange;
}

#nav ul.sub {
	list-style-type: none;
	margin-top: 40px;
	-webkit-transform: translateY(30px);
	-moz-transform: translateY(30px);
	-ms-transform: translateY(30px);
	-o-transform: translateY(30px);
	transform: translateY(30px);
	opacity: 0;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

#nav ul.sub li {
	margin-bottom: 10px;
}

#nav ul.sub li:last-of-type {
	margin-bottom: 0px;
}

#nav ul.sub li a {
	color: #ffffff;
	letter-spacing: 1px;
	font-size: 0.9rem;
	text-decoration: none;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

#nav ul.sub li a:hover {
	color: orange;
}

.overlay {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 7;
	width: 100%;
	height: 100%;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	background-color: #603e82;
	opacity: 0;
	visibility: hidden;
}

.overlay.show {
	opacity: 0.8;
	visibility: visible;
}

.navbar-brand {
	width: 200px;
}

nav {
	transition: all 0.5s;
}

nav.scrollUp {
	transform: translateY(-80px);
}

/*************************************** Intro ***************************************/

#intro-container {
	/* margin-top: 5rem; */
	padding: 3rem 0;
	background: url(../img/intro/intro-bg.svg) no-repeat bottom left / cover;
}

path {
	transition: .5s fill;
	fill: #000;
	stroke: #000;
	stroke-width: 5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

#intro-text * {
	fill-opacity: 0;
	transition: fill-opacity .5s;
}

#intro-text.finished * {
	fill-opacity: 1;
}

.svgAnimation {
	position: absolute;
	z-index: 10;
	bottom: 0;
	right: 0;
}

.intro-title {
	color: #ffc310;
	font-size: 4rem;
}

.slider-holder {
	border-bottom: 100px solid #fff;
	border-top: 10px solid #fff;
	border-left: 10px solid #fff;
	border-right: 10px solid #fff;
}

/*************************************** Detail ***************************************/

.detail-title {
	color: #e23072;
}

/*************************************** Cuisine & Scenery ***************************************/

.slide-container {
	overflow: hidden;
}

.slide-title {
	background: -webkit-linear-gradient(#d43e96, #f3913d);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

#special-text * {
	fill-opacity: 0;
	transition: fill-opacity .5s;
}

#special-text.finished * {
	fill-opacity: 1;
}

.special-text-holder {
	border-radius: 10px;
	z-index: 1;
	background: #fff;
	color: #000;
	right: 0;
	width: 75%;
	padding: 1.5rem;
	bottom: 1rem;
}

.swiper-button-next,
.swiper-button-prev {
	outline: none !important;
}

.swiper-button-next:after,
.swiper-button-prev:after {
	font-size: 1rem !important;
	color: white;
	background: red;
	padding: 1rem 1.5rem;
	border-radius: 50%;
	border: 2px solid #fff;
}

/*************************************** Contact ***************************************/

#contact {
	background: #f9a02d;
}


select,
input {
	border-top: none;
	border-left: none;
	border-right: none;
	border-bottom: 1px solid #ffffff;
	font-size: .9rem;
}

textarea {
	border: none;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

input[type=number] {
	-moz-appearance: textfield;
}

input:focus,
select:focus {
	outline: none !important;
}

small {
	font-size: .7rem
}

label {
	font-size: .8rem;
	margin-bottom: 0;
}

.sending-button {
	padding: 1rem 2rem;
	background: #bd0a0a;
	color: #fff;
	text-align: center;
	border-radius: 10px;
	cursor: pointer;
	border: none;
	width: 100%;
}

.sending-button:hover,
.sending-button:focus {
	background: #840d0d;
}

/*************************************** breakpoint ***************************************/


@media (min-width: 576px) {
	.special-text-holder {
		position: relative;
		right: 0;
	}

	#special-container {
		background: #fff;
	}
}

@media (min-width:768px) {
	.special-text-holder {
		position: absolute;
		right: 1.5rem;
	}
}

@media (min-width: 992px) {
	.special-text-holder {
		position: absolute;
		right: 3rem;
	}

	#special-container {
		background: url(../img/slide/slide-bg.svg) no-repeat top left / contain;
	}
}