:root {
  --black: black;
  --copy-bright: #fff0dc;
  --orange: #ef5b09;
  --dark-blue: #020222;
}

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

body {
  color: #333;
  font-family: Roboto, sans-serif;
  font-size: 1rem;
  line-height: 1.3;
}

h1 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 5em;
  font-weight: 300;
  line-height: 1;
}

h2 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 3em;
  font-weight: 300;
  line-height: 1.2em;
}

h3 {
  margin-top: 20px;
  margin-bottom: 10px;
  font-size: 1.8em;
  font-weight: 700;
  line-height: 1.25em;
}

h4 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 1.45em;
  font-weight: 500;
  line-height: 1.4em;
}

h5 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 1em;
  font-weight: 700;
  line-height: 1.4em;
}

h6 {
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: .85em;
  font-weight: 700;
  line-height: 1.2em;
}

p {
  margin-bottom: 0;
  font-size: 1.1em;
  font-weight: 300;
  line-height: 1.4;
}

a {
  letter-spacing: .05em;
  text-transform: uppercase;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  font-size: .9em;
}

.p-sm-start {
  padding-top: 2.25em;
}

.p-sm-start.p-sm-end {
  padding-top: 1em;
  padding-bottom: 1em;
}

.p-xs-start {
  padding-top: 1em;
}

.p-xl-end {
  padding-bottom: 6.5em;
}

.p-xl-start {
  padding-top: 6.5em;
}

.p-xl-start.p-xl-end {
  padding-top: 5em;
  padding-bottom: 5em;
}

.container-w3 {
  max-width: 50em;
  margin-left: auto;
  margin-right: auto;
}

.p-xs-end {
  padding-bottom: 1em;
}

.text-center {
  text-align: center;
}

.section {
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  display: flex;
  position: relative;
}

.tutorial-end {
  z-index: 1;
  background-color: #fff;
  position: relative;
}

.video-title {
  margin-top: 20px;
  margin-bottom: 24px;
  font-size: 24px;
  font-weight: 400;
  line-height: 30px;
}

.cards-image-2 {
  object-position: 50% 50%;
}

