@media only screen and (min-width: 360px) {

}

@media only screen and (min-width: 470px) {
    .modal__header {
        padding-left: 25px;
        padding-right: 25px;
    }

    .modal__content {
        padding: 25px 25px 0 25px;
        margin-bottom: 25px;
    }

    .home-banner--button .btn {
        width: unset;
    }
}

@media only screen and (min-width: 540px) {

}

@media only screen and (min-width: 576px) {
    .modal__container_md {
        border-radius: 8px;
    }

    .footer-menu ul {
        flex-direction: row;
        align-items: center;
        gap: 30px;
    }

    .page-projects--portfolio .portfolio--item {
        margin-left: 16px;
        margin-right: 16px;
    }
    .services-portfolio--item a {
        display: block;
        padding-left: 10px;
        padding-right: 10px;
    }
    .page-service--portfolio .portfolio--item a {
        display: block;
        margin-left: 10px;
        margin-right: 10px;
    }
}

@media only screen and (min-width: 768px) {
    .modal {
        padding: 25px;
    }

    .modal__container {
        border-radius: 5px;
    }

    .input-wrap__group-3 > div {
        width: calc(33.333% - 7px);
    }

    .container {
        padding-left: 79px;
        padding-right: 79px;
    }

    .carousel-main--slide .container {
        height: 1024px;
        max-height: unset;
        min-height: 900px;
    }

    .header {
        padding: 40px 0;
    }

    .header-logo img {
        height: 50px;
    }

    .home-banner--button {
        margin-bottom: 0;
    }

    .home-banner--button .btn {
        width: unset;
    }

    .section_title {
        font-size: 40px;
        margin-bottom: 40px;
    }

    .section_sub_title {
        font-size: 16px;
        line-height: 30px;
    }

    .home-banner h1 {
        max-width: 610px;
        margin-bottom: 8px;
    }

    .home-banner h2 {
        margin-bottom: 24px;
    }

    .carousel-nav {
        top: 280px;
        left: unset;
        right: 79px;
        z-index: 2;
    }

    .carousel-nav--slides {
        width: 55px;
        display: block;
    }

    .carousel-nav--slide {
        position: relative;
        width: 55px;
        height: 55px;
        border-radius: 4px;
        overflow: hidden;
        box-shadow: 0 4px 14px rgba(8, 2, 1, 0.8);
        transition: box-shadow .3s;
        border: 1px solid transparent;
        background: transparent;
    }

    .carousel-nav--slide:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(8, 2, 1, 0.4);
    }

    .carousel-nav--slide:not(:last-child) {
        margin-bottom: 32px;
    }

    .carousel-nav--slide:hover {
        box-shadow: 0 4px 14px rgb(150 0 0 / 40%);
    }

    .carousel-nav--slide.is-nav-selected {
        border: 1px solid #fff;
        box-shadow: 0 4px 14px rgb(150 0 0 / 40%);
    }

    .carousel-nav--slide img {
        display: block;
        object-fit: cover;
        object-position: center;
        width: 100%;
        height: 100%;
    }

    .carousel-main .flickity-prev-next-button {
        display: none !important;
    }

    .home-banner .inner {
        padding: 105px 0;

    }

    .footer-form .section_sub_title {
        max-width: unset;
        margin-bottom: 42px;
    }

    .footer-form {
        padding: 90px 0 62px 0;
    }

    .footer-main {
        padding: 62px 0;
    }

    .footer-contact--value span:first-child {
        font-size: 20px;
        line-height: 25px;
    }

    .footer-contact--value span:last-child {
        font-size: 14px;
        line-height: 24px;
    }

    .footer-contacts {
        gap: 64px;
    }


    .footer-bottom--copy {
        font-size: 14px;
    }

    .footer-social.social ul {
        gap: 62px;
    }

    .to-top {
        width: 90px;
        height: 90px;
        right: 79px;
        bottom: 158px;
    }

    .home-about {
        padding: 90px 0;
    }

    .home-about--left {
        overflow: hidden;
        margin-left: -79px;
        margin-right: -79px;
        height: 460px;
    }

    .about--number h3 {
        font-size: 70px;
        line-height: 96px;
        margin-bottom: 8px;
    }

    .about--number p {
        font-size: 20px;
        line-height: 27px;
        font-weight: bold;
    }

    .about--number {
        align-items: flex-start;
        gap: 32px;
    }

    .about--number:before {
        margin-top: 15px;
    }

    .home-about--text {
        margin-top: 40px;

    }

    .mobile-menu__container {
        width: 500px;
        right: -500px;
    }

    .mobile-menu__top {
        padding: 26px 79px;
    }

    .mobile-menu__menu-link {
        padding: 0 79px;
    }

    .accordion__panel .mobile-menu__menu-link {
        padding-left: 99px;
    }

    .mobile-menu__bottom {
        margin: 20px 79px 0;
    }

    .home-philosophy {
        padding: 64px 0;
    }

    .home-philosophy--text {
        font-size: 40px;
        line-height: 70px;
    }

    .page-services {
        padding-bottom: 90px;
    }

    .services-list {
        margin-top: 40px;
        margin-left: -79px;
        margin-right: -79px;
    }

    .service-item--content {
        padding: 42px 79px;
    }

    .service-item--btn {
        top: 42px;
        right: 79px;
    }

    .services-btn-mobile {
        max-width: 400px;
        margin-top: 40px;
    }

    .portfolio {
        padding-top: 90px;
    }

    .portfolio-filters {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 40px;
    }

    .portfolio-list {
        margin: 0;
        gap: 32px;
    }

    .portfolio-list--left {
        flex-direction: row;
        gap: 32px;
    }

    .portfolio-list--left .portfolio--item {
        width: 100%;
    }

    .portfolio--item--bg {
        border-radius: 10px;
    }

    .portfolio--item--content {
        bottom: 40px;
        left: 32px;
        right: 32px;
        height: unset;
        width: unset;
        margin-right: 0;
    }
    .portfolio--item--tag{
        top: 32px;
        left: 32px;
    }
    .portfolio--item--btn {
        opacity: 0;
        visibility: hidden;
        transition: opacity .3s;
    }

    .portfolio-list--right .portfolio--item {
        width: 100%;
    }


    .portfolio--item--all {
        position: absolute;
        transform: translate(-50%, -50%);
        top: 50%;
        left: 50%;
        font-size: 40px;
    }

    .news {
        padding: 90px 0;
    }

    .news-filters {
        margin-bottom: 40px;
    }

    .projects-filters {
        margin-bottom: 40px;
    }


    .news-list {
        gap: 32px;
        margin: 0;
    }

    .news-item {
        margin-top: 0;
    }

    .news-item--content {
        margin: 20px 0;
    }

    .news-item--block {
        width: 58px;
        height: 14px;
    }

    .news-item--title {
        font-size: 20px;
        line-height: 27px;
    }

    .news-item--btn {
        right: 40px;
        bottom: 50px;
    }

    .portfolio--item--all-bg {
        border-radius: 10px;
    }

    .page_title {
        font-size: 70px;
        line-height: 90px;
        text-transform: uppercase;
        margin-bottom: 40px;
    }

    .page-contacts {
        padding-bottom: 90px;
    }

    .contacts-contact--value span:first-child {
        font-size: 20px;
        line-height: 25px;
    }

    .contacts-contact--value span:last-child {
        font-size: 14px;
        line-height: 24px;
    }

    .contacts-contacts {
        margin-bottom: 32px;
    }

    .contacts-map {
        margin-left: -79px;
        margin-right: -79px;
    }

    .service-banner--content {
        padding: 154px 0 90px;
    }

    .regular-text {
        font-size: 16px;
        line-height: 32px;
        margin-bottom: 30px;
    }

    .service-description--images {
        margin: 0;
        gap: 16px;
    }

    .service-description {
        padding: 40px 0 90px;
    }

    .service-points {
        padding-bottom: 90px;
    }

    .service-point {
        align-items: flex-start;
        gap: 32px;
        width: calc(50% - 16px);
    }

    .service-points--list {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 32px;
    }

    .service-points--title {
        font-size: 20px;
        line-height: 27px;
    }

    .request-consultation .inner {
        gap: 32px;
    }

    .request-consultation .section_title {
        font-size: 28px;
        line-height: 1.5;
    }

    .service-advantages {
        padding: 90px 0;
    }

    .advantage-item {
        flex-direction: row;
        align-items: center;
        gap: 32px;
    }

    .advantage-item--title {
        font-size: 20px;
        line-height: 27px;
        margin-bottom: 16px;
    }

    .advantage-item--number {
        font-size: 100px;
        line-height: 140px;
    }

    .service-advantages .section_title {
        margin-bottom: 40px;
    }

    .service-services--list {
        margin-top: 40px;
        margin-left: -79px;
        margin-right: -79px;
    }

    .service-services--item {
        margin-bottom: 24px;
    }

    .service-services--content {
        padding: 42px 79px;
    }

    .service-services--btn {
        top: 42px;
        right: 79px;
    }

    .service-services {
        padding: 45px 0;
    }

    .page-service--portfolio {
        padding-top: 45px;
        padding-bottom: 45px;
    }

    .about-main h1 {
        max-width: 610px;
    }

    .about-mission {
        padding: 60px 0;
    }

    .about-mission p {
        font-size: 40px;
        line-height: 70px;
    }

    .about-video {
        height: 600px;
    }

    .about-description {
        padding: 90px 0;
    }

    .page-news {
        padding-bottom: 90px;
    }

    .news-pagination {
        margin-top: 32px;
        padding-top: 40px;
    }

    .news-item--buttons {
        margin: 0;
    }

    .about-services {
        padding: 90px 0;
    }

    .article-top--content {
        height: auto;
        min-height: 500px;
        padding: 120px 0 90px 0;
    }

    .article-social {
        display: block;
        margin-top: 32px;
    }

    .article-main {
        padding-top: 40px;
    }

    .article-breadcrumbs {
        display: block;
    }

    .article-date {
        margin-bottom: 24px;
    }

    .article-tags {
        margin-bottom: 24px;
    }

    .article-news {
        padding: 90px 0;
    }

    .home-services {
        margin: 90px 0;
    }

    .page-projects {
        padding-bottom: 90px;
    }

    .portfolio-list {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }

    .projects-list {
        gap: 24px;
        margin: 0;
    }

    .project-top--content {
        height: auto;
        min-height: 500px;
        padding: 120px 0 90px 0;
    }

    .project-top--info {
        margin-top: 24px;
    }

    .project-top--content {
        padding-top: 180px;
    }

    .project-top--info ul {
        flex-direction: row;
        gap: 16px;
    }

    .project-top--info ul li {
        font-size: 20px;
        line-height: 29px;
    }

    .project-description {
        padding: 40px 0;
    }

    .page-projects--portfolio {
        padding: 90px 0;
    }
    .contacts-top{
        margin-bottom: 60px;
    }

    .news-item--description {
        font-size: 16px;
        line-height: 24px;
    }
}

