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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.left-\[10\%\]{left:10%}.right-\[15\%\]{right:15%}.right-\[35\%\]{right:35%}.right-\[5\%\]{right:5%}.top-\[45\%\]{top:45%}.top-\[55\%\]{top:55%}.top-\[75\%\]{top:75%}.top-\[80\%\]{top:80%}.my-4{margin-bottom:1rem;margin-top:1rem}.my-\[0\.5em\]{margin-bottom:.5em;margin-top:.5em}.my-\[1em\]{margin-bottom:1em;margin-top:1em}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-6{margin-bottom:1.5rem}.mt-12{margin-top:3rem}.mt-\[2vh\]{margin-top:2vh}.flex{display:flex}.grid{display:grid}.\!hidden{display:none!important}.hidden{display:none}.w-\[100\%\]{width:100%}.w-\[80vw\]{width:80vw}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-8{gap:2rem}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(2rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(2rem*var(--tw-space-x-reverse))}.py-\[1vh\]{padding-bottom:1vh;padding-top:1vh}.pl-6{padding-left:1.5rem}.text-center{text-align:center}.text-\[2\.5vh\]{font-size:2.5vh}.text-\[2vh\]{font-size:2vh}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.tracking-wider{letter-spacing:.05em}.\!text-white{--tw-text-opacity:1!important;color:#fff!important;color:rgb(255 255 255/var(--tw-text-opacity,1))!important}.text-slate-700{--tw-text-opacity:1;color:#334155;color:rgb(51 65 85/var(--tw-text-opacity,1))}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.underline-offset-\[0\.75em\]{text-underline-offset:.75em}:root{--navbar-height:8vh;--project-height:60vh;font-size:12px}a{color:#000;text-decoration:none}a,html{cursor:crosshair}html{font-family:Gill Sans,Gill Sans MT,Calibri,Trebuchet MS,sans-serif}.marquee{background-color:#fff;color:#000;height:4vh;opacity:1;overflow:hidden;position:fixed;text-shadow:#333;top:0;transition:color 1s ease;width:100vw;z-index:999}.marquee-hidden{top:-10vh}.hidden{color:#fff}.marquee-text{animation:scroll-left 15s linear infinite;color:inherit;display:inline-block;font-style:italic;position:absolute;text-shadow:#333;text-transform:uppercase;white-space:nowrap}.marquee:hover .marquee-text{animation-play-state:paused}#marquee-text1{animation-delay:0s}@keyframes scroll-left{0%{transform:translateX(110vw)}to{transform:translateX(-20vw)}}.navbar{align-items:center;background-color:#fff;display:flex;flex-direction:row;height:8vh;height:var(--navbar-height);justify-content:center;left:0;margin:-1%;opacity:1;padding:0;position:fixed;top:5vh;transition:top .3s ease;width:100vw;z-index:999}.navbar-hidden{top:-10vh}.image-container{height:8vh;height:var(--navbar-height);left:5%;position:absolute;width:8vh;width:var(--navbar-height)}.path{stroke:#000;stroke-width:2;fill:none;stroke-dasharray:0;stroke-dashoffset:0}.logo{height:100%}@keyframes draw1{to{stroke-dashoffset:0}}@keyframes draw2{to{stroke-dashoffset:0}}@keyframes draw3{to{stroke-dashoffset:0}}#pen1{stroke-dasharray:192.5;stroke-dashoffset:385;animation:draw1 5s linear infinite}#pen2{stroke-dasharray:135.5;stroke-dashoffset:271;animation:draw2 5s linear infinite}#pen3{stroke-dasharray:30;stroke-dashoffset:60;animation:draw3 5s linear infinite}.navbar-links-container{display:flex;flex-wrap:nowrap;justify-content:space-evenly;position:absolute;right:0;width:60%}.navbar-link{font-size:1.5vw;font-weight:700;letter-spacing:.1rem;margin:0 2%;white-space:nowrap}.contact-link:hover,.navbar-link:hover{color:#555;text-decoration:underline;text-underline-offset:1em}.intro-container{align-items:center;display:flex;flex-direction:column;justify-content:center;letter-spacing:.1rem;margin:25vh auto 20vh;position:relative;width:100vw}.my-name-is{font-size:2vh}.ethan,.my-name-is{display:flex;justify-content:center;text-align:center;width:60vw}.ethan{font-size:8vh;margin-top:3vh}.what-i-love{font-size:6vh;margin-top:2vh}.what-i-do,.what-i-love{display:flex;justify-content:center;text-align:center;width:80vw}.what-i-do{font-size:2vh;margin-top:4vh}.about,.experience,.projects{align-items:center;display:flex;flex-direction:column;justify-content:center;margin:40vh auto;width:70%}.about-title,.contact-title,.experience-title,.projects-title{font-size:2.5rem;margin:10vh auto;text-align:center}.about-content{align-items:center;display:flex;flex-direction:row;justify-content:center;margin:4vh auto;width:100%}@media (max-width:1000px){.about-content{flex-direction:column}.about-text{margin-bottom:5%;margin-right:0;width:70%}}.about-text{font-size:1.5rem;letter-spacing:.1rem;margin-right:10%;width:55%}.about-image{border-radius:5%;box-shadow:0 10px 20px #0003;height:32vw;perspective:1000px;position:relative;width:24vw}.tabbed-paragraph{text-indent:2rem}.back-image,.front-image{-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:5%;height:100%;left:0;object-fit:cover;position:absolute;top:0;transition:transform 1s ease,opacity 1s ease;width:100%}.about-image:hover .front-image{transform:rotateY(180deg)}.about-image:hover .back-image{opacity:1;transform:rotateY(0deg)}.back-image{opacity:0;transform:rotateY(-180deg)}.experience-text,.projects-text{font-size:1.5rem;letter-spacing:.1rem;text-align:center;width:100%}.experience-container{display:flex;flex-direction:row;width:100%}.inline-link:hover{color:#aaa}.languages-container,.technologies-container{display:flex;flex-direction:column;margin:5% 1%;width:49%}@media (max-width:1000px){.experience-container{flex-direction:column}.languages-container,.technologies-container{width:100%}}.languages-title,.technologies-title{font-size:2rem;font-weight:600;margin:3% 0 8%;text-align:center;-webkit-text-decoration:wavy;text-decoration:wavy;width:100%}.languages-list,.technologies-list{display:flex;flex-direction:row;flex-wrap:wrap;height:35vh;justify-content:space-between;margin-bottom:5%;margin-top:3%;position:relative;text-align:left;width:100%}.large-3D-text{font-size:2.5rem;text-shadow:-4px 12px 8px #00000080}.medium-3D-text{font-size:2rem;text-shadow:-3px 8px 6px #00000080}.small-3D-text{font-size:1.5rem;text-shadow:-2px 4px 4px #00000080}.large-3D-text,.medium-3D-text,.small-3D-text{align-items:center;display:flex;justify-content:center;position:absolute}.js{left:65%;top:10%}.c{left:10%;top:35%}.python{left:40%;top:65%}.html{left:30%;top:5%}.css{left:80%;top:75%}.csharp{left:55%;top:40%}.bash{left:25%;top:95%}.cpp{left:75%;top:45%}.scheme{left:5%;top:80%}.haskell{left:10%;top:10%}.swift{left:35%;top:40%}.sml{left:65%;top:100%}.github{left:40%;top:40%}.unity{left:15%;top:70%}.react{left:20%;top:15%}.docker{left:70%;top:30%}.mpi{left:60%;top:80%}.linux{left:60%;top:5%}.projects-list{display:flex;flex-wrap:wrap;justify-content:space-between;margin:5% 0;position:relative;width:100%}.project{border:.1rem solid #000;border-radius:50px;display:flex;flex-direction:column;height:auto;margin:2vh}.project-title{align-items:center;background-color:#000;border-radius:45px 45px 0 0;color:#fff;display:flex;height:10vh;justify-content:center;padding:0 5%}.project-title>p{font-size:1.5rem;text-align:center}.project-description{font-size:1.25rem;padding:8% 3% 0;text-align:center}.project-skills{display:flex;flex-wrap:wrap;justify-content:space-around;padding:3% 0}.project-skill{background-color:#000;border-radius:50px;color:#fff;font-size:1rem;margin:3%;padding:3%}.project{&:hover{.project-skill,.project-title{background-color:#777}}}.contact-container{align-items:center;display:flex;flex-direction:column;justify-content:center;margin:-10vh 0 5vh;padding:8vh 0;text-align:center;width:100%}.contact-intro{font-size:2rem}.contact-content{align-items:center;display:flex;font-size:2rem;justify-content:space-around;margin:8vh 0;width:50%}.fixed-icon-container{align-items:center;bottom:5vh;display:flex;flex-direction:column;height:40vh;justify-content:space-between;left:1.5vw;position:fixed;width:3vw}.fixed-icon{fill:#000;align-self:center;height:80%;justify-content:center;width:80%}.fixed-icon:hover{fill:gray}.hover\:text-slate-600:hover{--tw-text-opacity:1;color:#475569;color:rgb(71 85 105/var(--tw-text-opacity,1))}.hover\:text-slate-700:hover{--tw-text-opacity:1;color:#334155;color:rgb(51 65 85/var(--tw-text-opacity,1))}.hover\:underline:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}
/*# sourceMappingURL=main.5fe21115.css.map*/