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

main {
    display: block;
    padding-top: 80px
}

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

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

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

a {
    background-color: transparent
}

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

b, strong {
    font-weight: bolder
}

small {
    font-size: 80%
}

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

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none;
    max-width: 100%;
    height: auto
}

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

button, input {
    overflow: visible
}

button, select {
    text-transform: none
}

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

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

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

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

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

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

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

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

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

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

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

details {
    display: block
}

summary {
    display: list-item
}

[hidden], template {
    display: none
}

body.compensate-for-scrollbar {
    overflow: hidden
}

.fancybox-active {
    height: auto
}

.fancybox-is-hidden {
    left: -9999px;
    margin: 0;
    position: absolute !important;
    top: -9999px;
    visibility: hidden
}

.fancybox-container {
    -webkit-backface-visibility: hidden;
    height: 100%;
    left: 0;
    outline: 0;
    position: fixed;
    -webkit-tap-highlight-color: transparent;
    top: 0;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    transform: translateZ(0);
    width: 100%;
    z-index: 99992
}

.fancybox-container * {
    box-sizing: border-box
}

.fancybox-bg, .fancybox-inner, .fancybox-outer, .fancybox-stage {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.fancybox-outer {
    -webkit-overflow-scrolling: touch;
    overflow-y: auto
}

.fancybox-bg {
    background: #1e1e1e;
    opacity: 0;
    transition-duration: inherit;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(.47, 0, .74, .71)
}

.fancybox-is-open .fancybox-bg {
    opacity: .9;
    transition-timing-function: cubic-bezier(.22, .61, .36, 1)
}

.fancybox-caption, .fancybox-infobar, .fancybox-navigation .fancybox-button, .fancybox-toolbar {
    direction: ltr;
    opacity: 0;
    position: absolute;
    transition: opacity .25s, visibility .25s;
    visibility: hidden;
    z-index: 99997
}

.fancybox-show-caption .fancybox-caption, .fancybox-show-infobar .fancybox-infobar, .fancybox-show-nav .fancybox-navigation .fancybox-button, .fancybox-show-toolbar .fancybox-toolbar {
    opacity: 1;
    transition: opacity .25s, visibility;
    visibility: visible
}

.fancybox-infobar {
    color: #ccc;
    font-size: 13px;
    -webkit-font-smoothing: subpixel-antialiased;
    height: 44px;
    left: 0;
    line-height: 44px;
    min-width: 44px;
    mix-blend-mode: difference;
    padding: 0 10px;
    pointer-events: none;
    top: 0;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.fancybox-toolbar {
    right: 0;
    top: 0
}

.fancybox-stage {
    direction: ltr;
    overflow: visible;
    transform: translateZ(0);
    z-index: 99994
}

.fancybox-is-open .fancybox-stage {
    overflow: hidden
}

.fancybox-slide {
    -webkit-backface-visibility: hidden;
    display: none;
    height: 100%;
    left: 0;
    outline: 0;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 44px;
    position: absolute;
    text-align: center;
    top: 0;
    transition-property: transform, opacity;
    white-space: normal;
    width: 100%;
    z-index: 99994
}

.fancybox-slide::before {
    content: '';
    display: inline-block;
    font-size: 0;
    height: 100%;
    vertical-align: middle;
    width: 0
}

.fancybox-is-sliding .fancybox-slide, .fancybox-slide--current, .fancybox-slide--next, .fancybox-slide--previous {
    display: block
}

.fancybox-slide--image {
    overflow: hidden;
    padding: 44px 0
}

.fancybox-slide--image::before {
    display: none
}

.fancybox-slide--html {
    padding: 6px
}

.fancybox-content {
    background: #fff;
    display: inline-block;
    margin: 0;
    max-width: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 44px;
    position: relative;
    text-align: left;
    vertical-align: middle
}

.fancybox-slide--image .fancybox-content {
    animation-timing-function: cubic-bezier(.5, 0, .14, 1);
    -webkit-backface-visibility: hidden;
    background: 0 0/100% 100% no-repeat;
    left: 0;
    max-width: none;
    overflow: visible;
    padding: 0;
    position: absolute;
    top: 0;
    -ms-transform-origin: top left;
    transform-origin: top left;
    transition-property: transform, opacity;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    z-index: 99995
}

.fancybox-can-zoomOut .fancybox-content {
    cursor: zoom-out
}

.fancybox-can-zoomIn .fancybox-content {
    cursor: zoom-in
}

.fancybox-can-pan .fancybox-content, .fancybox-can-swipe .fancybox-content {
    cursor: -webkit-grab;
    cursor: grab
}

.fancybox-is-grabbing .fancybox-content {
    cursor: -webkit-grabbing;
    cursor: grabbing
}

.fancybox-container [data-selectable=true] {
    cursor: text
}

.fancybox-image, .fancybox-spaceball {
    background: 0 0;
    border: 0;
    height: 100%;
    left: 0;
    margin: 0;
    max-height: none;
    max-width: none;
    padding: 0;
    position: absolute;
    top: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 100%
}

.fancybox-spaceball {
    z-index: 1
}

.fancybox-slide--iframe .fancybox-content, .fancybox-slide--map .fancybox-content, .fancybox-slide--pdf .fancybox-content, .fancybox-slide--video .fancybox-content {
    height: 100%;
    overflow: visible;
    padding: 0;
    width: 100%
}

.fancybox-slide--video .fancybox-content {
    background: #000
}

.fancybox-slide--map .fancybox-content {
    background: #e5e3df
}

.fancybox-slide--iframe .fancybox-content {
    background: #fff
}

.fancybox-iframe, .fancybox-video {
    background: 0 0;
    border: 0;
    display: block;
    height: 100%;
    margin: 0;
    overflow: hidden;
    padding: 0;
    width: 100%
}

.fancybox-iframe {
    left: 0;
    position: absolute;
    top: 0
}

.fancybox-error {
    background: #fff;
    cursor: default;
    max-width: 400px;
    padding: 40px;
    width: 100%
}

.fancybox-error p {
    color: #444;
    font-size: 16px;
    line-height: 20px;
    margin: 0;
    padding: 0
}

.fancybox-button {
    background: rgba(30, 30, 30, .6);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    cursor: pointer;
    display: inline-block;
    height: 44px;
    margin: 0;
    padding: 10px;
    position: relative;
    transition: color .2s;
    vertical-align: top;
    visibility: inherit;
    width: 44px
}

.fancybox-button, .fancybox-button:link, .fancybox-button:visited {
    color: #ccc
}

.fancybox-button:hover {
    color: #fff
}

.fancybox-button:focus {
    outline: 0
}

.fancybox-button.fancybox-focus {
    outline: dotted 1px
}

.fancybox-button[disabled], .fancybox-button[disabled]:hover {
    color: #888;
    cursor: default;
    outline: 0
}

.fancybox-button div {
    height: 100%
}

.fancybox-button svg {
    display: block;
    height: 100%;
    overflow: visible;
    position: relative;
    width: 100%
}

.fancybox-button svg path {
    fill: currentColor;
    stroke-width: 0
}

.fancybox-button--fsenter svg:nth-child(2), .fancybox-button--fsexit svg:nth-child(1), .fancybox-button--pause svg:nth-child(1), .fancybox-button--play svg:nth-child(2) {
    display: none
}

.fancybox-progress {
    background: #ff5268;
    height: 2px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    -ms-transform: scaleX(0);
    transform: scaleX(0);
    -ms-transform-origin: 0;
    transform-origin: 0;
    transition-property: transform;
    transition-timing-function: linear;
    z-index: 99998
}

.fancybox-close-small {
    background: 0 0;
    border: 0;
    border-radius: 0;
    color: #ccc;
    cursor: pointer;
    opacity: .8;
    padding: 8px;
    position: absolute;
    right: -12px;
    top: -44px;
    z-index: 401
}

.fancybox-close-small:hover {
    color: #fff;
    opacity: 1
}

.fancybox-slide--html .fancybox-close-small {
    color: currentColor;
    padding: 10px;
    right: 0;
    top: 0
}

.fancybox-slide--image.fancybox-is-scaling .fancybox-content {
    overflow: hidden
}

.fancybox-is-scaling .fancybox-close-small, .fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
    display: none
}

.fancybox-navigation .fancybox-button {
    background-clip: content-box;
    height: 100px;
    opacity: 0;
    position: absolute;
    top: calc(50% - 50px);
    width: 70px
}

.fancybox-navigation .fancybox-button div {
    padding: 7px
}

.fancybox-navigation .fancybox-button--arrow_left {
    left: 0;
    left: env(safe-area-inset-left);
    padding: 31px 26px 31px 6px
}

.fancybox-navigation .fancybox-button--arrow_right {
    padding: 31px 6px 31px 26px;
    right: 0;
    right: env(safe-area-inset-right)
}

.fancybox-caption {
    background: linear-gradient(to top, rgba(0, 0, 0, .85) 0, rgba(0, 0, 0, .3) 50%, rgba(0, 0, 0, .15) 65%, rgba(0, 0, 0, .075) 75.5%, rgba(0, 0, 0, .037) 82.85%, rgba(0, 0, 0, .019) 88%, rgba(0, 0, 0, 0) 100%);
    bottom: 0;
    color: #eee;
    font-size: 14px;
    font-weight: 400;
    left: 0;
    line-height: 1.5;
    padding: 75px 44px 25px;
    pointer-events: none;
    right: 0;
    text-align: center;
    z-index: 99996
}

@supports (padding:max(0px)) {
    .fancybox-caption {
        padding: 75px max(44px, env(safe-area-inset-right)) max(25px, env(safe-area-inset-bottom)) max(44px, env(safe-area-inset-left))
    }
}

.fancybox-caption--separate {
    margin-top: -50px
}

.fancybox-caption__body {
    max-height: 50vh;
    overflow: auto;
    pointer-events: all
}

.fancybox-caption a, .fancybox-caption a:link, .fancybox-caption a:visited {
    color: #ccc;
    text-decoration: none
}

.fancybox-caption a:hover {
    color: #fff;
    text-decoration: underline
}

.fancybox-loading {
    animation: 1s linear infinite fancybox-rotate;
    background: 0 0;
    border: 4px solid #888;
    border-bottom-color: #fff;
    border-radius: 50%;
    height: 50px;
    left: 50%;
    margin: -25px 0 0 -25px;
    opacity: .7;
    padding: 0;
    position: absolute;
    top: 50%;
    width: 50px;
    z-index: 99999
}

@keyframes fancybox-rotate {
    100% {
        transform: rotate(360deg)
    }
}

.fancybox-animated {
    transition-timing-function: cubic-bezier(0, 0, .25, 1)
}

.fancybox-fx-slide.fancybox-slide--previous {
    opacity: 0;
    transform: translate3d(-100%, 0, 0)
}

.fancybox-fx-slide.fancybox-slide--next {
    opacity: 0;
    transform: translate3d(100%, 0, 0)
}

.fancybox-fx-slide.fancybox-slide--current {
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

.fancybox-fx-fade.fancybox-slide--next, .fancybox-fx-fade.fancybox-slide--previous {
    opacity: 0;
    transition-timing-function: cubic-bezier(.19, 1, .22, 1)
}

.fancybox-fx-fade.fancybox-slide--current {
    opacity: 1
}

.fancybox-fx-zoom-in-out.fancybox-slide--previous {
    opacity: 0;
    transform: scale3d(1.5, 1.5, 1.5)
}

.fancybox-fx-zoom-in-out.fancybox-slide--next {
    opacity: 0;
    transform: scale3d(.5, .5, .5)
}

.fancybox-fx-zoom-in-out.fancybox-slide--current {
    opacity: 1;
    transform: scale3d(1, 1, 1)
}

.fancybox-fx-rotate.fancybox-slide--previous {
    opacity: 0;
    -ms-transform: rotate(-360deg);
    transform: rotate(-360deg)
}

.fancybox-fx-rotate.fancybox-slide--next {
    opacity: 0;
    -ms-transform: rotate(360deg);
    transform: rotate(360deg)
}

.fancybox-fx-rotate.fancybox-slide--current {
    opacity: 1;
    -ms-transform: rotate(0);
    transform: rotate(0)
}

.fancybox-fx-circular.fancybox-slide--previous {
    opacity: 0;
    transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0)
}

.fancybox-fx-circular.fancybox-slide--next {
    opacity: 0;
    transform: scale3d(0, 0, 0) translate3d(100%, 0, 0)
}

.fancybox-fx-circular.fancybox-slide--current {
    opacity: 1;
    transform: scale3d(1, 1, 1) translate3d(0, 0, 0)
}

.fancybox-fx-tube.fancybox-slide--previous {
    transform: translate3d(-100%, 0, 0) scale(.1) skew(-10deg)
}

.fancybox-fx-tube.fancybox-slide--next {
    transform: translate3d(100%, 0, 0) scale(.1) skew(10deg)
}

.fancybox-fx-tube.fancybox-slide--current {
    transform: translate3d(0, 0, 0) scale(1)
}

@media all and (max-height: 576px) {
    .fancybox-slide {
        padding-left: 6px;
        padding-right: 6px
    }

    .fancybox-slide--image {
        padding: 6px 0
    }

    .fancybox-close-small {
        right: -6px
    }

    .fancybox-slide--image .fancybox-close-small {
        background: #4e4e4e;
        color: #f2f4f6;
        height: 36px;
        opacity: 1;
        padding: 6px;
        right: 0;
        top: 0;
        width: 36px
    }

    .fancybox-caption {
        padding-left: 12px;
        padding-right: 12px
    }

    @supports (padding:max(0px)) {
        .fancybox-caption {
            padding-left: max(12px, env(safe-area-inset-left));
            padding-right: max(12px, env(safe-area-inset-right))
        }
    }
}

.fancybox-share {
    background: #f4f4f4;
    border-radius: 3px;
    max-width: 90%;
    padding: 30px;
    text-align: center
}

.fancybox-share h1 {
    color: #222;
    font-size: 35px;
    font-weight: 700;
    margin: 0 0 20px
}

.fancybox-share p {
    margin: 0;
    padding: 0
}

.fancybox-share__button {
    border: 0;
    border-radius: 3px;
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    line-height: 40px;
    margin: 0 5px 10px;
    min-width: 130px;
    padding: 0 15px;
    text-decoration: none;
    transition: .2s;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    white-space: nowrap
}

.fancybox-share__button:link, .fancybox-share__button:visited {
    color: #fff
}

.fancybox-share__button:hover {
    text-decoration: none
}

.fancybox-share__button--fb {
    background: #3b5998
}

.fancybox-share__button--fb:hover {
    background: #344e86
}

.fancybox-share__button--pt {
    background: #bd081d
}

.fancybox-share__button--pt:hover {
    background: #aa0719
}

.fancybox-share__button--tw {
    background: #1da1f2
}

.fancybox-share__button--tw:hover {
    background: #0d95e8
}

.fancybox-share__button svg {
    height: 25px;
    margin-right: 7px;
    position: relative;
    top: -1px;
    vertical-align: middle;
    width: 25px
}

.fancybox-share__button svg path {
    fill: #fff
}

.fancybox-share__input {
    background: 0 0;
    border: 0;
    border-bottom: 1px solid #d7d7d7;
    border-radius: 0;
    color: #5d5b5b;
    font-size: 14px;
    margin: 10px 0 0;
    outline: 0;
    padding: 10px 15px;
    width: 100%
}

.fancybox-thumbs {
    background: #ddd;
    bottom: 0;
    display: none;
    margin: 0;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    padding: 2px 2px 4px;
    position: absolute;
    right: 0;
    -webkit-tap-highlight-color: transparent;
    top: 0;
    width: 212px;
    z-index: 99995
}

.fancybox-thumbs-x {
    overflow-x: auto;
    overflow-y: hidden
}

.fancybox-show-thumbs .fancybox-thumbs {
    display: block
}

.fancybox-show-thumbs .fancybox-inner {
    right: 212px
}

.fancybox-thumbs__list {
    font-size: 0;
    height: 100%;
    list-style: none;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0;
    position: relative;
    white-space: nowrap;
    width: 100%
}

.fancybox-thumbs-x .fancybox-thumbs__list {
    overflow: hidden
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {
    width: 7px
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {
    background: #fff;
    border-radius: 10px;
    box-shadow: inset 0 0 6px rgba(0, 0, 0, .3)
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {
    background: #2a2a2a;
    border-radius: 10px
}

.fancybox-thumbs__list a {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background-color: rgba(0, 0, 0, .1);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    cursor: pointer;
    float: left;
    height: 75px;
    margin: 2px;
    max-height: calc(100% - 8px);
    max-width: calc(50% - 4px);
    outline: 0;
    overflow: hidden;
    padding: 0;
    position: relative;
    -webkit-tap-highlight-color: transparent;
    width: 100px
}

.fancybox-thumbs__list a::before {
    border: 6px solid #ff5268;
    bottom: 0;
    content: '';
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: .2s cubic-bezier(.25, .46, .45, .94);
    z-index: 99991
}

.fancybox-thumbs__list a:focus::before {
    opacity: .5
}

.fancybox-thumbs__list a.fancybox-thumbs-active::before {
    opacity: 1
}

@media all and (max-width: 576px) {
    .fancybox-thumbs {
        width: 110px
    }

    .fancybox-show-thumbs .fancybox-inner {
        right: 110px
    }

    .fancybox-thumbs__list a {
        max-width: calc(100% - 10px)
    }
}

/*!
 * animate.css -https://daneden.github.io/animate.css/
 * Version - 3.7.2
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2019 Daniel Eden
 */
@-webkit-keyframes bounce {
    0%, 20%, 53%, 80%, to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
    40%, 43% {
        -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
        animation-timing-function: cubic-bezier(.755, .05, .855, .06);
        -webkit-transform: translate3d(0, -30px, 0);
        transform: translate3d(0, -30px, 0)
    }
    70% {
        -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
        animation-timing-function: cubic-bezier(.755, .05, .855, .06);
        -webkit-transform: translate3d(0, -15px, 0);
        transform: translate3d(0, -15px, 0)
    }
    90% {
        -webkit-transform: translate3d(0, -4px, 0);
        transform: translate3d(0, -4px, 0)
    }
}

@keyframes bounce {
    0%, 20%, 53%, 80%, to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
    40%, 43% {
        -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
        animation-timing-function: cubic-bezier(.755, .05, .855, .06);
        -webkit-transform: translate3d(0, -30px, 0);
        transform: translate3d(0, -30px, 0)
    }
    70% {
        -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
        animation-timing-function: cubic-bezier(.755, .05, .855, .06);
        -webkit-transform: translate3d(0, -15px, 0);
        transform: translate3d(0, -15px, 0)
    }
    90% {
        -webkit-transform: translate3d(0, -4px, 0);
        transform: translate3d(0, -4px, 0)
    }
}

.bounce {
    -webkit-animation-name: bounce;
    animation-name: bounce;
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom
}

@-webkit-keyframes flash {
    0%, 50%, to {
        opacity: 1
    }
    25%, 75% {
        opacity: 0
    }
}

@keyframes flash {
    0%, 50%, to {
        opacity: 1
    }
    25%, 75% {
        opacity: 0
    }
}

.flash {
    -webkit-animation-name: flash;
    animation-name: flash
}

@-webkit-keyframes pulse {
    0%, to {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
    50% {
        -webkit-transform: scale3d(1.05, 1.05, 1.05);
        transform: scale3d(1.05, 1.05, 1.05)
    }
}

@keyframes pulse {
    0%, to {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
    50% {
        -webkit-transform: scale3d(1.05, 1.05, 1.05);
        transform: scale3d(1.05, 1.05, 1.05)
    }
}

.pulse {
    -webkit-animation-name: pulse;
    animation-name: pulse
}

@-webkit-keyframes rubberBand {
    0%, to {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
    30% {
        -webkit-transform: scale3d(1.25, .75, 1);
        transform: scale3d(1.25, .75, 1)
    }
    40% {
        -webkit-transform: scale3d(.75, 1.25, 1);
        transform: scale3d(.75, 1.25, 1)
    }
    50% {
        -webkit-transform: scale3d(1.15, .85, 1);
        transform: scale3d(1.15, .85, 1)
    }
    65% {
        -webkit-transform: scale3d(.95, 1.05, 1);
        transform: scale3d(.95, 1.05, 1)
    }
    75% {
        -webkit-transform: scale3d(1.05, .95, 1);
        transform: scale3d(1.05, .95, 1)
    }
}

@keyframes rubberBand {
    0%, to {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
    30% {
        -webkit-transform: scale3d(1.25, .75, 1);
        transform: scale3d(1.25, .75, 1)
    }
    40% {
        -webkit-transform: scale3d(.75, 1.25, 1);
        transform: scale3d(.75, 1.25, 1)
    }
    50% {
        -webkit-transform: scale3d(1.15, .85, 1);
        transform: scale3d(1.15, .85, 1)
    }
    65% {
        -webkit-transform: scale3d(.95, 1.05, 1);
        transform: scale3d(.95, 1.05, 1)
    }
    75% {
        -webkit-transform: scale3d(1.05, .95, 1);
        transform: scale3d(1.05, .95, 1)
    }
}

.rubberBand {
    -webkit-animation-name: rubberBand;
    animation-name: rubberBand
}

@-webkit-keyframes shake {
    0%, to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
    10%, 30%, 50%, 70%, 90% {
        -webkit-transform: translate3d(-10px, 0, 0);
        transform: translate3d(-10px, 0, 0)
    }
    20%, 40%, 60%, 80% {
        -webkit-transform: translate3d(10px, 0, 0);
        transform: translate3d(10px, 0, 0)
    }
}

@keyframes shake {
    0%, to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
    10%, 30%, 50%, 70%, 90% {
        -webkit-transform: translate3d(-10px, 0, 0);
        transform: translate3d(-10px, 0, 0)
    }
    20%, 40%, 60%, 80% {
        -webkit-transform: translate3d(10px, 0, 0);
        transform: translate3d(10px, 0, 0)
    }
}

.shake {
    -webkit-animation-name: shake;
    animation-name: shake
}

@-webkit-keyframes headShake {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
    6.5% {
        -webkit-transform: translateX(-6px) rotateY(-9deg);
        transform: translateX(-6px) rotateY(-9deg)
    }
    18.5% {
        -webkit-transform: translateX(5px) rotateY(7deg);
        transform: translateX(5px) rotateY(7deg)
    }
    31.5% {
        -webkit-transform: translateX(-3px) rotateY(-5deg);
        transform: translateX(-3px) rotateY(-5deg)
    }
    43.5% {
        -webkit-transform: translateX(2px) rotateY(3deg);
        transform: translateX(2px) rotateY(3deg)
    }
    50% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes headShake {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
    6.5% {
        -webkit-transform: translateX(-6px) rotateY(-9deg);
        transform: translateX(-6px) rotateY(-9deg)
    }
    18.5% {
        -webkit-transform: translateX(5px) rotateY(7deg);
        transform: translateX(5px) rotateY(7deg)
    }
    31.5% {
        -webkit-transform: translateX(-3px) rotateY(-5deg);
        transform: translateX(-3px) rotateY(-5deg)
    }
    43.5% {
        -webkit-transform: translateX(2px) rotateY(3deg);
        transform: translateX(2px) rotateY(3deg)
    }
    50% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

.headShake {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-name: headShake;
    animation-name: headShake
}

@-webkit-keyframes swing {
    20% {
        -webkit-transform: rotate(15deg);
        transform: rotate(15deg)
    }
    40% {
        -webkit-transform: rotate(-10deg);
        transform: rotate(-10deg)
    }
    60% {
        -webkit-transform: rotate(5deg);
        transform: rotate(5deg)
    }
    80% {
        -webkit-transform: rotate(-5deg);
        transform: rotate(-5deg)
    }
    to {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }
}

@keyframes swing {
    20% {
        -webkit-transform: rotate(15deg);
        transform: rotate(15deg)
    }
    40% {
        -webkit-transform: rotate(-10deg);
        transform: rotate(-10deg)
    }
    60% {
        -webkit-transform: rotate(5deg);
        transform: rotate(5deg)
    }
    80% {
        -webkit-transform: rotate(-5deg);
        transform: rotate(-5deg)
    }
    to {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }
}

.swing {
    -webkit-transform-origin: top center;
    transform-origin: top center;
    -webkit-animation-name: swing;
    animation-name: swing
}

@-webkit-keyframes tada {
    0%, to {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
    10%, 20% {
        -webkit-transform: scale3d(.9, .9, .9) rotate(-3deg);
        transform: scale3d(.9, .9, .9) rotate(-3deg)
    }
    30%, 50%, 70%, 90% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(3deg);
        transform: scale3d(1.1, 1.1, 1.1) rotate(3deg)
    }
    40%, 60%, 80% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg);
        transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg)
    }
}

@keyframes tada {
    0%, to {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
    10%, 20% {
        -webkit-transform: scale3d(.9, .9, .9) rotate(-3deg);
        transform: scale3d(.9, .9, .9) rotate(-3deg)
    }
    30%, 50%, 70%, 90% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(3deg);
        transform: scale3d(1.1, 1.1, 1.1) rotate(3deg)
    }
    40%, 60%, 80% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg);
        transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg)
    }
}

.tada {
    -webkit-animation-name: tada;
    animation-name: tada
}

@-webkit-keyframes wobble {
    0%, to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
    15% {
        -webkit-transform: translate3d(-25%, 0, 0) rotate(-5deg);
        transform: translate3d(-25%, 0, 0) rotate(-5deg)
    }
    30% {
        -webkit-transform: translate3d(20%, 0, 0) rotate(3deg);
        transform: translate3d(20%, 0, 0) rotate(3deg)
    }
    45% {
        -webkit-transform: translate3d(-15%, 0, 0) rotate(-3deg);
        transform: translate3d(-15%, 0, 0) rotate(-3deg)
    }
    60% {
        -webkit-transform: translate3d(10%, 0, 0) rotate(2deg);
        transform: translate3d(10%, 0, 0) rotate(2deg)
    }
    75% {
        -webkit-transform: translate3d(-5%, 0, 0) rotate(-1deg);
        transform: translate3d(-5%, 0, 0) rotate(-1deg)
    }
}

@keyframes wobble {
    0%, to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
    15% {
        -webkit-transform: translate3d(-25%, 0, 0) rotate(-5deg);
        transform: translate3d(-25%, 0, 0) rotate(-5deg)
    }
    30% {
        -webkit-transform: translate3d(20%, 0, 0) rotate(3deg);
        transform: translate3d(20%, 0, 0) rotate(3deg)
    }
    45% {
        -webkit-transform: translate3d(-15%, 0, 0) rotate(-3deg);
        transform: translate3d(-15%, 0, 0) rotate(-3deg)
    }
    60% {
        -webkit-transform: translate3d(10%, 0, 0) rotate(2deg);
        transform: translate3d(10%, 0, 0) rotate(2deg)
    }
    75% {
        -webkit-transform: translate3d(-5%, 0, 0) rotate(-1deg);
        transform: translate3d(-5%, 0, 0) rotate(-1deg)
    }
}

.wobble {
    -webkit-animation-name: wobble;
    animation-name: wobble
}

@-webkit-keyframes jello {
    0%, 11.1%, to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
    22.2% {
        -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
        transform: skewX(-12.5deg) skewY(-12.5deg)
    }
    33.3% {
        -webkit-transform: skewX(6.25deg) skewY(6.25deg);
        transform: skewX(6.25deg) skewY(6.25deg)
    }
    44.4% {
        -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
        transform: skewX(-3.125deg) skewY(-3.125deg)
    }
    55.5% {
        -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
        transform: skewX(1.5625deg) skewY(1.5625deg)
    }
    66.6% {
        -webkit-transform: skewX(-.78125deg) skewY(-.78125deg);
        transform: skewX(-.78125deg) skewY(-.78125deg)
    }
    77.7% {
        -webkit-transform: skewX(.390625deg) skewY(.390625deg);
        transform: skewX(.390625deg) skewY(.390625deg)
    }
    88.8% {
        -webkit-transform: skewX(-.1953125deg) skewY(-.1953125deg);
        transform: skewX(-.1953125deg) skewY(-.1953125deg)
    }
}

@keyframes jello {
    0%, 11.1%, to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
    22.2% {
        -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
        transform: skewX(-12.5deg) skewY(-12.5deg)
    }
    33.3% {
        -webkit-transform: skewX(6.25deg) skewY(6.25deg);
        transform: skewX(6.25deg) skewY(6.25deg)
    }
    44.4% {
        -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
        transform: skewX(-3.125deg) skewY(-3.125deg)
    }
    55.5% {
        -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
        transform: skewX(1.5625deg) skewY(1.5625deg)
    }
    66.6% {
        -webkit-transform: skewX(-.78125deg) skewY(-.78125deg);
        transform: skewX(-.78125deg) skewY(-.78125deg)
    }
    77.7% {
        -webkit-transform: skewX(.390625deg) skewY(.390625deg);
        transform: skewX(.390625deg) skewY(.390625deg)
    }
    88.8% {
        -webkit-transform: skewX(-.1953125deg) skewY(-.1953125deg);
        transform: skewX(-.1953125deg) skewY(-.1953125deg)
    }
}

.jello {
    -webkit-animation-name: jello;
    animation-name: jello;
    -webkit-transform-origin: center;
    transform-origin: center
}

@-webkit-keyframes heartBeat {
    0%, 28%, 70% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    14%, 42% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3)
    }
}

@keyframes heartBeat {
    0%, 28%, 70% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    14%, 42% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3)
    }
}

