/* Large Devices, Wide Screens */
@media only screen and (max-width : 1440px) {
    .banner_advantages__item {
        padding: 30px 16px;
    }
    .banner_advantages_title {
        font-size: 19px;
    }
    .contact_block {
        max-width: 1000px;
    }
    .form_contacts {
        width: 68%;
    }
    .services_category_title {
        font-size: 24px;
    }
    .founders_item {
        padding: 40px;
    }
    .founder_advantage_description {
        margin-left: 0;
    }
    .our_team_item {
        width: 31%;
    }
    .main_swiper_block {
        margin: 0;
    }
}
    
@media only screen and (max-width : 1199px) {
    .contact_block {
        max-width: 95%;
    }
    .menu_group--footer {
        column-gap: 10px;
    }
    .services_category_2 .services_category_title, .services_category_3 .services_category_title {
        width: 100%;
    }
    .header__menu {
        max-width: 710px;
    }
    .header-contact__section svg {
        width: 20px;
        height: 20px;
    }
    .header-contact__inner {
        left: -7px;
        width: calc(100% + 16px);
    }
    .header-contact__content {
        padding: 10px 7px;
    }
    .our_work_img {
        min-height: 260px;
        max-height: 260px;
    }
    .our_work_img img {
        max-width: 260px;
        height: 260px;
    }
    .form_contacts {
        width: 70%;
        padding: 50px 170px 50px 70px;
    }
    .banner_advantages_grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .banner_advantages__item:nth-child(2) {
        border-right: none;
    }
        .banner_advantages__item {
        padding: 30px 55px;
    }
    .main_services_grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .services_category_2 {
        grid-column: 3 / 4;
    }
    .services_category_3 {
        grid-column: 1 / 2;
    }
    .process_content:not(.process_4 .process_content) {
        width: 100%;
    }
    .founder_advantages_block {
        flex-direction: column;
        gap: 16px;
    }
    .founder_advantage_item {
        width: 100%;
    }
    .founder_advantage_item picture {
        width: 60px;
        height: 60px;
    }
    .founders_item_description blockquote {
        max-width: 100%;
    }
    .founder_advantage_content {
        align-items: center;
    }
    .contacts_grid {
        width: 40%;
        right: 30px;
    }
    .subcategories_grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .category_grid_item {
        max-height: 350px;
    }
    .sidebar--blog {
        width: 330px;
    }
    .about_page_image {
        width: 40%;
    }
    .page_about_img {
        max-height: 570px;
    }
    .block__abouts_us {
        width: 58%;
    }
    .our_work_grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
    }
    .our_team_img:not(.team_page_banner .our_team_img) {
        min-height: unset;
        max-height: unset;
        aspect-ratio: 1 / 1;
        height: auto;
        flex-grow: 0;
    }
    .our_team_img_bg {
        height: auto;
    }
    .our_team_title {
        font-size: 22px;
    }
    .our_team_annotation {
        font-size: 18px;
    }
    .team_wrapper {
        row-gap: 20px;
        column-gap: 16px;
    }
    .our_team_item {
        width: 32%;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
       
}

