.gallery {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: -1.7rem 0 0 -1.7rem
}

.gallery > * {
    min-width: 0
}

.gallery__item {
    padding: 1.7rem 0 0 1.7rem
}

.gallery__image {
    background-color: #999;
    background-color: var(--color-fade);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    cursor: pointer;
    height: 31.3rem;
    position: relative;
    width: 100%;
    border-radius:16px;
}

.gallery__image:before {
    background-color: rgba(68, 68, 68, .7);
    content: "";
    display: block;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    -webkit-transition: opacity .25s ease;
    -o-transition: opacity .25s ease;
    transition: opacity .25s ease;
    width: 100%;
    border-radius:16px;
}

.gallery__image:hover:before {
    opacity: 1
}

.tabs__title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.tabs__title > * {
    min-width: 0
}

.tabs__title .tabs__item {
    cursor: pointer
}

.tabs__content .tabs__item {
    display: none
}

.tabs__content .tabs__item.tabs__item_active {
    -webkit-animation: fadeIn 1s forwards;
    animation: fadeIn 1s forwards;
    display: block
}

.heading {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 4.8rem;
    position: relative;
    z-index: 1
}

.heading > * {
    min-width: 0
}

.heading__section {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
}

.heading__aside {
    margin-left: 2.4rem
}

.section_gallery {
    overflow: hidden
}

.tabs_menu .tabs__title {
    display: block;
    margin-left: -7.2rem;
    margin-left: calc(var(--container-content-gap) * -1);
    margin-right: -7.2rem;
    margin-right: calc(var(--container-content-gap) * -1);
    overflow: hidden;
    position: relative;
    z-index: 1
}

.tabs_menu .tabs__title > div {
    display: inline-block;
    font-size: 0;
    padding-left: 7.2rem;
    padding-left: var(--container-content-gap);
    padding-right: 7.2rem;
    padding-right: var(--container-content-gap);
    white-space: nowrap
}

.tabs_menu .tabs__title:after, .tabs_menu .tabs__title:before {
    border-bottom: .1rem solid #444;
    border-bottom: .1rem solid var(--color-dark-gray);
    bottom: -.1rem;
    content: "";
    display: block;
    position: absolute;
    width: 1000%
}

.tabs_menu .tabs__title:before {
    right: 100%
}

.tabs_menu .tabs__title:after {
    left: 100%
}

.tabs_menu .tabs__title .tabs__item {
    color: #363636;
    color: var(--color-dark-gray);
    display: inline-block;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.2;
    padding: 0 3rem 3rem 0;
    -webkit-transition: color .25s ease;
    -o-transition: color .25s ease;
    transition: color .25s ease
}

.tabs_menu .tabs__title .tabs__item:last-child {
    padding-right: 0
}

.tabs_menu .tabs__title .tabs__item.tabs__item_active, .tabs_menu .tabs__title .tabs__item:hover {
    color: #EC6555;
}

.modal.modal_gallery {
    overflow: hidden;
    padding: 0
}

.modal.modal_gallery:before {
    display: none
}

.modal.modal_gallery .modal__container {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    justify-content: center;
    max-height: 100%;
    max-width: 100%;
    padding: 9.7rem 6.5rem;
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: -webkit-transform .5s ease .2s;
    transition: -webkit-transform .5s ease .2s;
    -o-transition: transform .5s ease .2s;
    transition: transform .5s ease .2s;
    transition: transform .5s ease .2s, -webkit-transform .5s ease .2s;
    width: 100%
}

.modal.modal_gallery .modal__close {
    color: #999;
    color: var(--color-fade);
    font-size: 2rem;
    font-weight: 500;
    height: auto;
    line-height: 1.2;
    opacity: 1;
    right: 2.4rem;
    top: 2.4rem;
    -webkit-transition: color .25s ease;
    -o-transition: color .25s ease;
    transition: color .25s ease;
    width: auto;
    z-index: 2
}

