* {
	box-sizing: border-box;
	font-family: 微軟正黑體, sans-serif;
}

html {
	height: 100%;
}

body {
	margin: 0;
	padding: 0;
	height: 100%;
	background: #fff;
}


.body-panel {
	padding-top: 60px;
	background-color: #fff;
}
@media(min-width: 1000px) {
	.body-panel {
		padding-top: 0px;
		margin-left: 365px;
		border-left: 1px solid #e8e8e8;
		height: unset;
		min-height: 100%;
	}
	.body-panel.narrow {
		max-width: 900px;
	}
}
.body-panel .narrow {
	max-width: 900px;
}
/*
@media(min-width: 1600px) {
	.body-panel {
		margin-right: 320px;
	}
}*/

.body-panel .padding.slim {
	padding: 5px;	
}
.body-panel .padding {
	padding: 20px;	
}
@media(min-width: 1000px) {
	.body-panel .padding,
	.body-panel .padding.slim {
		padding: 60px;	
	}
	.body-panel .padding.no-top {
		padding-top: 0;
	}
}


.float-cart-label {
	display: none; 
}
@media(min-width: 1000px) {
	.float-cart-label {
		display: block;
		right: -160px;
		transition: 0.2s;
	}
	.float-cart-label.shown {
		display: block;
		right: 0;
	}
}
.float-cart-label {
	position: fixed;
	bottom: 30px;
	width: 150px;
	height: 55px;
	background-color: #333;
	z-index: 20;	
	padding-top: 5px;
	padding-left: 20px;
	color: #fff;
	transition: 0.2s;
}
.float-cart-label:hover {
	background-color: #000;
	color: #fff;
}
.float-cart-label .icon {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	margin-right: 5px;
}
.float-cart-label .icon img {
	width: 40px;
	height: 40px;
}
.float-cart-label .icon #nav-cart-count {
	position: absolute;
	top: 17px;
	left: 22px;
	background-color: #fff;
	color: #000;
	font-size: 10pt;
	font-weight: bold;
	text-align: center;
	min-width: 18px;
	line-height: 18px;
	border-radius: 10px;
	padding-top: 2px;
}


.page-banner .padding {
	padding-bottom: 0;
}

.page-banner h1 {
	padding: 10px 0 5px 0;
	margin: 0;
	font-size: 15pt;
	font-weight: normal;
}

@media(min-width: 1000px) {
	.page-banner {
		padding-top: 40px;
	}
	.page-banner h1 {
		font-size: 18pt;
	}
}

.breadcrumb {
	font-size: 10pt;
	color: #666;
}
@media(min-width: 1000px) {
	.breadcrumb {
		font-size: 11pt;
	}
}

.breadcrumb > .item {
	display: inline-block;
	color: #666;	
	padding: 5px 10px 5px 0px;
}
.breadcrumb > .divider {
	display: inline-block;
}
.breadcrumb .divider:last-child {
	display: none;
}



.product-list {
	margin-top: 20px;
	/*margin-left: -15px;*/
	font-size: 0;
}
@media(min-width: 1000px) {
	.product-list {
	}
}

.product-list > .item {
	display: inline-block;
	margin-bottom: 30px;
	margin-left: 1px;
	vertical-align: top;
	width: calc(100% / 3 - 1px);
}
@media(min-width: 1000px) {
	.product-list > .item {
		width: calc(100% / 4 - 1px);
	}
}
@media(min-width: 1280px) {
	.product-list > .item {
		width: calc(100% / 5 - 1px);
	}
}

.product-list > .item .image-container {
	display: block;
	width: 100%;
	padding-top: 100%;
	background-color: #eee;
	position: relative;
	overflow: hidden;
}

.product-list > .item .image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media(min-width: 1000px) {
	.product-list > .item .image {
		width: 100%;
		height: auto;
		/*width: calc((100vw - 366px - 60px - 60px) / 4 - 1px);*/
		/*height: calc((100vw - 366px - 60px - 60px) / 4 - 1px);*/
	}
}

.product-list > .item > .infos {
	margin-top: 5px;
	font-size: 9.5pt;
	color: #555;
}
@media(min-width: 1000px) {
	.product-list > .item > .infos {
		margin-top: 10px;
		font-size: 11pt;
	}
}

.product-list > .item > .infos > .name {
	white-space: nowrap;
	font-size: 11pt;
	overflow: hidden;
}

.product-list > .item > .infos > .price {
	font-size: 9.5pt;
}

.product-list > .item > .image > .add-to-cart-btn {
	position: absolute;
	bottom: -0px;
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
	right: 0;
	opacity: 0;
}

.product-list > .item > .image:hover > .add-to-cart-btn {
	opacity: 1;
}


.add-to-cart-btn {
	display: inline-block;
	padding: 5px 12px;
	background-color: #000;
	color: #fff;
	font-size: 9pt;
	transition: 0.3s;
}