/* Medium Devices, Desktops */
@media only screen and (min-width : 992px) {
    .header-contact:hover .header-contact__inner {
        opacity: 1;
        visibility: visible;
    }
    .article_item:hover .services_preview {
        transform: translateY(-8px);
        background: rgba(255,255,255,.06);
        border-color: rgba(82,255,168,.35);
    }
    .services_item:hover .services_preview, .our_team_item_content:not(.team_page_banner .our_team_item_content):hover {
        box-shadow: 0px 4px 15px 4px #2f5d3a17;
    }
    .underline_btn:hover {
        border-bottom: 1px solid transparent;
    }
    .services_category_link:hover + .services_category_img,
    .category_grid_link:hover .services_category_img{
        transform: scale(1.04);
    }
    .main_btn:hover {
        background: transparent;
        color: var(--button-color);
    }
    .contour_btn:hover {
        background: var(--button-color);
        color: #fff;
    }
    .contour_btn.banner_main_link:hover {
        border: 2px solid var(--button-color);
    }
    .main_btn.banner_main_link:hover {
        color: #fff;
    }
    .posts_preview:hover {
        box-shadow: 0px 4px 20px 6px #2f5d3a17;
    }
    .contacts_content a:hover {
        color:var(--button-color)
    }
    .menu_group__link:hover, .footer__contact_item a:hover, .header-contact__section:hover {
       opacity: .4;
    }
    a.blog_catalog__link:hover {
        opacity: .6;
    }
    .menu_group--header .menu_eventer:hover .menu_group__list--2 {
        opacity: 1;
        visibility: visible;
        z-index: 1;
    }
    .menu_group__item:hover .arrow_menu, .switcher__item:hover .arrow_menu {
        transform: rotate(180deg);
        top: 2px;
    }
    .contacts_label::before, .contacts_label::after {
        content: '';
        position: absolute;
        left: -20px;
        opacity: 0;
        right: -20px;
        top: -20px;
        bottom: -20px;
        border-radius: 50%;
        box-shadow: inset 0px 0px 20px #366c30ab;
        animation: 2s ease-in-out 1s normal none infinite running pulse-btn-out;
    }
    .contacts_label::after {
        animation: 2s ease-in-out 0s normal none infinite running pulse-btn-in;
    }
    @keyframes pulse-btn-out {
        0% {
            transform: scale(0.5);
            opacity: 0;
        }
        50% {
            opacity: 1;
        }
        100% {
            transform: scale(0.8);
            opacity: 0;
        }
    }
    @keyframes pulse-btn-in {
        0% {
            transform: scale(0.8);
            opacity: 0;
        }
        50% {
            opacity: 1;
        }
        100% {
            transform: scale(0.5);
            opacity: 0;
        }
    }
    .team_write:hover {
        opacity: .5;
    }
}

@media only screen and (max-width : 991px) {
    .main_banner {
        height: 80vh;
    }
    .margin-block {
        margin: 90px 0;
    }
    .bg-block-img, .bg-block {
        padding: 80px 0;
        margin: 90px 0;
    }
    .services-block {
        margin-top: -90px;
    }
    .block_about_flex {
        flex-direction: column;
        gap: 24px;
    }
    .block__abouts_us {
        width: 100%;
    }
    .services_link {
        padding: 24px 14px;
    }
    .our_team_img_bg:not(.team_page_banner .our_team_img_bg) {
        max-width: 100%;
    }
    .our_team_item {
        width: 48%;
    }
    .about_page_image {
        width: 80%;
        margin: 0 auto;
    }
    .contact_block {
        max-width: 98%;
    }
    .form_contacts {
        width: 78%;
        padding: 50px 158px 50px 50px;
    }
    .contact_bl_item {
        padding: 30px 16px;
    }
    .contacts_grid {
        right: 0;
    }
    .requests_item {
        padding: 16px;
    }
    .requests_img {
        width: 55px;
    }
    .requests_title {
        font-size: 20px;
    }
    .requests_description {
        font-size: 18px;
    }
    .main_services_grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .services_category_item {
        grid-column: unset;
        grid-row: unset;
        max-height: 300px;
    }
    .process_grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .menu_group--footer .menu_group__link, .footer__contact_item a {
        font-size: 16px;
    }
    .footer_slogan {
        max-width: 270px;
    }
    .menu_group--footer {
        column-gap: 24px;
        grid-template-columns: repeat(2, auto);
    }
    .process_4 {
        grid-column: 2 / 3;
        flex-direction: column;
        padding: 50px 24px 24px;
        gap: 0;
        margin-top: 30px;
    }
    .process_4 .process_num {
        display: flex;
    }
    .process_title {
        font-size: 20px;
    }
    .process_btn {
        grid-column: 1/3;
        max-width: 320px;
    }
    .requests-block {
        margin-top: -90px;
    }
    .founders_item_img {
        width: 65%;
        position: relative;
        top: 0;
        margin: 0 auto;
    }
    .process_4 .process_title {
        text-align: center;
    }
    .banner_advantages__item {
        padding: 30px 16px;
    }
    h1, .h1 {
        font-size: 40px;
    }
    h2, .h2 {
        font-size: 36px;
    }
    .banner_main__title {
        font-size: 48px;
    }
    .banner_main__description {
        font-size: 22px;
    }
    .our_work_title {
        font-size: 18px;
        margin-bottom: 12px;
        min-height: 48px;
    }
    .our_work_description p {
        line-height: 1.3;
    }
    .founders_item {
        flex-direction: column-reverse;
        gap: 30px;
    }
    .founders_item_content {
        width: 100%;
    }
    .founder_advantages_block {
        flex-direction: row;
    }
    .process_4 .process_description {
        text-align: center;
    }
    .services_container {
        flex-direction: column-reverse;
        gap: 24px;
    }
    .blog_container, .sidebar--blog {
        width: 100%;
    }
    .breadcrumb_post_name {
        font-size: 48px;
    }

    .breadcrumb_post_annotation {
        font-size: 20px;
    }
    .sidebar--post {
        width: 420px;
    }
    .logo__link {
        max-height: 62px;
    }
    .menu_switcher svg {
        color: #fff;
    }
    .container {
        padding: 0 15px;
    }
    .service_container {
        width: 100%;
    }
    .second-page {
        padding-top: 68px;
    }
    .posts_image img {
        max-height: 228px;
    }
    .posts_image {
        height: 260px;
    }
    .page_about_img {
        max-height: unset;
    }
    .team_page_banner .our_team_img {
        width: 45%;
    }
    .team_page_banner .our_team_content {
        width: 55%;
    }
    .block__description img {
        float: unset!important;
        width: 100%;
    }
}

