/* =========================================================================

==base
==header
==breadcrumb
==banner
==about
==service
==team
==news
==contact
==privacy
==footer
==RWD

========================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

/* wow animation載入預設透明度校正，配合custom.js */
.wow {
	opacity: 0;
}

.cke_editable .wow {
	opacity: 1;
}

/* =========================================================================
==base
========================================================================= */
:root {
	--fs-BNTitle: 48px;
	--fs-sectionTitle: 36px;
	--fs-itemTitle: 24px;
	--fs-BNTxt: 20px;
	--fs-headerNav: 18px;
	--fs-normal: 16px;
}

.fake-logo p {
	font-size: 28px;
	font-weight: 500;
	letter-spacing: 2px;
	line-height: 1.5;
}

.fake-logo small {
	font-family: "Poppins", sans-serif;
	word-spacing: 4px;
}

/* ================= base ================= */
body,
.form-control {
	word-break: break-word;
	letter-spacing: 1px;
	line-height: 1.8;
	font-weight: 400;
	font-family: "Noto Sans TC", sans-serif;
	color: var(--cnvs-speblack);
}

a {
	color: var(--cnvs-speblack);
	transition: .3s ease;
}

a:hover {
	color: var(--cnvs-themecolor);
}

.section {
	background: transparent;
	margin: 0;
	padding: 80px 0;
}

.text-justify {
	text-align: justify !important;
}

/* ================= preloader ================= */
#preloader {
	height: 100%;
	width: 100%;
	position: fixed;
	z-index: 600;
}

#preloader img {
	width: 180px;
	animation: flip 2s infinite;
}

@keyframes flip {
	0% {
		transform: rotateY(180deg);
	}

	50% {
		transform: rotateY(0deg);
	}

	100% {
		transform: rotateY(180deg);
	}
}

/* ================= ellipsis ================= */
.one-row {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
}

.two-row {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.three-row {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}


/* ==================== btn ==================== */
.btn-base {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: var(--cnvs-spewhite) !important;
	background-color: var(--cnvs-speblack);
	padding: 8px 48px;
	border-radius: 30px;
}

.btn-base i {
	font-size: 24px;
	line-height: 1;
	transform: rotate(-45deg);
	transition: .3s ease;
}

.btn-base:hover {
	background-color: var(--cnvs-themecolor);
}

.btn-base:hover i {
	transform: rotate(0deg);
	transition: .3s ease;
}

/* ==================== title ==================== */
.section-title {
	margin-bottom: 48px;
}

.section-title span {
	font-size: var(--fs-sectionTitle);
	color: var(--cnvs-speblack);
}

.section-title::after {
	content: '';
	display: block;
	width: 50px;
	height: 2px;
	background-color: var(--cnvs-themecolor);
	margin: 32px 0 0;
}

.section-title.text-center::after {
	margin: 32px auto 0;
}

.section-title .en {
	font-family: "Poppins", sans-serif;
	font-size: 15px;
	color: #A8A8A8;
}

.item-title {
	font-size: var(--fs-itemTitle);
	line-height: 1.5;
	font-weight: 600;
}

/* =========================================================================
==header
========================================================================= */
.header-misc {
	margin-left: 21px;
}

.header-misc .tel-wrap {
	padding-left: 36px;
}

.header-misc .tel-wrap::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 1px;
	height: 36px;
	background-color: #a8a8a8;
}

.header-misc .tel-wrap .en {
	font-family: "Poppins", sans-serif;
	font-size: var(--fs-headerNav);
}

.header-misc .tel-wrap i {
	font-size: 24px;
	width: 46px;
	height: 46px;
	border: 1px solid var(--cnvs-speblack);
	transition: .3s ease;
}

.header-misc .tel-wrap:hover i {
	border-color: var(--cnvs-themecolor);
	transition: .3s ease;
}

/* =========================================================================
==breadcrumb
========================================================================= */
.breadcrumb-wrap {
	position: relative;
	padding: 80px 0 80px;
}

.breadcrumb-wrap::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.7);
	z-index: 0;
}

.breadcrumb-title {
	font-size: var(--fs-sectionTitle);
	position: relative;
	z-index: 1;
}

.breadcrumb-wrap li {
	position: relative;
	z-index: 1;
}

.breadcrumb-wrap li:not(:last-child)::after {
	content: '/';
	display: inline-block;
	margin: 0 12px;
}


/* =========================================================================
==banner
========================================================================= */
#slider {
	aspect-ratio: 2000 / 970;
}

