/* @import url('https://fonts.googleapis.com/css?family=Noto+Sans+TC:100,400,700&display=swap&subset=chinese-traditional'); */
/*

Theme Name:   Hello Elementor by Art Tangency Creation Code Team CG, LLTChen

Theme URI:    https://github.com/elementor/hello-theme

Template:     hello-elementor

Author:       Art Tangency Creation Code Team CG, LLTChen

Author URI:   https://elementor.com/

Description:  Hello Elementor by Art Tangency Creation Code Team CG, LLTChen

Version:      25.09.14

Text Domain:  hello-elementor

Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready

*/
/* ==================== Default ==================== */
html {font-size: 16px;/*1rem預設值，不受瀏覽器字型大小影響*/}
html,body {font-family:"LiHei Pro Medium","Apple LiGothic Medium","Taipei Sans TC Beta",'Noto Sans TC',"Microsoft JhengHei",'Quicksand';}
.CG_pos_fix {position:fixed !important;}
.CG_pos_abs {position:absolute !important;}
.CG_floatL {float:left;}
.CG_floatR {float:right;}
.CG_clear::after {content:""; display:table; clear:both; height:0px;}
.CG_clear {zoom:1;/*IE6+7*/}
.CG_bottomZero {padding-bottom:0 !important; margin-bottom:0 !important;}
.CG_pointeventFalse {pointer-events: none;}
.ATC_hide {visibility: hidden;}
.ATC_none {display: none;}
.ATC_overHide {overflow: hidden;}
.ta-R{text-align:right;} .ta-L{text-align:left;} .ta-C{text-align:center;}
.cssTable {display:table;}
.cssTable > dl, .cssTable > ul {display: table-row;}
.cssTable > dl > dt, .cssTable > dl > dd, .cssTable > ul > li {display: table-cell;}
.cssFlex {display:block;}
.cssFlex > dl, .cssFlex > ul {display: flex;  margin: 0;}
.cssFlex > ol {margin: 0; padding: 0;}
.cssFlex > ol > li {list-style: none; padding: 20px;}
.cssFlex > dl > dt, .cssFlex > dl > dd, .cssFlex > ul > li {
	display: block; margin: 0 auto; box-sizing: border-box; padding: 20px; border-bottom: 1px solid #aaa;
}
.line_over {overflow-x:hidden; text-overflow:ellipsis; white-space:nowrap;}
.line_over2 {overflow-x:hidden; text-overflow:ellipsis; white-space:wrap; height: 2.8em;}
.ATC_ver_lr {writing-mode: vertical-lr;}
.CGc {-webkit-transition: all 0.3s cubic-bezier(0.21, 1, 0.9, 1); -moz-transition: all 0.3s cubic-bezier(0.21, 1, 0.9, 1); -o-transition: all 0.3s cubic-bezier(0.21, 1, 0.9, 1); transition: all 0.3s cubic-bezier(0.21, 1, 0.9, 1);}
.fullMask {width:100%; height:100vh; position:fixed; top:0; left:0; background:#fff; pointer-events: none; display:none; z-index:99999;}
.fullMask::after {
	content: ''; width: 100px; height: 160px; display: block; margin: calc(50vh - 80px) auto 0px;
	background: no-repeat 50% 50%; background-image: url(/wp-content/uploads/2025/08/favicon-wakaba-512.png); background-size: contain;
	-webkit-animation: op 1s linear infinite alternate; -moz-animation: op 1s linear infinite alternate; -ms-animation: op 1s linear infinite alternate; -o-animation: op 1s linear infinite alternate; animation: op 1s linear infinite alternate;
}

.ATC_editList li {margin-bottom: 1.4em;}

.CG_filter-multiply,
.CG_filter-multiply > div {mix-blend-mode: multiply;}

.CG_scorll, .smooth_scorll {-webkit-overflow-scrolling:touch; -webkit-border-radius:3px; border-radius: 3px;}
.CG_scorll::-webkit-scrollbar {width:5px; -webkit-border-radius:3px; border-radius: 3px;}
.CG_scorll::-webkit-scrollbar-track {-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); -moz-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); -o-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); box-shadow: inset 0 0 6px rgba(0,0,0,0.3);}
.CG_scorll::-webkit-scrollbar-thumb {background-color:#999; outline: 1px solid #999;}

.post-password-form {/* 文章加密 */
	max-width:800px;
	margin:10vh auto;
	text-align:center;
}
.post-password-form label input {width:calc(100% - 4em); display:inline-block; margin-left:10px;}

.br_false_mb br {}
.br_false_pc br {display: none;}
.switchImage img {width: 100%; height: auto;} .switchImage img:first-child{display:block;} .switchImage img:last-child{display:none;}/*RWD Image*/
@media only screen and (max-width: 768px) {
	.br_false_pc br {display: block;} .br_false_mb br {display: none;}
	.switchImage img:first-child{display:none;} .switchImage img:last-child{display:block;}
}

/* ==================== Header ==================== */
.elementor-location-header {} /*Header Elementor Container*/
#ATC_navMobile {cursor: pointer;}

body.home header.elementor-location-header {position: fixed; width: 100%; z-index: 99;}
body.home header.elementor-location-header #CG_header:not(.active) {background-color: transparent;}
body.home header.elementor-location-header #CG_header:not(.active) .elementor-nav-menu--main a:not(:hover),
body.home header.elementor-location-header #CG_header:not(.active) .elementor-widget-theme-site-logo a,
body.home header.elementor-location-header #CG_header:not(.active) .elementor-icon-wrapper a,
body.home header.elementor-location-header #CG_header:not(.active) #ATC_navMobile {filter: brightness(10);}
/* #CG_header.action {background-color: rgba(255,255,255,0.9) !important }
#CG_header { transition:background-color 1s ease !important; } */
/* #CG_header.elementor-sticky--effects >.elementor-container { min-height: 80px; }
#CG_header > .elementor-container {transition: min-height 1s ease !important; } */

header .elementor-sticky {
	top: 0 !important;
    --transition: .3s ease-in-out;
    transition: background-color var(--transition),
                background-image var(--transition),
                backdrop-filter var(--transition),
                opacity var(--transition);
}
/* Menu Toggle */
.elementor-menu-toggle, #ATC_navMobile {width:40px; height:40px; position:relative; outline: none;}
.elementor-menu-toggle::before, #ATC_navMobile .elementor-icon::before,
.elementor-menu-toggle::after, #ATC_navMobile .elementor-icon::after {
	background-color:#3f3734; /* Nav color */
	content:''; display:block; width:80%; height:1px;
	position:absolute; left:10%; top:50%;
	-webkit-transition: all 0.3s cubic-bezier(0.21, 1, 0.9, 1);
	-moz-transition: all 0.3s cubic-bezier(0.21, 1, 0.9, 1);
	-o-transition: all 0.3s cubic-bezier(0.21, 1, 0.9, 1);
	transition: all 0.3s cubic-bezier(0.21, 1, 0.9, 1);
}
.elementor-menu-toggle::before, #ATC_navMobile .elementor-icon::before {margin-top:-20%;}
.elementor-menu-toggle::after, #ATC_navMobile .elementor-icon::after {margin-top:5%;
	padding-bottom: 20%; background-color: transparent; border: none; height: 0;
	/* border-image-source: linear-gradient(0deg, #3f373400, #3f3734ff); border-image-slice: 1; */
	/* border-top: 2px solid; */
	border-bottom: 1px solid #3f3734;
	-webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg);
}
.elementor-menu-toggle .eicon-menu-bar::after {}
.elementor-menu-toggle span, /* Default Nav icon */
.elementor-menu-toggle .eicon-close:before, /* old icon */
.elementor-menu-toggle .eicon-menu-bar:before {display:none;}
.elementor-menu-toggle.elementor-active {} /* Nav active */
.elementor-menu-toggle.elementor-active::before, #ATC_navMobile.active .elementor-icon::before {
	margin-top:0%; -webkit-transform:rotate(45deg); -moz-transform:rotate(45deg); -o-transform:rotate(45deg); transform:rotate(45deg);
}
.elementor-menu-toggle.elementor-active::after, #ATC_navMobile.active .elementor-icon::after {
	margin-top:0%; padding-bottom: 0; /*border-bottom: none;*/
	-webkit-transform:rotate(-45deg); -moz-transform:rotate(-45deg); -o-transform:rotate(-45deg); transform:rotate(-45deg);
}
.elementor-menu-toggle.elementor-active .eicon-menu-bar::after  {opacity:0;}