.block-header {
	/*border-top: 1px dotted #ccc;*/
	padding: 15px 0 0 0;
	font-size: 12pt;
}




.large-swiper-area {

}
.large-swiper-area .swiper-container {
	width: 100vw;
	height: calc(100vw * (900 / 1920));
	margin: 0 auto;
}
.large-swiper-area .swiper-container {
	width: 100vw;
	height: calc(100vw * (900 / 1920));
	margin: 0 auto;
}

@media(min-width: 1000px) {
	.large-swiper-area .swiper-container {
		width: calc(100%);
		height: calc((100%) * (900 / 1920));
	}
}

.large-swiper-area .swiper-container .slide-photo {
	width: 100%;	display: block;
}





.product-block {
	
}
.product-block > .photo-area {
}
@media(min-width: 1000px) {
	.product-block {
		display: table;
		width: 100%;
	}
	.product-block > .photo-area {
		display: table-cell;
		width: 380px;
		vertical-align: top;
	}
}


.product-block > .photo-area .swiper-container {
	width: 100vw;
	height: 100vw;
	margin: 0 auto;
	/*box-shadow: 0px 10px 10px rgba(0,0,0,0.2);*/
}
@media(min-width: 1000px) {
	.product-block > .photo-area .swiper-container {
		width: 500px;
		height: 500px;
	}
}

.product-block > .photo-area .swiper-container .product-photo {
	width: 100%;
}

.product-block > .info-area {
	padding: 20px;
}
@media(min-width: 1000px) {
	.product-block > .info-area {
		display: table-cell;
		vertical-align: middle;
		padding-left: 70px;
		color: #555;
	}
}
.product-block > .info-area > .name {
	font-size: 15pt;
	font-weight: normal;
	margin: 0 0 15px 2px;
	padding: 0;
}
.product-block > .info-area > .sn {
	font-size: 12pt;
	font-weight: normal;
	margin: 0 0 10px 2px;
	padding: 0;
}

.spec-table th {
	 font-weight: normal;
	 text-align: left;
	 padding-right: 20px;
}


.cart-view {
	
}


.img-banner {
	background-color: #eee;
	height: 180px;
	border-radius: 10px;
}


.ico-btn-group {
	display: table;
	width: 100%;
}
.ico-btn-group .btn {
	display: table-cell;
	vertical-align: top;
	text-align: center;
	font-size: 12pt;
}
.ico-btn-group .btn .ico img {
	width: 50px;
}
.ico-btn-group .btn .label {
	margin-top: -5px;
}


.text-hr {
	position: relative;
	font-size: 11pt;
	margin-top: 10px;
	margin-bottom: 10px;
}
.text-hr > span {
	position: relative;
	background-color: #fff;
	padding: 0 12px 0 0px;
	color: #aaa;
}
.text-hr:before {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 1px;
	top: 50%;
	background-color: #ccc;
}



.product-schedule-block {
	background-color: #f7f7f7;
	padding: 30px 0;
}
@media(min-width: 1000px) {
	.product-schedule-block {
		padding: 40px 40px;
	}
}

.product-schedule-block .func-area {
	padding: 0 20px;
}


.item-schedule {
	overflow-x: auto;
	padding: 20px 20px;
}
.item-schedule::-webkit-scrollbar {
	height: 0;
}
.item-schedule table {
	width: 100%;
	color: #666;
	font-size: 10.5pt;
	margin-right: 20px;
}
.item-schedule table th {
	font-weight: normal;
	text-align: left;
	border-bottom: 2px solid #ccc;
	white-space: nowrap;
	padding: 4px 0;
}
.item-schedule table th.date-cell {
	padding: 0 7px;
}
.item-schedule table th:first-child {
	padding-right: 60px;
}
.item-schedule table th:last-child {
	width: 10px;
}
.item-schedule table td {
	border-bottom: 1px solid #e6e6e6;
	white-space: nowrap;
	padding: 3px 0;
}
.item-schedule table tr:last-child td {
	border-bottom: 0;
}
.item-schedule .ui.button.basic {
	min-height: 28px;
	height: 28px;
	line-height: 28px;
	padding: 0 20px;
	background-color: #fff;
}
.item-schedule table .date-cell {
	text-align: center;
	width: 20%;
}
.item-schedule table td {
	border-right: 1px solid #ccc;
	vertical-align: middle;
}
.item-schedule table td:last-child {
	border-right: 0;
	padding: 3px 13px;
}
.item-schedule .book-status-sign {
	display: block;
	width: 20px;
	height: 20px;
	margin: 0 auto;
}


.price-table {
	margin-left: auto;
}
.price-table th {
	font-weight: normal;
	text-align: right;
	padding-right: 50px;
}
.price-table td {
	text-align: right;
	padding: 4px 0;
}
.price-table tr:last-child th,
.price-table tr:last-child td {
	font-weight: bold;
	padding-top: 13px;
}


.order-info-table {
	width: 100%;
}
.order-info-table th {
	text-align: left;
	font-weight: normal;
}


