@charset "UTF-8";@import url(nerveslider.min.css);@import url(colors.min.css);@import url(//cdn.jsdelivr.net/gh/vdustr/taipei-sans-tc@v0.1.1/packages/core/dist/Regular/TaipeiSansTCBeta-Regular.min.css);h1,h2,h3,h4,h5,h6,p{margin-top:0;margin-bottom:30px;letter-spacing:.01em}.label,h1,h2,h3,h4,h5,h6,p{margin-bottom:30px}body,h1,h2,h3,h4,h5,h6,p,strong{letter-spacing:.01em}#site-loading2,.searchbox .cv-button{background-position:center center;background-repeat:no-repeat;top:0}#home-image,*,hr{padding:0}#cv-home-social-bar ul li a,#cv-main-menu ul li a{height:5em;width:5em;line-height:5em;text-align:center}#cv-home-social-bar ul li a,a{transition:color .2s ease-in-out}a,a:hover{text-decoration:none}.cvgrid>li>figure>a:after,.cvgrid>li>figure>a>img{transition:.4s ease-in-out;backface-visibility:hidden}#cv-home-social-bar ul,#cv-main-menu ul,.cvfilters,.cvgrid,.cvgrid li{list-style-type:none}#cv-back-to-top,#cv-home-social-bar ul,#home-image,#home-slide-title,#home-title,.cv-main-icon-container,.cv-page-content,.cv-table,.cvfilters,.cvgrid>li>figure>a>img,.searchbox,ul.resp-tabs-list{vertical-align:bottom}.cv-button,h2.border{text-transform:uppercase}*,::after,::before{box-sizing:inherit}html{box-sizing:border-box;appearance:none}@font-face{font-family:ralewaybold;src:url(//cdn.jsdelivr.net/gh/bowmanmc/designing_maps@3472f267d97e591113a783d58fb3dca17f386094/app/fonts/raleway-bold-webfont.woff2) format("woff2"),url(//cdn.jsdelivr.net/gh/bowmanmc/designing_maps@3472f267d97e591113a783d58fb3dca17f386094/app/fonts/raleway-bold-webfont.woff) format("woff");font-display:fallback}@font-face{font-family:ralewayregular;src:url(//cdn.jsdelivr.net/gh/vaalentin/2015@80b24c10bd411b723a5188fbc94fa27ea368c92f/app/public/fonts/raleway/raleway-regular-webfont.woff2) format("woff2"),url(//cdn.jsdelivr.net/gh/vaalentin/2015@80b24c10bd411b723a5188fbc94fa27ea368c92f/app/public/fonts/raleway/raleway-regular-webfont.woff) format("woff");font-display:fallback}@font-face{font-family:openhuninn;src:url(//cdn.jsdelivr.net/gh/max32002/FakePearl@1.1/webfont/FakePearl-Regular.woff2) format("woff2"),url(//cdn.jsdelivr.net/gh/max32002/FakePearl@1.1/webfont/FakePearl-Regular.woff) format("woff");font-display:fallback}body,input,p,textarea{font-family:ralewayregular,openhuninn,"Taipei Sans TC",-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"\5FAE\8EDF\6B63\9ED1\9AD4","Microsoft JhengHei";font-weight:400}#home-slide-title span,#home-title p,.cv-box-title,.cv-button,.cv-readmore,.cv-resume-title p,.cv-table-left,.cvfilters li,.cvgrid li figure figcaption .cvgrid-title,.meta,.nav-numbers li a,.page-date,.skillbar,.tooltipster-content,blockquote .cite,h1,h2,h3,h4,h5,h6,label,strong{font-family:ralewaybold,openhuninn,"Taipei Sans TC";font-weight:400}#cv-home-social-bar ul li a:before,#cv-main-menu ul li a:before,.cv-icon-container a:before,.cvgrid>li>figure>a:after,blockquote:before{font-family:FontAwesome;speak:none;text-indent:0}label,strong{font-weight:700}*{margin:0}body{font-size:15px;background-color:transparent;overflow:hidden;word-spacing:.15em;-webkit-overflow-scrolling:touch;text-rendering:optimizeLegibility;-ms-overflow-style:-ms-autohiding-scrollbar;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);font-smooth:always;text-rendering:optimizeSpeed}h1,h2,h3,h4,h5,h6{line-height:1.25;word-spacing:normal}.cv-button,p,strong{word-spacing:.15em}h1{font-size:44px}h2{font-size:38px}h3{font-size:30px}h4{font-size:26px}h5{font-size:22px}h6{font-size:18px}h1.border,h2.border,h3.border,h4.border,h5.border,h6.border{position:relative;margin-bottom:50px}h1.border:after,h2.border:after,h3.border:after,h4.border:after,h5.border:after,h6.border:after{width:100px;height:3px;position:absolute;text-align:center;bottom:-15px;left:0;margin:0;z-index:1;content:''}p{font-size:16px;line-height:1.5}.skillbar:last-child,p:last-child{margin-bottom:0}.show{display:block!important}#home-title h1 .mobile-title,.hide{display:none!important}.clear,.clr{clear:both}label{line-height:1;margin-bottom:5px!important;display:block}.label{width:100%;padding:15px 20px;display:inline-block}blockquote{margin:40px 0;padding:40px;position:relative;text-indent:50px}blockquote:before{font-size:22px;width:50px;height:50px;line-height:50px;position:absolute;text-align:center;margin:0;z-index:1;display:inline-block;background-clip:padding-box;content:'\f10d';top:-10px;left:-10px}#cv-home-social-bar ul li a,#cv-main-menu ul li a,.cv-icon-container a{text-indent:-500em;outline:0!important}blockquote p{display:inline;font-size:20px;margin:0;line-height:1.5}blockquote .cite{font-style:normal;line-height:1.5;display:block;margin-top:30px;margin-bottom:0;text-align:right}blockquote .cite:before{content:"— "}blockquote,em,i{font-style:italic}hr{border:none;height:1px;margin:60px -60px}#cv-home-social-bar ul li a,#cv-main-menu ul li a,.cv-button,.cv-icon-container a{text-decoration:none!important}.cv-icon{text-align:center;margin-right:10px}.caption-image img,.img-mobile-only img,.responsive-img img{width:100%;height:auto;vertical-align:bottom}#iframe_gform,#ss-submit,.img-mobile-only,iframe[name=gform]{display:none}input[type=date],input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],textarea{position:relative;width:100%;display:block;margin:0 0 30px;padding:15px;transition:background-color .2s linear;border-radius:1.2em 1.2em 0 0;outline:0!important;word-spacing:.15em;letter-spacing:.01em}.cv-button,.cv-icon-container a:before,.cvfilters li,.resp-tabs-list li{transition:.2s ease-in-out}input[type=date]:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=text]:focus,textarea:focus{outline:0!important}textarea{height:140px;margin-bottom:30px!important;resize:none}.cv-button{font-size:15px;line-height:1;padding:15px 30px;display:inline-block;margin:10px 5px 0 0;outline:0;position:relative;letter-spacing:1px;text-align:center}form .cv-button{margin-top:0}.searchbox .cv-button{background-image:url('../images/search.png');border-radius:0!important;height:50px;width:30%!important;float:right;position:absolute;margin:0;border:none!important}.searchbox{width:100%!important;display:inline-block;position:relative}.searchbox input[type=text].searchtext{width:70%!important;float:left;border:none!important;height:50px;margin-bottom:0}.form-box{margin-top:40px}#site-loading{position:fixed;top:0;left:0;right:0;bottom:0;margin:0;z-index:999999999}#site-loading2{position:fixed;left:0;right:0;bottom:0;margin:0;height:auto;z-index:999;background-image:url(//cdn.jsdelivr.net/gh/heartyme/web.hearty.me@40929/img/kitten.png)}.loading{width:100%;height:100vh;transform:translate(50%,50%)}.loading div,.loading::after,.loading::before{display:inline-block;width:.3em;height:2em;border-radius:4px;animation:1s ease-in-out infinite loading}.loading::before{content:"";background-color:#3498db;animation-delay:0}.loading div:first-child{background-color:#c0392b;animation-delay:.09s}.loading div:nth-child(2){background-color:#f1c40f;animation-delay:.18s}.loading::after{content:"";background-color:#27ae60;animation-delay:.27s}@keyframes loading{0%,40%{transform:scale(1)}20%{transform:scale(1,2.2)}}.cv-left-slider{width:50%;width:calc(50% - 2.5em);height:100%;position:fixed;left:5em;top:0;z-index:2}.floor{z-index:1;padding-left:50%;padding-left:calc(50% + 2.5em);-webkit-overflow-scrolling:touch}.cv-page-content{position:relative;display:inline-block;padding:60px;width:100%;margin:0;min-height:100%}#cv-page-left,#cv-page-right{width:50%;height:100%;position:fixed;top:0;bottom:0}#cv-page-left{width:calc(50% - 2.5em);left:5em}#cv-page-right{width:calc(50% - 2.5em);right:0;overflow:auto;-webkit-overflow-scrolling:touch}#cv-menu{position:fixed;top:0;left:0;height:100%;z-index:999}#cv-main-menu ul{margin:0;padding:0}#cv-main-menu ul li a{display:block;position:relative}#cv-main-menu ul li a:before{position:absolute;top:0;left:0;width:100%;height:100%;font-size:24px;transition:.2s ease-in-out;opacity:.5}#cv-main-menu ul li:first-child a:before{font-size:36px;opacity:1}#cv-main-menu ul li a:hover:before,#cv-main-menu ul li.cv-active a:before{opacity:1}#cv-main-menu ul li.cv-active a{cursor:default;pointer-events:none}#home-image{position:relative;width:100%;height:100%;margin:0;overflow:hidden}#home-slide-title,#home-title{position:absolute;top:60px;z-index:3}#home-title h1{margin:0}#home-slide-title span,#home-title h1 span{font-size:60px;margin:0;padding:40px 60px;display:inline-block;line-height:1;letter-spacing:1px}#home-title p{font-size:30px;margin:0;padding:30px 25px;word-spacing:normal;display:inline-block}#home-title{left:0}#home-slide-title{right:0}#cv-home-social-bar-container{position:absolute;bottom:60px;left:0;z-index:999}#cv-home-social-bar ul{margin:0;padding:0;display:inline-block}#cv-home-social-bar ul li{list-style-type:none;float:left}#cv-home-social-bar ul li a{display:block;position:relative}#cv-home-social-bar ul li:last-child a{border:none!important}#cv-home-social-bar ul li a:before{position:absolute;top:0;left:0;width:100%;height:100%;font-size:24px}.cv-table{list-style:none;padding:0;margin:0 0 30px;display:inline-block}.cv-table-left,.cv-table-right{display:inline-block;padding-bottom:12px}.cv-table li{position:relative;display:inline-block;width:100%;padding-left:0;margin-bottom:10px;font-size:18px;word-spacing:.1em;line-height:1.5}.skill-bar-percent,.skillbar-title span{font-size:15px;line-height:40px;height:40px}.cv-box .cv-table li:first-child,.cv-table li:first-child{padding-top:10px;margin-top:10px}.cv-table .cv-table-title{margin-bottom:5px}.cv-table .cv-table-text{font-size:15px}.cv-table-left{float:left}.cv-table-right{float:right}.cv-main-icon-container{position:relative;display:flex;justify-content:flex-start;flex-flow:row wrap;margin-left:-20px;margin-right:-20px;margin-bottom:-30px}.cv-icon-block{position:relative;width:50%;padding-left:20px;padding-right:20px;margin-top:30px;margin-bottom:30px}.cv-icon-container,.cv-icon-container a{width:120px;height:120px;position:relative;text-align:center}.cv-icon-container{margin:0 auto 30px;border-radius:100%}.cv-icon-text{text-align:center;margin-bottom:0}.cv-icon-text h4,.skillbar{margin-bottom:20px}.cv-icon-container a{display:block;line-height:120px}.cv-icon-container a:before{position:absolute;top:0;left:0;width:100%;height:100%;font-size:50px}.skillbar{position:relative;display:block;width:100%;height:42px;transition:background-color .4s linear}.skillbar-title{position:absolute;top:0;left:0}.skillbar-title span{display:block;padding:0 15px}.skillbar-bar{height:40px;width:0;animation:5s linear infinite animate-bg;background-size:40px 40px}.skill-bar-percent{position:absolute;right:15px;top:0;opacity:.5}@keyframes animate-bg{from{background-position:0 0}to{background-position:-80px 0}}.cv-resume-box{position:relative;margin-bottom:40px}.cv-resume-box ul{line-height:1.7;letter-spacing:.5px;color:#555}.cv-resume-title{padding-bottom:15px;margin-bottom:15px}.cv-resume-title h5{margin-bottom:10px;letter-spacing:1px}.cv-resume-title p{margin-bottom:0;line-height:1.9;letter-spacing:.5px;font-size:18px}.google-map-container{position:relative;margin:0;padding:0;width:100%;height:100%}#google-map{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%}#accordion-container,.accordion-header,.caption-image,.comments_content,.cv-box,.cv-tabs,.cvgrid,.cvgrid li figure,.cvgrid>li>figure>a,.flex-video,.mobile-map-container,.reply,.video_yt{position:relative}.mobile-map-container{margin:0;padding:0;display:none}#mobile-map{height:350px;margin:0}.cvgrid{margin:0 0 -20px;padding:0;display:none}.cvgrid li{float:left;padding:0;margin:0;opacity:1}.cvgrid li.cvgrid-animate{transition:.5s cubic-bezier(.645, .045, .355, 1);transition-timing-function:cubic-bezier(0.645,0.045,0.355,1.000)}.cvgrid li.wookmark-inactive{visibility:hidden;opacity:0}.cvgrid li figure{padding:0;margin:0}.cvgrid li figure figcaption .cvgrid-title{margin:0;text-decoration:none;line-height:1.25;outline:0;text-align:center;padding:20px}.cvgrid>li>figure>a{outline:0;overflow:hidden;display:block}.cvgrid>li>figure>a:after{position:absolute;text-align:center;line-height:1;opacity:0;font-style:normal;font-weight:400;top:50%;left:50%;width:48px;height:48px;font-size:22px;margin-top:-28px;margin-left:-28px;padding:14px;border-radius:100%;transform:scale(0);display:inline-block}.cvgrid>li>figure>a:hover:after{opacity:1;transform:scale(1.1)}.cvgrid>li>figure>a.cvgrid-img:after{content:"\f002"}.cvgrid>li>figure>a.cvgrid-video:after{content:"\f04b"}.cvgrid>li>figure>a.cvgrid-link:after{content:"\f0c1"}.cvgrid>li>figure>a>img{width:100%;display:block;padding:0;margin:0;border:none;overflow:hidden}.cvgrid>li>figure>a:hover img{transform:scale(1.2);opacity:.3}.cvgrid li figure figcaption{width:100%;height:100%;backface-visibility:hidden}.cvfilters{text-align:center;margin:0 0 20px;padding:0;display:inline-block}.cvfilters li{font-size:18px;float:left;cursor:pointer;margin:3px;padding:15px 20px;line-height:1;width:auto}.tooltipster-dark .tooltipster-content,.tooltipster-light .tooltipster-content,.tooltipster-red .tooltipster-content{font-size:18px;line-height:1;padding:15px 20px;overflow:hidden}.tooltipster-gototop .tooltipster-content{font-size:15px;line-height:1;padding:10px 15px;overflow:hidden}#cv-back-to-top:before,.accordion-header:after{font-family:FontAwesome;speak:none;text-indent:0;text-align:center;font-size:22px}#accordion-container{padding:0;margin:40px 0;width:100%}.accordion-header{overflow:hidden;margin:0;padding:20px 25px 20px 0;cursor:pointer;transition:color .2s ease-in-out;font-size:18px}.accordion-header:after{content:"\f078";position:absolute;top:19px;right:0;width:24px;height:24px;line-height:24px;z-index:1;display:inline-block;margin:0}.accordion-header.active-header:after{content:"\f077"}.accordion-content{display:none;padding:30px 0;width:100%}.flex-video{padding-bottom:55%;height:0;overflow:hidden;margin-bottom:40px;margin-top:40px}.flex-video.widescreen{padding-bottom:37.25%}.flex-video.vimeo{padding-top:0}.flex-video embed,.flex-video iframe,.flex-video object,.flex-video video{position:absolute;top:0;left:0;width:100%;height:100%;outline:0;border:none}.comments_content{padding:30px;border-radius:10px;margin-bottom:30px}.comments_content:before{top:-20px;left:30px;border:10px solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;margin-left:0;z-index:9}.comments_content p{margin-bottom:0!important}.reply{padding-left:50px}.reply:before{font-family:FontAwesome;content:"\f122";speak:none;text-indent:0;text-align:center;position:absolute;top:0;left:15px;width:24px;height:24px;font-size:24px;margin-top:-3px;transform:rotate(180deg)}.meta{margin-bottom:15px!important}.cv-tabs{margin:40px 0!important}ul.resp-tabs-list{margin:0;padding:0;display:inline-block;width:100%}.resp-tabs-list li{font-size:18px;display:inline-block;padding:20px;margin:0;list-style:none;cursor:pointer;float:left;border-top:3px solid transparent}.resp-tabs-container{padding:0;clear:left;overflow:hidden}.resp-tab-content img{max-width:100%;height:auto}.resp-accordion-active,.resp-content-active,.resp-easy-accordion h2.resp-accordion,.resp-tab-content-active{display:block}.resp-tab-content{display:none;border:none;padding:40px}.resp-vtabs ul.resp-tabs-list{float:left;width:30%;border-bottom:none}.resp-vtabs .resp-tabs-list li{display:block;padding:20px!important;margin:0;cursor:pointer;float:none;border-top:none!important}.resp-vtabs .resp-tabs-container{padding:0;float:left;width:70%;clear:none}.resp-vtabs li.resp-tab-active{position:relative;z-index:1;padding:20px!important;border-top:none!important}h2.resp-tab-active{margin-bottom:0!important;padding:20px!important}h2.resp-tab-active span.resp-arrow{border:none}.resp-arrow{width:0;height:0;float:right;margin-top:3px}h2.resp-accordion{cursor:pointer;display:none;font-size:18px;margin:0;padding:20px}.resp-jfit{width:100%;margin:0}.caption-image{margin:40px 0}.caption-image figcaption{position:absolute;display:inline-block;bottom:10px;left:0;width:100%;text-align:center;height:50px;line-height:50px}.cv-box{padding:30px;margin:0 0 30px}.cv-box-title{line-height:1;font-size:18px;margin-bottom:20px}.cv-box.cv-red p{opacity:.7}#footer{position:fixed;bottom:-100%;right:0;width:50%;width:calc(50% - 2.5em);z-index:9;height:50px;display:flex;flex-flow:row wrap}#footer.fixed-footer{bottom:0}.cv-credits{padding:0 60px;line-height:50px;font-size:12px;display:inline-block;width:100%}.cv-credits a,.cv-credits a:hover{text-decoration:underline}.cv-lang{margin:1em 4em;padding:0 .5em;border-radius:.5em;background:rgba(255,255,255,.8);outline:0}#cv-back-to-top{position:absolute;bottom:12px;right:60px;display:inline-block;margin:0;padding:0;height:24px;width:24px;cursor:pointer;z-index:2}#cv-back-to-top:before{content:"\f151";position:absolute;top:0;left:0;width:100%;height:100%;transition:color .2s ease-in-out}::-webkit-scrollbar{width:.6em}::-webkit-scrollbar-track{box-shadow:inset 0 0 6px rgba(0,0,0,.3);border-radius:.6em}::-webkit-scrollbar-thumb{border-radius:.6em;background:rgba(222,57,38,.8);box-shadow:inset 0 0 6px rgba(0,0,0,.5)}::-webkit-scrollbar-thumb:window-inactive{background:rgba(222,57,38,.4)}label.required:after{content:"\00a0\26B9"}.video_yt{padding-bottom:56.25%;overflow:hidden}.video_yt iframe{position:absolute;width:100%;height:100%;top:0;left:0}/* --- FLUID TYPOGRAPHY OVERRIDES --- */
:root {
    --text-base: 16px;
    --font-hero: clamp(40px, calc(32px + 2.5vw), 64px);
    --font-h1: clamp(32px, calc(26.66px + 1.666vw), 48px);
    --font-h2: clamp(28px, calc(26.66px + 0.416vw), 32px);
    --font-h3: clamp(20px, calc(18.66px + 0.416vw), 24px);
    --font-h4: clamp(18px, calc(17.33px + 0.208vw), 20px);
    --font-lead: 18px;
    --font-body: 16px;
    --font-small: 14px;
    --font-button: 14px;

    --weight-hero: 700;
    --weight-h1: 700;
    --weight-h2: 600;
    --weight-h3: 600;
    --weight-h4: 500;
    --weight-lead: 400;
    --weight-body: 400;
    --weight-small: 400;
    --weight-button: 600;

    --lh-hero: 1.1;
    --lh-h1: 1.2;
    --lh-h2: 1.3;
    --lh-h3: 1.4;
    --lh-h4: 1.4;
    --lh-lead: 1.6;
    --lh-body: 1.6;
    --lh-small: 1.5;
    --lh-button: 1.0;

    --ls-hero: -0.02em;
    --ls-h1: -0.01em;
    --ls-h2: 0;
    --ls-h3: 0;
    --ls-h4: 0;
    --ls-lead: 0;
    --ls-body: 0;
    --ls-small: 0.01em;
    --ls-button: 0.05em;
}

/* Base resets for Typography */
h1, h2, h3, h4, h5, h6, p, small, button, .cv-button {
    font-size: unset;
    font-weight: unset;
    line-height: unset;
    letter-spacing: unset;
    text-transform: unset;
}

h1.hero, #home-slide-title span, #home-title h1 span {
    font-size: var(--font-hero) !important;
    font-weight: var(--weight-hero) !important;
    line-height: var(--lh-hero) !important;
    letter-spacing: var(--ls-hero) !important;
}

