/* =====================================================================
   TYPOGRAPHY — Rethink Sans (self-hosted, no external font services)
   ---------------------------------------------------------------------
   The whole site uses ONE font: Rethink Sans. The font files live in the
   /fonts folder and are loaded below. These are "variable" fonts, meaning
   a single file covers every weight from 400 (regular) to 800 (extra bold).

   To change the site's font later, you only need to edit two things:
     1. The @font-face "src" paths below (point them at new font files), and
     2. The --font-sans / weight tokens in the :root block further down.
   Nothing else in the CSS hard-codes a font name.
   ===================================================================== */

/* Upright (normal) text — covers weights 400 to 800 */
@font-face {
  font-family: "Rethink Sans";
  src: url('../fonts/RethinkSans-latin.woff2') format("woff2");
  font-weight: 400 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Rethink Sans";
  src: url('../fonts/RethinkSans-latin-ext.woff2') format("woff2");
  font-weight: 400 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Italic text — covers weights 400 to 800 */
@font-face {
  font-family: "Rethink Sans";
  src: url('../fonts/RethinkSans-Italic-latin.woff2') format("woff2");
  font-weight: 400 800;
  font-style: italic;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Rethink Sans";
  src: url('../fonts/RethinkSans-Italic-latin-ext.woff2') format("woff2");
  font-weight: 400 800;
  font-style: italic;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ---------------------------------------------------------------------
   FONT TOKENS — edit fonts in ONE place
   Use these everywhere instead of typing a font name directly.
   --------------------------------------------------------------------- */
:root {
  /* The single font family used across the whole site */
  --font-sans: "Rethink Sans", sans-serif;

  /* The weights we actually use */
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
}

::selection {
  background-color: #e3fcf0;
}

::-moz-selection {
  background-color: #e3fcf0;
}

:root {
  --black: black;
  --dim-grey: #666;
  --white-smoke-2: #f3f3f3;
  --white-smoke: #f6f7f9;
  --medium-purple: #ab61f5;
  --white-smoke-3: #eee;
  --dark-sea-green: #b5d99c;
}

.w-layout-layout {
  grid-row-gap: 20px;
  grid-column-gap: 20px;
  grid-auto-columns: 1fr;
  justify-content: center;
  padding: 20px;
}

.w-layout-cell {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.w-commerce-commercecartwrapper {
  display: inline-block;
  position: relative;
}

.w-commerce-commercecartopenlink {
  color: #fff;
  cursor: pointer;
  appearance: none;
  background-color: #3898ec;
  border-width: 0;
  border-radius: 0;
  align-items: center;
  padding: 9px 15px;
  text-decoration: none;
  display: flex;
}

.w-commerce-commercecartopenlinkcount {
  color: #3898ec;
  text-align: center;
  background-color: #fff;
  border-radius: 9px;
  min-width: 18px;
  height: 18px;
  margin-left: 8px;
  padding-left: 6px;
  padding-right: 6px;
  font-size: 11px;
  font-weight: 700;
  line-height: 18px;
  display: inline-block;
}

.w-commerce-commercecartcontainerwrapper {
  z-index: 1001;
  background-color: #000c;
  position: fixed;
  inset: 0;
}

.w-commerce-commercecartcontainerwrapper--cartType-modal {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.w-commerce-commercecartcontainerwrapper--cartType-leftSidebar {
  flex-direction: row;
  justify-content: flex-start;
  align-items: stretch;
  display: flex;
}

.w-commerce-commercecartcontainerwrapper--cartType-rightSidebar {
  flex-direction: row;
  justify-content: flex-end;
  align-items: stretch;
  display: flex;
}

.w-commerce-commercecartcontainerwrapper--cartType-leftDropdown {
  background-color: #0000;
  position: absolute;
  inset: 100% auto auto 0;
}

.w-commerce-commercecartcontainerwrapper--cartType-rightDropdown {
  background-color: #0000;
  position: absolute;
  inset: 100% 0 auto auto;
}

.w-commerce-commercecartcontainer {
  background-color: #fff;
  flex-direction: column;
  width: 100%;
  min-width: 320px;
  max-width: 480px;
  display: flex;
  overflow: auto;
  box-shadow: 0 5px 25px #00000040;
}

.w-commerce-commercecartheader {
  border-bottom: 1px solid #e6e6e6;
  flex: none;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  display: flex;
  position: relative;
}

.w-commerce-commercecartheading {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
  padding-right: 0;
}

.w-commerce-commercecartcloselink {
  width: 16px;
  height: 16px;
}

.w-commerce-commercecartformwrapper {
  flex-direction: column;
  flex: 1;
  display: flex;
}

.w-commerce-commercecartform {
  flex-direction: column;
  flex: 1;
  justify-content: flex-start;
  display: flex;
}

.w-commerce-commercecartlist {
  -webkit-overflow-scrolling: touch;
  flex: 1;
  padding: 12px 24px;
  overflow: auto;
}

.w-commerce-commercecartitem {
  align-items: flex-start;
  padding-top: 12px;
  padding-bottom: 12px;
  display: flex;
}

.w-commerce-commercecartiteminfo {
  flex-direction: column;
  flex: 1;
  margin-left: 16px;
  margin-right: 16px;
  display: flex;
}

.w-commerce-commercecartproductname {
  font-weight: 700;
}

.w-commerce-commercecartoptionlist {
  margin-bottom: 0;
  padding-left: 0;
  text-decoration: none;
  list-style-type: none;
}

.w-commerce-commercecartquantity {
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 60px;
  height: 38px;
  margin-bottom: 10px;
  padding: 8px 6px 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecartquantity::placeholder {
  color: #999;
}

.w-commerce-commercecartquantity:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecartfooter {
  border-top: 1px solid #e6e6e6;
  flex-direction: column;
  flex: none;
  padding: 16px 24px 24px;
  display: flex;
}

.w-commerce-commercecartlineitem {
  flex: none;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 16px;
  display: flex;
}

.w-commerce-commercecartordervalue {
  font-weight: 700;
}

.w-commerce-commercecartapplepaybutton {
  color: #fff;
  cursor: pointer;
  appearance: none;
  background-color: #000;
  border-width: 0;
  border-radius: 2px;
  align-items: center;
  height: 38px;
  min-height: 30px;
  margin-bottom: 8px;
  padding: 0;
  text-decoration: none;
  display: flex;
}

.w-commerce-commercecartapplepayicon {
  width: 100%;
  height: 50%;
  min-height: 20px;
}

.w-commerce-commercecartquickcheckoutbutton {
  color: #fff;
  cursor: pointer;
  appearance: none;
  background-color: #000;
  border-width: 0;
  border-radius: 2px;
  justify-content: center;
  align-items: center;
  height: 38px;
  margin-bottom: 8px;
  padding: 0 15px;
  text-decoration: none;
  display: flex;
}

.w-commerce-commercequickcheckoutgoogleicon, .w-commerce-commercequickcheckoutmicrosofticon {
  margin-right: 8px;
  display: block;
}

.w-commerce-commercecartcheckoutbutton {
  color: #fff;
  cursor: pointer;
  appearance: none;
  text-align: center;
  background-color: #3898ec;
  border-width: 0;
  border-radius: 2px;
  align-items: center;
  padding: 9px 15px;
  text-decoration: none;
  display: block;
}

.w-commerce-commercecartemptystate {
  flex: 1;
  justify-content: center;
  align-items: center;
  padding-top: 100px;
  padding-bottom: 100px;
  display: flex;
}

.w-commerce-commercecarterrorstate {
  background-color: #ffdede;
  flex: none;
  margin: 0 24px 24px;
  padding: 10px;
}

.w-commerce-commercecheckoutformcontainer {
  background-color: #f5f5f5;
  width: 100%;
  min-height: 100vh;
  padding: 20px;
}

.w-commerce-commercelayoutcontainer {
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.w-commerce-commercelayoutmain {
  flex: 0 800px;
  margin-right: 20px;
}

.w-commerce-commercecheckoutcustomerinfowrapper {
  margin-bottom: 20px;
}

.w-commerce-commercecheckoutblockheader {
  background-color: #fff;
  border: 1px solid #e6e6e6;
  justify-content: space-between;
  align-items: baseline;
  padding: 4px 20px;
  display: flex;
}

.w-commerce-commercecheckoutblockcontent {
  background-color: #fff;
  border-bottom: 1px solid #e6e6e6;
  border-left: 1px solid #e6e6e6;
  border-right: 1px solid #e6e6e6;
  padding: 20px;
}

.w-commerce-commercecheckoutlabel {
  margin-bottom: 8px;
}

.w-commerce-commercecheckoutemailinput {
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 0;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutemailinput::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutemailinput:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutshippingaddresswrapper {
  margin-bottom: 20px;
}

.w-commerce-commercecheckoutshippingfullname {
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutshippingfullname::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingfullname:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutshippingstreetaddress {
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutshippingstreetaddress::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingstreetaddress:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutshippingstreetaddressoptional {
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutshippingstreetaddressoptional::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingstreetaddressoptional:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutrow {
  margin-left: -8px;
  margin-right: -8px;
  display: flex;
}

.w-commerce-commercecheckoutcolumn {
  flex: 1;
  padding-left: 8px;
  padding-right: 8px;
}

.w-commerce-commercecheckoutshippingcity {
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutshippingcity::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingcity:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutshippingstateprovince {
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutshippingstateprovince::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingstateprovince:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutshippingzippostalcode {
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutshippingzippostalcode::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingzippostalcode:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutshippingcountryselector {
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 0;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutshippingcountryselector::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingcountryselector:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutshippingmethodswrapper {
  margin-bottom: 20px;
}

.w-commerce-commercecheckoutshippingmethodslist {
  border-left: 1px solid #e6e6e6;
  border-right: 1px solid #e6e6e6;
}

.w-commerce-commercecheckoutshippingmethoditem {
  background-color: #fff;
  border-bottom: 1px solid #e6e6e6;
  flex-direction: row;
  align-items: baseline;
  margin-bottom: 0;
  padding: 16px;
  font-weight: 400;
  display: flex;
}

.w-commerce-commercecheckoutshippingmethoddescriptionblock {
  flex-direction: column;
  flex-grow: 1;
  margin-left: 12px;
  margin-right: 12px;
  display: flex;
}

.w-commerce-commerceboldtextblock {
  font-weight: 700;
}

.w-commerce-commercecheckoutshippingmethodsemptystate {
  text-align: center;
  background-color: #fff;
  border-bottom: 1px solid #e6e6e6;
  border-left: 1px solid #e6e6e6;
  border-right: 1px solid #e6e6e6;
  padding: 64px 16px;
}

.w-commerce-commercecheckoutpaymentinfowrapper {
  margin-bottom: 20px;
}

.w-commerce-commercecheckoutcardnumber {
  appearance: none;
  cursor: text;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutcardnumber::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutcardnumber:focus, .w-commerce-commercecheckoutcardnumber.-wfp-focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutcardexpirationdate {
  appearance: none;
  cursor: text;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutcardexpirationdate::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutcardexpirationdate:focus, .w-commerce-commercecheckoutcardexpirationdate.-wfp-focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutcardsecuritycode {
  appearance: none;
  cursor: text;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutcardsecuritycode::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutcardsecuritycode:focus, .w-commerce-commercecheckoutcardsecuritycode.-wfp-focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutbillingaddresstogglewrapper {
  flex-direction: row;
  display: flex;
}

.w-commerce-commercecheckoutbillingaddresstogglecheckbox {
  margin-top: 4px;
}

.w-commerce-commercecheckoutbillingaddresstogglelabel {
  margin-left: 8px;
  font-weight: 400;
}

.w-commerce-commercecheckoutbillingaddresswrapper {
  margin-top: 16px;
  margin-bottom: 20px;
}

.w-commerce-commercecheckoutbillingfullname {
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutbillingfullname::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingfullname:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutbillingstreetaddress {
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutbillingstreetaddress::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingstreetaddress:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutbillingstreetaddressoptional {
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutbillingstreetaddressoptional::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingstreetaddressoptional:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutbillingcity {
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutbillingcity::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingcity:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutbillingstateprovince {
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutbillingstateprovince::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingstateprovince:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutbillingzippostalcode {
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutbillingzippostalcode::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingzippostalcode:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutbillingcountryselector {
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 0;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutbillingcountryselector::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingcountryselector:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutorderitemswrapper {
  margin-bottom: 20px;
}

.w-commerce-commercecheckoutsummaryblockheader {
  background-color: #fff;
  border: 1px solid #e6e6e6;
  justify-content: space-between;
  align-items: baseline;
  padding: 4px 20px;
  display: flex;
}

.w-commerce-commercecheckoutorderitemslist {
  margin-bottom: -20px;
}

.w-commerce-commercecheckoutorderitem {
  margin-bottom: 20px;
  display: flex;
}

.w-commerce-commercecheckoutorderitemdescriptionwrapper {
  flex-grow: 1;
  margin-left: 16px;
  margin-right: 16px;
}

.w-commerce-commercecheckoutorderitemquantitywrapper {
  white-space: pre-wrap;
  display: flex;
}

.w-commerce-commercecheckoutorderitemoptionlist {
  margin-bottom: 0;
  padding-left: 0;
  text-decoration: none;
  list-style-type: none;
}

.w-commerce-commercelayoutsidebar {
  flex: 0 0 320px;
  position: sticky;
  top: 20px;
}

.w-commerce-commercecheckoutordersummarywrapper {
  margin-bottom: 20px;
}

.w-commerce-commercecheckoutsummarylineitem, .w-commerce-commercecheckoutordersummaryextraitemslistitem {
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 8px;
  display: flex;
}

.w-commerce-commercecheckoutsummarytotal {
  font-weight: 700;
}

.w-commerce-commercecheckoutdiscounts {
  background-color: #fff;
  border: 1px solid #e6e6e6;
  flex-wrap: wrap;
  padding: 20px;
  display: flex;
}

.w-commerce-commercecheckoutdiscountslabel {
  flex-basis: 100%;
  margin-bottom: 8px;
}

.w-commerce-commercecheckoutdiscountsinput {
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  flex: 1;
  width: auto;
  min-width: 0;
  height: 38px;
  margin-bottom: 0;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutdiscountsinput::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutdiscountsinput:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutdiscountsbutton {
  color: #fff;
  cursor: pointer;
  appearance: none;
  background-color: #3898ec;
  border-width: 0;
  border-radius: 3px;
  flex-grow: 0;
  flex-shrink: 0;
  align-items: center;
  height: 38px;
  margin-left: 8px;
  padding: 9px 15px;
  text-decoration: none;
  display: flex;
}

.w-commerce-commercecheckoutplaceorderbutton {
  color: #fff;
  cursor: pointer;
  appearance: none;
  text-align: center;
  background-color: #3898ec;
  border-width: 0;
  border-radius: 3px;
  align-items: center;
  margin-bottom: 20px;
  padding: 9px 15px;
  text-decoration: none;
  display: block;
}

.w-commerce-commercecheckouterrorstate {
  background-color: #ffdede;
  margin-top: 16px;
  margin-bottom: 16px;
  padding: 10px 16px;
}

.w-commerce-commerceaddtocartform {
  margin: 0 0 15px;
}

.w-commerce-commerceaddtocartoptionpillgroup {
  margin-bottom: 10px;
  display: flex;
}

.w-commerce-commerceaddtocartoptionpill {
  color: #000;
  cursor: pointer;
  background-color: #fff;
  border: 1px solid #000;
  margin-right: 10px;
  padding: 8px 15px;
}

.w-commerce-commerceaddtocartoptionpill.w--ecommerce-pill-selected {
  color: #fff;
  background-color: #000;
}

.w-commerce-commerceaddtocartoptionpill.w--ecommerce-pill-disabled {
  color: #666;
  cursor: not-allowed;
  background-color: #e6e6e6;
  border-color: #e6e6e6;
  outline-style: none;
}

.w-commerce-commerceaddtocartquantityinput {
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 60px;
  height: 38px;
  margin-bottom: 10px;
  padding: 8px 6px 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commerceaddtocartquantityinput::placeholder {
  color: #999;
}

.w-commerce-commerceaddtocartquantityinput:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commerceaddtocartbutton {
  color: #fff;
  cursor: pointer;
  appearance: none;
  background-color: #3898ec;
  border-width: 0;
  border-radius: 0;
  align-items: center;
  padding: 9px 15px;
  text-decoration: none;
  display: flex;
}

.w-commerce-commerceaddtocartbutton.w--ecommerce-add-to-cart-disabled {
  color: #666;
  cursor: not-allowed;
  background-color: #e6e6e6;
  border-color: #e6e6e6;
  outline-style: none;
}

.w-commerce-commercebuynowbutton {
  color: #fff;
  cursor: pointer;
  appearance: none;
  background-color: #3898ec;
  border-width: 0;
  border-radius: 0;
  align-items: center;
  margin-top: 10px;
  padding: 9px 15px;
  text-decoration: none;
  display: inline-block;
}

.w-commerce-commercebuynowbutton.w--ecommerce-buy-now-disabled {
  color: #666;
  cursor: not-allowed;
  background-color: #e6e6e6;
  border-color: #e6e6e6;
  outline-style: none;
}

.w-commerce-commerceaddtocartoutofstock {
  background-color: #ddd;
  margin-top: 10px;
  padding: 10px;
}

.w-commerce-commerceaddtocarterror {
  background-color: #ffdede;
  margin-top: 10px;
  padding: 10px;
}

.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;
}

.w-commerce-commerceorderconfirmationcontainer {
  background-color: #f5f5f5;
  width: 100%;
  min-height: 100vh;
  padding: 20px;
}

.w-commerce-commercecheckoutcustomerinfosummarywrapper {
  margin-bottom: 20px;
}

.w-commerce-commercecheckoutsummaryitem, .w-commerce-commercecheckoutsummarylabel {
  margin-bottom: 8px;
}

.w-commerce-commercecheckoutsummaryflexboxdiv {
  flex-direction: row;
  justify-content: flex-start;
  display: flex;
}

.w-commerce-commercecheckoutsummarytextspacingondiv {
  margin-right: .33em;
}

.w-commerce-commercecheckoutshippingsummarywrapper, .w-commerce-commercecheckoutpaymentsummarywrapper {
  margin-bottom: 20px;
}

.w-commerce-commercepaypalcheckoutformcontainer {
  background-color: #f5f5f5;
  width: 100%;
  min-height: 100vh;
  padding: 20px;
}

.w-commerce-commercepaypalcheckouterrorstate {
  background-color: #ffdede;
  margin-top: 16px;
  margin-bottom: 16px;
  padding: 10px 16px;
}

@media screen and (max-width: 767px) {
  .w-commerce-commercelayoutcontainer {
    flex-direction: column;
    align-items: stretch;
  }

  .w-commerce-commercelayoutmain {
    flex-basis: auto;
    margin-right: 0;
  }

  .w-commerce-commercelayoutsidebar {
    flex-basis: auto;
  }
}

@media screen and (max-width: 479px) {
  .w-commerce-commercecartcontainerwrapper--cartType-modal {
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
  }

  .w-commerce-commercecartcontainerwrapper--cartType-leftDropdown, .w-commerce-commercecartcontainerwrapper--cartType-rightDropdown {
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
    display: flex;
    position: fixed;
    inset: 0;
  }

  .w-commerce-commercecartquantity, .w-commerce-commercecheckoutemailinput, .w-commerce-commercecheckoutshippingfullname, .w-commerce-commercecheckoutshippingstreetaddress, .w-commerce-commercecheckoutshippingstreetaddressoptional {
    font-size: 16px;
  }

  .w-commerce-commercecheckoutrow {
    flex-direction: column;
  }

  .w-commerce-commercecheckoutshippingcity, .w-commerce-commercecheckoutshippingstateprovince, .w-commerce-commercecheckoutshippingzippostalcode, .w-commerce-commercecheckoutshippingcountryselector, .w-commerce-commercecheckoutcardnumber, .w-commerce-commercecheckoutcardexpirationdate, .w-commerce-commercecheckoutcardsecuritycode, .w-commerce-commercecheckoutbillingfullname, .w-commerce-commercecheckoutbillingstreetaddress, .w-commerce-commercecheckoutbillingstreetaddressoptional, .w-commerce-commercecheckoutbillingcity, .w-commerce-commercecheckoutbillingstateprovince, .w-commerce-commercecheckoutbillingzippostalcode, .w-commerce-commercecheckoutbillingcountryselector, .w-commerce-commercecheckoutdiscountsinput, .w-commerce-commerceaddtocartquantityinput {
    font-size: 16px;
  }
}

body {
  color: var(--black);
  background-color: #fff;
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}

h1 {
  margin-top: 20px;
  margin-bottom: 10px;
  font-family: var(--font-sans);
  font-size: 38px;
  font-weight: 700;
  line-height: 44px;
}

h2 {
  margin-top: 20px;
  margin-bottom: 10px;
  font-family: var(--font-sans);
  font-size: 32px;
  font-weight: 700;
  line-height: 36px;
}

h3 {
  margin-top: 20px;
  margin-bottom: 10px;
  font-family: var(--font-sans);
  font-size: 24px;
  font-weight: 700;
  line-height: 30px;
}

h4 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
}

h5 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
}

h6 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 700;
  line-height: 18px;
}

p {
  color: var(--dim-grey);
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: 500;
  line-height: 24px;
}

a {
  text-decoration: none;
}

ul {
  margin-top: 0;
  margin-bottom: 10px;
  padding-left: 40px;
  font-weight: 500;
}

ol {
  margin-top: 0;
  margin-bottom: 10px;
  padding-left: 40px;
}

li {
  color: var(--dim-grey);
  padding-top: 1px;
  padding-bottom: 1px;
  font-size: 17px;
}

img {
  object-fit: fill;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

strong {
  color: var(--black);
  font-weight: 700;
}

em {
  font-style: italic;
  font-weight: 500;
}

blockquote {
  border-left: 3px solid var(--black);
  margin-bottom: 10px;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 25px;
  font-family: var(--font-sans);
  font-size: 34px;
  font-weight: 500;
  line-height: 1;
}

figure {
  margin-bottom: 10px;
}

figcaption {
  color: #fff;
  text-align: center;
  margin-top: 10px;
  font-size: 14px;
  font-weight: 500;
}

.container {
  z-index: 2;
  flex: 1;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  display: block;
  position: relative;
}

.container._150-top {
  margin-top: 180px;
}

.margin-15px {
  margin-top: 15px;
}

.body-content {
  top: 120px;
}

.loader {
  z-index: 9999;
  background-color: #fff;
  justify-content: center;
  align-items: center;
  display: none;
  position: fixed;
  inset: 0%;
}

.error-message {
  color: #fff;
  text-align: center;
  background-color: #ff131a;
  border-radius: 3px;
  font-size: 16px;
  font-weight: 500;
}

.utility-page-wrap {
  background-color: #fff;
  justify-content: center;
  align-items: center;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  max-height: 100%;
  padding-left: 5%;
  padding-right: 5%;
  display: flex;
  position: relative;
  overflow: hidden;
}

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

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

.section {
  margin-top: 0;
  display: flex;
}

.section.checkout {
  background-color: #0000;
  padding-top: 140px;
}

.section.black {
  background-color: var(--black);
  background-image: none;
  padding-top: 100px;
  padding-bottom: 120px;
}

.section.blog-page {
  padding-top: 50px;
}

.margin-30px {
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  margin-top: 30px;
  margin-bottom: 60px;
  display: flex;
  position: static;
}

.margin-30px.testimonials, .margin-30px.button {
  align-items: center;
}

.margin-30px.centre {
  justify-content: center;
  align-items: center;
  padding-left: 135px;
  padding-right: 135px;
}

.margin-30px.social {
  align-items: flex-start;
  display: block;
}

.margin-30px.cms {
  align-items: flex-start;
}

.margin-40px {
  margin-top: 40px;
  position: relative;
}

.margin-20px {
  margin-top: 20px;
  display: flex;
}

.copyright-dot {
  background-color: var(--dim-grey);
  border-radius: 100%;
  width: 4px;
  height: 4px;
  margin-left: 10px;
  margin-right: 10px;
}

.title-3 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.2;
}

.text-field {
  background-color: #fff;
  border: 1px solid #e1e1e1;
  border-radius: 5px;
  height: 55px;
}

.text-field::placeholder {
  color: var(--dim-grey);
  font-size: 16px;
  font-weight: 500;
}

.text-field.discount {
  flex: none;
  width: 100%;
  height: 40px;
  margin-bottom: 10px;
}

.flex-utility {
  flex-direction: column;
  margin-top: 10px;
  display: flex;
}

.shrink-item {
  flex: 1;
  margin-right: 20px;
}

.shrink-item.flex {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

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

.shrink-item.gird.font {
  grid-row-gap: 10px;
  grid-template-columns: 1fr;
}

.shrink-item.gird {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  align-self: center;
  display: grid;
}

.shrink-item.photo-grid {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.icon-size {
  width: 50px;
}

.licensing-block {
  width: 60%;
  margin-left: auto;
  margin-right: auto;
}

.image-flex {
  justify-content: center;
  align-items: center;
  margin-top: 5px;
  display: flex;
}

.licensing-content {
  background-color: var(--white-smoke-2);
  border: 1px solid #fff3;
  border-radius: 2px;
  min-height: 150px;
  padding: 25px;
  display: flex;
}

.light-block-second {
  background-color: #fff;
  border-radius: 3px;
  width: 100%;
  padding: 20px 20px 40px 45px;
}

.light-block-second.rounded-bottom {
  border-radius: 3px;
  padding-bottom: 30px;
}

.color-block {
  background-color: var(--black);
  border: 1px solid #ffffff4d;
  border-bottom-color: #fff3;
  border-radius: 2px;
  width: 100%;
  height: 85px;
  padding: 10px;
  display: flex;
}

.color-block.secondary {
  background-color: #fff;
  border-color: #ebebeb;
}

.medium {
  text-align: center;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 500;
  line-height: 1em;
}

.title-4 {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
}

.title-4.your-cart {
  font-size: 18px;
  line-height: 20px;
}

.typography-flex {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 58%;
  padding-left: 25px;
  padding-right: 25px;
  font-size: 17px;
  display: flex;
}

.color-row {
  justify-content: flex-start;
  width: 100%;
  margin-bottom: 35px;
  padding: 25px 0 15px;
  display: flex;
}

.color-row.grey {
  margin-bottom: 25px;
  padding-bottom: 0;
}

.margin-60px {
  margin-top: 40px;
}

.title-1 {
  z-index: 1;
  color: var(--black);
  margin-top: 0;
  margin-bottom: 0;
  font-family: var(--font-sans);
  font-size: 100px;
  font-weight: 700;
  line-height: 1;
  position: relative;
}

.title-1.edit {
  margin-bottom: -50px;
}

.title-1.edit.fuck {
  margin-bottom: 90px;
}

.title-1.underline {
  text-decoration: underline;
}

.light-gray-2 {
  background-color: #a8a8a8;
  border-radius: 0;
  width: 16.6667%;
  height: 100%;
  padding: 10px;
  display: flex;
}

.type-row {
  justify-content: space-between;
  width: 100%;
  margin-bottom: 35px;
  padding: 25px 0 15px;
  display: flex;
}

.white-block {
  background-color: #f3f3f3;
  width: 100%;
  padding: 30px 20px 40px 45px;
}

.light-gray {
  background-color: #8a8a8a;
  border-radius: 4px 0 0 4px;
  width: 16.6667%;
  height: 100%;
  padding: 10px;
  display: flex;
}

.margin-25px {
  margin-top: 25px;
}

.text-highlight {
  background-color: #fff;
  border-radius: 2px;
  width: 42%;
  padding: 40px;
}

.grayscale-parent {
  clear: left;
  border-radius: 4px;
  width: 100%;
  height: 85px;
  margin-right: 0;
  display: flex;
  position: relative;
  overflow: hidden;
}

.heading-2 {
  text-align: center;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 700;
  line-height: 1em;
}

.content-row {
  clear: left;
  width: 100%;
  margin-top: 45px;
  position: relative;
}

.margin-50px {
  margin-top: 50px;
  display: block;
}

.light-block {
  background-color: #fff;
  border-radius: 3px;
  width: 100%;
  padding: 20px 20px 40px 45px;
}

.type-column {
  background-color: var(--white-smoke-2);
  border: 1px solid #fff3;
  border-radius: 2px;
  width: 33.3333%;
  margin-right: 20px;
  padding: 10px;
  display: flex;
}

.type-column.right {
  margin-right: 0;
}

.color-block-parent {
  width: 20%;
  margin-right: 20px;
}

.regular-heading {
  text-align: center;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 400;
  line-height: 1em;
}

.title-2 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 60px;
  font-weight: 600;
  line-height: 1.1;
}

.title-2.white {
  color: #fff;
  font-weight: 500;
}

.caption {
  color: #ffffff8c;
  letter-spacing: 1px;
  text-transform: none;
  font-size: 12px;
  font-weight: 700;
}

.caption.margined {
  color: var(--dim-grey);
  letter-spacing: 0;
  text-transform: none;
  margin-top: 10px;
  font-size: 14px;
  font-weight: 500;
}

.light-gray-3 {
  background-color: #f7f8f9;
  border-radius: 0;
  width: 16.6667%;
  height: 100%;
  padding: 10px;
  display: flex;
}

.loading-flex {
  flex-direction: row;
  align-items: center;
  display: flex;
}

.subtotal {
  color: var(--black);
  font-size: 17px;
  font-weight: 700;
}

.apple-pay {
  height: 48px;
}

.checkbox-label-shop {
  color: var(--dim-grey);
  margin-bottom: 0;
  font-size: 15px;
  font-weight: 500;
}

.discounts {
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 20px;
}

.required {
  color: var(--dim-grey);
  letter-spacing: 1px;
  text-transform: none;
  font-size: 11px;
  font-weight: 700;
}

.sticky-bar {
  top: 120px;
}

.price-pop {
  color: var(--dim-grey);
  font-size: 18px;
  font-weight: 500;
}

.product-name {
  margin-bottom: 7px;
  font-family: var(--font-sans);
  font-size: 22px;
  font-weight: 600;
}

.field-label {
  color: var(--dim-grey);
  letter-spacing: 1px;
  text-transform: none;
  flex: none;
  margin-bottom: 15px;
  font-size: 12px;
  font-weight: 700;
}

.field-label._2 {
  margin-bottom: 15px;
}

.checkout-form {
  background-color: #0000;
  min-height: auto;
  padding: 0;
}

.navigation-wrapper {
  z-index: 999;
  background-color: #fff;
  padding-left: 26px;
  padding-right: 26px;
  position: fixed;
  inset: 0% 0% auto;
}

.navigation-top-part {
  z-index: 3;
  justify-content: space-between;
  align-items: center;
  height: 80px;
  display: flex;
  position: relative;
}

.ulf-logo {
  width: 120px;
  max-width: 120%;
  transition: transform 0.3s ease;
}

.ulf-logo:hover {
  transform: rotate(-3deg);
}

.second-part {
  flex-direction: row;
  flex: none;
  justify-content: flex-end;
  align-items: center;
  padding-right: 11px;
  display: flex;
}

.second-part.mobile {
  display: none;
}

.logo-flex {
  border-bottom: 1px solid #0000;
  justify-content: center;
  align-items: center;
  display: flex;
}

.navlinks {
  z-index: 5;
  color: var(--white-smoke);
  letter-spacing: 2px;
  text-transform: none;
  margin-left: 1.5vw;
  margin-right: 1.5vw;
  padding-top: 2.2vh;
  padding-bottom: 2.2vh;
  font-size: 50px;
  font-weight: 700;
  line-height: 50px;
  position: relative;
}

.price-tag {
  color: #8a8a8a;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 45px;
}

.price-tag.small {
  color: var(--dim-grey);
  margin-top: 5px;
  margin-bottom: 10px;
  font-size: 17px;
  font-weight: 500;
  line-height: 28px;
}

.no-item {
  color: var(--dim-grey);
  font-size: 17px;
  font-weight: 500;
}

.subtotal-title {
  font-size: 16px;
  font-weight: 700;
}

.cart-line-item {
  align-items: center;
}

.empty-state {
  flex-direction: column;
}

.cart-quantity {
  background-color: #0000;
  width: 50px;
}

.cart-container {
  max-width: 580px;
  box-shadow: none;
  background-color: #fff;
  border-left: 1px solid #e6e6e6;
}

.table-price {
  font-size: 19px;
  font-weight: 700;
  line-height: 1;
}

.cart-button {
  color: var(--black);
  background-color: #0000;
  align-items: flex-end;
  padding: 0;
  font-family: var(--font-sans);
  font-size: 19px;
  font-weight: 700;
  display: none;
  position: relative;
}

.close-button {
  color: #000;
  justify-content: center;
  align-items: center;
  width: 34px;
  height: 34px;
  display: flex;
  position: relative;
}

.cart-circle {
  min-width: 0;
  color: var(--dim-grey);
  background-color: #0000;
  border-radius: 0;
  flex: none;
  justify-content: center;
  align-items: center;
  margin-left: 5px;
  padding-left: 0;
  padding-right: 0;
  font-size: 15px;
  font-weight: 600;
  display: flex;
}

.cart-wrapper {
  z-index: 999;
  background-color: #fff;
}

.paypal {
  margin-bottom: 5px;
}

.social-overlay {
  background-color: #c32aa3;
  border-radius: 100%;
  width: 100%;
  height: 100%;
  position: absolute;
}

.social-overlay.white {
  background-color: #ebebeb;
  border-radius: 5px;
}

.x-button {
  filter: invert();
  width: 20px;
  position: relative;
}

.photo-animation {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
}

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

.copy-link {
  color: var(--dim-grey);
  letter-spacing: 1px;
  text-transform: none;
  font-size: 12px;
  font-weight: 700;
}

.navigation-link {
  color: var(--black);
  font-family: var(--font-sans);
  font-size: 19px;
  font-weight: 700;
}

.navigation-link.w--current {
  display: none;
}

.navigation-link._2 {
  font-family: var(--font-sans);
  font-size: 16px;
}

.line {
  background-color: var(--black);
  width: 100%;
  height: 1px;
  margin-top: 1px;
}

.dropdown-toggle {
  width: 100%;
  color: var(--black);
  flex: 1;
  align-items: center;
  padding-left: 0;
  font-size: 17px;
  display: flex;
}

.logo-absolute {
  margin-top: 40px;
  position: absolute;
  inset: 0% auto auto 50%;
  transform: translate(-50%);
}

.cart-flext-left {
  align-items: flex-start;
}

.quantity-text {
  color: var(--dim-grey);
  font-size: 15px;
}

.paypal-text {
  color: var(--dim-grey);
  margin-bottom: 3px;
  font-size: 17px;
  font-weight: 500;
}

.cart {
  color: var(--black);
}

.font-share {
  font-size: 80px;
  line-height: 80px;
}

.font-share._2 {
  margin-left: 30px;
  font-family: var(--font-sans);
}

.rich-text-block {
  color: var(--black);
  object-fit: fill;
  margin-bottom: 60px;
  font-size: 14px;
  display: block;
}

.rich-text-block.purple {
  color: var(--medium-purple);
}

.rich-text-block.no-pad {
  margin-bottom: 0;
}

.hero {
  justify-content: flex-start;
  align-items: stretch;
  height: 100vh;
  display: flex;
  position: relative;
}

.hero.inner {
  height: auto;
  padding: 180px 5% 0;
}

.part-1 {
  flex: 1;
  padding-top: 90px;
}

.part-1._1 {
  -webkit-text-fill-color: inherit;
  background-clip: border-box;
  justify-content: center;
  align-items: center;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-left: 5%;
  padding-right: 5%;
  display: flex;
  position: relative;
}

.subhead {
  text-align: center;
  align-self: center;
  font-family: var(--font-sans);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.2;
}

.subhead.left {
  text-align: left;
  align-self: flex-start;
}

.uppercase-text {
  color: var(--dim-grey);
  letter-spacing: normal;
  text-transform: none;
  margin-top: 0;
  margin-bottom: 20px;
  font-family: var(--font-sans);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.2;
}

.uppercase-text._2 {
  color: #fff9;
  text-align: center;
  display: inline-block;
  font-size: 11px;
}

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

.button-primary {
  background-color: #f5f6fc;
  color: var(--black);
  border-radius: 100px;
  padding: 16px 20px;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  transition: all .2s;
}

.button-primary:hover {
  border-color: var(--black);
  background-color: var(--black);
  color: #fff;
}

.button-primary.discount {
  text-align: center;
  justify-content: center;
  width: 100%;
  margin-left: 0;
}

.button-primary.full {
  width: 100%;
}

.horizontal-divider {
  width: 38px;
}

.button-line {
  color: var(--black);
  font-size: 17px;
  font-weight: 700;
}

.button-line._2 {
  color: #fff;
}

.line-second {
  background-color: var(--black);
  width: 100%;
  height: 1px;
  margin-top: 3px;
}

.line-second._2 {
  background-color: #fff;
}

.max-hero {
  text-align: center;
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}

.max-hero._2 {
  text-align: center;
  max-width: 620px;
}

.max-hero.more-top {
  flex: 0 auto;
  margin-top: 100px;
  margin-bottom: 0;
  display: block;
}

.text-span {
  color: #0000;
  background-image: url('../images/bolt.png');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 50px;
  width: 80px;
  display: inline-block;
}

.text-span._2 {
  background-image: url('../images/jLogo.png');
  background-repeat: no-repeat;
  background-size: 65px;
  width: 60px;
  max-width: 210%;
}

.hero-max-width {
  text-align: center;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

.hero-max-width._2 {
  max-width: 800px;
}

.font-flex {
  display: flex;
}

.most-recent-grid {
  grid-column-gap: 30px;
  grid-row-gap: 10px;
  grid-template: "Area-5 Area-2 Area"
                 "Area-4 . Area-3"
                 / 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  align-items: center;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.filter-image {
  max-width: 90%;
  max-height: 126px;
  padding: 12px;
  overflow: scroll;
}

.filter-image.star {
  width: 18px;
  margin-right: 2px;
}

.logo-pre {
  margin-left: 10px;
}

.grid-2-columns {
  grid-column-gap: 100px;
  grid-row-gap: 100px;
  grid-template: ". Area"
  / 1fr 1fr;
  grid-auto-columns: 1fr;
  grid-auto-flow: row;
  align-items: center;
  margin-top: 32px;
  display: grid;
}

.grid-2-columns.vertical {
  display: block;
}

.grid-2-columns._70 {
  grid-column-gap: 50px;
  grid-row-gap: 100px;
  flex-wrap: nowrap;
  width: 70%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.grid-2-columns._70.new {
  grid-column-gap: 50px;
  grid-row-gap: 100px;
  justify-content: flex-start;
  width: 100%;
  margin-bottom: 60px;
}

.grid-2-columns._2 {
  align-items: stretch;
}

.service-part-1 {
  flex-direction: column;
  justify-content: space-between;
  display: flex;
}

.paragraph-1 {
  text-transform: none;
  width: 60%;
  margin-left: auto;
  font-size: 15px;
  line-height: 1.3;
}

.paragraph-1._2 {
  float: left;
  text-align: center;
  letter-spacing: 1px;
  flex-direction: row;
  flex: 1;
  justify-content: center;
  width: 80%;
  margin-right: auto;
  font-size: 14px;
  display: inline-block;
}

.paragraph-1._2.white {
  color: #fff;
}

.paragraph-1._2.left {
  text-align: left;
  text-transform: none;
  width: 100%;
  font-size: 18px;
}

.paragraph-1._2.cnt {
  text-align: center;
  position: static;
}

.toogle-max-w {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}

.toggle-main-2 {
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  display: flex;
}

.dropdown-toggle-2 {
  color: #000;
  border-bottom: 1px solid #000;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 90px;
  padding: 0 20px;
  font-size: 17px;
  display: flex;
}

.toggle-icon {
  flex: none;
  justify-content: center;
  align-items: center;
  display: flex;
}

.plus-icon {
  filter: invert();
  width: 20px;
}

.qa-text {
  white-space: normal;
  margin-left: 25px;
  font-family: var(--font-sans);
  font-size: 24px;
  font-weight: 600;
  line-height: 29px;
}

.toggle-content {
  background-color: #0000;
  padding-top: 20px;
  padding-bottom: 20px;
  position: relative;
}

.toggle-content.w--open {
  padding-top: 10px;
  padding-bottom: 10px;
}

.service-flex {
  align-items: center;
  display: flex;
}

.list-item {
  border-bottom: 1px solid #000;
  padding-top: 16px;
  padding-bottom: 16px;
  padding-left: 90px;
}

.faq-sub-text {
  color: var(--black);
  font-family: var(--font-sans);
  font-size: 21px;
  font-weight: 600;
}

.footer-column {
  justify-content: center;
  display: none;
  position: absolute;
  inset: auto 0% 35px;
}

.social-link {
  opacity: .5;
  filter: invert();
  color: #fff;
  margin-left: 20px;
  margin-right: 20px;
  padding-top: 1px;
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  display: block;
}

.social-link:hover, .social-link.w--current {
  opacity: 1;
  background-image: url('../images/icons8-play-1.svg');
  background-position: 0%;
  background-repeat: no-repeat;
  background-size: 8px;
}

.social-link.social {
  justify-content: flex-start;
  align-items: center;
  padding-top: 0;
  display: flex;
}

.social-image {
  filter: invert();
  width: 18px;
  margin-right: 6px;
}

.social-image._2 {
  width: 22px;
}

.margin-150px {
  mix-blend-mode: normal;
  margin-top: 20px;
  margin-bottom: 120px;
  display: block;
}

.margin-150px.less {
  margin-top: 100px;
}

.margin-150px.less.add {
  margin-top: 120px;
  margin-bottom: 160px;
  display: block;
}

.margin-150px.topp {
  margin-top: 80px;
  margin-bottom: 220px;
}

.margin-150px.botton-lets {
  display: none;
}

.relative-div {
  -webkit-text-fill-color: inherit;
  background-clip: border-box;
  position: relative;
}

.photo-1 {
  background-image: url('../images/Jalissa.png');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 40px;
  width: 130px;
  height: 140px;
  position: absolute;
  inset: -50px auto auto -15%;
}

.photo-1._2 {
  object-fit: contain;
  background-image: url('../images/LinkedIn-Profile-pic.jpg');
  background-position: 50%;
  width: 150px;
  height: 164px;
  inset: auto -101px 8px auto;
}

.photo-1._3 {
  background-image: url('../images/photo-17.jpg');
  width: 120px;
  inset: auto -56px 220px auto;
}

.margin-100px {
  margin-top: 100px;
}

.project-grid {
  grid-column-gap: 50px;
  grid-row-gap: 50px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  margin-bottom: 100px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
}

.project-item {
  color: var(--black);
}

.project-image {
  border-radius: 30px;
}

.project-title {
  text-align: left;
  text-transform: none;
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
}

.margin-80px {
  margin-top: 80px;
}

.skills-overlay {
  background-color: #000;
  width: 80%;
  position: absolute;
  inset: 0%;
}

.skills-overlay._1 {
  width: 95%;
}

.skills-overlay._2 {
  width: 100%;
}

.skills-overlay._3 {
  width: 93%;
}

.skills-overlay._4 {
  width: 89%;
}

.skills-grid {
  grid-column-gap: 50px;
  grid-row-gap: 30px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  width: 90%;
  display: grid;
}

.skills-text {
  color: #000;
  justify-content: space-between;
  margin-bottom: 10px;
  font-family: var(--font-sans);
  font-size: 17px;
  font-weight: 600;
  display: flex;
}

.skills-wrapper {
  background-color: #0000;
  width: 100%;
  height: 1px;
  position: relative;
  overflow: hidden;
}

.photo-animation-1 {
  border-radius: 40px;
  width: 90%;
  margin-left: auto;
  position: relative;
  overflow: hidden;
}

.photo-animation-1._100 {
  width: 100%;
}

.photo-animation-1.project-page {
  width: 100%;
  max-width: 70%;
  margin-left: auto;
  margin-right: auto;
}

.photo {
  object-position: 50% 0%;
  width: 100%;
  height: 100%;
}

.absolute-background {
  background-color: #171717;
  display: none;
  position: absolute;
  inset: 0%;
}

.people-photo {
  background-image: url('../images/Duke.jpeg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  border: 5px solid #fff;
  border-radius: 40px;
  width: 90px;
  height: 100px;
  position: absolute;
  inset: -70px auto auto 50%;
  transform: translate(-50%);
}

.people-photo._2 {
  background-image: url('../images/Adam-Jennings-profile-picture.jpg');
  background-size: cover;
}

.people-photo._3 {
  background-image: url('../images/Marvin.jpeg');
}

.bottom-part {
  text-align: center;
  background-color: #fff;
  border: 1px solid #e1e1e1;
  border-radius: 15px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 350px;
  min-height: 350px;
  padding: 60px 20px 16px;
  display: flex;
  position: relative;
}

.testimonials-name {
  text-align: center;
  margin-top: 3px;
  margin-bottom: 0;
  font-size: 19px;
  font-weight: 700;
}

.testimonials-name.comapny {
  color: var(--dim-grey);
  margin-top: 5px;
  font-size: 18px;
  font-weight: 500;
}

.testimonials-grid {
  grid-column-gap: 50px;
  grid-row-gap: 50px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  display: grid;
}

.blog-item {
  grid-column-gap: 50px;
  grid-row-gap: 50px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.blog-title {
  color: var(--black);
  font-family: var(--font-sans);
  font-size: 40px;
  font-weight: 600;
  line-height: 1;
  display: inline-block;
}

.footer {
  background-color: #000;
  padding: 30px 5%;
}

.top-footer-part {
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  border-bottom: 1px solid #ffffff26;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: center;
  padding-bottom: 30px;
  display: grid;
}

.logo-footer {
  filter: invert();
}

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

.error-message-2 {
  color: #fff;
  text-align: center;
  background-color: #f64d52;
  border-radius: 3px;
  font-size: 15px;
  font-weight: 500;
}

.paragraph-link-1 {
  color: #fff9;
  width: 220px;
  margin-bottom: 5px;
  font-size: 17px;
  line-height: 24px;
  display: block;
}

.paragraph-link-1:hover {
  color: #fff;
}

.footer-title {
  color: #fff;
  margin-top: 0;
  font-size: 24px;
  font-weight: 600;
}

.copyright-flex {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-items: center;
  display: grid;
}

.subscribe-field {
  background-color: #0000;
  border: 1px #000;
  border-bottom: 1px solid #ffffff38;
  height: 55px;
  padding-left: 0;
}

.subscribe-field::placeholder {
  color: #fff9;
  font-size: 16px;
  font-weight: 500;
}

.submit-button {
  background-color: #0000;
  background-image: url('../images/icons8-arrow-192.png');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 16px;
  border-bottom: 1px solid #ffffff38;
  width: 55px;
  height: 55px;
  transition: all .3s;
}

.submit-button:hover {
  background-image: url('../images/icons8-arrow-192.png');
  background-position: 100%;
  background-repeat: no-repeat;
  background-size: 16px;
}

.contact-grid {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: start;
  max-width: 640px;
  display: grid;
}

.contact-grid.on-footer {
  grid-template-columns: .75fr;
}

.copyright {
  margin-bottom: 0;
  font-size: 15px;
  font-weight: 500;
}

.white-link-2 {
  color: #fff;
}

.success-message {
  color: #fff;
  background-color: #3a8d00;
  font-size: 16px;
}

.form-block {
  max-width: 400px;
}

.form {
  display: flex;
}

.footer-1 {
  color: #ffffff91;
  margin-bottom: 5px;
  font-size: 18px;
  font-weight: 500;
  line-height: 23px;
  transition: all .2s;
  display: block;
}

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

.social-grid {
  grid-column-gap: 14px;
  grid-row-gap: 14px;
  filter: invert();
  flex-flow: row-reverse;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-items: start;
  width: 140px;
  margin-left: auto;
  margin-right: auto;
  font-size: 14px;
  line-height: 10px;
  display: inline-block;
}

.social-link-1 {
  width: 20px;
  height: 20px;
  margin-left: auto;
  margin-right: 24px;
}

.social-link-1:hover {
  opacity: .6;
}

/* Footer column content: force LEFT alignment at all widths and on all pages.
   The shared base .margin-30px rule sets text-align:center, which the footer
   columns inherit (the Resume/email links and the social icon row), while the
   headings stay left. These footer-scoped selectors have higher specificity
   than the bare base rules, so they win the cascade without touching the
   base .margin-30px rule used elsewhere on the site. No media query, so it
   applies on desktop, tablet and mobile alike. */
.footer .margin-30px {
  text-align: left;
  justify-content: flex-start;
  align-items: flex-start;
}

.footer .contact-grid.on-footer {
  text-align: left;
  justify-items: start;
}

.footer .paragraph-link-1 {
  text-align: left;
}

.footer .margin-30px.social {
  text-align: left;
}

.footer .social-grid {
  margin-left: 0;
  margin-right: 0;
}

.footer .social-link-1 {
  margin-left: 0;
}

/* Footer top row logo: left-align at all widths. The global `img` rule sets
   display:block + margin-left/right:auto, which centers the logo inside its
   (block, full-width) cell. Scoped to this one footer cell, we zero the
   left auto-margin so the logo sits flush left, and pin the cell to the
   start, without touching the global img rule or other footer cells. */
.top-footer-part > div {
  justify-self: start;
  text-align: left;
}

.top-footer-part .logo-footer {
  margin-left: 0;
  margin-right: auto;
}

/* Footer link columns -> 2x2 grid on tablet (and the larger mobile-landscape
   widths where it was collapsing to a single stacked column).

   Breakpoint choice: the four columns already render 2-up in the strict
   Webflow tablet band (768-991px), but they collapse to ONE column from 767px
   down. We apply the 2-column layout across 480-991px so every tablet-sized
   width shows a clean 2x2 (Site + Contact on row 1, Docs + Socials on row 2),
   and we leave the smallest phones (<=479px) as the existing single column.
   Scoped to `.footer .footer-grid` (higher specificity than the bare
   `.footer-grid` mobile rule) so it wins without touching desktop (>=992px,
   still 4 columns) or any non-footer grid. The .top-footer-part logo row and
   the copyright row are separate elements, so they stay on their own rows. */
@media screen and (min-width: 480px) and (max-width: 991px) {
  .footer .footer-grid {
    grid-template-rows: auto;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 32px;
    grid-row-gap: 40px;
  }

  .margin-150px.less.add {
    width: auto;
    margin-left: 32px;
    margin-right: 32px;
  }
}

.navigation-flex {
  grid-column-gap: 50px;
  grid-row-gap: 50px;
  flex-direction: row;
  flex: 0 auto;
  justify-content: center;
  align-self: auto;
  width: 30%;
  margin-right: 72px;
  display: flex;
}

.navigation-wrapper .navigation-flex,
.navigation-top-part .navigation-flex {
  display: none;
}

.grow-div {
  flex: 1;
}

.grow-div._2 {
  text-align: center;
}

.price-grid {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  margin-top: 50px;
  display: grid;
}

.price {
  margin-top: 20px;
  margin-bottom: 40px;
  font-family: var(--font-sans);
  font-size: 36px;
  font-weight: 500;
  line-height: 1;
  position: relative;
}

.pricing-photo {
  background-color: #fff;
  border: 1px solid #e1e1e1;
  border-radius: 5px;
  justify-content: center;
  align-items: center;
  width: 100px;
  height: 100px;
  padding: 22px;
  display: flex;
  position: absolute;
  inset: -55px auto auto 50%;
  transform: translate(-50%);
}

.pricing-box {
  text-align: center;
  border: 1px solid #e1e1e1;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 85px 53px 22px;
  font-size: 16px;
  line-height: 1;
  display: flex;
  position: relative;
}

.pricing-title {
  letter-spacing: 2px;
  text-transform: none;
  font-size: 13px;
  font-weight: 700;
}

.pricing-image {
  filter: invert();
  width: 40px;
}

.toogle-max-w-2 {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.toggle-main {
  border-bottom: 1px solid #e1e1e1;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  display: flex;
}

.toggle-square {
  border: 1px solid var(--black);
  border-radius: 3px;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 22px;
  height: 26px;
  margin-right: 13px;
  display: flex;
}

.faq-icon {
  filter: invert();
}

.qa-text-title {
  color: var(--black);
  font-family: var(--font-sans);
  font-size: 27px;
  font-weight: 500;
  line-height: 29px;
}

.toggle-content-2 {
  background-color: #0000;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 20px;
  position: relative;
}

.toggle-content-2.w--open {
  padding-top: 0;
}

.text-wrapper {
  justify-content: center;
  align-items: center;
  display: flex;
}

.blog-content {
  max-width: 60%;
  margin-left: auto;
  margin-right: auto;
}

.project-content {
  max-width: 70%;
  margin-left: auto;
  margin-right: auto;
}

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

.sticky {
  position: sticky;
  top: 100px;
}

.text-field-form {
  height: 45px;
  color: var(--dim-grey);
  background-color: #0000;
  border: 1px #000;
  border-bottom: 1px solid #e1e1e1;
  margin-left: 32px;
  padding-left: 0;
  font-size: 16px;
  font-weight: 500;
}

.text-field-form:active, .text-field-form:focus {
  border-bottom-color: #f64d52;
}

.text-field-form::placeholder {
  color: var(--dim-grey);
  font-size: 16px;
  font-weight: 400;
}

.text-field-form.area {
  height: auto;
  margin-top: 20px;
  margin-left: 0;
  padding-bottom: 10px;
}

.contact-flex {
  align-items: center;
  margin-bottom: 15px;
  display: flex;
}

.contact-flex.vertical {
  flex-direction: column;
  align-items: flex-start;
  margin-top: 20px;
}

.team-content {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.social-wrapper-large {
  filter: invert();
  justify-content: flex-end;
  align-items: center;
  display: flex;
  position: relative;
}

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

.role-name {
  font-family: var(--font-sans);
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
}

.author-photo {
  background-image: url('../images/profil-6.jpeg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 40px;
  width: 150px;
  height: 170px;
}

.author-photo._2 {
  background-image: url('../images/user-1.jpeg');
}

.author-photo._3 {
  background-image: url('../images/photo-9.jpg');
}

.body {
  overflow: visible;
}

.div-block {
  display: block;
}

.div-block-2 {
  display: none;
}

.image {
  max-width: 30%;
}

.container-2 {
  justify-content: center;
  margin-top: 29px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: static;
}

.image-2 {
  opacity: .5;
  text-align: center;
  max-width: 20%;
}

.div-block-3 {
  display: none;
}

.div-block-4 {
  opacity: 1;
}

.div-block-5 {
  justify-content: center;
  display: block;
}

.image-3 {
  min-height: 350px;
  margin-top: 0;
}

.link-block, .link-block-2, .link-block-3, .link-block-4, .link-block-5, .link-block-6 {
  text-align: center;
}

.image-4 {
  border-radius: 39px;
  margin-bottom: 60px;
}

.columns {
  margin-left: auto;
  margin-right: auto;
  padding-right: 0;
}

.column {
  padding-left: 0;
}

.image-5, .image-6 {
  object-fit: contain;
}

.html-embed, .html-embed-2 {
  margin-bottom: 60px;
}

.block-quote {
  font-size: 32px;
  line-height: 1.1;
}

.block-quote-2 {
  font-size: 33px;
}

.block-quote-3 {
  line-height: .9;
}

.block-quote-4 {
  font-size: 32px;
}

.block-quote-5 {
  font-size: 31px;
}

.block-quote-6 {
  margin-top: 40px;
  margin-bottom: 20px;
}

.block-quote-7 {
  margin-top: 10px;
}

.container-3 {
  margin-top: 40px;
  margin-bottom: 30px;
  padding-bottom: 0;
}

.block-quote-8 {
  color: var(--dim-grey);
  margin-top: 0;
  margin-bottom: 30px;
  font-family: var(--font-sans);
  font-size: 20px;
  font-weight: 300;
  line-height: 1.2;
}

.heading-3 {
  opacity: .7;
  color: var(--medium-purple);
  text-align: center;
  margin-top: 80px;
}

.container-4 {
  margin-top: 70px;
}

.html-embed-3 {
  margin-top: 40px;
}

.paragraph-2 {
  margin-top: 16px;
}

.italic-text, .italic-text-2, .italic-text-3, .italic-text-4, .italic-text-5, .italic-text-6 {
  opacity: .5;
}

.italic-text-7 {
  color: var(--dim-grey);
}

.div-block-7 {
  padding-left: 5%;
  display: flex;
}

.div-block-8 {
  min-width: 600px;
  max-width: 700px;
}

.form-block-2, .form-2 {
  max-width: 600px;
}

.features-list {
  border-bottom: 1px #e4ebf3;
  padding: 80px 30px;
  position: relative;
}

.container-5 {
  width: 100%;
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}

.features-wrapper-two {
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.features-left {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  max-width: 40%;
  display: flex;
}

.features-paragraph {
  margin-bottom: 24px;
  font-weight: 300;
}

.text-link-arrow {
  color: #1a1b1f;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  line-height: 20px;
  text-decoration: none;
  display: flex;
}

.arrow-embed {
  margin-left: 2px;
  display: flex;
}

.features-right {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  max-width: 46%;
  margin-bottom: -16px;
  padding-left: 40px;
  padding-right: 60px;
  display: flex;
}

.features-block-two {
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 16px;
  display: flex;
}

.features-right p {
  font-weight: 300;
}

.features-image {
  object-fit: cover;
  width: 80px;
  height: 80px;
  margin-right: 16px;
}

.section-2 {
  margin-top: 40px;
  margin-bottom: 0;
}

.grid {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  grid-template-rows: auto;
  grid-template-areas: "Area";
  margin-top: 0;
}

.image-7 {
  object-fit: cover;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
}

.div-block-9 {
  text-align: center;
  display: inline-block;
}

.div-block-10 {
  text-align: center;
}

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

.cell-2 {
  align-items: center;
  display: block;
}

.quick-stack {
  grid-column-gap: 1px;
  grid-row-gap: 1px;
  padding: 13px 12px;
}

.div-block-11, .div-block-12 {
  flex: 0 auto;
}

.div-block-13 {
  display: block;
}

.div-block-14 {
  align-self: stretch;
}

.heading-4 {
  justify-content: center;
  display: flex;
}

.frame-143 {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 1440px;
  text-decoration: none;
  display: flex;
}

.navbar-logo-left {
  background-color: #fff;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
  text-decoration: none;
  display: flex;
}

.navbarcontainer {
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  text-decoration: none;
  display: flex;
}

.navbar-content {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  text-decoration: none;
  display: flex;
}

.navbar-brand {
  flex: 0 auto;
  justify-content: flex-start;
  align-items: flex-start;
  text-decoration: none;
  display: flex;
}

.logo {
  object-fit: cover;
  justify-content: center;
  align-items: center;
  width: 141px;
  height: 36px;
  text-decoration: none;
  display: flex;
}

.navbar-menu {
  grid-column-gap: 32px;
  flex: 0 auto;
  justify-content: flex-start;
  align-items: center;
  text-decoration: none;
  display: flex;
}

.navbar-link {
  flex: 0 auto;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 24px 12px;
  text-decoration: none;
  display: flex;
}

.text {
  color: #000;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 150%;
  text-decoration: none;
}

.navbar-button {
  grid-column-gap: 8px;
  background-color: #000;
  flex: 0 auto;
  justify-content: center;
  align-items: center;
  padding: 8px 20px;
  text-decoration: none;
  display: flex;
}

.text-2 {
  color: #fff;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 140%;
  text-decoration: none;
}

.hero-heading-left {
  grid-column-gap: 80px;
  background-color: #fff;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  padding: 64px 24px;
  text-decoration: none;
  display: flex;
}

.container-6 {
  grid-column-gap: 80px;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  text-decoration: none;
  display: flex;
}

.column-2 {
  grid-row-gap: 24px;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  text-decoration: none;
  display: flex;
}

.title-copy-goes-here-be-awesome {
  color: #000;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 56px;
  font-weight: 700;
  line-height: 120%;
  text-decoration: none;
}

.text-3 {
  color: #212121;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 18px;
  font-weight: 400;
  line-height: 150%;
  text-decoration: none;
}

.actions {
  grid-column-gap: 16px;
  flex: 0 auto;
  justify-content: flex-start;
  align-items: flex-start;
  padding-top: 16px;
  text-decoration: none;
  display: flex;
}

.button {
  grid-column-gap: 8px;
  background-color: #000;
  flex: 0 auto;
  justify-content: center;
  align-items: center;
  padding: 12px 24px;
  text-decoration: none;
  display: flex;
}

.column-3 {
  grid-column-gap: 10px;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  text-decoration: none;
  display: flex;
}

.image-wrapper {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  text-decoration: none;
  display: flex;
}

.image-8 {
  object-fit: cover;
  justify-content: center;
  align-items: center;
  width: 100%;
  text-decoration: none;
  display: flex;
}

.link {
  color: var(--black);
  text-decoration: underline;
}

@media screen and (max-width: 991px) {
  .utility-page-wrap {
    height: 600px;
  }

  .section {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .title-3 {
    font-size: 40px;
    line-height: 42px;
  }

  .licensing-block {
    width: 100%;
  }

  .title-4 {
    font-size: 34px;
    line-height: 36px;
  }

  .title-1 {
    font-size: 80px;
  }

  .light-gray-2, .light-gray {
    width: 33.3333%;
  }

  .text-highlight {
    padding: 20px;
  }

  .color-block-parent {
    width: 33.3333%;
  }

  .title-2 {
    font-size: 40px;
  }

  .light-gray-3 {
    width: 33.3333%;
  }

  .sticky-bar {
    flex-basis: 100%;
    position: relative;
    top: 0;
  }

  .container-pricing {
    flex-direction: column-reverse;
    align-items: stretch;
  }

  .information {
    flex-basis: auto;
    margin-right: 0;
  }

  .navlinks {
    padding-top: 1vh;
    padding-bottom: 1vh;
    font-size: 40px;
    line-height: 40px;
  }

  .hero {
    height: auto;
    padding-top: 115px;
    padding-bottom: 132px;
  }

  .hero.inner {
    padding-top: 130px;
    padding-bottom: 120px;
  }

  .text-span {
    background-size: 50px;
    width: 70px;
  }

  .grid-2-columns {
    grid-column-gap: 50px;
    grid-row-gap: 50px;
  }

  .grid-2-columns.vertical {
    flex-direction: column-reverse;
    align-items: stretch;
    display: flex;
  }

  .paragraph-1 {
    width: 100%;
  }

  .toogle-max-w {
    max-width: 100%;
  }

  .qa-text {
    white-space: normal;
    font-size: 21px;
    line-height: 25px;
  }

  .photo-1 {
    top: 98px;
  }

  .photo-1._2 {
    width: 100px;
    height: 120px;
    bottom: 57px;
    right: -35px;
  }

  .photo-1._3 {
    width: 120px;
    height: 130px;
    right: 2px;
  }

  .project-grid {
    grid-column-gap: 30px;
    grid-row-gap: 30px;
  }

  .photo-animation-1 {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .people-photo {
    top: -61px;
  }

  .bottom-part {
    padding-left: 15px;
    padding-right: 15px;
  }

  .testimonials-grid {
    grid-column-gap: 30px;
    grid-row-gap: 80px;
    grid-template-columns: 1fr 1fr;
  }

  .blog-item {
    grid-column-gap: 30px;
    grid-row-gap: 30px;
    grid-template-columns: 1fr 1fr;
  }

  .footer-grid {
    grid-row-gap: 50px;
    grid-template-columns: 1fr 1fr;
  }

  .copyright-flex {
    margin-top: 20px;
  }

  .margin-mobile {
    margin-top: 30px;
  }

  .price-grid {
    grid-row-gap: 120px;
    grid-template-columns: 1fr;
  }

  .toogle-max-w-2 {
    max-width: 100%;
  }

  .qa-text-title {
    white-space: normal;
    font-size: 21px;
    line-height: 25px;
  }

  .blog-content, .project-content {
    max-width: 100%;
  }

  .sticky {
    position: relative;
    top: 0;
  }

  .social-wrapper-large {
    justify-content: flex-start;
  }

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

  .container-5 {
    max-width: 728px;
  }

  .features-wrapper-two {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .features-left {
    max-width: 100%;
    margin-bottom: 40px;
  }

  .features-right {
    max-width: 100%;
  }

  .navbar-logo-left {
    padding-right: 0;
  }

  .navbar-menu {
    max-width: unset;
  }

  .navbar-link, .navbar-button {
    justify-content: center;
  }

  .container-6 {
    flex-direction: column;
    align-items: center;
  }
}

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

  blockquote {
    font-size: 23px;
    line-height: 1.1;
  }

  .body-content {
    padding-top: 0;
    padding-left: 0;
  }

  .title-3 {
    font-size: 36px;
  }

  .text-field {
    height: 45px;
  }

  .title-4 {
    font-size: 30px;
    line-height: 32px;
  }

  .type-row {
    flex-direction: column;
  }

  .text-highlight {
    padding: 26px 9px;
  }

  .type-column {
    width: 100%;
    margin-bottom: 20px;
  }

  .title-2 {
    font-size: 36px;
    line-height: 42px;
  }

  .navigation-top-part {
    height: auto;
    padding-top: 19px;
    padding-bottom: 19px;
  }

  .page-content {
    padding-left: 0;
  }

  .cart-button {
    font-size: 16px;
  }

  .navigation-link {
    font-size: 17px;
  }

  .hero {
    padding-top: 125px;
    padding-bottom: 130px;
  }

  .grid-2-columns {
    grid-column-gap: 50px;
    grid-row-gap: 30px;
    grid-template-columns: 1fr;
  }

  .grid-2-columns._2 {
    flex-direction: column-reverse;
    display: flex;
  }

  .toogle-max-w {
    max-width: 100%;
  }

  .margin-150px {
    margin-top: 100px;
  }

  .photo-1 {
    border-radius: 15px;
    width: 100px;
    height: 110px;
  }

  .photo-1._2 {
    width: 80px;
    height: 100px;
    right: 2px;
  }

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

  .project-image {
    border-radius: 15px;
  }

  .skills-grid {
    width: 100%;
  }

  .photo-animation-1 {
    border-radius: 15px;
  }

  .testimonials-grid {
    grid-row-gap: 80px;
    grid-template-columns: 1fr;
  }

  .footer-grid {
    grid-row-gap: 40px;
    grid-template-columns: 1fr;
  }

  .copyright-flex {
    grid-template-columns: 1fr;
  }

  .contact-grid {
    display: none;
  }

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

  .pricing-box {
    width: 100%;
    min-height: auto;
    padding-left: 5%;
    padding-right: 5%;
    font-size: 14px;
  }

  .toogle-max-w-2 {
    max-width: 100%;
  }

  .qa-text-title {
    font-size: 24px;
  }

  .services-flex {
    grid-template-columns: 1fr;
  }

  .sticky {
    margin-bottom: 20px;
  }

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

  .features-list {
    padding: 60px 15px;
  }
}

@media screen and (max-width: 479px) {
  .desktop-break {
    display: none;
  }

  blockquote {
    padding-right: 0;
  }

  .body-content {
    padding-top: 0;
    padding-left: 0;
  }

  .section {
    margin-left: 16px;
    margin-right: 16px;
    padding-top: 0;
    padding-bottom: 0;
  }

  .section.black {
    margin-left: 0;
    margin-right: 0;
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .margin-30px.centre {
    padding-left: 16px;
    padding-right: 16px;
  }

  .copyright-dot {
    display: none;
  }

  .title-3 {
    font-size: 28px;
    line-height: 28px;
  }

  .text-field {
    height: 42px;
    margin-bottom: 10px;
  }

  .shrink-item {
    margin-right: 0;
  }

  .shrink-item.flex {
    margin-top: 20px;
    margin-right: 0;
  }

  .image-flex {
    flex-direction: column;
    align-items: flex-start;
  }

  .licensing-content {
    flex-direction: column;
  }

  .color-block {
    width: 100%;
    height: 55px;
    margin-bottom: 10px;
    margin-right: 0;
  }

  .title-4 {
    font-size: 32px;
    line-height: 34px;
  }

  .typography-flex {
    width: 68%;
  }

  .color-row {
    flex-direction: column;
  }

  .title-1 {
    font-size: 40px;
    line-height: 1.3;
  }

  .title-1.small {
    font-size: 36px;
  }

  .light-gray-2 {
    width: 100%;
    margin-bottom: 10px;
    margin-right: 0;
  }

  .type-row {
    flex-direction: column;
  }

  .light-gray {
    width: 100%;
    margin-bottom: 10px;
    margin-right: 0;
  }

  .text-highlight {
    width: 32%;
    padding: 20px 10px;
  }

  .grayscale-parent {
    height: 55px;
  }

  .margin-50px {
    margin-top: 30px;
  }

  .type-column {
    width: 100%;
    margin-bottom: 10px;
    margin-right: 0;
  }

  .color-block-parent {
    width: 100%;
    margin-right: 3%;
  }

  .title-2 {
    font-size: 30px;
    line-height: 34px;
  }

  .title-2.white {
    font-weight: 700;
  }

  .light-gray-3 {
    width: 100%;
    margin-bottom: 10px;
    margin-right: 0;
  }

  .left-block {
    margin-left: 0;
  }

  .price-pop {
    font-size: 16px;
  }

  .order-item {
    flex-direction: column;
    align-items: flex-start;
  }

  .field-label {
    font-size: 12px;
  }

  .navigation-wrapper {
    background-color: #fffffff2;
    padding-left: 5%;
    padding-right: 5%;
  }

  .navigation-top-part {
    align-items: flex-start;
    padding-top: 12px;
    padding-bottom: 8px;
  }

  .second-part {
    display: none;
  }

  .second-part.mobile {
    padding-right: 0;
    display: flex;
  }

  .logo-flex {
    width: auto;
  }

  .navlinks {
    font-size: 34px;
    line-height: 34px;
  }

  .price-tag {
    font-size: 22px;
    line-height: 24px;
  }

  .navigation-link {
    margin-bottom: 6px;
  }

  .dropdown-toggle {
    padding-top: 18px;
    padding-bottom: 18px;
    font-size: 18px;
  }

  .hero {
    min-height: 0;
    padding-top: 180px;
    padding-bottom: 10px;
  }

  .hero.inner {
    padding-top: 180px;
    padding-bottom: 0;
  }

  .part-1._1 {
    flex: 0 auto;
    align-self: auto;
    margin-top: 0;
  }

  .subhead {
    width: 260px;
    font-size: 20px;
  }

  .uppercase-text {
    margin-bottom: 10px;
    font-family: var(--font-sans);
    font-size: 13px;
  }

  .button-flex {
    flex-direction: column;
    display: inline-block;
  }

  .horizontal-divider {
    width: 34px;
    height: 16px;
  }

  .max-hero.more-top {
    order: 0;
    margin-top: 10px;
  }

  .text-span {
    object-fit: contain;
    background-size: 30px;
    width: 40px;
    height: 50px;
  }

  .most-recent-grid {
    grid-column-gap: 0px;
    grid-template-columns: .75fr .75fr;
    width: 300px;
    max-width: 500px;
  }

  .filter-image {
    max-width: 80%;
  }

  .grid-2-columns {
    display: none;
  }

  .paragraph-1 {
    font-size: 14px;
  }

  .paragraph-1._2 {
    width: 100%;
    margin-bottom: 0;
    font-size: 12px;
  }

  .paragraph-1._2.white {
    margin-left: 0;
  }

  .toogle-max-w {
    max-width: 100%;
  }

  .dropdown-toggle-2 {
    font-size: 18px;
  }

  .qa-text {
    white-space: break-spaces;
    font-size: 14px;
  }

  .footer-column {
    flex-wrap: wrap;
    align-items: center;
    bottom: 20px;
  }

  .social-link.social {
    margin-bottom: 10px;
  }

  .margin-150px {
    margin-top: 0;
    margin-bottom: 80px;
  }

  .margin-150px.less.add {
    margin-top: 16px;
    margin-bottom: 16px;
  }

  .margin-150px.topp {
    margin-bottom: 100px;
  }

  .photo-1 {
    width: 70px;
    height: 80px;
    top: -60px;
    left: 0%;
  }

  .photo-1._2 {
    width: 60px;
    height: 70px;
    bottom: -10px;
    right: 0;
  }

  .photo-1._3 {
    width: 80px;
    height: 90px;
    bottom: 147px;
    right: 10px;
  }

  .margin-100px {
    margin-top: 50px;
  }

  .project-grid {
    grid-row-gap: 60px;
  }

  .skills-text {
    font-weight: 700;
  }

  .bottom-part {
    padding-top: 60px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .blog-item {
    grid-template-columns: 1fr;
  }

  .top-footer-part {
    grid-column-gap: 30px;
    grid-row-gap: 30px;
    grid-template-columns: 1fr;
  }

  .footer-title {
    font-size: 24px;
  }

  .copyright-flex {
    flex-direction: column;
    align-items: flex-start;
  }

  .copyright {
    margin-bottom: 5px;
  }

  .form-block {
    max-width: 300px;
  }

  .social-grid {
    grid-column-gap: 20px;
  }

  .navigation-flex {
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    flex-direction: column;
    align-items: flex-end;
    width: auto;
    margin-right: 16px;
  }

  .pricing-box {
    padding-bottom: 16px;
  }

  .toogle-max-w-2 {
    max-width: 100%;
  }

  .qa-text-title {
    white-space: break-spaces;
  }

  .text-field-form {
    height: 40px;
  }

  .text-field-form.area {
    padding-bottom: 10px;
  }

  .team-grid {
    grid-column-gap: 40px;
    grid-row-gap: 60px;
  }

  .author-photo {
    width: 120px;
    height: 130px;
  }

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

  .image-3 {
    -webkit-text-fill-color: inherit;
    object-fit: contain;
    object-position: 50% 50%;
    background-clip: border-box;
    min-height: 0;
    display: inline-block;
    overflow: scroll;
  }

  .div-block-6 {
    margin-bottom: 32px;
  }

  .link-block, .link-block-2, .link-block-3, .link-block-4, .link-block-5, .link-block-6 {
    text-align: center;
  }

  .div-block-7 {
    padding-left: 0%;
  }

  .form-2 {
    max-width: 280px;
  }

  .container-5 {
    max-width: none;
  }

  .features-right {
    margin-bottom: -30px;
  }

  .features-block-two {
    flex-direction: row;
    flex: 0 auto;
    justify-content: flex-start;
    align-self: auto;
    align-items: center;
    margin-bottom: 4px;
  }

  .features-image {
    margin-bottom: 10px;
  }

  .section-2 {
    margin-top: 10px;
    margin-bottom: 40px;
  }
}

#w-node-af5fe49c-25e5-c283-5f8b-cc55b2647b69-5eb788d3 {
  grid-template-rows: auto auto;
  grid-template-columns: 1fr;
}

#w-node-af5fe49c-25e5-c283-5f8b-cc55b2647b6a-5eb788d3, #w-node-_2706bd18-4f4c-c076-f7cb-4bddd2c5fc88-5eb788d3 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-fea29cc2-1187-64cc-edfb-143024d4ca6d-5eb788d3, #w-node-fea29cc2-1187-64cc-edfb-143024d4ca6f-5eb788d3, #w-node-fea29cc2-1187-64cc-edfb-143024d4ca71-5eb788d3, #w-node-_1954a23a-87e1-077e-b5e9-6609eff39c74-5eb788d3 {
  justify-self: center;
}

#w-node-_89979f15-69e1-f8a4-1a69-6afa9f66c3c2-5eb788d3 {
  grid-template-rows: auto auto;
  grid-template-columns: 1fr;
}

#w-node-_89979f15-69e1-f8a4-1a69-6afa9f66c3c3-5eb788d3 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_5d656784-f3ff-b3ac-ecaa-2a1618cda717-5eb788d3, #w-node-_5d656784-f3ff-b3ac-ecaa-2a1618cda719-5eb788d3, #w-node-_5d656784-f3ff-b3ac-ecaa-2a1618cda71d-5eb788d3 {
  justify-self: center;
}

#w-node-_89979f15-69e1-f8a4-1a69-6afa9f66c3c6-5eb788d3, #w-node-_721fb173-53c7-a775-fdf6-96f5582b240d-5eb788d3, #w-node-e1242d87-83bb-a1e7-bf6f-8c4632291ce6-32291ce2, #w-node-_88e7048b-ff19-33b1-65e1-c8709335aa5d-32291ce2, #w-node-e1242d87-83bb-a1e7-bf6f-8c4632291d19-32291ce2, #w-node-_955c642b-c267-0fc4-f667-0f96cf60f1cc-28b78977, #w-node-_5e004e9b-6397-610a-b718-b69c026fa11c-8ab78990, #w-node-_5e004e9b-6397-610a-b718-b69c026fa127-8ab78990, #w-node-_19a92f8f-de66-157d-5094-314af2931c29-8ab78990 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_7244534b-eb28-94e3-4d3c-9260dc089bda-8ab78990 {
  grid-area: Area;
}

@media screen and (max-width: 479px) {
  #w-node-fea29cc2-1187-64cc-edfb-143024d4ca6d-5eb788d3 {
    justify-self: center;
  }

  #w-node-e1242d87-83bb-a1e7-bf6f-8c4632291cee-32291ce2, #w-node-e1242d87-83bb-a1e7-bf6f-8c4632291cfe-32291ce2, #w-node-_88e7048b-ff19-33b1-65e1-c8709335aa5d-32291ce2, #w-node-e1242d87-83bb-a1e7-bf6f-8c4632291d19-32291ce2 {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }
}


/* (Legacy Satoshi/Melodrama @font-face rules removed — the whole site now
   uses the Rethink Sans faces and tokens defined at the top of this file.) */

/* =====================================================================
   Recents gallery (custom) — stacked showcase cards below the "Recents" title.
   Card widths and corner radii scale from the --rc-w variable so the whole
   section stays responsive. The mockups inside each card are placeholders.
   ===================================================================== */
.recents-gallery {
  margin-top: 0;
  --rc-w: min(900px, 92vw);
  --rc-small: calc(var(--rc-w) * 0.0701);
  --rc-mid: calc(var(--rc-w) * 0.1257);
  --rc-big: calc(var(--rc-w) * 0.2222);
  --rc-big-perf: calc(var(--rc-w) * 0.2514);
  background-color: #fff;
  flex-direction: column;
  align-items: center;
  gap: 62px;
  padding-top: 0;
  padding-bottom: 100px;
  display: flex;
}

.recents-card {
  width: var(--rc-w);
  position: relative;
  overflow: hidden;
}

.recents-card--dark {
  background-color: #101010;
}

.recents-card--light {
  background-color: #f5f6fc;
}

.recents-card--performance {
  height: 640px;
  border-radius: var(--rc-mid) var(--rc-mid) var(--rc-big-perf) var(--rc-mid);
}

.recents-card--spacex {
  height: 640px;
  border-radius: var(--rc-small) var(--rc-small) var(--rc-small) var(--rc-big);
}

.recents-card--activity {
  width: calc(var(--rc-w) * 0.9667);
  height: 640px;
  border-radius: var(--rc-small) var(--rc-small) var(--rc-big) var(--rc-small);
}

.recents-card--balances {
  height: 640px;
  border-radius: var(--rc-small) var(--rc-small) var(--rc-small) var(--rc-big);
}

/* Placeholder shot — swap .recents-shot-img src for the real prototype/screenshot. */
.recents-shot {
  margin: 0;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  overflow: hidden;
}

.recents-shot::before {
  content: "Replace with asset";
  z-index: 0;
  color: #8a9097;
  text-align: center;
  letter-spacing: 1px;
  text-transform: none;
  background-image: linear-gradient(135deg, #cfd3d6, #e7eaec);
  border: 1px dashed #00000026;
  border-radius: inherit;
  justify-content: center;
  align-items: center;
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 700;
  display: flex;
  position: absolute;
  inset: 0;
}

.recents-shot-img {
  z-index: 1;
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}

/* Live prototype embed — fills the card slot like .recents-shot-img. */
.recents-shot-embed {
  z-index: 1;
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
  border: 0;
  border-radius: inherit;
}

/* SpaceX card shows a live embed, so hide the "Replace with asset" placeholder. */
.recents-shot--spacex::before {
  content: none;
}

/* Hide balances card shows a live embed too. */
.recents-shot--balances::before {
  content: none;
}

.recents-shot--portrait {
  border-radius: 24px;
}

.recents-shot--card {
  border-radius: 32px;
}

.recents-shot--performance {
  width: 39.8%;
  aspect-ratio: 358 / 626;
  top: 56.2%;
}

.recents-shot--spacex {
  width: 265.68px;
  height: 540px;
}

/* The prototype renders its white phone modal (390x781 native) centred on a grey
   backdrop with a 10px side margin and 16px top/bottom. Render the iframe at the
   phone's native viewport plus those margins (410x813) so the phone sits dead
   centre, then scale the whole thing DOWN uniformly so everything (text, buttons,
   image) shrinks proportionately. At scale 0.64 the phone becomes 250x500; the
   230x500 slot crops the grey plus a ~10px sliver off each side, leaving the
   phone flush with no grey edge. */
.recents-shot--spacex .recents-shot-embed {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 410px;
  height: 813px;
  transform: translate(-50%, -50%) scale(0.706);
  transform-origin: center;
  /* Showcase: allow taps so visitors can tap the video to unmute. The embed's
     own script (see spacex-modal.html) neutralises the close button and action
     buttons/links while embedded, so taps can't navigate visitors away. */
  pointer-events: auto;
}

.recents-shot--activity {
  height: 540px;
  width: auto;
  aspect-ratio: 231 / 500;
}

.recents-shot--balances {
  width: 50%;
  aspect-ratio: 434 / 315;
  top: 51.24%;
  container-type: size;
}

/* The embed renders the widget at a fixed native size (434x315, phone + breathing
   room for its shadow), then scales uniformly to fill the slot. Container units
   keep it crisp and proportional at any screen size, so the fixed-size phone
   never clips on smaller cards. */
.recents-shot--balances .recents-shot-embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 434px;
  height: 315px;
  transform: scale(calc(100cqw / 434px));
  transform-origin: top left;
}

.recents-label {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 15.83px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.16px;
  position: absolute;
}

.recents-label--light {
  color: #fff;
}

.recents-label--dark {
  color: var(--black);
}

.recents-label--performance {
  left: 65.4%;
  top: 50%;
  transform: translateY(-50%);
}

.recents-label--spacex {
  right: calc(50% + 144.84px);
  top: 50%;
  text-align: right;
  transform: translateY(-50%);
}

.recents-label--activity {
  left: 71.7%;
  top: 50%;
  text-align: center;
  transform: translate(-50%, -50%);
}

.recents-label--balances {
  left: 50%;
  top: 22.24%;
  text-align: center;
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 767px) {
  .recents-gallery {
    gap: 36px;
    padding-top: 0;
    padding-bottom: 64px;
  }

  .recents-label {
    font-size: 13px;
  }

  .recents-label--performance,
  .recents-label--activity {
    left: auto;
    right: 6%;
    text-align: right;
  }
}

@media screen and (max-width: 479px) {
  .recents-label {
    font-size: 11px;
  }

  .recents-shot--card {
    border-radius: 20px;
  }

  .recents-shot--portrait {
    border-radius: 16px;
  }

  /* The SpaceX phone box is now only 230px wide, so it fits comfortably inside
     the card on narrow phones (card = 92vw) without any extra scaling. Just
     tighten the card height for smaller top/bottom margins on mobile. */
  .recents-card--spacex {
    height: 596px;
  }
}

/* =====================================================================
   CUSTOM CURSOR
   Site-wide custom mouse pointer using the orange brush-stroke asset.
   The number pair after the url() is the "hotspot" (the exact pixel that
   does the clicking), set to the centre of the brush strokes so clicks land
   where you'd expect. A normal cursor keyword is kept as a fallback in case
   the image cannot load.
   ===================================================================== */
html,
body {
  cursor: url("../images/crazy-cursor.svg") 22 24,
    url("../images/crazy-cursor.png") 22 24, auto;
}

a,
button,
[role="button"],
.w-button,
.navigation-link {
  cursor: url("../images/crazy-cursor.svg") 22 24,
    url("../images/crazy-cursor.png") 22 24, pointer;
}