/* Small Devices, Tablets */
@media only screen and (min-width : 768px) {
}

@media only screen and (max-width : 767px) {
    .about_page_image {
        width: 100%;
    }
    .banner_advantages__item {
        padding: 24px 12px;
        gap: 10px;
    }
    .banner_advantages_title {
        font-size: 18px;
    }
    .contact_block {
        max-width: 100%;
        flex-direction: column-reverse;
        gap: 30px;
    }
    .contacts_grid {
        position: relative;
        width: 100%;
        gap: 16px;
    }
    .form_contacts {
        width: 100%;
        padding: 36px 50px;
    }
    .title_center {
        margin: 0 auto 40px;
    }
    .banner_main__title {
        font-size: 40px;
    }
    .banner_main__description {
        font-size: 18px;
    }
    .banner_main_links {
        width: 100%;
    }
    h1, .h1 {
        font-size: 34px;
    }
    h2, .h2 {
        font-size: 30px;
    }
    .block__abouts_us h2 {
        font-size: 28px;
    }
    .requests_grid {
        grid-template-columns: repeat(1, 1fr);
        gap: 16px;
    }
    .description_ttl {
        font-size: 18px;
    }
    .banner_advantages_annotation {
        font-size: 16px;
    }
    .process_description {
        font-size: 16px;
    }
    .process_grid {
        gap: 16px;
    }
    .process_title {
        font-size: 18px;
    }
    .process_item,.process_4 {
        padding: 40px 16px 16px
    }
    .founders_item {
        padding: 0;
        box-shadow: none;
    }
    .founders_item_title {
        font-size: 26px;
    }
    .founder_advantages_block {
        flex-direction: column;
    }
    .founder_advantage_item {
        gap: 0;
    }
    .founder_advantage_description {
        margin-left: 76px;
    }
    .footer_content {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 24px 16px;
    }
    .menu_group--footer {
        row-gap: 12px;
    }
    .footer_column:first-child {
        grid-column: 1/2;
        grid-row: 1/3;
    }
    .footer_column:nth-child(2) {
        grid-column: 2/3;
        grid-row: 1/2;
    }
    .footer_column:last-child {
        grid-column: 2/3;
        grid-row: 2/3;
    }
    .video_block {
        height: 75vh;
    }
    .our_work_grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .our_team_title {
        font-size: 19px;
    }
    .our_team_annotation {
        font-size: 17px;
    }
    .our_team_description {
        font-size: 14px;
    }
    .our_team_item_content {
        padding: 16px;
    }
    .swiper_title {
        margin: 0 auto 20px;
    }
    .banner_review_content {
        padding: 16px;
    }
    .breadcrumb_post_name {
        font-size: 40px;
    }
    .post_container__body iframe {
        width: 100%;
    }
    .team_page_banner .our_team_item_content {
        gap: 16px;
    }
    .team_page_banner .our_team_img {
        aspect-ratio: 1/1;
        min-height: unset;
        max-height: unset;
        height: auto;
    }
}