h1, #post-title {
    font-size: var(--font-h1) !important;
    font-weight: var(--weight-h1) !important;
    line-height: var(--lh-h1) !important;
    letter-spacing: var(--ls-h1) !important;
}

h2, .cv-page-content h2, #post-content h2, h2.border {
    font-size: var(--font-h2) !important;
    font-weight: var(--weight-h2) !important;
    line-height: var(--lh-h2) !important;
    letter-spacing: var(--ls-h2) !important;
}

h3, #post-content h3, .cv-resume-title h3, h3.border {
    font-size: var(--font-h3) !important;
    font-weight: var(--weight-h3) !important;
    line-height: var(--lh-h3) !important;
    letter-spacing: var(--ls-h3) !important;
}

h4, #post-content h4, .cv-icon-text h4 {
    font-size: var(--font-h4) !important;
    font-weight: var(--weight-h4) !important;
    line-height: var(--lh-h4) !important;
    letter-spacing: var(--ls-h4) !important;
}

p.lead, .about-text .about-paragraph {
    font-size: var(--font-lead) !important;
    font-weight: var(--weight-lead) !important;
    line-height: var(--lh-lead) !important;
    letter-spacing: var(--ls-lead) !important;
}

p, body, li, .cv-page-content p, #post-content p {
    font-size: var(--font-body) !important;
    font-weight: var(--weight-body) !important;
    line-height: var(--lh-body) !important;
    letter-spacing: var(--ls-body) !important;
}

small, caption, figcaption, .course-sub-headline, .course-note, .post-category, .course-category, .cv-credits {
    font-size: var(--font-small) !important;
    font-weight: var(--weight-small) !important;
    line-height: var(--lh-small) !important;
    letter-spacing: var(--ls-small) !important;
}

button, .cv-button, .btn {
    font-size: var(--font-button) !important;
    font-weight: var(--weight-button) !important;
    line-height: var(--lh-button) !important;
    letter-spacing: var(--ls-button) !important;
    text-transform: uppercase !important;
}