.modal.modal_gallery .modal__close:hover {
    color: #ff4e00;
    color: var(--color-accent)
}

.modal.modal_gallery .modal__title {
    font-size: 2rem;
    font-weight: 500;
    left: 0;
    line-height: 1.2;
    position: absolute;
    right: 0;
    text-align: center;
    top: 2.4rem
}

.modal.modal_gallery .slider {
    height: 100%;
    width: 100%
}

.modal.modal_gallery .slider .slider__container, .modal.modal_gallery .slider .swiper-container, .modal.modal_gallery .slider .swiper-slide, .modal.modal_gallery .slider .swiper-wrapper {
    height: 100%
}

.modal.modal_gallery .slider .swiper-slide {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.modal.modal_gallery .slider__pagination {
    bottom: 2.4rem;
    font-size: 2rem;
    font-weight: 500;
    left: 0;
    line-height: 1.2;
    position: absolute;
    right: 0
}

.modal.modal_gallery .slider .slider__image {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    height: 100%;
    width: 100%
}

.modal.modal_gallery .slider .swiper-button-next, .modal.modal_gallery .slider .swiper-button-prev {
    bottom: 9.7rem;
    color: #000;
    color: var(--color-black);
    font-size: 2rem;
    height: auto;
    margin: 0;
    top: 9.7rem;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    -webkit-transition: .25s ease;
    -o-transition: .25s ease;
    transition: .25s ease;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 6.5rem;
    z-index: 2
}

.modal.modal_gallery .slider .swiper-button-next:after, .modal.modal_gallery .slider .swiper-button-prev:after {
    display: none
}

.modal.modal_gallery .slider .swiper-button-next:hover, .modal.modal_gallery .slider .swiper-button-prev:hover {
    color: #ff4e00;
    color: var(--color-accent)
}

.modal.modal_gallery .slider .swiper-button-prev {
    left: 0
}

.modal.modal_gallery .slider .swiper-button-next {
    right: 0
}

.modal.modal_gallery .slider .swiper-pagination {
    position: static
}

@media (min-width: 801px) {
    .gallery__item {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%
    }

    .gallery__item:nth-child(8n+1), .gallery__item:nth-child(8n+4) {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 60%;
        flex: 0 0 60%;
        max-width: 60%
    }

    .gallery__item:nth-child(8n+2), .gallery__item:nth-child(8n+3) {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 40%;
        flex: 0 0 40%;
        max-width: 40%
    }
}

@media (max-width: 1100px) {
    .heading {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end
    }

    .modal.modal_gallery .modal__close {
        font-size: 1.6rem;
        right: 1.8rem;
        top: 1.8rem
    }

    .modal.modal_gallery .modal__title {
        font-size: 1.6rem;
        top: 1.8rem
    }

    .modal.modal_gallery .slider__pagination {
        bottom: 1.8rem;
        font-size: 1.6rem
    }
}

@media (max-width: 800px) {
    .gallery {
        margin: -1rem 0 0 -1rem
    }

    .gallery__item {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
        padding: 1rem 0 0 1rem
    }

    .gallery__item:nth-child(8n+1), .gallery__item:nth-child(8n+2), .gallery__item:nth-child(8n+3), .gallery__item:nth-child(8n+4) {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%
    }

    .tabs_menu .tabs__content {
        margin-top: 3rem
    }
}

@media (max-width: 600px) {
    .modal.modal_gallery .modal__container {
        padding: 5.4rem 1.8rem
    }

    .modal.modal_gallery .slider .swiper-button-next, .modal.modal_gallery .slider .swiper-button-prev {
        bottom: 0;
        height: 5.4rem;
        top: auto;
        width: 50%
    }

    .modal.modal_gallery .slider .swiper-button-prev {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        padding-left: 1.8rem
    }

    .modal.modal_gallery .slider .swiper-button-next {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        padding-right: 1.8rem
    }
}

@media (max-width: 550px) {
    .gallery__image {
        height: 16rem
    }
}