#slider .btn-base {
	background-color: var(--cnvs-themecolor);
}

#slider .btn-base:hover,
#slider .btn-base:active {
	background-color: var(--cnvs-speblack);
}

#slider .bn-title {
	font-size: var(--fs-BNTitle);
	line-height: 1.35;
	font-weight: 600;
}

#slider .bn-txt {
	font-size: var(--fs-BNTxt);
	line-height: 1.75;
}

.swiper-slide-bg::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, .5);
}

#slider .swiper-pagination span {
	background-color: rgba(255, 255, 255, .3);
	width: 40px;
	height: 3px;
	border-radius: 0;
	border: 0;
	margin: 0 5px;
}

#slider .swiper-pagination span:hover,
#slider .swiper-pagination span.swiper-pagination-bullet-active {
	background-color: var(--cnvs-themecolor) !important;
}

/* =========================================================================
==about
========================================================================= */
.about-img-wrap {
	margin: 0 0 60px 60px;
}

.about-img-wrap .bg-img {
	left: -60px;
	bottom: -60px;
}

.about-wrap li p {
	color: #777;
}

.about-deco-line {
	position: absolute;
	bottom: 31px;
	left: 0;
	height: 1px;
	width: 100%;
	background-color: var(--cnvs-themecolor);
}

.about-decoimg img {
	width: 250px;
	bottom: 107px;
	right: 120px;
}

.about-host .sub {
	font-size: 22px;
}

.about-host.section-title::after {
	display: none;
}

.about-wrap .item-title + ul li img,
.team-wrap .item-title + ul li img {
	transform: translateY(6px);
}

/* =========================================================================
==service
========================================================================= */

/*---- ↓↓↓ finance.css ↓↓↓ ----*/
.dotted-bg:before {
	content: "";
	position: absolute;
	display: block;
	top: 50%;
	left: 50%;
	width: 110%;
	height: 100%;
	background-size: 12px 12px;
	background-position: center;
	transform: translate(-50%, -50%);
	background-image: radial-gradient(rgba(var(--cnvs-themecolor-rgb),0.3) 14%, transparent 14%);
	-webkit-mask-image: radial-gradient(rgba(0,0,0,1),rgba(0,0,0,0) 75%);
	mask-image: radial-gradient(rgba(0,0,0,1),rgba(0,0,0,0) 75%);
	z-index: 0;
}

.services-grid .feature-box {
	padding: 2rem;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	border-radius: .5rem;
	border: 1px solid var(--cnvs-secondary-color);
}

@media (min-width:1200px) {
	.services-grid .feature-box:hover {
		background-size: cover;
	}
}
	

.hover-button {
	display: block;
	margin-top: 20px;
	font-weight: 600;
}

