@media screen and (max-width: 1600px) {
    .catalog_content.small_view .catalog_product.small_view {
        width: calc(100% / 3 - 10px);
        max-width: calc(100% / 3 - 10px);
    }
}

@media screen and (max-width: 1280px) {
    header #header_main {
        width: 78%;
    }

    .catalog_content.small_view .catalog_product.small_view {
        width: calc(50% - 10px);
        max-width: calc(50% - 10px);
    }
}

@media screen and (max-width: 39.9375em) {
    header {
        height: 75px;
    }
    .header_top, #main_menu {
        display: none;
    }

    header #company_logo {
        min-width: 200px;
        width: auto;
    }

    header #company_logo img {
        max-height: 65px;
    }

    header .header_bottom {
        height: 100%;
    }

    #bottom_contacts {
        display: flex;
        align-items: center;
        justify-content: space-around;
        position: fixed;
        z-index: 50;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0,0,0,.9);
        height: 2.75rem;
        color: #fff;
        font-size: 24px;
    }

    #content > section {
        padding-left: .625rem;
        padding-right: .625rem;
    }

    #content > section.slider, #content > section#catalog, #content > section#about
    {
        padding-left: 0;
        padding-right: 0;
    }

    .services_content_item {
        width: 100%;
    }

    .contacts_item_map {
        width: 100%;
    }

    .contacts_content {
        flex-direction: column;
        flex-wrap: nowrap;
    }

    .contacts_item {
        width: 100%;
        height: auto;
        flex-direction: column;
        align-items: center;
        margin-bottom: 2rem;
    }
    .contacts_item.map_item {
        height: 300px;
    }

    .contacts_item > * {
        margin-bottom: 15px;
    }

    .contacts_item > *:last-child {
        margin-bottom: 0;
    }

    .contacts_item.address .contacts_label {
        width: 100%;
    }

    .contacts_label{
        margin-bottom: .9375rem;
        width: 100%;
        align-items: center;
        justify-content: center;
    }

    .section_block_content {
        flex-direction: column;
    }

    .section_block_content_item {
        width: 100%;
    }

    .services_content {
        flex-direction: column;
    }

    .services_item {
        width: 100%;
        margin-bottom: 1.25rem;
    }

    .services_item_image img {
        max-width: 100%;
    }

    .catalog_header {
        padding: 15px;
        font-size: 17px;
    }

    .catalog_header a {
        padding-left: 0;
        padding-right: 5px;
    }

    .catalog_page .catalog_content {
        padding: 20px;
    }

    .catalog_content .catalog_item {
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    .catalog_content .catalog_item > a {
        max-width: 100%;
    }

    .catalog_content .catalog_item a img {
        max-width: 100%;
        height: auto;
    }

    .catalog_content .catalog_product_content {
        flex-direction: column;
    }

    .catalog_content .catalog_product_photo {
        width: 100%;
        height: auto;
        padding-right: 0;
    }

    .catalog_content .catalog_product_photo img {
        width: 100%;
        height: auto;
    }

    .catalog_content .catalog_product_text {
        width: 100%;
        height: auto;
    }

    .catalog_content .catalog_content_view_switcher {
        /*display: none;*/
    }

    .catalog_content .catalog_product.small_view .catalog_product_photo {
        width: 100%;
    }

    .catalog_content .catalog_product.small_view .catalog_product_text {
        display: none;
    }

    .catalog_content.small_view .catalog_product.small_view .catalog_product_desc {
        display: none;
    }

    .about_header {
        padding: 15px;
        font-size: 17px;
    }

    .about_header a {
        padding-left: 0;
        padding-right: 5px;
    }

    .about_page .about_content {
        padding: 20px;
    }

    .about_content .about_item {
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    .about_content .about_item > a {
        max-width: 100%;
    }

    .about_content .about_item a img {
        max-width: 100%;
        height: auto;
    }

    .about_content .about_product_content {
        flex-direction: column;
    }

    .about_content .about_product_photo {
        width: 100%;
        height: auto;
        padding-right: 0;
    }

    .about_content .about_product_photo img {
        width: 100%;
        height: auto;
    }

    .about_content .about_product_text {
        width: 100%;
        height: auto;
    }

    .about_content .about_product_price {
        padding: 5px 0 10px;
    }

    .about_content .about_product:nth-child(even) .about_product_photo {
        order: 0;
    }

    .main_form [type=submit] {
        max-width: 95vw;
    }

    .section_header {
        padding-top: 0;
    }

    .services_item_title {
        padding: .9375rem;
        font-size: .875rem;
    }

    .section_block_content_item_image {
        margin-bottom: 1rem;
    }

    .section_block_header:after {
        width: 18rem;
        left: calc(50% - 9rem);
    }

    .section_block_button .button_secondary_dash {
        display: none;
    }

    .button_secondary {
        flex-direction: column;
    }

    .button_secondary span:first-child {
        padding-bottom: .5rem;
    }

    .comment_author {
        font-size: .75rem;
        padding-bottom: .5rem;
    }

    .comment_date {
        font-size: .75rem;
    }

    .contacts_value {
        align-items: center;
    }

    .footer_text_item {
        display: flex;
        justify-content: center;
    }

    .footer_text_item:last-child {
        display: none;
    }

    .services_page .section_header, .comments_page .section_header, .contacts_page .section_header {
        padding-top: 4.625rem;
    }

    .comments_page .comments_content {
        width: 100%;
    }

    .comments_content_button .button_secondary {
        width: auto;
    }

    .comments_item_header {
        flex-wrap: wrap;
    }

    .comments_item_icon {
        width: 1.5rem;
        height: 1.5rem;
        font-size: .75rem;
    }

    .comments_item_author {
        width: calc(100% - 50px);
        text-overflow: ellipsis;
        overflow: hidden;
        white-space: nowrap;
    }

    .comments_item_date {
        font-size: 10px;
        padding-left: 2.125rem;
    }

    .comments_item_text {
        padding-left: 10px;
    }

    .comments_item_footer {
        padding-left: 10px;
    }

    .service_header_button.order_form_button {
        display: none;
    }

    .header_bottom #lang_select_mobile {
        display: flex;
        flex-grow: 1;
        align-items: flex-end;
        padding-right: 16px;
    }

    #lang_select_mobile .lang_select_flag img {
        width: 1.5rem;
        height: 1.5rem;
    }

    .documents_list {
        justify-content: center;
    }

    .documents_item {
        width: 100%;
        justify-content: center;
        margin-bottom: 4rem;
    }

    .catalog_page #catalog {
        min-width: 100vw;
    }
}

