/* @license MIT https://github.com/necolas/normalize.css/blob/8.0.1/LICENSE.md */
html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0;}main{display:block;}h1{font-size:2em;margin:0.67em 0;}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace,monospace;font-size:1em;}a{background-color:transparent;}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted;}b,strong{font-weight:bolder;}code,kbd,samp{font-family:monospace,monospace;font-size:1em;}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sub{bottom:-0.25em;}sup{top:-0.5em;}img{border-style:none;}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible;}button,select{text-transform:none;}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button;}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0;}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText;}fieldset{padding:0.35em 0.75em 0.625em;}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline;}textarea{overflow:auto;}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto;}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block;}summary{display:list-item;}template{display:none;}[hidden]{display:none;}
/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
.action-links{margin:1em 0;padding:0;list-style:none;}[dir="rtl"] .action-links{margin-right:0;}.action-links li{display:inline-block;margin:0 0.3em;}.action-links li:first-child{margin-left:0;}[dir="rtl"] .action-links li:first-child{margin-right:0;margin-left:0.3em;}.button-action{display:inline-block;padding:0.2em 0.5em 0.3em;text-decoration:none;line-height:160%;}.button-action::before{margin-left:-0.1em;padding-right:0.2em;content:"+";font-weight:900;}[dir="rtl"] .button-action::before{margin-right:-0.1em;margin-left:0;padding-right:0;padding-left:0.2em;}
.breadcrumb{padding-bottom:0.5em;}.breadcrumb ol{margin:0;padding:0;}[dir="rtl"] .breadcrumb ol{margin-right:0;}.breadcrumb li{display:inline;margin:0;padding:0;list-style-type:none;}.breadcrumb li::before{content:" \BB ";}.breadcrumb li:first-child::before{content:none;}
.button,.image-button{margin-right:1em;margin-left:1em;}.button:first-child,.image-button:first-child{margin-right:0;margin-left:0;}
.container-inline label::after,.container-inline .label::after{content:":";}.form-type-radios .container-inline label::after,.form-type-checkboxes .container-inline label::after{content:"";}.form-type-radios .container-inline .form-type-radio,.form-type-checkboxes .container-inline .form-type-checkbox{margin:0 1em;}.container-inline .form-actions,.container-inline.form-actions{margin-top:0;margin-bottom:0;}
details{margin-top:1em;margin-bottom:1em;border:1px solid #ccc;}details > .details-wrapper{padding:0.5em 1.5em;}summary{padding:0.2em 0.5em;cursor:pointer;}
.exposed-filters .filters{float:left;margin-right:1em;}[dir="rtl"] .exposed-filters .filters{float:right;margin-right:0;margin-left:1em;}.exposed-filters .form-item{margin:0 0 0.1em 0;padding:0;}.exposed-filters .form-item label{float:left;width:10em;font-weight:normal;}[dir="rtl"] .exposed-filters .form-item label{float:right;}.exposed-filters .form-select{width:14em;}.exposed-filters .current-filters{margin-bottom:1em;}.exposed-filters .current-filters .placeholder{font-weight:bold;font-style:normal;}.exposed-filters .additional-filters{float:left;margin-right:1em;}[dir="rtl"] .exposed-filters .additional-filters{float:right;margin-right:0;margin-left:1em;}
.field__label{font-weight:bold;}.field--label-inline .field__label,.field--label-inline .field__items{float:left;}.field--label-inline .field__label,.field--label-inline > .field__item,.field--label-inline .field__items{padding-right:0.5em;}[dir="rtl"] .field--label-inline .field__label,[dir="rtl"] .field--label-inline .field__items{padding-right:0;padding-left:0.5em;}.field--label-inline .field__label::after{content:":";}
form .field-multiple-table{margin:0;}form .field-multiple-table .field-multiple-drag{width:30px;padding-right:0;}[dir="rtl"] form .field-multiple-table .field-multiple-drag{padding-left:0;}form .field-multiple-table .field-multiple-drag .tabledrag-handle{padding-right:0.5em;}[dir="rtl"] form .field-multiple-table .field-multiple-drag .tabledrag-handle{padding-right:0;padding-left:0.5em;}form .field-add-more-submit{margin:0.5em 0 0;}.form-item,.form-actions{margin-top:1em;margin-bottom:1em;}tr.odd .form-item,tr.even .form-item{margin-top:0;margin-bottom:0;}.form-composite>.fieldset-wrapper>.description,.form-item .description{font-size:0.85em;}label.option{display:inline;font-weight:normal;}.form-composite>legend,.label{display:inline;margin:0;padding:0;font-size:inherit;font-weight:bold;}.form-checkboxes .form-item,.form-radios .form-item{margin-top:0.4em;margin-bottom:0.4em;}.form-type-radio .description,.form-type-checkbox .description{margin-left:2.4em;}[dir="rtl"] .form-type-radio .description,[dir="rtl"] .form-type-checkbox .description{margin-right:2.4em;margin-left:0;}.marker{color:#e00;}.form-required::after{display:inline-block;width:6px;height:6px;margin:0 0.3em;content:"";vertical-align:super;background-image:url(/themes/portfolio/images/icons/required.svg);background-repeat:no-repeat;background-size:6px 6px;}abbr.tabledrag-changed,abbr.ajax-changed{border-bottom:none;}.form-item input.error,.form-item textarea.error,.form-item select.error{border:2px solid red;}.form-item--error-message::before{display:inline-block;width:14px;height:14px;content:"";vertical-align:sub;background:url(/themes/portfolio/images/icons/error.svg) no-repeat;background-size:contain;}.node--type-page input[type='submit']{appearance:none;padding:0.8rem 1.5rem;color:#6f6f6f;text-decoration:none;border:1px solid #6f6f6f;background:#fff;transition:all 0.25s ease-in-out;display:block;cursor:pointer;}.node--type-page input[type='submit']:hover{color:#171717;border:1px solid #171717;opacity:0.8;}
.icon-help{padding:1px 0 1px 20px;background:url(/themes/portfolio/images/icons/help.png) 0 50% no-repeat;}[dir="rtl"] .icon-help{padding:1px 20px 1px 0;background-position:100% 50%;}.feed-icon{display:block;overflow:hidden;width:16px;height:16px;text-indent:-9999px;background:url(/themes/portfolio/images/icons/feed.svg) no-repeat;}
.form--inline .form-item{float:left;margin-right:0.5em;}[dir="rtl"] .form--inline .form-item{float:right;margin-right:0;margin-left:0.5em;}[dir="rtl"] .views-filterable-options-controls .form-item{margin-right:2%;}.form--inline .form-item-separator{margin-top:2.3em;margin-right:1em;margin-left:0.5em;}[dir="rtl"] .form--inline .form-item-separator{margin-right:0.5em;margin-left:1em;}.form--inline .form-actions{clear:left;}[dir="rtl"] .form--inline .form-actions{clear:right;}
button.link{margin:0;padding:0;cursor:pointer;border:0;background:transparent;font-size:1em;}label button.link{font-weight:bold;}.blog-teaser .read-more-btn{margin-left:auto;text-decoration:none;}.blog-teaser a.read-more-btn span{color:#b6b6b6;padding:2px 8px 0;text-decoration:none;border:1px solid #eaeaea;transition:all 0.25s ease-in-out;display:block;}.blog-teaser:hover a.read-more-btn span{color:#171717;border:1px solid #171717;opacity:0.8;}a.read-more-btn:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:"";}
ul.inline,ul.links.inline{display:inline;padding-left:0;}[dir="rtl"] ul.inline,[dir="rtl"] ul.links.inline{padding-right:0;padding-left:15px;}ul.inline li{display:inline;padding:0 0.5em;list-style-type:none;}ul.links a.is-active{color:#000;}
ul.menu{margin-left:1em;padding:0;list-style:none outside;text-align:left;}[dir="rtl"] ul.menu{margin-right:1em;margin-left:0;text-align:right;}.menu-item--expanded{list-style-type:circle;list-style-image:url(/themes/portfolio/images/icons/menu-expanded.png);}.menu-item--collapsed{list-style-type:disc;list-style-image:url(/themes/portfolio/images/icons/menu-collapsed.png);}[dir="rtl"] .menu-item--collapsed{list-style-image:url(/themes/portfolio/images/icons/menu-collapsed-rtl.png);}.menu-item{margin:0;}ul.menu a.is-active{color:#000;}.site-logo img{width:50px;display:block;margin:10px 0;}.region-header,.menu--main ul{margin:0 15px;display:flex;justify-content:space-between;align-items:center;gap:15px;}header a{text-decoration:none;color:#474747;padding-top:8px;padding-bottom:8px;}header a:focus-visible,header a.is-active{outline:none;color:#171717;font-weight:700;}.language-switcher-language-url{display:flex;align-items:center;}div.language-switcher-language-url{border-left:1px dashed #eaeaea;padding-left:25px;padding-right:20px;}.menu--main{display:flex;align-items:center;margin-left:auto;margin-right:0;}@media(min-width:1200px){.site-logo img{width:70px;}.region-header,.menu--main ul{gap:25px;}}
.more-link{display:block;text-align:right;}[dir="rtl"] .more-link{text-align:left;}
.pager__items{clear:both;text-align:center;}.pager__item{display:inline;padding:0.5em;}.pager__item.is-active{font-weight:bold;}
tr.drag{background-color:#fffff0;}tr.drag-previous{background-color:#ffd;}body div.tabledrag-changed-warning{margin-bottom:0.5em;}
tr.selected td{background:#ffc;}td.checkbox,th.checkbox{text-align:center;}[dir="rtl"] td.checkbox,[dir="rtl"] th.checkbox{text-align:center;}
div.tabs{margin:1em 0;}ul.tabs{margin:0 0 0.5em;padding:0;list-style:none;}.tabs > li{display:inline-block;margin-right:0.3em;}[dir="rtl"] .tabs > li{margin-right:0;margin-left:0.3em;}.tabs a{display:block;padding:0.2em 1em;text-decoration:none;}.tabs a.is-active{background-color:#eee;}.tabs a:focus,.tabs a:hover{background-color:#f5f5f5;}
.form-textarea-wrapper textarea{display:block;box-sizing:border-box;width:100%;margin:0;}
.ui-dialog--narrow{max-width:500px;}@media screen and (max-width:600px){.ui-dialog--narrow{min-width:95%;max-width:95%;}}
.messages{padding:15px 20px 15px 35px;word-wrap:break-word;border:1px solid;border-width:1px 1px 1px 0;border-radius:2px;background:no-repeat 10px 17px;overflow-wrap:break-word;}[dir="rtl"] .messages{padding-right:35px;padding-left:20px;text-align:right;border-width:1px 0 1px 1px;background-position:right 10px top 17px;}.messages + .messages{margin-top:1.538em;}.messages__list{margin:0;padding:0;list-style:none;}.messages__item + .messages__item{margin-top:0.769em;}.messages--status{color:#325e1c;border-color:#c9e1bd #c9e1bd #c9e1bd transparent;background-color:#f3faef;background-image:url(/themes/portfolio/images/icons/check.svg);box-shadow:-8px 0 0 #77b259;}[dir="rtl"] .messages--status{margin-left:0;border-color:#c9e1bd transparent #c9e1bd #c9e1bd;box-shadow:8px 0 0 #77b259;}.messages--warning{color:#734c00;border-color:#f4daa6 #f4daa6 #f4daa6 transparent;background-color:#fdf8ed;background-image:url(/themes/portfolio/images/icons/warning.svg);box-shadow:-8px 0 0 #e09600;}[dir="rtl"] .messages--warning{border-color:#f4daa6 transparent #f4daa6 #f4daa6;box-shadow:8px 0 0 #e09600;}.messages--error{color:#a51b00;border-color:#f9c9bf #f9c9bf #f9c9bf transparent;background-color:#fcf4f2;background-image:url(/themes/portfolio/images/icons/error.svg);box-shadow:-8px 0 0 #e62600;}[dir="rtl"] .messages--error{border-color:#f9c9bf transparent #f9c9bf #f9c9bf;box-shadow:8px 0 0 #e62600;}.messages--error p.error{color:#a51b00;}
.node--unpublished{background-color:#fff4f4;}
*,:after,:before{box-sizing:border-box;margin:0;padding:0;}body{background:white;display:flex;flex-direction:column;min-height:100vh;font-optical-sizing:auto;font-weight:400;font-style:normal;font-family:'Roboto','Noto Sans TC',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;color:#1b1b1b;}a{color:#45cb2f;}.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important;}.text-right{text-align:right;}.justify-between{justify-content:space-between;}.ml-auto{margin-left:auto;}.mr-1{margin-right:.5rem;}.mb-0{margin-bottom:0 !important;}.inline-block{display:inline-block;}.flex{display:flex;}.justify-end{justify-content:flex-end;}.items-base{align-items:baseline;}.layout-container{display:flex;flex-direction:column;min-height:100vh;margin:0 auto;}.layout-container:after{transform:translateX(calc(100vw - 25px));}.page-title{font-weight:400;}main,.layout-header,.layout-footer{line-height:1.8;font-size:16px;display:flex;}.layout-footer{margin-top:3rem !important;}.region-footer{margin-left:10px;margin-right:10px;}.layout-header,.layout-footer{max-width:1140px;margin:0 auto;width:100%;background:#fefefe;}.region-header,.layout-content{flex:1;}ul{padding:0;list-style:none;}.node--view-mode-full ul{padding-left:15px;list-style-type:disc;}article.node--type-works{position:relative;}#block-portfolio-content .item-list h2,.node--type-works.node--view-mode-teaser .work-header h2{margin:0;position:relative;top:-12px;}#block-portfolio-content .item-list li article.node--type-blog,article.node--type-blog.node--view-mode-full,article.node--type-page{max-width:1140px;width:calc(100% - 34px);background:#fefefe;margin:20px auto;padding:0;position:relative;}.view-work article{margin:0 auto 20px;position:relative;padding:30px;}.view-work article .work-content{padding:0 15px;}article.node--type-page{border-color:transparent;margin-top:1rem !important;padding-top:1rem;}#block-portfolio-content .item-list li,.view-work .views-row{width:100%;position:relative;margin-bottom:15px;}#block-portfolio-content .item-list li:after,.view-work .views-row:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background-color:#eaeaea;}.blog-teaser{display:flex;flex-direction:column;gap:0;}.blog-teaser__left img{width:100%;max-width:100%;height:100%;object-fit:cover;display:block;}.blog-teaser__right{padding:0 15px 20px;display:flex;flex-direction:column;overflow:hidden;}.node--view-mode-teaser h2 a{text-decoration:none;color:#1b1b1b;border-bottom:1px dotted transparent;display:inline-block;max-width:100%;line-height:34px;}.field--name-field-link{position:relative;z-index:2;}.blog-teaser h2 a span,.node--type-works.node--view-mode-teaser h2 a span{top:20px;position:relative;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;width:fit-content;}.blog-teaser h2 span:before,.node--type-works.node--view-mode-teaser h2 span:before{content:'';position:absolute;transform:scaleX(0);bottom:6px;height:4px;width:100%;opacity:.8;background-color:#b8fad4;transform-origin:bottom right;transition:transform 0.35s ease-out;}.blog-teaser:hover h2 span:before,.node--type-works.node--view-mode-teaser:hover h2 span:before{transform:scaleX(1);transform-origin:bottom left;}pre{font-family:"Google Sans Code",monospace;font-optical-sizing:auto;font-weight:400;font-style:normal;white-space:pre-wrap;font-feature-settings:normal;font-kerning:auto;font-language-override:normal;font-size:12px;font-size-adjust:none;color:rgb(31,31,31);background:rgb(233,238,246);border-radius:8px;line-height:18px;margin-top:8px;padding:8px 16px;word-break:break-all;}.node__submitted{font-size:12px;}#block-portfolio-page-title{font-size:18px;width:100%;background:repeating-linear-gradient(315deg,oklab(0 0 0 / 0.08) 0px,oklab(0 0 0 / 0.08) 1px,rgba(0,0,0,0) 0px,rgba(0,0,0,0) 50%);background-size:10px 10px;border-top:1px solid #f1f1f1;border-bottom:1px solid #f1f1f1;padding:2rem 0;}#block-portfolio-page-title .flex{flex-direction:column;}.path-frontpage #block-portfolio-page-title{padding:0 !important;border-top-color:transparent;}.page-title,.work-full-meta{margin:0 20px;}p{margin-bottom:1rem;}.view-work .view-content{display:grid;}.work-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;}.view-work .field--name-field-masthead{padding:20px;text-align:center;background-image:repeating-linear-gradient(315deg,oklab(0 0 0 / 0.08) 0px,oklab(0 0 0 / 0.08) 1px,rgba(0,0,0,0) 0px,rgba(0,0,0,0) 50%);background-size:10px 10px;border:1px solid #f1f1f1;border-radius:5px;position:relative;margin-bottom:10px;}.view-work .node--type-works img{aspect-ratio:4/3;object-fit:contain;width:100%;max-width:250px;transform:scale(0.87);transition:transform 0.5s ease;}.view-work .node--type-works em{margin-right:.5rem;font-size:12px;text-transform:uppercase;color:#888;font-weight:500;font-style:normal;}.field--name-field-stack{font-weight:500;color:#1b1b1b;}.view-work .field--name-field-masthead:before{position:absolute;width:100%;height:100%;content:"";background:black;top:0;left:0;opacity:0;transition:opacity 0.5s ease;}.node--type-works.node--view-mode-teaser:hover .field--name-field-masthead:before{opacity:.05;}.node--type-works.node--view-mode-teaser:hover .field--name-field-masthead img{transform:scale(0.9);}.work-full-meta{display:flex;flex-wrap:wrap;gap:1.5rem 2.5rem;align-items:center;font-size:0.95rem;}.work-meta-item{display:flex;flex-direction:column;gap:0.25rem;}.work-meta-item .meta-label{font-size:0.8rem;text-transform:uppercase;letter-spacing:0.05em;color:#888;font-weight:500;}.work-meta-item .meta-value{font-weight:500;color:#1b1b1b;}.node--view-mode-full.node--type-works{max-width:1140px;margin:2rem auto;padding:0 20px;}.node--type-works.node--view-mode-full img,.node--type-blog.node--view-mode-full img{border:1px solid #f1f1f1;max-width:100%;height:auto;margin:1rem auto 2rem;display:block;}@media (min-width:768px){.layout-footer{margin-top:2rem;padding:1rem;}.page-title,.work-full-meta{margin:0 auto;width:calc(100% - 34px);max-width:1140px;}.page-title{font-size:calc(20px + (40 - 20) * ((100vw - 375px) / (1440 - 375)));}layout-header{flex:1;font-size:20px;line-height:2;}main{flex:1;}.blog-teaser{flex-direction:row;}.blog-teaser__left{flex:0 0 30%;max-width:480px;}.blog-teaser__right{flex:1;padding-left:20px;}.node--view-mode-teaser h2 a span{width:100%;}#block-portfolio-content .item-list li article.node--type-blog{padding:20px;margin:0;}.view-work{margin:20px;}.view-work article{padding:20px;}.view-work .view-content{gap:0px;justify-content:space-around;grid-template-columns:repeat(2,1fr);}.node--view-mode-full p{margin-bottom:2rem;}}@media(min-width:1200px){.layout-header,.layout-footer,.page-title,.work-full-meta{max-width:1440px;}#block-portfolio-page-title{padding:1.5rem 0;}.blog-teaser__left,.blog-teaser__right{padding:0 20px;}#block-portfolio-content .item-list li article.node--type-blog{padding:40px 0;margin:0 auto;width:100%;}#block-portfolio-content .item-list li article.node--type-blog,article.node--type-page{max-width:1440px;}.view-work{max-width:1440px;margin:20px auto;}.view-work .view-content{grid-template-columns:repeat(3,1fr);}.node--view-mode-full.node--type-works{max-width:1440px;}.node--view-mode-full p{margin-bottom:3rem;}}@media(min-width:1440px){.blog-teaser__left,.page-title,.work-full-meta{padding-left:20px;padding-right:20px;}}
