
link {
    cursor: pointer
}

button,
hr,
input {
    overflow: visible
}

img,
legend {
    max-width: 100%
}

progress,
sub,
sup {
    vertical-align: baseline
}

details,
hr,
main {
    display: block
}

.clearfix:after,
.slick-track:after,
.text:after,
hr {
    clear: both
}

fieldset,
hr,
legend,
ol,
ul {
    padding: 0
}

.column-layout__col,
.site {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal
}

.login-panel,
.main-content,
sub,
sup {
    position: relative
}

.editor .icon,
.form__text-icon,
.icon,
.link-btn__icon {
    fill: #6;}

.add-btn:after,
.add-btn:before,
.fit-block:after,
.font-info__item:after,
.font-list__item:after,
.loader-local:after,
.loader-local:before,
.loader:after,
.loader:before,
.remove-btn:after,
.remove-btn:before,
.select:after {
    content: ""
}

.grecaptcha-badge,
.is-editing .font-info,
.popup {
    visibility: hidden;
}

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

hr {
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

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

a {
    background-color: transparent
}

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

.action-link,
.btn,
.font-block,
.header-block__link,
.icon {
    text-decoration: none
}

b,
strong {
    font-weight: 700
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none;
    height: auto
}

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

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: ButtonText dotted 1px
}

legend {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: inherit;
    display: table;
    white-space: normal
}

textarea {
    overflow: auto;
    resize: vertical
}

[type=checkbox],
[type=radio] {
    -webkit-box-sizing: border-box;
    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
}

.field__input,
.select__element {
    -webkit-appearance: none;
    -moz-appearance: none;
    outline: 0
}

summary {
    display: list-item
}

[hidden],
template {
    display: none
}


/*! HTML5 Boilerplate v6.1.0 | MIT License | https://html5boilerplate.com/  - modified by Studio X */

html {
    -webkit-text-size-adjust: 100%;
    color: #222;
    font-size: 14px;
    line-height: 1.2
}

@media (max-width:1024px) {
    html {
        font-size: 14px
    }
}

@media (max-width:480px) {
    html {
        font-size: 14px
    }
}

::-moz-selection {
    background: rgba(0, 0, 0, .99);
    color: #fff;
    text-shadow: none
}

::selection {
    background: #613afb;
    color: #fff;
    text-shadow: none
}

main.services .main-content--light, .section--light {
    background-color: white;
}

hr {
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 2em 0
}

.panel,
.site,
body,
html {
    height: auto
}

audio,
canvas,
iframe,
img,
picture,
svg,
video {
    vertical-align: middle
}

fieldset {
    border: 0;
    margin: 0
}

address {
    font-style: normal
}

ol,
ul {
    FONT-WEIGHT: 100;margin: 0;
    list-style: none
}

.section--padded-40,
.section--padded-40-bottom {
    padding-bottom: 2.5rem
}

button {
    cursor: pointer
}

*,
:after,
:before {
    -webkit-box-sizing: inherit;
    box-sizing: inherit
}

body,
html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-smoothing: antialiased
}

@font-face {
    font-family: Typedepot;
    src: url(../fonts/Typedepot_Mono-Regular.woff2) format("woff2"), url(../fonts/Typedepot_Mono-Regular.woff) format("woff"), url(../fonts/Typedepot_Mono-Regular.ttf) format("truetype");
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: Typedepot;
    src: url(../fonts/Typedepot_Mono-Bold.woff2) format("woff2"), url(../fonts/Typedepot_Mono-Bold.woff) format("woff"), url(../fonts/Typedepot_Mono-Bold.ttf) format("truetype");
    font-weight: 800;
    font-style: bold
}

body {
    margin: 0;
    font-family: Typedepot, monospaced;
}

.wrapper {
    max-width: 1372px;
    margin: 0 auto;
    width: 80%;
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right)
}

@media (max-width:640px) {
    .wrapper {
        width: 90%
    }
}

.wrapper__inner {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 100%;
    max-width: 1035px;
    margin: 0 auto
}

.site {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column
}

.header-block--flex,
.main-content {
    display: -webkit-box;
    display: -ms-flexbox
}

