@keyframes show {
    0% {
        transform: translateX(-100%)
    }

    100% {
        transform: translateX(0)
    }
}

@keyframes show2 {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}
#success.active {
    transition: 0.3s all ease;
    opacity: 1;
}

#success {
    text-align: center;
    margin-top: 45px;
    opacity: 0;
}

.fileinput .kv-file-content {
    display: none;
}
.fileinput input[type=file] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 100%;
    text-align: right;
    opacity: 0;
    background: none repeat scroll 0 0 transparent;
    cursor: inherit;
    display: block
}

.fileinput input[type=file]:hover {
    color: red
}


@media (min-width: 320px) {
.fileinput .btn-file {
    width: auto;
    justify-content: flex-start;
}
}
@media (min-width: 768px) {
.fileinput .btn-file {
    width: auto;
    justify-content: flex-start;
}
}
@media (min-width: 1024px) {
	.fileinput .btn-file {

    width: 255px;
    justify-content: flex-end;

}
}
@media (min-width: 1400px) {
	.fileinput .btn-file {

    width: 340px;
    justify-content: flex-end;

}
}
.fileinput .btn-file {
    position: relative;
    display: flex;
    cursor: pointer!important;
    background: none!important;
    border: none;
    margin: 0;
    padding: 0;
    right: 0;
    width: 363px;
    justify-content: flex-end;
}


.fileinput .btn-file:hover .hidden-xs {
    color: #36f5b3;
    border-color: #36f5b3
}

.fileinput .file-input {
    margin-top: 20px
}

.fileinput .fileinput-remove {
    display: none
}

.fileinput .kv-file-content {
    width: 47px;
    height: 37px;
    border-radius: 4px
}

.fileinput .kv-file-content img {
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: 100%;
    width: 100% !important;
    height: 100% !important
}

.fileinput .file-preview-frame {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center
}

.fileinput .file-preview-frame:not(:first-child) {
    margin-top: 7px
}

.fileinput .file-caption-info {
    font-size: 16px;
    font-weight: 400;
    color: #0e0c0a
}

.fileinput .file-thumbnail-footer {
    margin-left: 19px
}

.fileinput .hidden-xs {
    font-size: 16px;
    font-weight: 400;
    line-height: 16px;
    margin-bottom: 10px;
    border-bottom: 1px solid #6abb9f;
    color: #6abb9f;
    cursor: pointer;
    transition: .25s
}

.fileinput .file-size-info,
.fileinput .file-thumb-progress,
.fileinput .file-actions,
.fileinput .file-caption,
.fileinput .fileinput-cancel,
.fileinput .fileinput-upload,
.fileinput .file-drop-zone-title {
    display: none
}

.theme-black .file-caption-info {
    color: #fff
}

.contacts {
    padding: 68px 0 56px
}

@media (min-width: 1400px) {
    .contacts {
        padding: 106px 0
    }
}

.contacts__inner {
    display: block;
    width: 100%;
    padding: 0 15px;
    margin-left: auto;
    margin-right: auto
}

@media (min-width: 480px) {
    .contacts__inner {
        width: 100%
    }
}

@media (min-width: 768px) {
    .contacts__inner {
        width: 648px;
        padding: 0
    }
}

@media (min-width: 1024px) {
    .contacts__inner {
        width: 864px
    }
}

@media (min-width: 1280px) {
    .contacts__inner {
        width: 1080px;
        padding: 0
    }
}

@media (min-width: 1400px) {
    .contacts__inner {
        width: 1160px
    }
}

@media (min-width: 1570px) {
    .contacts__inner {
        width: 1250px
    }
}

.contacts__form {
    margin-top: 57px
}

@media (min-width: 1024px) {
    .contacts__form {
        position: relative
    }
}

@media (min-width: 1400px) {
    .contacts__form {
        margin-top: 86px
    }
}

@media (min-width: 1024px) {
    .contacts__list {
        display: grid;
        grid-gap: 20px;
        grid-template-columns: 1fr 1fr 1fr
    }
}