@media screen and (max-height: 640px) {
    .main_banner_content_item.primary {
        font-size: 32px;
    }
}

@media screen and (min-width: 40em) {
    h3 {
        font-size: 1.5rem;
    }

    #header_contacts {
        background: -webkit-linear-gradient(left, hsla(0, 0%, 100%, .5) 35%, transparent 0) repeat-x bottom;
        background: linear-gradient(90deg, hsla(0, 0%, 100%, .5) 35%, transparent 0) repeat-x bottom;
        background-size: .3125rem .125rem;
    }

    .header_contacts_phones {
        width: 40%;
    }

    .header_contacts_forms {
        width: 60%;
    }

    .main_banner_content {
        padding: 5rem 0;
    }

    .main_banner_content_item {
        font-size: 1.125rem;
    }

    #about_company, #request_form, #comments {
        padding: 4.6875rem 0;
    }

    .section_header {
        padding: 0 3.75rem;
    }

    .services_item {
        margin: 0 .9375rem 1.875rem;
    }

    .services_item_title {
        font-size: 1.25rem;
        margin-bottom: .3125rem;
        padding: 1.875rem;
    }

    .services_content_button .button_primary {
        padding: 1.6875rem 1.25rem;
        font-size: .9375rem;
    }

    #about_company .section_block h3 {
        font-size: 1.75rem;
    }

    #request_form .section_header h3 {
        padding: 0 0 3.75rem;
    }

    .request_form_wrapper form {
        width: 66.66667%;
        padding-left: .9375rem;
        padding-right: .9375rem;
        margin-left: auto;
        margin-right: auto;
    }

    .main_form [type=text] {
        margin-bottom: 1.6875rem;
    }

    .main_form [type=submit] {
        margin-top: 1.875rem;
        min-width: 0;
        padding: 1.6875rem 1.25rem;
        font-size: .9375rem;
    }

    .comments_content article {
        width: 83.33333%;
    }

    .comment_text {
        font-size: 1.125rem;
        line-height: 1.66;
    }

    .comment_author {
        padding: 0 0 .875rem;
        font-size: 1rem;
    }

    .comment_date {
        font-size: .875rem;
        text-transform: uppercase;

    }

    .contacts_icon {
        width: 1rem;
        height: 1.5rem;
    }

    .contacts_title {
        font-size: 1.125rem;
    }

    .contacts_value {
        width: 66.66667%;
    }

    .contacts_value_sub {
        font-size: 1.125rem;
    }

    .footer_text {
        padding: .3125rem 0 .625rem;
        font-size: 1.125rem;
        line-height: 1.5rem;
    }

    #bottom_contacts {
        display: none;
    }

    .header_menu_button {
        display: none;
    }
}

@media screen and (min-width: 64em) {
    .header_bottom {
        padding: .625rem 0;
    }

    .main_banner_content {
        padding: 7.5rem 0;
    }

    .main_banner_content_item {
        font-size: 1rem;
    }

    .main_banner_content_item.primary {
        line-height: 1.1;
    }

    #about_company, #request_form, #comments {
        padding: 4.375rem 0;
    }

    .section_header {
        padding: 0 3.75rem;
    }

    .services_content_button .button_secondary {
        width: 25%;
    }

    #about_company .section_block h3 {
        font-size: 1.75rem;
    }

    #request_form .section_header h3 {
        padding: 0 0 3.75rem;
    }

    .request_form_wrapper form {
        width: 50%;
    }

    .main_form [type=text] {
        font-size: .9375rem;
    }

    .comments_content article {
        width: 66.66667%;
    }

    .comment_text {
        font-size: 1rem;
        line-height: 1.56;
        text-align: center;
    }

    .comment_author {
        padding: 0 0 .625rem;
        font-size: .75rem;
    }

    .comment_date {
        font-size: .75rem;
    }

    .contacts_title {
        font-size: .875rem;
    }

    .contacts_value {
        width: 50%;
    }

    .contacts_value_sub {
        font-size: .8125rem;
    }

    .footer_text {
        padding: 0;
        font-size: .8125rem;
        line-height: 1.125rem;
        font-weight: 500;
    }
}