html {
	scroll-behavior: smooth;
}

body {
	font-family: "Helvetica", "noto sans tc";
	font-weight: 300;
	overflow-x: hidden;
	counter-reset: section tsection csection ssection;

}

body {
	overflow-y: auto;
	scrollbar-width: thin;
}

body::-webkit-scrollbar-track {
	border-radius: 10px;
	background-color: transparent;
}

body::-webkit-scrollbar {
	background-color: transparent;
	width: 10px;
}

body::-webkit-scrollbar-thumb {
	border-radius: 10px;
	background-color: rgb(150, 150, 150);
}

body {
	counter-reset: section;
}

.serial_number::before {
	counter-increment: section;
	content: "#" counter(section);
}

.cursor_pointer {
	cursor: pointer;
}

.cursor_default {
	cursor: default;
}

.absolute_x_center {
	left: 50%;
	transform: translateX(-50%);
}

.absolute_y_center {
	top: 50%;
	transform: translateY(-50%);
}

.object_fit_contain {
	object-fit: contain;
}

.object_fit_cover {
	object-fit: cover;
}

.single_ellipsis {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.multiline_ellipsis {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	overflow: hidden;
}

.clamp_1 {
	-webkit-line-clamp: 1;
}

.clamp_2 {
	-webkit-line-clamp: 2;
}

.clamp_3 {
	-webkit-line-clamp: 3;
}

.float_none {
	float: none !important;
}

.w-1 {
	width: 1%;
}

@media(min-width: 992px) {
	.w-lg-1 {
		width: 1%;
	}
	#enter_modal .modal-lg{
		max-width: 760px;
	}
}

.object_position_center {
	object-position: center;
}

.bottom_0 {
	bottom: 0;
}

.left_0 {
	left: 0;
}

.top_0 {
	top: 0;
}

.top_50 {
	top: 50%;
}

.left_50 {
	left: 50%;
}

.translate_middle {
	transform: translate(-50%, -50%) !important;
}

.bg_norepeat {
	background-repeat: no-repeat;
}

.bg_size_contain {
	background-size: contain;
}

.bg_size_cover {
	background-size: cover;
}

.bg_position_center {
	background-position: center;
}

.fsize_1125rem {
	font-size: 1.125rem;
}




/*bootstrap*/
.col-xxl,
.col-xxl-auto,
.col-xxl-3,
.col-xxl-4,
.col-xxl-5,
.col-xxl-7,
.col-xxxl-5,
.col-xxxl-10 {
	position: relative;
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
}

@media(min-width: 1400px) {
	.col-xxl {
		-ms-flex-preferred-size: 0;
		flex-basis: 0;
		-ms-flex-positive: 1;
		flex-grow: 1;
		max-width: 100%;
	}

	.col-xxl-auto {
		-ms-flex: 0 0 auto;
		flex: 0 0 auto;
		width: auto;
		max-width: 100%;
	}

	.col-xxl-3 {
		-ms-flex: 0 0 25%;
		flex: 0 0 25%;
		max-width: 25%;
	}

	.col-xxl-4 {
		-ms-flex: 0 0 33.333333%;
		flex: 0 0 33.333333%;
		max-width: 33.333333%;
	}

	.col-xxl-5 {
		-ms-flex: 0 0 41.666667%;
		flex: 0 0 41.666667%;
		max-width: 41.666667%;
	}

	.col-xxl-6 {
		-ms-flex: 0 0 50%;
		flex: 0 0 50%;
		max-width: 50%;
	}

	.col-xxl-7 {
		-ms-flex: 0 0 58.333333%;
		flex: 0 0 58.333333%;
		max-width: 58.333333%;
	}

	.col-xxl-9 {
		-ms-flex: 0 0 75%;
		flex: 0 0 75%;
		max-width: 75%;
	}

	.col-xxl-12 {
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}

	.order-xxl-first {
		-ms-flex-order: -1;
		order: -1;
	}

	.order-xxl-last {
		-ms-flex-order: 13;
		order: 13;
	}
}

@media(min-width: 1600px) {
	.col-xxxl-10 {
		-ms-flex: 0 0 83.333333%;
		flex: 0 0 83.333333%;
		max-width: 83.333333%;
	}

	.d-xxxl-block {
		display: block !important;
	}
}