@font-face {
	font-family: "Brush Script Std";
	src: url("../fonts/BrushScriptStd.otf");
}
* {
	box-sizing: border-box;
}
html, body {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}
body {
	background: #FFFFFF;
	font-family: Roboto;
}
body[data-popup="order"],
body[data-popup="language"] {
	overflow: hidden;
}
body.overlay {overflow: hidden;}
a {
	text-decoration: none;
	color: var(--brand-text-color);
}
a:hover {color: #b70e0e;}
.no_selection {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.invisible {opacity: 0;}

:root {
	--header-height: 90px;
	--header-row-height: var(--header-height);
	--footer-height: 80px;
	--brand-color: #b31010;
	--brand-text-color: #bc0404;
	--content-container-height: calc(100vh - var(--header-height) - var(--footer-height));
}

#header {
	display: flex;
	width: 100%;
	background-color: #b31010;
	background: linear-gradient(135deg, #c70000 0%,#7b0001 100%);
	height: var(--header-height);
	white-space: nowrap;
	z-index: 50;
}
#language_chinese {
	font-family: 微軟正黑體;
}
#header a {
	display: contents;
}
#header #title {
	display: flex;
	height: var(--header-row-height);
	box-sizing: border-box;
	padding: 17px 0;
	margin-left: 40px;
}
#header #title > svg {
	fill: #edff00;
	height: 100%;
}
#nav {
	margin-right: 2px;
}

.nav-item {
	display: inline-block;
	padding: 0 30px;
	margin: 0 -2px;
	font-size: 18px;
	font-weight: 300;
	line-height: 90px;
	color: #FFF;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 1px;
	cursor: pointer;
}
.nav-item:hover {background: rgba(0, 0, 0, 0.07);}

.nav-item.nav-selected {background: rgba(0, 0, 0, 0.12);}

#footer {
	position: relative;
	background: #1d1d1d;
	background: linear-gradient(45deg, #1f1f1f 0%, #191919 100%);
	color: #7D7D7D;
	padding: 32px 16px;
	font-size: 14px;
	white-space: nowrap;
	height: var(--footer-height);
	box-sizing: border-box;
}

#footer_content, #footer_content_alt {
	display: inline-block;
	width: 50%;
	font-size: 12px;
}

#footer_content_alt {
	text-align: right;
}

#footer_content_social {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.footer_content_social_item {
	margin: 0 7px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}

.footer_content_social_item > svg {
	height: 22px;
}

.footer_content_social_item.social_email > svg {
	fill: #404040;
}
.footer_content_social_item.social_apple > svg {
	fill: #7D7D7D;
	transform: scale(0.88) translateY(-0.5px);
}

#language_container {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 100;
	width: 650px;
	height: 500px;
	background: #FFFFFF;
	border-radius: 2px;
	box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);
}

#contact_title, .popup_header {
	background: var(--brand-color);
	padding: 20px;
	font-size: 18px;
	color: #FFFFFF;
	box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.1);
	border-radius: 2px 2px 0 0;
	z-index: 1;
}
.popup_header {text-align: center;}
#contact_form {
	position: relative;
	padding: 20px 15px;
}
#contact_overlay {
	position: absolute;
	display: none;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #FFFFFF;
	z-index: 10;
}
#contact_loading {
	position: absolute;
	display: none;
	top: 50%;
	left: 50%;
	margin: -20px;
	z-index: 20;
}

.contact_textfield, .contact_textarea {
	position: relative;
	padding: 10px 0;
}
.contact_recaptcha {
	position: relative;
	padding: 0 0 10px 0;
}
.contact_textfield input, textarea {
	border: none;
	outline: none;
	border-bottom: 1px solid rgba(0, 0, 0, 0.15);
	padding: 4px 0;
	font-family: Roboto;
	font-size: 16px;
	background: linear-gradient(to bottom, rgba(255,255,255,0) 95%, #B40000 0%) no-repeat;
	background-position: -620px 0;
	width: 620px;
}
.contact_textarea textarea {
	resize: none;
	height: 154px;
	background: linear-gradient(to bottom, rgba(255,255,255,0) 99.3%, #B40000 0%) no-repeat;
	background-position: -620px 0;
}
.contact_textfield input,
.contact_textarea textarea,
.contact_textfield input::-webkit-input-placeholder,
.contact_textfield textarea::-webkit-input-placeholder {
	transition-duration: .2s;
	transition-timing-function: cubic-bezier(.4,0,.2,1);
}
.contact_textfield input:focus::-webkit-input-placeholder,
.contact_textarea textarea:focus::-webkit-input-placeholder {
	transform: translateY(-20px);
	font-size: 12px;
	color: #b40001;
}
.contact_textfield input:focus,
.contact_textarea textarea:focus {
	background-position-x: 0;
}

#contact_buttons {
	width: 650px;
	margin: 0 0 0 -15px;
	padding: 5px 0;
	border-top: 1px solid #ccc;
}
.contact_button {
	display: inline-block;
	min-width: 88px;
	height: 36px;
	color: #b40001;
	text-align: center;
	line-height: 36px;
	border-radius: 2px;
	text-transform: uppercase;
	cursor: pointer;
}
.contact_button:hover {background-color: rgba(0, 0, 0, 0.12);}
.contact_button.focused {background-color: rgba(153, 153, 153, 0.4);}
#contact_submit {
	float: right;
	margin-right: 15px;
}