/* Extra Small Devices, Phones */
@media (max-width : 576px) {
    .banner_main__title {
        font-size: 36px;
        text-align: center;
    }
    .banner_main__description {
        font-size: 18px;
        text-align: center;
    }
    .banner_main_links {
        gap: 10px;
    }

    .margin-block {
        margin: 60px 0;
    }
    .bg-block-img, .bg-block {
        padding: 50px 0;
        margin: 60px 0;
    }
    .description_ttl {
        font-size: 14px;
    }
    .our_work_img img {
        max-width: 220px;
        height: 220px;
    }
    .our_work_img {
        min-height: 220px;
        max-height: 220px;
    }
    .footer_content {
        grid-template-columns: repeat(1, 1fr);
    }
    .footer_column:first-child, .footer_column:nth-child(2), .footer_column:last-child {
        grid-column: unset;
        grid-row: unset;
    }
    .main_services_grid {
        grid-template-columns: repeat(1, 1fr);
        gap: 16px;
    }
    .services_category_item {
        max-height: 280px;
        width: 100%;
        aspect-ratio: 1 / 1;
    }
    .services_container {
        margin-top: 24px;
    }
    .subcategories_grid {
        grid-template-columns: repeat(1, 1fr);
    }
    .services_item {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
    .services_link {
        padding: 16px;
    }
    .services_title {
        font-size: 16px;
    }
    .sidebar--post {
        width: 100%;
    }
    .content_pop_up.fancybox-content {
        padding: 30px 24px;
    }
    .popup_title {
        font-size: 22px;
        margin-bottom: 18px;
        line-height: 1.2;
    }
    .services_icon {
        width: 48px;
        height: 48px;
    }
    .breadcrumb_post_name {
        font-size: 34px;
    }
    .posts_image {
        height: 230px;
    }
    .posts_image img{
        max-height: 198px;
    }
    .news_slider.fn_news_slide, .reviews_slider.fn_main_reviews {
        padding: 20px 5px 24px;
    }
    .main_swiper_block.main_swiper_reviews::before {
        left: -47px;
    }
    .main_swiper_block.main_swiper_reviews::after {
        right: -47px;
    }
    .post_container__footer {
        flex-direction: column;
        gap: 14px;
        align-items: flex-start;
    }
}

@media only screen and (max-width : 480px) {
    body {
        line-height: 1.4;
        font-size: 16px;
    }
    h1, .h1 {
        font-size: 28px;
        line-height: 1.1;
        margin-bottom: 20px;
    }
    h2, .h2 {
        font-size: 24px;
        margin-bottom: 20px;
    }
    .form--boxed{
        padding: 5px 0px;
        box-shadow: none;
    }
    .form--boxed.popup{
        padding: 10px;
    }
    .block__title {
        font-size: 20px;
        font-weight: 500;
        margin: 0 0 10px;
    }
    .details_boxed__select .select2-container {
        width: 100% !important;
    }
    .header_informers__item i {
        width: 24px;
        height: 24px;
    }
    .header_informers__item i::before {
        font-size: 24px;
        line-height: 1;
    }
    .header_informers__item.icon:before{
        font-size: 28px;
        line-height: 1;
    }
    .header_informers__item i.icon-balance-scale::before {
        font-size: 20px;
        line-height: 1;
    }
    .header_informers__item.icon::before {
        font-size: 26px;
        line-height: 1;
    }
    .header_informers__item {
        min-width: 50px;
        padding: 0 5px;
    }
    .header_informers__item.icon-search {
        min-width: 35px;
        height: 24px;
    }
    .product_preview__prices {
        margin-top: 10px;
    }
    .product-page__button {
        font-size: 12px;
    }
    .header_informers__item .compare_counter,
    .header_informers__item .wishlist_counter,
    .header_informers__item .cart_counter {
        right: 3px;
        top: -5px;
    }
    .scroll_products .scroll_products__item {
        width: 160px;
    }
    .product_preview {
        padding: 10px 10px 10px;
    }
    .product_preview__prices .price .currency {
        font-size: 10px;
        font-weight: 500;
    }
    .block_explanation__header {
        font-size: 18px;
        font-weight: 600;
        margin-bottom: 10px;
    }
    .product_preview__buttons .comparison_button,
    .product_preview__buttons .fast_order_button {
        margin-left: 3px;
    }
    .header_informers__link i.fa-balance-scale:before{
        font-size: 24px;
    }
    .banner_advantages_grid {
        grid-template-columns: repeat(1, 1fr);
    }
    .banner_advantages__item:not(:last-child)::after {
        height: 1px;
        width: 90%;
        top: auto;
        bottom: 0;
        right: 5%;
        left: 5%;
    }
    .process_grid {
        grid-template-columns: repeat(1, 1fr);
    }
    .process_btn, .process_4 {
        grid-column: unset;
    }
    .founder_advantage_description {
        margin-left: 0;
        margin-top: 10px;
    }
    .founders_item_img {
        width: 92%;
    }
    .form_contacts {
        padding: 24px 16px;
    }
    .our_team_item {
        width: 100%;
    }
    .news_slider.fn_news_slide, .reviews_slider.fn_main_reviews {
        padding: 18px 10px;
    }
    .main_swiper_block.main_swiper_reviews::after {
        right: -45px;
    }
    .main_swiper_block.main_swiper_reviews::before {
        left: -45px;
    }
    .title_center {
        margin: 0 auto 30px;
    }
    .posts_image {
        height: 200px;
    }
    .posts_image img{
        max-height: 168px;
    }
    .team_page_banner .our_team_item:first-child .our_team_item_content {
        padding: 16px;
    }
    .team_page_banner .our_team_item_content {
        flex-direction: column;
        box-shadow: 0px 4px 20px 6px #2f5d3a0f;
        border-bottom: none;
        gap: 0;
        border-radius: 5px;
    }
    .team_page_banner .our_team_item:nth-child(even) .our_team_item_content {
        flex-direction: column;
    }
    .team_page_banner .our_team_item {
        margin-bottom: 24px;
    }
    .team_page_banner .our_team_img, .team_page_banner .our_team_content {
        width: 100%;
    }
    .team_page_banner .our_team_content *,
    .team_page_banner .our_team_item:nth-child(even) .our_team_content * {
        text-align: center;
    }
    .team_page_banner .our_team_img_bg {
        max-width: 100%;
    }
    .swiper_title {
        margin: 0 auto 10px;
    }
    .swiper_title .h1 {
        margin-bottom: 10px;
    }
    .team_write {
        position: absolute;
        top: 0px;
        right: 12px;
    }
}

@media only screen and (max-width : 400px) { 
    .services_item {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
    .our_work_grid {
        grid-template-columns: repeat(1, 1fr);
    }
    .banner_review_title {
        font-size: 18px;
    }
    .banner_review_icon {
        width: 60px;
    }
    .banner_main__title {
        font-size: 30px;
        margin-bottom: 18px;
    }
    .banner_main__description {
        font-size: 16px;
    }
    .banner_main_links {
        margin-top: 18px;
    }
}

/* Custom, iPhone Retina */
@media only screen and (max-width : 360px) {
    .menu_switcher__heading {
        padding: 0px;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .product_preview__out_stock {
        white-space: normal;
        font-size: 11px;
        font-weight: 500;
        line-height: 1.1;
    }
    .menu_switcher__heading svg {
        height: 20px;
        width: 20px;
    }
}
