body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{height:100vh;min-height:500px;position:relative}.App .main-content{height:100%}.Header{padding:10px 20px;position:absolute;right:0;z-index:100}@media (max-width:480px){.Header{padding:10px}}.Header nav button{background:none;border:none;cursor:pointer;font-size:1rem;margin:0 10px}.Header .language-switcher{display:inline-block;margin-left:10px}@media (max-width:768px){.Header .language-switcher{display:block;margin-bottom:10px;margin-left:0;text-align:center;width:40px}}.Header .language-switcher button{background:none;border:none;color:#fff;cursor:pointer;font-size:.8rem;line-height:1rem;opacity:.75;padding:0;transition:all .2s}.Header .language-switcher button:hover{opacity:1}.Header .links{display:inline-block}.Header .links span{color:#fff;font-size:1rem;margin-left:10px;opacity:.75;position:relative;text-shadow:1px 1px 0 #333;transition:all .2s}@media (max-width:768px){.Header .links span{display:block;margin-bottom:10px;margin-left:0;text-align:center;width:40px}}.Header .links span:hover{opacity:1}.CV{color:#333;margin-right:5px}.CV h2{border-bottom:2px solid #ddd;color:#000;font-size:2.5rem;line-height:3.5rem;margin:0 0 10px;margin-bottom:20px!important}@media (max-width:768px){.CV h2{font-size:2rem;line-height:3rem}}@media (max-width:480px){.CV h2{font-size:1.5rem;line-height:2.5rem;margin-bottom:10px!important}}.CV .section{margin:10px 0 30px}@media (max-width:768px){.CV .section{margin:10px 0 20px}}.CV .periodCtn{align-items:center;display:flex;justify-content:space-between}@media (max-width:768px){.CV .periodCtn{align-items:start;flex-direction:column}}.CV h3{font-size:1.5rem;line-height:2rem;margin:0 0 5px}@media (max-width:768px){.CV h3{font-size:1.2rem;line-height:1.5rem}}.CV h3 img.logo{display:inline-block;height:2rem;margin-right:10px;object-fit:contain;vertical-align:bottom;width:2rem}@media (max-width:768px){.CV h3 img.logo{height:1.5rem;margin-right:5px;width:1.5rem}}.CV p{font-size:1.2rem;margin:2px 0}.CV p.big{font-weight:700}.CV .detail{color:#666;font-family:var(--secondary-font);font-size:1.2rem;margin:10px 0 15px}.CV .detail.middle{margin-bottom:10px}@media (max-width:480px){.CV .detail{font-size:1rem;margin:0 0 20px}.CV .detail.middle{margin-bottom:10px}}.projects{color:#333;margin-right:5px;position:relative}.projects h2{font-size:2.5rem;line-height:3.5rem;margin:20px 0 10px}@media (max-width:768px){.projects h2{font-size:2rem;line-height:3rem}}@media (max-width:480px){.projects h2{font-size:1.5rem;line-height:2.5rem}}.projects .sectionCtn{display:flex;flex-wrap:wrap}.projects .sectionCtn .item{align-items:stretch;box-sizing:border-box;display:flex;flex-direction:row;margin-bottom:10px;overflow:hidden;position:relative;width:100%}@media (max-width:768px){.projects .sectionCtn .item{align-items:start;flex-direction:column;margin-bottom:20px;width:100%}}.projects .sectionCtn .item:hover .itemBg{opacity:.8}.projects .sectionCtn .item .sliderCtn{border:5px solid #eee;border-radius:5px;width:50%}@media (max-width:768px){.projects .sectionCtn .item .sliderCtn{width:100%}}.projects .sectionCtn .item .imageCtn{height:100%;overflow:hidden;padding-bottom:66.67%;position:relative;width:100%}@media (max-width:768px){.projects .sectionCtn .item .imageCtn{padding-bottom:66.67%;width:100%}}.projects .sectionCtn .item .imageCtn:hover .zoom{opacity:1}.projects .sectionCtn .item .imageCtn .itemBg{background-color:#eee;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100%;left:0;position:absolute;top:0;transition:all .3s;width:100%}.projects .sectionCtn .item .imageCtn .zoom{align-items:center;background-color:#00000080;color:#fff;cursor:pointer;display:flex;font-size:2rem;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;transition:all .3s;width:100%}.projects .sectionCtn .item .detail{height:100%;padding:0 10px;position:relative;width:50%}@media (max-width:768px){.projects .sectionCtn .item .detail{padding:5px 0 10px;width:100%}}.projects .sectionCtn .item .detail .title{border-bottom:1px solid #ddd;box-sizing:border-box;color:#333;font-size:1.5rem;font-weight:600;line-height:2rem;max-width:100%;padding-bottom:5px;width:100%}@media (max-width:768px){.projects .sectionCtn .item .detail .title{font-size:1.2rem;line-height:1.5rem}}.projects .sectionCtn .item .detail .desc{color:#666;font-size:1.2rem;margin-top:10px}@media (max-width:768px){.projects .sectionCtn .item .detail .desc{font-size:1rem}}.projects .sectionCtn .item .detail .link{bottom:0;color:#666;display:block;font-family:var(--secondary-font);font-size:1rem;opacity:.75;position:absolute;right:0;text-decoration:none;transition:all .3s}.projects .sectionCtn .item .detail .link:hover{opacity:1}@media (max-width:768px){.projects .sectionCtn .item .detail .link{font-size:.8rem;margin-top:10px;position:relative}}.projects .zoomedCarouselBackdrop{align-items:center;background-color:#000000e6;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:200}.projects .zoomedCarouselBackdrop .slideCtn .imageCtn{align-items:center;display:flex;height:50vh}.projects .zoomedCarouselBackdrop .slideCtn .imageCtn img{max-height:100%;max-width:100%;object-fit:contain}.projects .zoomedCarouselBackdrop .slideCtn .carousel .thumbs{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;padding-left:0;white-space:unset}.projects .zoomedCarouselBackdrop .slideCtn .carousel .thumb{border:3px solid #444;border-radius:5px;margin-bottom:6px}.projects .zoomedCarouselBackdrop .slideCtn .carousel .thumb.selected{border:3px solid #ddd}.projects .zoomedCarouselBackdrop .closeButton{background-color:initial;border:none;color:#fff;cursor:pointer;font-size:2rem;margin:0;opacity:.5;padding:0;position:absolute;right:10px;top:10px;transition:all .3s}@media (max-width:480px){.projects .zoomedCarouselBackdrop .closeButton{font-size:1.5rem}}.projects .zoomedCarouselBackdrop .closeButton:hover{opacity:1}.carousel .control-arrow,.carousel.carousel-slider .control-arrow{background:none;border:0;cursor:pointer;filter:alpha(opacity=40);font-size:32px;opacity:.4;position:absolute;top:20px;-webkit-transition:all .25s ease-in;-moz-transition:all .25s ease-in;-ms-transition:all .25s ease-in;-o-transition:all .25s ease-in;transition:all .25s ease-in;z-index:2}.carousel .control-arrow:focus,.carousel .control-arrow:hover{filter:alpha(opacity=100);opacity:1}.carousel .control-arrow:before,.carousel.carousel-slider .control-arrow:before{border-bottom:8px solid #0000;border-top:8px solid #0000;content:"";display:inline-block;margin:0 5px}.carousel .control-disabled.control-arrow{cursor:inherit;display:none;filter:alpha(opacity=0);opacity:0}.carousel .control-prev.control-arrow{left:0}.carousel .control-prev.control-arrow:before{border-right:8px solid #fff}.carousel .control-next.control-arrow{right:0}.carousel .control-next.control-arrow:before{border-left:8px solid #fff}.carousel-root{outline:none}.carousel{position:relative;width:100%}.carousel *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.carousel img{display:inline-block;pointer-events:none;width:100%}.carousel .carousel{position:relative}.carousel .control-arrow{background:none;border:0;font-size:18px;margin-top:-13px;outline:0;top:50%}.carousel .thumbs-wrapper{margin:20px;overflow:hidden}.carousel .thumbs{list-style:none;position:relative;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0);-webkit-transition:all .15s ease-in;-moz-transition:all .15s ease-in;-ms-transition:all .15s ease-in;-o-transition:all .15s ease-in;transition:all .15s ease-in;white-space:nowrap}.carousel .thumb{border:3px solid #fff;display:inline-block;margin-right:6px;overflow:hidden;padding:2px;-webkit-transition:border .15s ease-in;-moz-transition:border .15s ease-in;-ms-transition:border .15s ease-in;-o-transition:border .15s ease-in;transition:border .15s ease-in;white-space:nowrap}.carousel .thumb:focus{border:3px solid #ccc;outline:none}.carousel .thumb.selected,.carousel .thumb:hover{border:3px solid #333}.carousel .thumb img{vertical-align:top}.carousel.carousel-slider{margin:0;overflow:hidden;position:relative}.carousel.carousel-slider .control-arrow{bottom:0;color:#fff;font-size:26px;margin-top:0;padding:5px;top:0}.carousel.carousel-slider .control-arrow:hover{background:#0003}.carousel .slider-wrapper{margin:auto;overflow:hidden;-webkit-transition:height .15s ease-in;-moz-transition:height .15s ease-in;-ms-transition:height .15s ease-in;-o-transition:height .15s ease-in;transition:height .15s ease-in;width:100%}.carousel .slider-wrapper.axis-horizontal .slider{-ms-box-orient:horizontal;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex}.carousel .slider-wrapper.axis-horizontal .slider .slide{flex-direction:column;flex-flow:column}.carousel .slider-wrapper.axis-vertical{-ms-box-orient:horizontal;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex}.carousel .slider-wrapper.axis-vertical .slider{-webkit-flex-direction:column;flex-direction:column}.carousel .slider{list-style:none;margin:0;padding:0;position:relative;width:100%}.carousel .slider.animated{-webkit-transition:all .35s ease-in-out;-moz-transition:all .35s ease-in-out;-ms-transition:all .35s ease-in-out;-o-transition:all .35s ease-in-out;transition:all .35s ease-in-out}.carousel .slide{margin:0;min-width:100%;position:relative;text-align:center}.carousel .slide img{border:0;vertical-align:top;width:100%}.carousel .slide iframe{border:0;display:inline-block;margin:0 40px 40px;width:calc(100% - 80px)}.carousel .slide .legend{background:#000;border-radius:10px;bottom:40px;color:#fff;font-size:12px;left:50%;margin-left:-45%;opacity:.25;padding:10px;position:absolute;text-align:center;-webkit-transition:all .5s ease-in-out;-moz-transition:all .5s ease-in-out;-ms-transition:all .5s ease-in-out;-o-transition:all .5s ease-in-out;transition:all .5s ease-in-out;-webkit-transition:opacity .35s ease-in-out;-moz-transition:opacity .35s ease-in-out;-ms-transition:opacity .35s ease-in-out;-o-transition:opacity .35s ease-in-out;transition:opacity .35s ease-in-out;width:90%}.carousel .control-dots{bottom:0;margin:10px 0;padding:0;position:absolute;text-align:center;width:100%;z-index:1}@media (min-width:960px){.carousel .control-dots{bottom:0}}.carousel .control-dots .dot{background:#fff;border-radius:50%;box-shadow:1px 1px 2px #000000e6;cursor:pointer;display:inline-block;filter:alpha(opacity=30);height:8px;margin:0 8px;opacity:.3;-webkit-transition:opacity .25s ease-in;-moz-transition:opacity .25s ease-in;-ms-transition:opacity .25s ease-in;-o-transition:opacity .25s ease-in;transition:opacity .25s ease-in;width:8px}.carousel .control-dots .dot.selected,.carousel .control-dots .dot:hover{filter:alpha(opacity=100);opacity:1}.carousel .carousel-status{color:#fff;font-size:10px;padding:5px;position:absolute;right:0;text-shadow:1px 1px 1px #000000e6;top:0}.carousel:hover .slide .legend{opacity:1}.HomePage{color:#333;display:flex;flex-direction:row;height:100%;overflow:hidden;position:relative;width:100%}.HomePage,.HomePage .linkBtn{font-family:var(--primary-font)}.HomePage .linkBtn{background:none;border:none;color:#666;cursor:pointer;display:inline-block;font-size:1.2rem;margin:0 20px 10px 0;opacity:.75;padding:0;text-decoration:none;text-shadow:2px 0 0 #fff;transition:all .2s ease-in-out}@media (max-width:480px){.HomePage .linkBtn{font-size:1rem;line-height:1rem}}.HomePage .linkBtn:hover{opacity:1}.HomePage .white{background:#fff;flex:1;padding:40px 40px 50px;transition:all .5s ease-in-out}@media (max-width:480px){.HomePage .white{padding:20px 20px 50px}}.HomePage .white.subpage{flex:2}@media (max-width:480px){.HomePage .white.subpage{flex:3}}.HomePage .white .content{box-sizing:border-box;height:calc(100% - 50px);overflow-y:auto;width:100%}.HomePage .bgWrapper{flex:2;overflow:hidden;transition:width .5s ease-in-out}@media (max-width:480px){.HomePage .bgWrapper{flex:3}}.HomePage .bgWrapper.subpage{flex:1}.HomePage .bg{background:#fff no-repeat 50%/cover;height:100%;scale:1.05;transition:all .2s ease-out;width:100%}.HomePage .homeContent{left:40px;position:absolute;right:40px;text-align:left;top:50%;transform:translateY(-60%)}@media (max-width:480px){.HomePage .homeContent{left:20px;right:20px}}.HomePage .homeContent h1{color:#000;font-size:6rem;font-weight:500;line-height:6rem;margin:0;text-shadow:2px 2px 0 #fff}@media (max-width:768px){.HomePage .homeContent h1{font-size:4rem;line-height:4rem}}@media (max-width:480px){.HomePage .homeContent h1{font-size:3rem;line-height:3rem}}.HomePage .homeContent h1 .highlight{display:inline-block;padding:0 10px;position:relative}.HomePage .homeContent h1 .highlight .bar{bottom:0;-webkit-box-decoration-break:clone;box-decoration-break:clone;height:60%;left:0;position:absolute;transition:background 1.5s ease-in-out;width:100%;z-index:-1}.HomePage .homeContent h2{color:#000;font-size:4.5rem;font-weight:500;line-height:4.5rem;margin:0}@media (max-width:768px){.HomePage .homeContent h2{font-size:3.5rem;line-height:3.5rem}}@media (max-width:480px){.HomePage .homeContent h2{font-size:3rem;line-height:3rem}}.HomePage .homeContent .subtitleContainer{margin:30px 0 0}@media (max-width:480px){.HomePage .homeContent .subtitleContainer{margin-top:15px}}.HomePage .homeContent .subtitle{background:linear-gradient(180deg,#0000 40%,#fff 0,#fff 80%,#0000 0);background-repeat:no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone;color:#333;font-family:var(--secondary-font);font-size:1.8rem;line-height:2rem;padding-right:5px;transition:all .5s ease-in-out}@media (max-width:480px){.HomePage .homeContent .subtitle{font-size:1.2rem;line-height:1.8rem}}.HomePage .homeContent .subtitle .highlight{background-repeat:no-repeat;display:inline-block;padding:0 5px;position:relative;z-index:0}.HomePage .homeContent .subtitle .highlight .bar{bottom:0;-webkit-box-decoration-break:clone;box-decoration-break:clone;height:50%;left:2px;position:absolute;transition:background 1.5s ease-in-out;width:100%;z-index:-1}.HomePage .homeContent .arrows{display:inline-block;margin:10px 0}.HomePage .homeContent .arrows span{background:none;border:none;color:#333;cursor:pointer;font-size:1.5rem;margin-right:5px;opacity:.5;text-shadow:2px 2px 0 #666;transition:all .2s ease-in-out}@media (max-width:480px){.HomePage .homeContent .arrows span{font-size:1rem;line-height:1rem}}.HomePage .homeContent .arrows span:hover{opacity:1}.HomePage .homeContent .links{height:40px;margin-top:30px}@media (max-width:480px){.HomePage .homeContent .links{height:30px;margin-top:15px}}.HomePage .homeContent .links .wechatQrCtn{display:inline-block;position:relative}.HomePage .homeContent .links .wechatQrCtn .qrcode{left:100%;top:-10px}.HomePage .homeContent .links .wechatQrCtn .qrcode.hide{opacity:0;width:0}.HomePage .homeContent .links .wechatQrCtn .qrcode:before{display:none}.HomePage .homeContent .links .wechatQrCtn .qrcode img{border:1px solid #ddd}.skillset{color:#333;margin-right:5px}.skillset h2{font-size:1.5rem;line-height:2rem;margin:20px 0 10px}@media (max-width:768px){.skillset h2{font-size:1.3rem;line-height:1.3rem}}.skillset .skillCtn{width:100%}.skillset .skillCtn .progress-bar{background-color:#ddd;font-size:1rem;height:32px;margin-bottom:10px;position:relative;width:100%}@media (max-width:768px){.skillset .skillCtn .progress-bar{font-size:.8rem;height:20px}}.skillset .skillCtn .progress-bar .progress-bar-fill{height:100%;position:relative}.skillset .skillCtn .progress-bar .skill-name{color:#666;line-height:32px;position:absolute;text-align:center;top:0;width:100%}@media (max-width:768px){.skillset .skillCtn .progress-bar .skill-name{line-height:20px}}.subpageH1{color:#000;display:inline-block;font-size:4.5rem;font-weight:500;line-height:6rem;margin:0;padding-right:10px;position:relative;text-shadow:2px 2px 0 #fff;z-index:0}@media (max-width:768px){.subpageH1{font-size:3.5rem;line-height:5rem}}@media (max-width:480px){.subpageH1{font-size:3rem;line-height:4rem}}.subpageH1 .bar{bottom:.5rem;-webkit-box-decoration-break:clone;box-decoration-break:clone;height:50%;left:0;position:absolute;transition:background 1.5s ease-in-out;width:100%;z-index:-1}.qrcode{height:145px;overflow:hidden;position:absolute;right:0;top:100%;transition:all .5s ease-in-out;width:130px}.qrcode.hide{height:0;opacity:0}.qrcode:before{border:10px solid;border-color:#0000 #0000 #fff;content:"";position:absolute;right:1px;top:-5px}.qrcode img{background-color:#fff;border-radius:5px;margin-top:10px}.gallery{color:#333;margin-right:5px}.gallery h2{font-size:2.5rem;line-height:3.5rem;margin:20px 0 10px}@media (max-width:768px){.gallery h2{font-size:2rem;line-height:3rem}}@media (max-width:480px){.gallery h2{font-size:1.5rem;line-height:2.5rem}}.gallery .sectionCtn{display:flex;flex-wrap:wrap;margin-bottom:20px}.gallery .sectionCtn .item{box-sizing:border-box;overflow:hidden;padding-bottom:33.33%;position:relative;transition:border-width .3s;width:50%}@media (max-width:768px){.gallery .sectionCtn .item{margin-bottom:10px;padding-bottom:66.67%;width:100%}}.gallery .sectionCtn .item .itemBg{align-items:center;background-color:#eee;background-position:50%;background-repeat:no-repeat;background-size:cover;color:#666;display:flex;font-size:3rem;height:100%;justify-content:center;left:0;position:absolute;top:0;transition:all .3s;width:100%}.gallery .sectionCtn .item .itemBg:hover{opacity:.8;transform:scale(1.1)}.gallery .sectionCtn .item .count{background-color:#00000080;border-radius:5px;color:#fff;font-size:.8rem;padding:5px;position:absolute;right:10px;top:10px}.gallery .sectionCtn .item .title{background-color:#00000080;bottom:0;box-sizing:border-box;color:#fff;font-family:var(--secondary-font);font-size:1.2rem;overflow:hidden;padding:10px;position:absolute;text-overflow:ellipsis;white-space:nowrap;width:100%}@media (max-width:768px){.gallery .sectionCtn .item .title{padding:5px}}.Footer{bottom:0;color:#ddd;font-family:EB Garamond,serif;font-size:.8rem;line-height:1rem;padding:10px 20px;position:absolute;right:0;text-align:right;text-shadow:1px 1px 0 #333;z-index:100}@media (max-width:480px){.Footer{padding:10px}}@media (max-width:768px){.Footer{font-size:.6rem;line-height:.8rem;writing-mode:vertical-rl}}.Footer p{margin:0}.Footer p a{color:inherit;text-decoration:none}
/*# sourceMappingURL=main.0bc5865e.css.map*/