#nav_toggle {
	display: none;
	background: url(../assets/ic_menu.png) no-repeat;
	background-size: 32px;
	height: 36px;
	width: 36px;
	vertical-align: middle;
	margin-left: 16px;
	cursor: pointer;
}
#nav_overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.65);
	z-index: 40;
}

#language_select {
	height: calc(100% - 62px);
	display: table;
	width: 100%;
	text-align: center;
}

.language_item {
	display: table-cell;
	width: 50%;
	vertical-align: middle;
	font-size: 52px;
	font-weight: 300;
	cursor: pointer;
    color: #000000;
}

.language_item:first-child {
	border-right: 3px solid rgba(156, 0, 1, 0.7);
}
.language_item:hover {
	background: #efefef;
    color: #000000;
}
#language_english.nav-item, #language_chinese.nav-item {
	font-size: 13px;
}
/* Order popup start */
#order_popup {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s;
}
body[data-popup="order"] #order_popup {
	opacity: 1;
	pointer-events: auto;
}

#order_popup_background {
	background: rgba(0, 0, 0, 0.5);
	position: absolute;
	width: 100vw;
	height: 100vh;
}
#order_popup_content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #000000;
	z-index: 1;
}
.popup_container {
	display: flex;
	flex-direction: row;
	justify-content: center;
	padding: 40px 30px;
	background: #FFFFFF;
}

.order_icons {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	height: 100%;
}

.order_icon_cell {
	display: flex;
	flex-direction: column;
	margin: 0 25px;
	padding: 25px 0;
	align-items: center;
}
.order_icon_header {
	font-size: 36px;
	font-weight: 300;
	text-align: center;
	margin-bottom: 25px;
}
#order_icon_pickup,
#order_icon_delivery {
	display: flex;
	flex-direction: column;
}
#order_icon_separator {
	border-right: 1px solid #9A9A9A;
	margin: 0 50px;
}

.order_icon_cell_inner {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	background: #000000;
	transform: scale(0.95);
	transition: transform 0.2s;
}
.order_icon_cell:hover .order_icon_cell_inner {
	transform: scale(1);
}
.order_icon_cell label {
	text-align: center;
	margin-top: 15px;
	color: #000000;
	cursor: pointer;
}
.order_icon_cell_inner svg {
	transition: transform 0.2s;
}

#order_icon_pickup svg {
	width: 130px;
}
#order_icon_ubereats .order_icon_cell_inner {
	background: #132227;
}
#order_icon_ubereats svg {
	width: 110px;
}
#order_icon_doordash .order_icon_cell_inner {
	background: #EB1700;
}
#order_icon_doordash svg {
	width: 150px;
}
#order_icon_skip .order_icon_cell_inner {
	background: #FF8000;
}
#order_icon_skip svg {
	width: 90px;
}
/* Order popup end */
#toast {
	display: none;
	position: fixed;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	min-height: 48px;
	min-width: 288px;
	max-width: 568px;
	margin: 5px 0;
	padding: 0 24px;
	color: #FFFFFF;
	background-color: #323232;
	font-size: 14px;
	line-height: 48px;
	border-radius: 2px;
	z-index: 100;
	animation: 0.5s toast;
	animation-timing-function: cubic-bezier(0.0, 0.0, 0.2, 1);
}
@keyframes toast {
	from {
		opacity: 0;
		transform: translate(-50%, 100%);
	}
	to {
		opacity: 1;
		transform: translate(-50%, 0%);
	}
}