.heartBeat {
    -webkit-animation-name: heartBeat;
    animation-name: heartBeat;
    -webkit-animation-duration: 1.3s;
    animation-duration: 1.3s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out
}

@-webkit-keyframes bounceIn {
    0%, 20%, 40%, 60%, 80%, to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3)
    }
    20% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1)
    }
    40% {
        -webkit-transform: scale3d(.9, .9, .9);
        transform: scale3d(.9, .9, .9)
    }
    60% {
        opacity: 1;
        -webkit-transform: scale3d(1.03, 1.03, 1.03);
        transform: scale3d(1.03, 1.03, 1.03)
    }
    80% {
        -webkit-transform: scale3d(.97, .97, .97);
        transform: scale3d(.97, .97, .97)
    }
    to {
        opacity: 1;
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}

@keyframes bounceIn {
    0%, 20%, 40%, 60%, 80%, to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3)
    }
    20% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1)
    }
    40% {
        -webkit-transform: scale3d(.9, .9, .9);
        transform: scale3d(.9, .9, .9)
    }
    60% {
        opacity: 1;
        -webkit-transform: scale3d(1.03, 1.03, 1.03);
        transform: scale3d(1.03, 1.03, 1.03)
    }
    80% {
        -webkit-transform: scale3d(.97, .97, .97);
        transform: scale3d(.97, .97, .97)
    }
    to {
        opacity: 1;
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}

.bounceIn {
    -webkit-animation-duration: .75s;
    animation-duration: .75s;
    -webkit-animation-name: bounceIn;
    animation-name: bounceIn
}

@-webkit-keyframes bounceInDown {
    0%, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -3000px, 0);
        transform: translate3d(0, -3000px, 0)
    }
    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, 25px, 0);
        transform: translate3d(0, 25px, 0)
    }
    75% {
        -webkit-transform: translate3d(0, -10px, 0);
        transform: translate3d(0, -10px, 0)
    }
    90% {
        -webkit-transform: translate3d(0, 5px, 0);
        transform: translate3d(0, 5px, 0)
    }
    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes bounceInDown {
    0%, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -3000px, 0);
        transform: translate3d(0, -3000px, 0)
    }
    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, 25px, 0);
        transform: translate3d(0, 25px, 0)
    }
    75% {
        -webkit-transform: translate3d(0, -10px, 0);
        transform: translate3d(0, -10px, 0)
    }
    90% {
        -webkit-transform: translate3d(0, 5px, 0);
        transform: translate3d(0, 5px, 0)
    }
    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.bounceInDown {
    -webkit-animation-name: bounceInDown;
    animation-name: bounceInDown
}

@-webkit-keyframes bounceInLeft {
    0%, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-3000px, 0, 0);
        transform: translate3d(-3000px, 0, 0)
    }
    60% {
        opacity: 1;
        -webkit-transform: translate3d(25px, 0, 0);
        transform: translate3d(25px, 0, 0)
    }
    75% {
        -webkit-transform: translate3d(-10px, 0, 0);
        transform: translate3d(-10px, 0, 0)
    }
    90% {
        -webkit-transform: translate3d(5px, 0, 0);
        transform: translate3d(5px, 0, 0)
    }
    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes bounceInLeft {
    0%, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-3000px, 0, 0);
        transform: translate3d(-3000px, 0, 0)
    }
    60% {
        opacity: 1;
        -webkit-transform: translate3d(25px, 0, 0);
        transform: translate3d(25px, 0, 0)
    }
    75% {
        -webkit-transform: translate3d(-10px, 0, 0);
        transform: translate3d(-10px, 0, 0)
    }
    90% {
        -webkit-transform: translate3d(5px, 0, 0);
        transform: translate3d(5px, 0, 0)
    }
    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.bounceInLeft {
    -webkit-animation-name: bounceInLeft;
    animation-name: bounceInLeft
}

@-webkit-keyframes bounceInRight {
    0%, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }
    0% {
        opacity: 0;
        -webkit-transform: translate3d(3000px, 0, 0);
        transform: translate3d(3000px, 0, 0)
    }
    60% {
        opacity: 1;
        -webkit-transform: translate3d(-25px, 0, 0);
        transform: translate3d(-25px, 0, 0)
    }
    75% {
        -webkit-transform: translate3d(10px, 0, 0);
        transform: translate3d(10px, 0, 0)
    }
    90% {
        -webkit-transform: translate3d(-5px, 0, 0);
        transform: translate3d(-5px, 0, 0)
    }
    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes bounceInRight {
    0%, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }
    0% {
        opacity: 0;
        -webkit-transform: translate3d(3000px, 0, 0);
        transform: translate3d(3000px, 0, 0)
    }
    60% {
        opacity: 1;
        -webkit-transform: translate3d(-25px, 0, 0);
        transform: translate3d(-25px, 0, 0)
    }
    75% {
        -webkit-transform: translate3d(10px, 0, 0);
        transform: translate3d(10px, 0, 0)
    }
    90% {
        -webkit-transform: translate3d(-5px, 0, 0);
        transform: translate3d(-5px, 0, 0)
    }
    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.bounceInRight {
    -webkit-animation-name: bounceInRight;
    animation-name: bounceInRight
}

@-webkit-keyframes bounceInUp {
    0%, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 3000px, 0);
        transform: translate3d(0, 3000px, 0)
    }
    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0)
    }
    75% {
        -webkit-transform: translate3d(0, 10px, 0);
        transform: translate3d(0, 10px, 0)
    }
    90% {
        -webkit-transform: translate3d(0, -5px, 0);
        transform: translate3d(0, -5px, 0)
    }
    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes bounceInUp {
    0%, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 3000px, 0);
        transform: translate3d(0, 3000px, 0)
    }
    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0)
    }
    75% {
        -webkit-transform: translate3d(0, 10px, 0);
        transform: translate3d(0, 10px, 0)
    }
    90% {
        -webkit-transform: translate3d(0, -5px, 0);
        transform: translate3d(0, -5px, 0)
    }
    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.bounceInUp {
    -webkit-animation-name: bounceInUp;
    animation-name: bounceInUp
}

@-webkit-keyframes bounceOut {
    20% {
        -webkit-transform: scale3d(.9, .9, .9);
        transform: scale3d(.9, .9, .9)
    }
    50%, 55% {
        opacity: 1;
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1)
    }
    to {
        opacity: 0;
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3)
    }
}

@keyframes bounceOut {
    20% {
        -webkit-transform: scale3d(.9, .9, .9);
        transform: scale3d(.9, .9, .9)
    }
    50%, 55% {
        opacity: 1;
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1)
    }
    to {
        opacity: 0;
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3)
    }
}

.bounceOut {
    -webkit-animation-duration: .75s;
    animation-duration: .75s;
    -webkit-animation-name: bounceOut;
    animation-name: bounceOut
}

@-webkit-keyframes bounceOutDown {
    20% {
        -webkit-transform: translate3d(0, 10px, 0);
        transform: translate3d(0, 10px, 0)
    }
    40%, 45% {
        opacity: 1;
        -webkit-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0)
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0)
    }
}

@keyframes bounceOutDown {
    20% {
        -webkit-transform: translate3d(0, 10px, 0);
        transform: translate3d(0, 10px, 0)
    }
    40%, 45% {
        opacity: 1;
        -webkit-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0)
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0)
    }
}

.bounceOutDown {
    -webkit-animation-name: bounceOutDown;
    animation-name: bounceOutDown
}

@-webkit-keyframes bounceOutLeft {
    20% {
        opacity: 1;
        -webkit-transform: translate3d(20px, 0, 0);
        transform: translate3d(20px, 0, 0)
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0)
    }
}

@keyframes bounceOutLeft {
    20% {
        opacity: 1;
        -webkit-transform: translate3d(20px, 0, 0);
        transform: translate3d(20px, 0, 0)
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0)
    }
}

.bounceOutLeft {
    -webkit-animation-name: bounceOutLeft;
    animation-name: bounceOutLeft
}

@-webkit-keyframes bounceOutRight {
    20% {
        opacity: 1;
        -webkit-transform: translate3d(-20px, 0, 0);
        transform: translate3d(-20px, 0, 0)
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0)
    }
}

@keyframes bounceOutRight {
    20% {
        opacity: 1;
        -webkit-transform: translate3d(-20px, 0, 0);
        transform: translate3d(-20px, 0, 0)
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0)
    }
}

.bounceOutRight {
    -webkit-animation-name: bounceOutRight;
    animation-name: bounceOutRight
}

@-webkit-keyframes bounceOutUp {
    20% {
        -webkit-transform: translate3d(0, -10px, 0);
        transform: translate3d(0, -10px, 0)
    }
    40%, 45% {
        opacity: 1;
        -webkit-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0)
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0)
    }
}

@keyframes bounceOutUp {
    20% {
        -webkit-transform: translate3d(0, -10px, 0);
        transform: translate3d(0, -10px, 0)
    }
    40%, 45% {
        opacity: 1;
        -webkit-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0)
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0)
    }
}

.bounceOutUp {
    -webkit-animation-name: bounceOutUp;
    animation-name: bounceOutUp
}

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

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

.fadeIn {
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn
}

@-webkit-keyframes fadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.fadeInDown {
    -webkit-animation-name: fadeInDown;
    animation-name: fadeInDown
}

@-webkit-keyframes fadeInDownBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInDownBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.fadeInDownBig {
    -webkit-animation-name: fadeInDownBig;
    animation-name: fadeInDownBig
}

@-webkit-keyframes fadeInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.fadeInLeft {
    -webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft
}

@-webkit-keyframes fadeInLeftBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInLeftBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.fadeInLeftBig {
    -webkit-animation-name: fadeInLeftBig;
    animation-name: fadeInLeftBig
}

@-webkit-keyframes fadeInRight {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInRight {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.fadeInRight {
    -webkit-animation-name: fadeInRight;
    animation-name: fadeInRight
}

@-webkit-keyframes fadeInRightBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInRightBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.fadeInRightBig {
    -webkit-animation-name: fadeInRightBig;
    animation-name: fadeInRightBig
}

@-webkit-keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.fadeInUp {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp
}

@-webkit-keyframes fadeInUpBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInUpBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.fadeInUpBig {
    -webkit-animation-name: fadeInUpBig;
    animation-name: fadeInUpBig
}

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

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

.fadeOut {
    -webkit-animation-name: fadeOut;
    animation-name: fadeOut
}

@-webkit-keyframes fadeOutDown {
    0% {
        opacity: 1
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0)
    }
}

@keyframes fadeOutDown {
    0% {
        opacity: 1
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0)
    }
}

.fadeOutDown {
    -webkit-animation-name: fadeOutDown;
    animation-name: fadeOutDown
}

@-webkit-keyframes fadeOutDownBig {
    0% {
        opacity: 1
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0)
    }
}

@keyframes fadeOutDownBig {
    0% {
        opacity: 1
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0)
    }
}

.fadeOutDownBig {
    -webkit-animation-name: fadeOutDownBig;
    animation-name: fadeOutDownBig
}

@-webkit-keyframes fadeOutLeft {
    0% {
        opacity: 1
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0)
    }
}

@keyframes fadeOutLeft {
    0% {
        opacity: 1
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0)
    }
}

.fadeOutLeft {
    -webkit-animation-name: fadeOutLeft;
    animation-name: fadeOutLeft
}

@-webkit-keyframes fadeOutLeftBig {
    0% {
        opacity: 1
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0)
    }
}

@keyframes fadeOutLeftBig {
    0% {
        opacity: 1
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0)
    }
}

.fadeOutLeftBig {
    -webkit-animation-name: fadeOutLeftBig;
    animation-name: fadeOutLeftBig
}

@-webkit-keyframes fadeOutRight {
    0% {
        opacity: 1
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0)
    }
}

@keyframes fadeOutRight {
    0% {
        opacity: 1
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0)
    }
}

.fadeOutRight {
    -webkit-animation-name: fadeOutRight;
    animation-name: fadeOutRight
}

@-webkit-keyframes fadeOutRightBig {
    0% {
        opacity: 1
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0)
    }
}

@keyframes fadeOutRightBig {
    0% {
        opacity: 1
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0)
    }
}

.fadeOutRightBig {
    -webkit-animation-name: fadeOutRightBig;
    animation-name: fadeOutRightBig
}

@-webkit-keyframes fadeOutUp {
    0% {
        opacity: 1
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0)
    }
}

@keyframes fadeOutUp {
    0% {
        opacity: 1
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0)
    }
}

.fadeOutUp {
    -webkit-animation-name: fadeOutUp;
    animation-name: fadeOutUp
}

@-webkit-keyframes fadeOutUpBig {
    0% {
        opacity: 1
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0)
    }
}

@keyframes fadeOutUpBig {
    0% {
        opacity: 1
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0)
    }
}

.fadeOutUpBig {
    -webkit-animation-name: fadeOutUpBig;
    animation-name: fadeOutUpBig
}

@-webkit-keyframes flip {
    0% {
        -webkit-transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);
        transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out
    }
    40% {
        -webkit-transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);
        transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out
    }
    50% {
        -webkit-transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);
        transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }
    80% {
        -webkit-transform: perspective(400px) scale3d(.95, .95, .95) translateZ(0) rotateY(0);
        transform: perspective(400px) scale3d(.95, .95, .95) translateZ(0) rotateY(0);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }
    to {
        -webkit-transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0);
        transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }
}

@keyframes flip {
    0% {
        -webkit-transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);
        transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out
    }
    40% {
        -webkit-transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);
        transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out
    }
    50% {
        -webkit-transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);
        transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }
    80% {
        -webkit-transform: perspective(400px) scale3d(.95, .95, .95) translateZ(0) rotateY(0);
        transform: perspective(400px) scale3d(.95, .95, .95) translateZ(0) rotateY(0);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }
    to {
        -webkit-transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0);
        transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }
}

.animated.flip {
    -webkit-backface-visibility: visible;
    backface-visibility: visible;
    -webkit-animation-name: flip;
    animation-name: flip
}

@-webkit-keyframes flipInX {
    0% {
        -webkit-transform: perspective(400px) rotateX(90deg);
        transform: perspective(400px) rotateX(90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0
    }
    40% {
        -webkit-transform: perspective(400px) rotateX(-20deg);
        transform: perspective(400px) rotateX(-20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }
    60% {
        -webkit-transform: perspective(400px) rotateX(10deg);
        transform: perspective(400px) rotateX(10deg);
        opacity: 1
    }
    80% {
        -webkit-transform: perspective(400px) rotateX(-5deg);
        transform: perspective(400px) rotateX(-5deg)
    }
    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px)
    }
}

@keyframes flipInX {
    0% {
        -webkit-transform: perspective(400px) rotateX(90deg);
        transform: perspective(400px) rotateX(90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0
    }
    40% {
        -webkit-transform: perspective(400px) rotateX(-20deg);
        transform: perspective(400px) rotateX(-20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }
    60% {
        -webkit-transform: perspective(400px) rotateX(10deg);
        transform: perspective(400px) rotateX(10deg);
        opacity: 1
    }
    80% {
        -webkit-transform: perspective(400px) rotateX(-5deg);
        transform: perspective(400px) rotateX(-5deg)
    }
    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px)
    }
}

.flipInX {
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    -webkit-animation-name: flipInX;
    animation-name: flipInX
}

@-webkit-keyframes flipInY {
    0% {
        -webkit-transform: perspective(400px) rotateY(90deg);
        transform: perspective(400px) rotateY(90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0
    }
    40% {
        -webkit-transform: perspective(400px) rotateY(-20deg);
        transform: perspective(400px) rotateY(-20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }
    60% {
        -webkit-transform: perspective(400px) rotateY(10deg);
        transform: perspective(400px) rotateY(10deg);
        opacity: 1
    }
    80% {
        -webkit-transform: perspective(400px) rotateY(-5deg);
        transform: perspective(400px) rotateY(-5deg)
    }
    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px)
    }
}