.dark .hover-button { color: #FFF; }

.services-grid .feature-box { 
	background-color: #434343;
	border-bottom: 6px solid var(--cnvs-themecolor);
}

.services-grid .feature-box .item-title {
	color: var(--cnvs-spewhite);
}

.services-grid .service-item .fbox-content * {
	color: var(--cnvs-contrast-300);
}

.services-grid .service-item .fbox-content p:not(:last-child) {
	margin-bottom: 16px;
}

.services-grid .service-item:nth-child(even) .feature-box {
	background-color: var(--cnvs-white);
}

.services-grid .service-item:nth-child(even) .feature-box .item-title {
	color: var(--cnvs-speblack);
}

.services-grid .service-item:nth-child(even) .fbox-content * {
	color: var(--cnvs-contrast-700);
}

.dark .services-grid .feature-box .fbox-icon i {
	background-color: rgba(255,255,255,0.15);
}

.services-grid .feature-box,
.services-grid .feature-box .fbox-icon,
.services-grid .feature-box .fbox-content,
.hover-button  { 
	transition: all .4s ease, border-color .0s ease; 
}


.services-grid .feature-box {
	padding: 36px;
	background-size: 0;
}

@media (min-width:1200px) {
	.services-grid .feature-box:hover {
		transform: translateY(-6px);
		border-color: var(--cnvs-themecolor);
	}
}

.services-grid .feature-box:not(:hover) .hover-button {
	opacity: 0;
	transform: translateY(-5px);
}

.services-grid .feature-box:hover .fbox-icon,
.services-grid .feature-box:hover .fbox-content { transform: translateY(0px); }

.dark .services-grid .feature-box:hover .fbox-icon i { background-color: #FFF; }

@media (max-width: 991.98px) {
	.services-grid .feature-box .fbox-icon i { background-color: #FFF; }
}

/*---- ↑↑↑ finance.css ↑↑↑ ----*/

.service-item .fbox-icon {
	width: 64px;
	height: 64px;
	background-color: var(--cnvs-themecolor);
}

.service-item .fbox-icon img {
	width: 44px;
	height: auto;
}

/* =========================================================================
==team
========================================================================= */
.team-item {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;	
	padding: 48px;
	border-radius: 12px;
	background: linear-gradient(135deg, #e8e5dd, #fdfdfd 30%);
	border-bottom: 6px solid rgba(var(--cnvs-themecolor-rgb), 0.5);
	box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.1);
	margin-top: 40px;
}

.team-item:not(:last-child) {
	margin-bottom: 60px;
}

.team-item .team-crew-img {
	position: relative;
	transform: translateY(-75px);
}

.team-item .team-crew-img img {
	position: relative;
	z-index: 1;
}

.team-item .team-crew-img:before {
	content: '';
	position: absolute;
	top: 10px;
	left: -10px;
	width: 100%;
	height: 100%;
	background-color: var(--cnvs-themecolor);
	z-index: 0;
}

.team-host {
	padding-bottom: 16px;
	margin-bottom: 16px;
	border-bottom: 1px solid var(--cnvs-themecolor);
}

.team-host .sub {
	font-size: 22px;
}

.team-host.section-title::after {
	display: none;
}

.team-wrap li p {
	color: #777;
}

/* =========================================================================
==news
========================================================================= */
.news-item {
	border-radius: 12px;
	padding: 28px 24px;
	border: 1px solid transparent;
	transition: .3s ease;
}

.page-item {
    margin: 0 4px;
}

.page-item .page-link {
    padding: 6px 16px;
}

.news-item:hover {
	border-color: var(--cnvs-speblack);
	transition: .3s ease;
}

.news-img img {
	transition: .3s ease;
}

.news-img:hover img {
	transform: scale(1.05);
	transition: .3s ease;
}

.news-circle {
	width: 4px;
	height: 4px;
	background-color: var(--cnvs-speblack);
	border-radius: 50%;
}

.news-cate {
	font-size: 15px;
}

.news-date {
	font-family: "Poppins", sans-serif;
	font-size: 15px;
}

.news-sidebar-wrap .news-date {
	font-family: "Poppins", sans-serif;
	font-size: 14px;
}

.news-item .item-title,
.news-list-item .item-title {
	height: 71px;
}

.news-list-wrap:first-child {
	margin-top: 0;
}

.news-list-item {
	/* padding: 0 16px 50px; */
	border-radius: 12px;
	padding: 28px 24px;
	border: 1px solid transparent;
	transition: .3s ease;
}

.news-list-item:hover {
	border-color: var(--cnvs-speblack);
	transition: .3s ease;
}

/* .news-list-item:last-child {
	padding-bottom: 0;
} */

.news-more {
	border-bottom: 1px solid #a8a8a8;
}

.news-more::after {
	content: '';
	position: absolute;
	bottom: -1px;
	right: 0;
	height: 2px;
	width: 98px;
	background-color: var(--cnvs-speblack);
}

.news-more i {
	transform: rotate(-45deg);
	font-size: 22px;
	line-height: 1;
	transition: .3s ease;
}

.news-more:hover i {
	transform: rotate(0deg);
	transition: .3s ease;
}

/* ------- sidebar ------- */
.news-sidebar-wrap {
	top: calc(90px + 48px);
}

.news-sidebar-wrap > div:not(:first-child) {
	background-color: var(--cnvs-white);
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
	padding: 24px 32px;
}

.news-sidebar-wrap .tagName {
	width: calc(100% - 45px);
}

.news-sidebar-wrap .tagCount {
	width: 45px;
}

/*sidebar title*/
.news-sidebar-wrap h5 {
	font-size: var(--fs-itemTitle);
	font-weight: 600;
	line-height: 1.5;
}

/* ------- sidebar search ------- */
.news-search-wrap input {
	padding: 12px 65px 12px 24px;
	border-radius: 35px;
}

.news-search-wrap input::placeholder {
	color: var(--cnvs-contrast-600);
}

.news-search-wrap button {
	right: 12px;
	padding: 0 16px;
	font-size: 18px;
	background-color: transparent;
	transition: .3s all;
}

.news-search-wrap button:hover {
	color: var(--cnvs-themecolor);
}

/* ------- sidebar hot ------- */
.hot-item-title {
	font-size: var(--fs-headerNav);
	line-height: 1.5;
	font-weight: 600;
}

/* ------- info ------- */
.news-info-wrap .share-wrap {
	margin-top: 32px;
}

.news-info-wrap .social-icon {
	width: 42px;
  	height: 42px;
  	font-size: 18px;
  	line-height: 38px !important;
}

.news-info-wrap .social-icon:hover i:first-child {
	margin-top: -38px;
}

.news-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 3 / 2;
	border-radius: 4px;
}

.news-img-wrap::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.3);
	opacity: 0;
	transition: .3s ease;
}