/* 修正 mobil sub menu scroll */
/* nav.elementor-nav-menu--dropdown .elementor-nav-menu {
	height: calc(100vh - 80px); overflow: auto; overscroll-behavior: contain;
} */
/* Menu Toggle End */

/* ==================== Footer ==================== */
#CG_footer {}
.backTop {} /* js handler */
#CG_powered a:hover {color:#999;}

/* Loading */
body.elementor-editor-active .LL_loadPad {display:none !important;} /* Elementor 模式隱藏 */
.LL_loadPad {width:100vw; height:100vh; top:0; left:0; position:fixed !important;}
.LL_loadPic {-webkit-animation: op 1s linear infinite alternate; -moz-animation: op 1s linear infinite alternate; -ms-animation: op 1s linear infinite alternate; -o-animation: op 1s linear infinite alternate; animation: op 1s linear infinite alternate;}
@-webkit-keyframes op{
	from{opacity:0.2;} to{opacity:1;}
}
@keyframes op{
	from{opacity:0.2;} to{opacity:1;}
}
 
/* ============== Elementor ============== */
.titleLine {padding-right: 2.5em;}
.titleLine::after {content: ''; width: 50px; height: 1px; position: absolute; left: 100%; top: 50%; background-color: #3f3734;}

.postEssence1 .elementor-heading-title {min-height: 4em;}
.homeCarousel.elementor-widget-loop-carousel.elementor-element :is(.swiper,.swiper-container)~.elementor-swiper-button-next {top: -90px;}
.homeCarousel.elementor-widget-loop-carousel.elementor-element :is(.swiper,.swiper-container)~.elementor-swiper-button-prev {top: -90px; left: auto; right: 50px;}

.projects-loopItem .elementor-cta__description span {padding-right:5px;}
.projects-loopItem .elementor-cta__description span::before {content: '# ';}

.filterEssence.elementor-widget-taxonomy-filter search.e-filter > button.e-filter-item[data-filter=__all] {border-width: 0 !important;}

.pj_featureList i::before {content:'|'; font-size: 1.1em; font-style: normal;}
.pj_featureList i {color: #e2e1e0; margin: 0px 10px;}

#ATC_postTag .elementor-widget-container > a {padding-left: 5px;}
#ATC_postTag .elementor-widget-container > a::before {content: '#';}


/* RWD */
@media only screen and (max-width: 768px) {
	.titleLine {padding-right: 1em;}
	.titleLine::after {width: 30px;}
}

/* 管理者登入: 前台上方控制 bar 移到下方。 需搭配 add_theme_support( 'admin-bar', array( 'callback' => '__return_false' ) ); */
#wpadminbar {
	top: auto; bottom:0px;	background:rgba(0,0,0,0.6); position: fixed;
}
.ab-sub-wrapper {
	top:auto; bottom:32px;
}
#AT_stickyHeader.elementor-sticky--active {top: 0px !important;}