.main-header {
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.main-content {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.main-content>:not(.wrapper) {
    width: 100%
}

.main-footer {
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.section--padded-40,
.section--padded-40-top {
    padding-top: 2.5rem
}

.section--padded-80,
.section--padded-80-top {
    padding-top: 3rem
}

.section--padded-80,
.section--padded-80-bottom {
    padding-bottom: 5rem;
}

.section--padded-120,
.section--padded-120-top {
    padding-top: 7.5rem
}

main.project .section--padded-120, .section--padded-120-bottom {
    padding-bottom: 1.5rem;
}

main.services .section__title {
    font-size: 2.75rem;
    font-weight: 400;
    color: bblack;
    text-transform: uppercase;
    margin: 0 0 0;
    text-align: left;
}

@media main. project (max-width: 1024px) {
    .section--padded-40,
    .section--padded-40-top {
        padding-top: 2rem
    }
    .section--padded-40,
    .section--padded-40-bottom {
        padding-bottom: 2rem
    }
    .section--padded-80,
    .section--padded-80-top {
        padding-top: 4rem
    }
    .section--padded-80,
    .section--padded-80-bottom {
        padding-bottom: 2rem
    }
    .section--padded-120 {
        padding-top: 6rem;
        padding-bottom: 6rem
    }
    .section--padded-120-top {
        padding-top: 6rem
    }
    .section--padded-120-bottom {
        padding-bottom: 5rem;
    }
    .section__title {
        font-size: 2.25rem;
        margin: 0 0 2.75rem
    }
}

@media (max-width:640px) {
    .section--padded-80,
    .section--padded-80-top {
        padding-top: 3rem
    }
    .section--padded-80,
    .section--padded-80-bottom {
        padding-bottom: 3rem
    }
    .section__title {
        font-size: 1.75rem;
        margin: 0 0 1.75rem
    }
    .section--padded-120,
    .section--padded-120-top {
        padding-top: 4.5rem
    }
    .section--padded-120,
    .section--padded-120-bottom {
        padding-bottom: 4.5rem
    }
}

.header-block {
    width: 100%;
    text-align: center;
    margin-bottom: 1.75em
}

main.project  .header-block--big {
    font-size: calc((9px + (40 - 14) * ((100vw - 320px)/ (1920 - 320))) * .875);
    margin-bottom: 1.5em;
}

@media (min-width:1920px) {
    .header-block--big {
        font-size: calc(40px * .875)
    }
}

@media (max-width:1024px) {
    .header-block--big {
        margin-bottom: 1.75em
    }
}

.header-block--smaller-space-bottom {
    margin-bottom: .5em
}

.header-block--medium-space-bottom {
    margin-bottom: 1.25em
}

.header-block--spaced {
    margin-bottom: 2.625em
}

.header-block--spaced-top {
    margin-top: 2em
}

.header-block--no-space-bottom {
    margin-bottom: 0
}

.header-block--flex {
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.column-layout,
.column-layout__col {
    display: -webkit-box;
    display: -ms-flexbox
}

.header-block__title {
    font-size: clamp(2rem, 2.5vw, 1rem);
    font-weight: 700;
    color: #000;
    margin: -2px 0 .375em
}

.header-block__title--smaller {
    font-size: 1.5em
}

.header-block__title--white {
    color: #fff
}

.header-block__subtitle {
    font-size: 1.125em;
    font-weight: 300;
    color: rgba(0, 0, 0, .54)
}

.header-block--border {
    border-bottom: 1px solid rgba(3, 3, 3, .12);
    margin-bottom: 0;
    padding-bottom: .5em
}

.header-block__link {
    color: inherit;
    -webkit-transition: color .3s ease;
    transition: color .3s ease
}

.font-list__item,
.remove-btn {
    -webkit-transition: background-color .3s ease
}

.non-touch .header-block__link:hover {
    color: #613afb
}

.non-touch .header-block__title--white .header-block__link:hover {
    color: rgba(255, 255, 255, .82)
}

.page-title {
    margin: 0 0 0;
    font-size: 3.625em;
    font-weight: 700;
    color: #000;
    text-align: left
}

.page-title--no-spacing {
    margin-bottom: 0
}

.column-layout {
    display: flex;
    margin: 0
}

.column-layout--no-spacing {
    margin: 0
}

.column-layout__col {
    justify-content: space-between;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    width: 100%;
    margin-left: 0;
    padding: 0
}

.character-map,
.login-panel {
    display: -webkit-box;
    display: -ms-flexbox
}

.column-layout--no-spacing .column-layout__col {
    padding: 0
}

.column-layout__col--sidebar {
    width: 37.33%;
    max-width: 27.375rem;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-left: 0;
    margin-right: 0
}

.column-layout--no-spacing .column-layout__col--sidebar {
    border-right: 0 solid rgba(3, 3, 3, .05)
}

.column-layout--cart .column-layout__col--sidebar {
    width: 60%;
    max-width: none
}

.column-layout--orders .column-layout__col--sidebar {
    max-width: 26.25rem
}

.column-layout--news .column-layout__col--sidebar {
    max-width: 19rem;
    padding-right: 3rem
}

@media (max-width:1200px) {
    .column-layout__col--sidebar {
        width: 40%
    }
}

@media (max-width:1024px) {
    .column-layout--cart {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    .column-layout__col--sidebar {
        width: auto;
        -ms-flex-negative: 0;
        flex-shrink: 0
    }
    .column-layout--cart .column-layout__col--sidebar {
        padding-right: 1rem
    }
    .column-layout--font-desc {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    .column-layout--font-desc .column-layout__col--sidebar {
        width: 100%;
        max-width: none;
        padding-top: 2rem
    }
}

@media (max-width:768px) {
    .column-layout {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    .column-layout__col--sidebar {
        width: 100%;
        max-width: none;
        -ms-flex-negative: 1;
        flex-shrink: 1
    }
    .column-layout--orders .column-layout__col--sidebar {
        max-width: none
    }
    .column-layout--news .column-layout__col--sidebar {
        padding-right: 1rem;
        max-width: none
    }
}

.panel {
    background-color: #fff;
    padding: 1.5rem 2.5rem 1.5em 2.125rem;
    width: 100%;
    font-size: 1em
}

.panel--small-padding {
    padding: 2rem
}

@media (max-width:1024px) {
    .panel {
        padding: 2rem 2.75rem
    }
}

@media (max-width:640px) {
    .panel {
        padding: 2rem;
        margin-bottom: 0
    }
}

.panel--light {
    background-color: #f7f7f7
}

.panel--height-auto {
    height: -webkit-fill-available
}

.login-panel {
    display: flex;
    max-width: 69rem;
    margin: 0 auto 1.25rem;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.login-panel__separator {
    position: absolute;
    font-size: 1.0625rem;
    color: rgba(0, 0, 0, .32);
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    display: none;
    transform: translate(-50%, -50%)
}

@media (max-width:768px) {
    .login-panel__separator {
        position: static;
        margin: 0 auto;
        -webkit-transform: none;
        transform: none
    }
}

.login-panel__column {
    width: 50%;
    padding: 0 1.75rem;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    height: auto
}

@media (max-width:1024px) {
    .login-panel {
        margin: 0 -1.25rem 1.25rem
    }
    .login-panel__column {
        padding: 0 1.25rem
    }
}

@media (max-width:768px) {
    .login-panel {
        margin: -1.25rem 0 1.25rem
    }
    .login-panel__column {
        width: 100%;
        padding: 1.25rem 0
    }
}

.scrollable-content {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch
}

.design-example {
    width: 100%;
    position: relative;
    margin: 0
}

.design-example__title {
    position: absolute;
    top: 4rem;
    left: 4rem;
    font-size: 2.25rem;
    font-weight: 700;
    color: #fff
}

@media (max-width:1200px) {
    .design-example__title {
        top: 3rem;
        left: 3rem
    }
}

@media (max-width:1024px) {
    .design-example__title {
        top: 2rem;
        left: 2rem;
        font-size: 1.75rem
    }
}

@media (max-width:640px) {
    .design-example__title {
        top: 1.25rem;
        left: 1.25rem;
        font-size: 1.5rem
    }
}

.design-example__image,
.design-example__image img {
    display: block;
    width: 100%;
    height: auto
}

.loader {
    background-color: rgba(0, 0, 0, .64);
    position: fixed;
    z-index: 9999;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}

.loader:after,
.loader:before {
    width: 4rem;
    height: 4rem;
    -webkit-animation: loading-rotate 2s infinite;
    animation: loading-rotate 2s infinite;
    border: .25rem solid transparent;
    border-top-color: #fff;
    border-left-color: #fff;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    margin-top: -2rem;
    margin-left: -2rem
}

.loader:after {
    -webkit-animation-duration: 1.2s;
    animation-duration: 1.2s;
    opacity: .64
}

@-webkit-keyframes loading {
    0% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }
    100% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }
}

@keyframes loading {
    0% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }
    100% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }
}

.loader-local {
    display: inline-block;
    vertical-align: bottom;
    width: 2rem!important;
    height: 2rem!important;
    position: relative;
    margin: 0 auto;
    -webkit-animation: loading-rotate 1.2s infinite;
    animation: loading-rotate 1.2s infinite
}

.is-loading .loader-local {
    position: absolute;
    z-index: 10;
    top: 50%;
    left: 50%;
    margin-top: -1rem;
    margin-left: -1rem
}

.loader-local:after,
.loader-local:before {
    width: 2rem;
    height: 2rem;
    -webkit-animation: loading-rotate 2s infinite;
    animation: loading-rotate 2s infinite;
    border: .25rem solid transparent;
    border-top-color: #613afb;
    border-left-color: #613afb;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-animation-duration: .8s;
    animation-duration: .8s
}

.loader-local:after {
    -webkit-animation-duration: 1.6s;
    animation-duration: 1.6s
}

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

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

.character-map {
    word-break: break-all;
    word-wrap: break-word;
    font-size: 5em;
    display: inline-flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: end
}

.character-map li,
.font-info {
    display: -webkit-box;
    display: -ms-flexbox
}

.character-map li {
    display: flex;
    width: 1.575em;
    height: 1.575em;
    flex: 1 1 auto;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: flex-end;
    text-align: center;
    background: #efefef;
    padding: 0 8px 8px 8px;
    margin: 5px
}

.font-list__item--edit:after,
.font-list__item:only-of-type .editor__btn--remove {
    display: none
}

.font-list--spaced-bottom {
    margin-bottom: 3.75em
}

.font-list__item {
    min-height: calc((150px + (360 - 150) * ((100vw - 320px)/ (1920 - 320))) * .875);
    position: relative;
    overflow: hidden;
    background-color: #fff;
    transition: background-color .3s ease
}

.font-list__item:hover {
    background-color: #f1f1f1;
}

.font-list__item:after {
    position: absolute;
    bottom: 0;
    border-bottom: 2px solid #eee;
    max-width: 1372px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    left: 50%;
    margin: 0 auto;
    width: 80%
}

@media (max-width:640px) {
    .font-list__item:after {
        width: 90%
    }
}

.font-list__item:last-child:after {
    border-bottom-width: 0
}

.font-list--last-child-border .font-list__item:last-child:after {
    border-bottom-width: 2px
}

.font-list__item.is-editing {
    background: #f1f1f1;
}

.font-list__item.is-editing--contrast {
    background-color: #030303;
    color: #fff
}

.font-list__item--edit {
    cursor: pointer;
    overflow: visible;
    padding-top: calc((20px + (50 - 20) * ((100vw - 320px)/ (1920 - 320))) * .875)
}

@media (min-width:1920px) {
    .font-list__item {
        min-height: calc(360px * .875)
    }
    .font-list__item--edit {
        padding-top: calc(50px * .875)
    }
}

.non-touch .font-list__item--edit:hover .font-info__item {
    opacity: 0
}

.non-touch .font-list__item--edit:hover .font-info__item--edit {
    opacity: 1
}

.font-info {
    position: relative;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: currentColor;
    font-family: Typedepot;
    font-size: 1rem;
    width: 100%;
    margin: -.3125rem
}

@media (max-width:768px) {
    .font-info {
        font-size: .875rem
    }
}

@media (max-width:480px) {
    .font-info {
        font-size: .75rem
    }
}

.font-info--white {
    color: #fff
}

.font-info__item {
    font-size: 1.25em;
    line-height: 1.2;
    color: inherit;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-transform: uppercase;
    -webkit-transition: opacity .15s ease;
    transition: opacity .15s ease;
    padding: .25em 0
}

.font-info__item:after {
    width: 3px;
    height: 3px;
    background-color: currentColor;
    border-radius: 50%;
    margin-left: .5em;
    margin-right: .5em;
    margin-top: .2em
}

.font-info__item:last-child:after,
.font-list__item--edit .font-info__item:after {
    display: none
}

.font-info__item--edit {
    position: absolute;
    opacity: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    left: 50%;
    top: 0
}

.fit-block,
.font-block {
    overflow: hidden;
    position: relative
}

.font-info__title {
    display: block;
    color: inherit;
    -webkit-transition: color .3s ease;
    transition: color .3s ease;
    font-weight: 700
}

.font-info__title--alt {
    font-weight: 500;
    text-transform: none;
    font-size: 1.2em;
    margin: -.166666666666667em 0 0
}

@media (max-width:480px) {
    .font-info__title--alt {
        margin: 0
    }
}

.font-block {
    max-width: 1372px;
    margin: 0 auto;
    width: 80%;
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
    display: block;
    padding-bottom: calc((20px + (50 - 20) * ((100vw - 320px)/ (1920 - 320))) * .875);
    color: inherit
}

.editor__controls,
.fit-block {
    display: -webkit-box;
    display: -ms-flexbox
}

@media (max-width:640px) {
    .font-block {
        width: 90%
    }
}

.font-list__item--edit .font-block {
    padding-bottom: 0;
    padding-top: 0
}

.font-list__item--edit.is-editing .font-block {
    cursor: default
}

.font-block .non-touch .font-list__item--edit:hover .fit-block__text,
.non-touch .font-block:hover {
}

.non-touch .is-editing .font-block:hover .fit-block__text {
    color: currentColor
}

.non-touch .font-list__item--edit .font-block:hover .font-info__title {
    color: #000
}

.non-touch .font-list__item--edit.is-editing--contrast .font-block:hover .font-info__title {
    color: #fff
}

.non-touch .font-block:hover .font-info__title {
    color: #222
}

.fit-block {
    text-align: left;
    font-size: 0;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    min-height: calc((120px + (290 - 120) * ((100vw - 320px)/ (1920 - 320))) * .875);
    opacity: 0;
    -webkit-transition: opacity 1.2s ease, -webkit-transform 1.2s ease;
    transition: opacity 1.2s ease, -webkit-transform 1.2s ease;
    transition: opacity 1.2s ease, transform 1.2s ease;
    transition: opacity 1.2s ease, transform 1.2s ease, -webkit-transform 1.2s ease;
    transition: opacity .2s linear
}

.btn,
.fit-block__text,
.form__msg {
    text-align: center
}

.fit-block:after {
    min-height: inherit;
    font-size: 0
}

.fit-block.is-fit {
    opacity: 1
}

@media (min-width:1920px) {
    .font-block {
        padding-bottom: calc(50px * .875);
    }
    .font-list__item--edit .font-block {
        padding-top: 0;
        padding-bottom: 0
    }
    .fit-block {
        min-height: calc(290px * .875)
    }
}

.fit-block--below {
    position: absolute;
    top: 0;
    left: 50%;
    max-width: 1372px;
    width: 100%;
    opacity: 0;
    -webkit-transition: opacity 1.2s ease, -webkit-transform 1.2s ease;
    transition: opacity 1.2s ease, -webkit-transform 1.2s ease;
    transition: opacity 1.2s ease, transform 1.2s ease;
    transition: opacity 1.2s ease, transform 1.2s ease, -webkit-transform 1.2s ease;
    -webkit-transform: translateY(0) translateX(-50%);
    transform: translateY(0) translateX(-50%);

}

.fit-block--below.is-fit {
    opacity: 0
}

.touch .fit-block--below {
    display: none
}

.non-touch .font-block:hover .fit-block--below {
    -webkit-animation: fadeInStayFadeOut 4s;
    animation: fadeInStayFadeOut 4s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

@-webkit-keyframes fadeOut {
    0% {
        opacity: 1
    }
    100% {
        opacity: 0
    }
}

@keyframes fadeOut {
    0% {
        opacity: 1
    }
    100% {
        opacity: 0
    }
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

@-webkit-keyframes fadeInStayFadeOut {
    0%,
    100% {
        opacity: 0
    }
    25%,
    75% {
        opacity: 1
    }
}

@keyframes fadeInStayFadeOut {
    0%,
    100% {
        opacity: 0
    }
    25%,
    75% {
        opacity: 1
    }
}

.fit-block__text {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    display: inline-block;
    vertical-align: top;
    white-space: nowrap;
    line-height: 1.2;
    font-size: calc((80px + (200 - 80) * ((100vw - 320px)/ (1920 - 320))) * .875);
    min-width: 100%;
    padding: 0;
    outline: 0;
    color: currentColor;
    -webkit-transition: color .3s ease
}

.fit-block__text:hover {
    color:#613afb;
}

@media (min-width:1920px) {
    .fit-block__text {
        font-size: calc(200px * .875)
    }
}

.is-edited .fit-block__text,
.is-editing .fit-block__text {
    white-space: pre-wrap;
    word-break: break-word;
    display: block;
    width: 100%;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
    cursor: text;
    padding: 1.5% 0;
    transition: all .3s ease
}

.fit-block__text p {
    margin: 0
}

.fit-block__text>* {
    font-size: inherit!important
}

.fit-block__font-size {
    color: transparent;
    visibility: hidden;
    font-size: calc((80px + (200 - 80) * ((100vw - 320px)/ (1920 - 320))) * .875)
}

@media (min-width:1920px) {
    .fit-block__font-size {
        font-size: calc(200px * .875)
    }
}

.editor {
    display: block;
    color: #000;
    position: absolute;
    width: 100%;
    z-index: 1
}

.is-editing--contrast .editor {
    color: #fff
}

.editor__controls {
    margin: -.9em auto -2.5em;
    -ms-flex-wrap: wrap;
    display: flex;
    flex-wrap: wrap;
    left: 0;right: 0;position: relative;-webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    align-content: center;
}

.editor__controls-group,
.editor__range {
    display: -webkit-box;
    display: -ms-flexbox
}

@media (max-width: 1024px) {
    .editor__controls {
        font-size: 0.875em;
        position: inherit;
        justify-content: ce;
    }
    
    .topbar__btn {
        margin-top:10px;
        padding: 0.2em 1.5em;
    }
    
    
}

.editor__controls-group {
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    justify-content: center
}

.editor__controls-group--features {
    width: fit-content;
    padding-left: 20px;padding-right: 20px;
    flex-wrap: nowrap;
    
    background: white;margin-top: 10px;justify-content: center;border-radius: 20px;position: inherit;-webkit-box-flex: 1;
    -ms-flex-positive: 1;
    align-items: center;flex-grow: 1;
    display: inline-flex;
    padding-top: 2px;
align-items: baseline;flex-direction: row;justify-items: stretch;justify-content: center;align-content: stretch;}

.editor__controls-item {
    padding: .2em .3em;
    align-items: center
}

@media (max-width:480px) {
    .editor__controls-group--range,
    .editor__controls-group--range .editor__controls-item {
        width: 100%
    }
}

@media (max-width:1200px) {
    .editor {
        position: relative;
    }
    .editor__controls-group--features,
    .editor__controls-item--hideable {
        display: none
    }
}

.editor__btn {
    display: block;
    color: currentColor;
    -webkit-transition: color .3s ease;
    transition: color .3s ease;
    background-color: transparent;
    border: none;
    outline: 0
}

.non-touch .editor__btn:hover {
    color: #613afb
}

.editor__range {
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 14em;
    margin-top: 0
}

@media (max-width:480px) {
    .editor__range {
        width: 100%
    }
}

.editor__range-slider {
    width: 100%;
    padding: 0 1em;
    margin-bottom: 3px;
}

.editor__range .icon {
    -webkit-transition: fill .3s ease;
    transition: fill .3s ease
}

.editor__range-label {
    text-transform: uppercase;
    font-size: 1em;
    display: none;
}

.fe-list {
    width: 30%;
    display: contents;
    display: -ms-flexbox;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-line-pack: start;
    
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

.fe-list--wide {
    width: 40%;}

.fe-list__item {
    width: 50%;
    padding: .5em
;padding-left: 0.2em;padding-right: 0.2em;}

.fe-list--wide .fe-list__item {
    width: 33.33%;}

.icon {
    display: inline-block
}

.icon--24x24 {
    width: 1.3rem;
    height: 1.3rem;
    padding-left: 0px;
}

.icon--rotate-180 {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.btn {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #000;
    text-transform: uppercase;
    font-size: 1.5em;
    color: #fff;
    font-weight: 700;
    line-height: 1;
    padding: .823529411764706em .941176470588235em;
    border-radius: 24px;
    border-width: 0;
    -webkit-transition: background-color .15s ease;
    transition: background-color .15s ease;
    outline: 0
}

.btn--alt {
    font-weight: 400;
    text-transform: none
}

.ff-list__tag,
.footer-nav__title,
.form-group__field-btn,
.highlight-block__btn,
.highlight-block__title,
.order-header__status,
.topbar__btn {
    text-transform: uppercase
}

.btn--bigger {
    padding: 1em
}

.btn--big {
    padding: .5em 1.125em;
    font-size: 1.75em
}

.btn--bigest {
    border-radius: 8px;
    padding: .625em 1em;
    font-size: calc((18px + (42 - 18) * ((100vw - 320px)/ (1920 - 320))) * .875)
}

@media (min-width:1920px) {
    .btn--bigest {
        font-size: calc(42px * .875)
    }
}

.btn--bigest .icon {
    width: 2rem;
    height: 2rem
}

@media (max-width:1024px) {
    .btn--bigest .icon {
        width: 1.5rem;
        height: 1.5rem
    }
}

.btn--smaller {
    padding: .7em;
    font-size: 1em
}

.btn--min-width {
    min-width: 7.6em;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.btn--124 {
    max-width: 124px
}

.btn--icon-right .icon {
    margin-left: .5em
}

.btn--icon-left {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

.btn--icon-left .icon {
    margin-right: .5em
}

.non-touch .btn:not([disabled]):not(.btn--disabled):hover {
    background-color: #613afb
}

.non-touch .btn:not([disabled]):not(.btn--disabled):active {
    background-color: #7858f9
}

.btn--secondary {
    background-color: white;
    color: #000;
    border: 2px solid black;
}

.non-touch .btn--secondary:not([disabled]):not(.btn--disabled):hover {
    background-color: #4f30c5;
    color: #fff
}

.non-touch .btn--secondary:not([disabled]):not(.btn--disabled):active {
    background-color: #141414
}

.btn--disabled,
.btn[disabled] {
    opacity: .5;
    cursor: not-allowed
}

.btn--light {
    background-color: white;
    color: #000
}

.non-touch .btn--light:not([disabled]):not(.btn--disabled):hover {
    background-color: rgba(0, 0, 0, .06)
}

.is-editing--contrast .btn--light,
.is-editing--contrast .btn--secondary {
    background-color: #fff;
    color: #000;
    opacity: .8
}

.non-touch .is-editing--contrast .btn--light:not([disabled]):not(.btn--disabled):hover,
.non-touch .is-editing--contrast .btn--secondary:not([disabled]):not(.btn--disabled):hover {
    background-color: #f7f7f7;
    color: #000;
    opacity: .8
}

.btn-row {
    width: calc(100% + 1em);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: -.5em
}

.btn-row .btn {
    margin: 1.5em 1.5em .5em 1.5em
}

.action-list--top-auto,
.btn-row--top-auto {
    margin-top: auto
}

.btn-row--center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.btn-row--right {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.btn-row--space-between {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media (max-width:640px) {
    .btn-row--space-between {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

.btn-row--spaced-bottom {
    margin-bottom: 4em
}

.action-list {
    font-size: 1rem
}

.action-list__item {
    margin-bottom: .5em
}

.action-list__item:last-child {
    margin-bottom: 0
}

.action-link {
    display: inline-block;
    color: #613afb;
    font-weight: 300;
    font-size: 1.5em;
    background-color: transparent;
    border: none;
    padding: 0
}

.action-link--bigger {
    font-size: 1.7em;
    font-weight: 700
}

.action-link--accent {
    color: #613afb
}

.non-touch .action-link:hover {
    text-decoration: underline
}

.remove-btn {
    padding: 0;
    width: 2.5em;
    height: 2.5em;
    background-color: #f7f7f7;
    position: relative;
    color: transparent;
    border: 2px solid black;
    border-radius: 50%;
    transition: background-color .3s ease;
    outline: 0
}

.remove-btn:after,
.remove-btn:before {
    width: 1.25em;
    height: 2px;
    background-color: #000;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg);
    -webkit-transition: background-color .3s ease;
    transition: background-color .3s ease
}

.remove-btn:before {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg)
}

.non-touch .remove-btn:hover {
    background-color: #613afb
}

.non-touch .remove-btn:hover:after,
.non-touch .remove-btn:hover:before {
    background-color: #fff
}

.add-btn {
    display: block;
    width: 3.75em;
    height: 3.75em;
    border: 0;
    background-color: #fff;
    border: 2px solid black;
    outline: 0;
    position: relative;
    cursor: pointer;
    border-radius: 50%;
    margin-left: 1em;
    -webkit-transition: background-color .3s ease, -webkit-transform .3s ease;
    transition: background-color .3s ease, -webkit-transform .3s ease;
    transition: background-color .3s ease, transform .3s ease;
    transition: background-color .3s ease, transform .3s ease, -webkit-transform .3s ease
}

.add-btn--remove:before {
    display: none
}

.form,
.form__row {
    display: -webkit-box;
    display: -ms-flexbox
}

.add-btn.is-open {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.add-btn:after,
.add-btn:before {
    width: 2em;
    height: 2px;
    background-color: #000;
    -webkit-transition: background-color .3s ease;
    transition: background-color .3s ease;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.add-btn:before {
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
    transform: translate(-50%, -50%) rotate(90deg)
}

.non-touch .add-btn:hover {
    background-color: #613afb;
    border: 2px solid black;
}

.non-touch .add-btn:hover:after,
.non-touch .add-btn:hover:before {
    background-color: #fff;
}

.non-touch .add-btn:active {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
}

.form {
    margin: 0 auto;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
    font-size: 1rem
}

.form--scale {
    font-size: calc((16px + (22.4 - 16) * ((100vw - 320px)/ (1920 - 320))) * .875)
}

@media (min-width:1920px) {
    .form--scale {
        font-size: 1.4rem
    }
}

.form--narrow {
    max-width: 30rem;
    max-height: 40em
}

.form--narrow-2 {
    max-width: 32rem
}

.form--100 {
    width: 100%
}

.form__text {
    margin: 0 0 .25em;
    font-size: .9375rem;
    color: rgba(0, 0, 0, .54);
    font-weight: 300;
    line-height: 1.46
}

.form__text-link {
    color: #df3726;
    text-decoration: none
}

.non-touch .form__text-link:hover {
    text-decoration: underline
}

.form__text--with-icon {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: .5em;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

@media (max-width:480px) {
    .form__text--with-icon {
        -webkit-box-flex: 0;
        -ms-flex-positive: 0;
        flex-grow: 0
    }
}

.form__text-icon {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    margin-right: .5em
}

.form__msg {
    font-size: 1.125em;
    margin: 0 0 .5em;
    color: #000
}

.form__msg--spaced-top,
.form__row--spaced-top {
    margin-top: 1.5em
}

.form__msg--error {
    color: #b90d0d
}

.form__msg--warning {
    color: #ec7a09
}

.form__msg--success {
    color: #26c676
}

.form__row {
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.form__row .form__item {
    width: 12rem;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

.form__row .form__item--auto {
    width: auto
}

.form__row .form__item--half {
    max-width: 50%
}

.form__item {
    padding: .5em .75em
}

.form__item--alt {
    padding: .75em
}

.field__input,
.field__label {
    padding: .722222222222222em .888888em;
    line-height: 1.333333333333333;
    font-family: Typedepot;
    font-size: 1em
}

.form__item--btn-align {
    text-align: right
}

.form__item--btn-align-2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

@media (max-width:480px) {
    .form__row .form__item--half {
        max-width: none
    }
    .form__item--btn-align {
        text-align: center
    }
    .form__item--btn-align-2 {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

.form__error {
    display: block;
    font-size: 1em;
    margin-top: .5em;
    color: #b90d0d
}

.form__error-container {
    display: block;
    width: 100%
}

.form__error-container--alt .form__error {
    color: currentColor
}

.field__input,
.fieldset__title {
    display: block;
    color: #000;
    font-weight: 300
}

.fieldset {
    margin-left: -.75em;
    margin-right: -.75em;
    margin-bottom: 0
}

.fieldset--smaller-bottom {
    margin-bottom: .75em
}

.fieldset--negative-bottom {
    margin-bottom: -.5em
}

.fieldset--no-margin-bottom {
    margin-bottom: 0
}

.fieldset--spaced-top {
    margin-top: 1.75em
}

.fieldset__title {
    font-size: 1.5em;
    font-weight: 700;
    margin: 0 .75em .555556em
}

.field {
    font-size: 1em;
    position: relative
}

.field__input {
    position: relative;
    z-index: 1;
    width: 100%;
    font-size: 1em;
    border: 1px solid #aeaeae;
    -webkit-transition: border-color .3s ease;
    transition: border-color .3s ease;
    appearance: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-radius: 0;
    background: #fff
}

.field__input::-ms-clear {
    display: none
}

.field__label,
.form-group {
    display: -webkit-box;
    display: -ms-flexbox
}

.field__input:focus {
    border-color: #030303
}

.field__input--error,
.field__input.error {
    border-color: #b90d0d
}

.field__input--warning {
    border-color: #ec7a09
}

.field__input--success {
    border-color: #26c676
}

.field__input::-webkit-input-placeholder {
    color: transparent;
    font-weight: 300;
    opacity: 1;
    line-height: 1.333333333333333
}

.field__input:focus::-webkit-input-placeholder {
    color: #858585
}

.field__input:-webkit-autofill::-webkit-input-placeholder {
    opacity: 0
}

.field__input:-webkit-autofill+.field__label,
.field__input:-webkit-autofill:focus+.field__label,
.field__input:-webkit-autofill:hover+.field__label {
    opacity: 0
}

.field__input::-moz-placeholder {
    color: transparent;
    font-weight: 300;
    opacity: 1;
    line-height: 1.333333333333333
}

.field__input:focus::-moz-placeholder {
    color: #858585
}

.field__input:-ms-input-placeholder {
    color: transparent;
    font-weight: 300;
    opacity: 1;
    line-height: 1.333333333333333
}

.field__input:focus:-ms-input-placeholder {
    color: #858585
}

.field__input:-moz-placeholder {
    color: transparent;
    font-weight: 300;
    opacity: 1;
    line-height: 1.333333333333333
}

.field__input:focus:-moz-placeholder {
    color: #858585
}

@media (max-width:768px) {
    .field__input {
        font-size: 16px
    }
}

.field__input--textarea {
    height: auto;
    max-height: 20em;
    min-height: 2.777777777777778em
}

.field__label {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    right: 0;
    border: 1px solid transparent;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 1em;
    font-weight: 500;
    color: #858585;
    opacity: 1
}

.field__label-optional {
    font-size: .777777777777778em;
    color: rgba(0, 0, 0, .24)
}

@media (max-width:1024px) {
    .field__label-optional {
        font-size: .625em
    }
}

@media (max-width:768px) {
    .field__label {
        font-size: 16px
    }
}

.field__input.is-filled+.field__label,
.field__input:focus+.field__label {
    opacity: 0;
    z-index: 0
}

.field__msg {
    margin: .5em 0 0
}

.field__msg--error {
    color: #b90d0d
}

.field__msg--warning {
    color: #ec7a09
}

.field__msg--success {
    color: #26c676
}

.check-radio {
    display: inline-block
}

.check-radio__element {
    display: inline-block;
    padding-left: 1.75rem;
    position: relative;
    font-size: 1rem;
    line-height: 1.25rem;
    font-weight: 300;
    color: #000
}

.is-editing--contrast .check-radio__element {
    color: #fff
}

.check-radio__element a {
    color: inherit;
    display: inline
}

.check-radio__element:after,
.check-radio__element:before {
    content: "";
    width: 1.25rem;
    height: 1.25rem;
    background-color: #fff;
    background-position: center center;
    border: 1px solid #aeaeae;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transition: all .35s ease;
    transition: all .2s cubic-bezier(.4, 0, .2, 1);
    border-radius: 4px
}

.check-radio__element:after {
    -webkit-transform: scale(0);
    transform: scale(0)
}

.check-radio__element--alt {
    font-size: 1.2em;
    text-transform: uppercase
}

.check-radio__input--error+.check-radio__element {
    color: #b90d0d
}

.check-radio__input--error+.check-radio__element:before {
    border-color: #b90d0d
}

.check-radio__input {
    display: none
}

.lt-ie9 .check-radio__input {
    display: inline-block;
    vertical-align: middle
}

.lt-ie9 .check-radio__element:after,
.lt-ie9 .check-radio__element:before {
    display: none
}

.check-radio__input:checked~.check-radio__element:after {
    background: #000;
    border-color: #000;
    -webkit-transform: scale(1);
    transform: scale(.9)
}

.check-radio__input:disabled~.check-radio__element:after {
    background: #aeaeae
}

.check-radio__input[type=radio]~.check-radio__element:after,
.check-radio__input[type=radio]~.check-radio__element:before {
    border-radius: 50%
}

.check-radio__input[type=radio]~.check-radio__element:after {
    width: .75rem;
    height: .75rem;
    border: 0;
    top: .25rem;
    left: .25rem
}

.check-radio__input[type=checkbox]:checked~.check-radio__element:after {
    background: url(../images/checkbox.svg) center center no-repeat #000
}

.select--alt,
.tag {
    background-color: transparent;
}

.check-radio--square {
    margin: .5em 1em .5em 0
}

.check-radio--square .check-radio__element {
    font-size: 1.875em;
    line-height: 1;
    padding-left: 1.25em;
    font-weight: 500;
    -webkit-transition: color .3s ease;
    transition: color .3s ease
}

.check-radio--square .check-radio__element:before {
    border: 4px solid #000;
    border-radius: 0;
    width: 1em;
    height: 1em
}

.check-radio--square .check-radio__element:after {
    border-radius: 0;
    width: 1em;
    height: 1em
}

.is-checked .check-radio--square .check-radio__input:checked~.check-radio__element {
    color: #613afb
}

.select {
    position: relative;
    display: inline-block;
    max-width: 100%
}

.select:after {
    position: absolute;
    top: 50%;
    right: .5em;
    width: 0;
    height: 0;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    border: .375em solid transparent;
    border-top: .5em solid #000;
    border-bottom-width: 0
}

.select--2:after {
    display: none
}

.select--border {
    border: 2px solid #000
}

.is-checked .select--border {
    border-color: #000
}

.select--alt:after {
    border: 0;
    width: .625em;
    height: .625em;
    border-bottom: 1px solid #000;
    border-right: 1px solid #000;
    -webkit-transform: rotate(45deg) translate(-50%, -50%);
    transform: rotate(45deg) translate(-50%, -50%);
    right: 1em
}

.select--alt2 {
    background-color: transparent;
    color: currentColor;
    min-width: auto
}

.select--alt2:after {
    border: 0;
    width: .625em;
    height: .625em;
    border-bottom: 1px solid currentColor;
    border-right: 1px solid currentColor;
    -webkit-transform: rotate(45deg) translate(-50%, -50%);
    transform: rotate(45deg) translate(-50%, -50%);
    right: 1em
}

.select--full {
    width: 100%
}

.select__element {
    width: 100%;
    border: 0;
    padding: .35em 1.5em .35em .5em;
    background-color: transparent;
    font-size: 1.25em;
    color: rgba(0, 0, 0, .64);
    font-weight: 300;
    line-height: 1.3;
    appearance: none;
    border-radius: 0
}

.select--alt .select__element {
    color: #df3726;
    padding-right: 2em
}

.select--alt2 .select__element {
    color: currentColor;
    font-weight: 700;
    padding-right: 2em
}

.select__element::-ms-expand {
    display: none
}

.select__element:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #000
}

.select__element option:not(:checked) {
    color: #000
}

.subscribe-form {
    font-size: 1rem;
    max-width: 39rem;
    margin-left: auto;
    margin-bottom: 1rem
}

@media (max-width:1024px) {
    .subscribe-form {
        max-width: 30em
    }
}

@media (max-width:768px) {
    .subscribe-form {
        max-width: none
    }
}

.subscribe-form__text {
    margin: 0 0 .75em;
    color: rgba(255, 255, 255, .54);
    font-size: 1em;
    line-height: 1.375
}

.subscribe-form__text:last-child {
    margin-bottom: 0
}

.subscribe-form__text a {
    color: inherit
}

.form-group {
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 1em;
    font-size: 1rem;
    width: 100%
}

.form-group__field,
.link-list {
    display: -webkit-box;
    display: -ms-flexbox
}

.form-group--small-width {
    max-width: 27rem
}

.form-group--smaller {
    font-size: .875rem
}

.form-group--spaced-bottom {
    margin-bottom: 2.285714285714286em
}

.form-group--spaced {
    margin: .5em
}

.form-group__field {
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative
}

.form-group__field-input {
    width: 100%;
    font-family: Typedepot, monospace;
    font-size: 1.25em;
    font-weight: 300;
    height: 100%;
    background: #eee;
    border: 0;
    outline: 0;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-radius: .375em 0 0 .375em;
    padding: 0 1.2em
}

.form-group__field-input::-webkit-input-placeholder {
    color: rgba(0, 0, 0, .38);
    font-size: 1em;
    font-weight: 300;
    line-height: 1.4
}

.form-group__field-input::-moz-placeholder {
    color: rgba(0, 0, 0, .38);
    font-size: 1em;
    font-weight: 300;
    line-height: 1.4;
    line-height: 2.75;
    opacity: 1
}

.form-group__field-input:-ms-input-placeholder {
    color: rgba(0, 0, 0, .38);
    font-size: 1em;
    font-weight: 300;
    line-height: 1.4
}

.form-group__field-input:-moz-placeholder {
    color: rgba(0, 0, 0, .38);
    font-size: 1em;
    font-weight: 300;
    line-height: 1.4;
    opacity: 1
}

.form-group__field-input--border {
    border: 1px solid #aeaeae;
    border-right-width: 0;
    width: 10em
}

.form-group__field-btn {
    background-color: #613afb;
    border: 0;
    height: 2.8em;
    color: #fff;
    border-top-right-radius: .375em;
    border-bottom-right-radius: .375em;
    font-size: 1.25em;
    font-weight: 700;
    -webkit-transition: background-color .15s ease;
    transition: background-color .15s ease;
    outline: 0;
    padding: 0 1.25em
}

.hosted-field,
.hosted-fields--label {
    display: block;
    font-family: Typedepot;
    font-weight: 300
}

.form-group__field-btn--alt {
    background-color: #030303
}

.non-touch .form-group__field-btn:hover {
    background-color: #4f30c5
}

.non-touch .form-group__field-btn:active {
    background-color: #d22f1f
}

.non-touch .form-group__field-btn--alt:hover {
    background-color: #0d0d0d
}

.non-touch .form-group__field-btn--alt:active {
    background-color: #000
}

@media (max-width:480px) {
    .form-group__field-input {
        height: 2.8em;
        border-radius: .375em .375em 0 0
    }
    .form-group__field {
        width: 100%
    }
    .form-group__field-input--border {
        border-bottom-width: 0;
        border-right-width: 1px
    }
    .form-group__field-btn {
        width: 100%;
        border-top-right-radius: 0;
        border-bottom-left-radius: .375em
    }
}

.hosted-fields--label {
    font-size: 1.125em;
    color: #000;
    margin-bottom: 1.555556em
}

.hosted-field {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 2.875em;
    width: 100%;
    padding: 0 1em;
    border: 1px solid #aeaeae;
    background: #fff;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-radius: 0;
    font-size: 16px;
    line-height: 24px;
    -webkit-transition: border .3s;
    transition: border .3s
}

.noUi-target,
.noUi-target *,
.slick-slider {
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
    -ms-user-select: none;
    -webkit-box-sizing: border-box
}

.braintree-hosted-fields-focused {
    border: 1px solid #030303
}

.braintree-hosted-fields-invalid {
    border: 1px solid #b90d0d
}

.braintree-hosted-fields-valid {
    border: 1px solid #26c676
}

.link-btn {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: rgba(0, 0, 0, .54);
    text-decoration: none
}

.link-btn--alt {
    text-decoration: underline
}

.notification__text a,
.pagination__btn,
.pagination__link,
.tag {
    text-decoration: none
}

.link-btn__icon {
    display: inline-block;
    margin-right: .75em
}

.link-btn__text {
    display: inline-block;
    display: none;
    font-size: 1.5em
}

.link-btn--alt .link-btn__text {
    font-size: 1em
}

.link-btn__text+.link-btn__icon {
    margin-left: .75em;
    margin-right: 0
}

.link-list {
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: calc((18px + (40 - 18) * ((100vw - 320px)/ (1920 - 320))) * .875);
    margin-bottom: 1.625em
}

@media (min-width:1920px) {
    .link-list {
        font-size: calc(40px * .875)
    }
}

.link-list__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.link-list__item:after {
    content: "|";
    margin: 0 .4em;
    color: rgba(0, 0, 0, .24)
}

.main-nav__link:before,
.pagination__btn:after,
.popup__close-overlay,
.popup__close:after,
.popup__close:before,
.sitemap__list .sitemap__list .sitemap__list-item:after {
    content: ""
}

.link-list__link,
.tag {
    font-weight: 300;
    color: #000
}

.link-list__item:last-child:after {
    display: none
}

.link-list__link {
    display: inline-block;
    font-size: 1em
}

.tags-group {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: calc((10px + (16 - 10) * ((100vw - 320px)/ (1920 - 320))) * .875);
    margin-bottom: -1em
}

@media (min-width:1920px) {
    .tags-group {
        font-size: calc(16px * .875)
    }
}

.tags-group--border {
    border-top: .5rem solid #000;
    padding-top: 2em
}

.tags-group--center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.tag {
    display: inline-block;
    font-size: clamp(1.5rem, 2vw, 1rem);
    margin: 0 .615384615384615em .615384615384615em 0;
    line-height: 1;
    border-radius: 20px;
    border: 2px solid black;
    padding: .4em .923076923076923em;
    -webkit-transition: border-color .3s ease, color .3s ease, background-color .3s ease;
    transition: border-color .3s ease, color .3s ease, background-color .3s ease;
    background: #f5f5f5
}

.pagination,
.pagination__list {
    display: -webkit-box;
    display: -ms-flexbox
}

.non-touch .tag:hover,
.tag--selected-alt {
    border-color: #613afb;
    color: #fff;
    background: #613afb
}

.tag--selected {
    background-color: #613afb;
    color: #fff
}

.tag--selected-alt {
    color: #df3726
}

.pagination {
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-top: 2.5em
}

@media (max-width:640px) {
    .pagination {
        font-size: .875rem
    }
}

.pagination__list {
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.pagination__btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: .5em 0;
    position: relative
}

.pagination__btn:after {
    display: block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 1.125em;
    height: 1.125em;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    -webkit-transition: border-color .3s ease;
    transition: border-color .3s ease;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin: 0 .5em
}

.pagination__btn--prev {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

.address-list__item,
.flex-table__col--column,
.notification-box,
.popup {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal
}

.pagination__btn--prev:after {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg)
}

.pagination__btn--disabled {
    opacity: .2;
    cursor: not-allowed
}

.pagination__btn-text {
    display: block;
    color: #000;
    font-size: 1.25em;
    line-height: 1;
    -webkit-transition: color .3s ease;
    transition: color .3s ease
}

@media (max-width:640px) {
    .pagination__btn-text {
        display: none
    }
}

.non-touch .pagination__btn:hover:not(.pagination__btn--disabled) .pagination__btn-text {
    color: rgba(0, 0, 0, .68)
}

.non-touch .pagination__btn:hover:not(.pagination__btn--disabled):after {
    border-color: #df3726
}

.pagination__link {
    display: block;
    font-size: 1.5em;
    line-height: 1;
    font-weight: 600;
    padding: .25em;
    text-align: center;
    min-width: 1.5em;
    margin: 0 .25em;
    color: #000;
    -webkit-transition: color .3s ease;
    transition: color .3s ease
}

.custom-dropdown__link,
.popup {
    display: -webkit-box;
    display: -ms-flexbox
}

.pagination__link.is-active {
    color: #df3726
}

.non-touch .pagination__link:not(.is-active):hover {
    color: rgba(0, 0, 0, .68)
}

.popup {
    font-size: calc((10px + (16 - 10) * ((100vw - 320px)/ (1920 - 320))) * .875);
    background: rgba(0, 0, 0, .5);
    position: fixed;
    z-index: 9999;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 5em;
    padding-top: calc(env(safe-area-inset-top) + 5em);
    padding-bottom: calc(env(safe-area-inset-bottom) + 5em);
    padding-left: calc(env(safe-area-inset-left) + 5em);
    padding-right: calc(env(safe-area-inset-right) + 5em);
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-direction: column;
    flex-direction: column;
    opacity: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.popup__container,
.popup__controls {
    max-width: 1310px;
    position: relative;
    width: 100%
}

@media (min-width:1920px) {
    .popup {
        font-size: calc(16px * .875)
    }
}

.popup.is-open {
    visibility: visible;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1
}

@media (max-width:480px) {
    .popup {
        padding-left: 1.5em;
        padding-right: 1.5em;
        padding-left: calc(env(safe-area-inset-left) + 1.5em);
        padding-right: calc(env(safe-area-inset-right) + 1.5em)
    }
}

.popup__container {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    max-height: 100%;
    background-color: #fff;
    z-index: 2;
    -webkit-transform: translateY(5em) scale(1.1);
    transform: translateY(5em) scale(1.1);
    opacity: 0;
    -webkit-transition: opacity .3s ease, -webkit-transform .3s ease;
    transition: opacity .3s ease, -webkit-transform .3s ease;
    transition: transform .3s ease, opacity .3s ease;
    transition: transform .3s ease, opacity .3s ease, -webkit-transform .3s ease
}

.popup-is-open .popup__container {
    -webkit-transform: translateY(0) scale(1);
    transform: translateY(0) scale(1);
    opacity: 1
}

.popup__content {
    padding: 1.5em
}

.popup__content img {
    display: block;
    margin: 0 auto
}

.popup__close-overlay {
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background-color: transparent;
    outline: 0;
    cursor: pointer
}

.popup__close {
    padding: 0;
    z-index: 2;
    position: absolute;
    top: 0;
    left: 100%;
    width: 4.375em;
    height: 4.375em;
    background-color: #eee;
    border: 0;
    outline: 0;
    opacity: 0;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-transition: background-color .3s ease, opacity .3s ease .3s, -webkit-transform .3s ease .3s;
    transition: background-color .3s ease, opacity .3s ease .3s, -webkit-transform .3s ease .3s;
    transition: background-color .3s ease, transform .3s ease .3s, opacity .3s ease .3s;
    transition: background-color .3s ease, transform .3s ease .3s, opacity .3s ease .3s, -webkit-transform .3s ease .3s
}

@media (max-width:480px) {
    .popup__close {
        top: auto;
        left: auto;
        right: 0;
        bottom: 100%
    }
}

.popup-is-open .popup__close {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1
}

.popup__close:after,
.popup__close:before {
    width: 2.125em;
    height: 3px;
    background-color: #000;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg)
}

.popup__close:after {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg)
}

.non-touch .popup__close:hover {
    background-color: #e1e1e1
}

.non-touch .popup__close:active {
    background-color: #d5d5d5
}

.custom-dropdown {
    display: inline-block;
    position: relative
}

.custom-dropdown__list {
    border: 1px solid #eee;
    padding: .75em;
    position: absolute;
    z-index: 1;
    right: 0;
    top: 125%;
    background-color: #fff;
    -webkit-transform: translateY(-1em);
    transform: translateY(-1em);
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity .3s ease, visibility .3s ease, -webkit-transform .3s ease;
    transition: opacity .3s ease, visibility .3s ease, -webkit-transform .3s ease;
    transition: transform .3s ease, opacity .3s ease, visibility .3s ease;
    transition: transform .3s ease, opacity .3s ease, visibility .3s ease, -webkit-transform .3s ease
}

.is-open .custom-dropdown__list {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    visibility: visible
}

.custom-dropdown__link {
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 1em;
    margin-bottom: .5em;
    color: #000;
    text-decoration: none;
    -webkit-transition: color .3s ease;
    transition: color .3s ease
}

.notification-box,
.notification__icon {
    display: -webkit-box;
    display: -ms-flexbox
}

.custom-dropdown__link:last-child {
    margin-bottom: 0
}

.non-touch .custom-dropdown__link:hover {
    color: #df3726
}

.custom-dropdown__link-icon {
    width: 1.25em;
    height: 1.25em;
    fill: rgba(0, 0, 0, .75);
    margin-right: .5rem;
    -webkit-transition: fill .3s ease;
    transition: fill .3s ease
}

.non-touch .custom-dropdown__link:hover .custom-dropdown__link-icon {
    fill: #df3726
}

.notification-box {
    position: fixed;
    z-index: 1000;
    bottom: 1.5em;
    right: 1.5em;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    max-width: 28.5em
}

@media (max-width:480px) {
    .notification-box {
        max-width: none;
        width: 90%;
        right: 5%
    }
}

.purchase-page .notification-box {
    bottom: 11em
}

.ie-11 .purchase-page .notification-box {
    bottom: 1.5em
}

@media (max-width:1200px) {
    .purchase-page .notification-box {
        bottom: 1.5em
    }
}

.notification {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 1.142857142857143rem;
    padding: .75em;
    background-color: #fff;
    -webkit-box-shadow: 0 1px 4px rgba(102, 102, 102, .14);
    box-shadow: 0 1px 4px rgba(102, 102, 102, .14);
    border: 1px solid rgba(190, 190, 190, .08);
    -webkit-animation: notification-open .3s ease;
    animation: notification-open .3s ease;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    opacity: 0;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: opacity 1s, -webkit-transform 1s;
    transition: opacity 1s, -webkit-transform 1s;
    transition: opacity 1s, transform 1s;
    transition: opacity 1s, transform 1s, -webkit-transform 1s;
    margin-bottom: 1em
}

.notification:last-child {
    margin-bottom: 0
}

.notification.is-closed {
    -webkit-animation: notification-close .3s ease;
    animation: notification-close .3s ease
}

@-webkit-keyframes notification-open {
    0% {
        opacity: 0;
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes notification-open {
    0% {
        opacity: 0;
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@-webkit-keyframes notification-close {
    0% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }
}

@keyframes notification-close {
    0% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }
}

.notification--info {
    color: #6b81ef
}

.notification--warning {
    color: #ec7a09
}

.notification--success {
    color: #26c676
}

.notification--error {
    color: #b90d0d
}

.notification__icon {
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-left: 3px;
    width: 1.5em;
    height: 1.5em;
    /*fill: currentColor*/
}

.notification__close {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    color: #000;
    background-color: #eee;
    width: .8em;
    height: .8em;
    border-radius: 50%;
    margin-left: .875em;
    padding: 0;
    border: 0;
    outline: 0;
    -webkit-transition: color .3s ease, background-color .3s ease;
    transition: color .3s ease, background-color .3s ease
}

.non-touch .notification__close:hover {
    color: #fff;
    background-color: #613afb;
}

.non-touch .notification__close:active {
    background-color: #d22f1f
}

.notification__text {
    color: #000;
    font-size: 1em;
    font-weight: 300;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding: 0 .625em;
    margin: 0
}

.notification__text a {
    display: inline-block;
    font-size: .875em;
    color: #df3726
}

.non-touch .notification__text a:hover {
    text-decoration: underline;
    color: #e24738
}

.main-nav__link,
.site-logo,
.sitemap__list-link,
.topbar__btn,
.topbar__link {
    text-decoration: none
}

.non-touch .notification__text a:active {
    color: #d22f1f
}

.sitemap {
    font-size: 1.5em;
    margin: 0 auto
}

@media (max-width:1024px) {
    .sitemap {
        font-size: 1.375em
    }
}

@media (max-width:640px) {
    .sitemap {
        font-size: 1.125em
    }
}

.sitemap__list .sitemap__list,
.sitemap__list .sitemap__list .sitemap__list-item {
    padding-left: 1em
}

.sitemap__list .sitemap__list .sitemap__list-item:before {
    content: "";
    position: absolute;
    left: -.5em;
    top: .625em;
    width: 1em;
    height: 1px;
    background: #eee
}

.sitemap__list .sitemap__list .sitemap__list-item:after {
    position: absolute;
    top: 0;
    left: -.5em;
    bottom: 0;
    width: 1px;
    background: #eee
}

.sitemap__list .sitemap__list .sitemap__list-item:first-child {
    padding-top: 1em
}

.sitemap__list .sitemap__list .sitemap__list-item:first-child:before {
    top: 1.625em
}

.sitemap__list .sitemap__list .sitemap__list-item:first-child:after {
    top: .625em
}

.sitemap__list .sitemap__list .sitemap__list-item:last-child:after {
    bottom: auto;
    height: .625em
}

.sitemap__list-item {
    padding-bottom: 1em;
    position: relative
}

.sitemap__list-item:last-child {
    padding-bottom: 0
}

.sitemap__list-link {
    display: inline-block;
    font-size: 1em;
    line-height: 1;
    color: #000;
    -webkit-transition: color .3s ease;
    transition: color .3s ease
}

.sitemap__list-link--large {
    font-weight: 700;
    font-size: 1.125em
}

.sitemap__list-link--small {
    font-size: .875em;
    color: rgba(0, 0, 0, .8)
}

.non-touch .sitemap__list-link:hover {
    color: #df3726
}

.main-header {
    background-color: #030303;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
    will-change: transform
}

.main-nav__link,
.main-nav__list-item--profile {
    position: relative
}

.main-header--transition {
    -webkit-transition: -webkit-transform .6s ease;
    transition: -webkit-transform .6s ease;
    transition: transform .6s ease;
    transition: transform .6s ease, -webkit-transform .6s ease
}

.mobile-menu-is-open .main-header {
    -webkit-transform: translateY(0)!important;
    transform: translateY(0)!important
}

.site-logo {
    margin: .5rem 1rem .5rem 0;
    display: inline-block
}

.site-logo__link {
    display: block
}

.site-logo__link img {
    display: block;
    width: 80%;
    height: auto;
    max-width: 100%
}

.main-nav,
.main-nav__list {
    display: -webkit-box;
    display: -ms-flexbox
}

.site-logo--smaller {
    max-width: 9rem
}

@media (max-width:480px) {
    .site-logo {
        max-width: 8rem
    }
}

.main-nav {
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    font-size: 1rem
}

.main-nav__list {
    display: flex
}

.main-nav__list-item {
    margin: 0 1em
}

.main-nav__list-item:last-child {
    margin-right: 0
}

.main-nav__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #fff;
    font-size: 1.25em;
    line-height: 1.2;
    padding: 1.2em 0;
    z-index: 2;
    background-color: #030303;
    -webkit-transition: color .3s ease;
    transition: color .3s ease;
    cursor: pointer
}

.main-nav__link:before {
    background-color: #f9f9f9;
    height: .2em;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    opacity: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.non-touch .main-nav__link:hover,
.non-touch .main-nav__list-item:hover .main-nav__link {
    color: #613afb
}

.main-nav__link.is-active:before,
.non-touch .main-nav__link:hover:before,
.non-touch .main-nav__list-item:hover .main-nav__link:before {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1
}

.main-nav__link .icon {
    margin-left: .6em;
    margin-right: .6em;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    fill: #fff
}

.main-nav__list-item--profile .main-nav__link .icon {
    margin-left: 0
}

.main-nav__mobile-menu-btn {
    outline: 0;
    display: none;
    width: 2.75em;
    height: 2.75em;
    padding: 0;
    border: 0;
    background-color: transparent;
    position: relative
}

.main-nav__mobile-menu-btn:after,
.main-nav__mobile-menu-btn:before {
    left: .5em;
    width: 1.75em;
    content: ""
}

.main-nav__mobile-menu-btn:before {
    position: absolute;
    top: .75em;
    height: 1.25em;
    border-top: 3px solid #fff;
    border-bottom: 3px solid #fff;
    -webkit-transition: -webkit-transform .3s ease;
    transition: -webkit-transform .3s ease;
    transition: transform .3s ease;
    transition: transform .3s ease, -webkit-transform .3s ease
}

.main-nav__mobile-menu-btn:after {
    position: absolute;
    top: 1.25em;
    height: 3px;
    background-color: #fff;
    -webkit-transition: -webkit-transform .3s ease;
    transition: -webkit-transform .3s ease;
    transition: transform .3s ease;
    transition: transform .3s ease, -webkit-transform .3s ease
}

.mobile-menu-is-open .main-nav__mobile-menu-btn:before {
    height: 3px;
    border: 0;
    background: #fff;
    -webkit-transform: rotate(225deg) translate(-.375em, -.375em);
    transform: rotate(225deg) translate(-.375em, -.375em)
}

.mobile-menu-is-open .main-nav__mobile-menu-btn:after {
    -webkit-transform: rotate(-225deg);
    transform: rotate(-225deg)
}

.main-nav__submenu {
    position: absolute;
    z-index: 1;
    background-color: #000;
    padding: .5em 0 1em;
    opacity: 0;
    -webkit-transform: translateY(-1em);
    transform: translateY(-1em);
    visibility: hidden;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.main-nav__list-item--profile .main-nav__submenu {
    right: 0;
    min-width: 100%
}

.main-nav__submenu-link {
    display: block;
    font-size: 1.2em;
    color: rgba(255, 255, 255, .8);
    text-decoration: none;
    padding: .8em;
    margin: 0 1em
}

.main-nav__submenu--mega,
.topbar__row {
    display: -webkit-box;
    display: -ms-flexbox;
    -ms-flex-wrap: wrap
}

.non-touch .main-nav__submenu-link:hover {
    color: #fff
}

.main-nav__submenu--mega {
    max-width: 96rem;
    display: list-item;
    flex-wrap: wrap
}

.main-nav__submenu--mega .main-nav__submenu-link:not(:last-child) {
    width: 33.33%;
    border-bottom: 1px solid;
    min-width: 290px
}

.non-touch .main-nav__list-item:hover .main-nav__submenu {
    visibility: visible;
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

@media (max-width:1024px) {
    .main-nav__list-item {
        margin-left: .8em;
        margin-right: .8em
    }
    .main-nav__link-hidden-text {
        display: none
    }
    .main-nav__list-item--profile .main-nav__link .icon {
        margin-left: .6em
    }
    .main-nav__list-item--profile .main-nav__submenu {
        min-width: 7em;
        left: auto
    }
}

@media (max-width:768px) {
    .main-nav {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    .main-nav__list--primary {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        width: 100%;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        max-height: calc(100vh - 5em);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        opacity: 0;
        position: absolute;
        z-index: 111;
        top: 100%;
        left: 0;
        right: 0;
        -webkit-transform: translateY(-1em);
        transform: translateY(-1em);
        visibility: hidden;
        -webkit-transition: all .3s ease;
        transition: all .3s ease;
        background-color: #030303;
        border-top: 1px solid rgba(255, 255, 255, .2);
        padding-left: 5%;
        padding-right: 5%;
        padding-left: calc(env(safe-area-inset-left) + 5%);
        padding-right: calc(env(safe-area-inset-right) + 5%)
    }
    .mobile-menu-is-open .main-nav__list--primary {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
        visibility: visible
    }
    .main-nav__list-item {
        margin-left: .5em;
        margin-right: .5em
    }
    .main-nav__list-item:first-child {
        margin-left: 0
    }
    .main-nav__mobile-menu-btn {
        display: block
    }
    .main-nav__submenu {
        display: none
    }
}

.ff-list__item.is-disabled .add-btn,
.invisible,
.slick-loading .slick-slide,
.slick-loading .slick-track {
    visibility: hidden
}

@media (max-width:640px) {
    .main-nav__list--primary,
    .main-nav__list--primary .main-nav__link {
        padding-top: .6em;
        padding-bottom: .6em
    }
    .main-nav__list--primary .main-nav__list-item {
        width: 100%;
        margin: 0
    }
    .main-nav__list--primary .main-nav__link:before {
        display: none
    }
}

.cart-counter {
    display: inline-block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    background-color: #613afb;
    color: #fff;
    font-size: .6em;
    line-height: 1.636363636363636;
    padding: 0 .5em;
    min-width: 1.636363636363636em;
    border-radius: .818181818181818em;
    text-align: center
}

.cart-counter--absolute {
    position: absolute;
    top: 1.3em;
    right: .5em
}

.cart-counter--alt {
    font-size: 1em;
    margin: 0 0 .5em 1em
}

.topbar {
    background-color: #ffffff;
    width: 100%;
    z-index: 1111;
    border-top: 0px solid #000;
    border-bottom: 2px solid black;
}

.topbar__row {
    display: flex;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    min-height: 4.5em;
    font-size: 1rem
}

.topbar__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    color: black;
    flex-wrap: wrap
}

@media (max-width:1200px) {
    .topbar__item {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3
    }
    .topbar__item:first-child {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        width: 66%
    }
    .topbar__item:last-child {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        width: 34%;
        margin-top:10px;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

.topbar__title {
    display: block;
    color: #222;
    font-size: 1.3em;
    font-weight: 300;
    margin: .5em 0
}

.topbar__btn,
.topbar__title--alt {
    font-weight: 700
}

@media (max-width:640px) {
    .topbar {
        padding-bottom: .125em
    }
    .topbar__title {
        margin: .125em;
        font-size: 1.25em
    }
}

.topbar__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #222;
    font-size: 1.2em;
    line-height: 1.333333333333333em;
    height: 100%;
    padding: .888888888888889em 0;
    margin-right: 1.333333333333333em;
    -webkit-transition: color .3s ease;
    transition: color .3s ease
}

.noUi-target:before,
.topbar__btn {
    -webkit-transition: background-color .3s ease
}

.non-touch .topbar__link:hover {
    color: #613afb
}

.topbar__link.is-active {
    color: #000;
}

.topbar__link--alt {
    color: #000;
    font-size: 1.1em;
    line-height: 1.25em;
    padding: 1.125em 0;
    margin-right: 2em
}

.topbar__link:last-child {
    margin-right: 0
}

@media (max-width:650px) {
    .topbar__link,
    .topbar__link--alt {
        padding: .5em 0;
        font-size: 1em
    }
}

.topbar__icon {
    margin-left: .5em;
    width: .75em;
    height: .75em;
    fill: currentColor;
    display: none
}

.topbar__icon--rotate {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

.topbar__btn {
    color: #fff;
    font-size: 1.2em;
    line-height: 2;
    border-radius: 50px;
    padding: 0.2em 2.5em;
    transition: background-color .3s ease
}



.non-touch .topbar__btn:hover {
    background-color: rgba(255, 255, 255, .16)
}

.non-touch .topbar__btn:active {
    background-color: rgba(255, 255, 255, .08)
}

.topbar__btn--accent {
    background-color: black;
    position: relative
}

.topbar__btn--accent:after {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    left: 50%;
    margin-left: -8px;
    border-width: 6px 8px 0;
    border-style: solid;
    display: none;
    border-color: #000 transparent transparent
}

.non-touch .topbar__btn--accent:hover {
    background-color: #613afb
}

.non-touch .topbar__btn--accent:active {
    background-color: #714ef9
}

.text>:last-child {
    margin-bottom: 0
}

main.project .text {
    max-width: 100%;
    font-size: calc((18px + (32 - 18) * ((100vw - 320px)/ (1920 - 320))) * .875);
    color: #000;
}

@media (min-width:1920px) {
    .text {
        font-size: calc(32px * .875)
    }
}

.text--normal {
    font-size: calc((18px + (40 - 18) * ((100vw - 320px)/ (1920 - 320))) * .875)
}

@media (min-width:1920px) {
    .text--normal {
        font-size: calc(40px * .875)
    }
}

.text--smaller {
    font-size: calc((18px + (32 - 18) * ((100vw - 320px)/ (1920 - 320))) * .875)
}

@media (min-width:1920px) {
    .text--smaller {
        font-size: calc(32px * .875)
    }
}

.text--small {
    font-size: calc((18px + (26 - 18) * ((100vw - 320px)/ (1920 - 320))) * .875)
}

@media (min-width:1920px) {
    .text--small {
        font-size: calc(26px * .875)
    }
}

.text h1,
.text h2,
.text h3,
.text h4,
.text h5,
.text h6 {
    margin: 0 0 .25em;
    color: currentColor;
    font-weight: 400;
    line-height: 1.1
}

.text ol,
.text p,
.text ul {
    margin: 0 0 1em
}

.text h1 {
    font-size: 1.75em
}

.text h2 {
    font-size: 1.625em
}

main.services .text h3 {
    font-size: 2em;
    margin-bottom: 2em
}

.text h4 {
    font-size: 1.375em
}

.text h5 {
    font-size: 1.25em
}

.text h6 {
    font-size: 1.125em
}

.text li,
.text p {
    font-size: clamp(1.5rem, 2.5vw, 1rem);
    line-height: 1.4;
    width: 100%;
    padding-right:1em;

}

.text--accent-titles h1,
.text--accent-titles h2,
.text--accent-titles h3,
.text--accent-titles h4,
.text--accent-titles h5,
.text--accent-titles h6 {
    color: black;
    font-weight: 500;
    padding: .4em 0;
    letter-spacing: -.5px
}

main.project .text p {
    font-weight: 300;
    padding-right: 0em;
    color: currentColor;
    font-size: clamp(1.5rem, 2.5vw, 1rem);
}

.text a:not(.btn) {
    color: #613afb;
    -webkit-transition: color .3s ease;
    transition: color .3s ease
}

.non-touch .text a:not(.btn):hover {
    color: #e7685b
}

.non-touch .text a:not(.btn):active {
    color: #ae271a
}

.text li {
    font-weight: 300;
    color: currentColor;
    margin-bottom: .25em;
    padding-left: 1em;
    overflow: hidden;
    position: relative
}

.text li:last-child {
    margin-bottom: 0
}

.text li:before {
    content: "";
    position: absolute;
    top: .5em;
    left: 0;
    width: .25em;
    height: .25em;
    background-color: #df3726;
    border-radius: 50%
}

.text ol {
    list-style: decimal inside
}

.text ol li {
    padding-left: 0
}

.text ol li:before {
    display: none
}

.text blockquote {
    font-size: 1.25em;
    line-height: 1.36;
    font-weight: 300;
    margin: 0 0 2em;
    padding: 1.6em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.wrapper__inner .text blockquote {
    margin-left: -16.280193236714976%;
    margin-right: -16.280193236714976%
}

@media (min-width:1920px) {
    .wrapper__inner .text blockquote {
        margin-left: -19%;
        margin-right: -19%
    }
}

@media (max-width:1372px) {
    .wrapper__inner .text blockquote {
        margin-left: -12.5%;
        margin-right: -12.5%
    }
}

@media (max-width:1200px) {
    .wrapper__inner .text blockquote {
        margin-left: -10%;
        margin-right: -10%
    }
}

@media (max-width:1024px) {
    .wrapper__inner .text blockquote {
        margin-left: -5%;
        margin-right: -5%
    }
}

@media (max-width:768px) {
    .wrapper__inner .text blockquote {
        margin-left: 0;
        margin-right: 0
    }
}

.text blockquote:before {
    content: "";
    display: inline-block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 2.32em;
    height: 1.701em;
    background: url(../images/blockquote.svg) center center no-repeat;
    background-size: cover;
    margin-right: 1.6em;
    margin-top: .25em
}

@media (max-width:640px) {
    .text blockquote {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
    .text blockquote:before {
        margin: 0 0 1.7em
    }
}

.text table {
    margin-bottom: 1em;
    border-collapse: collapse
}

.text table.table-layout-fixed {
    table-layout: fixed
}

.text table.table-width-100 {
    width: 100%
}

.text table td,
.text table th {
    padding: .75em;
    font-size: .875em;
    border: 1px solid #eee;
    text-align: left
}

.text table th {
    font-weight: 700;
    font-size: .875em;
    background-color: #f7f7f7
}

.text table .table-icon-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

main.project .text img {
    max-width: 100%;
    margin: 1em 0 1em 0;
    max-height: 100%
}

.center .text img {
    margin-left: auto;
    margin-right: auto
}

.text img[style*="float: left"] {
    margin: .25em 2em 2em 0;
    max-width: 50%
}

.text img[style*="float: right"] {
    margin: .25em 0 2em 2em;
    max-width: 50%
}

@media (max-width:768px) {
    .text img[style*="float:  left"],
    .text img[style*="float: right"] {
        max-width: 45%
    }
}

@media (max-width:480px) {
    .text img[style*="float:  left"],
    .text img[style*="float: right"] {
        margin: 0 0 2em;
        max-width: 100%;
        float: none!important
    }
}

.text .video-embed-wrapper {
    width: 50%;
    margin: .25em auto 2em
}

.text .video-embed-wrapper--left {
    float: left;
    margin-right: 2em
}

.text .video-embed-wrapper--right {
    float: right;
    margin-left: 2em
}

.text .video-embed-wrapper--full {
    width: 100%
}

@media (max-width:480px) {
    .text .video-embed-wrapper {
        width: 100%
    }
}

.text .video-embed {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    margin: 0 auto
}

.text .video-embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.cover__image,
.cover__image img {
    width: 100%;
    height: 80%;
}

.text:after,
.text:before {
    content: " ";
    display: table
}

.cover,
.cover__header {
    display: -webkit-box;
    display: -ms-flexbox;
    position: relative
}

@-moz-document url-prefix() {
    .text:not(.text--no-dropcap) p:first-of-type:first-letter {
        margin-top: .125em
    }
}

.under-the-line {
    border-top: 1px solid rgba(3, 3, 3, .12);
    padding-top: 1.5em;
    font-size: 1rem;
    text-align: center
}

.under-the-line__text {
    font-size: 1em;
    font-weight: 300;
    color: rgba(0, 0, 0, .54);
    margin: 0
}

.cover {
    z-index: 1;
    margin-bottom: 3.875em;
    font-size: 1rem;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    -ms-flex-item-align: start;
    align-self: flex-start
}

.cover--spaced-bottom {
    margin-bottom: 1.25em
}

.cover--no-spaced-bottom {
    margin-bottom: 0
}

@media (max-width:1024px) {
    .cover {
        font-size: .875rem
    }
    .cover--spaced-bottom {
        margin-bottom: 5em
    }
}

.cover__header {
    z-index: 2;
    background-color: #fff;
    margin-top: 0;
    margin-left: 4%;
    margin-right: 4%;
    margin-left: calc(env(safe-area-inset-left) + 4%);
    margin-right: calc(env(safe-area-inset-right) + 4%);
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 5em 5% 0
}

@media (max-width:1200px) {
    .cover__header {
        margin-top: -6.5em;
        padding-top: 4em;
        min-height: 6.5em
    }
}

@media (max-width:1024px) {
    .cover__header {
        margin-top: -4em;
        padding-top: 3em;
        min-height: 4em
    }
}

@media (max-width:640px) {
    .cover {
        font-size: .75rem;
        margin-bottom: 2em
    }
    .cover--spaced-bottom {
        margin-bottom: 2.75em
    }
    .cover__header {
        margin-top: -2em;
        padding-top: 2em;
        min-height: 2em
    }
}

.cover__header-row {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.cover__header-row-element {
    width: 4rem;
    text-align: center;
    padding-top: 1em
}

.cover__header-row-element--mid {
    padding-top: 0;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

@media (max-width:1200px) {
    .cover__header-row {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    .cover__header-row-element {
        width: auto;
        padding-top: 0;
        margin-bottom: 1em
    }
    .cover__header-row-element--mid {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        width: 100%;
        margin-bottom: 0
    }
}

.cover__image {
    display: block
}

.slider {
    width: 100%;
    position: relative
}

.slider--multi-slide {
    margin: -1rem;
    width: calc(100% + 2rem)
}

.slider--spaced {
    margin-top: 2.5rem
}

.slider--multi-slide .slider__slide {
    padding: 1rem;
    text-align: center
}

.slider__slide--cover {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    background-color: #fcfcfc;
}

.slider__slide:not(:first-child) {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0
}

.slick-initialized .slider__slide {
    position: static;
    opacity: 1
}


@media (min-width:1920px) {
    main.services h1 {
        font-size:1.2em;
        margin:.67em 0;
    }
}

main.project .slider__slide-container {
    position: relative;
    overflow: hidden;
    min-height: calc((200px + (650 - 200) * ((70vw - 640px)/ (1920 - 640))) * .875);
    padding-top: calc((0px + (80 - 40) * ((100vw - 640px)/ (1920 - 640))) * .875);
    padding-bottom: calc((0px + (80 - 40) * ((100vw - 640px)/ (1920 - 640))) * .875);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media (max-width:1024px) {
    .slider__slide-container {
        padding-bottom: 3rem
    }
}

@media (max-width:640px) {
    .slider__slide-container {
        padding-left: env(safe-area-inset-left);
        padding-right: env(safe-area-inset-right)
    }
}

.slider__slide-text {
    width: 100%;
    position: relative;
    z-index: 2;
    max-width: 1035px;
    margin: 0;
    color: #fff
}

.slider__slide-text--wide {
    max-width: 1372px
}

.slider__slide-text--dark {
    color: #000
}

.slide-title,
.slider__slide-link {
    color: inherit;
    text-decoration: none;
    outline: 0
}


main.project .slider__slide-image {
    margin-bottom: 0;
    width: 100%
}

.slider__slide-image {
    margin-bottom: 3.4em;
    width: 100%
}

main.project .slider__slide-link {
    display: block;
    width: 100%;
    cursor: default;
    pointer-events: none;
    text-decoration: none;
    color: grey;
    height: 100%
}

.slider__btn,
.slider__dots {
    display: -webkit-box;
    display: -ms-flexbox;
    -webkit-box-pack: center
}

.slider__btn {
    width: calc((40px + (90 - 40) * ((100vw - 640px)/ (1920 - 640))) * .875);
    height: calc((40px + (90 - 40) * ((100vw - 640px)/ (1920 - 640))) * .875);
    background: rgba(255, 255, 255, .8);
    padding: 0;
    border: 0;
    border-radius: 50%;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: absolute;
    z-index: 3;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: background-color .3s ease, opacity .3s ease, -webkit-transform .3s ease;
    transition: background-color .3s ease, opacity .3s ease, -webkit-transform .3s ease;
    transition: background-color .3s ease, transform .3s ease, opacity .3s ease;
    transition: background-color .3s ease, transform .3s ease, opacity .3s ease, -webkit-transform .3s ease;
    outline: 0
}

.non-touch .slider__btn,
.touch .slider__btn {
    opacity: 0
}

.non-touch .slider:hover .slider__btn,
.non-touch .slider__btn:hover {
    opacity: 1
}

@media (min-width:1920px) {
    .slider__btn {
        width: calc(90px * .875);
        height: calc(90px * .875)
    }
}

.slider__btn--alt {
    background-color: #f7f7f7
}

.slider__btn--prev .slider__btn-icon {
    -webkit-transform: scale(-.6, .6);
    transform: scale(-.6, .6)
}

.slider__btn--prev {
    left: 2.9%;
    left: calc(2.9% + constant(safe-area-inset-left));
    left: calc(2.9% + env(safe-area-inset-left))
}

.slider__btn--next {
    right: 2.9%;
    right: calc(2.9% + constant(safe-area-inset-right));
    right: calc(2.9% + env(safe-area-inset-right))
}

.slider__btn--outside.slider__btn--prev {
    right: 102.5%;
    left: auto
}

.slider__btn--outside.slider__btn--next {
    right: auto;
    left: 102.5%
}

.non-touch .slider__btn:not(.slider__btn--alt):hover {
    background-color: #fff
}

.non-touch .slider__btn:active {
    -webkit-transform: translateY(-50%) scale(.92);
    transform: translateY(-50%) scale(.92)
}

.slider__btn-icon {
    fill: #000;
    width: 100%;
    height: 100%;
    -webkit-transition: fill .3s ease;
    transition: fill .3s ease;
    -webkit-transform: scale(.6);
    transform: scale(.6)
}

.non-touch .slider__btn:hover .slider__btn-icon {
    fill: #613afb
}

@media (max-width:640px) {
    .slider__btn {
        display: none!important
    }
}

.slider__dots {
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 1rem 5%
}

main.project .slider__dots--inside {
    position: absolute;
    bottom: 0;
    left: 0;
    display: none;
    right: 0
}


.slider__dots .slick-dots {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top:-6.5em;
}

@media (max-width:1026px) {
.slider__dots  {
    display:none;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top:-5em;
}
}

.slider__dots .slick-dots button {
    display: block;
    width: 2rem;
    height: 2rem;
    background: 0 0;
    font-size: 0;
    position: relative;
    outline: 0;
    border: 0
}

.slider__dots .slick-dots button:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background-color: #fff;
    -webkit-transition: background .3s ease, -webkit-transform .3s ease;
    transition: background .3s ease, -webkit-transform .3s ease;
    transition: background .3s ease, transform .3s ease;
    transition: background .3s ease, transform .3s ease, -webkit-transform .3s ease
}

.non-touch .slider__dots .slick-dots button:hover:before {
    background-color: rgba(255, 255, 255, .8);
    -webkit-transform: translate(-50%, -50%) scale(1.1);
    transform: translate(-50%, -50%) scale(1.1)
}

.non-touch .slider__dots .slick-dots .slick-active button:hover:before,
.slider__dots .slick-dots .slick-active button:before {
    background-color: #000;
    -webkit-transform: translate(-50%, -50%) scale(1.2);
    transform: translate(-50%, -50%) scale(1.2)
}

.slider__dots--outside~.slider__btn {
    margin-top: -2rem
}

.slide-title {
    display: block;
    font-size: calc((28px + (80 - 28) * ((100vw - 320px)/ (1920 - 320))) * .875);
    font-weight: 700;
    margin-bottom: .75em
}

.address-list,
.address-list__item {
    display: -webkit-box;
    display: -ms-flexbox
}

@media (min-width:1920px) {
    .slide-title {
        font-size: calc(80px * .875)
    }
}

.helper-row {
    background: url(../images/helper-row-background.svg) top left no-repeat #eee;
    background-size: cover;
    padding: 4rem 0;
    margin-top: auto
}

.helper-row__content {
    font-size: 1rem;
    text-align: left;
    max-width: 104rem;
    margin: 0 auto
}

@media (max-width:768px) {
    .helper-row__content {
        font-size: .75rem
    }
}

.helper-row__title {
    font-size: 1.8em;
    line-height: 1.15;
    font-weight: 300;
    color: #000;
    margin: 0 0 .5em
}

.helper-row__text {
    font-size: 1.75em;
    color: #613afb;
    text-decoration: none;
    margin: 0
}

.address-list {
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -1px -1px 0;
    font-size: 1rem
}

.address-list--alt {
    margin: 0 -1rem -1rem 0
}

.address-list__item {
    background-color: #fff;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-preferred-size: 14.75rem;
    flex-basis: 14.75rem;
    margin-right: 1px;
    margin-bottom: 1px;
    padding: .875rem;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column
}

.address-list__item--center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: flex-start
}

.address-list__item--selectable {
    background-color: #f7f7f7;
    cursor: pointer
}

.non-touch .address-list__item--selectable:hover {
    border-color: #030303
}

.address-list--alt .address-list__item {
    border: 3px solid #eee;
    margin: 0 1rem 1rem 0;
    -webkit-transition: border-color .3s ease;
    transition: border-color .3s ease
}

.address-list--alt .address-list__item.is-selected {
    border-color: #df3726
}

.address-list__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 1em
}

.address-list__header-title {
    display: block;
    font-size: 1.375em;
    color: #000;
    font-weight: 300;
    margin: 0;
    text-align: center
}

.address-list__header-title--bigger {
    font-size: 1.375em;
    margin: 0 0 .5em
}

.address-list__header-label {
    color: #df3726;
    font-size: .833333333333333em
}

.address-list__header-btn {
    color: #000
}

.address-list__header-btn .icon {
    fill: currentColor;
    -webkit-transition: fill .3s ease;
    transition: fill .3s ease
}

.non-touch .address-list__header-btn:hover .icon {
    fill: #df3726
}

.address-list__text {
    color: rgba(0, 0, 0, .54);
    font-size: 1em
}

.address-list__text--spaced-bottom {
    margin-bottom: 2.75em
}

.address-list__text--spaced-bottom-2 {
    margin-bottom: 1.5em
}

.address-list__text--alt {
    color: #000;
    font-size: 1.125em
}

.address-list__text-item {
    display: block;
    font-weight: 300;
    margin-bottom: .25em;
    word-break: break-word
}

.address-list__text-item--spaced {
    margin-bottom: 1em
}

.order-steps {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: .5em 0;
    margin-bottom: 3em;
    position: relative
}

.order-steps:after,
.order-steps:before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 1.25em;
    left: 0;
    width: 100%;
    height: 2px;
    margin-top: -1px;
    background-color: #000
}

.order-steps:after {
    background-color: #613afb
}

.order-steps--step-1:after {
    width: 0
}

.order-steps--step-2:after {
    width: 50%
}

.order-steps--step-3:after {
    width: 100%
}

.order-steps__item {
    position: relative;
    z-index: 2;
    font-size: 1.25em;
    color: #000;
    font-weight: 300;
    width: 6em;
    text-align: center;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

.order-steps__item-link {
    display: inline-block;
    text-decoration: none;
    color: #000;
    padding-top: 2em;
    -webkit-transition: color .3s ease;
    transition: color .3s ease;
    cursor: default
}

.highlight-block:after,
.highlight-block__title {
    -webkit-transition: opacity .3s cubic-bezier(.51, .03, .42, .85), -webkit-transform .3s cubic-bezier(.51, .03, .42, .85)
}

.non-touch .order-steps__item-link.is-done:hover {
    color: rgba(0, 0, 0, .64);
    cursor: pointer
}

.non-touch .order-steps__item-link.is-done:active {
    color: rgba(0, 0, 0, .4)
}

.order-steps__item-link:before {
    content: "";
    width: 1.2em;
    height: 1.2em;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #fff;
    border: 2px solid #000;
    border-radius: 50%
}

.order-steps__item-link.is-active:before,
.order-steps__item-link.is-done:before {
    background-color: #613afb;
    border-color: #f7f7f7
}

.order-steps__item:first-child {
    text-align: left
}

.order-steps__item:first-child .order-steps__item-link:before {
    left: 0;
    -webkit-transform: translateX(0);
    transform: translateX(0)
}

.order-steps__item:last-child {
    text-align: right
}

.order-steps__item:last-child .order-steps__item-link:before {
    left: auto;
    right: 0;
    -webkit-transform: translateX(0);
    transform: translateX(0)
}

.flex-table__col--separator:after,
.flex-table__row.is-loading:before,
.highlight-block:after {
    left: 0;
    content: ""
}

.order-list__item {
    margin-bottom: 2em
}

.order-list__item:last-child {
    margin-bottom: 0
}

.order-list__item--header {
    font-size: 1em
}

.order-list__item--header .order-header__title {
    margin: 0 2rem
}

@media (max-width:1024px) {
    .order-list__item--header {
        display: none
    }
}

.flex-table__row,
.order-header {
    display: -webkit-box;
    display: -ms-flexbox
}

.order-header {
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 1.25rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: -.5em 0 1em
}

@media (max-width:1200px) {
    .order-header {
        font-size: 1.125rem
    }
}

@media (max-width:1024px) {
    .order-header {
        font-size: 1rem
    }
}

.order-header__title {
    font-size: 1.5em;
    margin: 0 .25em 0 0
}

.order-header__status {
    font-size: 1em
}

.order-header__status--success {
    color: #26c676
}

.order-header__status--error {
    color: #b90d0d
}

.order-header__status--warning {
    color: #ec7a09
}

.order-message {
    width: 100%;
    background-color: #f7f7f7
}

.order-message__row {
    text-align: center;
    padding: 3.5rem 0
}

.order-message__text {
    font-size: 2.625rem;
    line-height: 1.15;
    color: #000
}

@media (max-width:1200px) {
    .order-message__row {
        padding: 3rem 0
    }
    .order-message__text {
        font-size: 2.25rem
    }
}

@media (max-width:1024px) {
    .order-message__row {
        padding: 2.25rem 0
    }
    .order-message__text {
        font-size: 1.75rem
    }
}

.flex-table {
    color: #000;
    margin-bottom: 2.5em;
    width: 100%;
    height: 100%;
    font-size: 1.2rem
}

.flex-table--no-spacing {
    margin-bottom: 0
}

.flex-table__value {
    display: block;
    font-size: clamp(1.3em, 1.8vw, 1.3rem);
    font-weight: 300;
    color: inherit
}

.flex-table__value--bold,
.flex-table__value--title {
    font-weight: 700
}

.flex-table__value--big {
    font-size: clamp(1.5rem, 1.8vw, 1.3rem);
    margin-bottom: .25em
}

.flex-table__value--big:only-child {
    margin-bottom: 0
}

.flex-table__value--small {
    font-size: 1.125em
}

.flex-table__value--light {
    color: rgba(0, 0, 0, .5)
}

.flex-table__value--accent {
    color: #613afb
}

.flex-table__value--alt {
    font-size: 1em;
    width: 100%;
    color: rgba(0, 0, 0, .32)
}

.flex-table__row {
    display: flex;
    border-bottom: 1px solid rgba(3, 3, 3, .12);
    background-color: #fff
}

.flex-table__row.is-loading {
    position: relative;
    pointer-events: none
}

.flex-table__row.is-loading>:not(.loader-local) {
    opacity: .2
}

.flex-table__row.is-loading:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0
}

.flex-table__row--header {
    background-color: transparent
}

.flex-table__row--footer {
    background-color: #030303;
    color: #fff
}

.flex-table__row--no-wrap {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    width: 100%;
    line-height: 1.5
}

.flex-table__row--transparent {
    background-color: transparent;
    border-bottom-width: 0
}

.flex-table__row--transparent-alt {
    background-color: transparent;
    border-bottom-width: 1px
}

.flex-table__col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 1em;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: 100%
}

.flex-table--smaller-padding .flex-table__col {
    padding: 1em 1.5em
}

.flex-table--medium-padding .flex-table__col {
    padding: 1.5em
}

.flex-table__row--header .flex-table__col {
    padding-top: 0;
    padding-bottom: .25em
}

.flex-table__row--smaller .flex-table__col {
    padding-top: .5em;
    padding-bottom: .5em
}

.flex-table--smaller-padding .flex-table__row--smaller .flex-table__col {
    padding-top: .565em;
    padding-bottom: .565em
}

.flex-table__col--remove {
    width: 6em;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.flex-table__col--price {
    min-width: 8em;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding-right: 0
}

.flex-table__col--nested {
    padding: 0
}

.flex-table__col--nested-padded {
    padding: .5em 0
}

.flex-table--medium-padding .flex-table__col--nested,
.flex-table--smaller-padding .flex-table__col--nested {
    padding: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.flex-table--medium-padding .flex-table__col--nested-padded,
.flex-table--smaller-padding .flex-table__col--nested-padded {
    padding: .5em 0
}

.flex-table__col--50 {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

.flex-table__col--grow {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.flex-table__col--column {
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-end;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    background: #fff;
    margin-left: auto;
    flex-grow: 0;
    flex-shrink: 1
}

.flex-table__col--column .select {
    width: 100%;
    display: block
}

.flex-table__col--wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.flex-table__col--no-wrap {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap
}

.flex-table__col--align-left {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.flex-table__col--align-right {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.flex-table__col--separator {
    position: relative
}

.flex-table__col--separator:after {
    position: absolute;
    top: 1em;
    bottom: 1em;
    width: 1px;
    background: rgba(3, 3, 3, .12)
}

@media (max-width:1024px) {
    .flex-table__col--50:empty,
    .flex-table__col--separator:after {
        display: none
    }
    .flex-table {
        font-size: .9375rem
    }
    .flex-table__row {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    .flex-table__row--header,
    .flex-table__row--no-wrap {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }
    .flex-table__col {
        padding: .8em;
        justify-content: space-between
    }
    .flex-table__col--nested {
        padding: 0
    }
    .flex-table__col--nested-padded {
        padding: .5em 0
    }
    .flex-table__col--50 {
        width: 100%
    }
    .flex-table__col--price {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1
    }
    .flex-table__col--remove {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2
    }
    .flex-table__col--separator {
        margin-right: auto
    }
}

@media (max-width:640px) and (max-width:359px) {
    .flex-table__col--price {
        width: auto
    }
}

@media (max-width:640px) {
    .flex-table__col {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
    .flex-table__col--align-left {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }
    .flex-table__col--align-right {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
    .flex-table__col:empty {
        display: none
    }
    .flex-table__col--nested {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    .flex-table__col--no-wrap {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }
    .flex-table__col--price {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1
    }
    .flex-table__col--remove {
        width: auto;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 2
    }
    .flex-table__col--column {
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1
    }
    .flex-table__col--hide-mobile {
        display: none
    }
    .flex-table--medium-padding .flex-table__col {
        padding-top: 1em;
        padding-bottom: 1em
    }
    .flex-table--medium-padding .flex-table__col--nested-padded {
        padding: 0
    }
}

.contacts {
    width: 100%;
    padding-right: 6em;
    font-size: calc((9px + (16 - 9) * ((100vw - 320px)/ (1920 - 320))) * .875)
}

@media (min-width:1920px) {
    .contacts {
        font-size: calc(16px * .875)
    }
}

@media (max-width:1024px) {
    .contacts {
        padding-right: 3em
    }
}

@media (max-width:768px) {
    .contacts {
        padding-right: 0
    }
}

.contacts__title {
    color: #000;
    font-size: 2.625em;
    font-weight: 700;
    margin: 0 0 1.1em
}

.contacts__text {
    font-size: 2em;
    font-weight: 300;
    color: #000;
    line-height: 1.5;
    margin: 0
}

.contacts__link,
.contacts__text--alt {
    font-weight: 400;
    line-height: 1.25
}

.contacts__separator {
    width: 100%;
    max-width: 12em;
    height: 4px;
    background-color: #000;
    margin: 2.5em auto 2.5em 0
}

.contacts__links {
    padding: .5em 0;
    margin-bottom: 1em
}

.contacts__link {
    display: inline-block;
    text-decoration: none;
    color: #613afb;
    font-size: 2em;
    margin-bottom: .625em
}

.non-touch .contacts__link:hover {
    text-decoration: underline
}

.map-container {
    height: 22.5rem;
    width: 100%;
    background-color: #f7f7f7
}

.news-list__item {
    padding: 6.875em 0;
    border-bottom: 1px solid rgba(3, 3, 3, .24)
}

.news-list__item:first-child {
    padding-top: 1em
}

@media (max-width:1024px) {
    .news-list__item {
        padding: 4.25em 0
    }
}

@media (max-width:640px) {
    .news-list__item {
        padding: 2.25em 0
    }
}

.time {
    display: block;
    font-size: clamp(1.5rem, 2.5vw, 1rem);
    color: #613afb
}

.time--inherit {
    color: inherit
}

.time--small-spacing {
    margin: 0 0 .375em
}

@media (max-width:768px) {
    .time {
        margin-top: 0;
        font-size: 1.8em
    }
}

@media (max-width:480px) {
    .time {
        font-size: 1.5em
    }
}

.highlight-block {
    display: inline-block;
    position: relative;
    overflow: hidden;
    outline: 0;
    text-align: left
}

.highlight-block:after {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background: #613afb;
    z-index: 1;
    opacity: 0;
    transition: opacity .3s cubic-bezier(.51, .03, .42, .85), -webkit-transform .3s cubic-bezier(.51, .03, .42, .85);
    transition: opacity .3s cubic-bezier(.51, .03, .42, .85), transform .3s cubic-bezier(.51, .03, .42, .85);
    transition: opacity .3s cubic-bezier(.51, .03, .42, .85), transform .3s cubic-bezier(.51, .03, .42, .85), -webkit-transform .3s cubic-bezier(.51, .03, .42, .85)
}

.highlight-block__text {
    position: absolute;
    z-index: 2;
    top: 2.5rem;
    left: 2rem;
    right: 2rem;
    color: #fff
}

.highlight-block__title {
    display: block;
    font-weight: 900;
    color: currentColor;
    font-size: 1.875rem;
    margin-bottom: .3125rem;
    opacity: 0;
    -webkit-transform: translateX(-10%);
    transform: translateX(-10%);
    transition: opacity .3s cubic-bezier(.51, .03, .42, .85), -webkit-transform .3s cubic-bezier(.51, .03, .42, .85);
    transition: opacity .3s cubic-bezier(.51, .03, .42, .85), transform .3s cubic-bezier(.51, .03, .42, .85);
    transition: opacity .3s cubic-bezier(.51, .03, .42, .85), transform .3s cubic-bezier(.51, .03, .42, .85), -webkit-transform .3s cubic-bezier(.51, .03, .42, .85)
}

.filter,
.highlight-block__btn {
    display: -webkit-box;
    display: -ms-flexbox
}

.highlight-block__btn {
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 1.5rem;
    font-weight: 300;
    -webkit-transform: translateX(-20%);
    transform: translateX(-20%);
    opacity: 0;
    -webkit-transition: opacity .3s cubic-bezier(.51, .03, .42, .85), -webkit-transform .3s cubic-bezier(.51, .03, .42, .85);
    transition: opacity .3s cubic-bezier(.51, .03, .42, .85), -webkit-transform .3s cubic-bezier(.51, .03, .42, .85);
    transition: opacity .3s cubic-bezier(.51, .03, .42, .85), transform .3s cubic-bezier(.51, .03, .42, .85);
    transition: opacity .3s cubic-bezier(.51, .03, .42, .85), transform .3s cubic-bezier(.51, .03, .42, .85), -webkit-transform .3s cubic-bezier(.51, .03, .42, .85)
}

.highlight-block__btn .icon {
    margin-left: .375rem
}

.filter,
.filter__row {
    -ms-flex-wrap: wrap;
    margin: -1em
}

.highlight-block__image {
    display: block;
    width: 100%;
    height: auto;
    -webkit-transform: scale(1.05);
    transform: scale(1.01);
    -webkit-transition: -webkit-transform .3s cubic-bezier(.51, .03, .42, .85);
    transition: -webkit-transform .3s cubic-bezier(.51, .03, .42, .85);
    transition: transform .3s cubic-bezier(.51, .03, .42, .85);
    transition: transform .3s cubic-bezier(.51, .03, .42, .85), -webkit-transform .3s cubic-bezier(.51, .03, .42, .85)
}

.non-touch .highlight-block:hover:after {
    opacity: .7
}

.non-touch .highlight-block:hover .highlight-block__btn,
.non-touch .highlight-block:hover .highlight-block__title {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1
}

.non-touch .highlight-block:hover .highlight-block__image {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.non-touch .highlight-block:active .highlight-block__image {
    -webkit-transform: scale(1.05);
    transform: scale(1.05)
}

.non-touch .highlight-block:active:after {
    opacity: .9;
    -webkit-transform: translateX(0);
    transform: translateX(0)
}

.non-touch .highlight-block:active .highlight-block__btn,
.non-touch .highlight-block:active .highlight-block__title {
    opacity: 0
}

.sub-header {
    background-color: #f7f7f7;
    padding: 2em 0;
    max-height: 100%
}

.sub-header--padded {
    padding: 3.625em 0
}

.filter__item,
.filter__row-item {
    padding: 1em;
    display: grid
}

.filter {
    display: flex;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.filter__row,
.purchase-options {
    display: -webkit-box;
    display: -ms-flexbox
}

.filter__row {
    display: flex;
    flex-wrap: wrap
}

@media (max-width:1024px) {
    .filter__row {
        margin: -.5em
    }
    .filter__row-item {
        padding: .5em
    }
}

.filter__label {
    display: block;
    font-size: 1.125em;
    color: #000;
    margin: 0 0 .5em;
    padding-right: 15px
}

.purchase-options {
    border-top: 2px solid #eee;
    padding: 1em 0;
    font-size: calc((10px + (16 - 10) * ((100vw - 320px)/ (1920 - 320))) * .875);
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin: -1em;
    margin-left: 3em
}

@media (min-width:1920px) {
    .purchase-options {
        font-size: calc(16px * .875)
    }
}

.purchase-options__item {
    padding: 1em;
    width: 25%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

.purchase-options__item--no-grow {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    width: auto;
    margin-top: 2.35em
}

@media (max-width:1024px) {
    .purchase-options__item {
        width: 50%
    }
}

@media (max-width:640px) {
    .purchase-options__item {
        width: 100%
    }
}

.purchase-options__text {
    color: #858585;
    font-weight: 700;
    font-size: 1.2em;
    margin: .5em 0 0
}

.purchase-options__text p {
    margin: 0
}

.purchase-options__text-link {
    color: #000;
    -webkit-transition: color .3s ease;
    transition: color .3s ease
}

.non-touch .purchase-options__text-link:hover {
    color: #000
}

.purchase-total {
    background-color: #fff;
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    border-top: 4px solid #000;
    padding: 1.25em 0;
    font-size: 1em
}

@media (min-width:1920px) {
    .purchase-total {
        font-size: calc(16px * .875)
    }
}

@media (max-width:1200px) {
    .purchase-total {
        position: static
    }
}

.purchase-total__row {
    margin: -1em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.purchase-total__item {
    padding: 1em
}

.purchase-total__item--grow {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

.purchase-total__title {
    display: block;
    font-size: 2.625em;
    color: #000;
    font-weight: 700
}

@media (max-width:1024px) {
    .purchase-total__title {
        font-size: 2em
    }
}

.purchase-total__text {
    margin: 0;
    color: rgba(0, 0, 0, .32);
    font-size: 1.5em;
    text-align: right
}

.purchase-total__price {
    display: block;
    font-size: 2.375em;
    text-align: right;
    font-weight: 400
}

.ff-list {
    margin-top: 4em;
    width: 100%;
    font-size: calc((10px + (16 - 10) * ((100vw - 320px)/ (1920 - 320))) * .875);
    border-top: .5em solid #000
}

@media (min-width:1920px) {
    .ff-list {
        font-size: calc(16px * .875)
    }
}

.ff-list--nested {
    border-top: 0;
    margin: -1.5em -1.875em -1.5em 0;
    width: calc(100% + 1.9em)
}

.ff-list__item {
    border-bottom: 2px solid #000;
    padding: 1.5em 1.875em 1.3em .125em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.ff-list__item:first-child {
    border-top-width: 0
}

.ff-list__item--accordion {
    cursor: pointer;
    position: relative;
    font-weight: 500
}

.ff-list__item--accordion:before {
    content: "";
    position: absolute;
    top: 2em;
    left: 1.5em;
    width: 0;
    height: 0;
    border: .6875em solid transparent;
    border-left: 1.25em solid #333;
    -webkit-transition: -webkit-transform .3s ease;
    transition: -webkit-transform .3s ease;
    transition: transform .3s ease;
    transition: transform .3s ease, -webkit-transform .3s ease;
    border-right: 0
}

.ff-list__item--accordion.is-open:before {
    -webkit-transform: rotate(90deg);
    transform: rotate(90)
}

.ff-list__item.is-disabled {
    opacity: .5;
    pointer-events: none
}

.ff-list__item.is-loading {
    position: relative;
    pointer-events: none
}

.ff-list__item.is-loading>:not(.loader-local) {
    opacity: .2
}

.ff-list__item.is-loading:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

.ff-list__group-title {
    display: block;
    font-size: 2.5em;
    font-weight: 700;
    color: #000;
    margin-top: 0;
    margin-left: 0
}

.ff-list__title {
    display: block;
    cursor: pointer;
    font-family: inherit;
    font-size: 2em;
    color: #000;
    margin-right: auto;
    margin-left: 2em
}

.ff-list__title:hover {
    color: #613afb
}

.ff-list__flex,
.main-footer__row {
    display: -webkit-box;
    display: -ms-flexbox
}

.ff-list__text {
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 1.6em;
    font-weight: 300;
    color: #000;
    margin-left: 2.6em
}

.ff-list__text:hover {
    cursor: pointer
}

.ff-list__box {
    position: relative;
    width: 60%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding-right: 2em
}

@media (max-width:768px) {
    .ff-list__box {
        width: 100%;
        padding-right: 0
    }
}

.ff-list__flex {
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-left: auto
}

.ff-list__label {
    font-size: 2.25em;
    line-height: 1;
    margin-right: .5em;
    color: #000;
    font-weight: 700;
    position: relative
}

.ff-list__label--alt {
    color: #613afb
}

.ff-list__label--cross:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 2px;
    background: #858585
}

.ff-list__label--back,
.ff-list__tag {
    background-color: #613afb;
    color: #fff;
    border-radius: 6px
}

.ff-list__label--back {
    padding: .55em
}

.ff-list__tag {
    font-size: 1.625em;
    line-height: 1;
    padding: .5em;
    position: absolute;
    top: 1.125em;
    left: 2em;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    -webkit-transform-origin: bottom left;
    transform-origin: bottom left
}

.ff-list__expand {
    min-width: 100%;
    display: none;
    margin: 2em -.875em 0 -.125em;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

.non-touch .ff-list__item .add-btn {
    opacity: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.non-touch .ff-list>.ff-list__item:hover .add-btn {
    opacity: 1
}

.non-touch .ff-list .ff-list__item:hover>.ff-list.ff-list--nested .add-btn {
    opacity: 0
}

.non-touch .ff-list .ff-list__item>.ff-list.ff-list--nested .ff-list__item:hover .add-btn {
    opacity: 1
}

.font-desc {
    width: 100%;
    font-size: calc((10px + (16 - 10) * ((100vw - 320px)/ (1920 - 320))) * .875)
}

@media (min-width:1920px) {
    .font-desc {
        font-size: calc(16px * .875)
    }
}

.font-desc__item {
    border-top: 1px solid rgba(0, 0, 0, .3);
    padding: 2em 0 1.5em
}

.font-desc__title {
    display: block;
    font-size: clamp(1.5rem, 2.5vw, 1rem);
    font-weight: 700;
    color: #000;
    margin: 0 0 .6875em
}

.font-desc p,
.font-desc__text {
    display: block;
    font-size: 20px;
    color: #000;
    font-weight: 300;
    margin: 0
}

.font-desc p a,
.font-desc p-link,
.font-desc__text a,
.font-desc__text-link {
    color: inherit;
    -webkit-transition: color .3s ease;
    transition: color .3s ease
}

.non-touch .font-desc p a:hover,
.non-touch .font-desc p-link:hover,
.non-touch .font-desc__text a:hover,
.non-touch .font-desc__text-link:hover {
    color: #613afb
}

.main-footer {
    background-color: #2d2935;
    color: #fff;
    overflow: hidden
}

.main-footer__top {
    padding-top: 4rem;
    padding-bottom: .75rem
}

.main-footer__row {
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: -.5rem;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.cookie-bar,
.main-footer__row-item {
    display: -webkit-box;
    display: -ms-flexbox
}

.main-footer__row-item {
    padding: .5rem;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.main-footer__row-item--grow {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

@media (max-width:1024px) {
    .main-footer__row-item--grow-mobile {
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1
    }
}

@media (max-width:768px) {
    .main-footer__row {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

.main-footer__bottom {
    background-color: #030303;
    padding: 1.25rem 0;
    padding-bottom: calc(env(safe-area-inset-bottom) + 1.25rem)
}

.copyright {
    color: rgba(255, 255, 255, .54);
    font-weight: 300;
    font-size: 1rem;
    line-height: 1.5
}

.copyright--studiox {
    margin-left: auto
}

.copyright--studiox .copyright__link {
    color: #f7f7f7;
    text-decoration: none
}

.social-network {
    margin: .25rem 1.5rem .25rem 0
}

.social-network__link {
    display: inline-block;
    text-decoration: none;
    margin-right: .25rem;
    padding: .25rem;
    color: #fff;
    -webkit-transition: color .3s ease;
    transition: color .3s ease
}

.social-network__link:last-child {
    margin-right: 0
}

.non-touch .social-network__link:hover {
    color: rgba(255, 255, 255, .72)
}

.cookie-bar {
    position: fixed;
    z-index: 10;
    bottom: 0;
    right: 0;
    max-width: 60rem;
    padding: 1.5rem;
    padding-bottom: calc(env(safe-area-inset-bottom) + 1.5rem);
    background-color: #fff;
    -webkit-box-shadow: 0 0 5rem rgba(0, 0, 0, .1);
    box-shadow: 0 0 5rem rgba(0, 0, 0, .1);
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
}

.cookie-bar__text {
    -ms-flex-negative: 1;
    flex-shrink: 1;
    color: black;
    font-size: 1.125em;
}

.cookie-bar__btn {
    margin-top: 1rem;
    text-align: right;
    margin-left: 1rem
}

.noUi-tooltip,
.noUi-value {
    text-align: center;
    white-space: nowrap
}

@media (max-width:480px) {
    .cookie-bar {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    .cookie-bar__btn {
        margin-left: auto;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1
    }
}

.footer-nav {
    font-size: 1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 51rem;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin-bottom: 2rem;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.footer-nav__list {
    padding: 0 4em 1em 0
}

.footer-nav__list:last-child {
    padding-right: 0
}

.footer-nav__list-item {
    margin-bottom: .75em
}

.footer-nav__list-item:last-child {
    margin-bottom: 0
}

.footer-nav__title {
    display: block;
    font-size: 1.75em;
    color: #fff
}

.footer-nav__link {
    display: inline-block;
    text-decoration: none;
    font-weight: 300;
    font-size: 1.125em;
    color: #fff;
    -webkit-transition: color .3s ease;
    transition: color .3s ease
}

.slick-list,
.slick-slider,
.slick-track {
    display: block;
    position: relative
}

.non-touch .footer-nav__link:hover {
    color: rgb(97 58 251)
}

.slick-slider {
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y
}

.slick-list {
    overflow: hidden;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: 0
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-list,
.slick-slider .slick-track {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.slick-track {
    left: 0;
    top: 0;
    margin-left: auto;
    margin-right: auto
}

.slick-track:after,
.slick-track:before {
    content: "";
    display: table
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    display: none
}

[dir=rtl] .slick-slide {
    float: right
}

.slick-slide img {
    display: block;
}

@media (max-width:640px) {
    .topbar__btn {
        padding: 0.1em 1.5em;
        margin-top:0px;
    }
    .slick-slide img {
        border-radius:25px;
    }
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}

.slick-arrow.slick-hidden {
    display: none
}


/*! nouislider - 12.1.0 - 10/25/2018 */

.noUi-target,
.noUi-target * {
    -webkit-user-select: none;
    -ms-touch-action: none;
    touch-action: none;
    -moz-user-select: none;
    user-select: none;
    box-sizing: border-box
}

.noUi-base,
.noUi-connects {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1
}

.noUi-connects {
    overflow: hidden;
    z-index: 0;
    border-radius: 3px;
}

.noUi-connect,
.noUi-origin {
    will-change: transform;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0
}

html:not([dir=rtl]) .noUi-horizontal .noUi-origin {
    left: auto;
    right: 0
}

.noUi-vertical .noUi-origin {
    width: 0
}

.noUi-horizontal .noUi-origin {
    height: 0
}

.noUi-handle {
    position: absolute
}

.noUi-state-tap .noUi-connect,
.noUi-state-tap .noUi-origin {
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s
}

.noUi-state-drag * {
    cursor: inherit!important
}

.noUi-horizontal {
    height: 2em;
}

.noUi-horizontal .noUi-handle {
    width: 2em;
    height: 2.12em;
    left: -1em;
    top: 0
}

.noUi-vertical {
    width: 2em
}

.noUi-vertical .noUi-handle {
    width: 2em;
    height: 2em;
    left: 0;
    top: -1em
}

.noUi-handle:before,
.noUi-target:before {
    content: "";
    top: 50%
}

html:not([dir=rtl]) .noUi-horizontal .noUi-handle {
    right: -1em;
    left: auto
}

.noUi-target {
    direction: ltr;
    position: relative;
    cursor: pointer
}

.noUi-handle:before,
.noUi-marker,
.noUi-pips,
.noUi-tooltip,
.noUi-value {
    position: absolute
}

.noUi-target:before {
    position: absolute;
    left: -6px;
    right: -6px;
    height: 2px;
    background-color: #222;
    transition: background-color .3s ease
}

.is-editing--contrast .noUi-target:before {
    background-color: rgba(255, 255, 255, .6);
    -webkit-transition: background-color .3s ease;
    transition: background-color .3s ease
}

.noUi-connect {
    background: #3fb8af
}

.noUi-draggable {
    cursor: ew-resize
}

.noUi-vertical .noUi-draggable {
    cursor: ns-resize
}

.noUi-handle {
    outline: 0;
    cursor: -webkit-grab;
    cursor: grab
}

.noUi-handle:before {
    left: 50%;
    width: 16px;
    border: 1px solid #fff;
    height: 16px;
    border-radius: 50%;
    background-color: #000;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: background-color .3s ease, -webkit-transform .3s ease;
    transition: background-color .3s ease, -webkit-transform .3s ease;
    transition: background-color .3s ease, transform .3s ease;
    transition: background-color .3s ease, transform .3s ease, -webkit-transform .3s ease
}

.is-editing--contrast .noUi-handle:before {
    background-color: #fff
}

.noUi-handle:active {
    cursor: -webkit-grabbing;
    cursor: grabbing;
    -webkit-transform: scale(1.2);
    transform: scale(1.2)
}

.non-touch .noUi-handle:hover {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}

[disabled] .noUi-connect {
    background: #b8b8b8
}

[disabled] .noUi-handle,
[disabled].noUi-handle,
[disabled].noUi-target {
    cursor: not-allowed
}

.noUi-pips,
.noUi-pips * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.noUi-pips {
    color: #999
}

.noUi-value-sub {
    color: #ccc;
    font-size: 10px
}

.noUi-marker {
    background: #ccc
}

.noUi-marker-large,
.noUi-marker-sub {
    background: #aaa
}

.noUi-pips-horizontal {
    padding: 10px 0;
    height: 80px;
    top: 100%;
    left: 0;
    width: 100%
}

.noUi-value-horizontal {
    -webkit-transform: translate(-50%, 50%);
    transform: translate(-50%, 50%)
}

.noUi-rtl .noUi-value-horizontal {
    -webkit-transform: translate(50%, 50%);
    transform: translate(50%, 50%)
}

.noUi-marker-horizontal.noUi-marker {
    margin-left: -1px;
    width: 2px;
    height: 5px
}

.noUi-marker-horizontal.noUi-marker-sub {
    height: 10px
}

.noUi-marker-horizontal.noUi-marker-large {
    height: 15px
}

.noUi-pips-vertical {
    padding: 0 10px;
    height: 100%;
    top: 0;
    left: 100%
}

.noUi-value-vertical {
    -webkit-transform: translate(0, -50%, 0);
    transform: translate(0, -50%, 0);
    padding-left: 25px
}

.noUi-rtl .noUi-value-vertical {
    -webkit-transform: translate(0, 50%);
    transform: translate(0, 50%)
}

.noUi-marker-vertical.noUi-marker {
    width: 5px;
    height: 2px;
    margin-top: -1px
}

.noUi-marker-vertical.noUi-marker-sub {
    width: 10px
}

.noUi-marker-vertical.noUi-marker-large {
    width: 15px
}

.noUi-tooltip {
    display: block;
    border: 1px solid #d9d9d9;
    border-radius: 3px;
    background: #fff;
    color: #000;
    padding: 5px
}

.noUi-horizontal .noUi-tooltip {
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    left: 50%;
    bottom: 120%
}

.noUi-vertical .noUi-tooltip {
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    top: 50%;
    right: 120%
}

.select2-container {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    margin: 0;
    position: relative;
    vertical-align: middle
}

.select2-container .select2-selection--single {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    height: 28px;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-select: none
}

.select2-container .select2-selection--single .select2-selection__rendered {
    display: block;
    padding-left: 8px;
    padding-right: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.select2-container .select2-selection--single .select2-selection__clear {
    position: relative
}

.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered {
    padding-right: 8px;
    padding-left: 20px
}

.select2-container .select2-selection--multiple {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    min-height: 32px;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-select: none
}

.select2-container .select2-selection--multiple .select2-selection__rendered {
    display: inline-block;
    overflow: hidden;
    padding-left: 8px;
    text-overflow: ellipsis;
    white-space: nowrap
}

.select2-container .select2-search--inline {
    float: left
}

.select2-container .select2-search--inline .select2-search__field {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: none;
    font-size: 100%;
    margin-top: 5px;
    padding: 0
}

.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
    -webkit-appearance: none
}

.select2-dropdown {
    background-color: #fff;
    border: 1px solid #aaa;
    border-radius: 4px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    position: absolute;
    left: -100000px;
    width: 100%;
    z-index: 1051
}

.select2-results {
    display: block;
    font-size: 1.2em;
    left: 100%
}

.select2-results__options {
    list-style: none;
    margin: 0;
    padding: 0;
    left: 100%
}

.select2-results__option {
    padding: 6px;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-select: none
}

.select2-results__option[aria-selected] {
    cursor: pointer
}

.select2-container--open .select2-dropdown {
    left: 0
}

.select2-container--open .select2-dropdown--above {
    border-bottom: none;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0
}

.select2-container--open .select2-dropdown--below {
    border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0
}

.select2-search--dropdown {
    display: block;
    padding: 4px
}

.select2-search--dropdown .select2-search__field {
    padding: 4px;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
    -webkit-appearance: none
}

.select2-search--dropdown.select2-search--hide {
    display: none
}

.select2-close-mask {
    border: 0;
    margin: 0;
    padding: 0;
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    min-height: 100%;
    min-width: 100%;
    height: auto;
    width: auto;
    opacity: 0;
    z-index: 99;
    background-color: #fff
}

.select2-hidden-accessible {
    border: 0!important;
    clip: rect(0 0 0 0)!important;
    height: 1px!important;
    margin: -1px!important;
    overflow: hidden!important;
    padding: 0!important;
    position: absolute!important;
    width: 1px!important
}

.select2-container--default .select2-selection--single {
    background-color: #fff;
    border: 1px solid #aaa;
    border-radius: 4px
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #444;
    line-height: 28px
}

.select2-container--default .select2-selection--single .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: 700
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #999
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 26px;
    position: absolute;
    top: 1px;
    right: 1px;
    width: 20px
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #888 transparent transparent;
    border-style: solid;
    border-width: 5px 4px 0;
    height: 0;
    left: 50%;
    margin-left: -4px;
    margin-top: -2px;
    position: absolute;
    top: 50%;
    width: 0
}

.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear {
    float: left
}

.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow {
    left: 1px;
    right: auto
}

.select2-container--default.select2-container--disabled .select2-selection--single {
    background-color: #eee;
    cursor: default
}

.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
    display: none
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #888;
    border-width: 0 4px 5px
}

.select2-container--default .select2-selection--multiple {
    background-color: #fff;
    border: 1px solid #aaa;
    border-radius: 4px;
    cursor: text
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    list-style: none;
    margin: 0;
    padding: 0 5px;
    width: 100%
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered li {
    list-style: none
}

.select2-container--default .select2-selection--multiple .select2-selection__placeholder {
    color: #999;
    margin-top: 5px;
    float: left
}

.select2-container--default .select2-selection--multiple .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: 700;
    margin-top: 5px;
    margin-right: 10px
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #e4e4e4;
    border: 1px solid #aaa;
    border-radius: 4px;
    cursor: default;
    float: left;
    margin-right: 5px;
    margin-top: 5px;
    padding: 0 5px
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: #999;
    cursor: pointer;
    display: inline-block;
    font-weight: 700;
    margin-right: 2px
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: #333
}

.select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline,
.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice,
.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__placeholder {
    float: right
}

.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice {
    margin-left: 5px;
    margin-right: auto
}

.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove {
    margin-left: 2px;
    margin-right: auto
}

.select2-container--default.select2-container--focus .select2-selection--multiple {
    border: 1px solid #000;
    outline: 0
}

.select2-container--default.select2-container--disabled .select2-selection--multiple {
    background-color: #eee;
    cursor: default
}

.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
    display: none
}

.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,
.select2-container--default.select2-container--open.select2-container--above .select2-selection--single {
    border-top-left-radius: 0;
    border-top-right-radius: 0
}

.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,
.select2-container--default.select2-container--open.select2-container--below .select2-selection--single {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid #aaa
}

.select2-container--default .select2-search--inline .select2-search__field {
    background: 0 0;
    border: none;
    outline: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-appearance: textfield
}

.select2-container--default .select2-results>.select2-results__options {
    max-height: 200px;
    overflow-y: auto
}

.select2-container--default .select2-results__option[role=group] {
    padding: 0
}

.select2-container--default .select2-results__option[aria-disabled=true] {
    color: #999
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #ddd
}

.select2-container--default .select2-results__option .select2-results__option {
    padding-left: 1em
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__group {
    padding-left: 0
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -1em;
    padding-left: 2em
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -2em;
    padding-left: 3em
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -3em;
    padding-left: 4em
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -4em;
    padding-left: 5em
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -5em;
    padding-left: 6em
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #5897fb;
    color: #fff
}

.select2-container--default .select2-results__group {
    cursor: default;
    display: block;
    padding: 6px
}

.select2-container--stx .select2-selection--single {
    font-size: 1em;
    height: 2em;
    outline: 0;
    font-weight: 300
}

.select2-container--stx .select2-selection--single .select2-selection__rendered {
    color: rgba(0, 0, 0, .64);
    -webkit-transition: color .3s ease;
    transition: color .3s ease;
    line-height: 2em;
    padding-left: 1em;
    padding-right: 2em;
    border-radius: 20px;
    overflow-y: auto;
    background: #9382f1;
}

.select--alt .select2-container--stx .select2-selection--single .select2-selection__rendered {
    color: black;
}

.select--alt2 .select2-container--stx .select2-selection--single .select2-selection__rendered {
    font-weight: 700;
    color: #fff;
}

.select--border .select2-container--stx .select2-selection--single .select2-selection__rendered {
    background-color: #fff
}

.is-checked .select--border .select2-container--stx .select2-selection--single .select2-selection__rendered {
    color: #000
}

.select2-container--stx .select2-selection--single .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: 700
}

.select2-container--stx .select2-selection--single .select2-selection__placeholder {
    color: #999
}

.select2-container--stx .select2-selection--single .select2-selection__arrow {
    height: 1.9em;
    position: absolute;
    top: 1px;
    right: 1px;
    width: 1.9em;
    color: #000
}

.select2-container--stx .select2-selection--single .select2-selection__arrow b {
    border-color: currentColor transparent transparent;
    border-style: solid;
    border-width: .4em .3em 0;
    height: 0;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: border .3s ease, -webkit-transform .15s ease;
    transition: border .3s ease, -webkit-transform .15s ease;
    transition: transform .15s ease, border .3s ease;
    transition: transform .15s ease, border .3s ease, -webkit-transform .15s ease;
    position: absolute;
    top: 50%;
    width: 0
}

.select--alt .select2-container--stx .select2-selection--single .select2-selection__arrow b,
.select--alt2 .select2-container--stx .select2-selection--single .select2-selection__arrow b {
    border-width: 1px;
    width: .5em;
    height: .5em;
    border-left-color: transparent;
    border-top-color: transparent;
    border-bottom: 1px solid currentColor;
    border-right: 1px solid currentColor;
    -webkit-transform: translate(-50%, -66%) rotate(45deg);
    transform: translate(-50%, -66%) rotate(45deg)
}

.select2-container--stx[dir=rtl] .select2-selection--single .select2-selection__clear {
    float: left
}

.select2-container--stx[dir=rtl] .select2-selection--single .select2-selection__arrow {
    left: 1px;
    right: auto
}

.select2-container--stx.select2-container--disabled .select2-selection--single {
    background-color: #eee;
    cursor: default
}

.select2-container--stx.select2-container--disabled .select2-selection--single .select2-selection__clear {
    display: none
}

.select2-container--stx.select2-container--open .select2-selection--single .select2-selection__arrow b {
    -webkit-transform: translate(-50%, -50%) rotate(180deg);
    transform: translate(-50%, -50%) rotate(180deg)
}

.select--alt .select2-container--stx.select2-container--open .select2-selection--single .select2-selection__arrow b,
.select--alt2 .select2-container--stx.select2-container--open .select2-selection--single .select2-selection__arrow b {
    -webkit-transform: translate(-50%, 0) rotate(-135deg);
    transform: translate(-50%, 0) rotate(-135deg)
}

.select2-container--stx .select2-selection--multiple {
    background-color: #fff;
    border: 1px solid #aaa;
    cursor: text
}

.select2-container--stx .select2-selection--multiple .select2-selection__rendered {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    list-style: none;
    margin: 0;
    padding: 0 5px;
    width: 100%
}

.select2-container--stx .select2-selection--multiple .select2-selection__rendered li {
    list-style: none
}

.select2-container--stx .select2-selection--multiple .select2-selection__placeholder {
    color: #999;
    margin-top: 5px;
    float: left
}

.select2-container--stx .select2-selection--multiple .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: 700;
    margin-top: 5px;
    margin-right: 10px
}

.select2-container--stx .select2-selection--multiple .select2-selection__choice {
    background-color: #e4e4e4;
    border: 1px solid #aaa;
    cursor: default;
    float: left;
    margin-right: 5px;
    margin-top: 5px;
    padding: 0 5px
}

.select2-container--stx .select2-selection--multiple .select2-selection__choice__remove {
    color: #999;
    cursor: pointer;
    display: inline-block;
    font-weight: 700;
    margin-right: 2px
}

.select2-container--stx .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: #333
}

.select2-container--stx[dir=rtl] .select2-selection--multiple .select2-search--inline,
.select2-container--stx[dir=rtl] .select2-selection--multiple .select2-selection__choice,
.select2-container--stx[dir=rtl] .select2-selection--multiple .select2-selection__placeholder {
    float: right
}

.select2-container--stx[dir=rtl] .select2-selection--multiple .select2-selection__choice {
    margin-left: 5px;
    margin-right: auto
}

.select2-container--stx[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove {
    margin-left: 2px;
    margin-right: auto
}

.select2-container--stx.select2-container--focus .select2-selection--multiple {
    border: 1px solid #000;
    outline: 0
}

.select2-container--stx.select2-container--disabled .select2-selection--multiple {
    background-color: #eee;
    cursor: default
}

.select2-container--stx.select2-container--disabled .select2-selection__choice__remove {
    display: none
}

.select2-container--stx.select2-container--open.select2-container--above .select2-selection--multiple,
.select2-container--stx.select2-container--open.select2-container--above .select2-selection--single {
    border-top-left-radius: 0;
    border-top-right-radius: 0
}

.select2-container--stx.select2-container--open.select2-container--below .select2-selection--multiple,
.select2-container--stx.select2-container--open.select2-container--below .select2-selection--single {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0
}

.select2-container--stx .select2-search--dropdown {
    padding: .5em
}

.select2-container--stx .select2-search--dropdown .select2-search__field {
    border: 1px solid #aaa;
    outline: 0;
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-size: 16px
}

.select2-container--stx .select2-search--inline .select2-search__field {
    background: 0 0;
    border: none;
    outline: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-appearance: textfield
}

.select2-container--stx .select2-results>.select2-results__options {
    /* max-height: 220px; */
    background: #fff;
    font-size: .9em;
    left: 33%;
    right: 33%;
    min-width: 168px;
    -webkit-overflow-scrolling: touch
}

.select2-container--stx .select2-results__option {
    padding: .5em;
    display: block;
    color: #000
}

.select2-container--stx .select2-results__option[role=group] {
    padding: 0
}

.select2-container--stx .select2-results__option[aria-disabled=true] {
    color: #999
}

.select2-container--stx .select2-results__option[aria-selected=true] {
    background-color: #613afb;
    color: #fff
}

.select2-container--stx .select2-results__option .select2-results__option {
    padding-left: 1em
}

.select2-container--stx .select2-results__option .select2-results__option .select2-results__group {
    padding-left: 0
}

.select2-container--stx .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -1em;
    padding-left: 2em
}

.select2-container--stx .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -2em;
    padding-left: 3em
}

.select2-container--stx .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -3em;
    padding-left: 4em
}

.select2-container--stx .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -4em;
    padding-left: 5em
}

.select2-container--stx .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -5em;
    padding-left: 6em
}

.select2-container--stx .select2-results__option--highlighted[aria-selected] {
    background-color: #eee;
    color: #000
}

.select2-container--stx .select2-results__group {
    cursor: default;
    display: block;
    padding: 6px
}

.select2-container--stx .select2-dropdown {
    border-radius: 0
}

.select2-container--stx.select2-container--open .select2-dropdown--above,
.select2-container--stx.select2-container--open .select2-dropdown--below {
    border: 1px solid #eee
}

.select--border .select2-container--stx.select2-container--open .select2-dropdown {
    margin-left: -2px
}

.full-width {
    width: 100%!important
}

.center {
    text-align: center!important
}

.align-left {
    display: flex;
    justify-content: left;
    flex-direction: column;
    align-content: flex-start;
    align-items: baseline
}

.align-right {
    text-align: right!important
}

.nowrap {
    white-space: nowrap!important
}

.no-margin {
    margin: 0!important
}

.hidden {
    display: none!important
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    -webkit-clip-path: none;
    clip-path: none;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
    white-space: inherit
}

.clearfix:after,
.clearfix:before {
    content: " ";
    display: table
}

.upgrade-browser {
    position: relative;
    z-index: 10000;
    padding: 10px 60px;
    text-align: center;
    background-color: #ffe490
}

.upgrade-browser a {
    display: inline-block;
    vertical-align: middle;
    margin: 0 5px 0 0;
    width: 50px;
    height: 50px;
    font-size: 0;
    background: url(../images/browser-sprite.jpg) -1000px 0 no-repeat
}

.upgrade-browser a.chrome {
    background-position: 0 0
}

.upgrade-browser a.ie {
    background-position: -50px 0
}

.upgrade-browser a.firefox {
    background-position: -100px 0
}

.upgrade-browser a.opera {
    background-position: -150px 0
}

.upgrade-browser a.safari {
    background-position: -200px 0
}

.upgrade-browser span {
    display: inline-block;
    margin: 10px;
    font-size: 16px;
    line-height: 18px
}

.upgrade-browser__warning {
    position: absolute;
    top: 10px;
    right: 10px;
    height: 50px;
    width: 50px;
    cursor: pointer;
    background: url(../images/browser-sprite.jpg) -250px 0 no-repeat
}

@media print {
    thead {
        display: table-header-group
    }
    img,
    tr {
        page-break-inside: avoid
    }
    img {
        max-width: 100%!important
    }
    h2,
    h3,
    p {
        orphans: 3;
        widows: 3
    }
    h2,
    h3 {
        page-break-after: avoid
    }
    a[href]:empty::before {
        content: attr(href)
    }
}

.tippy-box[data-theme=custom] {
    background-color: #000;
    color: #fff;
    border-radius: 0;
    font-size: 12px
}

.tippy-box[data-theme=custom][data-placement^=bottom]>.tippy-arrow::before {
    border-bottom-color: #f7f7f7;
    transform: scale(1.5)
}

.tippy-box[data-theme~=custom][data-placement^=top]>.tippy-arrow::before {
    border-top-color: #000
}


.slider__slide {
    cursor: move; /* fallback: no `url()` support or images disabled */
    cursor: url(images/grab.cur); /* fallback: Chrome 1-21, Firefox 1.5-26, Safari 4+, IE, Edge 12-14, Android 2.1-4.4.4 */
    cursor: grab; /* W3C standards syntax, all modern browser */
}

.slider__slide:active {
    cursor: url(images/grabbing.cur);
    cursor: grabbing;
}

main.project p.two_column {
    width:80%;
    margin-left:auto;
    margin-right:auto;
    margin-bottom: 2em;
    margin-top: 1em;
}

main.services p.service_block {
    font-size: clamp(1.5rem, 2.5vw, 1rem);
    line-height: 1.4;
    width: 100%;
    padding-right: 1em;
}

main.services header.header-block.header-block--big.align-left {
    font-size: calc((9px + (40 - 14) * ((100vw - 320px)/ (1920 - 320))) * .875);
    text-align: left;
    margin-bottom: 1em;
}

main.services p.two_column {
    padding-right: 0;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2em;
}