.order-item-list {
	display: block;
	width: 100%;
}
.order-item-list .item {
	position: relative;
	display: block;
	border-top: 1px solid #e3e3e3;
}
.order-item-list .item:first-child {
	border-top: 0;
}
.order-item-list .item .n {
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	width: 50px;
	line-height: 60px;
	padding: 7px 0;
	color: #888;
	font-size: 10pt;
}

.order-item-list .item .img {
	display: inline-block;
	width: 60px;
	vertical-align: top;
	padding: 7px 0;

}
.order-item-list .item .img img {
	display: block;
	width: 60px;
}
.order-item-list .item .infos {
	display: inline-block;
	vertical-align: top;
	
}
.order-item-list .item .infos a {
	color: #000;
}
.order-item-list .item .infos a:hover {
	text-decoration: underline;
}
.order-item-list .item .infos {
	padding: 7px 0;
	text-align: left;
	padding-left: 15px;
}
.order-item-list .item .infos .price {
	color: #888;
}
.order-item-list .item .infos .sn {
	font-size: 9pt;
}
.order-item-list .item .funcs {
	position: absolute;
	right: 0;
	top: 30px;
	display: inline-block;
	width: 30px;
	white-space: nowrap;
	vertical-align: middle;
	
}
.order-item-list .item .funcs .btn {
	font-size: 9pt;
	font-weight: normal;
	color: #888;
	cursor: pointer;
}
.order-item-list .item .funcs .btn:hover {
	color: #444;
}

.order-item-list .additional {
	position: relative;
	background-color: #f6f6f6;
}

.order-item-list .additional:after {
	position: absolute;
	top: 0;
	left: 75px;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 10px 0 10px;
	border-color: #ffffff transparent transparent transparent;
}




.line-table {
	width: 100%;
}
.line-table th {
	text-align: left;
	font-weight: normal;	
	border-bottom: 1px solid #000;
	padding: 10px 0	;
}
.line-table.verticle th {
	border-color: #e4e4e4;
}
.line-table.verticle th {
	padding-right: 30px;
}
.line-table td {
	border-bottom: 1px solid #e4e4e4;
	padding: 10px 0;
}
.line-table.verticle tr:last-child th {
	border-bottom: 0;
}
.line-table tr:last-child td {
	border-bottom: 0;
}





.main-slider {
	height: calc((1080 / 1920) * 100vw);
}
@media(min-width: 1000px) {
	.main-slider {
		height: calc((780 / 1920) * (100vw - 363px));
	}
}

.index-intro-row {

}
.index-intro-txt {
	padding-top: 20px;
	padding-bottom: 20px;
}
@media(min-width: 1000px) {
	.padding.index-intro-row {
		padding-top: 28px;
		padding-bottom: 28px;
	}
	.index-intro-txt {
		width: 50%;
		
	}
}


.color-list {
	list-style: none;
	padding: 0 0 20px 0;
	margin: 10px 0 0 0;
	font-size: 10pt;
}
.color-list li {
	display: inline-block;
}

.color-list li a {
	color: #aaa;
	padding: 3px;
}
.color-list li:first-child a {
	padding-left: 0;
}
.color-list li a.active {
	color: #444;
}

.page-footer {
	text-align: center;
}
@media(min-width: 1000px) {
	.page-footer {
		text-align: right;
	}
}

.pages-list {
	font-size: 11pt;
	margin: 50px 0 20px 0;
}
.pages-list a {
	color: #aaa;
	padding: 3px 2px;
}
.pages-list a.active {
	color: #000;
}
.pages-list a:hover {
	color: #000;
}


.footer {
	border-top: 1px solid #e8e8e8;
	padding: 30px 20px;
	font-size: 10pt;
}
@media(min-width: 1000px) {
	.footer {
		padding: 0px 0;
	}
}

.footer .contact-list {
	list-style: none;
	padding: 0;
	margin: 0;
	line-height: 180%;
}


.icon-link-list {
	list-style: none;
	padding: 0;
	margin: 20px 0;
}
@media(min-width: 1000px) {
	.icon-link-list {
		text-align: right;
		margin: 10px;
	}
}
.icon-link-list li {
	display: inline-block;
}
.icon-link-list.gray li a {
	opacity: 0.5;
	margin: 0 5px;
}
.icon-link-list.gray li a:hover {
	opacity: 0.8;
}
.icon-link-list .icon-img {
	width: 23px;
}


.text-link {
	color: #000;
}

.text-link:hover {
	color: #000;
	text-decoration: underline;
}


.rental-rules-row {
	background-color: #f6f6f6;
}


.chill-scanner-btn {
	display: block;
	background-color: #444;
	color: #fff;
	padding: 40px 0;
	font-size: 15pt;
	text-align: center;
}
.chill-scanner-btn:active {
	color: #fff;
	background-color: #000;
}

@media(min-width: 1000px) {
	.chill-scanner-btn {
		display: none;
	}
}