@keyframes flipInY {
    0% {
        -webkit-transform: perspective(400px) rotateY(90deg);
        transform: perspective(400px) rotateY(90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0
    }
    40% {
        -webkit-transform: perspective(400px) rotateY(-20deg);
        transform: perspective(400px) rotateY(-20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }
    60% {
        -webkit-transform: perspective(400px) rotateY(10deg);
        transform: perspective(400px) rotateY(10deg);
        opacity: 1
    }
    80% {
        -webkit-transform: perspective(400px) rotateY(-5deg);
        transform: perspective(400px) rotateY(-5deg)
    }
    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px)
    }
}

.flipInY {
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    -webkit-animation-name: flipInY;
    animation-name: flipInY
}

@-webkit-keyframes flipOutX {
    0% {
        -webkit-transform: perspective(400px);
        transform: perspective(400px)
    }
    30% {
        -webkit-transform: perspective(400px) rotateX(-20deg);
        transform: perspective(400px) rotateX(-20deg);
        opacity: 1
    }
    to {
        -webkit-transform: perspective(400px) rotateX(90deg);
        transform: perspective(400px) rotateX(90deg);
        opacity: 0
    }
}

@keyframes flipOutX {
    0% {
        -webkit-transform: perspective(400px);
        transform: perspective(400px)
    }
    30% {
        -webkit-transform: perspective(400px) rotateX(-20deg);
        transform: perspective(400px) rotateX(-20deg);
        opacity: 1
    }
    to {
        -webkit-transform: perspective(400px) rotateX(90deg);
        transform: perspective(400px) rotateX(90deg);
        opacity: 0
    }
}

.flipOutX {
    -webkit-animation-duration: .75s;
    animation-duration: .75s;
    -webkit-animation-name: flipOutX;
    animation-name: flipOutX;
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important
}

@-webkit-keyframes flipOutY {
    0% {
        -webkit-transform: perspective(400px);
        transform: perspective(400px)
    }
    30% {
        -webkit-transform: perspective(400px) rotateY(-15deg);
        transform: perspective(400px) rotateY(-15deg);
        opacity: 1
    }
    to {
        -webkit-transform: perspective(400px) rotateY(90deg);
        transform: perspective(400px) rotateY(90deg);
        opacity: 0
    }
}

@keyframes flipOutY {
    0% {
        -webkit-transform: perspective(400px);
        transform: perspective(400px)
    }
    30% {
        -webkit-transform: perspective(400px) rotateY(-15deg);
        transform: perspective(400px) rotateY(-15deg);
        opacity: 1
    }
    to {
        -webkit-transform: perspective(400px) rotateY(90deg);
        transform: perspective(400px) rotateY(90deg);
        opacity: 0
    }
}

.flipOutY {
    -webkit-animation-duration: .75s;
    animation-duration: .75s;
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    -webkit-animation-name: flipOutY;
    animation-name: flipOutY
}

@-webkit-keyframes lightSpeedIn {
    0% {
        -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
        transform: translate3d(100%, 0, 0) skewX(-30deg);
        opacity: 0
    }
    60% {
        -webkit-transform: skewX(20deg);
        transform: skewX(20deg);
        opacity: 1
    }
    80% {
        -webkit-transform: skewX(-5deg);
        transform: skewX(-5deg)
    }
    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes lightSpeedIn {
    0% {
        -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
        transform: translate3d(100%, 0, 0) skewX(-30deg);
        opacity: 0
    }
    60% {
        -webkit-transform: skewX(20deg);
        transform: skewX(20deg);
        opacity: 1
    }
    80% {
        -webkit-transform: skewX(-5deg);
        transform: skewX(-5deg)
    }
    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.lightSpeedIn {
    -webkit-animation-name: lightSpeedIn;
    animation-name: lightSpeedIn;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out
}

@-webkit-keyframes lightSpeedOut {
    0% {
        opacity: 1
    }
    to {
        -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
        transform: translate3d(100%, 0, 0) skewX(30deg);
        opacity: 0
    }
}

@keyframes lightSpeedOut {
    0% {
        opacity: 1
    }
    to {
        -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
        transform: translate3d(100%, 0, 0) skewX(30deg);
        opacity: 0
    }
}

.lightSpeedOut {
    -webkit-animation-name: lightSpeedOut;
    animation-name: lightSpeedOut;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in
}

@-webkit-keyframes rotateIn {
    0% {
        -webkit-transform-origin: center;
        transform-origin: center;
        -webkit-transform: rotate(-200deg);
        transform: rotate(-200deg);
        opacity: 0
    }
    to {
        -webkit-transform-origin: center;
        transform-origin: center;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1
    }
}

@keyframes rotateIn {
    0% {
        -webkit-transform-origin: center;
        transform-origin: center;
        -webkit-transform: rotate(-200deg);
        transform: rotate(-200deg);
        opacity: 0
    }
    to {
        -webkit-transform-origin: center;
        transform-origin: center;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1
    }
}

.rotateIn {
    -webkit-animation-name: rotateIn;
    animation-name: rotateIn
}

@-webkit-keyframes rotateInDownLeft {
    0% {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        opacity: 0
    }
    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1
    }
}

@keyframes rotateInDownLeft {
    0% {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        opacity: 0
    }
    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1
    }
}

.rotateInDownLeft {
    -webkit-animation-name: rotateInDownLeft;
    animation-name: rotateInDownLeft
}

@-webkit-keyframes rotateInDownRight {
    0% {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        opacity: 0
    }
    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1
    }
}

@keyframes rotateInDownRight {
    0% {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        opacity: 0
    }
    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1
    }
}

.rotateInDownRight {
    -webkit-animation-name: rotateInDownRight;
    animation-name: rotateInDownRight
}

@-webkit-keyframes rotateInUpLeft {
    0% {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        opacity: 0
    }
    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1
    }
}

@keyframes rotateInUpLeft {
    0% {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        opacity: 0
    }
    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1
    }
}

.rotateInUpLeft {
    -webkit-animation-name: rotateInUpLeft;
    animation-name: rotateInUpLeft
}

@-webkit-keyframes rotateInUpRight {
    0% {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate(-90deg);
        transform: rotate(-90deg);
        opacity: 0
    }
    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1
    }
}

@keyframes rotateInUpRight {
    0% {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate(-90deg);
        transform: rotate(-90deg);
        opacity: 0
    }
    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1
    }
}

.rotateInUpRight {
    -webkit-animation-name: rotateInUpRight;
    animation-name: rotateInUpRight
}

@-webkit-keyframes rotateOut {
    0% {
        -webkit-transform-origin: center;
        transform-origin: center;
        opacity: 1
    }
    to {
        -webkit-transform-origin: center;
        transform-origin: center;
        -webkit-transform: rotate(200deg);
        transform: rotate(200deg);
        opacity: 0
    }
}

@keyframes rotateOut {
    0% {
        -webkit-transform-origin: center;
        transform-origin: center;
        opacity: 1
    }
    to {
        -webkit-transform-origin: center;
        transform-origin: center;
        -webkit-transform: rotate(200deg);
        transform: rotate(200deg);
        opacity: 0
    }
}

.rotateOut {
    -webkit-animation-name: rotateOut;
    animation-name: rotateOut
}

@-webkit-keyframes rotateOutDownLeft {
    0% {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        opacity: 1
    }
    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        opacity: 0
    }
}

@keyframes rotateOutDownLeft {
    0% {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        opacity: 1
    }
    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        opacity: 0
    }
}

.rotateOutDownLeft {
    -webkit-animation-name: rotateOutDownLeft;
    animation-name: rotateOutDownLeft
}

@-webkit-keyframes rotateOutDownRight {
    0% {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        opacity: 1
    }
    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        opacity: 0
    }
}

@keyframes rotateOutDownRight {
    0% {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        opacity: 1
    }
    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        opacity: 0
    }
}

.rotateOutDownRight {
    -webkit-animation-name: rotateOutDownRight;
    animation-name: rotateOutDownRight
}

@-webkit-keyframes rotateOutUpLeft {
    0% {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        opacity: 1
    }
    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        opacity: 0
    }
}

@keyframes rotateOutUpLeft {
    0% {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        opacity: 1
    }
    to {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        opacity: 0
    }
}

.rotateOutUpLeft {
    -webkit-animation-name: rotateOutUpLeft;
    animation-name: rotateOutUpLeft
}

@-webkit-keyframes rotateOutUpRight {
    0% {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        opacity: 1
    }
    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
        opacity: 0
    }
}

@keyframes rotateOutUpRight {
    0% {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        opacity: 1
    }
    to {
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
        opacity: 0
    }
}

.rotateOutUpRight {
    -webkit-animation-name: rotateOutUpRight;
    animation-name: rotateOutUpRight
}

@-webkit-keyframes hinge {
    0% {
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out
    }
    20%, 60% {
        -webkit-transform: rotate(80deg);
        transform: rotate(80deg);
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out
    }
    40%, 80% {
        -webkit-transform: rotate(60deg);
        transform: rotate(60deg);
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
        opacity: 1
    }
    to {
        -webkit-transform: translate3d(0, 700px, 0);
        transform: translate3d(0, 700px, 0);
        opacity: 0
    }
}

@keyframes hinge {
    0% {
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out
    }
    20%, 60% {
        -webkit-transform: rotate(80deg);
        transform: rotate(80deg);
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out
    }
    40%, 80% {
        -webkit-transform: rotate(60deg);
        transform: rotate(60deg);
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
        opacity: 1
    }
    to {
        -webkit-transform: translate3d(0, 700px, 0);
        transform: translate3d(0, 700px, 0);
        opacity: 0
    }
}

.hinge {
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-name: hinge;
    animation-name: hinge
}

@-webkit-keyframes jackInTheBox {
    0% {
        opacity: 0;
        -webkit-transform: scale(.1) rotate(30deg);
        transform: scale(.1) rotate(30deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom
    }
    50% {
        -webkit-transform: rotate(-10deg);
        transform: rotate(-10deg)
    }
    70% {
        -webkit-transform: rotate(3deg);
        transform: rotate(3deg)
    }
    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes jackInTheBox {
    0% {
        opacity: 0;
        -webkit-transform: scale(.1) rotate(30deg);
        transform: scale(.1) rotate(30deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom
    }
    50% {
        -webkit-transform: rotate(-10deg);
        transform: rotate(-10deg)
    }
    70% {
        -webkit-transform: rotate(3deg);
        transform: rotate(3deg)
    }
    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

.jackInTheBox {
    -webkit-animation-name: jackInTheBox;
    animation-name: jackInTheBox
}

@-webkit-keyframes rollIn {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0) rotate(-120deg);
        transform: translate3d(-100%, 0, 0) rotate(-120deg)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes rollIn {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0) rotate(-120deg);
        transform: translate3d(-100%, 0, 0) rotate(-120deg)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.rollIn {
    -webkit-animation-name: rollIn;
    animation-name: rollIn
}

@-webkit-keyframes rollOut {
    0% {
        opacity: 1
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0) rotate(120deg);
        transform: translate3d(100%, 0, 0) rotate(120deg)
    }
}

@keyframes rollOut {
    0% {
        opacity: 1
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0) rotate(120deg);
        transform: translate3d(100%, 0, 0) rotate(120deg)
    }
}

.rollOut {
    -webkit-animation-name: rollOut;
    animation-name: rollOut
}

@-webkit-keyframes zoomIn {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3)
    }
    50% {
        opacity: 1
    }
}

@keyframes zoomIn {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3)
    }
    50% {
        opacity: 1
    }
}

.zoomIn {
    -webkit-animation-name: zoomIn;
    animation-name: zoomIn
}

@-webkit-keyframes zoomInDown {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
        transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }
    60% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
        transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

@keyframes zoomInDown {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
        transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }
    60% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
        transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

.zoomInDown {
    -webkit-animation-name: zoomInDown;
    animation-name: zoomInDown
}

@-webkit-keyframes zoomInLeft {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
        transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }
    60% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
        transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

@keyframes zoomInLeft {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
        transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }
    60% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
        transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

.zoomInLeft {
    -webkit-animation-name: zoomInLeft;
    animation-name: zoomInLeft
}

@-webkit-keyframes zoomInRight {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
        transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }
    60% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
        transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

@keyframes zoomInRight {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
        transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }
    60% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
        transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

.zoomInRight {
    -webkit-animation-name: zoomInRight;
    animation-name: zoomInRight
}

@-webkit-keyframes zoomInUp {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
        transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }
    60% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
        transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

@keyframes zoomInUp {
    0% {
        transform: scale(.7) rotate(3deg) translateY(50px);
        animation-timing-function: cubic-bezier(.785, .135, .15, .86)
    }
    60% {
        transform: scale(1) rotate(0) translateY(0);
        animation-timing-function: cubic-bezier(.785, .135, .15, .86)
    }
}

.zoomInUp {
    -webkit-animation-name: zoomInUp;
    animation-name: zoomInUp
}

@-webkit-keyframes zoomOut {
    0% {
        opacity: 1
    }
    50% {
        opacity: 0;
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3)
    }
    to {
        opacity: 0
    }
}

@keyframes zoomOut {
    0% {
        opacity: 1
    }
    50% {
        opacity: 0;
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3)
    }
    to {
        opacity: 0
    }
}

.zoomOut {
    -webkit-animation-name: zoomOut;
    animation-name: zoomOut
}

@-webkit-keyframes zoomOutDown {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
        transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }
    to {
        opacity: 0;
        -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
        transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

@keyframes zoomOutDown {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
        transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }
    to {
        opacity: 0;
        -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
        transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

.zoomOutDown {
    -webkit-animation-name: zoomOutDown;
    animation-name: zoomOutDown
}

@-webkit-keyframes zoomOutLeft {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
        transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0)
    }
    to {
        opacity: 0;
        -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
        transform: scale(.1) translate3d(-2000px, 0, 0);
        -webkit-transform-origin: left center;
        transform-origin: left center
    }
}

@keyframes zoomOutLeft {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
        transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0)
    }
    to {
        opacity: 0;
        -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
        transform: scale(.1) translate3d(-2000px, 0, 0);
        -webkit-transform-origin: left center;
        transform-origin: left center
    }
}

.zoomOutLeft {
    -webkit-animation-name: zoomOutLeft;
    animation-name: zoomOutLeft
}

@-webkit-keyframes zoomOutRight {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
        transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0)
    }
    to {
        opacity: 0;
        -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
        transform: scale(.1) translate3d(2000px, 0, 0);
        -webkit-transform-origin: right center;
        transform-origin: right center
    }
}

@keyframes zoomOutRight {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
        transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0)
    }
    to {
        opacity: 0;
        -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
        transform: scale(.1) translate3d(2000px, 0, 0);
        -webkit-transform-origin: right center;
        transform-origin: right center
    }
}

.zoomOutRight {
    -webkit-animation-name: zoomOutRight;
    animation-name: zoomOutRight
}

@-webkit-keyframes zoomOutUp {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
        transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }
    to {
        opacity: 0;
        -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
        transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

@keyframes zoomOutUp {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
        transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }
    to {
        opacity: 0;
        -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
        transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

.zoomOutUp {
    -webkit-animation-name: zoomOutUp;
    animation-name: zoomOutUp
}

@-webkit-keyframes slideInDown {
    0% {
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
        visibility: visible
    }
    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes slideInDown {
    0% {
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
        visibility: visible
    }
    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.slideInDown {
    -webkit-animation-name: slideInDown;
    animation-name: slideInDown
}

@-webkit-keyframes slideInLeft {
    0% {
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
        visibility: visible
    }
    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes slideInLeft {
    0% {
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
        visibility: visible
    }
    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.slideInLeft {
    -webkit-animation-name: slideInLeft;
    animation-name: slideInLeft
}

@-webkit-keyframes slideInRight {
    0% {
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
        visibility: visible
    }
    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes slideInRight {
    0% {
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
        visibility: visible
    }
    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.slideInRight {
    -webkit-animation-name: slideInRight;
    animation-name: slideInRight
}

@-webkit-keyframes slideInUp {
    0% {
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
        visibility: visible
    }
    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes slideInUp {
    0% {
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
        visibility: visible
    }
    to {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.slideInUp {
    -webkit-animation-name: slideInUp;
    animation-name: slideInUp
}

@-webkit-keyframes slideOutDown {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
    to {
        visibility: hidden;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0)
    }
}

@keyframes slideOutDown {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
    to {
        visibility: hidden;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0)
    }
}

.slideOutDown {
    -webkit-animation-name: slideOutDown;
    animation-name: slideOutDown
}

@-webkit-keyframes slideOutLeft {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
    to {
        visibility: hidden;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0)
    }
}

@keyframes slideOutLeft {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
    to {
        visibility: hidden;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0)
    }
}

.slideOutLeft {
    -webkit-animation-name: slideOutLeft;
    animation-name: slideOutLeft
}

@-webkit-keyframes slideOutRight {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
    to {
        visibility: hidden;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0)
    }
}

@keyframes slideOutRight {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
    to {
        visibility: hidden;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0)
    }
}

.slideOutRight {
    -webkit-animation-name: slideOutRight;
    animation-name: slideOutRight
}

@-webkit-keyframes slideOutUp {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
    to {
        visibility: hidden;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0)
    }
}

@keyframes slideOutUp {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
    to {
        visibility: hidden;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0)
    }
}

.slideOutUp {
    -webkit-animation-name: slideOutUp;
    animation-name: slideOutUp
}

.animated {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}

.animated.infinite {
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite
}

.animated.delay-1s {
    -webkit-animation-delay: 1s;
    animation-delay: 1s
}

.animated.delay-2s {
    -webkit-animation-delay: 2s;
    animation-delay: 2s
}

.animated.delay-3s {
    -webkit-animation-delay: 3s;
    animation-delay: 3s
}

.animated.delay-4s {
    -webkit-animation-delay: 4s;
    animation-delay: 4s
}

.animated.delay-5s {
    -webkit-animation-delay: 5s;
    animation-delay: 5s
}

.animated.fast {
    -webkit-animation-duration: .8s;
    animation-duration: .8s
}

.animated.faster {
    -webkit-animation-duration: .5s;
    animation-duration: .5s
}

.animated.slow {
    -webkit-animation-duration: 2s;
    animation-duration: 2s
}

.animated.slower {
    -webkit-animation-duration: 3s;
    animation-duration: 3s
}

@media (prefers-reduced-motion: reduce),(print) {
    .animated {
        -webkit-animation-duration: 1ms !important;
        animation-duration: 1ms !important;
        -webkit-transition-duration: 1ms !important;
        transition-duration: 1ms !important;
        -webkit-animation-iteration-count: 1 !important;
        animation-iteration-count: 1 !important
    }
}

/*!
 * fullPage 3.1.0
 * https://github.com/alvarotrigo/fullPage.js
 *
 * @license GPLv3 for open source use only
 * or Fullpage Commercial License for commercial use
 * http://alvarotrigo.com/fullPage/pricing/
 *
 * Copyright (C) 2018 http://alvarotrigo.com/fullPage - A project by Alvaro Trigo
 */
.fp-enabled body, html.fp-enabled {
    margin: 0;
    padding: 0;
    overflow: hidden;
    -webkit-tap-highlight-color: transparent
}

.fp-section {
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
}

.fp-slide {
    float: left
}

.fp-slide, .fp-slidesContainer {
    height: 100%;
    display: block
}

.fp-slides {
    z-index: 1;
    height: 100%;
    overflow: hidden;
    position: relative;
    -webkit-transition: .3s ease-out;
    transition: .3s ease-out
}

.fp-section.fp-table, .fp-slide.fp-table {
    display: table;
    table-layout: fixed;
    width: 100%
}

.fp-tableCell {
    display: table-cell;
    vertical-align: middle;
    width: 100%;
    height: 100%
}

.fp-slidesContainer {
    float: left;
    position: relative
}

.fp-controlArrow {
    -webkit-user-select: none;
    -moz-user-select: none;
    -khtml-user-select: none;
    -ms-user-select: none;
    position: absolute;
    z-index: 4;
    top: 50%;
    cursor: pointer;
    width: 0;
    height: 0;
    border-style: solid;
    margin-top: -38px;
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.fp-controlArrow.fp-prev {
    left: 15px;
    width: 0;
    border-width: 38.5px 34px 38.5px 0;
    border-color: transparent #fff transparent transparent
}

.fp-controlArrow.fp-next {
    right: 15px;
    border-width: 38.5px 0 38.5px 34px;
    border-color: transparent transparent transparent #fff
}

.fp-scrollable {
    overflow: hidden;
    position: relative
}

.fp-scroller {
    overflow: hidden
}

.iScrollIndicator {
    border: 0 !important
}

.fp-notransition {
    -webkit-transition: none !important;
    transition: none !important
}

#fp-nav {
    position: fixed;
    z-index: 100;
    top: 50%;
    opacity: 1;
    transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -webkit-transform: translate3d(0, -50%, 0)
}

#fp-nav.fp-right {
    right: 17px
}

#fp-nav.fp-left {
    left: 17px
}

.fp-slidesNav {
    position: absolute;
    z-index: 4;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    left: 0 !important;
    right: 0;
    margin: 0 auto !important
}

.fp-slidesNav.fp-bottom {
    bottom: 17px
}

.fp-slidesNav.fp-top {
    top: 17px
}

#fp-nav ul, .fp-slidesNav ul {
    margin: 0;
    padding: 0
}

#fp-nav ul li, .fp-slidesNav ul li {
    display: block;
    width: 14px;
    height: 13px;
    margin: 7px;
    position: relative
}

.fp-slidesNav ul li {
    display: inline-block
}

#fp-nav ul li a, .fp-slidesNav ul li a {
    display: block;
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    cursor: pointer;
    text-decoration: none
}

#fp-nav ul li a.active span, #fp-nav ul li:hover a.active span, .fp-slidesNav ul li a.active span, .fp-slidesNav ul li:hover a.active span {
    height: 12px;
    width: 12px;
    margin: -6px 0 0 -6px;
    border-radius: 100%
}

#fp-nav ul li a span, .fp-slidesNav ul li a span {
    border-radius: 50%;
    position: absolute;
    z-index: 1;
    height: 4px;
    width: 4px;
    border: 0;
    background: #333;
    left: 50%;
    top: 50%;
    margin: -2px 0 0 -2px;
    -webkit-transition: .1s ease-in-out;
    -moz-transition: .1s ease-in-out;
    -o-transition: .1s ease-in-out;
    transition: .1s ease-in-out
}

#fp-nav ul li:hover a span, .fp-slidesNav ul li:hover a span {
    width: 10px;
    height: 10px;
    margin: -5px 0 0 -5px
}

#fp-nav ul li .fp-tooltip {
    position: absolute;
    top: -2px;
    color: #fff;
    font-size: 14px;
    font-family: arial, helvetica, sans-serif;
    white-space: nowrap;
    max-width: 220px;
    overflow: hidden;
    display: block;
    opacity: 0;
    width: 0;
    cursor: pointer
}

#fp-nav ul li:hover .fp-tooltip, #fp-nav.fp-show-active a.active + .fp-tooltip {
    -webkit-transition: opacity .2s ease-in;
    transition: opacity .2s ease-in;
    width: auto;
    opacity: 1
}