.news-img-wrap:hover::before {
	opacity: 1;
}

/* =========================================================================
==contact
========================================================================= */
.index-contact-wrap {
	background-color: var(--cnvs-spewhite);
	padding: 36px;
}

.index-contact-wrap .section-title,
.index-contact-wrap .item-title {
	margin-bottom: 30px;
}

.index-contact-wrap .section-title.text-center::after {
	margin: 24px auto 0;
}

.index-contact-wrap .item-title {
	margin-bottom: 30px;
}

.index-contact-wrap .btn-base i {
	transform: none;
}

.index-contact-wrap .btn-wrap {
	gap: 16px;
}

/* contact */
.word-break {
    word-break: break-all;
}

.contact-wrap .contact-block {
    position: relative;
    display: flex;
    gap: 16px;
    margin-bottom: 24px;
}

.contact-wrap .contact-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--cnvs-themecolor);
    color: var(--bs-white);
    width: 64px;
    height: 60px;
	border-radius: 50%;
    font-size: 24px;
    transition: all .3s ease-out;
}

.contact-wrap .contact-info {
    width: calc(100% - 64px);
}

.contact-wrap .contact-title {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 0;
    color: #000;
    transition: all .3s ease-out;
}

.contact-wrap .contact-link {
    margin-bottom: 0;
    color: #000;
    transition: all .3s ease-out;
}

.contact-wrap .contact-link:hover {
    color: var(--cnvs-themecolor);
}

.contact-wrap .contact-block:hover .contact-title,
.contact-wrap .contact-block:hover .contact-link {
    color: var(--cnvs-themecolor);
}

/* =========================================================================
==privacy
========================================================================= */
.privacy-wrap .fbox-content p {
	color: var(--bs-black);
}


/* =========================================================================
==footer
========================================================================= */
#footer::before {
	content: '';
	display: block;
	height: 5px;
	width: 100%;
	background-image: linear-gradient(45deg, #4b342b, #917862, #4b342b);
}

.footer-txt {
	font-size: 16px;
	line-height: 1.8;
	font-weight: 400;
	letter-spacing: 1px;
	color: var(--cnvs-spewhite);
}

.widget_links {
	column-gap: 24px;
	row-gap: 8px;
}

.widget_links li a {
	padding: 0 0 0 8px;
}

.dark #copyrights {
	color: var(--cnvs-spewhite);
}

#copyrights a {
	color: var(--cnvs-themecolor);
}

#copyrights a:hover,
#copyrights a:active {
	color: var(--cnvs-white);
}

/* =========================================================================
==RWD
========================================================================= */
@media screen and (min-width: 768px) {
	.news-list-wrap:nth-child(2) {
		margin-top: 0;
	}
}

@media (min-width:992px) {
	.three-lg-row {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		overflow: hidden;
	}
}

@media (max-width:1399px) {

	/* ==================== about ==================== */
	.about-decoimg img {
		width: 200px;
		right: 10px;
	}

	/* ==================== news ==================== */
	.news-item,
	.news-list-item {
		padding: 20px 16px;
	}
}

@media (max-width:1199px) {
	:root {
        --cnvs-header-height: 80px;
        --fs-BNtitle: 40px;
        --fs-headerNav: 17px;
    }

	/* ==================== header ==================== */
	.fake-logo p {
		font-size: 24px;
	}

	.is-expanded-menu .menu-link {
		--cnvs-primary-menu-padding-x: 10px;
	}

	.header-misc {
		margin-left: 13px;
	}

	.header-misc .tel-wrap {
		padding-left: 28px;
	}

	.header-misc .tel-wrap i {
		font-size: 20px;
		width: 42px;
		height: 42px;
	}

	/* ==================== news ==================== */
	.news-item,
	.news-list-item {
		padding: 28px 24px;
	}
}