.footer-youtube-teaser-grid {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  text-align: left;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.cards-image-mask-2 {
  border-radius: 0%;
}

.back-link-wrapper {
  z-index: 99;
  text-align: left;
  background-color: #fff;
  border-radius: 999em;
  margin-top: 24px;
  margin-left: 24px;
  padding: 1em 1.2em;
  text-decoration: none;
  transition: all .25s;
  position: fixed;
  inset: 0% auto auto 0%;
  box-shadow: 0 30px 66px #00000014;
}

.back-link-wrapper:hover {
  transform: scale(1.05);
  box-shadow: 0 20px 66px #0000001c;
}

.back-link-wrapper:active {
  transform: scale(1);
}

.back-link-text {
  color: #251d88;
  margin-bottom: 0;
  line-height: 1em;
}

.youtube-cta {
  max-width: 230px;
}

.btn-1 {
  color: #000;
  border: 2px solid #020222;
  justify-content: center;
  align-items: center;
  padding: 1em 2.5em;
  line-height: 1;
  text-decoration: none;
  transition: color .3s ease-out;
  position: relative;
}

.btn-1:hover {
  color: #fff;
}

.btn-5 {
  color: var(--black);
  background-color: #0000;
  border: .2em solid #000;
  border-radius: 999em;
  justify-content: center;
  align-items: center;
  padding: 1.2em 1.6em;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  display: flex;
  position: relative;
  overflow: hidden;
}

.btn-5-text {
  z-index: 2;
  letter-spacing: .3px;
  font-weight: 400;
  position: relative;
}

.btn-5-text._2 {
  z-index: 1;
  position: absolute;
}

.gutter-outside {
  padding-left: 40px;
  padding-right: 40px;
}

.btn-6 {
  justify-content: center;
  align-items: center;
  position: relative;
}

.btn-6-text {
  z-index: 1;
  font-size: 1em;
  line-height: 1;
  text-decoration: underline;
}

.btn-6-text._2 {
  z-index: 2;
  position: absolute;
}

.section-2 {
  z-index: 1;
  width: 100%;
  height: 100vh;
  display: flex;
  position: relative;
  overflow: hidden;
}

.category-grid-item {
  color: #000;
  margin-top: -2px;
  text-decoration: none;
  display: block;
  position: relative;
}

.category-title {
  letter-spacing: -.005em;
  font-size: 4.1em;
  font-weight: 600;
  line-height: 1em;
}

.category-info {
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-top: .7em;
  margin-right: 3em;
  font-size: .9em;
  font-weight: 500;
}

.category-info.end {
  margin-right: 0;
}

.category-title-wrapper {
  flex: 1;
}

.hover-img {
  object-fit: cover;
  width: 760px;
  height: 500px;
}

.category-item-inner {
  z-index: 1;
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
  justify-content: flex-start;
  align-items: flex-start;
  padding-top: 3em;
  padding-bottom: 3.2em;
  display: flex;
  position: relative;
}

.hover-img-mask {
  z-index: -3;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  display: none;
  position: fixed;
  inset: 0%;
}

.ipad-shape {
  z-index: 2;
  width: 100%;
  position: relative;
}

.ipad-landscape-screen {
  z-index: 1;
  object-fit: cover;
  width: 93.8%;
  height: 91.5%;
  position: absolute;
  top: 4%;
  left: 3%;
}

.ipad-mockup {
  position: relative;
}

.iphone-mockup {
  z-index: 1;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.iphone-screen {
  z-index: 0;
  object-fit: cover;
  border-radius: 2%;
  width: 89.5%;
  height: 95.4%;
  position: absolute;
  top: 2.4%;
  left: 5.5%;
}

.iphone-screen.single {
  width: 88%;
  height: 94%;
}

.iphone-shape {
  z-index: 1;
  width: 100%;
  position: relative;
}

.iphone-grid {
  grid-column-gap: 5em;
  grid-row-gap: 4em;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  place-items: start stretch;
}

.ipad-shadow {
  z-index: 0;
  width: 98%;
  height: 98%;
  margin-top: 1%;
  margin-left: 1%;
  position: absolute;
  inset: 0% auto auto 0%;
}

.section-dark {
  background-color: var(--black);
  color: var(--copy-bright);
  background-image: radial-gradient(circle closest-corner at 29% 13%, #092de247, #0b29c138 71%, #12173c00);
  overflow: hidden;
}

.grid-item {
  text-align: center;
}

.infotext {
  color: #888;
  font-size: .8em;
}

.device-description-wrap {
  margin-top: 1.1em;
}

.iphone-has-shadow {
  position: relative;
}

.iphone-shadow {
  width: 96%;
  height: 98%;
  position: absolute;
  inset: 1% auto auto 2%;
}

.iphone-shadow.sm {
  z-index: 0;
}

.ipad-grid {
  grid-column-gap: 3em;
  grid-row-gap: 3em;
  grid-template-rows: auto;
  place-items: start stretch;
}

.ipad-portrait-screen {
  z-index: 1;
  object-fit: cover;
  width: 92%;
  height: 94.5%;
  position: absolute;
  top: 2.8%;
  left: 4%;
}

.section-bright {
  z-index: 4;
  background-color: #ebeae6;
}

.iphone14-screen {
  z-index: 0;
  object-fit: cover;
  border-radius: 3%;
  width: 90.2%;
  height: 95.8%;
  position: absolute;
  top: 2.2%;
  left: 5.1%;
  overflow: hidden;
}

.section-tutorial {
  padding-top: 9em;
  padding-bottom: 9em;
}

.container-w2 {
  width: 100%;
  max-width: 75em;
  margin-left: auto;
  margin-right: auto;
}

.p-sm-end {
  padding-bottom: 3em;
}

.yt-video-wrapper {
  z-index: 10;
  width: 18em;
  position: fixed;
  inset: 1em 1em auto auto;
  box-shadow: 0 70px 6em #00001af2;
}

.yt-video-title {
  display: none;
}

.nav {
  z-index: 999;
  background-color: #020221;
  border-bottom: 0 solid #d3d3d3;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  inset: 0% 0% auto;
}

.header-inner {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  justify-content: center;
  align-items: center;
  padding-top: 2em;
  padding-bottom: 2em;
  display: flex;
}

.header-button {
  color: #edebd1;
  letter-spacing: .08em;
  text-transform: uppercase;
  background-color: #000;
  border-style: solid;
  border-width: 1px;
  border-radius: 999em;
  margin-top: 20px;
  margin-left: 10px;
  margin-right: 10px;
  padding: 1em 1.6em;
  font-size: .65em;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: all .35s cubic-bezier(.165, .84, .44, 1);
  display: inline-block;
}

.header-button:hover {
  padding-left: 3.5em;
  padding-right: 3.5em;
}

.header-button.secondary {
  color: #fffaed;
  text-align: center;
  background-color: #0000;
  border-width: 1px;
  border-color: #fffaed;
}

.paragraph {
  margin-top: 20px;
}

.image {
  max-width: 20%;
  margin-bottom: 5%;
}

.div-block {
  justify-content: center;
  align-items: center;
  display: flex;
}

.div-block-2 {
  width: 70%;
  display: flex;
}

.div-block-3 {
  width: 30%;
  display: flex;
}

.image-2 {
  margin-top: 20px;
}

.heading {
  font-size: 3em;
}

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

@media screen and (max-width: 991px) {
  h1 {
    font-size: 4em;
  }

  h3 {
    font-weight: 300;
  }

  p {
    margin-bottom: 0;
  }

  .p-sm-start.hide-tablet-down {
    display: none;
  }

  .container-w3 {
    padding-left: 4vw;
    padding-right: 4vw;
  }

  .footer-youtube-teaser-grid {
    grid-column-gap: 20px;
  }

  .btn-5 {
    font-size: 15px;
  }

  .gutter-outside {
    padding-left: 4vw;
    padding-right: 4vw;
  }

  .btn-6 {
    font-size: 15px;
  }

  .category-info {
    margin-bottom: 1em;
  }

  .category-info.end {
    margin-top: 1.4em;
  }

  .category-item-inner {
    flex-direction: column;
  }

  .ipad-landscape-screen {
    border-radius: 7px;
  }

  .ipad-grid {
    grid-template-columns: 1fr;
  }

  .ipad-portrait-screen {
    border-radius: 7px;
  }

  .section-tutorial {
    border-top: 1px solid #d4d4d4;
    padding-top: 5em;
    padding-bottom: 5em;
  }

  .yt-video {
    margin-top: 2em;
  }

  .yt-video-wrapper {
    width: 100%;
    position: static;
  }

  .yt-video-title {
    display: block;
  }

  .header-button:hover {
    padding-left: 1.6em;
    padding-right: 1.6em;
  }

  .header-button:active {
    transform: scale(.94);
  }
}

@media screen and (max-width: 767px) {
  body {
    font-size: .9rem;
  }

  h1 {
    font-size: 3em;
  }

  .p-xl-end {
    padding-bottom: 6em;
  }

  .p-xl-start {
    padding-top: 6em;
  }

  .video-title {
    font-size: 22px;
  }

  .footer-youtube-teaser-grid {
    grid-template-rows: auto auto auto;
    grid-template-columns: 1fr;
    align-self: stretch;
    max-width: none;
  }

  .category-title {
    font-size: 3.4em;
  }

  .ipad-landscape-screen {
    border-radius: 6px;
  }

  .iphone-grid {
    grid-column-gap: 3em;
    grid-row-gap: 3em;
    grid-template-columns: 1fr 1fr;
  }

  .ipad-portrait-screen {
    border-radius: 6px;
  }

  .p-sm-end {
    padding-bottom: 2.3em;
  }

  .nav {
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
    background-color: #fffbf5e8;
    border-radius: 2em 2em 0 0;
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    position: fixed;
    inset: auto 0% -1px;
    box-shadow: 0 12px 3em #00000012;
  }

  .header-inner {
    grid-column-gap: .6em;
    padding: 1em;
  }

  .header-button-wrapper {
    flex: 1;
  }

  .header-button.secondary {
    color: #161616;
    border-color: #161616;
    width: 100%;
  }
}

@media screen and (max-width: 479px) {
  .p-xl-end {
    padding-bottom: 5em;
  }

  .p-xl-start {
    padding-top: 5em;
  }

  .container-w3 {
    padding-left: 0;
    padding-right: 0;
  }

  .footer-youtube-teaser-grid {
    grid-template-rows: auto auto;
    grid-template-columns: 1fr;
    margin-left: 0;
    margin-right: 0;
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .gutter-outside {
    padding-left: 5vw;
    padding-right: 5vw;
  }

  .ipad-landscape-screen {
    border-radius: 4px;
  }

  .iphone-mockup {
    flex: 0 auto;
    display: flex;
  }

  .iphone-grid {
    flex-flow: column;
    display: flex;
  }

  .ipad-portrait-screen {
    border-radius: 4px;
  }

  .header-button-wrapper.is-portfolio {
    display: none;
  }

  .header-button.secondary {
    font-size: .7em;
  }

  .image {
    max-width: 50%;
    font-size: 2rem;
  }

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

  .div-block-3 {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    width: 90%;
    margin-top: 20px;
    display: flex;
  }

  .heading-2 {
    font-size: 2em;
  }

  .paragraph-2 {
    padding-left: 20px;
    padding-right: 20px;
    font-size: .8em;
  }
}


@font-face {
  font-family: 'Materialiconsround';
  src: url('../fonts/MaterialIconsRound-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}