@import url(https://fonts.googleapis.com/css?family=Roboto:100,300,400,700,500,500italic,400italic,300italic,100italic,700italic);@import url(https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css);@import url(https://use.fontawesome.com/releases/v5.11.2/css/all.css);@import url(https://use.fontawesome.com/releases/v5.11.2/css/v4-shims.css);button,input[type="button"],input[type="reset"],input[type="submit"]{appearance:none;background-color:#477dca;border:0;border-radius:3px;color:#fff;cursor:pointer;display:inline-block;font-family:"Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;font-size:1rem;-webkit-font-smoothing:antialiased;font-weight:600;line-height:1;padding:0.75rem 1.5rem;text-decoration:none;transition:background-color 150ms ease;user-select:none;vertical-align:middle;white-space:nowrap}button:hover,button:focus,input[type="button"]:hover,input[type="button"]:focus,input[type="reset"]:hover,input[type="reset"]:focus,input[type="submit"]:hover,input[type="submit"]:focus{background-color:#3964a2;color:#fff}button:disabled,input[type="button"]:disabled,input[type="reset"]:disabled,input[type="submit"]:disabled{cursor:not-allowed;opacity:0.5}button:disabled:hover,input[type="button"]:disabled:hover,input[type="reset"]:disabled:hover,input[type="submit"]:disabled:hover{background-color:#477dca}fieldset{background-color:#f7f7f7;border:1px solid #ddd;margin:0 0 0.75rem;padding:1.5rem}input,label,select{display:block;font-family:"Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;font-size:1rem}label{font-weight:600;margin-bottom:0.375rem}label.required::after{content:"*"}label abbr{display:none}select{margin-bottom:1.5rem;max-width:100%;width:auto}dl{margin-bottom:0.75rem}dl dt{font-weight:bold;margin-top:0.75rem}dl dd{margin:0}table{border-collapse:collapse;font-feature-settings:"kern", "liga", "tnum";margin:0.75rem 0;table-layout:fixed;width:100%}th{border-bottom:1px solid #a6a6a6;font-weight:600;padding:0.75rem 0;text-align:left}td{border-bottom:1px solid #ddd;padding:0.75rem 0}tr,td,th{vertical-align:middle}hr{border-bottom:1px solid #ddd;border-left:0;border-right:0;border-top:0;margin:1.5rem 0}img,picture{margin:0;max-width:100%}html{box-sizing:border-box}*,*::after,*::before{box-sizing:inherit}.btn{border:none;font-family:inherit;font-size:inherit;color:inherit;background:none;cursor:pointer;padding:18px 60px;display:inline-block;margin:15px 30px;text-transform:uppercase;letter-spacing:1px;font-weight:700;outline:none;position:relative;-webkit-transition:all 0.3s;-moz-transition:all 0.3s;transition:all 0.3s;border-radius:0;background:#DEDEDE;color:#4C4C4C}.btn:focus{background:#DEDEDE;color:#4C4C4C}.btn:hover{background:#CCCCCC;color:#4C4C4C}.btn:active{top:2px}.btn.disabled{background:#EAEAEA;color:#9E9E9E;cursor:default;top:0px}body{background:#ffffff;font-family:Roboto, sans-serif;-webkit-font-smoothing:antialiased}.center-text{text-align:center}.container{margin-top:30px}@media print{.container{margin-top:20px}}.header-container{margin-top:50px}.header-right{text-align:right}.header-left{margin-top:30px}@media print{.header-left{margin-top:0px}}.header-right p{font-size:1.6rem;text-align:right}@media print{a[href]:after{content:none !important}img[src]:after{content:none !important}.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-print-12{width:100%}.no-print,.no-print *{display:none !important}}.button--sacnite::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;border-radius:inherit;z-index:-1;box-shadow:inset 0 0 0 35px #333;-webkit-transform:scale3d(0.9, 0.9, 1);transform:scale3d(0.9, 0.9, 1);-webkit-transition:box-shadow 0.3s, -webkit-transform 0.3;transition:box-shadow 0.3s, transform 0.3s}.button{min-width:150px;border:none;background:none;color:inherit;vertical-align:middle;position:relative;z-index:1;-webkit-backface-visibility:hidden;-moz-osx-font-smoothing:grayscale;border-radius:0;float:none;margin:0 auto;margin-top:0px;padding:5px 20px;display:inline-block;font-weight:400;max-width:400px}.button--round-l{border-radius:40px}.button.button--sacnite{width:60px;height:60px;min-width:0;padding:0;color:#fff;-webkit-transition:color 0.3s;transition:color 0.3s}.button--sacnite:hover{color:#333}.button--sacnite:hover::before{box-shadow:inset 0 0 0 2px #333;-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}.dark .button--sacnite::before{box-shadow:inset 0 0 0 35px #e6e6e6}.dark .button.button--sacnite{color:#222}.dark .button--sacnite:hover{color:#e6e6e6}.dark .button--sacnite:hover::before{box-shadow:inset 0 0 0 2px #e6e6e6}body{color:#000000;font-family:Roboto, sans-serif;font-feature-settings:"kern", "liga", "pnum";font-size:1rem;line-height:1.5}@media print{body{font-size:0.9rem}}h1,h2,h3,h4,h5,h6{font-family:Roboto, sans-serif;font-size:1rem;line-height:1.2;margin:0 0 0.75rem}p{margin:0 0 0.75rem}a{color:#ffffffd3;transition:color 150ms ease}a:active,a:focus,a:hover{color:#ffffffd3}h1{font-size:4rem;margin-bottom:0.1rem;font-weight:500}h2{font-weight:300;font-size:2rem}h3{font-weight:300;font-size:3rem;text-align:center;border-bottom:solid 2px #000000;padding-bottom:10px;margin-bottom:40px}@media print{h3{margin-bottom:20px}}h4{font-weight:300;font-size:2.5rem;margin-bottom:3px}p,ul{font-size:1.6rem;text-align:justify}a i{font-size:1.6rem}mark{padding:2px 4px;font-size:90%;color:#ffffffd3;background-color:#000000;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}.dark{background-color:#000000;color:#ffffffd3}.dark mark{color:#000000;background-color:#ffffffd3}.dark a{color:#477dca}body.dark h3{border-bottom-color:rgba(255,255,255,0.883)}ul.icons a:hover{background:rgba(0,0,0,0.025)}ul.icons li{display:inline-block;padding-left:0.75rem}ul.icons a{-moz-transition:background-color 0.25s ease-in-out;-webkit-transition:background-color 0.25s ease-in-out;-ms-transition:background-color 0.25s ease-in-out;transition:background-color 0.25s ease-in-out;display:inline-block;width:2.75rem;height:2.75rem;line-height:2.8rem;text-align:center;border:0;box-shadow:none;padding:0;border-radius:100%;color:#aaa}.icons i{font-size:30px;line-height:60px}.icons{padding:0;font-size:1rem;margin-bottom:20px;text-align:right}@media screen and (max-width: 768px){.icons{text-align:center}}.dark .icons i{background:none;color:#000000}.dark .icons a:hover i{color:#ffffffd3}html{scroll-behavior:smooth}h3[id],span[id]{scroll-margin-top:110px}#particles-js{position:fixed;inset:0;z-index:-1;pointer-events:none}.section-title,.section h2{color:#fff}.touch-btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,0.9);border-radius:8px;background:transparent;text-decoration:none;opacity:0.85}.touch-btn:hover{opacity:1}.touch-btn i{font-size:16px;color:#fff}.header-right p{margin-bottom:3px}.header-right a{color:inherit;font-weight:500}.header-touch-icons{margin-top:14px;padding:0;list-style:none;display:flex;gap:14px;align-items:center;justify-content:flex-start;position:relative;z-index:5}.profile-img{width:200px;height:200px;margin:0 auto 20px;display:block;border-radius:100px;background-size:cover;background-position:center;background-repeat:repeat, no-repeat;box-shadow:inset 0 0 20px #636161}.list-container h3{margin-bottom:0}.border-weak{padding-bottom:8px;border-bottom:solid 1px #333}.layout{margin-top:3rem;display:flex;flex-direction:row}.layout .details{display:flex;flex-direction:column;justify-content:center;text-align:left;vertical-align:middle}.layout .details p{margin-bottom:3px;font-size:1.6rem;font-weight:300}.layout .details p b{font-weight:500}.layout .details a{color:inherit;font-style:italic;font-weight:300}.layout .details .fa{font-size:2rem}.layout .details .link{font-size:1.5rem}.layout .details h4{margin-bottom:0.1rem;font-weight:500}.layout .details h4 a{font-weight:500}.layout-right{flex-direction:row-reverse}.layout-right .details,.layout-top-right .details{text-align:right}.layout-top-middle,.layout-top,.layout-top-right{flex-direction:column}.layout-top-middle .details,.layout-top .details,.layout-top-right .details,.layout-top-middle .content,.layout-top .content,.layout-top-right .content{width:100%}.layout-top-middle .details{text-align:center}@media print{.layout .details h4{margin-bottom:0.2rem}}.footer-container{margin-top:100px}.footer-container p{text-align:center;font-style:italic;font-weight:300}.footer-container a{color:inherit;font-style:italic;font-weight:300}.page-content{padding:0}p.quote{font-size:1.4rem;font-style:italic;padding:1rem 2.5rem;text-align:center}@media print{p.quote{text-align:left;padding:0 1rem;margin-top:1rem}}.get-in-touch-wrap{margin-top:10px;max-width:520px}.get-in-touch-label{font-size:20px;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:15px;color:rgba(255,255,255,0.83)}.get-in-touch{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-start;align-items:center}.hover-grid{display:grid;gap:24px;margin-top:16px;grid-template-columns:repeat(2, minmax(0, 1fr))}@media (max-width: 900px){.hover-grid{grid-template-columns:1fr}}.hover-grid.cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}@media (max-width: 1200px){.hover-grid.cols-3{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media (max-width: 800px){.hover-grid.cols-3{grid-template-columns:1fr}}#projects.hover-grid{width:100%;max-width:1400px;margin-left:auto;margin-right:auto}.hover-card{--bg: none;--cover: rgba(74, 192, 176, 0.55);position:relative;display:block;border-radius:18px;overflow:hidden;min-height:320px;text-decoration:none;background-image:var(--bg);background-size:cover;background-position:center;background-repeat:no-repeat;box-shadow:0 10px 30px rgba(0,0,0,0.18);transform:translateY(0);transition:transform 180ms ease, box-shadow 180ms ease}.hover-card,.hover-card *{color:#fff !important;text-decoration:none !important}.hover-card::before{content:"";position:absolute;inset:0;background:var(--cover);opacity:1;transition:background 200ms ease;z-index:2}.hover-card__content{position:absolute;inset:0;padding:28px;display:grid;align-content:center;justify-items:center;text-align:center;gap:14px;z-index:3}.hover-card__title{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;padding:0 18px;font-weight:800;text-transform:uppercase;letter-spacing:0.08em;font-size:clamp(26px, 3.2vw, 44px);transition:opacity 200ms ease}.hover-card__body{margin:0;max-width:44ch;font-size:clamp(1.05rem, 2vw, 1.6rem);line-height:1.45;opacity:0;transform:translateY(8px);transition:opacity 200ms ease, transform 200ms ease}.hover-card__meta{display:none !important}.hover-card__title,.hover-card__body{text-shadow:0 2px 8px rgba(0,0,0,0.35)}.hover-card:hover,.hover-card:focus-visible{transform:translateY(-2px);box-shadow:0 14px 42px rgba(0,0,0,0.26)}.hover-card:hover::before,.hover-card:focus-visible::before{background:rgba(0,0,0,0.55)}.hover-card:hover .hover-card__title,.hover-card:focus-visible .hover-card__title{opacity:0}.hover-card:hover .hover-card__body,.hover-card:focus-visible .hover-card__body{opacity:1;transform:translateY(0)}.hover-card.labs:hover::before,.hover-card.labs:focus-visible::before{background:linear-gradient(rgba(0,0,0,0.48), rgba(0,0,0,0.48)),rgba(74,192,176,0.35)}.hover-card.labs .hover-card__title,.hover-card.labs .hover-card__body{text-shadow:0 3px 12px rgba(0,0,0,0.55)}.hover-card.cover-no-title .hover-card__title{display:none !important}.hover-card.cover-no-title::before{background:rgba(120,190,255,0.55)}.hover-card.cover-no-title:hover::before,.hover-card.cover-no-title:focus-visible::before{background:linear-gradient(rgba(0,0,0,0.55), rgba(0,0,0,0.55)),rgba(120,190,255,0.35)}.hover-card.projects::before{background:rgba(255,210,120,0.55)}.hover-card.projects:hover::before,.hover-card.projects:focus-visible::before{background:linear-gradient(rgba(0,0,0,0.62), rgba(0,0,0,0.62)),rgba(255,210,120,0.35)}.hover-card.projects .hover-card__title{font-size:clamp(18px, 1.9vw, 26px);letter-spacing:0.05em;font-weight:700}.hover-card.projects .hover-card__title,.hover-card.projects .hover-card__body{text-shadow:0 3px 14px rgba(0,0,0,0.65)}.hover-card[href]::after{content:"↗";position:absolute;bottom:18px;right:18px;font-size:20px;color:#fff;opacity:0;transition:opacity 180ms ease;z-index:4}.hover-card[href]:hover::after,.hover-card[href]:focus-visible::after{opacity:0.85}.menu-btn{position:fixed;top:25px;right:25px;z-index:9999;width:64px;height:44px;padding:10px;border:0;background:transparent;cursor:pointer;opacity:0.85}.menu-btn span{display:block;height:5px;margin:6px 0;width:34px;background:#fff;border-radius:2px}.menu-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.35);z-index:9998;opacity:0;pointer-events:none;transition:opacity 180ms ease}.menu-panel{position:fixed;top:0;right:0;height:100vh;width:320px;max-width:85vw;background:rgba(80,80,80,0.95);z-index:9999;transform:translateX(100%);transition:transform 220ms ease;padding:28px 22px;display:flex;flex-direction:column;gap:14px}.menu-title{color:rgba(255,255,255,0.9);font-weight:700;font-size:18px;letter-spacing:0.14em;margin:10px 0 8px 0}.menu-close{align-self:flex-start;border:0;background:transparent;color:rgba(255,255,255,0.9);font-size:28px;cursor:pointer;margin-bottom:8px}.menu-panel a{color:rgba(255,255,255,0.88);text-decoration:none;font-size:18px;letter-spacing:0.18em;padding:18px 0;border-top:1px solid rgba(255,255,255,0.15)}.menu-panel a:first-of-type{border-top:0}body.menu-open .menu-panel{transform:translateX(0)}body.menu-open .menu-overlay{opacity:0.9;pointer-events:auto}@media (max-width: 767px){.header-container div,.header-right p{text-align:center}.header-left{margin-top:0}.header-touch-icons{justify-content:center}.layout .details,.layout .details p{text-align:center}.layout-left,.layout-right{flex-direction:column}.layout-left .details,.layout-right .details{margin-bottom:2rem}}@media (max-width: 768px){.menu-btn{width:36px;height:36px;padding:6px;top:16px;right:16px;opacity:0.7}.menu-btn span{height:2px;margin:4px 0;width:22px}}@media (hover: none) and (pointer: coarse){.hover-card{transform:none !important}.hover-card__title{opacity:1 !important}.hover-card__body{opacity:0 !important;transform:translateY(8px) !important}.hover-card.cover-no-title .hover-card__body{opacity:1 !important;transform:translateY(0) !important}.hover-card.cover-no-title .hover-card__title{display:none !important}}
