:root {
  --dark-mode--background: var(--swatch--dark-blue);
  --dark-mode--text: var(--swatch--white);
  --dark-mode--text-blue: var(--swatch--light-blue);
  --dark-mode--accent: var(--swatch--orange);
  --dark-mode--text-light-blue: var(--swatch--white-blue);
  --swatch--true-white: white;
  --swatch--dark-blue: #0b212e;
  --swatch--orange: #cd7a37;
  --light-mode--text: var(--swatch--dark-blue);
  --swatch--aws: #ff9b00;
  --s-g: "Space Grotesk", sans-serif;
  --p: Poppins, sans-serif;
  --light-mode--background: var(--swatch--white);
  --light-mode--text-blue: var(--swatch--light-blue);
  --light-mode--accent: var(--swatch--orange);
  --swatch--white: #bcbec0;
  --swatch--light-blue: #3e69b1;
  --swatch--white-blue: #afd8ff;
}

.w-layout-blockcontainer {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

@media screen and (max-width: 991px) {
  .w-layout-blockcontainer {
    max-width: 728px;
  }
}

@media screen and (max-width: 767px) {
  .w-layout-blockcontainer {
    max-width: none;
  }
}

body {
  background-color: var(--dark-mode--background);
  color: var(--dark-mode--text);
  font-family: Inter, sans-serif;
  font-size: 16px;
  line-height: 20px;
}

.section {
  z-index: 1;
  background-color: var(--dark-mode--background);
  justify-content: center;
  align-items: center;
  display: flex;
  overflow: hidden;
}

.section.ishero {
  z-index: auto;
  overflow: hidden;
}

.section.istimeline {
  z-index: -3;
  position: relative;
  overflow: visible;
}

.section.isabout {
  overflow: visible;
}

.section.isart {
  display: block;
  overflow: visible;
}

.section.cf {
  padding-bottom: 2rem;
}

.section_container {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: calc(100vw - 12rem);
  max-width: 1360px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  overflow: visible;
}

.section_container.ishero {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin-top: 0;
  margin-bottom: 0;
  padding: 0 6rem;
}

.section_container.ismain {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-flow: row;
  justify-content: space-between;
  align-items: flex-start;
  padding-top: 6rem;
  padding-bottom: 6rem;
  display: flex;
  position: relative;
}

.section_container.isfooter {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.section_container.isw1 {
  justify-content: flex-start;
  align-items: center;
}

.section_container.isart {
  justify-content: flex-start;
  align-items: center;
  height: 300svh;
  position: relative;
  overflow: visible;
}

.section_container.iscf {
  flex-flow: row;
  justify-content: space-around;
  align-items: flex-start;
}

.padding-vertical-xlarge {
  padding-top: 120px;
  padding-bottom: 120px;
}

.padding-vertical-xlarge.isw1 {
  padding-top: 0;
}

.timeline-main_heading-wrapper {
  color: #fff;
  text-align: center;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

.margin-bottom-medium {
  color: #f3f2f9;
  margin-bottom: 32px;
}

.h2-old {
  color: var(--dark-mode--text-blue);
  -webkit-text-stroke-color: var(--dark-mode--text-blue);
  font-family: Space Grotesk, sans-serif;
  font-size: 2rem;
  line-height: 1.2;
}

.timeline_item {
  z-index: 0;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 180px 1fr;
  grid-auto-columns: 1fr;
  padding-top: 80px;
  padding-bottom: 80px;
  display: grid;
  position: relative;
}

.margin-bottom-xlarge {
  margin-bottom: 32px;
}

.margin-bottom-xlarge.ollyolly {
  margin-bottom: 16px;
}

.margin-bottom-xlarge.ollyolly.mx {
  margin-bottom: 32px;
}

.timeline_quote-wrapper {
  border: 2px solid #fff;
  border-radius: 16px;
  align-items: flex-start;
  margin-top: 32px;
  padding: 24px;
  display: flex;
}

.inline-block {
  z-index: 1;
  vertical-align: baseline;
  margin-bottom: 16px;
  display: inline-block;
  position: static;
}

.timeline_badge {
  color: #fff;
  letter-spacing: .05em;
  text-transform: uppercase;
  background-color: #ffffff26;
  border-radius: 8px;
  margin-top: 8px;
  margin-bottom: 16px;
  padding: 6px 8px;
  font-size: 12px;
  font-weight: 700;
  line-height: 12px;
  display: inline-block;
}

.timeline_text {
  color: var(--dark-mode--text);
  letter-spacing: -.02em;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.375;
}

.timeline_quote {
  color: #f3f2f9;
  margin-bottom: 16px;
  font-size: 14px;
}

.timeline_centre {
  justify-content: center;
  display: flex;
}

.link-icon {
  width: 20px;
  height: 20px;
  margin-left: 8px;
}

.timeline_circle {
  background-color: #fff;
  border-radius: 100%;
  width: 15px;
  min-width: 15px;
  max-width: 15px;
  height: 15px;
  min-height: 15px;
  max-height: 15px;
  position: sticky;
  top: 50vh;
  box-shadow: 0 0 0 8px #0a0a0a;
}

.timeline_milestone-badge {
  color: #161616;
  letter-spacing: .05em;
  text-transform: uppercase;
  background-color: #fff;
  border-radius: 8px;
  margin-bottom: 24px;
  padding: 8px 12px;
  font-size: 14px;
  font-weight: 700;
  line-height: 12px;
  display: inline-block;
}

.timeline_milestone-badge.gcert {
  background-color: #f3f2f9;
  border: 1px solid #06f;
  margin-top: 24px;
  margin-bottom: 16px;
}

.timeline_component {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: relative;
}

.timeline_quote-image {
  border-radius: 8px;
  width: 48px;
  height: 48px;
  margin-right: 24px;
}

.text-colour-lightgrey {
  color: #ffffffa6;
  margin-bottom: 0;
  font-family: Inter, sans-serif;
  font-weight: 300;
}

.text-colour-lightgrey.white {
  color: #f3f2f9;
  margin-top: 0;
}

.timeline_link {
  z-index: 99999999;
  opacity: .6;
  color: #fff;
  letter-spacing: .8px;
  text-transform: uppercase;
  border-radius: 8px;
  justify-content: flex-start;
  align-items: flex-start;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
  transition: opacity .3s;
  display: flex;
  position: absolute;
}

.timeline_link:hover {
  opacity: 1;
}

.overlay-fade-bottom {
  background-image: linear-gradient(0deg, var(--dark-mode--background), #0a0a0a00);
  opacity: 1;
  height: 80px;
  position: absolute;
  inset: auto 0% 0%;
}

.timeline_left {
  text-align: right;
  justify-content: flex-end;
  align-items: stretch;
}

.timeline_quote-title {
  color: #fff;
  font-size: 14px;
  font-weight: 500;
}

.overlay-fade-top {
  background-image: linear-gradient(180deg, var(--dark-mode--background), #0a0a0a00);
  opacity: 1;
  height: 80px;
  position: absolute;
  inset: 0% 0% auto;
}

.timeline_progress-bar {
  z-index: -1;
  background-color: #fff;
  background-image: linear-gradient(#ff7448, #ff4848 51%, #6248ff);
  width: 3px;
  height: 50vh;
  position: fixed;
  inset: 0 auto 50vh;
}

.timeline_date-text {
  color: var(--dark-mode--text);
  letter-spacing: -.03em;
  font-family: Space Grotesk, sans-serif;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.2;
  position: sticky;
  top: 50vh;
}

.timeline_quote-text-wrapper {
  flex: 1;
}

.timeline_progress {
  z-index: 0;
  background-color: #414141;
  width: 3px;
  height: 100%;
  position: absolute;
}

.timeline_image-wrapper {
  background-image: linear-gradient(138deg, #000, #0000 28%);
  border-radius: 12px;
  margin-bottom: 24px;
  overflow: hidden;
}

.timeline_image-wrapper.margin-bottom-medium.islogo {
  max-width: 80%;
}

.timeline_definition-wrapper {
  background-color: #ffffff0d;
  border-radius: 16px;
  padding: 16px;
}

.navbar {
  z-index: 999999;
  background-color: var(--dark-mode--text);
  display: block;
  position: sticky;
  top: 0;
}

.text-block {
  font-family: Inter, sans-serif;
}

.image-blue-border {
  border: 3px solid #0066ffb3;
  border-radius: 12px;
}

.image-blue-border.magnify {
  border: 3px solid #0066ff52;
}

.image-blue-border.magnify.iscert {
  margin-top: 1.2rem;
  display: block;
  overflow: clip;
}

.image-blue-border.magnify.iscert.last {
  margin-bottom: 1.2rem;
}

.image-blue-border.magnify.isgreen {
  border: 3px solid #26645b;
}

.image-blue-border.iscert.isgoogle {
  margin-top: 1.2rem;
  margin-bottom: 2.4rem;
}

.image-blue-border.iscert.isgoogle.isaws {
  margin-top: 0;
}

.image-blue-border.iscert.isgoogle.ccp {
  margin-bottom: 1.2rem;
}

.image-blue-border.isv1 {
  margin-top: .5rem;
}

.text-span {
  color: var(--dark-mode--text);
}

.bold-text, .bold-text-2 {
  color: #fffc;
}

.round-loope {
  border-radius: 50%;
  display: block;
  box-shadow: 6px 5px #0000005c;
}

.logo-move {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  height: 63vh;
  display: flex;
}

.logo-move.contactform {
  height: 42svh;
}

.logo-no-fill {
  z-index: 1;
  width: 72vw;
  display: block;
  position: absolute;
}

.logo-with-fill {
  z-index: 2;
  width: 72vw;
  display: block;
  position: absolute;
}

.navbar_container {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  grid-template-rows: auto;
  grid-template-columns: 1fr .25fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  align-items: center;
  width: calc(100vw - 12rem);
  max-width: 1360px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
  display: grid;
}

.cta-connect {
  padding-right: 0;
}

.text-block-2 {
  background-color: var(--dark-mode--background);
  color: var(--dark-mode--text);
  text-transform: uppercase;
  border-radius: 20px;
  padding: .5rem 1rem;
  font-family: Space Grotesk, sans-serif;
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
  transition: all .21s cubic-bezier(.77, 0, .175, 1);
}

.text-block-2:hover {
  color: var(--dark-mode--accent);
  transform: scale(1.05);
}

.text-block-2.isgallery {
  background-color: var(--dark-mode--text-blue);
  color: var(--dark-mode--text-light-blue);
  white-space: nowrap;
  padding-left: 1rem;
  padding-right: 1rem;
  display: block;
}

.link-block {
  text-decoration: none;
}

.image {
  max-width: 48px;
}

.nav-link {
  color: var(--dark-mode--background);
  font-family: Space Grotesk, sans-serif;
  font-weight: 600;
  transition: all .2s;
}

.nav-link:hover {
  color: var(--dark-mode--accent);
  mix-blend-mode: multiply;
}

.sm_icons {
  max-width: 20rem;
}

.icons-wrapper {
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.icons-wrapper.cf {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
}

.sm-icon-link {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  color: #000;
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
  margin-top: 0;
  font-weight: 500;
  text-decoration: none;
  transition: opacity .25s;
  display: flex;
}

.sm-icon-link:hover {
  opacity: .8;
}

.sm-icon {
  object-fit: cover;
  width: 24px;
  height: auto;
}

.sm-icon.last-icon.isfooter, .sm-icon.isfooter {
  width: 2rem;
}

.section_main-left {
  flex-flow: column;
  justify-content: space-between;
  width: 50%;
  min-height: calc(100vh - 12rem);
  display: flex;
  position: sticky;
  top: 6rem;
}

.section_main-left.cf {
  grid-column-gap: 32px;
  grid-row-gap: 32px;
}

.section_main-left.cf.contact-form {
  justify-content: space-between;
  min-height: 0;
  position: static;
}

.section_main-right {
  width: 50%;
}

.section_main_about {
  height: calc(100vh - 12rem);
  margin-bottom: 3.6rem;
  display: inline-block;
}

.h1 {
  color: var(--dark-mode--text);
  letter-spacing: -.036em;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Space Grotesk, sans-serif;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1;
}

.h2 {
  color: var(--dark-mode--text);
  letter-spacing: -.036px;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Space Grotesk, sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5rem;
  transition: color .2s;
}

.h2:hover {
  color: var(--dark-mode--text-blue);
}

.h2.isfooter {
  color: var(--dark-mode--background);
  line-height: 1;
}

.h2.isfooter:hover {
  color: var(--dark-mode--text-blue);
}

.paragraph {
  color: var(--dark-mode--text);
  margin-top: 1rem;
  margin-bottom: 0;
  font-size: 16px;
  line-height: 1.5;
}

.paragraph.istimelineheading {
  max-width: none;
}

.paragraph.isabout {
  margin-top: 0;
  margin-bottom: 2.4rem;
  font-family: Inter, sans-serif;
  line-height: 1.4;
}

.paragraph.isabout.iscert {
  margin-bottom: 1.2rem;
}

.paragraph.isdate {
  opacity: .64;
  color: var(--dark-mode--text);
  letter-spacing: .025em;
  white-space: nowrap;
  margin-top: 0;
  margin-bottom: 0;
  font-size: .775rem;
  font-weight: 600;
  line-height: 1rem;
}

.paragraph.isdate.skills-heading {
  color: var(--dark-mode--text-light-blue);
  white-space: wrap;
}

.paragraph.isdate.skills-heading.project {
  margin-top: 2.4rem;
  margin-bottom: .5rem;
}

.paragraph.isdate.skills-heading.songs {
  margin-bottom: 1rem;
  font-size: 1rem;
}

.paragraph.isdate.isfooter {
  opacity: 1;
  color: var(--dark-mode--background);
  margin-top: 2rem;
}

.paragraph.isdate.iscf {
  margin-bottom: .5rem;
  font-size: 1rem;
}

.paragraph.isdate.iscert {
  opacity: 100;
}

.paragraph.isdate.iscert.isart {
  margin-top: 1rem;
}

.paragraph.isjobdescription {
  margin-top: .5rem;
  font-size: .875rem;
}

.paragraph.cf {
  align-self: center;
}

.section_main_nav {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 20rem;
  margin-top: 2rem;
  display: flex;
}

.link-block-2 {
  flex: none;
  justify-content: flex-start;
  align-items: center;
  text-decoration: none;
  display: flex;
  overflow: hidden;
}

.link-block-2.mobile, .link-block-2.mobile.w--current {
  display: none;
}

.text-span-3 {
  color: var(--dark-mode--text-blue);
}

.section_main_exp {
  margin-top: 6rem;
  padding-top: 3rem;
  display: inline-block;
}

.section_main_skills {
  flex-flow: column;
  min-height: calc(100vh - 3rem);
  padding-top: 6rem;
  display: flex;
}

.text-span-4 {
  opacity: .81;
  color: var(--dark-mode--accent);
}

.page-wrapper {
  z-index: 0;
  background-color: var(--dark-mode--background);
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  position: relative;
}

.nav-wave-div {
  transform-origin: 0%;
  flex: none;
  width: 6vw;
  margin-right: .5vw;
  overflow: hidden;
  transform: perspective(2em);
}

.nav-wave {
  width: 600%;
  max-width: none;
  margin-bottom: .1em;
}

.experience_cards {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  display: inline-flex;
}

.experience_cards.ismds {
  margin-top: 0;
}

.section_main_exp_date {
  vertical-align: baseline;
}

.h3 {
  color: var(--dark-mode--text);
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.375;
}

.h3.ismds {
  letter-spacing: -.02em;
  white-space: wrap;
}

.h3.sketch {
  background-color: var(--dark-mode--accent);
  color: var(--dark-mode--background);
  border-radius: 20px;
  margin-top: 3rem;
  margin-bottom: 1.5rem;
  padding: .25rem .75rem;
  display: inline-block;
}

.h3.sketch.mono {
  background-color: var(--swatch--true-white);
  color: var(--swatch--dark-blue);
}

.h3.sketch.mono.first {
  margin-top: 0;
}

.h3.sketch.mono.first.second {
  margin-top: 3.6rem;
}

.h3.sketch.mono.first.acrylic {
  background-color: var(--swatch--orange);
  color: var(--swatch--true-white);
}

.h3.cf {
  font-size: 1.5rem;
  line-height: 1;
}

.h3.iscf {
  margin-bottom: 1rem;
}

.h3.cog {
  white-space: wrap;
}

.work-experience {
  flex-flow: column;
  display: flex;
}

.work-title {
  letter-spacing: -.02em;
  white-space: nowrap;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.tech-item {
  color: var(--dark-mode--text-light-blue);
  white-space: nowrap;
  background-color: #3e69b13d;
  border: 1px #000;
  border-radius: 12px;
  margin-top: .5rem;
  margin-right: .375rem;
  padding: .25rem .75rem;
  font-size: .75rem;
  font-weight: 500;
  line-height: 1.25rem;
  display: inline-block;
  box-shadow: 1px 2px 5px -1px #0003;
}

.tech-item.websites-handled {
  color: #ffc600;
  background-color: #ff881124;
  flex: 0 auto;
  margin-top: 0;
  margin-right: 0;
  display: inline-block;
  overflow: visible;
}

.tech-item.websites-handled.achievement {
  margin-bottom: 1.5rem;
  font-size: 1rem;
}

.tech-item.isgoogle {
  color: var(--swatch--true-white);
  background-color: #3e69b12e;
}

.tech-item.isgoogle.cert {
  color: var(--swatch--dark-blue);
  background-color: #f2f7fd;
  font-size: .9rem;
}

.tech-item.isgoogle.cert.isaws {
  color: var(--swatch--true-white);
  background-color: #000;
  border: 2px solid #ff9b00;
}

.tech-item.isfigma {
  color: #fff;
  background-image: linear-gradient(150deg, #ff3b0073, #ae4dff73 33.33%, #00beff73 66.66%, #00d47b73);
}

.tech-item.isjs {
  color: #fff;
  background-color: #f8e02673;
}

.tech-item.isai {
  color: #fe9900;
  background-color: #340100;
}

.tech-item.isps {
  color: #37abff;
  background-color: #09253b;
}

.tech-item.iscanva {
  color: var(--swatch--true-white);
  background-image: linear-gradient(150deg, #04becd, #1ea5d4 34%, #5d43ec);
}

.tech-item.iscoolors {
  color: #0166fe;
  background-color: #fff;
}

.tech-item.ishtml {
  color: var(--swatch--true-white);
  background-color: #e5532c;
}

.tech-item.iscss {
  color: var(--swatch--true-white);
  background-color: #0a7bbf;
}

.tech-item.isgit {
  color: var(--swatch--true-white);
  background-color: #f05539;
}

.tech-item.isgithub {
  color: var(--swatch--true-white);
  background-color: #22252b;
}

.tech-item.isvs {
  color: var(--swatch--true-white);
  background-color: #077ece;
}

.tech-item.isphp {
  color: #080808;
  background-color: #7c7fb6;
}

.tech-item.issass {
  color: var(--swatch--true-white);
  background-color: #d06b9d;
}

.tech-item.isbootstrap {
  color: var(--swatch--true-white);
  background-color: #7519f6;
}

.tech-item.isdribbble {
  color: var(--swatch--true-white);
  background-color: #e9548e;
}

.tech-item.iswebflow {
  color: var(--swatch--true-white);
  background-color: #156df3;
}

.tech-item.iswebflow.cert {
  font-size: .9rem;
}

.tech-item.iswebflow.cert.isbadges {
  margin-top: 2.4rem;
}

.tech-item.iswp {
  color: var(--swatch--true-white);
  background-color: #0879a1;
}

.tech-item.iselem {
  color: var(--swatch--true-white);
  background-color: #960842;
}

.tech-item.iswpengine {
  color: #0b294b;
  background-color: #0dccd6;
}

.tech-item.isnamecheap {
  color: var(--swatch--true-white);
  background-color: #fe5f0d;
}

.tech-item.isgodad {
  color: #181818;
  background-color: #22dcdb;
}

.tech-item.iscf7 {
  color: #3ac9f5;
  background-color: #1e4b82;
}

.tech-item.isyoast {
  color: #94cc52;
  background-color: #aa2f72;
}

.tech-item.isacf {
  color: var(--swatch--true-white);
  background-color: #57eabeb8;
}

.tech-item.isbl {
  color: #18d240;
  background-color: #fff;
}

.tech-item.isgemini {
  color: #1678ff;
  background-color: #fff;
}

.tech-item.isgpt {
  color: var(--swatch--true-white);
  background-color: #0aa981;
}

.tech-item.isms {
  color: var(--swatch--true-white);
  background-color: #fe3f08;
}

.tech-item.ishs {
  color: #384d60;
  background-color: #fff;
}

.tech-item.ismonday {
  color: #37393d;
  background-color: #fff;
}

.tech-item.iswscp {
  color: #28bd2b;
  background-color: #eeeef0;
}

.tech-item.issp {
  color: var(--swatch--true-white);
  background-color: #000;
}

.tech-item.ispostman {
  color: var(--swatch--true-white);
  -webkit-text-stroke-color: var(--swatch--true-white);
  background-color: #fe7040;
}

.tech-item.isaws {
  background-color: var(--swatch--true-white);
  color: var(--light-mode--text);
}

.technology {
  margin-top: .5rem;
}

.link-block-3 {
  padding: 1rem;
  text-decoration: none;
}

.link-block-3:hover {
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  background-image: linear-gradient(135deg, #bcbec008, #bcbec00f);
  border-radius: 15px;
}

.link-block-3.olly {
  margin-top: 3rem;
}

.link-block-4 {
  margin-top: 3rem;
  padding: 1rem;
  text-decoration: none;
}

.link-block-4:hover {
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  background-image: linear-gradient(135deg, #bcbec008, #bcbec00f);
  border-radius: 15px;
}

.websites-handled {
  margin-top: .6rem;
}

.link-block-5 {
  margin-top: 3rem;
  padding: 1rem;
  text-decoration: none;
}

.link-block-5:hover {
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  background-image: linear-gradient(135deg, #bcbec008, #bcbec00f);
  border-radius: 15px;
}

.preload {
  z-index: 2147483647;
  background-color: var(--dark-mode--background);
  justify-content: center;
  align-items: center;
  display: none;
  position: fixed;
  inset: 0%;
}

.preloader {
  width: 9rem;
}

.done-preload {
  width: 16rem;
  position: absolute;
}

.section_main_certs {
  flex-flow: column;
  min-height: calc(100vh - 3rem);
  margin-top: 6rem;
  padding-top: 3rem;
  display: flex;
  overflow: visible;
}

.skills {
  margin-bottom: 2.4rem;
}

.text-span-5 {
  color: #4286f5;
}

.text-span-7 {
  color: #0f9d58;
}

.text-span-8 {
  color: #db4437;
}

.text-span-9 {
  color: #f4b400;
}

.text-span-10 {
  color: #4286f5;
}

.text-span-11 {
  color: #db4437;
}

.text-span-12 {
  color: #ff7e5e;
}

.text-span-13 {
  color: #1868da;
}

.text-span-14 {
  text-shadow: 1px 1px 1px var(--dark-mode--text-light-blue);
}

.footer {
  background-color: var(--dark-mode--text);
  color: var(--dark-mode--background);
  margin-top: 2rem;
}

.footer-centre {
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.logo {
  width: 24rem;
}

.footer-link-wrap {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 1.5rem;
  margin-bottom: 2rem;
  font-size: 2rem;
  line-height: 1px;
  display: flex;
}

.footer-link-wrap.isart {
  margin-bottom: 0;
}

.footer-link-wrap.pages {
  margin-top: 0;
}

.footer-wrapper {
  align-items: center;
  display: flex;
}

.body-2 {
  background-color: var(--dark-mode--background);
}

.certs_google.isgoogle, .certs_projects {
  margin-top: 3.6rem;
}

.link-block-6 {
  text-decoration: none;
}

.versions {
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.artworks {
  width: 100%;
  height: 100%;
}

.magnify {
  display: block;
}

.colored-illustrations, .monochrome {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-flow: column;
  display: flex;
}

.section_main_sketch {
  margin-bottom: 9rem;
  padding-top: 6rem;
  padding-bottom: 3rem;
}

.section_main_playlist {
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
  flex-flow: column;
  margin-bottom: 9rem;
  padding-top: 6rem;
  padding-bottom: 3rem;
  display: flex;
}

.section_main_books {
  min-height: calc(100vh - 3rem);
  padding-top: 6rem;
  padding-bottom: 0;
  padding-right: 0;
}

.move {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.songs {
  border-radius: 20px;
}

.down {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.books-current {
  margin-top: 2rem;
}

.text-span-16, .text-span-17 {
  color: var(--swatch--true-white);
}

.books {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.scroll_track {
  position: sticky;
  top: 3%;
  overflow: visible;
}

.scroll_track.isgallery {
  top: 0;
}

.marquee {
  grid-column-gap: 1rem;
  background-color: var(--dark-mode--text-blue);
  width: 100%;
  margin-bottom: 1rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
  display: flex;
  overflow: hidden;
}

.marquee-content {
  grid-column-gap: 1rem;
  flex: none;
  justify-content: space-around;
  min-width: 100%;
  display: flex;
}

.marquee-image {
  width: 220px;
}

.text-span-19 {
  color: var(--dark-mode--text-blue);
}

.hero-heading-right {
  padding: 6rem 0;
  position: relative;
}

.hero-heading-right.isgalleryu {
  min-height: 81svh;
}

.hero-heading-right.isgalleryu.v2 {
  justify-content: center;
  align-items: center;
  min-height: 100svh;
  margin-top: auto;
  margin-bottom: auto;
  padding-top: 0;
  padding-bottom: 0;
  display: flex;
}

.hero-wrapper {
  justify-content: space-around;
  align-items: center;
  display: flex;
}

.hero-split {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  max-width: 42%;
  display: flex;
}

.shadow-two {
  box-shadow: 0 4px 24px #96a3b514;
}

.shadow-two.image-blue-border {
  max-height: 72svh;
}

.margin-bottom-24px {
  margin-bottom: 24px;
}

.margin-bottom-24px.v2 {
  max-width: 36ch;
}

.text-span-20 {
  color: var(--dark-mode--text-blue);
}

.mobile {
  display: none;
}

.badge {
  width: 90px;
}

.badge.isccp, .badge.isrestart, .badge.isart {
  width: 120px;
}

.badges {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  margin-bottom: 2rem;
  padding-top: 1.5rem;
  display: flex;
}

.marquee-2 {
  grid-column-gap: 1rem;
  background-color: var(--dark-mode--text-blue);
  width: 100%;
  margin-top: 3rem;
  margin-bottom: 0;
  padding-top: 2rem;
  padding-bottom: 2rem;
  display: flex;
  overflow: hidden;
}

.text-block-3 {
  color: var(--dark-mode--background);
  text-transform: uppercase;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-size: 4.5vw;
  font-weight: 900;
  line-height: 1;
}

.marquee-cover {
  z-index: 10;
  background-image: linear-gradient(180deg, #fff0 70%, var(--dark-mode--background)), linear-gradient(180deg, var(--dark-mode--background), #fff0 30%);
  position: absolute;
  inset: 0%;
}

.spacer-30 {
  width: 100%;
  height: 30px;
}

.spacer-30._15-xsvp {
  flex: none;
  width: 30px;
}

.icon {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.flex-vertical {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
}

.flex-vertical.marquee-fix {
  margin-top: 30px;
}

.track-vertical {
  flex-direction: column;
  flex: 1;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  display: flex;
  position: relative;
}

.icon-container {
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  width: 85%;
  height: 15vw;
  display: flex;
  box-shadow: 0 7px 15px 3px #afb1b34d;
}

.marquee-3 {
  flex-direction: row;
  flex: 1;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: 72svh;
  display: flex;
  position: relative;
  overflow: hidden;
}

.flex-horizontal {
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
}

.text-field {
  background-color: var(--dark-mode--text);
}

.text-field:focus, .text-field:focus-visible, .text-field[data-wf-focus-visible] {
  color: var(--dark-mode--background);
  font-weight: 700;
}

.text-field::placeholder {
  color: var(--dark-mode--text-blue);
}

.text-field-2 {
  background-color: var(--dark-mode--text);
}

.text-field-2:focus, .text-field-2:focus-visible, .text-field-2[data-wf-focus-visible] {
  color: var(--dark-mode--background);
  font-weight: 700;
}

.text-field-2::placeholder {
  color: var(--dark-mode--text-blue);
}

.text-field-2.ismessage {
  min-height: 150px;
}

.text-field-2.ismessage:focus, .text-field-2.ismessage:focus-visible, .text-field-2.ismessage[data-wf-focus-visible] {
  color: var(--dark-mode--background);
  font-weight: 700;
}

.submit {
  background-color: var(--dark-mode--text-blue);
  border-radius: 20px;
  margin-top: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  font-family: Space Grotesk, sans-serif;
}

.form {
  color: var(--dark-mode--text-blue);
}

.text-block-4 {
  color: var(--dark-mode--text-blue);
  font-weight: 600;
}

.success-message {
  background-color: var(--dark-mode--text);
  color: var(--dark-mode--text-blue);
  border-radius: 20px;
}

.text-block-5 {
  color: var(--dark-mode--background);
}

.error-message {
  border-radius: 20px;
}

.utility-page-wrap {
  justify-content: center;
  align-items: center;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  max-height: 100%;
  display: flex;
}

.utility-page-content {
  text-align: center;
  flex-direction: column;
  width: 260px;
  display: flex;
}

.utility-page-form {
  flex-direction: column;
  align-items: stretch;
  display: flex;
}

.aws {
  font-weight: bold;
}

.text-span-21 {
  color: var(--swatch--aws);
}

.glimpse.isart {
  padding-top: 1.2rem;
}

.div-block {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-flow: row;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  align-items: center;
  padding-top: 1.2rem;
  display: flex;
}

.div-block.isart {
  flex-flow: column;
  align-items: flex-start;
  padding-top: .5rem;
}

.div-block-2 {
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.div-block-2.isart {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-flow: row;
  justify-content: center;
  align-items: center;
}

.div-block-3 {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  display: flex;
}

@media screen and (min-width: 1440px) {
  .section {
    position: relative;
  }

  .icons-wrapper {
    padding-left: 0;
    padding-right: 0;
    position: relative;
  }

  .sm-icon-link {
    justify-content: space-between;
    align-items: center;
    display: block;
  }

  .sm-icon-link.contact {
    display: flex;
  }

  .sm-icon {
    mix-blend-mode: normal;
    margin-left: 0;
    display: block;
  }

  .section_main_certs {
    display: block;
  }
}

@media screen and (max-width: 991px) {
  .section {
    min-height: 50vh;
  }

  .section.ishero.cf, .section.cf {
    min-height: 0;
  }

  .section_container.ismain {
    flex-flow: column;
    justify-content: flex-start;
    padding-top: 3rem;
  }

  .section_container.iscf {
    flex-flow: column;
    display: block;
  }

  .h2-old {
    margin-top: 18px;
    margin-bottom: 0;
  }

  .timeline_text {
    font-size: 24px;
  }

  .text-block-2 {
    padding: .3rem .8rem .4rem;
  }

  .navbar_cta-button {
    font-size: .8rem;
    line-height: 1;
  }

  .icons-wrapper {
    margin-top: 1.5rem;
  }

  .sm-icon-link {
    justify-content: center;
    align-items: flex-start;
    min-height: auto;
    margin-right: 16px;
  }

  .sm-icon-link.contact {
    justify-content: flex-start;
    align-items: flex-start;
  }

  .section_main-left {
    width: auto;
    min-height: 32svh;
    display: block;
    position: static;
  }

  .section_main-left.cf.contact-form {
    margin-bottom: 3.2rem;
  }

  .section_main-right {
    width: auto;
  }

  .section_main_about {
    height: auto;
  }

  .paragraph.isabout {
    margin-bottom: 3rem;
  }

  .paragraph.isdate.skills-heading.first {
    margin-top: 1rem;
  }

  .section_main_nav {
    display: none;
  }

  .link-block-2.mobile, .link-block-2.mobile.w--current {
    margin-bottom: 1rem;
    display: flex;
  }

  .section_main_exp {
    padding-top: 0;
  }

  .section_main_skills {
    height: auto;
  }

  .experience_cards, .experience_cards.ismds {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    flex-flow: column;
  }

  .work-title {
    justify-content: flex-start;
    align-items: flex-start;
  }

  .link-block-3 {
    padding: 0;
  }

  .link-block-3:hover {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background-image: none;
    border-radius: 0;
  }

  .link-block-4 {
    margin-top: 2.4rem;
    padding: 0;
  }

  .link-block-4:hover {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background-image: none;
    border-radius: 0;
  }

  .link-block-5 {
    margin-top: 2.4rem;
    padding: 0;
  }

  .link-block-5:hover {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background-image: none;
    border-radius: 0;
  }

  .section_main_certs {
    height: auto;
  }

  .section_main_sketch {
    padding-top: 0;
  }

  .section_main_playlist {
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 9rem;
  }

  .section_main_books {
    min-height: auto;
    padding-top: 0;
  }

  .move, .down {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .menu-button {
    color: var(--dark-mode--background);
  }

  .menu-button.w--open {
    color: var(--dark-mode--text-blue);
  }

  .hero-wrapper {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    margin-bottom: -40px;
  }

  .hero-split {
    max-width: 100%;
    margin-bottom: 40px;
  }

  .shadow-two.image-blue-border {
    max-height: none;
  }

  .contact-form {
    overflow: visible;
  }

  .text-block-3 {
    font-size: 7vw;
  }

  .icon-container {
    height: 20vw;
  }

  .div-block.isart {
    margin-bottom: 6rem;
  }
}

@media screen and (max-width: 767px) {
  .section.ishero {
    display: none;
  }

  .section.cf {
    padding-top: 2rem;
  }

  .section_container {
    width: 90vw;
    max-width: 1360px;
  }

  .section_container.isart {
    height: auto;
  }

  .padding-vertical-xlarge {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .timeline_item {
    grid-template-columns: 64px 1fr;
    width: 100%;
  }

  .margin-bottom-xlarge {
    margin-bottom: 48px;
  }

  .timeline_quote-wrapper {
    flex-direction: column-reverse;
  }

  .timeline_text {
    font-size: 20px;
  }

  .timeline_centre {
    justify-content: flex-start;
  }

  .timeline_quote-image {
    margin-top: 24px;
    margin-right: 0;
  }

  .timeline_left {
    text-align: left;
  }

  .timeline_date-text {
    margin-bottom: 24px;
    font-size: 36px;
  }

  .timeline_progress {
    left: 6px;
  }

  .timeline_image-wrapper, .timeline_image-wrapper.margin-bottom-medium {
    background-image: linear-gradient(138deg, #000, #0000 28%);
  }

  .navbar_container {
    width: 90vw;
  }

  .sm-icon-link {
    flex-flow: row;
    justify-content: flex-start;
    align-items: center;
  }

  .section_main-left {
    margin-bottom: .5rem;
  }

  .nav-wave-div {
    width: 40px;
  }

  .nav-wave {
    width: 800%;
  }

  .tech-item.websites-handled {
    color: #ff881f;
  }

  .scroll_track {
    overflow: hidden;
  }

  .marquee-image.hide-mobile {
    display: none;
  }

  .hero-heading-right {
    padding: 60px 15px;
  }

  .mobile {
    display: block;
  }

  .rick {
    display: none;
  }

  .badge.isart {
    width: 54vw;
  }

  .text-block-3 {
    font-size: 8vw;
  }

  .marquee-cover {
    background-image: linear-gradient(180deg, #fff0 70%, var(--dark-mode--background)), linear-gradient(180deg, var(--dark-mode--background), #fff0 30%);
  }

  .track-vertical {
    align-items: center;
  }

  .icon-container {
    height: 25vw;
  }

  .marquee-3 {
    height: 70vw;
  }

  .div-block-3 {
    flex-flow: column;
  }
}

@media screen and (max-width: 479px) {
  .section.cf {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .margin-bottom-medium {
    margin-bottom: 24px;
  }

  .timeline_item {
    grid-template-columns: 48px 1fr;
  }

  .icons-wrapper {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }

  .section_main-left {
    min-height: 36svh;
  }

  .h1.cf {
    font-size: 2.4rem;
  }

  .paragraph.isabout.iscert {
    font-size: 14px;
  }

  .paragraph.isdate.isfooter {
    font-size: .6rem;
  }

  .h3.cf {
    font-size: 1rem;
  }

  .logo {
    width: 16rem;
  }

  .footer-link-wrap._2 {
    margin-top: 0;
  }

  .footer-link-wrap.isart {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    margin-bottom: 2rem;
  }

  .footer-wrapper {
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .move, .down {
    grid-template-columns: 1fr 1fr;
  }

  .books {
    grid-auto-columns: 1fr;
  }

  .badge {
    width: 72px;
  }

  .text-block-3 {
    font-size: 9vw;
  }

  .spacer-30._15-xsvp {
    height: 15px;
  }

  .flex-vertical.marquee-fix {
    margin-top: 15px;
  }
}

#w-node-cc0339c4-8181-a16f-f4b6-ec231ea6b81b-1ea6b803, #w-node-cc0339c4-8181-a16f-f4b6-ec231ea6b81d-1ea6b803, #w-node-e3c0ed3c-a87f-a793-dbc2-f425fe3935e9-fe3935e3, #w-node-e3c0ed3c-a87f-a793-dbc2-f425fe3935eb-fe3935e3 {
  justify-self: center;
}

#w-node-_7f3f5dc0-2af5-6aa4-ac18-1a468358b776-8358b772 {
  grid-area: 1 / 1 / 2 / 2;
  justify-self: start;
}

#w-node-_7f3f5dc0-2af5-6aa4-ac18-1a468358b77d-8358b772 {
  grid-area: 1 / 2 / 2 / 3;
  justify-self: center;
}

#w-node-_7f3f5dc0-2af5-6aa4-ac18-1a468358b77f-8358b772 {
  grid-area: 1 / 3 / 2 / 4;
  justify-self: end;
}

#w-node-_6cbe7428-0803-f69c-6bcb-c747d5c3e37a-953c7d4f, #w-node-_6cbe7428-0803-f69c-6bcb-c747d5c3e37c-953c7d4f, #w-node-ede3ba40-7e3a-5c94-e0d7-a173979b12f0-953c7d4f, #w-node-ede3ba40-7e3a-5c94-e0d7-a173979b12f2-953c7d4f, #w-node-f6cfab55-0269-914e-4a42-284df5f65c35-af189f89, #w-node-f6cfab55-0269-914e-4a42-284df5f65c37-af189f89, #w-node-_70d70c64-fb0c-8b29-6807-3df4050fde6a-dd7f64d1, #w-node-_70d70c64-fb0c-8b29-6807-3df4050fde6c-dd7f64d1 {
  justify-self: center;
}

@media screen and (max-width: 991px) {
  #w-node-_7f3f5dc0-2af5-6aa4-ac18-1a468358b774-8358b772 {
    grid-area: 1 / 1 / 2 / 2;
  }
}

@media screen and (max-width: 767px) {
  #w-node-_932d5413-6163-bd0c-b3a4-df714f991d11-af189f89 {
    grid-area: 1 / 2 / 2 / 3;
  }

  #w-node-_932d5413-6163-bd0c-b3a4-df714f991d14-af189f89 {
    grid-area: 1 / 1 / 3 / 2;
  }

  #w-node-_932d5413-6163-bd0c-b3a4-df714f991d16-af189f89 {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }

  #w-node-_932d5413-6163-bd0c-b3a4-df714f991d29-af189f89 {
    grid-area: 1 / 2 / 2 / 3;
  }

  #w-node-_932d5413-6163-bd0c-b3a4-df714f991d2c-af189f89 {
    grid-area: 1 / 1 / 3 / 2;
  }

  #w-node-_932d5413-6163-bd0c-b3a4-df714f991d40-af189f89 {
    grid-area: 1 / 2 / 2 / 3;
  }

  #w-node-_932d5413-6163-bd0c-b3a4-df714f991d43-af189f89 {
    grid-area: 1 / 1 / 3 / 2;
  }

  #w-node-_932d5413-6163-bd0c-b3a4-df714f991d5a-af189f89 {
    grid-area: 1 / 2 / 2 / 3;
  }

  #w-node-_932d5413-6163-bd0c-b3a4-df714f991d5d-af189f89 {
    grid-area: 1 / 1 / 3 / 2;
  }

  #w-node-_932d5413-6163-bd0c-b3a4-df714f991d85-af189f89 {
    grid-area: 1 / 2 / 2 / 3;
  }

  #w-node-_932d5413-6163-bd0c-b3a4-df714f991d88-af189f89 {
    grid-area: 1 / 1 / 3 / 2;
  }

  #w-node-_932d5413-6163-bd0c-b3a4-df714f991da4-af189f89 {
    grid-area: 1 / 2 / 2 / 3;
  }

  #w-node-_932d5413-6163-bd0c-b3a4-df714f991da7-af189f89 {
    grid-area: 1 / 1 / 3 / 2;
  }

  #w-node-_932d5413-6163-bd0c-b3a4-df714f991db9-af189f89 {
    grid-area: 1 / 2 / 2 / 3;
  }

  #w-node-_932d5413-6163-bd0c-b3a4-df714f991dbc-af189f89 {
    grid-area: 1 / 1 / 3 / 2;
  }

  #w-node-c3b75e28-97d2-7b46-42fb-9ada9220ecb2-af189f89 {
    grid-area: 1 / 2 / 2 / 3;
  }

  #w-node-c3b75e28-97d2-7b46-42fb-9ada9220ecb5-af189f89 {
    grid-area: 1 / 1 / 3 / 2;
  }

  #w-node-_0df7994f-d1bf-2b99-cef5-f4b4cb880e1a-af189f89 {
    grid-area: 1 / 2 / 2 / 3;
  }

  #w-node-_0df7994f-d1bf-2b99-cef5-f4b4cb880e1d-af189f89 {
    grid-area: 1 / 1 / 3 / 2;
  }

  #w-node-_932d5413-6163-bd0c-b3a4-df714f991dc5-af189f89 {
    grid-area: 1 / 2 / 2 / 3;
  }

  #w-node-_932d5413-6163-bd0c-b3a4-df714f991dc8-af189f89 {
    grid-area: 1 / 1 / 3 / 2;
  }
}


