@font-face{font-family:"m-plus-rounded-1c-bold";font-style:normal;font-weight:normal;src:url("/fonts/MPLUSRounded1c-Bold.ttf") format("truetype");font-display:swap}@font-face{font-family:"bebas-neue-by-dhamra-type";font-style:normal;font-weight:normal;src:url("/fonts/BebasNeue-Regular.woff2") format("woff2"),url("/fonts/BebasNeue-Regular.woff") format("woff"),url("/fonts/BebasNeue-Regular.ttf") format("truetype");font-display:swap}@font-face{font-family:"montserrat";font-style:normal;font-weight:normal;src:url("/fonts/Montserrat-Regular.woff2") format("woff2"),url("/fonts/Montserrat-Regular.woff") format("woff"),url("/fonts/Montserrat-Regular.ttf") format("truetype");font-display:swap}:root{--heading-color: #f3f3f2;--primary-text-color: #c2c2bc;--secondary-text-color: #868679;--link-color: #E581D8;--link-hover-color: #868679;--border-color: #dddddd;--img-border-color: #FFF;--svg-color: invert(70%) sepia(94%) saturate(274%) hue-rotate(115deg) brightness(106%) contrast(96%);--bkg-color: #1E1E2D;--primary-btn-color: #57FAE8;--primary-btn-hover-color: #33CBBA;--primary-btn-text-color: black;--primary-btn-svg-color: invert(0%) sepia(2%) saturate(0%) hue-rotate(239deg) brightness(100%) contrast(100%);--secondary-btn-color: #c2c2bc;--secondary-btn-hover-color: #f3f3f2;--radius: 20;--PI: 3.14159265358979;--circumference: calc(var(--PI) * var(--radius) * 2px);--svg-color-dark: invert(100%) sepia(0%) saturate(0%) hue-rotate(93deg) brightness(103%) contrast(103%);--svg-color-light: invert(0%) sepia(0%) saturate(19%) hue-rotate(327deg) brightness(96%) contrast(106%)}*{box-sizing:border-box;margin:0px;padding:0px}body.light-mode{--heading-color: #0f0f0f;--primary-text-color: #191919;--secondary-text-color: #8a8a8a;--link-color: #148DE3;--link-hover-color: #9b9b9b;--border-color: #868679;--img-border-color: #000;--svg-color: invert(30%) sepia(70%) saturate(1101%) hue-rotate(138deg) brightness(97%) contrast(97%);--bkg-color: #FFFFF9;--primary-btn-color: #38B2AC;--primary-btn-hover-color: #4ECEC8;--primary-btn-text-color: white;--primary-btn-svg-color: invert(100%) sepia(100%) saturate(0%) hue-rotate(223deg) brightness(104%) contrast(101%);--secondary-btn-color: #191919;--secondary-btn-hover-color: #595959}html,body{width:100%;height:100%;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;background:var(--bkg-color)}html h1,html h2,html h3,body h1,body h2,body h3{font-family:"montserrat", sans-serif;font-weight:normal;font-style:normal;color:var(--heading-color)}html a,body a{color:var(--link-color)}html a:hover,body a:hover{transition:all 0.3s ease 0s}html p,body p{font-family:"montserrat", sans-serif;font-weight:normal;font-style:normal;font-size:1em;line-height:1.5;color:var(--primary-text-color)}html .button,body .button{font-family:"montserrat", sans-serif;font-weight:normal;font-style:normal;color:var(--primary-btn-text-color);font-size:1rem;text-decoration:none;background-color:var(--primary-btn-color);border:none;padding:14px 32px;border-radius:0.75rem;display:flex;margin:auto;align-items:center;transition-duration:0.4s;cursor:pointer}html .button img,body .button img{margin-left:0.5rem;height:20px;filter:var(--primary-btn-svg-color);transition-duration:0.4s}html button:hover,body button:hover{background-color:var(--primary-btn-hover-color)}html #info-result,body #info-result{color:black}html #success-result,body #success-result{color:green}html #error-result,body #error-result{color:red}html .hidden,body .hidden{display:none}header{justify-content:space-between;align-items:center;text-align:center;position:sticky;display:flex;top:0px;z-index:2;margin-block-start:0.25rem;margin-block-end:0.25rem;background-color:var(--bkg-color)}header #logo-container{text-align:start;margin-left:1rem}header #logo-container a{text-decoration:none;color:var(--heading-color)}header #logo-container p{font-size:0.75rem;color:var(--secondary-text-color)}header #logo{font-family:"bebas-neue-by-dhamra-type", sans-serif;font-weight:normal;font-style:normal;font-size:2em}header nav .icons{margin-right:1rem}header nav .icons #menu-controls{margin-left:1rem}header nav .icons .svg-container{border-radius:20%;width:2.5rem;height:2.5rem}header nav .icons .menu-icon-container{background-color:#D9D9D9}header nav .icons #dark-theme-container{background-color:#FFEDA7}header nav .icons #light-theme-container{background-color:#6043C9}header nav .icons #light-theme-icon{filter:var(--svg-color-dark)}header nav .icons img{width:2.5rem;padding:0.5rem}header nav .menu-icons{filter:var(--svg-color-light)}header nav #menu{font-size:0.75em;cursor:pointer;-webkit-tap-highlight-color:transparent}header nav .nav-links{position:absolute;display:flex;flex-direction:column;transform:translate(110%);z-index:1;right:0px;top:100%;border:1px solid var(--border-color);border-radius:10px;background-color:var(--bkg-color);width:50%;margin-right:0.5rem;margin-top:0.25rem}header nav .nav-links li:first-child{margin-top:1.5rem}header nav .nav-links li:last-child{margin-bottom:1.5rem}header nav .nav-links li{font-family:"montserrat", sans-serif;font-weight:normal;font-style:normal;display:inline-block;list-style:none;opacity:0;margin:0.75rem 0 0.75rem 0}header nav .nav-links li a{text-decoration:none}header nav .nav-links li h1{color:var(--primary-text-color);transition:all 0.3s ease 0s;font-size:1.5rem}header nav .nav-links li h1:hover{color:var(--link-hover-color)}.icons{display:flex}.icons img{width:1.5rem;filter:var(--svg-color)}.http-status-text{text-align:center}main{flex-grow:1}main p{margin-bottom:1rem}main h1{margin:2rem 0 2rem 0;text-align:center;font-size:2em}main article,main section{margin-inline-start:1.5rem;margin-inline-end:1.5rem;animation:transitionIn 0.75s}main article h2,main article h3,main section h2,main section h3{margin-block-start:2rem;margin-block-end:1rem}main article .about-heading,main section .about-heading{display:inline-block;padding-right:25px;padding-bottom:0.1rem;margin:0}main article .underlined-headers,main section .underlined-headers{margin-bottom:0.5rem}main article ul,main section ul{font-family:"montserrat", sans-serif;font-weight:normal;font-style:normal;font-size:1em;line-height:1.5;color:var(--primary-text-color);display:block;list-style-type:disc;margin-bottom:1em;padding-inline-start:40px}main article hr,main section hr{width:5.25rem}main article .uncollapsible-content,main section .uncollapsible-content{justify-content:space-between;align-items:center;text-align:center;display:flex;align-items:center;margin-bottom:1rem;pointer-events:none}main article .uncollapsible-content h2,main section .uncollapsible-content h2{margin:0}main article .portfolio-container,main section .portfolio-container{margin-bottom:2rem}main article .iframe-container,main section .iframe-container{position:relative;overflow:hidden;width:100%;padding-top:56.25%}main article .responsive-iframe,main section .responsive-iframe{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%}main article .sub-section,main section .sub-section{margin-bottom:2rem}main .icons{align-items:center;padding-block-start:0.5rem;padding-block-end:0.5rem;text-decoration:none;width:min-content;padding-left:0.5rem;padding-right:0.5rem;color:var(--primary-btn-color)}main .icons img{filter:var(--svg-color)}main .icons:hover{border-radius:10px;background-color:#57FAE824}main .social-handles{font-family:"montserrat", sans-serif;font-weight:normal;font-style:normal;font-family:"montserrat", sans-serif;font-weight:normal;font-style:normal;font-size:1em;line-height:1.5;color:var(--primary-text-color);margin-left:0.6rem;color:var(--svg-color)}main #intro{margin-top:1.5rem;margin-bottom:1rem}main #intro #intro-text h1{margin:0;font-family:"m-plus-rounded-1c-bold";text-align:left;font-size:1.5rem}main #intro #intro-text p{text-align:left;font-size:1rem}main #intro #portrait-container{text-align:center;margin-top:15px}main #intro #portrait-container img{width:100px;border-radius:50%;border:1px solid var(--img-border-color)}main .portfolio-image-container:last-child{padding-bottom:0}main .portfolio-image-container{padding-bottom:2rem;text-align:center}main .portfolio-image-container img{width:100%}main .portfolio-image-container img:hover{opacity:0.6}main .portfolio-image-container a{text-decoration:none}main form{font-family:"montserrat", sans-serif;font-weight:normal;font-style:normal;text-align:start}main #recaptcha{width:304px;margin:0 auto;padding-bottom:2rem}main label{font-size:1rem;color:var(--primary-text-color)}main input[type="text"],main input[type="email"],main select,main textarea{font-family:"montserrat", sans-serif;font-weight:normal;font-style:normal;width:100%;padding:1rem;border:1px solid var(--border-color);border-radius:5px;margin-top:0.25rem;margin-bottom:1rem;resize:vertical;font-size:1rem}main input[type="submit"]{font-family:"montserrat", sans-serif;font-weight:normal;font-style:normal;display:block;margin:0 auto;padding:1rem 5rem;border:none;border-radius:5px;font-size:1rem;background-color:var(--secondary-btn-color);color:var(--bkg-color);cursor:pointer}main input[type="submit"]:hover{background-color:var(--secondary-btn-hover-color)}main #message{height:10rem}main #submit-result{display:flex;flex-direction:column;justify-content:center;text-align:center;margin-bottom:1rem}footer{justify-content:space-between;align-items:center;text-align:center;font-family:"montserrat", sans-serif;font-weight:normal;font-style:normal;margin:2.5vh 0vw 2.5vh 0vw;font-size:0.75em;justify-content:center;color:var(--secondary-text-color);vertical-align:top}footer a{color:var(--secondary-text-color)}footer a:hover{transition:all 0.3s ease 0s;color:var(--link-color)}@media screen and (min-width: 760px){header{display:flex;justify-content:center;display:flex;flex-direction:row;margin:0;margin-top:0.25rem}header #logo-container{white-space:nowrap}header nav{justify-content:space-between;align-items:center;text-align:center;display:flex;padding:0;width:660px}header nav .nav-links{position:static;flex-direction:row;transform:translate(0%);border:none}header nav .nav-links li:first-child{margin-top:0;margin-left:50px}header nav .nav-links li:last-child{margin-bottom:0;margin-right:0}header nav .nav-links li{margin:0;opacity:1;margin-right:25px}header nav .nav-links li a{font-size:0.9rem}header nav .nav-links li h1:hover{color:var(--link-color)}.visual-separator-container{display:none}#intro{display:flex;align-items:center}#portrait-container{margin-top:0;margin-left:25px}main{width:600px;align-self:center}main section .portfolio-container{display:grid;column-gap:1rem;row-gap:1rem;grid-template-columns:1fr 1fr;padding-bottom:0}main .portfolio-image-container{padding-bottom:1rem}#menu-controls{display:none}}.loading{width:100%;height:100%}.loading circle{cx:50;cy:50;r:20;stroke:var(--primary-btn-color);stroke-dasharray:var(--circumference);transform-origin:center;fill:transparent;animation:spinner 2s ease-in-out infinite}@keyframes spinner{from{stroke-dashoffset:var(--circumference);stroke:var(--primary-btn-color);transform:rotateZ(-90deg)}to{stroke-dashoffset:calc(var(--circumference) * -1);stroke:var(--link-color);transform:rotateZ(630deg)}}@keyframes navMenuFade{from{transform:translate(110%)}to{transform:translate(-0.5rem)}}@keyframes navLinkFade{from{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0px)}}@keyframes iconFadeIn{from{opacity:0;transform:translateY(-2.75rem)}to{opacity:1;transform:translateY(0rem)}}@keyframes iconFadeOut{from{opacity:1;transform:translateY(0rem)}to{opacity:0;transform:translateY(2.75rem)}}@keyframes fadeIn{from{transform:translateX(50%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes scaleOut{from{transform:scale(1)}to{transform:scale(0)}}@keyframes scaleIn{from{transform:scale(0)}to{transform:scale(1)}}@keyframes dropdownFadeIn{from{opacity:0;transform:translateY(-2.75rem)}to{opacity:1;transform:translateY(0rem)}}@keyframes dropdownFadeOut{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-1rem)}}@keyframes rotateDropdownIcon{from{transform:rotate(0)}to{transform:rotate(-90deg)}}@keyframes resetRotateDropdownIcon{from{transform:rotate(-90deg)}to{transform:rotate(0)}}@keyframes transitionIn{from{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}