#fp-nav ul li .fp-tooltip.fp-right {
    right: 20px
}

#fp-nav ul li .fp-tooltip.fp-left {
    left: 20px
}

.fp-auto-height .fp-slide, .fp-auto-height .fp-tableCell, .fp-auto-height.fp-section, .fp-responsive .fp-auto-height-responsive .fp-slide, .fp-responsive .fp-auto-height-responsive .fp-tableCell, .fp-responsive .fp-auto-height-responsive.fp-section {
    height: auto !important
}

.fp-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0
}

label.fh-file-select > span > i {
    margin-right: 6px
}

div.fh-file-block > span.fh-file-limit, div.fh-file-block > span.fh-file-unselect, div.fh-file-box > span.fh-file-info {
    display: block
}

div.fh-file-block > .fh-file-accept > .fh-tag, div.fh-file-block > .fh-file-limit > .fh-tag {
    display: inline-block;
    white-space: nowrap;
    vertical-align: baseline;
    text-align: center;
    margin: 0 .1rem;
    padding: .15rem .25rem;
    line-height: 1;
    border-radius: .25rem;
    font-size: .75rem;
    font-weight: 700;
    background-color: gray;
    color: #fff
}

div.fh-file-box > span.fh-file-info > i {
    margin: 0 6px
}

div.fh-file-box {
    position: relative;
    background-color: #dcdcdc
}

div.fh-file-box > span.fh-file-info > a[href=""] {
    color: red;
    cursor: not-allowed
}

div.fh-file-box > span.fh-file-info > a[href=""]:active {
    pointer-events: none
}

div.fh-file-box > div.fh-file-toolbar {
    position: absolute;
    top: 0;
    right: 0
}

div.fh-file-box > div.fh-file-toolbar > span.fh-file-modify > i {
    color: orange;
    cursor: pointer
}

div.fh-file-box > div.fh-file-toolbar > span.fh-file-remove > i {
    color: red;
    cursor: pointer
}

.fh-file-invalid {
    background-color: #fcdede
}

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: 0
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-list, .slick-slider .slick-track {
    transform: translate3d(0, 0, 0)
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto
}

.slick-track:after, .slick-track:before {
    content: "";
    display: table
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    display: none
}

[dir=rtl] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}

.slick-arrow.slick-hidden {
    display: none
}

.formError .formErrorContent {
    z-index: 991;
    width: 100%;
    background: #363636;
    position: relative;
    color: #ff3d4b;
    min-width: 120px;
    font-size: 16px;
    padding: 5px 0;
    white-space: nowrap
}

.formError .formErrorArrow {
    z-index: 996
}

.ui-dialog .formError {
    z-index: 5000
}

.ui-dialog .formError .formErrorContent {
    z-index: 5001
}

.ui-dialog .formError .formErrorArrow {
    z-index: 5006
}

.inputContainer {
    position: relative;
    float: left
}

.formError {
    z-index: 6000;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    cursor: pointer;
    text-align: left;
    opacity: 1 !important
}

.formError.inline {
    position: relative;
    top: 0;
    left: 0;
    display: inline-block
}

.ajaxSubmit {
    padding: 20px;
    background: #55ea55;
    border: 1px solid #999;
    display: none
}

.formError.inline .formErrorContent {
    box-shadow: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    -o-box-shadow: none;
    border: none;
    border-radius: 0;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    -o-border-radius: 0
}

.greenPopup .formErrorContent {
    background: #33be40
}

.blackPopup .formErrorContent {
    background: #393939;
    color: #fff
}

.formError .formErrorArrow {
    display: none !important;
    width: 15px;
    margin: -2px 0 0 13px;
    position: relative
}

body.rtl .formError .formErrorArrow, body[dir=rtl] .formError .formErrorArrow {
    margin: -2px 13px 0 0
}

.formError .formErrorArrowBottom {
    box-shadow: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    -o-box-shadow: none;
    margin: 0 0 0 12px;
    top: 2px
}

.formError .formErrorArrow div {
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
    height: 1px;
    background: #363636;
    margin: 0 auto;
    line-height: 0;
    font-size: 0;
    display: block
}

.formError .formErrorArrowBottom div {
    box-shadow: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    -o-box-shadow: none
}

.greenPopup .formErrorArrow div {
    background: #33be40
}

.blackPopup .formErrorArrow div {
    background: #393939;
    color: #fff
}

.formError .formErrorArrow .line10 {
    width: 13px;
    border: none
}

.formError .formErrorArrow .line9 {
    width: 11px;
    border: none
}

.formError .formErrorArrow .line8 {
    width: 11px
}

.formError .formErrorArrow .line7 {
    width: 9px
}

.formError .formErrorArrow .line6 {
    width: 7px
}

.formError .formErrorArrow .line5 {
    width: 5px
}

.formError .formErrorArrow .line4 {
    width: 3px
}

.formError .formErrorArrow .line2 {
    width: 3px;
    border: none;
    background: #fff
}

.formError .formErrorArrow .line1 {
    width: 1px;
    border: none;
    background: #fff
}

@font-face {
    font-family: 'SK Concretica';
    src: url(../fonts/SKConcretica-Regular.woff2) format('woff2'), url(../fonts/SKConcretica-Regular.woff) format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Golos;
    src: url(../fonts/GolosText-Regular.woff2) format('woff2'), url(../fonts/GolosText-Regular.woff) format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: 'Golos Medium';
    src: url(../fonts/GolosText-Medium.woff2) format('woff2'), url(../fonts/GolosText-Medium.woff) format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap
}

html {
    width: 100%;
    height: 100%;
    box-sizing: border-box
}

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

body {
    width: 100%;
    min-width: 320px;
    margin: 0;
    padding: 0;
    color: #363636;
    font-family: Golos, Inter, Arial, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    line-height: 1.3;
    background-color: #fcfbfb
}

body.noscroll {
    overflow: hidden
}

.wrap--bg, .wrap--bg .header {
    background-color: #eee
}

main.nopt {
    padding-top: 0
}

.container {
    max-width: 1790px;
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px
}

a, a:focus, button, button:focus, input, input:focus {
    outline: 0;
    text-decoration: none
}

.header {
    position: fixed;
    z-index: 7000;
    top: 0;
    left: 0;
    width: 100%;
    padding: 15px 0;
    background-color: #fcfbfb;
    transition: .3s linear
}

.header__row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
    align-items: center
}

.header__left {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 3 - 30px)
}

.header__center {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 5 - 30px)
}

.header__right {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 4 - 30px);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center
}

.header__btn {
    display: none;
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 2 - 30px)
}

.header.light {
    background-color: #fcfbfb
}

.logo {
    display: block;
    width: 103px;
    height: 22px
}

.logo svg {
    width: 100%;
    height: 100%;
    fill: #363636
}

.menu {
    margin: 0 -15px;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap
}

.menu__item {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    position: relative;
    padding: 13px 0
}

.menu__item.current .menu__link {
    color: #ff505c
}

.menu__item.js-menu-toggle .menu__link {
    border-bottom-color: #ff3d4b
}

.menu__link {
    display: block;
    border-bottom: 2px solid transparent;
    color: #363636;
    font-family: Golos;
    font-size: 14px;
    font-weight: 400;
    text-decoration: none;
    transition: .3s linear
}

.menu__link:hover {
    color: #ff505c
}

.dropdown {
    display: none;
    position: absolute;
    z-index: 100;
    top: 99%;
    left: 50%;
    padding: 5px 10px;
    background: #fcfbfb;
    border-radius: 2px;
    white-space: nowrap;
    transform: translateX(-50%)
}

.dropdown__list {
    margin: 0;
    padding: 0;
    list-style: none
}

.dropdown__link {
    display: inline-block;
    padding: 5px 0;
    text-decoration: none;
    color: #363636;
    font-family: Golos;
    font-weight: 400;
    font-size: 16px;
    transition: .3s linear
}

.dropdown__link:hover {
    color: #ff505c
}

.tel {
    color: #ff3d4b;
    font-family: Golos;
    font-size: 14px;
    font-weight: 400;
    text-decoration: none;
    transition: .3s linear
}

.tel:hover {
    color: #ff505c
}

.social {
    margin: 0 -5px;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap
}

.social__item {
    margin: 0 5px
}

.social__link {
    display: block;
    width: 30px;
    height: 30px;
    border-radius: 50%
}

.social__link svg {
    width: 100%;
    height: 100%;
    fill: #363636;
    transition: .3s linear
}

.social__link:hover svg {
    fill: #ff505c
}

.req-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    height: 50px;
    border-radius: 25px;
    border: 2px solid #ff3d4b;
    text-decoration: none;
    transition: .3s linear
}

.req-btn__text {
    position: relative;
    height: 20px;
    overflow: hidden;
    margin-bottom: 2px
}

.req-btn__text span {
    display: block;
    color: #ff3d4b;
    font-family: Golos;
    font-size: 14px;
    font-weight: 400;
    transition: .3s linear
}

.req-btn__text span:nth-child(2) {
    position: absolute;
    left: 0;
    top: 104%
}

.req-btn__icon {
    width: 30px;
    height: 16px
}

.req-btn__icon svg {
    position: relative;
    left: 11px;
    width: 19px;
    height: 16px;
    fill: none;
    stroke: #ff3d4b;
    animation: .5s forwards animateNoHoverArrow
}

.req-btn:hover {
    background-color: #ff3d4b
}

.req-btn:hover .req-btn__text span {
    transform: translateY(-115%);
    color: #fff
}

.req-btn:hover .req-btn__icon svg {
    animation: .5s forwards animateHoverArrow
}

@keyframes animateHoverArrow {
    0% {
        left: 0;
        opacity: 0;
        stroke: #fff
    }
    100% {
        left: 11px;
        opacity: 1;
        stroke: #fff
    }
}

@keyframes animateNoHoverArrow {
    0% {
        left: 0;
        opacity: 0;
        stroke: #ff3d4b
    }
    100% {
        left: 11px;
        opacity: 1;
        stroke: #ff3d4b
    }
}

.lang {
    position: relative;
    display: block;
    color: #363636;
    font-family: Golos;
    font-size: 14px;
    font-weight: 400;
    text-decoration: none;
    transition: .3s linear
}

.lang span {
    cursor: pointer
}

.lang span:hover {
    color: #ff505c
}

.lang span::after {
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 0;
    height: 0;
    margin-left: 4px;
    border-top: 5px solid #363636;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    transition: .3s linear
}

.lang__list {
    display: none;
    position: absolute;
    top: 100%;
    left: -10px;
    right: -10px;
    margin: 5px 0;
    background-color: #fff;
    border-radius: 4px;
    box-shadow: 0 3px 5px rgba(0, 0, 0, .1);
    z-index: 10;
}

.lang__list a {
    display: block;
    padding: 5px 10px;
    color: #363636
}

.lang__list a:hover {
    color: #ff505c
}

.lang.open span::after {
    transform: rotateX(180deg)
}

.footer {
    position: relative;
    padding: 90px 0 34px;
    background-color: #eee
}

.footer__grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: repeat(2, auto);
    grid-column-gap: 30px;
    grid-row-gap: 26px
}

.footer__tl {
    grid-area: 1/1/2/5;
    align-self: center
}

.footer__tr {
    grid-area: 1/5/2/12;
    display: flex;
    flex-wrap: wrap;
    align-items: center
}

.footer__bl {
    grid-area: 2/1/3/5
}

.footer__bc {
    grid-area: 2/5/3/8
}

.footer__br {
    grid-area: 2/8/3/11
}

.footer .tel {
    font-size: 16px
}

.footer .menu__link {
    font-size: 18px
}

.pres {
    display: block;
    margin-left: 30px;
    color: #ff3d4b;
    font-size: 18px;
    transition: .3s linear
}

.pres:hover {
    color: #ff505c
}

.email {
    display: inline-block;
    margin-bottom: 20px;
    color: #363636;
    font-family: Golos;
    font-weight: 400;
    font-size: 16px;
    text-decoration: none;
    transition: .3s linear
}

.email:hover {
    color: #ff505c
}

.addr {
    margin-bottom: 20px;
    color: #363636;
    font-style: normal
}

.msg {
    margin: 20px -15px;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap
}

.msg__item {
    margin: 0 15px
}

.msg__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 190px;
    height: 50px;
    border-radius: 25px;
    background: #ff3d4b;
    color: #fcfbfb;
    transition: .3s linear
}

.msg__link:hover {
    background-color: #ff505c
}

.msg__link svg {
    display: none
}

.assoc {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    max-width: 300px;
    margin-top: 26px
}

.assoc__logo {
    width: 80px;
    height: 80px;
    margin-right: 30px
}

.assoc__logo svg {
    width: 100%;
    height: 100%;
    fill: #363636
}

.assoc__text {
    width: calc(100% - 110px);
    color: #363636
}

.bottom {
    display: flex;
    flex-wrap: wrap;
    margin-top: 65px
}

.bottom__copy {
    margin: 0 30px 0 0;
    color: #828282
}

.bottom a {
    margin-right: 30px;
    color: #363636;
    transition: .3s linear
}

.bottom a:hover {
    color: #ff505c
}

.call-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    z-index: 6000;
    bottom: 40px;
    right: calc((100% - 1790px) / 2 + 15px);
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background-color: #ff3d4b;
    animation: 1.5s infinite scaleCallBtn;
    transition: .3s linear
}

.call-btn svg {
    width: 36px;
    height: 36px;
    fill: #fcfbfb
}

.call-btn:hover {
    background-color: #ff505c
}

@keyframes scaleCallBtn {
    0%, 100%, 60% {
        transform: scale(1)
    }
    30% {
        transform: scale(1.1)
    }
}

.cookie {
    position: fixed;
    z-index: 7000;
    bottom: 20px;
    right: calc((100% - 1790px) / 2 + 15px);
    width: 418px;
    padding: 20px;
    border-radius: 6px;
    background-color: #fcfbfb;
    box-shadow: 0 0 8px rgba(0, 0, 0, .06)
}

.cookie__text {
    margin: 0 0 20px
}

.cookie__text a {
    color: #363636;
    text-decoration: underline;
    transition: .3s linear
}

.cookie__text a:hover {
    color: #ff505c
}

.cookie__accept {
    color: #ff3d4b;
    transition: .3s linear
}

.cookie__accept:hover {
    color: #ff505c
}

.abox--red {
    background-color: #ff3d4b
}

.abox--red .abox__btn {
    background-color: #363636
}

.abox--red .abox__btn:hover {
    background-color: #434343
}

.abox--black {
    background-color: #363636
}

.abox--black .abox__btn {
    background-color: #ff3d4b
}

.abox--black .abox__btn:hover {
    background-color: #ff505c
}

.abox__row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
    align-items: center;
    height: 510px
}

.abox__left {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 4.5 - 30px);
    margin-left: calc(100% / 12 * 1 + 15px)
}

.abox__right {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 3 - 30px);
    margin-left: calc(100% / 12 * 1.5 + 15px)
}

.abox__right img {
    display: block;
    max-width: 100%;
    width: 418px;
    height: 418px;
    object-fit: contain
}

.abox__right img.mobile {
    display: none
}

.abox__text {
    margin: 0 0 40px;
    color: #fcfbfb;
    font-family: "SK Concretica";
    font-size: 70px;
    font-weight: 400;
    line-height: 1
}

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

.abox__text--sm {
    color: #363636;
    font-family: 'Golos Medium';
    font-size: 30px;
    font-weight: 500;
    line-height: 1.3
}

.abox__text--sm a {
    color: #363636;
    transition: .3s linear
}

.abox__text--sm a:hover {
    color: #ff3d4b
}

.abox__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 300px;
    height: 60px;
    border-radius: 30px;
    color: #fcfbfb;
    font-family: Golos;
    font-size: 18px;
    font-weight: 400;
    transition: .3s linear
}

.abox--left {
    align-items: center;
}

.abox--left .abox__left {
    width: calc(100% / 12 * 5.2 - 30px);
    margin-left: calc(100% / 12 * 0 + 15px);
    order: 1
}

.abox--left .abox__right {
    width: calc(100% / 12 * 4 - 30px);
    margin-left: calc(100% / 12 * 0 + 15px);
    margin-right: calc(100% / 12 * 1 + 15px)
}

.abox--left .abox__right img {
    margin-left: auto
}

.clients {
    background-color: #fcfbfb;
    overflow: hidden
}

.clients .slick-list {
    width: auto !important;
    padding: 0 !important;
    overflow: visible
}

.clients .slick-track {
    display: flex !important;
    flex-wrap: nowrap
}

.clients__row {
    display: block !important;
    white-space: nowrap
}

.clients__item {
    display: inline-block !important;
    height: 260px;
    padding: 95px 55px
}

.clients__item img {
    height: 100%;
    filter: grayscale(1);
    transition: filter .19s cubic-bezier(.62, 0, .38, 1)
}

.clients__item a:hover img {
    filter: grayscale(0)
}

.banner {
    min-height: calc(100vh - 80px);
    padding-top: 100px
}

.banner__row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
    margin-bottom: 50px
}

.banner__left {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 5 - 30px);
    position: relative;
    z-index: 10
}

.banner__right {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 5 - 30px);
    margin-left: calc(100% / 12 * 2 + 15px)
}

.banner__title {
    margin: 39px 0;
    color: #363636;
    font-family: "SK Concretica";
    font-size: 105px;
    font-weight: 400;
    line-height: 1
}

.banner__title span {
    display: block
}

.banner__subtitle {
    margin: 0;
    color: #ff3d4b;
    font-family: Golos;
    font-size: 35px;
    font-weight: 400;
    line-height: 1.2
}

.banner--inner {
    position: relative;
    z-index: 10;
    min-height: 1px;
    margin-bottom: 0;
    padding-bottom: 100px;
    background-color: #fcfbfb
}

.banner--inner .banner__row {
    margin-bottom: 0
}

.banner--inner .banner__title {
    margin-bottom: 30px;
    font-family: 'Golos Medium';
    font-size: 65px;
    font-weight: 500
}

.banner__text {
    margin: 0;
    font-size: 18px
}

.banner__img {
    width: 418px;
    height: 418px;
    margin-bottom: -300px
}

.banner__img img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.banner .pres {
    justify-content: flex-start;
    width: 275px;
    margin-left: 0;
    margin-top: 80px
}

.banner .pres__text span {
    color: #363636
}

.banner__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 228px;
    height: 60px;
    margin-top: 40px;
    border-radius: 30px;
    background-color: #ff3d4b;
    color: #fcfbfb;
    font-size: 18px;
    transition: .3s linear
}

.banner__btn:hover {
    background-color: #ff505c
}

.banner--bg {
    background-color: #eee
}

.banner__threed {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 6 - 30px);
    margin-left: calc(100% / 12 * 1 + 15px);
    position: relative;
    z-index: 1
}

.banner .wow {
    visibility: hidden
}

.m-projects {
    padding: 100px 0
}

.m-projects__row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px
}

.m-projects__item {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 4 - 30px);
    position: relative;
    height: 696px;
    margin-bottom: 30px
}

.m-projects__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0
}

.m-projects__item:nth-child(4n+1), .m-projects__item:nth-child(4n-2) {
    width: calc(100% / 12 * 8 - 30px)
}

.m-projects__item:first-child {
    width: calc(100% / 12 * 12 - 30px);
    height: 818px
}

.m-projects .btn-right {
    width: 280px;
    margin: 50px auto 0
}

.btn-right {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: .3s linear
}

.btn-right__text {
    position: relative;
    height: 23px;
    overflow: hidden;
    margin-bottom: 2px
}

.btn-right__text span {
    display: block;
    color: #363636;
    font-family: Golos;
    font-size: 18px;
    font-weight: 400;
    transition: .3s linear
}

.btn-right__text span:nth-child(2) {
    position: absolute;
    left: 0;
    top: 104%
}

.btn-right__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    margin-left: 20px;
    border: 2px solid #ff3d4b;
    border-radius: 50%;
    background-color: transparent;
    transition: .3s linear
}

.btn-right__icon svg {
    position: relative;
    width: 22px;
    height: 22px;
    fill: none;
    stroke: #ff3d4b;
    stroke-width: 2px;
    animation: .5s forwards animateNoHoverArrowRight
}

.btn-right:hover .btn-right__text {
    color: #ff3d4b
}

.btn-right:hover .btn-right__text span {
    transform: translateY(-115%)
}

.btn-right:hover .btn-right__icon {
    background-color: #ff505c
}

.btn-right:hover .btn-right__icon svg {
    animation: .5s forwards animateHoverArrowRight
}

@keyframes animateHoverArrowRight {
    0% {
        left: -11px;
        opacity: 0;
        stroke: #fff
    }
    100% {
        left: 0;
        opacity: 1;
        stroke: #fff
    }
}

@keyframes animateNoHoverArrowRight {
    0% {
        left: -11px;
        opacity: 0;
        stroke: #ff3d4b
    }
    100% {
        left: 0;
        opacity: 1;
        stroke: #ff3d4b
    }
}

.features {
    padding: 100px 0;
    background-color: #fcfbfb
}

.features__title {
    margin: 0 0 80px;
    color: #363636;
    font-family: 'Golos Medium';
    font-size: 65px;
    font-weight: 500;
    line-height: 1
}

.features__title span {
    display: block
}

.features__row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px
}

.features__item {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 3 - 30px)
}

.features__text {
    margin: 0;
    color: #363636;
    font-family: Golos;
    font-size: 18px;
    font-weight: 400
}

.features__icon {
    height: 120px;
    margin-bottom: 20px
}

.features__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: left center
}

.s-menu {
    padding-top: 100px;
    background-color: #fcfbfb
}

.s-menu__header {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
    padding-bottom: 80px
}

.s-menu__title {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 6 - 30px);
    margin-left: calc(100% / 12 * 5 + 15px);
    margin-top: 0;
    margin-bottom: 0;
    color: #363636;
    font-family: 'Golos Medium';
    font-size: 65px;
    font-weight: 500;
    line-height: 1
}

.s-menu__title span {
    display: block
}

.s-menu__item {
    position: relative;
    display: block;
    height: 240px;
    overflow: hidden
}

.s-menu__item .container {
    position: relative;
    z-index: 10;
    height: 100%
}

.s-menu__item.hover .s-menu__img, .s-menu__item:hover .s-menu__img {
    top: 0
}

.s-menu__item.hover .s-menu__name, .s-menu__item:hover .s-menu__name {
    opacity: 0
}

.s-menu__item.hover .s-menu__arr, .s-menu__item.hover .s-menu__desc, .s-menu__item:hover .s-menu__arr, .s-menu__item:hover .s-menu__desc {
    opacity: 1
}

.s-menu__img {
    position: absolute;
    z-index: 1;
    top: 100%;
    left: 0;
    width: 100%;
    height: 100%;
    transition: .3s linear
}

