 :root {
		--font-family-base: 'Public Sans', 'Noto Sans TC', sans-serif;
		--font-32: 2rem;
		--font-24: 1.5rem;
		--font-20: 1.25rem;
		--font-18: 1.125rem;
		--font-16: 1rem;
		--font-14: .875rem;
		--font-12: .75rem;
}
body, h1, h2, h3, h4, h5, h6 {
		font-family: var(--font-family-base);
}
body {
		line-height: 1.75;
		font-size: var(--font-16);
		font-optical-sizing: auto;
		font-style: normal;
}
h1 {
		font-size: 4.25vw;
}
h2, h1.h2 {
		font-size: 3.5vw;
}
h3, h2.h3 {
		font-size: 2.5vw;
}
h4 {
		font-size: 1.5vw;
}
.font-18-rwd {
		font-size: 1.25vw;
}
.btn-more {
		font-size: 1.35vw;
}
.ls-5 {
		letter-spacing: 1rem;
}
.ls-4 {
		letter-spacing: .75rem;
}
.ls-3 {
		letter-spacing: .5rem;
}
.ls-2 {
		letter-spacing: .25rem;
}
.ls-1 {
		letter-spacing: .125rem;
}
/*------------------------------------------ 
Section 
--------------------------------------------*/
.section.kv .point-list {
		font-size: 1.5vw;
}
@media (min-width: 1600px) {
		/* Basic*/
		h1 {
				font-size: 4.25rem;
		}
		h2, h1.h2 {
				font-size: 3rem;
		}
		h3, h2.h3 {
				font-size: 2.5rem;
		}
		h4 {
				font-size: 1.5rem;
		}
		h5 {
				font-size: 1.25rem;
		}
		.ls-5 {
				letter-spacing: 1rem;
		}
		.ls-4 {
				letter-spacing: .75rem;
		}
		.ls-3 {
				letter-spacing: .5rem;
		}
		.ls-2 {
				letter-spacing: .25rem;
		}
		.ls-1 {
				letter-spacing: .125rem;
		}
		.lh-15 {
				line-height: 1.5;
		}
		.lh-2 {
				line-height: 2;
		}
		.lh-3 {
				line-height: 3;
		}
		/* Section */
		.section.kv .point-list {
				font-size: var(--font-24);
		}
		.font-18-rwd {
				font-size: var(--font-18);
		}
		.font-16-rwd {
				font-size: var(--font-16);
		}
		/* Btn More */
		.btn-more {
				font-size: var(--font-18);
				letter-spacing: .125rem;
		}
}
/*------------------------------------------ 
Main NAV
--------------------------------------------*/
.mainnav .navbar-nav .nav-link {
		font-size: 1.125rem;
		font-weight: 500;
}
/*------------------------------------------ 
Font Size
--------------------------------------------*/
.font-32 {
		font-size: var(--font-32);
}
.font-24 {
		font-size: var(--font-24);
}
.font-20 {
		font-size: var(--font-20);
}
.font-18 {
		font-size: var(--font-18);
}
.font-16 {
		font-size: var(--font-16);
}
.font-15 {
		font-size: var(--font-15);
}
.font-14 {
		font-size: var(--font-14);
}
.font-12 {
		font-size: var(--font-12);
}
/*------------------------------------------ 
Text Align
--------------------------------------------*/
.text-justify {
		text-align: justify;
		word-break: break-all;
}
/*------------------------------------------ 
Footer
--------------------------------------------*/
.alart-slogan {
		font-size: var(--font-16);
}
footer {
		font-size: var(--font-12);
}
/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1600px) {}
@media (min-width: 1366px) {}
@media (min-width: 1200px) {
		.mainnav .navbar-nav .nav-link {
				font-size: 1.125rem;
		}
}
@media (max-width: 1199px) {
		.section.kv .sub-title {
				margin-bottom: 0;
				font-size: 1rem;
		}
		.section .card-item .info h5, .section .card-item-full .info h5 {
				font-size: 1.5vw;
				line-height: 1.75;
		}
		.section .text-item .info h4 {
				font-size: 1.725vw;
				line-height: 1.75;
		}
		.font-16-rwd {
				font-size: var(--font-12);
				line-height: 1.5;
		}
}
@media (max-width: 1024px) {
		.font-24 {
				font-size: var(--font-20);
		}
		h1 {
				font-size: 5vw;
		}
		h2, h1.h2 {
				font-size: 4.25vw;
		}
		h3, h2.h3 {
				font-size: 3.125vw;
		}
		h4 {
				font-size: 2vw;
		}
		h5 {
				font-size: 1.75vw;
				line-height: 1.5;
		}
		.font-18-rwd {
				font-size: var(--font-16);
		}
		.font-16-rwd {
				font-size: var(--font-14);
		}
		.btn-more {
				font-size: var(--font-16);
				line-height: 2;
		}
		.ls-5 {
				letter-spacing: .25rem;
		}
		.ls-1, .ls-2, .ls-3, .ls-4 {
				letter-spacing: normal;
		}
		.mainnav .navbar-nav .nav-link {
				font-size: 1rem;
		}
		table th {
				white-space: nowrap;
		}
}
@media (max-width: 991px) {
		h2, h1.h2 {
				font-size: 6vw;
		}
		h3, h2.h3 {
				font-size: 4.5vw;
		}
		h4 {
				font-size: 2.5vw;
		}
		h5 {
				font-size: 2.25vw;
				line-height: 1.5;
		}
		.font-18-rwd {
				font-size: var(--font-14);
		}
		.font-16-rwd {
				font-size: var(--font-14);
		}
		.alart-slogan {
				font-size: var(--font-14);
		}
		.section.kv .point-list {
				font-size: 2vw;
		}
		.section .text-item .info h4 {
				font-size: 2.125vw;
		}
		.btn-more span {
				font-size: 2vw;
		}
}
@media (max-width: 991px) and (orientation:landscape) {
		h3, h2.h3 {
				font-size: 3.5vw;
		}
}
@media (max-width: 767.98px) and (orientation:landscape) {
		h2, h1.h2 {
				font-size: 5vw;
		}
		h3 {
				font-size: 3.5vw;
		}
		.btn-more {
				font-size: var(--font-14);
				line-height: 1.75;
		}
		.section .text-item .info h4 {
				font-size: 2.5vw;
		}
		.section .card-item .info h5, .section .card-item-full .info h5 {
				font-size: 2.125vw;
				line-height: 1.5;
		}
}
@media (max-width: 575.98px) {
		h2, h1.h2 {
				font-size: 8vw;
		}
		h3, h2.h3 {
				font-size: 7vw;
		}
		h4 {
				font-size: 5vw;
				line-height: 1.5;
		}
		h4.ch {
				font-size: 1.125rem;
				line-height: 1.5;
		}
		h5 {
				font-size: 4.5vw;
				line-height: 1.75;
		}
		.btn-more {
				font-size: var(--font-14);
		}
		.section.kv .point-list {
				font-size: var(--font-14);
		}
		.section .card-item .info h4 {
				font-size: var(--font-14);
		}
		.font-18-rwd.ch {
				font-size: var(--font-18);
		}
		.btn-more span {
				font-size: .85rem;
		}
		.section .text-item .info h4 {
				font-size: .85rem;
		}
		.section .card-item .info h5, .section .card-item-full .info h5 {
				font-size: .95rem;
		}
}
@media (max-width: 599.98px) and (orientation:landscape) {
		h2, h1.h2 {
				font-size: 4.5vw;
		}
		h3, h2.h3 {
				font-size: 4vw;
		}
		h4 {
				font-size: 3vw;
		}
		h5 {
				font-size: 2.75vw;
		}
		.font-18-rwd {
				font-size: var(--font-12);
		}
		.font-16-rwd {
				font-size: var(--font-12);
		}
		.alart-slogan {
				font-size: var(--font-14);
		}
		.section.kv .point-list {
				font-size: 2vw;
		}
		h4.ch {
				font-size: var(--font-14);
				line-height: 1.5;
		}
		.font-18-rwd.ch {
				font-size: var(--font-14);
		}
		.mainnav .navbar-nav .nav-link {
				font-size: 1rem;
		}
		.section .text-item .info h4 {
				font-size: 2.75vw;
		}
}
@media (max-width: 414px) {
		.section.kv .point-list {
				font-size: 13px;
		}
}
@media (max-width: 320px) and (orientation:portrait) {
		.section.kv .point-list {
				font-size: var(--font-12);
		}
		.font-18-rwd {
				font-size: var(--font-12);
		}
		.font-16-rwd {
				font-size: var(--font-12);
		}
		.font-18-rwd.ch {
				font-size: var(--font-14);
		}
		.section .card-item .info h4 {
				font-size: var(--font-12);
		}
		body {
				line-height: 1.75;
				font-size: var(--font-14);
				font-weight: normal;
		}
		.section .text-item .info h4 {
				font-size: .75rem;
		}
		.section .card-item .info h5, .section .card-item-full .info h5 {
				font-size: .75rem;
		}
}