/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
    -webkit-text-size-adjust: 100%;
    line-height: 1.15
}

body {
    margin: 0
}

main {
    display: block
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details {
    display: block
}

summary {
    display: list-item
}

[hidden],
template {
    display: none
}

:root {
    --base-font-size: 18px;
    --transition-duration: 0.3s;
    --transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    --zoom-icon-background: rgba(25, 41, 56, 0.94);
    --zoom-icon-color: #fff;
    --lightbox-background: rgba(0, 0, 0, 0.85);
    --lightbox-z-index: 1337;
    --caption-background: rgba(0, 0, 0, 0.8);
    --caption-color: #eee;
    --counter-background: transparent;
    --counter-color: #fff;
    --button-background: transparent;
    --button-navigation-background: rgba(0, 0, 0, 0.5);
    --button-color: #fff;
    --loader-color: #fff;
    --slide-max-height: calc(100vh - 2.77778em);
    --slide-max-width: 100vw
}

.tobii-zoom {
    border: 0;
    box-shadow: none;
    display: inline-block;
    position: relative;
    text-decoration: none
}

.tobii-zoom img {
    display: block
}

.tobii-zoom__icon {
    align-items: center;
    background-color: var(--zoom-icon-background);
    color: var(--zoom-icon-color);
    display: flex;
    height: 1.77778em;
    justify-content: center;
    line-height: 1;
    position: absolute;
    right: .44444em;
    top: .44444em;
    width: 1.77778em
}

.tobii-zoom__icon svg {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.5;
    stroke: currentColor;
    height: 1.33333em;
    pointer-events: none;
    width: 1.33333em
}

.tobii-is-open {
    overflow-y: hidden
}

.tobii {
    background-color: var(--lightbox-background);
    bottom: 0;
    box-sizing: border-box;
    contain: strict;
    font-size: var(--base-font-size);
    left: 0;
    line-height: 1.5;
    overflow: hidden;
    position: fixed;
    right: 0;
    top: 0;
    z-index: var(--lightbox-z-index)
}

.tobii[aria-hidden=true] {
    display: none
}

.tobii *,
.tobii :after,
.tobii :before {
    box-sizing: inherit
}

.tobii__slider {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 2.77778em;
    will-change: transform
}

.tobii__slider[aria-hidden=true] {
    display: none
}

@media screen and (prefers-reduced-motion:no-preference) {
    .tobii__slider--animate:not(.tobii__slider--is-dragging) {
        transition-duration: var(--transition-duration);
        transition-property: transform;
        transition-timing-function: var(--transition-timing-function)
    }
}

.tobii__slider--is-draggable [data-type] {
    cursor: -webkit-grab;
    cursor: grab
}

.tobii__slider--is-dragging [data-type] {
    cursor: -webkit-grabbing;
    cursor: grabbing
}

.tobii__slide {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    width: 100%
}

.tobii__slide:not(.tobii__slide--is-active) {
    visibility: hidden
}

@media screen and (prefers-reduced-motion:no-preference) {
    .tobii__slide:not(.tobii__slide--is-active) {
        transition-duration: var(--transition-duration);
        transition-property: visibility;
        transition-timing-function: var(--transition-timing-function)
    }
}

.tobii__slide [data-type] {
    -ms-scroll-chaining: none;
    max-height: var(--slide-max-height);
    max-width: var(--slide-max-width);
    overflow: hidden;
    overflow-y: auto;
    overscroll-behavior: contain
}

.tobii__slide iframe,
.tobii__slide video {
    display: block !important
}

.tobii__slide figure {
    margin: 0;
    position: relative
}

.tobii__slide figure>img {
    display: block;
    height: auto;
    max-height: var(--slide-max-height);
    max-width: var(--slide-max-width);
    width: auto
}

.tobii__slide figure>figcaption {
    background-color: var(--caption-background);
    bottom: 0;
    color: var(--caption-color);
    padding: .22222em .44444em;
    position: absolute;
    white-space: pre-wrap;
    width: 100%
}

.tobii__slide [data-type=html] video {
    cursor: auto;
    max-height: var(--slide-max-height);
    max-width: var(--slide-max-width)
}

.tobii__slide [data-type=iframe] {
    -webkit-overflow-scrolling: touch;
    transform: translateZ(0)
}

.tobii__slide [data-type=iframe] iframe {
    height: var(--slide-max-height);
    width: var(--slide-max-width)
}

.tobii__btn {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--button-background);
    border: .05556em solid transparent;
    color: var(--button-color);
    cursor: pointer;
    font: inherit;
    line-height: 1;
    margin: 0;
    opacity: .5;
    padding: 0;
    position: absolute;
    touch-action: manipulation;
    will-change: opacity;
    z-index: 1
}

