*{box-sizing:border-box;margin:0;padding:0}:focus-visible{box-shadow:0 0 0 .8rem rgba(var(--rgb-accent-color),.5);outline:none}html{font-size:62.5%}body{color:var(--text-color);background:var(--bg-accent-color);font-family:Rubik,sans-serif;font-weight:400;line-height:1;overflow-x:hidden}a{border-radius:.2rem}p{margin-bottom:4.8rem;font-size:2rem;line-height:1.6}.container{max-width:130rem}.grid{gap:2.2rem;display:grid}.grid:not(:last-child){margin-bottom:9.6rem}.grid--2-cols{grid-template-columns:repeat(2,1fr)}.grid--3-cols{grid-template-columns:repeat(3,1fr)}.grid--4-cols{grid-template-columns:repeat(4,1fr)}.grid--5-cols{grid-template-columns:repeat(5,1fr)}.grid--centred{align-items:center}.heading-primary,.heading-secondary{color:var(--text-accent-color);letter-spacing:-.05rem;font-weight:700}.heading-primary{margin-bottom:4.8rem;font-size:5.2rem;line-height:1.05}.heading-secondary{margin-bottom:4.4rem;font-size:4.4rem;line-height:1.2}.heading-tertiary{margin-bottom:3.2rem;font-size:3rem;line-height:1.2}.subheading{color:var(--text-accent-color);text-transform:uppercase;letter-spacing:.08rem;margin-bottom:1.6rem;font-size:1.6rem;font-weight:500;display:block}.btn,.btn:link,.btn:visited{color:var(--accent-color);border:1px solid var(--accent-color);cursor:pointer;border-radius:8px;padding:1.6rem 3.2rem;font-family:inherit;font-size:2rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block}.btn--primary:hover,.btn--primary:active{background-color:var(--color)}.btn--secondary,.btn--secondary:link,.btn--secondary:visited{color:var(--primary-button-color);background-color:var(--accent-color);border:none;padding:1.2rem 2rem;font-size:1.8rem;display:inline}.btn--secondary:hover,.btn--secondary:active{background-color:var(--primary-button-accent-color)}.link:link,.link:visited{color:inherit;transition:all .3s;display:inline-block}.link:hover,.link:active{color:var(--accent-color);border-color:#0000}section{padding:9.6rem 4.8rem}section>*{margin-left:auto;margin-right:auto}section>p:last-child{margin-bottom:0}section.primary-bg{background-color:var(--bg-color)}section.accent-bg{background-color:var(--bg-accent-color)}strong{font-weight:500}.header{z-index:1000;background:rgba(var(--rgb-bg-accent-color),.8);justify-content:center;align-items:center;width:100vw;height:9.6rem;padding:0 4.8rem;display:flex;position:fixed;top:0;left:0}.header:before{content:"";-webkit-backdrop-filter:blur(2rem);backdrop-filter:blur(2rem);z-index:-1;width:100%;height:100%;position:absolute;top:0;left:0}.header .header-content{flex-grow:1;justify-content:space-between;align-items:center;gap:9.6rem;max-width:130rem;display:flex}.header .header-content .person{color:var(--text-accent-color);align-items:center;gap:2.2rem;font-size:2.4rem;font-weight:500;transition:transform .5s;display:flex}.header .header-content .person.hidden{transform:translateY(-20rem)}.header .header-content .person-img{border-radius:50%;width:4.6rem}.main-nav-list{align-items:center;gap:4.8rem;list-style:none;display:flex}.main-nav-link:link,.main-nav-link:visited{color:var(--text-accent-color);font-size:1.8rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-block}.main-nav-link:hover,.main-nav-link:active{color:var(--accent-color)}.main-nav-theme-switch{cursor:pointer;background:0 0;border:none}.main-nav-theme-switch .icon-mobile-nav{color:var(--text-accent-color);width:3.2rem;height:3.2rem;transition:all .3s}.main-nav-theme-switch .icon-mobile-nav:hover,.main-nav-theme-switch .icon-mobile-nav:active{color:var(--theme-switch-bg-color)}.main-nav-theme-switch .icon-mobile-nav[name=sunny]{display:none}.main-nav-theme-switch .icon-mobile-nav[name=moon],.dark-mode .main-nav-theme-switch .icon-mobile-nav[name=sunny]{display:inline-block}.dark-mode .main-nav-theme-switch .icon-mobile-nav[name=moon]{display:none}.main-nav-mobile-menu{cursor:pointer;z-index:9999;background:0 0;border:none;display:none}.main-nav-mobile-menu .icon-mobile-nav{color:var(--text-accent-color);width:4.8rem;height:4.8rem}.main-nav-mobile-menu .icon-mobile-nav[name=close-outline]{display:none}.section-person{padding-top:9.6rem;padding-bottom:9.6rem}.section-person .person{flex-direction:column;align-items:center;gap:4.8rem;max-width:130rem;margin:0 auto;display:flex}.section-person .person-img{border-radius:50%;width:25rem;margin-top:.1rem}.section-person .person-name{text-align:center}.section-person .person-text-box p:last-child{margin-bottom:0}.section-buzzwords{flex-direction:column;gap:2.4rem;padding-top:0;padding-bottom:12.8rem;display:flex;overflow:hidden}.section-buzzwords ul{word-break:keep-all;white-space:nowrap;color:rgba(var(--rgb-accent-color),.5);flex-wrap:nowrap;margin:0;font-weight:600;list-style-type:none;display:flex}.section-buzzwords ul[data-direction=rtl]{direction:rtl;align-self:flex-end}.section-buzzwords ul.aws,.section-buzzwords ul.tools{gap:2.8rem;font-size:5rem}.section-buzzwords ul.technologies{gap:2.2rem;font-size:4rem}.section-buzzwords ul.languages{gap:3.6rem;font-size:5.5rem}.section-buzzwords ul.qualities{gap:3.2rem;font-size:4.5rem}.section-skills{padding-top:0;padding-bottom:12.8rem}.section-certs .badge{background:var(--bg-color);border:.2rem solid var(--badge-border-color);box-shadow:0 1.2rem 2.8rem 1rem rgba(var(--rgb-badge-shadow-color),.1);border-radius:1rem;align-items:center;gap:2.2rem;padding:2rem;font-size:2rem;transition:all .5s;display:flex;position:relative}.section-certs .badge:hover{z-index:100;transform:scale(1.05)}.section-certs .badge img{width:15rem;height:15rem}.section-certs .badge .badge-title{margin-bottom:1.2rem;font-weight:500}.section-certs .badge .badge-subtitle{font-size:1.5rem;font-weight:200}.section-projects p.container:last-of-type{margin-bottom:7.4rem}.section-projects .project{gap:4.8rem;display:flex}.section-projects .project .project--timeline{flex-direction:column;align-items:center;width:2rem;display:flex}.section-projects .project .project--timeline .top-segment,.section-projects .project .project--timeline .bottom-segment{background:var(--accent-color);width:.4rem;display:block}.section-projects .project .project--timeline .top-segment{height:3.4rem}.section-projects .project .project--timeline .bottom-segment{flex-grow:1}.section-projects .project .project--timeline .milestone{border:.5rem solid var(--accent-color);background:var(--bg-color);border-radius:50%;width:2rem;height:2rem;display:block}.section-projects .project:first-of-type .project--timeline .top-segment,.section-projects .project:last-of-type .project--timeline .bottom-segment{background:0 0}.section-projects .project .period{text-transform:uppercase;margin-bottom:.8rem;font-size:1.8rem;display:block}.section-projects .project h3{position:relative}.section-projects .project .intro{grid-template-columns:max-content 1fr;margin-bottom:3.2rem;font-size:2rem;line-height:1.6;display:grid}.section-projects .project .intro>*{padding-bottom:1.6rem}.section-projects .project .intro>:nth-child(odd){gap:1.1rem;padding-right:2.2rem;font-weight:500;display:flex}.section-projects .project .intro--icon{width:2.4rem;height:2.4rem;padding-top:.4rem}.section-projects .project h4{margin-bottom:3.2rem;font-size:2rem}.section-projects .project ul{margin-bottom:4.8rem;font-size:2rem;line-height:1.6}.section-projects .project ul li{margin-bottom:1.8rem;margin-left:3.2rem}.section-projects .project .hidden{display:none}.section-contact{padding-bottom:12.8rem}.section-contact .container{color:var(--text-accent-color);background-image:linear-gradient(to right bottom,var(--form-bg-color),var(--form-bg-accent-color));border-radius:1.1rem;padding:4.8rem 6.4rem 6.4rem;overflow:hidden;box-shadow:0 2.4rem 4.8rem #00000026}.section-contact form{flex-direction:column;gap:2.4rem;display:flex}.section-contact form label{margin-bottom:1.2rem;font-size:1.6rem;font-weight:500;display:block}.section-contact form input,.section-contact form textarea,.section-contact form button{box-shadow:0 .1rem .2rem #0000001a}.section-contact form input,.section-contact form textarea{color:inherit;background-color:var(--form-input-bg-color);border:none;border-radius:.9rem;width:min(50rem,100%);padding:1.2rem;font-family:inherit;font-size:1.8rem}.section-contact form textarea{min-width:100%;max-width:100%;min-height:20rem;max-height:45rem}.section-contact form button{align-self:flex-start}.section-contact form :focus{box-shadow:0 0 0 .8rem rgba(var(--rgb-accent-color),.5);transition:all .3s}.section-contact form .contact-form-item--submit{align-items:center;gap:3.6rem;margin-top:1.6rem;display:flex}.section-contact form .contact-form-item--submit .spinner{display:none}.section-contact form .contact-form-item--submit .spinner[data-visible=true]{width:4rem;height:4rem;display:inline-block;position:relative}.section-contact form .contact-form-item--submit .spinner[data-visible=true]:before,.section-contact form .contact-form-item--submit .spinner[data-visible=true]:after{content:"";background:var(--accent-color);border-radius:50%;width:4rem;height:4rem;animation:2s linear infinite spinnerAnimation;position:absolute;top:0;left:0}.section-contact form .contact-form-item--submit .spinner[data-visible=true]:after{animation-delay:1s;transform:scale(0)}@keyframes spinnerAnimation{0%{opacity:1;transform:scale(0)}to{opacity:0;transform:scale(1)}}.section-contact form .widget>p{text-align:center;z-index:1000;flex-direction:column;justify-content:center;align-items:center;width:100vw;min-height:9.6rem;margin:0;padding:2.4rem;animation:5s ease-in-out forwards messageAnimation;display:flex;position:fixed;bottom:0;left:0}.section-contact form .widget>p.success{background:var(--form-widget-bg-success-color)}.section-contact form .widget>p.error{background:var(--form-widget-bg-error-color)}@keyframes messageAnimation{0%{opacity:0;transform:translateY(50rem)}10%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(50rem)}}.footer{color:var(--text-accent-color);background-color:var(--bg-accent-color);height:9.6rem;padding:0 4.8rem;display:flex}.footer-content{flex-grow:1;align-items:center;max-width:130rem;margin:0 auto;display:flex}.footer .social-links{gap:2.4rem;list-style:none;display:flex}.footer .social-icon{width:3.6rem;height:3.6rem}.footer p{margin:0;font-size:1.8rem}.footer p.thanks{line-height:1.4}.footer p.arrow{margin-left:2.4rem;margin-right:1.2rem;animation:2s ease-in infinite arrow-animation;display:flex;transform:translateY(0)}@keyframes arrow-animation{70%{transform:translate(0%)}80%{transform:translate(-80%)}90%{transform:translate(0%)}95%{transform:translate(-40%)}97%{transform:translate(0%)}99%{transform:translate(-20%)}to{transform:translate(0)}}:root{--color:#dbeaf6;--rgb-color:219,234,246;--accent-color:#2f659a;--rgb-accent-color:47,101,154;--text-color:#555;--rgb-text-color:85,85,85;--text-accent-color:#333;--rgb-text-accent-color:51,51,51;--bg-color:#fff;--rgb-bg-color:255,255,255;--bg-accent-color:#c4daf3;--rgb-bg-accent-color:196,218,243;--primary-button-color:#e9f3fd;--rgb-primary-button-color:233,243,253;--primary-button-accent-color:#07192e;--rgb-primary-button-accent-color:7,25,46;--badge-border-color:#fff;--rgb-badge-border-color:255,255,255;--badge-shadow-color:#000;--rgb-badge-shadow-color:0,0,0;--form-bg-color:#aecdef;--rgb-form-bg-color:174,205,239;--form-bg-accent-color:#6a98cc;--rgb-form-bg-accent-color:106,152,204;--form-input-bg-color:#f9fdff;--rgb-form-input-bg-color:249,253,255;--form-widget-bg-success-color:#a7cb86;--rgb-form-widget-bg-success-color:167,203,134;--form-widget-bg-error-color:#e3a6a6;--rgb-form-widget-bg-error-color:227,166,166;--theme-switch-bg-color:#fff;--rgb-theme-switch-bg-color:255,255,255}:root.dark-mode{--color:#162e48;--rgb-color:22,46,72;--accent-color:#6191d3;--rgb-accent-color:97,145,211;--text-color:#bbb;--rgb-text-color:187,187,187;--text-accent-color:#c9c9c9;--rgb-text-accent-color:201,201,201;--bg-color:#22272e;--rgb-bg-color:34,39,46;--bg-accent-color:#2a3c55;--rgb-bg-accent-color:42,60,85;--primary-button-color:#1c2c44;--rgb-primary-button-color:28,44,68;--primary-button-accent-color:#75b0f7;--rgb-primary-button-accent-color:117,176,247;--badge-border-color:#162e48;--rgb-badge-border-color:22,46,72;--badge-shadow-color:#000;--rgb-badge-shadow-color:0,0,0;--form-bg-color:#374e67;--rgb-form-bg-color:55,78,103;--form-bg-accent-color:#294365;--rgb-form-bg-accent-color:41,67,101;--form-input-bg-color:#2e3136;--rgb-form-input-bg-color:46,49,54;--form-widget-bg-success-color:#2b3c22;--rgb-form-widget-bg-success-color:43,60,34;--form-widget-bg-error-color:#442424;--rgb-form-widget-bg-error-color:68,36,36;--theme-switch-bg-color:#d8c81c;--rgb-theme-switch-bg-color:216,200,28}@media (max-width:85em){.heading-primary{font-size:4.4rem}.person{max-width:120rem}}@media (max-width:75em){html{font-size:56.25%}.grid{gap:6.2rem 2.4rem}.grid--3-cols,.grid--4-cols{grid-template-columns:repeat(2,1fr)}.heading-secondary{font-size:3.6rem}.heading-tertiary{font-size:2.4rem}.main-nav-list{gap:3.2rem}.section-person .person-img{width:22rem}.section-buzzwords ul.aws,.section-buzzwords ul.tools{font-size:4.5rem}.section-buzzwords ul.technologies{font-size:3.5rem}.section-buzzwords ul.languages{font-size:5rem}.section-buzzwords ul.qualities{font-size:4rem}}@media (max-width:60em){html{font-size:50%}.heading-primary{font-size:4rem}.main-nav-mobile-menu{display:block}.main-nav{background:rgba(var(--rgb-bg-accent-color),.8);opacity:0;visibility:hidden;pointer-events:none;width:100vw;height:calc(100vh - 9.6rem);padding:3.2em;transition:all .3s ease-in;position:absolute;top:9.6rem;right:0}.main-nav:before{content:"";-webkit-backdrop-filter:blur(2rem);backdrop-filter:blur(2rem);z-index:-1;width:100%;height:100%;position:absolute;top:0;left:0}.header--nav-open .main-nav{opacity:1;visibility:visible;pointer-events:auto;transform:translate(0%)}.header--nav-open .main-nav-mobile-menu{z-index:1000;position:fixed;top:2.4rem;right:4.8rem}.header--nav-open .icon-mobile-nav[name=menu-outline]{display:none}.header--nav-open .icon-mobile-nav[name=close-outline]{display:block}.main-nav-list{flex-direction:column;align-items:center;gap:4.8rem}.main-nav-link:link,.main-nav-link:visited{font-size:2.4rem}.section-person .person-img{width:20rem}.section-buzzwords ul.aws,.section-buzzwords ul.tools{font-size:4rem}.section-buzzwords ul.technologies{font-size:3rem}.section-buzzwords ul.languages{font-size:4.5rem}.section-buzzwords ul.qualities{font-size:3.5rem}.section-certs .badge img{width:13rem;height:13rem}}@media (max-width:45em){.heading-secondary{margin-bottom:4.8rem}.section-person .person{padding:0}.section-person .person-img{width:18rem}.section-person .person-name{font-size:4.2rem}}@media (max-width:35em){.grid{row-gap:4.8rem}.grid--2-cols,.grid--3-cols,.grid--4-cols{grid-template-columns:1fr}.section-person,.section-skills{padding-bottom:9.6rem}.section-person .person-img{width:16rem}.section-person .person-name{font-size:3.6rem}.section-certs .badge{text-align:center;flex-direction:column}.section-certs .badge img{width:10rem;height:10rem}.section-projects .project .intro{grid-template-columns:1fr}.section-projects .project .intro>:nth-child(odd){padding-bottom:1rem}.section-projects .project .intro>:nth-child(2n){padding-bottom:3.2rem}.section-projects .project ul li{margin-left:0;list-style-position:inside}.section-contact{padding-bottom:9.8rem}.section-contact .container{padding:3.2rem 4.8rem 4.8rem}.section-contact form button{align-self:auto}.footer .social-links{gap:1.8rem;list-style:none;display:flex}.footer .social-icon{width:2.8rem;height:2.8rem;margin-top:.4rem}.footer p{font-size:1.6rem}}