@media (min-width: 1400px) {
    .contacts__list {
        grid-gap: 58px;
        grid-row-gap: 47px
    }
}

.contacts__item:not(:first-child) {
    margin-top: 21px
}

@media (min-width: 1024px) {
    .contacts__item:not(:first-child) {
        margin-top: 0
    }
}

@media (min-width: 1024px) {
    .contacts__item:last-child {
        grid-column: 1 / 3
    }
}

.contacts__textarea {
    height: 268px;
    margin-top: 8px
}

@media (min-width: 1024px) {
    .contacts__textarea {
        margin-top: 0
    }
}

@media (min-width: 1400px) {
    .contacts__textarea {
        height: 150px
    }
}

.contacts__attached {
    margin-top: 46px
}

@media (min-width: 1024px) {
    .contacts__attached {
        position: absolute;
        right: 0;
        top: 70px;
        width: 255px;
        margin-top: 0
    }
}

@media (min-width: 1280px) {
    .contacts__attached {
        right: 66px
    }
}

@media (min-width: 1400px) {
    .contacts__attached {
        right: 87px;
        top: 92px
    }
}

@media (min-width: 1570px) {
    .contacts__attached {
        right: 107px
    }
}

.contacts__button {
    display: -ms-flexbox;
    display: flex;
    margin: 0 auto;
    margin-top: 20px;
    padding: 5.7px 30px
}

@media (min-width: 1400px) {
    .contacts__button {
        margin-top: 53px
    }
}

@media (min-width: 1024px) {
    .contacts .btn-file {

    }
}

@media (min-width: 1280px) {
    .contacts .btn-file {

    }
}

@media (min-width: 1400px) {
    .contacts .btn-file {

    }
}

@media (min-width: 1570px) {
    .contacts .btn-file {

    }
}

.header {
    padding: 20px 0 26px
}

@media (min-width: 1400px) {
    .header {
        padding: 27px 0 35px
    }
}

.header__inner {
    display: block;
    width: 100%;
    padding: 0 15px;
    margin-left: auto;
    margin-right: auto;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center
}

@media (min-width: 480px) {
    .header__inner {
        width: 100%
    }
}

@media (min-width: 768px) {
    .header__inner {
        width: 648px;
        padding: 0
    }
}

@media (min-width: 1024px) {
    .header__inner {
        width: 864px
    }
}

@media (min-width: 1280px) {
    .header__inner {
        width: 1080px;
        padding: 0
    }
}

@media (min-width: 1400px) {
    .header__inner {
        width: 1160px
    }
}

@media (min-width: 1570px) {
    .header__inner {
        width: 1250px
    }
}

.header__wrapper-logo {
    margin: 0
}

.header__logo-link {
    z-index: 7
}

.header__burger {
    margin-left: auto
}

@media (min-width: 1024px) {
    .header__burger {
        display: none
    }
}

.header__navigation-wrapper {
    background-color: #e2e7e7
}

@media (min-width: 1024px) {
    .header__navigation-wrapper {
        background-color: transparent
    }
}

@media (min-width: 1024px) {
    .header__navigation {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        margin-left: auto
    }
}

.header__button {
    display: none
}

@media (min-width: 1024px) {
    .header__button {
        display: -ms-inline-flexbox;
        display: inline-flex;
        margin-left: 30px
    }
}

@media (min-width: 1280px) {
    .header__button {
        display: -ms-inline-flexbox;
        display: inline-flex;
        margin-left: 60px
    }
}

@media (min-width: 1570px) {
    .header__button {
        margin-left: 155px
    }
}

.theme-black .header__navigation-wrapper {
    background-color: #000
}

.footer {
    padding-top: 61px;
    background-color: #e7e7f1;
    overflow: hidden
}

@media (min-width: 1024px) {
    .footer {
        position: relative
    }
}

@media (min-width: 1400px) {
    .footer {
        padding-top: 72px
    }
}

.footer:after,
.footer:before {
    content: "";
    position: absolute;
    display: block;
    z-index: 0;
    display: none;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    pointer-events: none
}