@media only screen and (min-width: 1023px) {
    .home-banner .inner {
        padding: 130px 0;
    }
    .about-main--image:first-child {
        display: block;
    }
    .about-main--image:last-child {
        flex: 1;
        overflow: hidden;
        width: auto;
    }

    .mobile-menu__menu a:hover {
        color: #fff;
        opacity: 0.8;
    }

    .mobile-menu-button:hover {
        opacity: 0.8;
    }

    .footer-form--right {
        width: 600px;
    }

    .footer-top .inner {
        flex-direction: row;
        gap: 50px;
    }

    .body {
        padding-top: 70px;
    }

    .news-list {
        flex-direction: row;
        gap: 32px;
    }

    .news-item {
        width: calc(50% - 16px);
    }

    .projects-list {
        flex-direction: row;
    }

    .projects-list .portfolio--item {
        width: calc(50% - 12px);
    }

    .service-description .inner {
        display: flex;
    }

    .service-description--text {
        width: 50%;
    }

    .service-description--images {
        flex: 1;
        gap: 16px;
        margin-left: 30px;
    }

    .service-description--image {
        width: calc(50% - 8px);
    }

    .service-description--image:first-child {
        transform: translateY(30px);
    }

    .service-description--image:last-child {
        transform: translateY(-64px);
    }
}