.s-menu__img img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.s-menu__img::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(54, 54, 54, .9);
    mix-blend-mode: multiply
}

.s-menu__row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
    align-items: center;
    position: relative;
    height: 100%
}

.s-menu__name {
    box-sizing: border-box;
    word-wrap: break-word;
    width: calc(100% / 12 * 5 - 30px);
    color: #363636;
    font-family: 'Golos Medium';
    font-size: 40px;
    font-weight: 500;
    transition: .3s linear;
    margin: 0 15px
}

.s-menu__desc {
    box-sizing: border-box;
    word-wrap: break-word;
    width: calc(100% / 12 * 5 - 30px);
    color: #fcfbfb;
    font-family: Golos;
    font-size: 18px;
    font-weight: 400;
    opacity: 0;
    transition: .3s linear;
    margin: 0 15px
}

.s-menu__arr {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 2 - 30px);
    opacity: 0;
    transition: .3s linear
}

.s-menu__arr svg {
    display: block;
    width: 35px;
    height: 34px;
    margin-left: auto;
    fill: none;
    stroke: #fcfbfb;
    transition: .3s linear
}

.request {
    min-height: 500px;
    padding: 95px 0;
    background-color: #363636
}

.request__row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px
}

.request__left {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 4 - 30px);
    margin-left: calc(100% / 12 * 1 + 15px)
}

.request__right {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 3 - 30px);
    margin-left: calc(100% / 12 * 2 + 15px)
}

.request__title {
    margin: 0;
    color: #fcfbfb;
    font-family: "SK Concretica";
    font-size: 70px;
    font-weight: 400;
    line-height: 1
}

.form {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

.form__col {
    width: calc(50% - 15px)
}

.form__group {
    position: relative;
    width: 100%;
    margin-bottom: 35px;
    padding-bottom: 2px;
    border-bottom: 1px solid #eee
}

.form__group input {
    width: 100%;
    height: 30px;
    padding-right: 15px;
    border: none;
    background-color: transparent;
    color: #eee;
    font-size: 18px
}

.form__group input::-webkit-input-placeholder {
    opacity: .7
}

.form__group input::-moz-placeholder {
    opacity: .7
}

.form__group input:-moz-placeholder {
    opacity: .7
}

.form__group input:-ms-input-placeholder {
    opacity: .7
}

.form__group textarea {
    width: 100%;
    height: 30px;
    padding-right: 40px;
    border: none;
    background-color: transparent;
    color: #eee;
    font-size: 18px;
    resize: vertical;
    outline: 0
}

.form__group textarea::-webkit-input-placeholder {
    opacity: .7
}

.form__group textarea::-moz-placeholder {
    opacity: .7
}

.form__group textarea:-moz-placeholder {
    opacity: .7
}

.form__group textarea:-ms-input-placeholder {
    opacity: .7
}

.form__group--required::after {
    content: '';
    position: absolute;
    right: 0;
    top: calc(50% - 6px);
    width: 12px;
    height: 12px;
    background: url(/front/site/img/icons/star.svg) center/contain no-repeat
}

.form__group--date.nofocus::before {
    content: 'Дата';
    position: absolute;
    z-index: -1;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    opacity: .7
}

.form__group--date::after {
    content: '';
    position: absolute;
    z-index: 10;
    right: 0;
    top: calc(50% - 12px);
    width: 26px;
    height: 24px;
    background-color: #fff;
    background-image: url(../img/icons/calendar.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain
}

.form__group--date input {
    padding-right: 35px;
    background: 0 0
}

.form__group--date input::-webkit-calendar-picker-indicator {
    opacity: 0
}

.form__group--text {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 0
}

.form__group--text input {
    width: calc(100% - 40px);
    padding-right: 0
}

.form__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 300px;
    height: 60px;
    margin-top: 5px;
    margin-bottom: 30px;
    background: #ff3d4b;
    border: none;
    border-radius: 30px;
    color: #fcfbfb;
    font-size: 18px;
    cursor: pointer;
    transition: .3s linear
}

.form__btn:hover {
    background-color: #ff505c
}

.form__checkbox {
    position: relative
}

.form__checkbox label {
    display: block;
    position: relative;
    padding-left: 38px;
    color: #eee;
    font-size: 16px;
    cursor: pointer
}

.form__checkbox label a {
    display: inline-block;
    color: #eee;
    text-decoration: underline;
    transition: .3s linear
}

.form__checkbox label a:hover {
    color: #ff3d4b
}

.form__checkbox label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    display: block;
    width: 22px;
    height: 22px;
    border: 2px solid #eee;
    border-radius: 2px;
    background-color: transparent
}

.form__checkbox input {
    display: none
}

.form__checkbox input:checked + label::before {
    background-image: url(../img/icons/check.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 12px
}

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

.form--light .form__group {
    border-bottom-color: rgba(54, 54, 54, .5)
}

.form--light .form__checkbox label, .form--light .form__group input {
    color: #363636
}

.form--light .form__checkbox label::before {
    border-color: #363636
}

.form--light .form__checkbox label a {
    color: #363636
}

.form--light .uploader .fh-file-select {
    background: url(../img/icons/attach-black.svg) center/contain no-repeat
}

.form--light .uploader div.fh-file-box > span.fh-file-info {
    color: #363636
}

.steps {
    padding: 100px 0
}

.steps__header {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
    margin-bottom: 80px
}

.steps__title {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 7 - 30px);
    margin-left: calc(100% / 12 * 5 + 15px);
    margin-top: 0;
    margin-bottom: 0;
    color: #363636;
    font-family: 'Golos Medium';
    font-size: 65px;
    font-weight: 500;
    line-height: 1
}

.steps__title span {
    display: block
}

.steps__sticky {
    position: sticky;
    top: 50px
}

.steps__row {
    white-space: nowrap;
    overflow-x: auto;
    width: 100%;
    padding-left: calc((100% - 1790px) / 2 + 15px)
}

.steps__item {
    display: inline-block;
    vertical-align: top;
    white-space: normal;
    width: 448px;
    padding-right: 30px
}

.steps__num {
    display: block;
    margin-bottom: 4px;
    color: #ff3d4b;
    font-family: Golos;
    font-size: 80px;
    font-weight: 400;
    line-height: 1
}

.steps__text {
    margin: 0;
    color: #363636;
    font-family: Golos;
    font-size: 21px;
    font-weight: 400
}

.err404 {
    padding: 120px 0 96px
}

.err404__row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px
}

.err404__left {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 4 - 30px);
    margin-right: calc(100% / 12 * 2 + 15px)
}

.err404__right {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 6 - 30px)
}

.err404__img {
    max-width: 418px
}

.err404__title {
    margin: 0 0 40px;
    color: #363636;
    font-family: 'Golos Medium';
    font-size: 65px;
    font-weight: 500;
    line-height: 1
}

.err404__title span {
    display: block
}

.err404__text {
    margin: 0;
    color: #363636;
    font-family: Golos;
    font-size: 18px;
    font-weight: 400
}

.err-menu {
    margin: 80px 0 0;
    padding: 0;
    list-style: none
}

.err-menu__item {
    margin-bottom: 20px
}

.err-menu__link {
    color: #ff3d4b;
    font-size: 18px;
    text-decoration: underline;
    transition: .3s linear
}

.err-menu__link:hover {
    color: #ff505c
}

.burger {
    width: 30px;
    height: calc(4px + 8px * 2);
    cursor: pointer
}

.burger__menu {
    position: relative;
    transform: translateY(8px);
    width: 30px;
    height: 4px;
    border-radius: 2px;
    background-color: #363636;
    transition: .3s
}

.burger__menu::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 8px;
    width: 30px;
    height: 4px;
    border-radius: 2px;
    background-color: #363636;
    transition: bottom .3s cubic-bezier(.23, 1, .32, 1) .3s, transform .3s cubic-bezier(.23, 1, .32, 1)
}

.burger__menu::after {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 30px;
    height: 4px;
    border-radius: 2px;
    background-color: #363636;
    transition: top .3s cubic-bezier(.23, 1, .32, 1) .3s, transform .3s cubic-bezier(.23, 1, .32, 1)
}

.burger__menu.animate {
    background-color: rgba(54, 54, 54, 0)
}

.burger__menu.animate::after {
    top: 0;
    transform: rotate(45deg);
    transition: top .3s cubic-bezier(.23, 1, .32, 1), transform .3s cubic-bezier(.23, 1, .32, 1) .3s
}

.burger__menu.animate::before {
    bottom: 0;
    transform: rotate(-45deg);
    transition: bottom .3s cubic-bezier(.23, 1, .32, 1), transform .3s cubic-bezier(.23, 1, .32, 1) .3s
}

.mobile-menu {
    position: fixed;
    z-index: 8000;
    top: 60px;
    left: 0;
    display: none;
    width: 100%;
    height: calc(100vh - 60px);
    padding: 20px 16px 0;
    overflow-y: auto;
    background-color: #fcfbfb
}

.mobile-menu__wrap {
    width: 100%;
    max-width: 360px;
    margin: 0 auto
}

.mobile-menu__header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px
}

.mobile-menu .lang {
    font-size: 16px
}

.mobile-menu .tel {
    color: #ff3d4b;
    font-size: 16px
}

.mobile-menu .req-btn {
    width: 100%;
    margin-bottom: 20px
}

.mobile-menu .social {
    justify-content: center;
    margin-bottom: 54px
}

.mobile-menu .menu {
    display: block;
    margin: 0 0 40px
}

.mobile-menu .menu__item {
    margin: 0 0 10px;
    padding: 0
}

.mobile-menu .menu__item:last-child {
    margin-bottom: 0
}

.mobile-menu .menu__item:first-child, .mobile-menu .menu__item:nth-child(2) {
    margin-bottom: 20px
}

.mobile-menu .menu__link {
    border-bottom: none;
    font-family: 'Golos Medium';
    font-weight: 500;
    font-size: 18px
}

.page-header {
    padding: 120px 0 50px
}

.page-title {
    margin: 0;
    color: #363636;
    font-family: 'Golos Medium';
    font-size: 65px;
    font-weight: 500;
    line-height: 1
}

.page-title.wow {
    visibility: hidden
}

.mapsite {
    padding-top: 30px;
    padding-bottom: 90px
}

.mapsite__list {
    margin: 0;
    padding: 0;
    list-style: none
}

.mapsite__item {
    margin-bottom: 32px
}

.mapsite__link {
    color: #ff3d4b;
    font-family: 'Golos Medium';
    font-size: 40px;
    font-weight: 500;
    line-height: 1;
    transition: .3s linear
}

.mapsite__link:hover {
    color: #ff505c
}

.mapsite__sl {
    margin: 0;
    padding: 0;
    list-style: none
}

.mapsite__sli {
    margin-top: 16px
}

.mapsite__sli:first-child {
    margin-top: 12px
}

.mapsite__slink {
    color: #363636;
    font-family: Golos;
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
    text-decoration: underline;
    transition: .3s linear
}

.mapsite__slink:hover {
    color: #ff3d4b
}

.contacts {
    padding-top: 20px;
    margin-bottom: 100px
}

.contacts__row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px
}

.contacts__center, .contacts__left {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 2 - 30px)
}

.contacts__right {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 3 - 30px)
}

.contacts__tel {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 20px
}

.contacts__tel svg {
    width: 26px;
    height: 26px;
    margin-right: 30px;
    fill: #ff3d4b
}

.contacts__tel a {
    color: #363636;
    font-size: 18px;
    transition: .3s linear
}

.contacts__tel a:hover {
    color: #ff3d4b
}

.contacts__callback {
    padding-left: 56px
}

.contacts__callback a {
    color: #ff3d4b;
    font-size: 18px;
    transition: .3s linear
}

.contacts__callback a:hover {
    color: #ff505c
}

.contacts__email {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 20px
}

.contacts__email svg {
    width: 26px;
    height: 20px;
    margin-right: 30px;
    fill: #ff3d4b
}

.contacts__email a {
    color: #363636;
    font-size: 18px;
    transition: .3s linear
}

.contacts__email a:hover {
    color: #ff3d4b
}

.contacts__worktime {
    padding-left: 56px;
    color: #ff3d4b;
    font-size: 18px
}

.contacts__addr {
    display: flex;
    flex-wrap: wrap
}

.contacts__addr svg {
    width: 26px;
    height: 26px;
    margin-right: 30px;
    fill: #ff3d4b
}

.contacts__addr address {
    width: calc(100% - 56px);
    color: #363636;
    font-size: 18px;
    font-style: normal
}

.map {
    height: 600px;
    overflow: hidden
}

ymaps[class*="-inner-panes"] {
    overflow: visible
}

ymaps[class*="-image"] {
    animation: 1s ease-in-out tobottom
}

ymaps[class*="-ground-pane"] {
    width: 100%;
    height: 100%;
    overflow: hidden;
    filter: grayscale(.9)
}

@keyframes tobottom {
    0% {
        transform: translateY(-400px);
        opacity: .1
    }
    100% {
        transform: translateY(0);
        opacity: 1
    }
}

ymaps[class*="-balloon"] {
    box-shadow: 0 2px 10px rgba(0, 0, 0, .08);
    border-radius: 6px
}

ymaps[class*=balloon__content] {
    width: 387px;
    padding: 35px 20px 35px 30px;
    background-color: #fcfbfb;
    box-shadow: none
}

ymaps[class*=balloon__close] {
    margin: 16px 16px 0 0
}

ymaps[class*=balloon__close-button] {
    width: 17px;
    height: 17px;
    margin: 0;
    box-shadow: none;
    background: url(../img/icons/close.svg) center/contain no-repeat;
    opacity: 1
}

.balloon__title {
    margin: 0;
    font-family: "Golos Medium";
    color: #363636;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.3
}

.balloon__info {
    margin: 0;
    color: #363636;
    font-family: Golos;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4
}

.portfolio {
    padding: 100px 0 70px;
    background-color: #eee;
    overflow: hidden
}

.portfolio__nav {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 70px
}

.portfolio__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    margin-right: 30px;
    margin-bottom: 10px;
    padding: 0 40px;
    border-radius: 25px;
    border: 1px solid #ff3d4b;
    background-color: transparent;
    color: #ff3d4b;
    font-size: 18px;
    cursor: pointer;
    transition: .3s linear
}

.portfolio__btn.mixitup-control-active, .portfolio__btn:hover {
    background-color: #ff3d4b;
    color: #fcfbfb
}

.portfolio__grid {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
    overflow: hidden
}

.portfolio__item {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 4 - 30px);
    position: relative;
    height: 696px;
    margin-bottom: 30px
}

.portfolio__item.sm {
    width: calc(100% / 12 * 4 - 30px)
}

.portfolio__item.md, .portfolio__item.sm:nth-child(4n+1), .portfolio__item.sm:nth-child(4n-2) {
    width: calc(100% / 12 * 8 - 30px)
}

.portfolio__item.lg, .portfolio__item:first-child {
    width: calc(100% / 12 * 12 - 30px);
    height: 818px
}

.project {
    position: relative;
    display: block;
    height: 100%
}

.project img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0
}

.project__desc {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: flex-end;
    position: relative;
    z-index: 10;
    width: 100%;
    height: 100%;
    padding: 60px 30px;
    background-color: rgba(54, 54, 54, .7);
    opacity: 0;
    transition: .3s linear
}

.project__title {
    margin: 0 0 20px;
    color: #fcfbfb;
    font-family: Golos;
    font-size: 40px;
    font-weight: 400;
    line-height: 1
}

.project__tags {
    margin: 0;
    color: #fcfbfb;
    font-family: Golos;
    font-size: 18px;
    font-weight: 400
}

.project.hover .project__desc, .project:hover .project__desc {
    opacity: 1
}

.float-img {
    transform: translateY(-20px);
    animation: 8s cubic-bezier(.4, .1, .3, .9) infinite float;
    animation-delay: 1.5s
}

@keyframes float {
    0%, 50%, to {
        transform: translateY(-20px)
    }
    25% {
        transform: translateY(20px)
    }
    75% {
        transform: translateY(35px)
    }
}

.case {
    padding-bottom: 100px;
    background-color: #fcfbfb
}

.case-header {
    height: calc(100vh - 80px);
    padding: 120px 0 100px;
    background-color: #121617
}

.case-header .container {
    height: 100%
}

.case-header__row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
    height: 100%
}

.case-header__left {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 5 - 30px);
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: flex-start;
    height: 100%;
    padding-right: 60px
}

.case-header__right {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 7 - 30px);
    height: 100%
}

.case-header__right img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.case-header__title {
    margin: 0 0 30px;
    color: #eee;
    font-family: 'Golos Medium';
    font-size: 65px;
    font-weight: 500;
    line-height: 1
}

.case-header__subtitle {
    margin: 0 0 30px;
    color: #eee;
    font-size: 18px
}

.case-header .btn-left {
    margin-top: auto
}

.btn-left {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: .3s linear
}

.btn-left__text {
    position: relative;
    height: 23px;
    overflow: hidden;
    margin-bottom: 2px
}

.btn-left__text span {
    display: block;
    color: #eee;
    font-family: Golos;
    font-size: 18px;
    font-weight: 400;
    transition: .3s linear
}

.btn-left__text span:nth-child(2) {
    position: absolute;
    left: 0;
    top: 104%
}

.btn-left__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    margin-right: 20px;
    border: 2px solid #ff3d4b;
    border-radius: 50%;
    background-color: transparent;
    transition: .3s linear
}

.btn-left__icon svg {
    position: relative;
    width: 22px;
    height: 22px;
    fill: none;
    stroke: #ff3d4b;
    stroke-width: 2px;
    animation: .5s forwards animateNoHoverArrowLeft
}

.btn-left:hover .btn-left__text {
    color: #ff3d4b
}

.btn-left:hover .btn-left__text span {
    transform: translateY(-115%)
}

.btn-left:hover .btn-left__icon {
    background-color: #ff505c
}

.btn-left:hover .btn-left__icon svg {
    animation: .5s forwards animateHoverArrowLeft
}

@keyframes animateHoverArrowLeft {
    0% {
        right: -11px;
        opacity: 0;
        stroke: #fff
    }
    100% {
        right: 0;
        opacity: 1;
        stroke: #fff
    }
}

@keyframes animateNoHoverArrowLeft {
    0% {
        right: -11px;
        opacity: 0;
        stroke: #ff3d4b
    }
    100% {
        right: 0;
        opacity: 1;
        stroke: #ff3d4b
    }
}

.case-desc {
    padding: 100px 0 95px;
    background-color: #eee
}

.case-desc__row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px
}

.case-desc__left {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 3 - 30px);
    margin-right: calc(100% / 12 * 2 + 15px)
}

.case-desc__right {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 6 - 30px)
}

.case-desc__section {
    margin-bottom: 40px
}

.case-desc__section:last-child {
    margin-bottom: 0
}

.case-desc__title {
    margin: 0 0 20px;
    color: #ff3d4b;
    font-family: Golos;
    font-size: 18px;
    font-weight: 400
}

.case-desc__text p {
    margin: 0 0 20px;
    color: #363636;
    font-size: 18px
}

.case-desc__text p:last-child {
    margin-bottom: 0
}

.case-media__item {
    height: 1066px;
    margin-bottom: 30px
}

.case-media__item--video {
    height: 900px
}

.case-media__item:last-child {
    margin-bottom: 0
}

.case-media__item img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.case-media__item--auto {
    height: auto
}

.case-video {
    position: relative;
    display: block;
    height: 100%
}

.case-video img {
    display: block
}

.case-video::before {
    content: '';
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .2)
}

.case-video::after {
    content: '';
    position: absolute;
    z-index: 10;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background-color: #ff3d4b;
    background-image: url(../img/icons/triangle-border.svg);
    background-position: 54% center;
    background-repeat: no-repeat;
    background-size: 19px 26px;
    transition: .3s linear
}

.case-video:hover::after {
    background-color: #ff505c
}

.case-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    height: 240px
}

.case-nav__prev {
    position: relative;
    width: 50%;
    padding-left: calc((100% - 1790px) / 2 + 15px);
    padding-right: 30px;
    background-color: #fcfbfb;
    overflow: hidden
}

.case-nav__prev .case-nav__arr {
    margin-right: 115px
}

.case-nav__prev:hover .case-nav__img {
    top: 0
}

.case-nav__prev:hover .case-nav__name {
    color: #fcfbfb
}

.case-nav__prev:hover .case-nav__arr svg {
    stroke: #fcfbfb
}

.case-nav__next {
    position: relative;
    width: 50%;
    padding-left: 160px;
    padding-right: calc((100% - 1790px) / 2 + 15px);
    background-color: #fcfbfb;
    overflow: hidden
}

.case-nav__next .case-nav__arr {
    margin-left: auto
}

.case-nav__next:hover .case-nav__img {
    top: 0
}

.case-nav__next:hover .case-nav__name {
    color: #fcfbfb
}

.case-nav__next:hover .case-nav__arr svg {
    stroke: #fcfbfb
}

.case-nav__img {
    position: absolute;
    z-index: 1;
    top: 100%;
    left: 0;
    width: 100%;
    height: 100%;
    transition: .3s linear
}

.case-nav__img::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(54, 54, 54, .9);
    mix-blend-mode: multiply
}

.case-nav__img img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.case-nav__row {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    z-index: 10;
    align-items: center;
    height: 100%
}

.case-nav__arr {
    transition: .3s linear
}

.case-nav__arr svg {
    display: block;
    width: 35px;
    height: 35px;
    margin-left: auto;
    fill: none;
    stroke: #363636;
    transition: .3s linear
}

.case-nav__name {
    color: #363636;
    font-family: 'Golos Medium';
    font-size: 40px;
    font-weight: 500;
    transition: .3s linear
}

.btn-show {
    display: flex;
    align-items: center;
    justify-content: center;
    justify-content: flex-end;
    text-decoration: none;
    width: 270px;
    margin-left: auto;
    transition: .3s linear
}

.btn-show__text {
    position: relative;
    height: 23px;
    overflow: hidden;
    margin-bottom: 2px
}

.btn-show__text span {
    display: block;
    color: #363636;
    font-family: Golos;
    font-size: 18px;
    font-weight: 400;
    transition: .3s linear
}

.btn-show__text span:nth-child(2) {
    position: absolute;
    left: 0;
    top: 104%
}

.btn-show__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    margin-left: 15px;
    border-radius: 50%;
    background-color: #ff3d4b;
    transition: .3s linear
}

.btn-show__icon svg {
    position: relative;
    width: 19px;
    height: 26px;
    margin-left: 7px;
    fill: none;
    stroke: #fcfbfb;
    stroke-width: 2px;
    animation: .5s forwards animateNoHoverPlay
}

.btn-show:hover .btn-show__text {
    color: #ff3d4b
}

.btn-show:hover .btn-show__text span {
    transform: translateY(-115%)
}

.btn-show:hover .btn-show__icon {
    background-color: #ff505c
}

