@font-face{font-family:FrutigerLTProBlack;src:url(/font/FrutigerLTProBlack.otf) format("opentype")}@font-face{font-family:FrutigerLTProBlackCn;src:url(/font/FrutigerLTProBlackCn.otf) format("opentype")}@font-face{font-family:FrutigerLTProBlackCnIta;src:url(/font/FrutigerLTProBlackCnIta.otf) format("opentype")}@font-face{font-family:FrutigerLTProBlackItalic;src:url(/font/FrutigerLTProBlackItalic.otf) format("opentype")}@font-face{font-family:FrutigerLTProBold;src:url(/font/FrutigerLTProBold.otf) format("opentype")}@font-face{font-family:FrutigerLTProBoldCn;src:url(/font/FrutigerLTProBoldCn.otf) format("opentype")}@font-face{font-family:FrutigerLTProBoldCnIta;src:url(/font/FrutigerLTProBoldCnIta.otf) format("opentype")}@font-face{font-family:FrutigerLTProBoldItalic;src:url(/font/FrutigerLTProBoldItalic.otf) format("opentype")}@font-face{font-family:FrutigerLTProCondensed;src:url(/font/FrutigerLTProCondensed.otf) format("opentype")}@font-face{font-family:FrutigerLTProCondensedItalic;src:url(/font/FrutigerLTProCondensedItalic.otf) format("opentype")}@font-face{font-family:FrutigerLTProExtraBlackCn;src:url(/font/FrutigerLTProExtraBlackCn.otf) format("opentype")}@font-face{font-family:FrutigerLTProExtraBlkCnIta;src:url(/font/FrutigerLTProExtraBlkCnIta.otf) format("opentype")}@font-face{font-family:FrutigerLTProItalic;src:url(/font/FrutigerLTProItalic.otf) format("opentype")}@font-face{font-family:FrutigerLTProLight;src:url(/font/FrutigerLTProLight.otf) format("opentype")}@font-face{font-family:FrutigerLTProLightCn;src:url(/font/FrutigerLTProLightCn.otf) format("opentype")}@font-face{font-family:FrutigerLTProLightCnIta;src:url(/font/FrutigerLTProLightCnIta.otf) format("opentype")}@font-face{font-family:FrutigerLTProLightItalic;src:url(/font/FrutigerLTProLightItalic.otf) format("opentype")}@font-face{font-family:FrutigerLTProRoman;src:url(/font/FrutigerLTProRoman.otf) format("opentype")}@font-face{font-family:FrutigerLTProUltraBlack;src:url(/font/FrutigerLTProUltraBlack.otf) format("opentype")}*{box-sizing:border-box;margin:0;padding:0;color:inherit}:root{--body-width: 1440px;--dark-txt: #1e1b4b;--background: #171032;--background-2: #2E1651;--section-background: #160F31;--txt: #ffffff;--heading-txt: #D51067}html{scroll-behavior:smooth}body{font-family:FrutigerLTProRoman,Times New Roman,sans-serif;color:var(--txt);background-color:var(--background);max-width:var(--body-width);margin:0 auto}a{display:block}a.external-link{position:relative}a.external-link:after{content:"↗";position:absolute;right:-30%;top:-25%}img{max-width:100%;display:block}.full--width{width:100vw;margin-inline:calc(50% - 50vw)}.full-width-wrapper{max-width:var(--body-width);margin:0 auto}.app{display:flex;flex-direction:column;min-height:100vh;min-height:100svh}header{flex-shrink:0}main{flex-grow:1}footer{flex-shrink:0}.page--section{background-color:var(--section-background, purple)}.page--section:nth-child(odd){background-color:var(--dark-txt)}.page--section .full-width-wrapper{display:flex;flex-direction:column;gap:3rem;padding-block:5rem;padding-inline:2rem}.page--section .section--title{font-size:4rem;text-transform:uppercase;-webkit-text-stroke:1px var(--heading-txt);letter-spacing:2px;color:transparent;position:relative}@media (max-width: 800px){.page--section .section--title{font-size:3rem}}.page--section .section--title:before{content:"";position:absolute;width:100vw;margin-inline:calc(50% - 50vw);margin-top:-5rem;height:150%;max-height:80px;background-image:linear-gradient(to right,var(--dark-txt),var(--section-background));clip-path:polygon(100% 0,0 0,100% 125%)}.page--section:nth-child(odd) .section--title:before{background-image:linear-gradient(to left,var(--dark-txt),var(--section-background))}.text--block{text-align:justify;display:flex;flex-direction:column;gap:1rem}.block--subtitle{text-align:center;font-size:2rem;letter-spacing:4px;color:var(--txt)}.inline-link{display:inline}.gradient-text-title{color:transparent;-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(to left,#4f46e5,var(--heading-txt))}header{position:fixed;left:0;right:0;top:0;z-index:1000}header h1 a{text-decoration:none}header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#1e1b4b33;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:-1}header.header-scroll .full-width-wrapper{padding-block:1rem;transition:padding-block .25s ease-in}header .full-width-wrapper{padding-block:3rem;padding-inline:2rem;transition:padding-block .25s ease-in;display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:1rem}@media (max-width: 800px){header .full-width-wrapper{padding-block:1.5rem}}header nav ul{display:flex;gap:1.5rem;list-style-type:none;font-size:1.25rem}header .nav-link{font-weight:700;text-decoration:none;letter-spacing:1px}header nav ul a:hover{text-decoration:underline}.hamburger-button{display:none}@media (max-width: 800px){header nav{display:grid;flex-basis:100%}header nav.nav-closed{grid-template-rows:0fr;transition:grid-template-rows .25s ease-in}header nav.nav-open{grid-template-rows:1fr;transition:grid-template-rows .25s ease-in}header nav ul{flex-direction:column;overflow:hidden}header .nav-link{text-align:center}.hamburger-button{display:flex;flex-direction:column;justify-content:space-between;margin-left:auto;font-size:2.25rem;background:none;border:0;color:#fff;cursor:pointer;width:35px;height:22px;padding:.125rem;transition:.4s}.hamburger-button .hamburger-line{width:85%;height:2px;background-color:#fff;transition:transform .25s ease-in;border-radius:.5rem}.hamburger-button.hamburger-open{transform:translateY(5px)}.hamburger-button.hamburger-open .hamburger-line:first-child{transform:rotate(58deg) translate(2px,7px) scaleX(.68)}.hamburger-button.hamburger-open .hamburger-line:nth-child(2){transform:rotate(90deg) translate(-10px)}.hamburger-button.hamburger-open .hamburger-line:last-child{transform:rotate(-58deg) translate(12px,-2px) scaleX(.68)}}.hero-section{background-image:url(/images/banner/hero_banner.jpg);background-attachment:fixed;background-size:cover;background-repeat:no-repeat;background-position:center center;min-height:110vh;min-height:100svh;min-height:100dvh;position:relative;isolation:isolate}.hero-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background-color:#000000d9;z-index:-1}.hero-section .full-width-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;min-height:100svh;padding-inline:2rem}.hero-section .hero-title-wrapper{display:flex;flex-direction:column;gap:.75rem}.hero-section .hero-title-wrapper h2{font-size:10rem;-webkit-text-stroke:1px var(--txt);color:transparent;text-shadow:10px 0 10px var(--heading-txt);animation-name:shadow-breath;animation-duration:8s;animation-iteration-count:infinite;animation-fill-mode:forwards;animation-timing-function:linear;font-weight:400}@keyframes shadow-breath{0%{text-shadow:20px 0 30px var(--heading-txt)}50%{text-shadow:-20px 2px 15px var(--heading-txt)}to{text-shadow:20px 0 30px var(--heading-txt)}}.hero-section .hero-title-wrapper h3{text-transform:uppercase;font-size:2.25rem;color:var(--heading-txt)}@media (max-width: 800px){.hero-section .hero-title-wrapper h2{font-size:6rem}.hero-section .hero-title-wrapper h3{font-size:1.5rem}}footer{background-color:var(--background-2)}footer .full-width-wrapper{padding:4rem 2rem}.about-sections{display:flex;flex-direction:column;gap:5rem}.about-block{display:flex;flex-flow:column nowrap;gap:3rem}.about-block .block-content{display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media (max-width: 800px){.about-block .block-content{grid-template-columns:1fr}.hexagon-image-wrapper{--hexagon-image-width: 320px!important}}@media (min-width: 800px){.about-block:nth-child(2n) .text--block{order:2}}.about-block .text--block{font-size:1.225rem;align-self:center;line-height:1.5;letter-spacing:2px;word-spacing:-.05em;hyphens:auto;-webkit-hyphens:auto}.about-block .block--subtitle{align-self:center;font-size:2.25rem}.about-block .image--block{justify-self:center;width:350px;height:300px;transition:transform .5s;position:relative}.about-block .image--block .image-block-border{position:absolute;width:350px;height:300px;top:0;right:0;bottom:0;left:0;background-color:#fff;clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0 50%)}.about-block .image--block .image-block-inside{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:300px;height:250px;clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0 50%)}.about-block .hexagon-tilt-wrapper{justify-self:center}.about-block#introduction .hexagon-image-wrapper .hexagon-image-image{background-position:top}.about-sections .hexagon-image-border{background-color:#fff}.about-sections .hexagon-image-blender{background-color:var(--background)}.about-sections #introduction .hexagon-image-image{background-image:url(/images/prof/me_ws.jpg);background-size:cover}.about-sections #education .hexagon-image-image{background-image:url(/images/prof/me_award.jpg);background-size:cover}.about-sections #hobbies .hexagon-image-image{background-image:url(/images/prof/plane.png);background-size:cover;background-position:370px 0}.about-sections #skills .hexagon-image-image{background-image:url(/images/prof/me_cer.jpg);background-size:cover;background-position:370px 0}.hexagon-image-wrapper{--hexagon-image-width: 350px;--hexagon-image-height: 300px;width:var(--hexagon-image-width);height:var(--hexagon-image-height);position:relative}.hexagon-image-wrapper .hexagon-image-border{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--hexagon-image-width);height:var(--hexagon-image-height);clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0 50%)}.hexagon-image-wrapper .hexagon-image-blender{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(var(--hexagon-image-width) - 10px);height:calc(var(--hexagon-image-height) - 10px);clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0 50%)}.hexagon-image-wrapper .hexagon-image-image{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(var(--hexagon-image-width) - 20px);height:calc(var(--hexagon-image-height) - 20px);clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0 50%)}.ws-list{display:flex;gap:2.75rem;justify-content:space-around;align-items:start}.ws-list .ws-box{display:flex;flex-direction:column;gap:.5rem;min-width:25%}.ws-list .ws-box:hover .ws-box-body{transform:translateY(-.5rem);transition:transform .25s ease-in-out}.ws-list .ws-box:first-child{--ws-box-background: var(--background)}.ws-list .ws-box:nth-child(3){--ws-box-background: #9d174d}.ws-list .ws-box:last-child{--ws-box-background: #3d1778}.ws-list .ws-box-header{background-color:var(--ws-box-background);padding:2rem;border-top-left-radius:25%;font-size:2rem;text-align:center;font-weight:700}.ws-list .ws-box-body{transition:transform .25s ease-in-out;background-color:var(--ws-box-background);padding:2rem;border-bottom-right-radius:25%;font-size:1.125rem;display:flex;flex-direction:column;gap:.5rem;line-height:1.5}.ws-list .ws-icon-wrapper{font-size:2.5rem;color:var(--heading-txt);align-self:center}.ws-list .badge-holder{display:flex;justify-content:center;align-items:center;width:70%;align-self:center;filter:drop-shadow(10px 25px 40px var(--background))}@media (max-width: 900px){.ws-list{flex-direction:column}.ws-icon-wrapper{transform:rotate(90deg)}}.project-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,500px),1fr));gap:2rem}.project-box:hover{scale:1.1;transition:scale ease-in .4s}.project-box{transition:scale ease-in .4s;border:1px solid rgba(0,0,0,.2);box-shadow:5px 4px 10px 1px #00000080;padding:1.25rem;border-radius:.5rem;display:flex;flex-direction:column;justify-content:space-between;gap:2rem}.project-box h2{text-align:center}.project-box .description{line-height:1.7;display:flex;flex-direction:column;gap:.25rem;font-size:1.125rem}.project-box .stack{display:flex;flex-direction:column;gap:.5rem}.project-box .stack h3{color:var(--txt)}.project-box .stack .stack-icons{display:flex;gap:.25rem;font-size:3rem;color:var(--heading-txt)}.project-box .view{display:flex;flex-direction:column;gap:.5rem}.project-box .view .view-links{display:flex;gap:1rem}.project-box .view .view-links a{display:flex;gap:.25rem}.contact-list{--contact-gap: 1.5rem;--contact-count: 4;display:flex;justify-content:space-around;gap:var(--contact-gap);flex-wrap:wrap}@media (max-width: 700px){.contact-list{flex-direction:column}}.contact-list .contact-box{flex:1 1 calc(100% / var(--contact-count) - var(--contact-gap));display:flex;flex-direction:column;align-items:center;gap:1.25rem;background-color:#00000080;box-shadow:#00000026 1.95px 1.95px 2.6px;box-shadow:#0000004d 0 19px 38px,#00000038 0 15px 12px;box-shadow:#0000001a 0 4px 6px -1px,#0000000f 0 2px 4px -1px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.5rem;border-radius:.5rem;transition:transform .25s ease-in,box-shadow .25s ease-in}.contact-list .contact-box:hover{transition:transform .25s ease-in,box-shadow .25s ease-in;transform:translateY(-10px);box-shadow:#0006 5px 5px,#0003 10px 10px,#0000004d 15px 15px,#0000001a 20px 20px,#0000000f 25px 25px}.contact-list .contact-box .contact-box-title{text-align:center;font-size:2rem}.contact-list .contact-box .contact-box-icon{font-size:5rem;color:var(--heading-txt)}.contact-list .contact-box a{font-size:1.25rem}