@media screen and (prefers-reduced-motion:no-preference) {
    .tobii__btn {
        transition-duration: var(--transition-duration);
        transition-property: opacity, transform;
        transition-timing-function: var(--transition-timing-function);
        will-change: opacity, transform
    }
}

.tobii__btn svg {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1;
    stroke: currentColor;
    height: 3.33333em;
    pointer-events: none;
    width: 3.33333em
}

.tobii__btn--next,
.tobii__btn--previous {
    background-color: var(--button-navigation-background);
    border-radius: .27778em;
    top: 50%;
    transform: translateY(-50%)
}

.tobii__btn--previous {
    left: .88889em
}

.tobii__btn--next {
    right: .88889em
}

.tobii__btn--close {
    height: 2.22222em;
    right: .27778em;
    top: .27778em;
    width: 2.22222em
}

.tobii__btn--close svg {
    height: 100%;
    transform: scale(1.4);
    width: 100%
}

.tobii__btn:disabled,
.tobii__btn[aria-hidden=true] {
    cursor: default;
    visibility: hidden
}

.tobii__counter {
    background-color: var(--counter-background);
    color: var(--counter-color);
    font-size: 1.11111em;
    left: .83333em;
    line-height: 1;
    opacity: .8;
    position: absolute;
    top: .83333em;
    z-index: 1
}

.tobii__counter[aria-hidden=true] {
    display: none
}

.tobii__loader {
    display: inline-block;
    height: 5.55556em;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 5.55556em
}

.tobii__loader:before {
    -webkit-animation: spin 1s infinite;
    animation: spin 1s infinite;
    border: .22222em solid #949ba3;
    border-radius: 100%;
    border-top: .22222em solid var(--loader-color);
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1
}

@-webkit-keyframes spin {
    to {
        transform: rotate(1turn)
    }
}

@keyframes spin {
    to {
        transform: rotate(1turn)
    }
}

.tobii__slide .tobii-html {
    background: #fff;
    max-width: 800px;
    padding: 10px 20px
}

:root {
    --font-xl: 42px;
    --font-lg: 24px;
    --font-md: 20px;
    --font-sm: 18px;
    --font-xs: 16px;
    --font-xxs: 14px
}

@media (max-width:768px) {
    :root {
        --font-xl: 18px;
        --font-lg: 16px;
        --font-md: 14px;
        --font-sm: 12px;
        --font-xs: 12px;
        --font-xxs: 12px
    }
}

body {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQ4MCIgaGVpZ2h0PSI2NTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTczMS4yMDcgNjQ5LjgwMkM5MzUuNDg0IDY0Mi4xNCAxNDgwIDMzNy4zMjUgMTQ4MCAxODAuODg4YzAtMTU2LjQzOC0zMDkuNzQ0LTM2LjA1NS03MjAtMzYuMDU1UzAtMTc0LjQ4MyAwIDEzNS4xNDRjMCAzMDkuNjI3IDUyNi45MyA1MjIuMzIgNzMxLjIwNyA1MTQuNjU4eiIgZmlsbD0iI0Y2RjhGQSIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+);
    background-position-x: 20vw;
    background-position-y: -10vh;
    background-repeat: no-repeat;
    background-size: cover;
    color: #222;
    display: flex;
    flex-direction: column;
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    font-size: var(--font-md);
    line-height: 1.4;
    min-height: 100vh
}

main {
    flex: 1;
    width: 100%
}

a {
    color: #65638f;
    text-decoration: none
}

a:hover {
    color: #5a51fe
}