.btn-show:hover .btn-show__icon svg {
    animation: .5s forwards animateHoverPlay
}

@keyframes animateHoverPlay {
    0% {
        left: -11px;
        opacity: 0
    }
    100% {
        left: 0;
        opacity: 1
    }
}

@keyframes animateNoHoverPlay {
    0% {
        left: -11px;
        opacity: 0
    }
    100% {
        left: 0
    }
}

.projects {
    padding-bottom: 100px
}

.projects__row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px
}

.projects__item {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 4 - 30px);
    position: relative;
    height: 696px;
    margin-bottom: 30px
}

.projects__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0
}

.projects__item:nth-child(4n), .projects__item:nth-child(4n-3) {
    width: calc(100% / 12 * 8 - 30px)
}

.projects .btn-right {
    width: 280px;
    margin: 50px auto 0
}

.category {
    padding: 100px 0;
    background-color: #fcfbfb
}

.category__row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px
}

.category__left {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 4 - 30px)
}

.category__right {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 5 - 30px)
}

.category__right p:last-child {
    margin-bottom: 0
}

.category__img {
    height: 696px
}

.category__img img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.category__text {
    margin: 0 0 80px;
    color: #363636;
    font-size: 18px
}

.category__text a {
    color: #363636;
    text-decoration: underline;
    transition: .3s linear
}

.category__text a:hover {
    color: #ff3d4b
}

.category__b-text {
    margin: 0 0 80px;
    color: #363636;
    font-family: 'Golos Medium';
    font-size: 40px;
    font-weight: 500;
    line-height: 1
}

.category--rvr .category__left {
    margin-left: calc(100% / 12 * 2 + 15px);
    order: 1
}

.services-menu {
    padding: 100px 0;
    background-color: #eee
}

.services-menu--light {
    background-color: #fcfbfb
}

.services-menu__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, auto);
    grid-column-gap: 30px;
    grid-row-gap: 76px;
    width: 50%
}

.services-menu__section:first-child {
    grid-area: 1/1/2/2
}

.services-menu__section:nth-child(2) {
    grid-area: 1/2/2/3
}

.services-menu__section:nth-child(3) {
    grid-area: 2/1/3/2
}

.services-menu__section:nth-child(4) {
    grid-area: 2/2/3/3
}

.services-menu__title {
    display: inline-block;
    margin: 0 0 32px;
    color: #ff3d4b;
    font-family: 'Golos Medium';
    font-size: 40px;
    font-weight: 500;
    line-height: 1;
    transition: .3s linear
}

.services-menu__title:hover {
    color: #ff505c
}

.services-menu__list {
    margin: 0;
    padding: 0;
    list-style: none;
    width: 100%
}

.services-menu__item {
    margin-bottom: 16px
}

.services-menu__item:last-child {
    margin-bottom: 0
}

.services-menu__link {
    color: #363636;
    font-size: 18px;
    line-height: 1;
    text-decoration: underline;
    transition: .3s linear
}

.services-menu__link:hover {
    color: #ff505c
}

.awards .section {
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain
}

.awards .section:first-child {
    background-color: #1d1d1b;
    background-image: url(../img/award-1.png)
}

.awards .section:nth-child(2) {
    background-color: #4e2a80;
    background-image: url(../img/award-2.png)
}

.awards .section:nth-child(3) {
    background-color: #ed3f0a;
    background-image: url(../img/award-3.png)
}

.awards .section:nth-child(4) {
    background-color: #c6c6c6;
    background-image: url(../img/award-4.png)
}

.awards .section:nth-child(5) {
    background-color: #000;
    background-image: url(../img/award-5.png)
}

.awards .section:nth-child(6) {
    background-color: #fff;
    background-image: url(../img/award-6.png)
}

.awards .section:nth-child(7) {
    background-color: #7c7c7c;
    background-image: url(../img/award-7.png)
}

.awards .section:nth-child(8) {
    background-color: #ed3f0a;
    background-image: url(../img/award-8.png)
}

.awards .section:last-child, .awards .section:last-child .fp-tableCell {
    height: auto !important
}

#fp-nav ul li a span, #fp-nav ul li:hover a span {
    width: 8px;
    height: 8px;
    margin: 7px 0;
    background-color: #eee
}

#fp-nav ul li a.active span, #fp-nav ul li:hover a.active span {
    width: 8px;
    height: 8px;
    margin: 7px 0;
    background-color: #ff3d4b
}

#fp-nav ul li:last-child {
    visibility: hidden
}

.advant {
    padding: 100px 0 60px;
    background-color: #fcfbfb
}

.advant__title {
    margin: 0 0 68px;
    color: #363636;
    font-family: 'Golos Medium';
    font-size: 65px;
    font-weight: 500;
    line-height: 1
}

.advant__title span {
    display: block
}

.advant__row {
    margin: 0 -15px;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap
}

.advant__item {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 3 - 30px);
    position: relative;
    margin-bottom: 40px;
    padding-left: 15px;
    padding-right: 80px;
    color: #363636;
    font-size: 18px
}

.advant__item:nth-child(3n) {
    margin-right: calc(100% / 12 * 3 + 15px)
}

.advant__item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #ff3d4b
}

.uploader {
    position: relative;
    width: 100%;
    padding: 10px 0
}

.uploader .fh-file-picker {
    width: 100%
}

.uploader .fh-file-select {
    position: absolute;
    right: 0;
    top: -35px;
    width: 26px;
    height: 26px;
    padding: 0;
    border: none;
    border-radius: 0;
    background: url(../img/icons/attach.svg) center/contain no-repeat;
    cursor: pointer
}

.uploader .fh-file-select span {
    display: none
}

.uploader .fh-file-limit {
    display: none !important
}

.uploader .fh-file-list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 15px;
    margin-right: -20px
}

.uploader div.fh-file-box {
    margin-right: 20px;
    margin-bottom: 10px;
    padding-right: 25px;
    background-color: transparent
}

.uploader div.fh-file-box > span.fh-file-info {
    color: rgba(238, 238, 238, .5);
    font-size: 16px
}

.uploader div.fh-file-box > span.fh-file-info > i {
    display: none
}

.uploader div.fh-file-box > div.fh-file-toolbar {
    top: 3px
}

.uploader .fh-file-remove {
    display: block;
    width: 17px;
    height: 17px;
    background: url(../img/icons/close-red.svg) center/contain no-repeat;
    cursor: pointer
}

.uploader .fh-file-invalid {
    background-color: transparent;
    color: #ff3d4b;
    font-size: 16px
}

.uploader .fh-file-unselect {
    display: none !important
}

.r-thanks {
    position: relative;
    display: none
}

.r-thanks__row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px
}

.r-thanks__wrap {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 3.7 - 30px);
    margin-left: calc(100% / 12 * 1 + 15px)
}

.r-thanks__title {
    margin: 0 0 30px;
    color: #fcfbfb;
    font-family: "SK Concretica";
    font-size: 65px;
    font-weight: 400;
    line-height: 1.05
}

.r-thanks__text {
    margin: 0;
    color: #fcfbfb;
    font-size: 21px
}

.r-thanks__close {
    position: absolute;
    top: -50px;
    right: 0;
    width: 17px;
    height: 17px
}

.r-thanks__close svg {
    width: 100%;
    height: 100%;
    fill: #eee
}

.scrollup {
    display: none;
    position: fixed;
    z-index: 7000;
    bottom: 160px;
    right: calc((100% - 1790px) / 2 + 15px);
    width: 80px;
    height: 80px;
    padding: 4px 0 0;
    border: none;
    border-radius: 50%;
    box-shadow: 0 0 12px rgba(0, 0, 0, .17);
    background-color: #eee;
    cursor: pointer;
    transition: .3s linear
}

.scrollup svg {
    width: 30px;
    height: 30px;
    fill: none;
    stroke: #ff3d4b;
    transform: rotate(180deg)
}

.scrollup:hover {
    background-color: #ff3d4b
}

.scrollup:hover svg {
    stroke: #fcfbfb
}

.modal {
    position: fixed;
    top: -110%;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(54, 54, 54, .9);
    z-index: 9900;
    overflow-y: auto;
    opacity: 0;
    transition: opacity .5s
}

.modal.open {
    opacity: 1
}

.modal__inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 630px;
    min-height: 740px;
    padding: 90px 110px;
    background: #fff;
    z-index: 9999
}

.modal__close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 17px;
    height: 17px
}

.modal__close svg {
    width: 100%;
    height: 100%;
    fill: #363636
}

.modal__title {
    margin: 0 0 32px;
    color: #363636;
    font-family: 'Golos Medium';
    font-size: 40px;
    font-weight: 500;
    line-height: 1;
    text-align: center
}

.modal__text {
    margin: 0 0 60px;
    color: #363636;
    font-size: 16px;
    text-align: center
}

.modal__text a {
    display: inline-block;
    color: #ff3d4b;
    transition: .3s linear
}

.modal__text a:hover {
    color: #ff505c
}

.modal__wrap {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    min-height: 560px
}

.modal__wrap .modal__text {
    margin-bottom: 0
}

.services-carousel {
    padding-bottom: 100px;
    overflow: hidden
}

.services-carousel .slick-list {
    width: auto !important;
    padding: 0 !important;
    overflow: visible
}

.services-carousel .slick-track {
    display: flex !important;
    flex-wrap: nowrap
}

.services-carousel__row {
    display: block !important;
    white-space: nowrap
}

.services-carousel .item {
    display: inline-block !important;
    padding: 0 15px
}

.services-carousel .item img {
    display: block;
    width: auto;
    height: 696px;
    object-fit: cover
}

.services-carousel--nopb {
    padding-bottom: 0
}

.about-carousel .item {
    display: block !important
}

.about-carousel .item img {
    display: block;
    width: 100%;
    height: calc(100vh - 80px);
    object-fit: cover
}

.about-carousel .slick-dots {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    position: absolute;
    bottom: 60px;
    left: 0;
    right: 0
}

.about-carousel .slick-dots li {
    margin: 0 10px
}

.about-carousel .slick-dots li button {
    display: block;
    width: 8px;
    height: 8px;
    padding: 0;
    border: none;
    border-radius: 50%;
    font-size: 0;
    background-color: #eee;
    opacity: .5
}

.about-carousel .slick-dots li.slick-active button {
    background-color: #ff3d4b;
    opacity: 1
}

.desc {
    padding: 95px 0;
    background-color: #eee
}

.desc__row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
    align-items: center
}

.desc__left {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 6 - 30px)
}

.desc__right {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 3 - 30px);
    margin-left: calc(100% / 12 * 3 + 15px)
}

.desc__text {
    margin: 0;
    color: #363636;
    font-family: 'Golos Medium';
    font-size: 40px;
    font-weight: 500;
    line-height: 1
}

.desc .assoc {
    flex-direction: column;
    margin-top: 0
}

.desc .assoc__logo {
    width: 118px;
    height: 118px;
    margin: 0 0 20px
}

.desc .assoc__text {
    width: 100%;
    max-width: 417px;
    text-align: center;
    font-size: 18px
}

.help {
    padding: 100px 0;
    background-color: #fcfbfb
}

.help__row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px
}

.help__col {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 5 - 30px)
}

.help__title {
    margin: 0 0 40px;
    color: #363636;
    font-family: 'Golos Medium';
    font-size: 65px;
    font-weight: 500;
    line-height: 1
}

.help__title span {
    display: block
}

.help__text {
    max-width: 567px;
    margin: 0;
    color: #363636;
    font-size: 18px
}

.tia {
    padding: 100px 0;
    background-color: #fcfbfb
}

.tia__row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px
}

.tia__left {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 5 - 30px)
}

.tia__right {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 5 - 30px);
    margin-left: calc(100% / 12 * 2 + 15px)
}

.tia__right img {
    display: block;
    max-width: 100%;
    width: 418px;
    height: 418px;
    object-fit: contain
}

.tia__title {
    margin: 0 0 40px;
    color: #363636;
    font-family: 'Golos Medium';
    font-size: 65px;
    font-weight: 500;
    line-height: 1
}

.tia__title span {
    display: block
}

.tia__text {
    max-width: 567px;
    margin: 0;
    color: #363636;
    font-size: 18px
}

.tia .btn-right {
    max-width: 280px;
    margin-left: auto;
    margin-right: auto
}

.ourvalues {
    padding: 100px 0;
    background-color: #eee
}

.ourvalues__header {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
    margin-bottom: 80px
}

.ourvalues__title {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 7 - 30px);
    margin-left: calc(100% / 12 * 5 + 15px);
    margin-top: 0;
    margin-bottom: 0;
    color: #363636;
    font-family: 'Golos Medium';
    font-size: 65px;
    font-weight: 500;
    line-height: 1
}

.ourvalues__row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
    position: relative;
    margin-bottom: 100px
}

.ourvalues__left {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 4 - 30px);
    margin-left: calc(100% / 12 * 1 + 15px)
}

.ourvalues__right {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 4 - 30px)
}

.ourvalues__img img {
    display: block
}

.ourvalues .sticky__block {
    padding-top: 120px
}

.quote {
    padding-top: 52px
}

.quote__text {
    position: relative;
    padding: 72px 0 40px
}

.quote__text p {
    margin: 0;
    color: #363636;
    font-size: 18px
}

.quote__text::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 39px;
    height: 32px;
    background: url(../img/icons/quote-mark.svg) center/contain no-repeat
}

.quote__footer {
    padding-top: 20px;
    border-top: 1px solid rgba(54, 54, 54, .5)
}

.quote__author {
    margin: 0 0 10px;
    color: #363636;
    font-size: 18px
}

.quote__role {
    margin: 0;
    color: rgba(54, 54, 54, .5);
    font-family: Golos;
    font-size: 16px
}

.a-video {
    padding: 100px 0;
    background-color: #fcfbfb
}

.a-video__title {
    margin: 0 0 80px;
    color: #363636;
    font-family: 'Golos Medium';
    font-size: 65px;
    font-weight: 500;
    line-height: 1
}

.team {
    padding: 100px 0;
    background-color: #fcfbfb
}

.team__header {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
    margin-bottom: 80px
}

.team__title {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 7 - 30px);
    margin-left: calc(100% / 12 * 5 + 15px);
    margin-top: 0;
    margin-bottom: 0;
    color: #363636;
    font-family: 'Golos Medium';
    font-size: 65px;
    font-weight: 500;
    line-height: 1
}

.team__title span {
    display: block
}

.team-carousel .item {
    padding: 0 15px
}

.team-carousel .slick-arrow {
    position: absolute;
    z-index: 10;
    top: 50%;
    transform: translateY(-50%);
    width: 80px;
    height: 80px;
    padding-top: 5px;
    border: none;
    border-radius: 50%;
    background-color: #eee;
    opacity: 0;
    cursor: pointer;
    transition: .3s linear
}

.team-carousel .slick-arrow svg {
    width: 30px;
    height: 30px;
    fill: none;
    stroke: #ff3d4b
}

.team-carousel .slick-arrow.visible {
    opacity: .4
}

.team-carousel .slick-arrow:hover {
    opacity: 1
}

.team-carousel .slick-arrow.prev {
    left: calc((100% - 1790px) / 2 + 15px)
}

.team-carousel .slick-arrow.next {
    right: calc((100% - 1790px) / 2 + 15px)
}

.member {
    width: 418px
}

.member__img {
    height: 390px;
    margin-bottom: 40px
}

.member__img img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.member__desc {
    display: flex;
    flex-wrap: wrap
}

.member__left {
    width: calc(100% - 82px);
    padding-right: 20px
}

.member__right {
    width: 82px
}

.member__name {
    margin: 0 0 10px;
    color: #363636;
    font-size: 21px
}

.member__role {
    margin: 0;
    color: rgba(54, 54, 54, .5);
    font-size: 18px
}

.member__contacts {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

.member__contacts a {
    display: block;
    width: 26px;
    height: 26px
}

.member__contacts a svg {
    width: 100%;
    height: 100%;
    fill: #363636;
    transition: .3s linear
}

.member__contacts a:hover svg {
    fill: #ff3d4b
}

.hrz {
    overflow-x: auto;
    scrollbar-width: none;
    padding-left: calc((100% - 1790px) / 2 + 15px)
}

.hrz::-webkit-scrollbar {
    display: none
}

.hrz__row {
    width: auto;
    white-space: nowrap
}

.hrz__item {
    display: inline-block;
    vertical-align: top;
    white-space: normal;
    width: 448px;
    padding-right: 30px;
    padding-bottom: 30px
}

.hrz__num {
    display: block;
    margin: 0 0 20px;
    color: #ff3d4b;
    font-family: 'Golos Medium';
    font-size: 80px;
    font-weight: 500;
    line-height: 1
}

.hrz__title {
    margin: 0 0 12px;
    color: #ff3d4b;
    font-family: 'Golos Medium';
    font-size: 40px;
    font-weight: 500;
    line-height: 1
}

.hrz__text {
    margin: 0;
    color: #363636;
    font-family: Golos;
    font-size: 21px;
    font-weight: 400
}

.s-advant {
    padding: 100px 0;
    background-color: #fcfbfb
}

.s-advant__header {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
    margin-bottom: 68px
}

.s-advant__title {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 5.2 - 30px);
    margin-left: calc(100% / 12 * 5 + 15px);
    margin-top: 0;
    margin-bottom: 0;
    color: #363636;
    font-family: 'Golos Medium';
    font-size: 65px;
    font-weight: 500;
    line-height: 1
}

.s-advant__title span {
    display: block
}

.reviews {
    padding: 100px 0;
    background-color: #fcfbfb;
    overflow: hidden
}

.reviews__header {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
    margin-bottom: 80px
}

.reviews__title {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 7 - 30px);
    margin-left: calc(100% / 12 * 5 + 15px);
    margin-top: 0;
    margin-bottom: 0;
    color: #363636;
    font-family: 'Golos Medium';
    font-size: 65px;
    font-weight: 500;
    line-height: 1
}

.reviews__title span {
    display: block
}

.reviews-carousel {
    margin: 0 -15px
}

.reviews-carousel .slick-list {
    overflow: visible
}

.reviews-carousel .item {
    padding: 0 15px
}

.reviews-carousel .js-animate-show {
    opacity: 1;
    transform: none;
    transition: .5s
}

.reviews-carousel .js-animate-hide {
    opacity: 0;
    transform: scale(.8)
}

.reviews-carousel .js-hide {
    opacity: 0;
    transition: opacity .6s
}

.reviews-carousel .slick-cloned {
    opacity: 0
}

.reviews-carousel .slick-arrow {
    opacity: 0;
    position: absolute;
    z-index: 10;
    top: 50%;
    transform: translateY(-50%);
    width: 80px;
    height: 80px;
    padding-top: 5px;
    border: none;
    border-radius: 50%;
    background-color: #eee;
    cursor: pointer;
    opacity: 0;
    transition: .3s linear
}

.reviews-carousel .slick-arrow.slick-prev {
    right: 50%
}

.reviews-carousel .slick-arrow.slick-next {
    left: 50%
}

.reviews-carousel .slick-arrow svg {
    width: 30px;
    height: 30px;
    fill: none;
    stroke: #ff3d4b
}

.reviews-carousel .slick-arrow.visible {
    opacity: .4
}

.reviews-carousel .slick-arrow:hover {
    opacity: 1
}

.reviews-carousel .slick-arrow.prev {
    left: 0
}

.reviews-carousel .slick-arrow.next {
    right: 0
}

.reviews-carousel .slick-dots {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    bottom: -60px;
    left: 0;
    right: 0
}

.reviews-carousel .slick-dots li {
    width: 8px;
    height: 8px;
    margin: 0 8px
}

.reviews-carousel .slick-dots li button {
    width: 8px;
    height: 8px;
    padding: 0;
    border: none;
    border-radius: 50%;
    font-size: 0;
    background-color: #eee
}

.reviews-carousel .slick-dots li.slick-active button {
    background-color: #ff3d4b
}

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

.review {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
    position: relative
}

.review__left {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 4 - 30px);
    margin-left: calc(100% / 12 * 1 + 15px)
}

.review__right {
    box-sizing: border-box;
    word-wrap: break-word;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(100% / 12 * 4 - 30px);
    padding-top: 53px
}

.review__img img {
    display: block
}

.sticky__block {
    position: sticky;
    top: 150px
}

.pres-lg {
    display: flex;
    align-items: center;
    margin-left: 0;
    margin-top: 80px;
    text-decoration: none;
    transition: .3s linear
}

.pres-lg__text {
    position: relative;
    height: 23px;
    overflow: hidden;
    margin-bottom: 2px
}

.pres-lg__text span {
    display: block;
    color: #363636;
    font-family: Golos;
    font-size: 18px;
    font-weight: 400;
    transition: .3s linear
}

.pres-lg__text span:nth-child(2) {
    position: absolute;
    left: 0;
    top: 104%
}

.pres-lg__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    margin-left: 20px;
    border: 2px solid #ff3d4b;
    border-radius: 50%;
    background-color: transparent;
    transition: .3s linear
}

.pres-lg__icon svg {
    position: relative;
    width: 22px;
    height: 22px;
    fill: none;
    stroke: #ff3d4b;
    stroke-width: 2px;
    animation: .5s forwards animateNoHoverArrowBottom
}

.pres-lg:hover .pres-lg__text {
    color: #ff3d4b
}

.pres-lg:hover .pres-lg__text span {
    transform: translateY(-115%)
}

.pres-lg:hover .pres-lg__icon {
    background-color: #ff505c
}

.pres-lg:hover .pres-lg__icon svg {
    animation: .5s forwards animateHoverArrowBottom
}

@keyframes animateHoverArrowBottom {
    0% {
        top: -11px;
        opacity: 0;
        stroke: #fff
    }
    100% {
        top: 0;
        opacity: 1;
        stroke: #fff
    }
}

@keyframes animateNoHoverArrowBottom {
    0% {
        top: -11px;
        opacity: 0;
        stroke: #ff3d4b
    }
    100% {
        top: 0;
        opacity: 1;
        stroke: #ff3d4b
    }
}

.video video {
    width: 100%
}

