.light {
  --main-bg-color: #ffffff;
}

.dark {
  --main-bg-color: #000000;
}

.app-bg {
  background: var(--main-bg-color);
  min-height: 100vh;
}

body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.bg-ui-black-0 { background: #000000; }
.bg-ui-black-1 { background: #1B1B1B; }
.bg-ui-black-2 { background: #0a0a0a; }
.bg-ui-black-3 { background: #131313; }
.bg-ui-white-0 { background: rgba(242,242,242,0.7); }
.bg-ui-white-1 { background: rgba(242,242,242,0.2); }
.bg-white-5 { background: rgba(255,255,255,0.05); }
.hover-bg-white-5:hover { background: rgba(255,255,255,0.05); }
.w-200-px { width: 12.5em; }
.mid-orange { color: #EC9402; }
.phone-frame { width: 15rem; height: 32.5rem; }
.b--current { border-color: currentColor; }
.b--ui-black { border-color: #2d2d2d; }
.bs-white-1 { box-shadow: 0 0 15px rgba(255,255,255,0.3); }
.bg-diagonal-gradient { background: linear-gradient(45deg, rgba(19,19,19,1) 0%,rgba(43,43,43,1) 100%); }
.aspect-ratio--third { padding-bottom: calc(100%/3); }
.aspect-ratio--2x1 { padding-bottom: 202%; }
.aspect-ratio--half { padding-bottom: calc(100%/2); }
.lh-double { line-height: 2; }
.w-third-m2 { width: 100%; }
.r-vertical { resize: vertical; }

/* -ns */
@media screen and (min-width: 30em) {
  .w-third-m2 { width: calc((100% / 3) - 0.5rem); }
}

/* -m */
@media screen and (min-width: 30em) and (max-width: 60em) {
  .aspect-ratio--half-m { padding-bottom: calc(100%/2); }
  .aspect-ratio--2x1-m { padding-bottom: 202%; }
  .w-third-m2 { width: calc((100% / 2) - 0.5rem); }
}

/* -l */
@media screen and (min-width: 60em) {
  .aspect-ratio--third-l { padding-bottom: calc(100%/3); }
  .aspect-ratio--2x1-l { padding-bottom: 202%; }
  .w-third-m2 { width: calc((100% / 3) - 0.5rem); }
}

.loader {
  color: #686768;
  font-size: 10px;
  margin: 50px auto;
  text-indent: -9999em;
  width: 11em;
  height: 11em;
  border-radius: 50%;
  background: currentColor;
  background: -moz-linear-gradient(left, currentColor 10%, rgba(104,103,104, 0) 42%);
  background: -webkit-linear-gradient(left, currentColor 10%, rgba(104,103,104, 0) 42%);
  background: -o-linear-gradient(left, currentColor 10%, rgba(104,103,104, 0) 42%);
  background: -ms-linear-gradient(left, currentColor 10%, rgba(104,103,104, 0) 42%);
  background: linear-gradient(to right, currentColor 10%, rgba(104,103,104, 0) 42%);
  position: relative;
  -webkit-animation: load3 1.4s infinite linear;
  animation: load3 1.4s infinite linear;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}
.loader:before {
  width: 50%;
  height: 50%;
  background: currentColor;
  border-radius: 100% 0 0 0;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
}
.loader:after {
  background: #000000;
  width: 75%;
  height: 75%;
  border-radius: 50%;
  content: '';
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.loader-light {
  color: #131313;
  background: -moz-linear-gradient(left, currentColor 10%, white 42%);
  background: -webkit-linear-gradient(left, currentColor 10%, white 42%);
  background: -o-linear-gradient(left, currentColor 10%, white 42%);
  background: -ms-linear-gradient(left, currentColor 10%, white 42%);
  background: linear-gradient(to right, currentColor 10%, white 42%);
}
.loader-light:after {
  background: white;
}

@-webkit-keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.guideMethod {
  width: 75%;
  height: auto;
  display: block;
  overflow: hidden;
  border-radius: 100%;

  position: absolute;
  top: 12.5%;
  left: 12.5%;
  bottom: 12.5%;
  right: 12.5%;

  z-index: 1;

  transition: all 0.3s ease-out;

  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.guideOwner {
  position: absolute;
  bottom: -7.5%;
  right: -7.5%;
  border-radius: 100%;
  z-index: 2;
  display: block;
}

.guideStamp {
  width: 200px;
  height: 200px;
  position: relative;
  margin: 1rem auto 2rem;
}

.guideStepsCircle {
  width: 100%;
  height: 100%;

  position: absolute;
  top: 0;
  left: 0;
}


.previewWrapper {
  width: 360px;
  padding: 1.5rem 20px;
  margin: 0 auto;
  border-radius: 2.75rem;
  border: 1px solid #666666;
}

.previewWrapper * {
  transition: all 0.3s ease-out;
}

.previewWindow {
  color: #171717;
  width: 320px;
  height: 690px;
  overflow-y: scroll;
  font-size: 16px;
  background: currentColor;
  position: relative;
  border: 1px solid #666666;
  z-index: 0;
  border-radius: 2rem;
}

.previewWindow::-webkit-scrollbar {
  display: none;
}

.previewCover {
  width: 320px;
  height: 320px;
  position: absolute;
  overflow: hidden;
  z-index: -1;
}

.previewCoverOverlay {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1;
}

.previewCoverImage {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) translateX(-50%);
  height: auto;
  width: auto;
  left: 50%;
}

.previewTitle {
  color: #ffffff;
  margin-top: 320px;
}

.previewDescription {
  white-space: pre-line;
  padding: 0.5em 1rem;
  color: #919191;
  line-height: 1.5;
  margin: 0;
}

.previewLink {
  padding: 0.3em 10px;
  margin: 0;
  font-weight: bold;
  text-decoration: none;
  color: #EC9C12;
  line-height: 24px;
  font-size: 12px;
}


/* ----------------------- EXPERIMENTAL ------------------------ */
/* Variables */

:root {
  --spacing-none: 0;
  --spacing-extra-small: .25rem;
  --spacing-small: .5rem;
  --spacing-medium: 1rem;
  --spacing-large: 2rem;
  --spacing-extra-large: 4rem;
  --spacing-extra-extra-large: 8rem;
  --spacing-extra-extra-extra-large: 16rem;
  --breakpoint-not-small: screen and (min-width: 30em);
  --breakpoint-medium: screen and (min-width: 30em) and (max-width: 60em);
  --breakpoint-large: screen and (min-width: 60em);
}



.dg { display: grid }

@media (--breakpoint-not-small) {
  .dg-ns { display: grid }
}
@media (--breakpoint-medium) {
  .dg-m { display: grid }
}
@media (--breakpoint-large) {
  .dg-l { display: grid }
}

.gc1 { grid-template-columns: 1fr }
.gc2 { grid-template-columns: 1fr 1fr }
.gc3 { grid-template-columns: 1fr 1fr 1fr }
.gc4 { grid-template-columns: 1fr 1fr 1fr 1fr }

@media (--breakpoint-not-small) {
  .gc1-ns { grid-template-columns: 1fr }
  .gc2-ns { grid-template-columns: 1fr 1fr }
  .gc3-ns { grid-template-columns: 1fr 1fr 1fr }
  .gc4-ns { grid-template-columns: 1fr 1fr 1fr 1fr }
}
@media (--breakpoint-medium) {
  .gc1-m { grid-template-columns: 1fr }
  .gc2-m { grid-template-columns: 1fr 1fr }
  .gc3-m { grid-template-columns: 1fr 1fr 1fr }
  .gc4-m { grid-template-columns: 1fr 1fr 1fr 1fr }
}
@media (--breakpoint-large) {
  .gc1-l { grid-template-columns: 1fr }
  .gc2-l { grid-template-columns: 1fr 1fr }
  .gc3-l { grid-template-columns: 1fr 1fr 1fr }
  .gc4-l { grid-template-columns: 1fr 1fr 1fr 1fr }
}


/*

  GRID COLUMN START
  Docs: …

  Base
    gcs = grid-column-start

  Modifiers
    1 = single column
    span = fills in the container

  Media Query Extensions:
    -ns = not-small
    -m  = medium
    -l  = large

*/

.gcs-1 { grid-column-start: 1; }
.gcs-2 { grid-column-start: 2; }
.gcs-3 { grid-column-start: 3; }
.gcs-4 { grid-column-start: 4; }
.gcs-span { grid-column-start: span; }

@media (--breakpoint-not-small) {
  .gcs-1-ns { grid-column-start: 1; }
  .gcs-2-ns { grid-column-start: 2; }
  .gcs-3-ns { grid-column-start: 3; }
  .gcs-4-ns { grid-column-start: 4; }
  .gcs-span-ns { grid-column-start: span; }
}
@media (--breakpoint-medium) {
  .gcs-1-m { grid-column-start: 1; }
  .gcs-2-m { grid-column-start: 2; }
  .gcs-3-m { grid-column-start: 3; }
  .gcs-4-m { grid-column-start: 4; }
  .gcs-span-m { grid-column-start: span; }
}
@media (--breakpoint-large) {
  .gcs-1-l { grid-column-start: 1; }
  .gcs-2-l { grid-column-start: 2; }
  .gcs-3-l { grid-column-start: 3; }
  .gcs-4-l { grid-column-start: 4; }
  .gcs-span-l { grid-column-start: span; }
}

/*

  GRID COLUMN END
  Docs: …

  Base
    gce = grid-column-end

  Modifiers
    1 = single column
    span = fills in the container

  Media Query Extensions:
    -ns = not-small
    -m  = medium
    -l  = large

*/

.gce-1 { grid-column-end: 1; }
.gce-2 { grid-column-end: 2; }
.gce-3 { grid-column-end: 3; }
.gce-4 { grid-column-end: 4; }
.gce-span { grid-column-end: span; }

@media (--breakpoint-not-small) {}
@media (--breakpoint-medium) {}
@media (--breakpoint-large) {}

/*

  GRID ROW START
  Docs: …

  Base
    grs = grid-row-start

  Modifiers
    1 = single row
    span = fills in container

  Media Query Extensions:
    -ns = not-small
    -m  = medium
    -l  = large

*/

.grs-1 { grid-row-start: 1; }
.grs-2 { grid-row-start: 2; }
.grs-3 { grid-row-start: 3; }
.grs-4 { grid-row-start: 4; }
.grs-span { grid-row-start: span; }

@media (--breakpoint-not-small) {}
@media (--breakpoint-medium) {}
@media (--breakpoint-large) {}

/*

  GRID ROW END
  Docs: …

  Base
    gre = grid-row-end

  Modifiers
    1 = single row
    span = fills in container

  Media Query Extensions:
    -ns = not-small
    -m  = medium
    -l  = large

*/

.gre-1 { grid-row-end: 1; }
.gre-2 { grid-row-end: 2; }
.gre-3 { grid-row-end: 3; }
.gre-4 { grid-row-end: 4; }
.gre-span { grid-row-end: span; }

@media (--breakpoint-not-small) {}
@media (--breakpoint-medium) {}
@media (--breakpoint-large) {}

/*

  GRID GAP
  Docs: …

  Base
    g = grid-gap

  Modifiers
    a = all
    c = column
    r = row

    0 = none
    1 = 1st step in spacing scale
    2 = 2nd step in spacing scale
    3 = 3rd step in spacing scale
    4 = 4th step in spacing scale
    5 = 5th step in spacing scale
    6 = 6th step in spacing scale
    7 = 7th step in spacing scale

  Media Query Extensions:
    -ns = not-small
    -m  = medium
    -l  = large

*/

.ga0 { grid-gap: var(--spacing-none); }
.ga1 { grid-gap: var(--spacing-extra-small); }
.ga2 { grid-gap: var(--spacing-small); }
.ga3 { grid-gap: var(--spacing-medium); }
.ga4 { grid-gap: var(--spacing-large); }
.ga5 { grid-gap: var(--spacing-extra-large); }
.ga6 { grid-gap: var(--spacing-extra-extra-large); }
.ga7 { grid-gap: var(--spacing-extra-extra-extra-large); }

.gr0 { grid-row-gap: var(--spacing-none); }
.gr1 { grid-row-gap: var(--spacing-extra-small); }
.gr2 { grid-row-gap: var(--spacing-small); }
.gr3 { grid-row-gap: var(--spacing-medium); }
.gr4 { grid-row-gap: var(--spacing-large); }
.gr5 { grid-row-gap: var(--spacing-extra-large); }
.gr6 { grid-row-gap: var(--spacing-extra-extra-large); }
.gr7 { grid-row-gap: var(--spacing-extra-extra-extra-large); }

.gc0 { grid-column-gap: var(--spacing-none); }
.gc1 { grid-column-gap: var(--spacing-extra-small); }
.gc2 { grid-column-gap: var(--spacing-small); }
.gc3 { grid-column-gap: var(--spacing-medium); }
.gc4 { grid-column-gap: var(--spacing-large); }
.gc5 { grid-column-gap: var(--spacing-extra-large); }
.gc6 { grid-column-gap: var(--spacing-extra-extra-large); }
.gc7 { grid-column-gap: var(--spacing-extra-extra-extra-large); }

@media (--breakpoint-not-small) {}
@media (--breakpoint-medium) {}
@media (--breakpoint-large) {}

/* DayPicker styles */

.DayPicker {
  display: inline-block;
  font-size: 1rem;
}

.DayPicker-wrapper {
  position: relative;
  flex-direction: row;
  padding-bottom: 1em;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.DayPicker-wrapper input {
  background: transparent;
}

.DayPicker-Months {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.DayPicker-Month {
  display: table;
  margin: 0 1em;
  margin-top: 1em;
  border-spacing: 0;
  border-collapse: collapse;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.DayPicker-NavButton {
  position: absolute;
  top: 1em;
  right: 1.5em;
  left: auto;
  display: inline-block;
  margin-top: 2px;
  width: 1.25em;
  height: 1.25em;
  background-position: center;
  background-size: 50%;
  background-repeat: no-repeat;
  color: #8B9898;
  cursor: pointer;
}

.DayPicker-NavButton:hover {
  opacity: 0.8;
}

.DayPicker-NavButton--prev {
  margin-right: 1.5em;
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAwCAYAAAB5R9gVAAAABGdBTUEAALGPC/xhBQAAAVVJREFUWAnN2G0KgjAYwPHpGfRkaZeqvgQaK+hY3SUHrk1YzNLay/OiEFp92I+/Mp2F2Mh2lLISWnflFjzH263RQjzMZ19wgs73ez0o1WmtW+dgA01VxrE3p6l2GLsnBy1VYQOtVSEH/atCCgqpQgKKqYIOiq2CBkqtggLKqQIKgqgCBjpJ2Y5CdJ+zrT9A7HHSTA1dxUdHgzCqJIEwq0SDsKsEg6iqBIEoq/wEcVRZBXFV+QJxV5mBtlDFB5VjYTaGZ2sf4R9PM7U9ZU+lLuaetPP/5Die3ToO1+u+MKtHs06qODB2zBnI/jBd4MPQm1VkY79Tb18gB+C62FdBFsZR6yeIo1YQiLJWMIiqVjQIu1YSCLNWFgijVjYIuhYYCKoWKAiiFgoopxYaKLUWOii2FgkophYp6F3r42W5A9s9OcgNvva8xQaysKXlFytoqdYmQH6tF3toSUo0INq9AAAAAElFTkSuQmCC');
}

.DayPicker-NavButton--next {
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAwCAYAAAB5R9gVAAAABGdBTUEAALGPC/xhBQAAAXRJREFUWAnN119ugjAcwPHWzJ1gnmxzB/BBE0n24m4xfNkTaOL7wOtsl3AXMMb+Vjaa1BG00N8fSEibPpAP3xAKKs2yjzTPH9RAjhEo9WzPr/Vm8zgE0+gXATAxxuxtqeJ9t5tIwv5AtQAApsfT6TPdbp+kUBcgVwvO51KqVhMkXKsVJFXrOkigVhCIs1Y4iKlWZxB1rX4gwlpRIIpa8SDkWmggrFq4IIRaJKCYWnSgnrXIQV1r8YD+1Vrn+bReagysIFfLABRt31v8oBu1xEBttfRbltmfjgEcWh9snUS2kNdBK6WN1vrOWxObWsz+fjxevsxmB1GQDfINWiev83nhaoiB/CoOU438oPrhXS0WpQ9xc1ZQWxWHqUYe0I0qrKCQKjygDlXIQV2r0IF6ViEBxVTBBSFUQQNhVYkHIVeJAtkNsbQ7c1LtzP6FsObhb2rCKv7NBIGoq4SDmKoEgTirXAcJVGkFSVVpgoSrXICGUMUH/QBZNSUy5XWUhwAAAABJRU5ErkJggg==');
}

.DayPicker-NavButton--interactionDisabled {
  display: none;
}

.DayPicker-Caption {
  display: table-caption;
  margin-bottom: 0.5em;
  padding: 0 0.5em;
  text-align: left;
}

.DayPicker-Caption > div {
  font-weight: 500;
  font-size: 1.15em;
}

.DayPicker-Weekdays {
  display: table-header-group;
  margin-top: 1em;
}

.DayPicker-WeekdaysRow {
  display: table-row;
}

.DayPicker-Weekday {
  display: table-cell;
  padding: 0.5em;
  color: #8B9898;
  text-align: center;
  font-size: 0.875em;
}

.DayPicker-Weekday abbr[title] {
  border-bottom: none;
  text-decoration: none;
}

.DayPicker-Body {
  display: table-row-group;
}

.DayPicker-Week {
  display: table-row;
}

.DayPicker-Day {
  display: table-cell;
  padding: 0.5em;
  border-radius: 50%;
  vertical-align: middle;
  text-align: center;
  cursor: pointer;
}

.DayPicker-WeekNumber {
  display: table-cell;
  padding: 0.5em;
  min-width: 1em;
  border-right: 1px solid #EAECEC;
  color: #8B9898;
  vertical-align: middle;
  text-align: right;
  font-size: 0.75em;
  cursor: pointer;
}

.DayPicker--interactionDisabled .DayPicker-Day {
  cursor: default;
}

.DayPicker-Footer {
  padding-top: 0.5em;
}

.DayPicker-TodayButton {
  border: none;
  background-color: transparent;
  background-image: none;
  box-shadow: none;
  color: #4A90E2;
  font-size: 0.875em;
  cursor: pointer;
}

/* Default modifiers */

.DayPicker-Day--today {
  color: #D0021B;
  font-weight: 700;
}

.DayPicker-Day--outside {
  color: #8B9898;
  cursor: default;
}

.DayPicker-Day--disabled {
  color: #DCE0E0;
  cursor: default;
}

/* Example modifiers */

.DayPicker-Day--sunday:not(.DayPicker-Day--today) {
  color: #DCE0E0;
}

.DayPicker-Day--selected:not(.DayPicker-Day--disabled):not(.DayPicker-Day--outside) {
  position: relative;

  background-color: #4A90E2;
  color: #F0F8FF;
}

.DayPicker-Day--selected:not(.DayPicker-Day--disabled):not(.DayPicker-Day--outside):hover {
  background-color: #51A0FA;
}

.DayPicker:not(.DayPicker--interactionDisabled)
  .DayPicker-Day:not(.DayPicker-Day--disabled):not(.DayPicker-Day--selected):not(.DayPicker-Day--outside):hover {
  background-color: #EC9402;
}

/* DayPickerInput */

.DayPickerInput-OverlayWrapper {
  position: relative;
}

.DayPickerInput-Overlay {
  position: absolute;
  left: 0;
  z-index: 1;

  background: black;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
}