@media (min-width: 1024px) {

    .footer:after,
    .footer:before {
        display: block
    }
}

@media (min-width: 1400px) {

    .footer:after,
    .footer:before {
        background-size: contain
    }
}

.footer:after {
    left: 0;
    bottom: -2px;
    width: 218px;
    background-position: top right;
    background-image: url("../img/footer1.png")
}

@media (min-width: 1400px) {
    .footer:after {
        left: -141px;
        width: 435px
    }
}

@media (min-width: 1570px) {
    .footer:after {
        left: -76px
    }
}

@media (min-width: 1800px) {
    .footer:after {
        left: 0
    }
}

.footer:before {
    right: 0;
    bottom: -2px;
    width: 162px;
    background-position: top left;
    background-image: url("../img/footer2.png")
}

@media (min-width: 1400px) {
    .footer:before {
        width: 255px
    }
}

@media (min-width: 1570px) {
    .footer:before {
        width: 255px
    }
}

@media (min-width: 1800px) {
    .footer:before {
        width: 286px;
        right: -8px
    }
}

.footer__title {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    clip: rect(0 0 0 0);
    overflow: hidden
}

@media (min-width: 1024px) {
    .footer__top {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: center;
        justify-content: center
    }
}

.footer__bottom {
    display: block;
    width: 100%;
    padding: 0 15px;
    margin-left: auto;
    margin-right: auto;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center
}

@media (min-width: 480px) {
    .footer__bottom {
        width: 100%
    }
}

@media (min-width: 768px) {
    .footer__bottom {
        width: 648px;
        padding: 0
    }
}

@media (min-width: 1024px) {
    .footer__bottom {
        width: 864px
    }
}

@media (min-width: 1280px) {
    .footer__bottom {
        width: 1080px;
        padding: 0
    }
}

@media (min-width: 1400px) {
    .footer__bottom {
        width: 1160px
    }
}

@media (min-width: 1570px) {
    .footer__bottom {
        width: 1250px
    }
}

@media (min-width: 1024px) {
    .footer__bottom {
        position: relative;
        margin-top: 65px;
        padding-top: 57px
    }
}

.footer__bottom:after {
    content: "";
    position: absolute;
    display: block;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    display: none;
    width: 100%;
    height: 1px;
    background-color: #c9c8d3
}

@media (min-width: 1024px) {
    .footer__bottom:after {
        display: block
    }
}

.footer__contact {
    padding: 0 31px
}

@media (min-width: 768px) {
    .footer__contact {
        display: grid;
        grid-template-columns: auto auto auto;
        grid-gap: 15px;
        padding: 0
    }
}

@media (min-width: 1024px) {
    .footer__contact {
        max-width: 917px;
        margin: 0 auto
    }
}

@media (min-width: 768px) {
    .footer__contact-item {
        -ms-flex-pack: center;
        justify-content: center
    }
}

.footer__contact-item:first-child .contact__item-info {
    margin-left: 8px
}

@media (min-width: 768px) {
    .footer__contact-item:not(:first-child) {
        margin-top: 0
    }
}

.footer__copyright {
    margin-top: 46px
}

@media (min-width: 1024px) {
    .footer__copyright {
        margin-top: 60px
    }
}

@media (min-width: 1400px) {
    .footer__copyright {
        margin-top: 76px
    }
}

.footer__navigation {
    display: none
}

@media (min-width: 1024px) {
    .footer__navigation {
        display: block
    }
}

.theme-black .footer {
    background-color: #000
}

.theme-black .footer:before {
    background-image: url("../img/footer2-bl.png")
}

.theme-black .footer__copyright {
    border-top-color: #2d2d2d
}

@media (min-width: 1024px) {
    .theme-black .footer__bottom:after {
        background-color: #272727
    }
}

@media (min-width: 1400px) {
    .theme-black .footer .navigation__list {
        background-color: #000
    }
}

.page__main {
    border-top: 1px solid #d1d1d1
}

.page .contacts {
    padding-top: 0
}

.theme-black .page__main {
    border-top: 1px solid #2b2b2c
}