@media screen and (max-width: 1789px) {
    .container {
        padding-left: 15px;
        padding-right: 15px;
        width: 1560px
    }

    .footer__tl {
        grid-area: 1/1/2/4
    }

    .footer__tr {
        grid-area: 1/4/2/12
    }

    .footer__bl {
        grid-area: 2/1/3/4
    }

    .footer__bc {
        grid-area: 2/4/3/8
    }

    .footer__br {
        grid-area: 2/8/3/11
    }

    .call-btn, .cookie {
        right: calc((100% - 1560px) / 2 + 15px)
    }

    .banner__left {
        width: calc(100% / 12 * 7 - 30px)
    }

    .banner__right, .banner__threed {
        margin-left: calc(100% / 12 * 0 + 15px)
    }

    .request__right {
        width: calc(100% / 12 * 4 - 30px);
        margin-left: calc(100% / 12 * 1 + 15px)
    }

    .err404__left {
        width: calc(100% / 12 * 4.5 - 30px);
        margin-right: calc(100% / 12 * 2.5 + 15px)
    }

    .err404__right {
        width: calc(100% / 12 * 5 - 30px)
    }

    .contacts__center, .contacts__left {
        width: calc(100% / 12 * 3 - 30px)
    }

    .case-nav__prev {
        padding-left: calc((100% - 1560px) / 2 + 15px)
    }

    .case-nav__next {
        padding-right: calc((100% - 1560px) / 2 + 15px)
    }

    .scrollup {
        right: calc((100% - 1560px) / 2 + 15px)
    }

    .services-carousel .item img {
        height: 560px
    }

    .team-carousel .slick-arrow.prev {
        left: calc((100% - 1560px) / 2 + 15px)
    }

    .team-carousel .slick-arrow.next {
        right: calc((100% - 1560px) / 2 + 15px)
    }

    .hrz {
        padding-left: calc((100% - 1560px) / 2 + 15px)
    }
}

@media screen and (max-width: 1599px) {
    .container {
        padding-left: 15px;
        padding-right: 15px;
        width: 1320px
    }

    .header__left {
        width: calc(100% / 12 * 2 - 30px)
    }

    .header__center {
        width: calc(100% / 12 * 4.5 - 30px)
    }

    .header__right {
        width: calc(100% / 12 * 5.5 - 30px)
    }

    .menu__link, .tel {
        font-size: 16px
    }

    .req-btn__text {
        height: 23px;
        margin-bottom: 0
    }

    .req-btn__text span {
        font-size: 16px
    }

    .footer__tl {
        grid-area: 1/1/2/5
    }

    .footer__tr {
        grid-area: 1/5/2/12
    }

    .footer__bl {
        grid-area: 2/1/3/5
    }

    .footer__bc {
        grid-area: 2/5/3/9
    }

    .footer__br {
        grid-area: 2/9/3/12
    }

    .call-btn, .cookie {
        right: calc((100% - 1320px) / 2 + 15px)
    }

    .abox__row {
        height: 500px
    }

    .abox__left {
        width: calc(100% / 12 * 6 - 30px)
    }

    .abox__right {
        width: calc(100% / 12 * 4 - 30px);
        margin-left: calc(100% / 12 * 0 + 15px)
    }

    .abox__right img {
        width: 300px;
        height: 300px
    }

    .abox--left .abox__row {
        height: 385px
    }

    .clients__item {
        height: 240px;
        padding: 90px 45px
    }

    .banner__title {
        margin: 0 0 30px;
        font-size: 90px
    }

    .banner__subtitle {
        font-size: 30px
    }

    .banner__img {
        width: 300px;
        height: 300px;
        margin-bottom: 0
    }

    .banner__threed {
        width: calc(100% / 12 * 5 - 30px);
        margin-left: -220px;
        margin-bottom: -80px
    }

    .m-projects__item {
        height: 510px
    }

    .m-projects__item:first-child {
        height: 600px
    }

    .s-menu__name, .s-menu__title {
        width: calc(100% / 12 * 7 - 30px)
    }

    .s-menu__desc {
        width: calc(100% / 12 * 6 - 30px);
        margin-left: -214px
    }

    .s-menu__arr {
        width: calc(100% / 12 * 1 - 30px)
    }

    .request__left {
        width: calc(100% / 12 * 5 - 30px)
    }

    .err404__left {
        width: calc(100% / 12 * 5.2 - 30px);
        margin-right: calc(100% / 12 * 1.8 + 15px)
    }

    .contacts {
        padding-top: 40px
    }

    .contacts__right {
        width: calc(100% / 12 * 4 - 30px)
    }

    .portfolio__item {
        height: 510px
    }

    .portfolio__item.lg, .portfolio__item:first-child {
        height: 600px
    }

    .case {
        background-color: #eee
    }

    .case-header__left {
        padding-right: 0
    }

    .case-desc__left {
        width: calc(100% / 12 * 4 - 30px);
        margin-right: calc(100% / 12 * 1 + 15px)
    }

    .case-desc__right {
        width: calc(100% / 12 * 7 - 30px)
    }

    .case-media__item {
        height: 800px
    }

    .case-media__item--video {
        height: 700px
    }

    .case-media__item--auto {
        height: auto
    }

    .case-nav {
        height: 180px
    }

    .case-nav__prev {
        padding-left: calc((100% - 1320px) / 2 + 15px)
    }

    .case-nav__prev .case-nav__arr {
        margin-right: 84px
    }

    .case-nav__next {
        padding-right: calc((100% - 1320px) / 2 + 15px);
        padding-left: 125px
    }

    .case-nav__arr svg {
        width: 26px;
        height: 26px
    }

    .projects__item {
        height: 510px
    }

    .category__right {
        width: calc(100% / 12 * 6.3 - 30px)
    }

    .category__img {
        height: 510px
    }

    .category--rvr .category__left {
        margin-left: calc(100% / 12 * .2 + 15px)
    }

    .category--rvr .category__right {
        width: calc(100% / 12 * 6.8 - 30px)
    }

    .services-menu__grid {
        width: 70%
    }

    .awards .section:first-child {
        background-image: url(../img/award-lg-1.png)
    }

    .awards .section:nth-child(2) {
        background-image: url(../img/award-lg-2.png)
    }

    .awards .section:nth-child(3) {
        background-image: url(../img/award-lg-3.png)
    }

    .awards .section:nth-child(4) {
        background-image: url(../img/award-lg-4.png)
    }

    .awards .section:nth-child(5) {
        background-image: url(../img/award-lg-5.png)
    }

    .awards .section:nth-child(6) {
        background-image: url(../img/award-lg-6.png)
    }

    .awards .section:nth-child(7) {
        background-image: url(../img/award-lg-7.png)
    }

    .awards .section:nth-child(8) {
        background-image: url(../img/award-lg-8.png)
    }

    .advant__item {
        width: calc(100% / 12 * 4 - 30px);
        padding-right: 60px
    }

    .advant__item:nth-child(3n) {
        margin-right: calc(100% / 12 * 0 + 15px)
    }

    .r-thanks__wrap {
        width: calc(100% / 12 * 5 - 30px)
    }

    .scrollup {
        right: calc((100% - 1320px) / 2 + 15px)
    }

    .services-carousel .item img {
        height: 460px
    }

    .help {
        padding-bottom: 80px
    }

    .help__col {
        width: calc(100% / 12 * 7 - 30px)
    }

    .help__text {
        max-width: 520px
    }

    .tia__row {
        margin-bottom: 80px
    }

    .tia__left {
        width: calc(100% / 12 * 7 - 30px)
    }

    .tia__right {
        margin-left: calc(100% / 12 * 0 + 15px)
    }

    .tia__right img {
        width: 300px;
        height: 300px
    }

    .ourvalues__right {
        width: calc(100% / 12 * 5 - 30px)
    }

    .quote {
        padding-top: 42px
    }

    .team-carousel .slick-arrow.prev {
        left: calc((100% - 1320px) / 2 + 15px)
    }

    .team-carousel .slick-arrow.next {
        right: calc((100% - 1320px) / 2 + 15px)
    }

    .hrz {
        padding-left: calc((100% - 1320px) / 2 + 15px)
    }

    .hrz__item {
        width: 440px
    }

    .reviews-carousel .slick-arrow {
        width: 70px;
        height: 70px
    }

    .reviews-carousel .slick-arrow svg {
        width: 23px;
        height: 23px
    }

    .review__right {
        width: calc(100% / 12 * 5 - 30px);
        padding-top: 0
    }
}

@media screen and (max-width: 1439px) {
    .container {
        padding-left: 15px;
        padding-right: 15px;
        width: 1170px
    }

    .header__left {
        width: calc(100% / 12 * 1.5 - 30px)
    }

    .header__center {
        width: calc(100% / 12 * 4.8 - 30px)
    }

    .header__right {
        width: calc(100% / 12 * 5.7 - 30px)
    }

    .menu__link {
        font-size: 14px
    }

    .footer__tl {
        grid-area: 1/1/2/4
    }

    .footer__tr {
        grid-area: 1/4/2/12
    }

    .footer__bl {
        grid-area: 2/1/3/4
    }

    .footer__bc {
        grid-area: 2/4/3/9
    }

    .footer__br {
        grid-area: 2/9/3/12
    }

    .footer .menu {
        margin: 0 -10px
    }

    .footer .menu__item {
        margin: 0 10px
    }

    .footer .menu__link {
        font-size: 16px
    }

    .call-btn {
        right: calc((100% - 1170px) / 2 + 15px);
        bottom: 25px
    }

    .cookie {
        right: calc((100% - 1170px) / 2 + 15px)
    }

    .banner__left {
        width: calc(100% / 12 * 8 - 30px)
    }

    .banner__right, .banner__threed {
        width: calc(100% / 12 * 4 - 30px)
    }

    .s-menu__name {
        width: calc(100% / 12 * 10 - 30px)
    }

    .s-menu__desc {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        position: absolute;
        top: 0;
        left: 0;
        width: 90%;
        height: 100%;
        margin: 0;
        padding: 0 15px
    }

    .s-menu__arr {
        margin-left: auto
    }

    .request__left {
        width: calc(100% / 12 * 6 - 30px);
        margin-left: calc(100% / 12 * 0 + 15px)
    }

    .request__right {
        width: calc(100% / 12 * 6 - 30px);
        margin-left: calc(100% / 12 * 0 + 15px)
    }

    .err404__left {
        width: calc(100% / 12 * 7 - 30px);
        margin-right: calc(100% / 12 * 0 + 15px)
    }

    .case-nav__prev {
        padding-left: calc((100% - 1170px) / 2 + 15px)
    }

    .case-nav__next {
        padding-right: calc((100% - 1170px) / 2 + 15px);
        padding-left: 125px
    }

    .case-nav__name {
        font-size: 32px
    }

    .services-menu__grid {
        width: 80%
    }

    .r-thanks__wrap {
        width: calc(100% / 12 * 5.7 - 30px);
        margin-left: calc(100% / 12 * 0 + 15px)
    }

    .scrollup {
        right: calc((100% - 1170px) / 2 + 15px);
        bottom: 120px
    }

    .services-carousel .item img {
        height: 420px
    }

    .about-carousel .item img {
        height: auto
    }

    .desc__left {
        width: calc(100% / 12 * 8 - 30px)
    }

    .desc__right {
        width: calc(100% / 12 * 4 - 30px);
        margin-left: calc(100% / 12 * 0 + 15px)
    }

    .help__col {
        width: calc(100% / 12 * 8 - 30px)
    }

    .ourvalues__right {
        width: calc(100% / 12 * 6 - 30px)
    }

    .team-carousel .slick-arrow.prev {
        left: calc((100% - 1170px) / 2 + 15px)
    }

    .team-carousel .slick-arrow.next {
        right: calc((100% - 1170px) / 2 + 15px)
    }

    .hrz {
        padding-left: calc((100% - 1170px) / 2 + 15px)
    }

    .s-advant__title {
        width: calc(100% / 12 * 7 - 30px)
    }

    .review__right {
        width: calc(100% / 12 * 6 - 30px)
    }
}

@media screen and (max-width: 1199px) {
    main {
        padding-top: 62px
    }

    .container {
        padding-left: 15px;
        padding-right: 15px;
        width: 960px
    }

    .header {
        padding: 20px 0
    }

    .header__left {
        width: calc(100% / 12 * 10 - 30px)
    }

    .header__center, .header__right {
        display: none
    }

    .header__btn {
        display: flex;
        justify-content: flex-end
    }

    .menu__item.current .menu__link {
        color: #363636
    }

    .dropdown {
        position: static;
        display: block;
        transform: none;
        padding: 0
    }

    .dropdown__item {
        margin-top: 10px
    }

    .dropdown__link {
        padding: 0
    }

    .social {
        margin: 0 -10px
    }

    .social__item {
        margin: 0 10px
    }

    .social__link {
        width: 40px;
        height: 40px
    }

    .footer__tl {
        grid-area: 1/1/2/4
    }

    .footer__tr {
        grid-area: 1/4/2/12
    }

    .footer__bl {
        grid-area: 2/1/3/5
    }

    .footer__bc {
        grid-area: 2/5/3/8
    }

    .footer__br {
        grid-area: 2/8/3/12
    }

    .pres {
        margin-left: 20px;
        font-size: 16px
    }

    .msg__link {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background-color: transparent
    }

    .msg__link span {
        display: none
    }

    .msg__link svg {
        display: block;
        width: 100%;
        height: 100%;
        fill: #ff3d4b
    }

    .assoc__logo {
        width: 70px;
        height: 70px;
        margin-right: 16px
    }

    .assoc__text {
        width: calc(100% - 86px);
        font-size: 14px
    }

    .call-btn {
        right: calc((100% - 960px) / 2 + 15px);
        width: 60px;
        height: 60px
    }

    .call-btn svg {
        width: 28px;
        height: 28px
    }

    .cookie {
        right: calc((100% - 960px) / 2 + 15px)
    }

    .abox__row {
        height: 420px
    }

    .abox__left {
        margin-left: calc(100% / 12 * 0 + 15px)
    }

    .abox__right {
        width: calc(100% / 12 * 6 - 30px)
    }

    .abox__right img {
        height: 240px
    }

    .abox__text {
        font-size: 48px
    }

    .abox__text--sm {
        font-size: 24px
    }

    .abox--left .abox__row {
        height: 320px
    }

    .abox--left .abox__left {
        width: calc(100% / 12 * 6 - 30px)
    }

    .banner {
        min-height: 1px;
        padding-bottom: 48px
    }

    .banner__title {
        font-size: 68px
    }

    .banner--inner .banner__title {
        font-size: 48px
    }

    .banner__img {
        width: 100%
    }

    .banner__threed {
        margin-left: -100px;
        margin-bottom: -40px
    }

    .m-projects {
        padding: 40px 0 80px
    }

    .features__title {
        font-size: 48px
    }

    .features__item {
        width: calc(100% / 12 * 4 - 30px)
    }

    .features__icon {
        height: 100px
    }

    .s-menu__title {
        width: calc(100% / 12 * 9 - 30px);
        margin-left: calc(100% / 12 * 3 + 15px);
        font-size: 48px
    }

    .s-menu__item {
        height: 180px
    }

    .s-menu__item.hover .s-menu__arr svg, .s-menu__item:hover .s-menu__arr svg {
        stroke: #fcfbfb
    }

    .s-menu__name {
        font-size: 32px
    }

    .s-menu__arr {
        opacity: 1
    }

    .s-menu__arr svg {
        stroke: #363636
    }

    .request__title {
        font-size: 54px
    }

    .steps__title {
        width: calc(100% / 12 * 9 - 30px);
        margin-left: calc(100% / 12 * 3 + 15px);
        font-size: 48px
    }

    .page-header {
        padding: 60px 0 30px
    }

    .mapsite {
        padding: 20px 0 80px
    }

    .contacts__center, .contacts__left, .contacts__right {
        width: calc(100% / 12 * 6 - 30px)
    }

    .contacts__right {
        margin-top: 50px
    }

    .project__title {
        margin-bottom: 10px;
        font-size: 22px
    }

    .project__tags {
        font-size: 16px
    }

    .case-header {
        height: calc(100vh - 60px);
        padding-top: 90px
    }

    .case-desc__left {
        width: calc(100% / 12 * 5 - 30px);
        margin-right: calc(100% / 12 * 0 + 15px)
    }

    .case-media__item {
        height: 600px
    }

    .case-media__item--video {
        height: 550px
    }

    .case-media__item--auto {
        height: auto
    }

    .case-nav {
        height: 120px
    }

    .case-nav__prev {
        padding-left: calc((100% - 960px) / 2 + 15px)
    }

    .case-nav__prev .case-nav__arr {
        margin-right: 30px
    }

    .case-nav__next {
        padding-right: calc((100% - 960px) / 2 + 15px);
        padding-left: 30px
    }

    .case-nav__next .case-nav__row {
        justify-content: flex-end
    }

    .case-nav__next .case-nav__arr {
        margin-left: 30px
    }

    .case-nav__name {
        font-size: 22px
    }

    .category__right {
        width: calc(100% / 12 * 8 - 30px)
    }

    .category__img {
        height: 400px
    }

    .category__text {
        margin-bottom: 40px
    }

    .category__b-text {
        margin-bottom: 40px;
        font-size: 32px
    }

    .category--rvr .category__left {
        margin-left: calc(100% / 12 * 0 + 15px);
        margin-right: calc(100% / 12 * 0 + 15px)
    }

    .category--rvr .category__right {
        width: calc(100% / 12 * 8 - 30px)
    }

    .services-menu__grid {
        width: 100%
    }

    .services-menu__title {
        font-size: 32px
    }

    .advant__title {
        font-size: 48px
    }

    .advant__item {
        padding-right: 0
    }

    .r-thanks__wrap {
        width: calc(100% / 12 * 6.8 - 30px)
    }

    .r-thanks__title {
        font-size: 54px
    }

    .scrollup {
        right: calc((100% - 960px) / 2 + 15px);
        width: 70px;
        height: 70px
    }

    .scrollup svg {
        width: 23px;
        height: 23px
    }

    .services-carousel .item img {
        height: 380px
    }

    .desc__text {
        font-size: 32px
    }

    .desc .assoc__logo {
        width: 90px;
        height: 90px
    }

    .help__title {
        font-size: 48px
    }

    .tia__right img {
        height: 240px
    }

    .ourvalues__title, .tia__title {
        font-size: 48px
    }

    .ourvalues__left {
        width: calc(100% / 12 * 5 - 30px);
        margin-left: calc(100% / 12 * 0 + 15px)
    }

    .ourvalues .sticky__block {
        padding-top: 0
    }

    .a-video__title {
        font-size: 48px
    }

    .team__title {
        width: calc(100% / 12 * 9 - 30px);
        margin-left: calc(100% / 12 * 3 + 15px);
        font-size: 48px
    }

    .team-carousel .slick-arrow {
        width: 70px;
        height: 70px;
        opacity: .4
    }

    .team-carousel .slick-arrow svg {
        width: 23px;
        height: 23px
    }

    .team-carousel .slick-arrow.prev {
        left: calc((100% - 960px) / 2 + 15px)
    }

    .team-carousel .slick-arrow.next {
        right: calc((100% - 960px) / 2 + 15px)
    }

    .hrz {
        padding-left: 0
    }

    .hrz__row {
        overflow-x: auto
    }

    .hrz__item {
        width: 350px
    }

    .hrz__item:first-child {
        margin-left: calc((100% - 960px) / 2 + 15px)
    }

    .hrz__num {
        font-size: 70px
    }

    .hrz__title {
        font-size: 32px
    }

    .hrz__text {
        font-size: 20px
    }

    .s-advant__title {
        font-size: 48px
    }

    .reviews__title {
        width: calc(100% / 12 * 9 - 30px);
        margin-left: calc(100% / 12 * 3 + 15px);
        font-size: 48px
    }

    .review__left {
        width: calc(100% / 12 * 5 - 30px);
        margin-left: calc(100% / 12 * 0 + 15px)
    }
}

@media screen and (max-width: 991px) {
    .container {
        padding-left: 15px;
        padding-right: 15px;
        width: 740px
    }

    .footer {
        padding: 60px 0 40px
    }

    .footer__grid {
        grid-template-rows: repeat(3, auto);
        padding-right: 0
    }

    .footer__tl {
        grid-area: 1/1/2/4
    }

    .footer__tr {
        display: none
    }

    .footer__bl {
        grid-area: 2/1/3/8
    }

    .footer__bc {
        grid-area: 2/8/3/13
    }

    .footer__br {
        grid-area: 3/1/4/7
    }

    .assoc {
        margin-top: 10px
    }

    .call-btn, .cookie {
        right: calc((100% - 740px) / 2 + 15px)
    }

    .abox__left {
        width: calc(100% / 12 * 7 - 30px)
    }

    .abox__right {
        width: calc(100% / 12 * 5 - 30px)
    }

    .abox--left .abox__left {
        width: calc(100% / 12 * 7 - 30px)
    }

    .banner {
        padding-top: 60px
    }

    .banner__left {
        width: calc(100% / 12 * 12 - 30px)
    }

    .banner__right {
        display: none
    }

    .banner--inner .banner__title {
        margin-top: 0
    }

    .banner .pres {
        margin-top: 40px
    }

    .banner__threed {
        width: calc(100% / 12 * 8 - 30px);
        margin-left: 15px;
        margin-bottom: 0;
        margin-top: 20px
    }

    .m-projects__item {
        width: calc(100% / 12 * 12 - 30px);
        height: 400px;
        margin-bottom: 20px
    }

    .m-projects__item:first-child, .m-projects__item:nth-child(4n+1), .m-projects__item:nth-child(4n-2) {
        width: calc(100% / 12 * 12 - 30px)
    }

    .m-projects__item:first-child {
        height: 400px;
        margin-bottom: 20px
    }

    .request__left {
        width: calc(100% / 12 * 12 - 30px)
    }

    .request__right {
        width: calc(100% / 12 * 8 - 30px);
        margin-left: calc(100% / 12 * 2 + 15px);
        margin-right: calc(100% / 12 * 2 + 15px)
    }

    .request__title {
        margin-bottom: 30px;
        text-align: center;
        font-size: 48px
    }

    .form__btn {
        width: 100%
    }

    .err404 {
        padding: 60px 0 80px
    }

    .err404__title, .page-title {
        font-size: 48px
    }

    .mapsite__item {
        margin-bottom: 24px
    }

    .mapsite__link {
        font-size: 30px
    }

    .mapsite__sl {
        margin-top: 16px
    }

    .map {
        height: 450px
    }

    ymaps[class*="-image"] {
        left: -13px !important;
        top: -17px !important;
        width: 25px !important;
        height: 25px !important;
        background-size: contain !important
    }

    .portfolio {
        padding: 60px 0;
        background-color: #fcfbfb
    }

    .portfolio__nav {
        margin-bottom: 50px
    }

    .portfolio__btn {
        height: 40px;
        padding: 0 30px;
        font-size: 16px
    }

    .portfolio__item {
        width: calc(100% / 12 * 12 - 30px);
        height: 400px;
        margin-bottom: 20px
    }

    .portfolio__item.md, .portfolio__item.sm, .portfolio__item.sm:nth-child(4n+1), .portfolio__item.sm:nth-child(4n-2) {
        width: calc(100% / 12 * 12 - 30px)
    }

    .portfolio__item.lg, .portfolio__item:first-child {
        height: 400px
    }

    .project__desc {
        padding: 30px 20px
    }

    .case {
        padding-bottom: 80px
    }

    .case-header {
        height: auto;
        padding-top: 60px
    }

    .case-header__title {
        font-size: 48px
    }

    .case-header__subtitle {
        font-size: 16px
    }

    .case-desc {
        padding: 60px 0 90px
    }

    .case-desc__left {
        width: calc(100% / 12 * 12 - 30px);
        margin-bottom: 40px
    }

    .case-desc__right {
        width: calc(100% / 12 * 12 - 30px)
    }

    .case-desc__title {
        margin-bottom: 10px
    }

    .case-media__item {
        height: 440px;
        margin-bottom: 20px
    }

    .case-media__item--video {
        height: 440px
    }

    .case-media__item--auto {
        height: auto
    }

    .case-video::after {
        width: 60px;
        height: 60px;
        background-size: 14px 20px
    }

    .case-nav__prev {
        padding-left: calc((100% - 740px) / 2 + 15px)
    }

    .case-nav__next {
        padding-right: calc((100% - 740px) / 2 + 15px)
    }

    .projects__item {
        width: calc(100% / 12 * 12 - 30px);
        height: 400px;
        margin-bottom: 20px
    }

    .category__left, .projects__item:nth-child(4n), .projects__item:nth-child(4n-3) {
        width: calc(100% / 12 * 12 - 30px)
    }

    .category__left {
        order: 1
    }

    .category__right {
        width: calc(100% / 12 * 12 - 30px);
        margin-bottom: 56px
    }

    .category--rvr .category__left {
        order: 0;
        margin-bottom: 60px
    }

    .category--rvr .category__right {
        width: calc(100% / 12 * 12 - 30px);
        margin-bottom: 0
    }

    .awards .section:first-child {
        background-image: url(../img/award-md-1.png)
    }

    .awards .section:nth-child(2) {
        background-image: url(../img/award-md-2.png)
    }

    .awards .section:nth-child(3) {
        background-image: url(../img/award-md-3.png)
    }

    .awards .section:nth-child(4) {
        background-image: url(../img/award-md-4.png)
    }

    .awards .section:nth-child(5) {
        background-image: url(../img/award-md-5.png)
    }

    .awards .section:nth-child(6) {
        background-image: url(../img/award-md-6.png)
    }

    .awards .section:nth-child(7) {
        background-image: url(../img/award-md-7.png)
    }

    .awards .section:nth-child(8) {
        background-image: url(../img/award-md-8.png)
    }

    .advant__item {
        width: calc(100% / 12 * 6 - 30px)
    }

    .r-thanks__wrap {
        width: calc(100% / 12 * 8.8 - 30px)
    }

    .r-thanks__title {
        font-size: 48px
    }

    .scrollup {
        right: calc((100% - 740px) / 2 + 15px)
    }

    .services-carousel .item img {
        height: 340px
    }

    .help__col {
        width: calc(100% / 12 * 9 - 30px)
    }

    .ourvalues__right {
        width: calc(100% / 12 * 7 - 30px)
    }

    .quote {
        padding-top: 30px
    }

    .team__title {
        width: calc(100% / 12 * 12 - 30px);
        margin-left: calc(100% / 12 * 0 + 15px)
    }

    .team-carousel .slick-arrow.prev {
        left: calc((100% - 740px) / 2 + 15px)
    }

    .team-carousel .slick-arrow.next {
        right: calc((100% - 740px) / 2 + 15px)
    }

    .hrz__item:first-child {
        margin-left: calc((100% - 740px) / 2 + 15px)
    }

    .reviews {
        padding-bottom: 140px
    }

    .review__right {
        width: calc(100% / 12 * 7 - 30px)
    }

    .pres-lg {
        margin-top: 40px
    }
}