.button {
    background: linear-gradient(65deg, #da552f, #ea8e39);
    border: none;
    border-radius: 2px;
    box-shadow: 0 8px 24px rgba(32, 43, 54, .12);
    color: #fff;
    cursor: pointer;
    display: flex;
    display: inline-flex;
    font-family: Heebo, sans-serif;
    font-size: var(--font-xxs);
    font-weight: 700;
    justify-content: center;
    letter-spacing: 0;
    line-height: 16px;
    mix-blend-mode: multiply;
    padding: 16px 32px;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase;
    transition: all .15s ease;
    white-space: nowrap
}

.button:hover {
    box-shadow: 0 8px 24px rgba(32, 43, 54, .25);
    color: #fff
}

.button--link {
    background: transparent;
    box-shadow: none;
    color: #5a51fe
}

.button--link:hover {
    box-shadow: none;
    color: #8751fe
}

.accent {
    color: #5a51fe
}

.container {
    margin: auto;
    max-width: 960px;
    padding: 0 30px
}

h1,
h2 {
    font-family: Heebo, sans-serif
}

.container-desktop {
    margin: auto;
    max-width: 960px;
    padding: 0 30px
}

@media (max-width:768px) {
    .container-desktop {
        max-width: 100%;
        padding: 0
    }
}

.tobi-zoom__icon {
    display: none
}

.app__header {
    align-items: center;
    display: flex;
    flex-direction: row;
    margin-bottom: 128px;
    margin-top: 128px
}

@media (max-width:768px) {
    .app__header {
        align-items: flex-start;
        margin-bottom: 16px;
        margin-top: 32px
    }
}

.app__logo-wrapper {
    background-image: url(./images/ios-mask-border-128.svg);
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    height: 100%;
    margin-right: 64px;
    max-height: 250px;
    max-width: 250px;
    padding: 1px;
    width: 100%
}

@media (max-width:768px) {
    .app__logo-wrapper {
        margin-right: 16px;
        max-height: 100px;
        max-width: 100px
    }
}

.app__logo {
    border-radius: 22.5%;
    height: auto;
    mask-size: cover;
    width: 100%
}

.app__name {
    font-size: var(--font-xl);
    margin: 0
}

.app__description {
    font-size: var(--font-lg)
}

@media (max-width:768px) {
    .app__description {
        margin-bottom: 0;
        margin-top: 8px
    }
}

.app__screenshots-list {
    gap: 32px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    padding: 30px 0;
}

@media (max-width:768px) {
    .app__screenshots-list {
        padding: 32px;
        width: 800px
    }
}

.app__screenshot {
    border-radius: 16px;
    box-shadow: 0 12px 48px rgba(17, 16, 62, .12);
    cursor: pointer;
    transform: scale(1);
    transition: all .3s ease-in-out;
    width: 100%;
}

.app__screenshot:hover {
    box-shadow: 0 24px 48px rgba(17, 16, 62, .12);
    transform: scale(1.05)
}

.app__screenshots-wrapper {
    overflow-y: auto
}

.app__buttons {
    align-items: center;
    display: flex;
    flex-direction: row;
    margin-left: -9.8px
}

.app__buttons--mobile {
    display: none
}

@media (max-width:768px) {
    .app__buttons {
        margin-bottom: 64px;
        margin-left: 0
    }

    .app__buttons--mobile {
        display: flex;
        justify-content: center
    }

    .app__buttons--desktop {
        display: none
    }
}

.app__button-play img {
    width: 100px;
    margin-left: 24px;
}

.app__button-ios img {
    width: 180px;
    margin-left: 24px;
}

.app__button-web {
    margin-left: 12px
}

.app__button-web img {
    width: 157px
}

@media (max-width:768px) {
    .app__button-play img {
        width: 126px
    }

    .app__button-ios img {
        width: 100px
    }

    .app__button-web {
        margin-left: 8px
    }

    .app__button-web img {
        width: 112px
    }
}

.app__section-title {
    font-size: var(--font-lg)
}

.app__section {
    margin-bottom: 128px
}

@media (max-width:768px) {
    .app__section {
        margin-bottom: 64px
    }
}

.app__featured-content {
    grid-column-gap: 32px;
    align-items: center;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr
}

@media (max-width:768px) {
    .app__featured-content {
        display: block;
        padding: 32px
    }
}

.app__featured-image {
    margin: auto;
    width: 100%
}

.footer {
    padding: 16px 0
}

.footer,
.footer a {
    font-size: var(--font-xs) !important
}

.footer__container {
    align-items: center;
    color: #65638f;
    display: flex;
    justify-content: space-between;
    width: 100%
}

@media (max-width:768px) {
    .footer__container {
        align-items: flex-start;
        flex-direction: column-reverse
    }
}

.footer__links {
    display: flex;
    list-style: none;
    padding-left: 0
}

.footer__link {
    margin-left: 32px
}

@media (max-width:768px) {
    .footer__link {
        margin-left: 0;
        margin-right: 8px
    }
}

.page {
    margin: auto;
    max-width: 960px;
    padding: 0 30px
}

.darkmode-toggle {
    z-index: 500
}

.darkmode-background {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQ4MCIgaGVpZ2h0PSI2NTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTczMS4yMDcgNjQ5LjgwMkM5MzUuNDg0IDY0Mi4xNCAxNDgwIDMzNy4zMjUgMTQ4MCAxODAuODg4YzAtMTU2LjQzOC0zMDkuNzQ0LTM2LjA1NS03MjAtMzYuMDU1UzAtMTc0LjQ4MyAwIDEzNS4xNDRjMCAzMDkuNjI3IDUyNi45MyA1MjIuMzIgNzMxLjIwNyA1MTQuNjU4eiIgZmlsbD0iI0Y2RjhGQSIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+) !important;
    background-position-x: 20vw !important;
    background-position-y: -10vh !important;
    background-repeat: no-repeat !important;
    background-size: cover !important
}