/* screen width transition */
#header, #header #title, .nav-item, .language_item, #header #title > svg {
	transition-timing-function: cubic-bezier(0.4, 0.0, 0.2, 1);
	transition-duration: 0.3s;
}
#header {
	transition-property: height;
}
#header #title {
	transition-property: font-size, line-height;
}
.nav-item {
	transition-property: padding, line-height, font-size;
}
#header #title > svg {
	transition-property: height;
}
@media screen and (max-width: 1200px) {
	:root {
		--header-height: 70px;
	}
	#header {
		height: var(--header-height);
	}
	#header #title {
		font-size: 36px;
		line-height: 70px;
		padding: 12px 0;
	}
	.nav-item {
		font-size: 16px;
		padding: 0 15px;
		line-height: 70px;
	}

	.order_icon_header {
		font-size: 32px;
	}
	.order_icon_cell_inner {
		width: 150px;
		height: 150px;
	}
	#order_icon_pickup svg {
		width: 100px;
	}
	#order_icon_ubereats svg {
		width: 80px;
	}
	#order_icon_doordash svg {
		width: 110px;
	}
	#order_icon_skip svg {
		width: 70px;
	}

	.footer_content_social_item {
		width: 26px;
		height: 26px;
	}
	.footer_content_social_item > svg {
		height: 18px;
	}
}
@media screen and (max-width: 1070px) {
	:root {
		--header-height: 60px;
	}
	#header #title {
		font-size: 32px;
		line-height: 60px;
		padding: 10px 0;
	}
	.nav-item {
		padding: 0 10px;
		line-height: 60px;
	}
}
@media screen and (max-width: 970px) {
	html:not([lang="zh"]) #header #title {
		font-size: 22px;
	}

	.popup_container {
		padding: 30px 20px;
	}
	#order_icon_separator {
		margin: 0 25px;
	}
	.order_icon_header {
		font-size: 32px;
		margin-bottom: 15px;
	}
	.order_icon_cell {
		padding: 15px 0;
	}
	.order_icon_cell label {
		font-size: 15px;
	}
	.order_icon_cell_inner {
		width: 100px;
		height: 100px;
	}
	.order_icon_header {
		font-size: 28px;
	}
	#order_icon_pickup svg {
		width: 70px;
	}
	#order_icon_ubereats svg {
		width: 50px;
	}
	#order_icon_doordash svg {
		width: 75px;
	}
	#order_icon_skip svg {
		width: 50px;
	}
}
@media screen and (max-width: 800px) {
	:root {
		--header-height: 120px;
		--header-row-height: 60px;
	}
	#header {
		height: auto;
		flex-direction: column;
	}
	html:not([lang="zh"]) #header #title {
		font-size: 22px;
	}
	#header #title {
		justify-content: center;
		width: 100%;
		padding: 10px 15px;
		margin: 0;
	}
	#nav {
		display: flex;
		justify-content: center;
		width: 100%;
		margin: 0;
		z-index: 50;
/*		background-color: #460001;
		background: linear-gradient(135deg, #3c0000 0%,#460001 100%);*/
	}
	#nav_toggle {
		display: inline-block;
	}
	.nav-item {
		display: block;
		padding: 0 15px;
		margin: 0;
	}
	#language_container {
		width: 500px;
		height: 350px;
	}
}
@media screen and (max-width: 725px) {
	.popup_container {
		flex-direction: column;
		padding: 20px;
	}

	#order_icon_separator {
		border-top: 1px solid #9A9A9A;
		margin: 25px 0;
	}
}
@media screen and (max-width: 550px) {
	html:not([lang="zh"]) #header #title {
		font-size: 22px;
	}
	#footer_content {
		font-size: 10px;
	}
	#footer_content_alt {
		font-size: 10px;
	}
	#language_container {
		width: 350px;
		height: 250px;
	}
	.popup_header {
		font-size: 16px;
	}
	.language_item {
		font-size: 32px;
	}
	.language_item:first-child {
		border-right-width: 2px;
	}
	.popup_container {
		width: 85vw;
		min-width: 260px;
	}
	.order_icons {
		flex-wrap: wrap;
	}
	.popup_container {
		padding: 20px 10px;
	}
	#order_icon_separator {
		margin: 15px 0 20px;
	}
	.order_icon_cell {
		padding: 10px 0;
	}
	.order_icon_cell_inner {
		width: 80px;
		height: 80px;
	}
	#order_icon_pickup svg {
		width: 60px;
	}
	#order_icon_ubereats svg {
		width: 45px;
	}
	#order_icon_doordash svg {
		width: 60px;
	}
	#order_icon_skip svg {
		width: 40px;
	}
}
@media screen and (max-width: 500px) {
	:root {
		--footer-height: 105px;
	}
	#footer_content {
		font-size: 11px;
	}
	#footer_content_alt {
		font-size: 11px;
	}
	#footer {
		padding: 16px 16px 20px;
	}
	#footer_content_social {
		position: initial;
		height: initial;
		margin-top: 20px;
	}
	.footer_content_social_item {
		margin: 0 10px;
		width: 32px;
		height: 32px;
	}
	.footer_content_social_item > svg {
		height: 22px;
	}
}
@media screen and (max-width: 450px) {
	.nav-item {
		padding: 0 8px;
		font-size: 14px;
		line-height: 50px;
	}
	html:not([lang="zh"]) #header #title {
		font-size: 19px;
		line-height: 50px;
	}
}
@media screen and (max-width: 350px) {
	html:not([lang="zh"]) #header #title {
		font-size: 17px;
	}
	.nav-item {
		padding: 0 6px;
	}
	#footer_content {
		font-size: 10px;
	}
	#footer_content_alt {
		font-size: 10px;
	}
}

@media (prefers-color-scheme: dark) {
	:root {
		--brand-color: #9a0404;
	}

	.popup_container {
		background: #2b2b2b;
		color: #ffffff;
	}

	.order_icon_cell label {
		color: #ffffff;
	}

	#order_icon_separator {
		border-color: #545454;
	}
}

html[lang="zh"] .menu_name {
	white-space: nowrap;
}

.iframe {
	border: 0;
}