@media (max-width:991px) {
	.wow {
		animation-name: none !important;
		visibility: visible !important;
		opacity: 1;
	}

	/* ==================== base ==================== */
	:root {
		--fs-BNTitle: 40px;
		--fs-sectionTitle: 32px;
		--fs-itemTitle: 22px;
		--fs-BNTxt: 18px;
		--fs-headerNav: 17px;
	}

	.section {
		padding: 60px 0;
	}

	.section-title {
		margin-bottom: 32px;
	}

	.section-title::after {
		margin: 24px 0 0;
	}

	/* ==================== header ==================== */
	#logo {
		padding: 16px 0;
	}

	.header-wrap-clone {
		height: 94px;
	}

	.header-misc {
		margin-left: 0;
		margin-right: 36px;
	}

	.header-misc .tel-wrap {
		padding-left: 0;
	}

	.header-misc .tel-wrap::before {
		display: none;
	}

	/* ==================== banner ==================== */
	#slider .bn-txt {
		display: none;
	}

	/* ==================== about ==================== */
	.about-deco-line {
		bottom: 0;
	}

	.about-decoimg img {
		bottom: 57px;
		right: 45px;
	}

	.about-host .sub {
		font-size: 20px;
	}

	/* ==================== team ==================== */
	.team-host .sub {
		font-size: 20px;
	}

	/* ==================== news ==================== */
	.news-item,
	.news-list-item {
		padding: 20px 16px;
	}

	.news-item .item-title, 
	.news-list-item .item-title {
		height: 65px;
	}

	/* ==================== contact ==================== */
	.index-contact-wrap {
		padding: 30px;
	}

	.index-contact-wrap .section-title,
	.index-contact-wrap .item-title {
		margin-bottom: 24px;
	}

	/* ==================== footer ==================== */
	#footer .footer-widgets-wrap {
		padding: 60px 0;
	}
}

@media (max-width:767px) {

	/* ==================== about ==================== */
	.about-decoimg img {
		width: 160px;
	}

	/* ==================== service ==================== */
	.services-grid .g-5 {
		--bs-gutter-x: 1.5rem;
		--bs-gutter-y: 1.5rem;
		margin-right: 0;
		margin-left: 0;
	}

	/* ==================== team ==================== */
	.team-item {
		margin-top: 0px;
	}
	
	.team-item .team-crew-img {
		transform: translateY(-16px);
	}

	/* ==================== news ==================== */
	.news-item,
	.news-list-item {
		padding: 28px 24px;
	}

	.news-section .owl-carousel .owl-nav {
		display: none;
	}
}

@media (max-width:575px) {
	.fake-logo p {
		font-size: 22px;
	}

	/* ==================== base ==================== */
	:root {
		--fs-BNTitle: 30px;
		--fs-sectionTitle: 28px;
		--fs-itemTitle: 20px;
		--fs-BNTxt: 17px;
	}

	.section {
		padding: 40px 0;
	}

	.btn-base {
		padding: 6px 24px;
	}

	.section-title .en {
		font-size: 14px;
	}

	/* ==================== header ==================== */
	#logo {
		padding: 12px 0;
	}

	.header-wrap-clone {
		height: 83px;
	}

	/* ==================== breadcrumb ==================== */
	.breadcrumb-wrap {
		position: relative;
		padding: 40px 0;
	}
	/* ==================== about ==================== */
	.about-img-wrap {
		margin: 0 0 30px 30px;
	}

	.about-img-wrap .bg-img {
		left: -30px;
		bottom: -30px;
	}

	.about-deco-line {
		width: calc(100% - 24px);
		transform: translateX(12px);
	}

	.about-decoimg {
		opacity: 0.3;
	}

	.about-decoimg img {
		bottom: 38px;
		right: 0;
		width: 170px;
	}

	.about-host .sub {
		font-size: 18px;
	}

	/* ==================== team ==================== */
	.team-host .sub {
		font-size: 18px;
	}

	.team-item {
		padding: 48px 24px;
	}

	/* ==================== service ==================== */
	.services-grid .feature-box {
		padding: 28px;
	}

	/* ==================== news ==================== */
	.news-item,
	.news-list-item {
		padding: 20px 16px;
	}

	.news-item .item-title, 
	.news-list-item .item-title {
		height: 60px;
	}

	.news-list-wrap:not(:first-child) {
		margin-top: 8px;
	}

	.page-item .page-link {
		padding: 3px 12px;
	}

	/* ==================== contact ==================== */
	.index-contact-wrap {
		padding: 24px;
	}

	.index-contact-wrap .section-title.text-center::after {
		margin: 16px auto 0;
	}

	.index-contact-wrap .section-title,
	.index-contact-wrap .item-title {
		margin-bottom: 16px;
	}
}