@media only screen and (min-width: 1252px) {
    .container {
        max-width: 1252px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .header {
        padding: 24px 0;
    }

    .header-menu {
        display: block;
        margin-left: 100px;
    }

    .header-contact {
        display: block;
    }

    .header-phone {
        width: auto;
        margin-left: 40px;
    }

    .header-burger {
        display: none;
    }

    .carousel-main--slide .container {
        height: 826px;
        max-height: unset;
    }

    .carousel-nav {
        top: unset;
        left: unset;
        right: calc((100vw - 1252px) / 2);
        bottom: 135px;
    }

    .home-banner h1 {
        max-width: 768px;
    }

    .home-banner h2 {
        color: #fff;
    }

    .home-banner--button {
        margin-bottom: 0;
    }

    .footer-main, .footer-form {
        padding: 64px 0;
    }

    .footer-main {
        flex-direction: row;
    }

    .footer-logo {
        display: block;
        margin-bottom: 24px;
    }


    .footer-menu {
        display: block;
        margin-left: 40px;
    }

    .footer-contacts {
        flex-direction: row;
        margin-bottom: 45px;
    }

    .footer-contact--value span:first-child {
        font-size: 20px;
        line-height: 25px;
    }

    .footer-contact--value span:last-child {
        font-size: 14px;
        line-height: 24px;
    }

    .contacts-contact--value span:first-child {
        font-size: 20px;
        line-height: 25px;
    }

    .contacts-contact--value span:last-child {
        font-size: 14px;
        line-height: 24px;
    }

    .to-top {
        display: none;
    }

    .footer-form {
        display: flex;
    }

    .footer-main--left {
        width: 320px;
    }

    .footer-form--right {
        width: 400px;
    }

    .footer-form .section_title {
        margin-bottom: 32px;
    }

    .footer-social.social ul {
        flex-direction: row;
        gap: 32px;
    }

    .home-about {
        padding: 120px 0;
    }

    .home-about--cols {
        display: flex;
        flex-direction: row-reverse;
    }

    .home-about--left {
        border-radius: 8px;
        margin-left: 0;
        margin-right: 0;
        margin-top: -136px;
        width: 50%;
    }

    .home-about--right {
        margin-right: 30px;
    }

    .home-about--text {
        display: flex;
        justify-content: space-between;
        margin-top: 72px;
    }

    .home-about--text p:first-child {
        flex: 1;
        margin-right: 112px;
    }

    .home-about--text p:last-child {
        width: 50%;
    }

    .home-philosophy {
        padding: 90px 0;
    }

    .page-services {
        padding-bottom: 120px;
    }

    .services-bg {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: url(//priority-const.com/cdn/images/design/services-bg.png);
        background-size: 100% auto;
        background-position: center 0;
        z-index: -1;
    }

    .section_title {
        margin-bottom: 32px;
    }

    .home-services .section_title {
        max-width: 610px;
    }

    .home-services--text {
        display: flex;
        justify-content: space-between;
    }

    .home-services--text h3 {
        max-width: 610px;
    }

    .home-services--text .btn {
        display: flex;
    }

    .services-list {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        margin-left: 0;
        margin-right: 0;
        margin-top: 90px;
    }

    .service-item {
        width: 931px;
        margin-left: auto;
        height: unset;
        margin-bottom: 32px;
    }

    .service-item--content {
        padding: 40px 64px;
    }

    .service-item--btn {
        display: none;
    }

    .service-item--number {
        position: absolute;
        -webkit-text-stroke: 1px #000;
        left: -174px;
        z-index: -1;
        top: 0;
        font-size: 74px;
    }

    .service-item--title {
        font-size: 40px;
    }

    .service-item--bg {
        border-radius: 10px;
    }

    .service-item--bg:before {
        background: rgba(150, 0, 0, 0.8);
        transition: background-color .3s;
    }

    .service-item:hover .service-item--bg:before {
        background: rgba(8, 2, 1, 0.8);
    }

    .service-item:hover .service-item--content {
        padding-top: 170px;
    }

    .services-btn-mobile {
        display: none;
    }

    .news-btn-mobile {
        display: none;
    }

    .portfolio {
        padding-top: 120px;
    }

    .portfolio-list {
        flex-direction: row;
    }

    .portfolio-list--left {
        flex-direction: column;
    }

    .portfolio-list--left .portfolio--item {
        width: 100%;
    }

    .portfolio-list--left, .portfolio-list--right {
        width: calc(50% - 16px);
    }

    .portfolio-list--right {
        gap: 32px;
    }

    .portfolio-list--right .portfolio--item:first-child {
        flex: 1;
    }

    .portfolio-list--right .portfolio--item a {
        padding: 0;
        height: 100%;
    }

    .portfolio--item--title {
        font-size: 26px;
    }

    .portfolio--item--btn {
        right: 32px;
        top: 32px;
    }

    .portfolio--item:hover .portfolio--item--btn {
        opacity: 1;
        visibility: visible;
    }

    .portfolio-list--right .portfolio--item:last-child:hover .portfolio--item--all-bg {
        background: var(--color-main-accent);
    }

    .news-btn--desktop {
        display: block;
        position: absolute;
        right: 0;
        top: 7px;
    }

    .news {
        padding: 120px 0;
    }

    .first-section {
        margin-top: 188px;
    }

    .page-services .section_title {
        font-size: 70px;
        line-height: 90px;
    }

    .page-services--portfolio .section_title {
        margin-bottom: 64px;
    }

    .services-portfolio--all {
        display: block;
        position: absolute;
        right: 0;
        bottom: 0;
    }

    .page-contacts {
        padding-bottom: 120px;
    }

    .contacts-social ul {
        flex-direction: row;
    }

    .page_title {
        margin-bottom: 32px;
    }

    .page-contacts .page_title {
        margin-bottom: 64px;
    }

    .contacts-map {
        margin: 0;
    }

    .service-banner--content {
        padding: 164px 0 120px;
    }

    .service-description {
        padding: 90px 0 120px;
    }

    .service-description--text {
        width: 500px;
    }

    .service-description--images {
        flex: 1;
        margin-left: 140px;
        gap: 32px;
        margin-top: -144px;
        margin-right: 0;
    }

    .service-description--image {
        width: calc(50% - 16px);
    }

    .service-description--image:last-child {
        transform: translateY(-64px);
    }

    .service-points {
        padding-bottom: 120px;
    }

    .service-point {
        gap: 64px 32px;
        width: calc(33.333% - 22px);
    }

    .service-points--title {
        font-size: 20px;
        line-height: 27px;
    }

    .service-points .section_title {
        margin-bottom: 64px;
    }

    .request-consultation .inner {
        flex-direction: row;
        justify-content: space-between;
    }

    .request-consultation .btn {
        width: auto;
    }

    .request-consultation .section_title {
        font-size: 40px;
    }

    .service-advantages {
        padding: 120px 0;
        background: url(//priority-const.com/cdn/images/design/services-bg.png) no-repeat;
        background-size: auto 100%;
        background-position: top right;
    }

    .advantages-list {
        flex-direction: row;
        gap: 64px;
        max-width: 1038px;
        margin: auto;
        justify-content: space-between;
    }

    .advantage-item--number {
        font-size: 74px;
    }

    .service-services {
        padding: 120px 0;
    }

    .advantage-item {
        width: calc(50% - 60px)
    }

    .service-advantages .section_title {
        margin-bottom: 64px;
    }

    .service-services--list {
        display: flex;
        gap: 32px;
        margin: 0;
    }

    .service-services--item {
        width: calc(33.3333% - 22px);
        height: 520px;
    }

    .service-services--content {
        padding: 200px 40px 70px;
        justify-content: flex-start;
    }

    .service-services--btn {
        opacity: 0;
        transition: opacity .3s;
        right: 40px;
        top: 40px;
    }

    .service-services--title {
        font-size: 40px;
    }

    .service-services--bg {
        border-radius: 10px;
    }

    .service-services--bg:before {
        background: rgba(150, 0, 0, 0.8);
        transition: background-color .3s;
    }

    .service-services--item:hover .service-services--bg:before {
        background: rgba(8, 2, 1, 0.8);
    }

    .service-services--item:hover .service-services--btn {
        opacity: 1;
    }

    .page-service--portfolio {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .about-main h1 {
        max-width: unset;
    }

    .about-main h1 {
        max-width: 1024px;
    }

    .about-main .about-numbers {
        gap: 96px;
    }

    .about-main .about--number {
        width: calc(25% - 72px);
    }

    .about-mission {
        padding: 90px 0;
    }

    .about-description {
        padding: 120px 0;
    }

    .news-filters {
        margin-bottom: 64px;
    }

    .projects-filters {
        margin-bottom: 64px;
    }

    .page-news {
        padding-bottom: 120px;
    }

    .news-item--image {
        border-radius: 10px;
        overflow: hidden;
    }

    .news-pagination {
        padding-top: 64px;
    }

    .pagination ul {
        justify-content: center;
    }

    .pagination ul li:first-child {
        display: none;
    }

    .pagination ul li:last-child {
        display: none;
    }

    .pagination .btn {
        width: 50px;
        height: 50px;
    }

    .about-services {
        padding: 120px 0;
    }

    .article-top--content {
        padding: 164px 0 120px;
    }

    .article-top--content h1 {
    }

    .article-social {
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
    }

    .article-social ul {
        flex-direction: column;
    }

    .article-news {
        padding: 120px 0;
    }

    .home-services {
        margin: 120px 0;
    }

    .page-projects {
        padding-bottom: 120px;
    }

    .projects-list {
        display: flex;
        gap: 32px;
    }

    .projects-list .portfolio--item {
        width: calc(50% - 16px);
    }

    .project-top--content {
        padding: 164px 0 120px;
    }

    .project-description {
        padding: 90px 0;
    }

    .page-projects--portfolio {
        padding: 120px 0;
    }
    .contacts-top {
        margin-bottom: 90px;
    }
    .portfolio {
        padding-bottom: 120px;
    }
    .portfolio--item--bg img{
        transition: transform 1s ease-in-out;
    }
    .portfolio--item:hover .portfolio--item--bg img{
        transform: scale(1.2);
    }

}