@media screen and (max-width: 767px) {
    .container {
        padding-left: 15px;
        padding-right: 15px;
        width: 560px
    }

    .footer__grid {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(4, auto)
    }

    .footer__tl {
        grid-area: 1/1/2/4
    }

    .footer__bl {
        grid-area: 2/1/3/3
    }

    .footer__bc {
        grid-area: 2/3/3/4
    }

    .footer__br {
        grid-area: 4/1/5/3
    }

    .bottom {
        flex-direction: column;
        margin-top: 40px
    }

    .bottom a {
        margin-top: 10px
    }

    .call-btn {
        right: calc((100% - 560px) / 2 + 15px)
    }

    .cookie {
        right: calc((100% - 560px) / 2 + 15px);
        left: calc((100% - 560px) / 2 + 15px);
        width: auto
    }

    .abox__row {
        height: 360px
    }

    .abox__left {
        width: calc(100% / 12 * 8 - 30px)
    }

    .abox__right {
        width: calc(100% / 12 * 4 - 30px)
    }

    .abox__text {
        font-size: 40px
    }

    .abox__text--sm {
        font-size: 22px
    }

    .abox--left .abox__left {
        width: calc(100% / 12 * 8 - 30px)
    }

    .abox--left .abox__right {
        margin-right: calc(100% / 12 * 0 + 15px)
    }

    .m-projects {
        padding-top: 0
    }

    .m-projects__item, .m-projects__item:first-child {
        height: 340px
    }

    .features__item {
        width: calc(100% / 12 * 12 - 30px);
        margin-bottom: 50px
    }

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

    .s-menu__title {
        width: calc(100% / 12 * 12 - 30px);
        margin-left: calc(100% / 12 * 0 + 15px)
    }

    .s-menu__item {
        height: 140px
    }

    .s-menu__name {
        font-family: Golos;
        font-weight: 400
    }

    .s-menu__arr {
        width: calc(100% / 12 * 2 - 30px)
    }

    .request__right {
        width: calc(100% / 12 * 10 - 30px);
        margin-left: calc(100% / 12 * 1 + 15px);
        margin-right: calc(100% / 12 * 1 + 15px)
    }

    .form--light .form__btn {
        width: 100%
    }

    .steps__title {
        width: calc(100% / 12 * 12 - 30px);
        margin-left: calc(100% / 12 * 0 + 15px)
    }

    .err404__left {
        width: calc(100% / 12 * 12 - 30px)
    }

    .err404__right {
        display: none
    }

    .err-menu__item {
        margin-bottom: 10px
    }

    .err-menu__link {
        font-size: 16px
    }

    .contacts__right {
        width: calc(100% / 12 * 12 - 30px)
    }

    .portfolio__btn {
        margin-right: 16px
    }

    .portfolio__item, .portfolio__item.lg, .portfolio__item:first-child {
        height: 340px
    }

    .case-header__left {
        width: calc(100% / 12 * 12 - 30px);
        margin-bottom: 50px
    }

    .case-header__right {
        width: calc(100% / 12 * 12 - 30px)
    }

    .case-header__subtitle {
        margin-bottom: 0
    }

    .case-header .btn-left {
        display: none
    }

    .case-media__item, .case-media__item--video {
        height: 360px
    }

    .case-media__item--auto {
        height: auto
    }

    .case-nav__prev {
        display: none
    }

    .case-nav__next {
        width: 100%;
        padding-right: calc((100% - 560px) / 2 + 15px)
    }

    .projects__item {
        height: 340px
    }

    .awards .footer {
        padding-top: 80px
    }

    .awards .footer .footer__grid {
        grid-row-gap: 0
    }

    .awards .footer .footer__tl {
        display: none
    }

    .awards .footer .social {
        margin-bottom: 30px
    }

    .awards .footer .bottom {
        margin-top: 30px
    }

    .advant__item {
        width: calc(100% / 12 * 12 - 30px)
    }

    .r-thanks__close {
        top: -40px
    }

    .scrollup {
        right: calc((100% - 560px) / 2 + 15px)
    }

    .modal__inner {
        width: 400px;
        min-height: 1px;
        padding: 80px 16px 60px
    }

    .modal__title {
        margin-bottom: 16px;
        font-size: 30px
    }

    .modal__text {
        margin-bottom: 30px
    }

    .modal__wrap {
        height: 100%
    }

    .services-carousel .item img {
        height: 320px
    }

    .desc__left {
        width: calc(100% / 12 * 12 - 30px);
        margin-bottom: 40px
    }

    .desc__right {
        width: calc(100% / 12 * 12 - 30px)
    }

    .desc__text {
        font-size: 24px
    }

    .desc .assoc {
        align-items: flex-start
    }

    .desc .assoc__logo {
        margin-left: 0
    }

    .desc .assoc__text {
        text-align: left
    }

    .help__col, .tia__left {
        width: calc(100% / 12 * 12 - 30px)
    }

    .tia__right {
        display: none
    }

    .ourvalues__title {
        width: calc(100% / 12 * 12 - 30px);
        margin-left: calc(100% / 12 * 0 + 15px)
    }

    .quote {
        padding-top: 0
    }

    .quote__text {
        padding-top: 56px;
        padding-bottom: 36px
    }

    .quote__text::before {
        width: 36px;
        height: 30px
    }

    .team-carousel .slick-arrow.prev {
        left: 16px
    }

    .team-carousel .slick-arrow.next {
        right: 16px
    }

    .hrz__item:first-child {
        margin-left: calc((100% - 560px) / 2 + 15px)
    }

    .s-advant__title {
        width: calc(100% / 12 * 12 - 30px);
        margin-left: calc(100% / 12 * 0 + 15px)
    }

    .reviews__title {
        width: calc(100% / 12 * 12 - 30px);
        margin-left: calc(100% / 12 * 0 + 15px)
    }

    .review__left {
        width: calc(100% / 12 * 4 - 30px)
    }

    .review__right {
        width: calc(100% / 12 * 8 - 30px)
    }
}

@media screen and (max-width: 575px) {
    .container {
        padding-left: 15px;
        padding-right: 15px;
        width: 100%
    }

    .fancybox-slide {
        padding: 16px
    }

    .menu__item {
        width: calc(100% / 12 * 6 - 30px);
        margin-bottom: 10px;
        padding: 0
    }

    .menu__link {
        font-size: 16px
    }

    .social {
        margin-bottom: 40px
    }

    .footer__grid {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(5, auto);
        grid-row-gap: 0
    }

    .footer__tl {
        grid-area: 1/1/2/2
    }

    .footer__bl {
        grid-area: 3/1/4/2
    }

    .footer__bc {
        grid-area: 2/1/3/2
    }

    .footer__br {
        grid-area: 5/1/6/2
    }

    .footer .logo {
        margin-bottom: 55px
    }

    .email {
        margin-bottom: 10px
    }

    .msg {
        margin: 10px -10px 20px
    }

    .msg__item {
        margin: 0 10px
    }

    .assoc {
        margin-top: 0;
        padding-right: 70px
    }

    .call-btn {
        right: 16px;
        bottom: 25px
    }

    .cookie {
        right: 0;
        left: 0;
        bottom: 0
    }

    .abox__row {
        height: auto;
        padding: 60px 0 80px
    }

    .abox__left {
        width: calc(100% / 12 * 12 - 30px);
        margin-bottom: 40px
    }

    .abox__right {
        width: calc(100% / 12 * 12 - 30px)
    }

    .abox__right img {
        width: 156px;
        height: 156px;
        margin: 0 auto
    }

    .abox__right img.mobile {
        display: block
    }

    .abox__right img.desctop {
        display: none
    }

    .abox__text {
        text-align: center;
        font-size: 35px
    }

    .abox__text--sm {
        text-align: center;
        font-size: 18px
    }

    .abox__text--md {
        font-size: 20px
    }

    .abox__btn {
        width: 100%;
        max-width: 340px;
        margin: 0 auto;
        font-size: 16px
    }

    .abox--left .abox__row {
        height: auto;
        padding: 60px 0 80px
    }

    .abox--left .abox__left, .abox--left .abox__right {
        width: calc(100% / 12 * 12 - 30px)
    }

    .abox--left .abox__right {
        margin-bottom: 20px
    }

    .clients__item {
        height: 180px;
        padding: 65px 30px
    }

    .banner {
        padding-top: 40px
    }

    .banner__title {
        margin-bottom: 20px;
        font-size: 45px
    }

    .banner__subtitle {
        font-size: 18px
    }

    .banner--inner .banner__title {
        font-size: 30px;
        margin-bottom: 15px
    }

    .banner__text {
        font-size: 16px
    }

    .m-projects__item, .m-projects__item:first-child {
        height: 280px
    }

    .features {
        padding: 60px 0 80px
    }

    .features__title {
        margin-bottom: 40px;
        font-size: 30px
    }

    .features__text {
        font-size: 16px
    }

    .features__icon {
        height: 70px;
        margin-bottom: 10px
    }

    .s-menu {
        padding-top: 60px
    }

    .s-menu__header {
        padding-top: 40px
    }

    .s-menu__title {
        font-size: 30px
    }

    .s-menu__name {
        font-size: 22px
    }

    .s-menu__desc {
        font-size: 16px
    }

    .s-menu__arr svg {
        width: 20px;
        height: 20px
    }

    .request {
        padding: 60px 0 80px
    }

    .request__right {
        width: calc(100% / 12 * 12 - 30px);
        margin-left: calc(100% / 12 * 0 + 15px);
        margin-right: calc(100% / 12 * 0 + 15px)
    }

    .request__title {
        font-size: 35px
    }

    .form__btn {
        font-size: 16px
    }

    .form__checkbox label {
        padding-left: 32px;
        font-size: 14px
    }

    .form__checkbox label::before {
        top: 6px
    }

    .steps {
        padding: 60px 0 80px
    }

    .steps__header {
        margin-bottom: 40px
    }

    .err404__title, .steps__title {
        font-size: 30px
    }

    .err404__text {
        font-size: 16px
    }

    .err-menu {
        margin-top: 40px
    }

    .page-title {
        font-size: 30px
    }

    .mapsite__item {
        margin-bottom: 16px
    }

    .mapsite__link {
        font-size: 22px
    }

    .contacts {
        padding-top: 15px;
        margin-bottom: 80px
    }

    .contacts__left {
        width: calc(100% / 12 * 12 - 30px);
        margin-bottom: 40px
    }

    .contacts__center {
        width: calc(100% / 12 * 12 - 30px)
    }

    .contacts__tel {
        margin-bottom: 10px
    }

    .contacts__tel svg {
        margin-right: 20px
    }

    .contacts__callback {
        padding-left: 46px
    }

    .contacts__callback a {
        font-size: 16px
    }

    .contacts__email svg {
        margin-right: 20px
    }

    .contacts__worktime {
        padding-left: 46px;
        font-size: 16px
    }

    .contacts__addr svg {
        margin-right: 20px;
        margin-top: 5px
    }

    .contacts__addr address {
        width: calc(100% - 46px);
        font-size: 16px
    }

    .map {
        height: 300px
    }

    ymaps[class*=balloon__content] {
        width: calc(100% - 50px);
        padding: 30px 20px
    }

    ymaps[class*=balloon__close] {
        margin: 12px 12px 0 0
    }

    ymaps[class*=balloon__close-button] {
        margin: 0
    }

    .balloon__title {
        font-size: 18px
    }

    .portfolio__item, .portfolio__item.lg, .portfolio__item:first-child {
        height: 280px
    }

    .case-header__title {
        margin-bottom: 14px;
        font-size: 30px
    }

    .case-media__item, .case-media__item--video {
        height: 300px
    }

    .case-media__item--auto {
        height: auto
    }

    .case-nav__next {
        padding-right: 16px
    }

    .btn-show {
        width: 245px
    }

    .btn-show__text span {
        font-size: 16px
    }

    .btn-show__icon {
        width: 70px;
        height: 70px
    }

    .projects {
        padding-bottom: 80px
    }

    .projects__item {
        height: 280px
    }

    .category {
        padding: 60px 0 80px
    }

    .category__img {
        height: 320px
    }

    .category__text {
        font-size: 16px
    }

    .category__b-text {
        font-size: 22px
    }

    .category__b-text--lg {
        font-size: 30px
    }

    .services-menu {
        padding: 60px 0 80px
    }

    .services-menu__grid {
        display: block;
        grid-row-gap: 0
    }

    .services-menu__section {
        margin-bottom: 40px
    }

    .services-menu__section:nth-child(4) {
        margin-bottom: 0
    }

    .services-menu__title {
        margin-bottom: 16px;
        font-size: 22px
    }

    .services-menu__item {
        margin-bottom: 12px
    }

    .advant {
        padding: 60px 0 40px
    }

    .advant__title {
        margin-bottom: 54px;
        font-size: 30px
    }

    .advant__item {
        font-size: 16px
    }

    .r-thanks {
        padding-top: 130px
    }

    .r-thanks__wrap {
        width: calc(100% / 12 * 12 - 30px)
    }

    .r-thanks__title {
        text-align: center;
        font-size: 36px
    }

    .r-thanks__text {
        max-width: 340px;
        margin: 0 auto;
        text-align: center;
        font-size: 16px
    }

    .scrollup {
        right: 16px
    }

    .services-carousel {
        padding-bottom: 80px
    }

    .services-carousel .item {
        padding: 0 8px
    }

    .services-carousel .item img {
        height: 280px
    }

    .services-carousel--nopb {
        padding-bottom: 0
    }

    .about-carousel .item img {
        height: 280px
    }

    .about-carousel .slick-dots {
        bottom: 20px
    }

    .desc {
        padding: 60px 0 80px
    }

    .desc__text br {
        display: none
    }

    .desc .assoc__logo {
        width: 70px;
        height: 70px;
        margin-bottom: 10px
    }

    .desc .assoc__text {
        max-width: 242px;
        font-size: 16px
    }

    .help {
        padding: 60px 0 40px
    }

    .help__title {
        margin-bottom: 20px;
        font-size: 30px
    }

    .help__text {
        font-size: 16px
    }

    .tia {
        padding: 60px 0 80px
    }

    .tia__row {
        margin-bottom: 38px
    }

    .tia__title {
        margin-bottom: 20px;
        font-size: 30px
    }

    .tia__text {
        font-size: 16px
    }

    .ourvalues {
        padding-top: 60px;
        padding-bottom: 80px
    }

    .ourvalues__header {
        margin-bottom: 40px
    }

    .ourvalues__title {
        font-size: 30px
    }

    .ourvalues__row {
        margin-bottom: 80px
    }

    .ourvalues__left {
        width: calc(100% / 12 * 0 - 30px)
    }

    .ourvalues__right {
        width: calc(100% / 12 * 12 - 30px)
    }

    .ourvalues__img {
        position: absolute;
        left: 15px;
        bottom: 0;
        width: 70px;
        height: 70px
    }

    .ourvalues__img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 50%
    }

    .quote__text p {
        font-size: 16px
    }

    .quote__footer {
        height: 70px;
        margin-left: 86px;
        padding-top: 15px
    }

    .quote__author {
        font-size: 16px
    }

    .quote__role {
        margin-bottom: 5px;
        font-size: 14px
    }

    .a-video {
        padding: 60px 0
    }

    .a-video__title {
        margin-bottom: 40px;
        font-size: 30px
    }

    .team {
        padding: 60px 0
    }

    .team__header {
        margin-bottom: 40px
    }

    .team__title {
        font-size: 30px
    }

    .team-carousel .item {
        padding: 0 8px
    }

    .member {
        width: 290px;
        cursor: grab
    }

    .member__img {
        height: 310px;
        margin-bottom: 20px
    }

    .member__left {
        width: calc(100% - 70px);
        padding-right: 15px
    }

    .member__right {
        width: 70px
    }

    .member__name {
        font-size: 18px
    }

    .member__role {
        font-size: 16px
    }

    .hrz__item {
        width: 250px;
        padding-right: 20px
    }

    .hrz__item:first-child {
        margin-left: 16px
    }

    .hrz__num {
        font-size: 60px;
        margin-bottom: 10px
    }

    .hrz__title {
        font-size: 22px
    }

    .hrz__text {
        font-size: 18px
    }

    .s-advant {
        padding: 60px 0
    }

    .s-advant__header {
        margin-bottom: 34px
    }

    .s-advant__title {
        font-size: 30px
    }

    .reviews {
        padding-top: 60px
    }

    .reviews__header {
        margin-bottom: 40px
    }

    .reviews__title {
        font-size: 30px
    }

    .review__left {
        width: calc(100% / 12 * 0 - 30px)
    }

    .review__right {
        width: calc(100% / 12 * 12 - 30px)
    }

    .review__img {
        position: absolute;
        left: 16px;
        bottom: 0;
        width: 70px;
        height: 70px
    }

    .review__img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 50%
    }
}

@media screen and (max-width: 413px) {
    .container {
        padding-left: 15px;
        padding-right: 15px;
        width: 100%
    }

    .m-projects__item, .m-projects__item:first-child {
        height: 230px
    }

    .features__text {
        max-width: 242px
    }

    .form__col {
        width: 100%
    }

    .form__group {
        margin-bottom: 30px
    }

    .form__group input {
        font-size: 16px
    }

    .form__group--required::after {
        top: calc(50% - 5px);
        width: 10px;
        height: 10px
    }

    .form__group--text {
        margin-bottom: 0
    }

    .case-media__item, .case-media__item--video, .portfolio__item, .portfolio__item.lg, .portfolio__item:first-child {
        height: 230px
    }

    .case-media__item--auto {
        height: auto
    }

    .category__img {
        height: 230px;
        font-size: 22px
    }

    .awards .section:first-child {
        background-image: url(../img/award-sm-1.png)
    }

    .awards .section:nth-child(2) {
        background-image: url(../img/award-sm-2.png)
    }

    .awards .section:nth-child(3) {
        background-image: url(../img/award-sm-3.png)
    }

    .awards .section:nth-child(4) {
        background-image: url(../img/award-sm-4.png)
    }

    .awards .section:nth-child(5) {
        background-image: url(../img/award-sm-5.png)
    }

    .awards .section:nth-child(6) {
        background-image: url(../img/award-sm-6.png)
    }

    .awards .section:nth-child(7) {
        background-image: url(../img/award-sm-7.png)
    }

    .awards .section:nth-child(8) {
        background-image: url(../img/award-sm-8.png)
    }

    .modal__inner {
        top: 0;
        left: 0;
        width: 100%;
        min-height: 100vh;
        transform: none
    }

    .services-carousel .item img {
        max-width: 375px;
        height: 230px
    }

    .about-carousel .item img {
        height: 230px
    }
}

@media screen and (max-width: 374px) {
    .container {
        padding-left: 15px;
        padding-right: 15px;
        width: 100%
    }

    .services-carousel .item img {
        max-width: 360px;
        height: 220px
    }
}

@media screen and (max-width: 359px) {
    .container {
        padding-left: 15px;
        padding-right: 15px;
        width: 100%
    }

    .bottom {
        padding-right: 70px
    }

    .m-projects__item, .m-projects__item:first-child {
        height: 200px
    }

    .form__checkbox label {
        font-size: 12px
    }

    .portfolio__btn {
        padding: 0 20px;
        font-size: 15px
    }

    .category__img, .portfolio__item, .portfolio__item.lg, .portfolio__item:first-child, .projects__item {
        height: 200px
    }

    .services-carousel .item img {
        max-width: 320px;
        height: 200px
    }

    .member {
        width: 270px
    }
}