@charset "UTF-8";

:root {
    --clr-orange: #F99525;
/*     --clr-green: #0A683E; */
	--clr-green: rgb(228, 34, 42);
    --clr-white: #FFFFFF;
    --clr-gray-light: #EEEEEE;
    --clr-gray: #808080;
    --clr-gray-dark: #524D43;
    --clr-gray-line: #CCCCCC;
    --clr-black: #101011;
    --font-10: 0.625rem;
    --font-12: 0.75rem;
    --font-14: 0.875rem;
    --font-16: 1rem;
    --font-18: 1.125rem;
    --font-20: 1.25rem;
    --font-22: 1.375rem;
    --font-24: 1.5rem;
    --font-26: 1.625rem;
    --font-28: 1.75rem;
    --font-32: 2rem;
    --font-48: 3rem;
    --font-54: 3.375rem;
    --font-64: 4rem;
    --line-10: 0.625rem;
    --line-12: 0.75rem;
    --line-14: 0.875rem;
    --line-16: 1rem;
    --line-18: 1.125rem;
    --line-20: 1.125rem;
    --line-22: 1.375rem;
    --line-24: 1.5rem;
    --line-26: 1.625rem;
    --line-28: 1.75rem;
    --line-32: 2rem;
    --line-34: 2.125rem;
    --line-48: 3rem;
    --line-60: 3.75rem;
    --line-64: 4rem;
    --weight-400: 400;
    --weight-500: 500;
    --weight-600: 600;
    --weight-700: 700;
    --weight-800: 800;
    --weight-900: 900
}

@font-face {
    font-family: HelveticaNeue-CondensedBold-05;
    src: url(../fonts/HelveticaNeue-CondensedBold-05.ttf);
    font-style: normal
}

@font-face {
    font-family: HelveticaNeue-01;
    src: url(../fonts/HelveticaNeue-01.ttf)
}

@font-face {
    font-family: HelveticaNeue-Bold-02;
    src: url(../fonts/HelveticaNeue-Bold-02.ttf)
}

html{
	scroll-behavior: smooth;
}
body{
	 -webkit-font-smoothing: antialiased; /* Для macOS и Safari */
    -moz-osx-font-smoothing: grayscale;
}

*,
::after,
::before {
    box-sizing: border-box
}

* {
    padding: 0;
    margin: 0;
    font-family: HelveticaNeue-01, sans-serif
}

.span-green,
h4,
strong {
    font-family: HelveticaNeue-Bold-02, sans-serif
}

h1,
h1 .span-green,
h2,
h2 .span-green,
h3 {
    font-family: HelveticaNeue-CondensedBold-05, sans-serif
}

a {
    font-family: HelveticaNeue-Bold-02, sans-serif;
    text-decoration: none;
    color: var(--clr-black)
}

.section {
    max-width: 1200px;
    padding: 0 .9375rem;
    margin: 0 auto
}

.section-reverse {
    direction: rtl
}

.section-reverse h2 {
    direction: ltr
}

.section-title {
    display: flex;
    justify-content: space-between
}

.span-green {
    color: var(--clr-green)
}

.margin-30 {
    margin-top: 1.875rem
}

.margin-40 {
    margin-top: 2.5rem
}

.margin-60 {
    margin-top: 3.75rem
}

.margin-100 {
    margin-top: 6.25rem
}

.main-subtitle {
    font-size: var(--font-48);
    line-height: var(--line-48);
    font-weight: var(--weight-700);
    text-transform: uppercase
}

.main-service-type {
    padding: .75rem 2rem;
	display: none;
	align-items: center;
	justify-content: center;
    border: 1px solid var(--clr-black);
    font-size: var(--font-16);
    line-height: var(--line-16);
	font-family: sans-serif;
    text-transform: uppercase;
    border-radius: 123px;
	width: -moz-fit-content;
    width: fit-content;
    height: -moz-fit-content;
    height: fit-content
/* 	max-width: 130px;
	width: 100%; */
/*      */
}

.container,
.container-title-not {
    position: relative
}

.container-title-not::before,
.container::before {
    content: "";
    height: 1px;
    width: 100%;
    background-color: var(--clr-gray-line);
    position: absolute;
    top: 3.625rem
}

.container-title .main-subtitle {
/*     max-width: 34.6875rem; */
    text-align: left
}

.container-title .container {
    position: relative
}

.container-title .container::before {
    top: auto;
    bottom: -.9375rem
}

.container-title-not::before {
    top: 0
}

.container-title-not {
    padding-top: 1.875rem
}

.breadcrumbs {
    display: flex;
    align-items: center;
    gap: .375rem
}
@media (max-width: 768px){
	.breadcrumbs{
		flex-wrap: wrap;
		row-gap: 15px;
	}
}
.breadcrumbs-current,
.breadcrumbs-prev {
    font-size: var(--font-16);
    line-height: var(--line-18)
}

.breadcrumbs-prev {
    color: var(--clr-black)
}

.breadcrumbs-current {
    color: var(--clr-gray)
}

.main-cardlink {
    display: block;
    color: var(--clr-black);
/*     height: 33.0625rem; */
	height: 100%;
    text-decoration: none;
    background-color: var(--clr-gray-light);
    padding: 1.875rem;
    width: 100%;
    transition: all ease-in-out .5s;
    max-width: 22.5rem;
    position: relative
}

.main-cardlink h3 {
    font-size: var(--font-20);
    line-height: var(--line-24);
    text-transform: uppercase;
    font-weight: var(--weight-700)
}

.main-cardlink p {
    font-size: var(--font-18);
    line-height: var(--line-22)
}

.main-cardlink:hover {
    background-color: var(--clr-white);
    box-shadow: 0 8px 32px 0 rgba(42, 45, 52, .3215686275)
}

.main-cardlink:hover .btn-count,
.main-cardlink:hover .main-keycard-arrow {
    background-color: var(--clr-gray-light)
}

.main-cardlink:hover .main-keycard-arrow img {
    rotate: 90deg
}

.main-keycard-top {
 
    width: 100%;
    height: 100%;
}

.main-keycard-top img {
    width: 100%;
    height: 100%;
	   max-height: 150px;
    -o-object-fit: cover;
    object-fit: cover
}

.main-keycard-middle h3 {
    margin-top: .625rem;
		display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
	height: 4.5rem;
}

.main-keycard-middle p {
    font-size: var(--font-18);
    line-height: var(--line-22);
    color: var(--clr-gray);
    margin-top: .625rem;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis
}

.main-keycard-bottom {
    display: flex;
    justify-content: space-between;
    align-items: end
}

.btn-count {
    background-color: var(--clr-white);
    border-radius: 123px;
    padding: .5rem 1.5rem;
    font-size: var(--font-18);
    line-height: var(--line-22);
    width: -moz-fit-content;
    width: fit-content;
    height: -moz-fit-content;
    height: fit-content;
    transition: all ease-in-out .5s;
    text-transform: uppercase;
	font-family: sans-serif;
}

.main-keycard-arrow {
    background-color: var(--clr-white);
    border-radius: 50%;
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    transition: all ease-in-out .5s;
	margin-left: auto;
}

.main-keycard-arrow img {
    transition: all ease-in-out .5s;
	max-width: 12px;
}

.main-about-info span,
.main-about-info strong {
    font-family: HelveticaNeue-Bold-02
}

.main-btn
{
    display: flex;
    gap: .625rem;
    font-family: HelveticaNeue-Bold-02;
    padding: 1.5rem 2rem;
    font-size: var(--font-18);
    line-height: var(--line-18);
    width: 12.3125rem;
    color: var(--clr-black);
    text-decoration: none;
    transition: all ease-in-out .5s;
    background: url(../img/svg/arrow.svg) center right 1.5625rem no-repeat;
    background-color: var(--clr-gray-light)
}
.feed-btn,
.contacts-info .feed-btn{
	 display: flex;
    gap: .625rem;
    font-family: HelveticaNeue-Bold-02;
    padding: 1.5rem 2rem;
    font-size: var(--font-18);
    line-height: var(--line-18);
    width: 12.3125rem;
    color: var(--clr-black);
    text-decoration: none;
	 background-color: var(--clr-gray-light);
	width: fit-content;
}

.main-btn img {
    transition: all ease-in-out .5s
}

.main-btn img {
    width: 1rem;
    height: 1rem
}

.main-btn:hover {
    transition: all ease-in-out .5s;
    background: url(../img/svg/arrow-orange.svg) center right 1.5625rem no-repeat;
    background-color: var(--clr-green)
}

.main-btn:hover img {
    rotate: 90deg
}

.main-advantage {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .625rem
}

.main-advantage-card {
    padding: 1.875rem;
    border: 1px solid var(--clr-gray-light);
    transition: all ease-in-out .8s;
    cursor: default
}

.main-advantage-card:first-child {
    background: url(../img/svg/adv-icon1.svg) right 1.25rem bottom 1.25rem no-repeat
}

.main-advantage-card:nth-child(2) {
    background: url(../img/svg/adv-icon2.svg) right 1.25rem bottom 1.25rem no-repeat
}

.main-advantage-card:nth-child(3) {
    background: url(../img/svg/adv-icon3.svg) right 1.25rem bottom 1.25rem no-repeat
}

.main-advantage-card:nth-child(4) {
    background: url(../img/svg/adv-icon4.svg) right 1.25rem bottom 1.25rem no-repeat
}

.main-advantage-card:hover {
    transition: all ease-in-out .8s
}

.main-advantage-card:hover h4,
.main-advantage-card:hover p {
    transition: all ease-in-out .8s;
    color: var(--clr-white)
}
.main-advantage-card:hover{
    background-color: var(--clr-green) !important
}
/* .main-advantage-card:hover:first-child {
    background: url(../img/svg/advo-icon1.svg) right 1.25rem bottom 1.25rem no-repeat;
    background-color: var(--clr-green)
}

.main-advantage-card:hover:nth-child(2) {
    background: url(../img/svg/advo-icon2.svg) right 1.25rem bottom 1.25rem no-repeat;
    background-color: var(--clr-green)
}

.main-advantage-card:hover:nth-child(3) {
    background: url(../img/svg/advo-icon3.svg) right 1.25rem bottom 1.25rem no-repeat;
    background-color: var(--clr-green)
}

.main-advantage-card:hover:nth-child(4) {
    background: url(../img/svg/advo-icon4.svg) right 1.25rem bottom 1.25rem no-repeat;
    background-color: var(--clr-green)
} */

.main-advantage-card h4 {
    font-size: var(--font-24);
    line-height: var(--line-28);
    font-weight: var(--weight-700);
    transition: all ease-in-out .8s
}

.main-advantage-card p {
    font-size: var(--font-18);
    line-height: var(--line-22);
    margin-top: .625rem;
    transition: all ease-in-out .8s;
    color: var(--clr-gray)
}

.main-news {
    display: flex;
    gap: 1.875rem;
    flex-wrap: wrap;
    position: relative;
}

.main-news-card {
    display: block;
    max-width: 22.5rem;
    position: relative;
    position: relative
}

.main-news-card h3 {
    font-size: var(--font-20);
    line-height: var(--line-24);
    text-transform: uppercase;
    font-weight: var(--weight-700)
}

.main-news-card p {
    font-size: var(--font-18);
    line-height: var(--line-22)
}

.main-news-card::before {
    content: "";
    width: 4rem;
    height: 4rem;
    display: block;
    position: absolute;
    z-index: 2
}

.main-news-card::before {
    right: 0;
    top: 0;
    border-bottom: 4rem solid transparent;
    border-right: 4rem solid var(--clr-white)
}

@media (max-width:48rem) {
    .main-news-card::before {
        right: -1px;
        top: -1px
    }
}

.main-news-card::after {
    content: "";
    width: 4rem;
    height: 4rem;
    display: block;
    position: absolute;
    z-index: 2
}

.main-news-card::after {
    left: 0;
    bottom: 0;
    border-top: 4rem solid transparent;
    border-left: 4rem solid var(--clr-white)
}

@media (max-width:48rem) {
    .main-news-card::after {
        left: -1px;
        bottom: -1px
    }
}

.main-news-card-top {
    position: relative;
    max-height: 12.5rem
}

.main-news-card-top img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    max-height: 12.5rem
}

.main-news-card-top p {
    position: absolute;
    top: 1.875rem;
    left: 1.875rem;
    font-size: var(--font-14);
    line-height: var(--line-14);
    padding: .25rem .5rem;
    background-color: var(--clr-green);
    border-radius: 123px;
    color: var(--clr-white)
}

.main-news-card-middle {
    background-color: var(--clr-green);
    padding: 1.875rem
}

.main-news-card-middle h3,
.main-news-card-middle p {
    color: var(--clr-white);
	 display: -webkit-box;
	-webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis
}
.main-news-card-middle h3{
    -webkit-line-clamp: 3;
 	height: 4.5rem;
}
.main-news-card-middle p{
	-webkit-line-clamp: 4;
	height: 5.437rem;
	margin-top: .625rem;
}
.steps {
    display: flex;
    flex-wrap: wrap;
    gap: 1.875rem
}

.step {
    padding: 4rem 1.875rem;
    position: relative;
    height: 100%;
}

.step ul {
    margin-top: .625rem;
    padding-left: 1.25rem
}

.step li {
    font-size: var(--font-18);
    line-height: var(--line-22);
    color: var(--clr-white)
}

.step::before {
    content: "";
    display: block;
    position: absolute;
    bottom: .625rem;
    right: .625rem;
    font-size: 4rem;
    line-height: 4.75rem;
    color: var(--clr-white);
    font-weight: var(--weight-700);
    opacity: .2
}

.main-news-card:first-child .step::before {
    content: ".01"
}

.main-news-card:nth-child(2) .step::before {
    content: ".02"
}

.main-news-card:nth-child(3) .step::before {
    content: ".03"
}

.main-news-card:nth-child(4) .step::before {
    content: ".04"
}

.main-news-card:nth-child(5) .step::before {
    content: ".05"
}

.main-news-card:nth-child(6) .step::before {
    content: ".06"
}

.hr-container a,
.main-news-read {
    padding: 1rem 2rem;
    border: 3px solid var(--clr-white);
    font-size: var(--font-16);
    line-height: var(--line-16);
    font-weight: var(--weight-700);
    background-color: transparent;
    color: var(--clr-white);
    margin-left: auto;
    width: -moz-fit-content;
    width: fit-content
}

.main-input {
    position: relative
}

.main-input input {
    border: 1px solid var(--clr-gray);
    border-radius: .5rem;
    padding: 1rem 1.5rem;
    width: 100%
}

.main-input::before {
    content: "";
    background-color: var(--clr-gray);
    color: var(--clr-white);
    display: block;
    position: absolute;
    top: .625rem;
    left: 1.25rem;
    padding: .125rem .5rem;
    border-radius: 123px;
    z-index: 2;
    font-size: var(--font-12);
    line-height: var(--line-12);
	font-family: sans-serif;
}
.feedback .main-input::before {
    top: 1.125rem;
}
.wpcf7-form > p{
    grid-column: span 2;
}
.main-input:nth-child(2):before {
    content: "Ваше ФИО*"
}

.main-input:nth-child(3):before {
    content: "Ваш телефон*"
}

.main-input:nth-child(4):before {
    content: "Ваш email"
}

.main-input:nth-child(5):before {
    content: "Ваша организация"
}

.docs {
    margin-top: 10.3125rem
}

.docs-container {
    display: flex;
    gap: 1.875rem;
    flex-wrap: wrap;
  
}

.docs-item {
    display: block;
    max-width: 260px;
    max-height: 25rem;
    width: 100%
}

.docs-info h3 {
    margin-top: .625rem;
    font-size: var(--font-24);
    line-height: var(--line-26);
    font-weight: var(--weight-700);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis
}
.docs-img img{
    width: 100%;
    object-fit: cover;
}
.docs-info p {
    margin-top: .625rem;
    font-size: var(--font-18);
    line-height: var(--line-22);
    color: var(--clr-gray);
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis
}

.main-service {
/*     display: grid;
    grid-template-columns: .6fr .4fr; */
	display: flex;
    gap: 1.875rem
}

.main-service > div:first-child {
	flex: 1 1 58%;
}
.main-service > div:nth-child(2) {
	flex: 1 1 40%;
}
.main-service-img img{
    width: 100%;
    height: 100%;
	object-fit: cover;
}
.main-service p {
    font-size: var(--font-18);
    line-height: var(--line-22);
    color: var(--clr-gray)
}

.main-service strong {
    color: var(--clr-black)
}
.main-presentation{
	background-color: var(--clr-green);
	color: white;
	border: none;
}
.main-presentation:hover{
	background-color: #147248;
}
.main-presentation-container{
	display: flex;
	gap: 1rem;
}
.request {
    padding-top: 3.75rem;
    padding-bottom: 6.25rem;
    background: url(../img/other/man-form.png) no-repeat center
}

.request-form {
    max-width: 750px
}

.request-form textarea {
    grid-column: span 2;
    height: 94px;
    width: 100%;
    padding: 1.25rem;
}

.request-form input:not(.feedback-btn),
.request-form textarea {
    background-color: #FFFFFF4D
}

.feedback-info form,
.request-form form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.875rem 2.5rem
}

.pagination {
    display: flex;
    justify-content: center;
    gap: .625rem;
    margin: 0 auto
}

.pagination button,
.pagination a,
.pagination span {
    border: none;
    background-color: var(--clr-gray-light);
    font-size: var(--font-16);
    line-height: var(--line-16);
    color: var(--clr-gray-line);
    width: 3rem;
    height: 3rem;
    display: grid;
    place-items: center;
    position: relative
}

.pagination button::after,
.pagination button::before {
    content: "";
    width: .5rem;
    height: .5rem;
    display: block;
    position: absolute;
    z-index: 2
}

.pagination button::before {
    right: 0;
    top: 0;
    border-bottom: .5rem solid transparent;
    border-right: .5rem solid var(--clr-white)
}

.pagination button::after {
    left: 0;
    bottom: 0;
    border-top: .5rem solid transparent;
    border-left: .5rem solid var(--clr-white)
}

.pagination .page-picked {
    background-color: var(--clr-green)
}

.grid-two-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.875rem;
    margin-top: .625rem
}

.project-img.news-top-img p {
    top: 1.875rem;
    left: 1.875rem;
    right: auto;
    bottom: auto;
    width: -moz-fit-content;
    width: fit-content;
    padding: .25rem .5rem
}

.project-img.news-top-img img {
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover
}
.project-img > img{
	width: 100%;
	object-fit: cover;
	max-height: 25rem;
}
.flexible-img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.text-mid {
    display: flex;
    justify-content: center
}

.text-mid div {
    max-width: 46.875rem;
    width: 100%
}

.text-mid p {
    margin-top: .625rem
}

.text-mid .margin-30 {
    margin-top: 1.875rem
}

.text-mid .margin-60 {
    margin-top: 3.75rem
}

.grid-two-columns.margin-100 {
    margin-top: 6.25rem
}

.error>div {
    order: 2
}

.error>div:last-child {
    order: 1
}

.error-text h3 {
    font-size: var(--font-32);
    line-height: var(--line-32);
    font-family: HelveticaNeue-CondensedBold-05
}

.error-text h3 .span-green {
    font-family: HelveticaNeue-CondensedBold-05
}

.error-text {
    display: flex;
    flex-direction: column;
    justify-content: center
}

.error-text+div>img {
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.error-text p {
    margin-top: .625rem
}

.hidden {
    display: none !important
}

@media (max-width:48rem) {

    h1,
    h1.title {
        font-size: var(--font-32);
        line-height: var(--line-32)
    }

    .main-subtitle {
        font-size: var(--font-26);
        line-height: var(--line-26)
    }

    .container-title-not::before,
    .container::before {
        top: 2.0625rem
			content: none;
    }

    .docs {
        margin-top: 16.25rem
    }

    .docs-container {
        max-width: none;
        overflow: scroll;
        flex-wrap: nowrap
    }

    .request {
        background-size: cover
    }

    .request-form form {
        display: block
    }

    .request-form form * {
        margin-top: 1.25rem
    }

    .request-form form textarea {
        width: 100%
    }

    .grid-two-columns {
        grid-template-columns: 1fr
    }

    .main-input::before {
        top: .6875rem
    }

    .project-img.news-top-img img {
        height: 300px
    }
}

.header-container {
    box-shadow: 0 4px 16px 0 rgba(83, 104, 145, .1607843137);
    height: 5.625rem;
    overflow: hidden;
   
    display: flex;
    align-items: center
}

header {
    display: grid;
    grid-template-columns: 1fr 5.02fr 1.63fr 1.53fr;
    grid-template-rows: 1fr;
    gap: 0 30px;
    grid-auto-flow: row;
    grid-template-areas: ". . . .";
    padding: .9375rem
}
.header-logo {
    display: flex;
    align-items: center;
}
.header-logo img,
.footer-bottom-logo{
/* 	max-width: 117px;
	max-height: 70px; */
	width: 100%;
	height: 100%;
}
.footer-bottom-logo{
	max-width: 120px;
}
.header-logo a{
    display: block;
}

.nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* position: relative; */
}
.nav > div{
    width: 100%;
}
.nav-list{
    list-style-type: none;
    display: flex;
    justify-content: space-between;
    /* gap: 0.625rem; */
}
.nav a {
    font-size: var(--font-14);
    line-height: var(--line-14);
    font-weight: var(--weight-700);
    text-transform: uppercase;
    color: var(--clr-gray);
    text-decoration: none
}

 

.phone {
    display: flex;
    gap: .5rem;
    align-items: center
}

.phone-img {
    display: grid;
    place-items: center;
    background-color: var(--clr-green);
    border-radius: 50%;
    padding: 8px;
    height: 2rem
}

.phone-info a {
    font-weight: var(--weight-700);
    color: var(--clr-gray);
    font-size: var(--font-16);
    line-height: var(--line-16)
}

.phone-info p {
    margin-top: .5rem;
    font-size: var(--font-10);
    line-height: var(--line-10);
    color: var(--clr-gray)
}

.menu {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.menu label,
.menu-lang {
    font-size: var(--font-16);
    line-height: var(--line-16);
    color: var(--clr-gray);
    display: flex;
    align-items: center;
    gap: .5rem
}

#menu-up {
    display: none
}

.header-container {
    /* position: relative */
}

.header-top {
    position: absolute;
    top: -5.625rem;
    width: 100%;
    height: 5.625rem;
    background-color: var(--clr-black);
    transition: all ease-in-out .8s
}

header.section:has(#menu-up:checked)~.header-top {
    top: 0
}

.header-top {
    display: flex;
    align-items: center
}

.header-form {
    display: grid;
    grid-template-columns: 5fr 1fr 1fr;
    grid-template-rows: 1fr;
    gap: 0 0;
    grid-template-areas: ". . .";
    align-items: center;
    height: 100%
}

.header-form input {
    color: var(--clr-white);
    background-color: transparent;
    font-size: var(--font-20);
    line-height: var(--line-20);
    padding: .875rem 0;
    outline: 0;
    border: none
}

.header-form button {
    background-color: var(--clr-green);
    color: var(--clr-white);
    text-transform: uppercase;
    padding: 1rem 2rem;
    outline: 0;
    border: none;
    display: block;
    width: -moz-fit-content;
    width: fit-content
}

.header-form label {
    width: 100%;
    height: 2rem;
    display: grid;
    align-items: center;
    justify-content: center
}

#menu-mobile,
#uslugi {
    display: none
}

@media (min-width:48rem) {

    .header-mobile,
    .menu-mobile-btn,
    .mobile-menu {
        display: none
    }
    .nav-list{
        align-items: center;
    }
    .menu-item-has-children>a:first-child {
        height: 5.625rem;
        display: flex;
        align-items: center;
    }
    .nav a:first-child:hover ~ .sub-menu,
    .sub-menu:hover{
        display: block;
    }
   
    .sub-menu{
        position: absolute;
        display: none;
        top: 3.812rem;
        z-index: 3;
        background-color: var(--clr-white);
        box-shadow: 0px 8px 32px 0px #2A2D3452;
        border-radius: .5rem;
        list-style: none;
        max-width: 18.75rem;
    }  
    .sub-menu li {
        padding:  0.75rem 1.5rem;
    }
    .sub-menu li:hover{
        background-color: var(--clr-green);
        a {color: var(--clr-white);}
    }
    .docs-container{
        height: 25.625rem;
        overflow: hidden;
    }
}

@media (max-width:48rem) {
    .header-container {
        position: fixed;
        padding: 0 .9375rem;
        background-color: var(--clr-white);
        top: 0;
        left: 0;
        width: 100%;
        z-index: 3
    }

    header.section {
        display: none
    }

    .header-mobile {
        display: flex;
        width: 100%;
        justify-content: space-between;
        align-items: center
    }

    .header-mobile .menu-lang {
        margin-left: 5rem
    }
	
	.header-mobile-logo{
		max-width: 120px;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

    .menu-mobile-btn {
        display: flex;
        align-items: center;
        gap: .625rem;
        color: var(--clr-gray)
    }

    .nav {
        display: block
    }

    .nav-list {
        font-family: HelveticaNeue-Bold-02;
        font-size: var(--font-24);
        line-height: var(--font-24);
        text-transform: uppercase
    }

    .nav-list>div {
        display: none
    }

    #uslugi:checked~div {
        display: block
    }

    .nav-list a {
        font-family: HelveticaNeue-01;
        color: var(--clr-gray);
        font-size: var(--font-18);
        line-height: var(--line-18);
        font-weight: var(--weight-400);
        text-transform: none;
        margin-top: .9375rem;
        display: block
    }

    .nav>a,
    .nav>div {
        font-size: var(--font-24);
        line-height: var(--line-24);
        font-weight: var(--weight-700)
    }

    .nav>a {
        display: block;
        color: var(--clr-black)
    }

    body:has(#menu-mobile:checked) {
        overflow: hidden
    }

    .header-container:has(#menu-mobile:checked)+.mobile-menu {
        left: 0;
        transition: all ease-in-out 1s
    }

    .mobile-menu {
        display: none;
        position: fixed;
        top: 5.625rem;
        left: 100vw;
        z-index: 4;
        transition: all ease-in-out 1s;
        width: 100%;
        background-color: var(--clr-gray-light);
/*         height: calc(100vh - 5.625rem); */
		bottom: 0;
        padding: .9375rem;
        overflow-y: scroll;
    }

    .mobile-menu-item {
        display: flex;
        align-items: start;
        gap: .625rem
    }

    .mobile-menu-item:not(:first-child) {
        margin-top: 1.5625rem
    }

    .mobile-menu>form input {
        border: none;
        border-radius: 7.6875rem;
        padding: .75rem 3.375rem;
        width: 100%;
        background: url(../img/svg/lupe.svg) center left 1.5rem no-repeat;
        font-size: var(--font-16);
        line-height: var(--line-16);
        background-color: var(--clr-white)
    }

    .mobile-menu-info {
        border-top: 1px solid var(--clr-gray-light);
        padding-top: 1.5625rem
    }

    .mobile-menu-subtitle {
        font-size: var(--font-18);
        line-height: var(--line-18);
        font-weight: var(--weight-700)
    }

    .mobile-menu-text {
        font-size: var(--font-14);
        line-height: var(--font-14);
        color: var(--clr-gray);
        margin-top: .3125rem
    }
    .docs .reveal-btn{
        display: none;
    }
}

.title {
    font-size: var(--font-54);
    line-height: var(--line-60);
    font-weight: var(--weight-700);
    text-wrap: balance;
    text-align: center;
    text-transform: uppercase
}

.main-slide-container {
    position: absolute;
    z-index: 2;
    display: flex;
    align-items: end;
    top: 0;
    bottom: -1.4375rem;
    left: 50%;
    transform: translateX(-50%);
    width: 100%
}

.main-slide {
    padding: 1.875rem;
    bottom: 0;
    left: 0;
    color: var(--clr-white);
    max-width: 22.5rem;
    height: 19.375rem;
    background: linear-gradient(to top right, transparent 30%, #fff 30%) top left/50% 50% no-repeat, linear-gradient(to bottom left, transparent 30%, #fff 30%) bottom right/50% 50% no-repeat;
    background: url(../img/svg/bg-red.svg) center no-repeat;
    background-size: cover
}

.main-slide-subtitle {
    font-weight: var(--weight-700);
    text-transform: uppercase
}

.main-slide-text {
    font-weight: var(--weight-300);
    margin-top: .625rem
}

.main-cardlink-container {
    display: flex;
    gap: 1.875rem;
    flex-wrap: wrap
}

.main-about-top {
    display: flex;
    justify-content: space-between
}

.main-about-middle {
    margin-top: .625rem
}

.main-about-middle p {
    line-height: var(--line-60)
}

.main-about-bottom {
    margin-top: 3.75rem;
    display: grid;
    grid-template-columns: 1fr 1.4235fr;
    gap: 1.875rem
}

.main-about-bottom>div>img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.main-about-info {
    font-size: var(--font-20);
    line-height: var(--line-28)
}

.projects {
    display: flex;
    gap: 1.875rem;
    flex-wrap: wrap;
    position: relative;
}
#posts-container .project-card{
/* 	flex: 1 1 30%; */
}
.project-slider .splide__slide{
	display: flex;
	align-items: center;
	justify-content: center;
}
.project-slider .splide__slide img{
	object-fit: contain;
	width: 100%;
	height: 100%;
}
@media(max-width: 768px){
	.project-slider .splide__list{
		height: auto;
	}
}
.project-common-title{
	text-align: center;
}
.project-common-text{
	font-size: var(--font-18);
	line-height: var(--line-20);
}
.project-card {
    border: 1px solid var(--clr-gray-line);
    max-width: 360px;
    transition: all ease-in-out .5s;
    display: block;
	width: 100%;
}

.project-card:hover {
    box-shadow: 0 8px 32px 0 rgba(42, 45, 52, .3215686275)
}

.project-card-top {
    position: relative;
    height: 180px;
}
.project-card-top > img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.project-card-btns {
    display: flex;
    justify-content: space-between;
    align-items: end;
    position: absolute;
    bottom: .625rem;
    left: .625rem;
    right: .625rem
}

.project-card-middle {
    padding: 1.875rem
}

.project-card-middle h3 {
    font-size: var(--font-24);
    line-height: var(--line-28)
}

.project-card-middle>p {
    margin-top: .625rem
}

.project-card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: .625rem
}

.project-card-tags p {
    border: 1px solid var(--clr-gray);
    color: var(--clr-gray);
    font-size: var(--font-10);
    line-height: var(--line-10);
    padding: .5rem 1rem
}

.feedback {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 1.875rem
}

.feedback-img {
    background: url(../img/svg/bg-red.svg) center bottom no-repeat;
    display: flex;
    justify-content: center;
    align-items: end
}

.feedback-info {
    padding-bottom: 1.25rem
}

.feedback-info p {
    font-size: var(--font-18);
    line-height: var(--line-26)
}

.feedback-drag {
    grid-column: span 2;
    height: 120px
}

.feedback-btn {
    margin-top: .9375rem;
    padding: 1.875rem;
    background-color: var(--clr-green);
    color: var(--clr-white);
    outline: 0;
    border: none;
    max-width: 22.5rem;
    position: relative;
    height: -moz-fit-content;
    height: fit-content;
    padding: 1rem;
    grid-column: span 2;
    width: 100%;
    max-width: none;
    text-transform: uppercase;
    font-size: var(--font-16);
    line-height: var(--line-16);
    font-weight: var(--weight-700)
}

.feedback-btn h3 {
    font-size: var(--font-20);
    line-height: var(--line-24);
    text-transform: uppercase;
    font-weight: var(--weight-700)
}

.feedback-btn p {
    font-size: var(--font-18);
    line-height: var(--line-22)
}

.feedback-btn:before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 2rem;
    height: 2rem
}

.map {
    padding-top: 6.25rem;
    padding-bottom: 12.5rem;
    background-color: var(--clr-gray-light)
}

.map>.section {
    position: relative
}

.map-img {
    margin-top: 8.75rem;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.map-info {
    background: url(../img/svg/bg-green-small.svg) center bottom no-repeat;
    max-width: 29.25rem;
    height: 17.5rem;
    padding: 0 1.875rem 1.875rem 1.875rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: absolute;
    right: 0;
    bottom: -16.5rem
}

.map-info h3 {
    color: var(--clr-white);
    font-size: var(--font-20);
    line-height: var(--line-24);
    margin-top: .625rem
}

.map-info p {
    margin-top: .625rem;
    color: var(--clr-white);
    font-size: var(--font-14);
    line-height: var(--line-16);
    font-style: italic;
    text-align: end
}

.map-man {
    border: .25rem solid var(--clr-green);
    border-radius: 50%;
    overflow: hidden;
    width: 8rem;
    height: 8rem
}

.map-man img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.offer {
    display: flex;
    gap: 1.875rem;
    padding: 1.875rem;
    align-items: start;
    border: 1px solid var(--clr-gray-line)
}

.offer-info h3 {
    font-size: var(--font-24);
    line-height: var(--line-28);
    text-transform: uppercase;
    font-weight: var(--weight-700);
	height: 3.5rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2; /* Ограничение в 5 строк */
    overflow: hidden;

}

.offer-info a,
.offer-info p {
    font-size: var(--font-14);
    line-height: var(--line-20);
    color: var(--clr-gray);
	
}

.offer-info p {
    margin-top: .625rem;
	 display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3; /* Ограничение в 5 строк */
    overflow: hidden;
	height: 3.5rem;
}

.offer-info a {
    display: flex;
    gap: .625rem
}

.section-top-logo {
/*     display: grid; */
    align-items: end;
	display: none;
}

.section-top-logo p {
    font-size: var(--font-14);
    line-height: var(--line-14)
}

@media (min-width:48rem) {

    .splide__list,
    .splide__slide {
        height: 39.5rem
    }

    .main-slider,
    .splide__track {
        height: 41.5rem
    }
}

@media (max-width:48rem) {
    .main {
        padding-top: 5.625rem
    }

    .main-about-middle p,
    .main-about-middle span,
    .main-about-top p,
    .main-about-top span {
        font-family: HelveticaNeue-CondensedBold-05
    }

    .main-about-middle img {
        max-width: 12.875rem;
        vertical-align: middle
    }

    .main-about-bottom img {
        display: none
    }

    .feedback,
    .main-about-bottom {
        grid-template-columns: 1fr
    }

    .feedback .main-input::before {
        top: 1rem
    }

    .main-slider,
    .splide__slide {
        height: 22.8125rem
    }

    .main-slider .splide__slide>img {
        width: 100%;
        -o-object-fit: fill;
        object-fit: fill;
        height: 100%
    }

    .main-slide-container {
        top: .9375rem;
        bottom: auto
    }

    .main-cardlink-container {
        flex-wrap: nowrap;
        overflow-x: scroll;
        padding-top: 1.25rem;
        padding-bottom: 1.25rem
    }

    .main-about-middle img {
        width: 100%;
        -o-object-fit: cover;
        object-fit: cover
    }

    .main-cardlink {
        padding: .9375rem
    }

    .main-keycard, .docs-img {
        /* width: 15.625rem */
        width: 17.5rem;
    }

    .main-service-type {
        display: none
    }

    .main-service-img img {
        width: 100%;
        -o-object-fit: cover;
        object-fit: cover
    }

    .main-advantage {
        max-width: none;
        display: flex;
        overflow-x: scroll
    }

    .main-advantage-card {
        width: 18.75rem
    }

    .main-advantage-card h4 {
        width: 15rem
    }

    .feedback-info form {
        display: block
    }
	.feedback-info form p{
		margin-top: 1.5rem;
	}
    .feedback-info form .feedback-drag,
    .feedback-info form .main-input {
        margin-top: 1.25rem
    }

    .map-info {
        bottom: -22.5rem
    }

    .main-service {
        grid-template-columns: 1fr
    }

    .search-item{
        flex-wrap: wrap;
    }
}

.footer {
    padding-bottom: 2.5rem
}

.footer-info {
    display: grid;
    grid-template-columns: 1fr 2.09fr 1fr;
    grid-template-rows: 1fr;
    gap: 0 0;
    grid-auto-flow: row;
    grid-template-areas: ". . ."
}

.footer-info-1 p {
    font-size: var(--font-16);
    line-height: var(--line-22);
    color: var(--clr)
}
.footer-info-1 .nav-list{
    display: block;
    margin-top: 2rem;
}
.footer-info-1 a {
    font-size: var(--font-12);
    line-height: var(--line-12);
    color: var(--clr-green);
    font-weight: var(--weight-700);
    text-transform: uppercase
}

.footer-info-1 ul {
    list-style: none
}

.footer-info-1 li:not(:first-child) {
    margin-top: .9375rem
}

.footer-phone a[href^="tel:"] {
    font-size: var(--font-48);
    line-height: var(--line-48);
    font-weight: var(--weight-700);
    text-transform: uppercase;
    text-align: center
}

.footer-phone a[href^="mailto:"] {
    font-size: var(--font-28);
    line-height: var(--line-28);
    font-weight: var(--weight-500);
    color: var(--clr-green);
    text-align: center;
    margin-top: .625rem
}

.footer-phone a {
    display: block
}

.footer-socials p {
    font-size: var(--font-16);
    line-height: var(--line-22);
    text-align: center;
    color: var(--clr-gray)
}

.footer-socials div {
    margin-top: .3125rem;
    text-align: center
}

.footer-socials a {
    font-size: var(--font-24);
    line-height: var(--line-32);
    font-weight: var(--weight-500)
}

.footer-up {
    display: flex;
    align-items: center;
    justify-content: end;
    gap: .9375rem
}

.footer-up p {
    font-size: var(--font-18);
    line-height: var(--line-18);
    color: var(--clr-gray)
}

.footer-up button {
    border: 1px solid var(--clr-green);
    transform: rotate(-45deg);
}

.requisites {
    margin-top: 3.75rem
}

.requisites-title {
    font-size: var(--font-12);
    line-height: var(--line-16);
    font-weight: var(--weight-700);
    text-align: end
}

.requisites-info {
    margin-top: .3125rem;
    font-size: var(--font-12);
    line-height: var(--line-16);
    text-align: end;
    color: var(--clr-gray);
    text-wrap: balance
}

.footer-bottom {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
	gap: 1rem;
}

.footer-bottom>div {
    display: flex;
    align-items: center;
    gap: .625rem
}
.footer-bottom>div:first-child .footer-bottom-logo:nth-child(2){
	max-width: 90px;
	margin-top: -11px;
}
.footer-bottom>div:nth-child(2) {
/*     text-align: center */
}

.footer-bottom>div:nth-child(3) {
    justify-content: end
}

.footer-bottom p {
    font-size: var(--font-12);
    line-height: var(--line-16)
}

.footer .container {
    padding-top: 1.875rem
}

.footer .container::before {
    top: 0
}

@media (min-width:48rem) {
    .footer-up-mobile {
        display: none
    }
	.footer-bottom>div:nth-child(2) p {
	white-space: nowrap;
}
}

@media (max-width:48rem) {
    .footer-info {
        grid-template-columns: 1fr;
        grid-template-areas: "." "." "."
    }

    .footer-bottom {
        grid-template-columns: 1fr
    }

    .footer-phone a[href^="tel:"] {
        font-size: var(--font-32);
        line-height: var(--line-32)
    }

    .footer-phone a[href^="mailto:"] {
        font-size: var(--font-20);
        line-height: var(--line-24)
    }

    .footer-info-1 {
        display: none
    }

    .footer-bottom>div {
        margin-top: 1.875rem
    }

    .footer-bottom>div p {
        text-align: center
    }

    .footer-bottom>div>img+p {
        margin-top: .9375rem
    }

    .footer-bottom>div:not(:last-child) {
        text-align: center;
        display: block
    }

    .footer-up {
        display: none
    }

    .footer-bottom .footer-bottom-info {
        display: flex;
        justify-content: space-between !important
    }

    .footer-bottom .footer-bottom-info>p {
        order: 2;
        margin-right: 1.875rem
    }

    .footer-bottom .footer-bottom-info img {
        order: 1
    }

    .footer-bottom .footer-bottom-info div {
        order: 3
    }

    .footer-bottom-info>img {
        max-width: 6rem
    }

    .footer-up-mobile {
        display: flex;
        align-items: center;
        gap: .9375rem
    }

    .footer-up-mobile p {
        order: 1
    }

    .footer-up-mobile button {
        order: 2;
        border: 1px solid var(--clr-green);
        rotate: -45deg;
        width: 2rem;
        height: 2rem
    }

    .footer-up-mobile button img {
        width: .625rem;
        height: .625rem
    }
}

.filter {
    display: flex;
    gap: .625rem;
    flex-wrap: wrap;
    width: 100%
}

.filter-item {
    position: relative;
    max-width: 16.25rem;
    width: 100%
}

.filter-item input {
    display: none
}

.filter-container label,
.filter-field label {
    padding: .9375rem;
    color: var(--clr-gray);
    width: 100%;
    display: block;
    max-width: 16.25rem;
    cursor: pointer
}

.filter-field label {
    border: .0625rem solid var(--clr-gray);
    border-radius: .5rem
}

.filter-container label {
    transition: all ease-in-out .5s
}

.filter-container label:hover {
    transition: all ease-in-out .5s;
    color: var(--clr-white);
    background-color: var(--clr-green)
}

.filter-container {
    position: absolute;
    max-width: 16.25rem;
    width: 100%;
    top: 4.0625rem;
    border: 1px solid var(--clr-gray);
    background-color: var(--clr-white);
    border-radius: .5rem;
    display: none;
    transition: all ease-in-out 1s;
    z-index: 3
}

.filter-item:has(#filter1:checked) .filter-container {
    display: block;
    transition: all ease-in-out 1s
}

.filter-item:has(#filter2:checked) .filter-container {
    display: block;
    transition: all ease-in-out 1s
}

.filter-item:has(#filter3:checked) .filter-container {
    display: block;
    transition: all ease-in-out 1s
}

.category-filter:checked + label{
	background-color: var(--clr-green);
	color: var(--clr-white);
}
.project-img {
    position: relative
}

.project-img p {
    display: flex;
    align-items: center;
    gap: .3125rem;
    position: absolute;
    bottom: .625rem;
    right: .625rem;
    font-size: var(--font-12);
    line-height: var(--line-14);
    color: var(--clr-white);
    padding: .75rem;
    border-radius: 7.6875rem;
    background-color: var(--clr-green);
    font-weight: var(--weight-400)
}

.project-info {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1.25rem
}

.project-time {
    display: flex;
    gap: .625rem;
    align-items: center
}

.project-time span {
    font-size: var(--font-10);
    line-height: var(--line-10);
    color: var(--clr-gray)
}

.project-service-textcentervert {
    display: grid;
    align-items: center
}

.project-service-textcentervert p {
    font-size: var(--font-18);
    line-height: var(--line-26);
    color: var(--clr-black);
    font-weight: var(--weight-400)
}

.project-container h3 {
    text-transform: uppercase;
    font-weight: var(--weight-700);
    font-size: var(--font-24);
    line-height: var(--font-28)
}

@media (max-width:48rem) {
    .project-img>img {
        height: 18.75rem
    }

    .section-top-logo {
        display: none
    }
}

.about-top-container {
    background: url(../img/other/about-top.png) center no-repeat;
    padding-top: 1.875rem;
    height: 50rem
}

.about-top-info {
    margin-top: 9.375rem;
    max-width: 34.6875rem
}

.about-top-info h1 {
    font-size: var(--font-48);
    line-height: var(--line-48);
    font-weight: var(--weight-700);
    text-transform: uppercase
}

.about-top-info p {
    margin-top: .625rem
}

.about-top-info a {
    display: block;
    background-color: var(--clr-green);
    color: var(--clr-white);
    text-transform: uppercase;
    padding: 1rem 2rem;
    outline: 0;
    border: none;
    display: block;
    width: -moz-fit-content;
    width: fit-content
}

.history {
    display: flex;
    /* grid-template-columns: 1fr 1fr 1fr; */
    flex-wrap: wrap;
    gap: 5.3125rem 1.875rem ;
}
.history-item{
    flex: 1 1 31%;
    border-left: 1px solid var(--clr-green);
    position: relative;
    padding: .5rem;
    /* width: 360px; */
}
.history-item::before {
    content: "";
    width: .3125rem;
    height: .3125rem;
    background-color: var(--clr-green);
    position: absolute;
    top: -.15625rem;
    left: -.15625rem
}

.history-year {
    font-family: HelveticaNeue-CondensedBold-05;
    font-size: var(--font-24);
    line-height: var(--line-24);
    font-weight: var(--weight-700);
    color: var(--clr-green);
    /* min-height: 4.5rem; */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis
}

.history-text {
    margin-top: 1.25rem;
    font-size: var(--font-18);
    line-height: var(--line-26);
    padding: .625rem 0 0 1rem;
    
    position: relative
}



.container-history.margin-40 {
    margin-top: 2.5rem
}

.container-history {
    margin-top: 5.3125rem
}

.container-history::before {
    top: 5.1875rem;
    height: 0
}

.specialist h3,
.team h3 {
    font-size: var(--font-32);
    line-height: var(--line-32);
    text-transform: uppercase
}

.team-container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-auto-rows: 28.75rem;
    gap: 1.875rem
}

.specialist .team-container {
    grid-auto-rows: auto
}

.specialist-item {
    background-color: var(--clr-green);
    color: var(--clr-white);
    padding: 1.875rem;
    position: relative
}

.specialist-item::before {
    content: "";
    width: 2rem;
    height: 2rem;
    display: block;
    position: absolute;
    z-index: 2
}

.specialist-item::before {
    right: 0;
    top: 0;
    border-bottom: 2rem solid transparent;
    border-right: 2rem solid var(--clr-white)
}

@media (max-width:48rem) {
    .specialist-item::before {
        right: -1px;
        top: -1px
    }
}

.specialist-item p:nth-child(2) {
    margin-top: .3125rem
}

.hr {
    background-color: var(--clr-gray-light)
}

.hr p:nth-child(2) {
    color: var(--clr-black);
    margin-top: .9375rem
}

.hr a {
    margin-top: .625rem;
    font-family: HelveticaNeue-01;
    color: var(--clr-green);
    text-decoration: underline
}

.team-item {
    display: grid;
    align-items: end;
    background-size: cover;
    position: relative
}

.team-item::before {
    content: "";
    width: 4rem;
    height: 4rem;
    display: block;
    position: absolute;
    z-index: 2
}

.team-item::before {
    right: 0;
    top: 0;
    border-bottom: 4rem solid transparent;
    border-right: 4rem solid var(--clr-white)
}

@media (max-width:48rem) {
    .team-item::before {
        right: -1px;
        top: -1px
    }
}

.team-info {
    padding: 1.875rem;
    background-color: rgba(10, 104, 62, .6980392157);
    position: relative
}

.specialist-item h4,
.team-info h4 {
    font-size: var(--font-24);
    line-height: var(--line-28);
    color: var(--clr-white);
    font-family: HelveticaNeue-Bold-02;
    text-transform: uppercase
}

.team-info p {
    font-size: var(--font-14);
    line-height: var(--line-20);
    color: var(--clr-white)
}

.team-info .main-keycard-arrow {
    position: absolute;
    width: 32px;
    height: 32px;
    top: -1.5rem;
    right: .5rem
}

.team-info .main-keycard-arrow img {
    width: .75rem;
    height: .75rem
}
.main-keycard-arrow:hover path{
    fill: var(--clr-white);
    transition: all ease-in-out .5s;
 
}
.main-keycard-arrow:hover{
    background-color: var(--clr-green);
}

@media (max-width:48rem) {
    .about-top-container {
        background-position-x: left
    }

    .history,
    .team-container {
        grid-template-columns: 1fr
    }
}

.carier-title {
    text-align: center;
    width: 100%
}

.carier-page img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.carier-top {
    font-weight: var(--weight-700);
    font-size: var(--font-24);
    line-height: var(--line-28);
    font-family: HelveticaNeue-Bold-02;
    text-align: center
}

.carier>p:is(:not(.carier-top)) {
    font-size: var(--font-18);
    line-height: var(--line-26);
    text-align: center;
    margin-top: .625rem
}

.carier-video {
    display: grid;
    grid-template-columns: 1fr 2.29fr;
    gap: 1.25rem
}

.carier-list {
    background-color: var(--clr-gray-light);
    overflow-y: scroll;
}

.carier-item-title {
    padding: 1rem 2rem;
    color: var(--clr-gray);
    font-weight: var(--weight-700);
    display: block
}

.video {
    display: none
}

.video:checked+.carier-item-title {
    background-color: var(--clr-green);
    color: var(--clr-white)
}

.hr-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.875rem;
    background-color: var(--clr-green);
    padding: 1.875rem;
    color: var(--clr-white);
    position: relative
}

.hr-container::before {
    content: "";
    width: 2rem;
    height: 2rem;
    display: block;
    position: absolute;
    z-index: 2
}

.hr-container::before {
    right: 0;
    top: 0;
    border-bottom: 2rem solid transparent;
    border-right: 2rem solid var(--clr-white)
}

@media (max-width:48rem) {
    .hr-container::before {
        right: -1px;
        top: -1px
    }
}

.hr-container p {
    font-size: var(--font-18);
    line-height: var(--line-26);
    max-width: 50.9375rem
}

.hr-container a {
    display: block;
    margin-left: 0
}

@media (max-width:48rem) {
    .carier-video {
        grid-template-columns: 1fr
    }
}

.contacts{
	position: relative;
}
.contacts-map{
	position: absolute;
	width: 100%;
	top: 0;
	bottom: 0;
}
.contacts-container {
    display: grid;
    grid-template-columns: 1fr 2.08fr;
    gap: 1.875rem
}

.contacts-info {
    padding: 3.75rem 1.875rem;
    background-color: var(--clr-green);
    position: relative;
    color: var(--clr-white)
}

.contacts-info::before {
    content: "";
    width: 2rem;
    height: 2rem;
    display: block;
    position: absolute;
    z-index: 2
}

.contacts-info::before {
    right: 0;
    top: 0;
    border-bottom: 2rem solid transparent;
    border-right: 2rem solid var(--clr-white)
}
@media (min-width: 48rem){
	.contacts-container{
		padding-top: 6.25rem;
	}
	.contacts{
		height: 43.75rem;
	}
}
@media (max-width:48rem) {
    .contacts-info::before {
        right: -1px;
        top: -1px
    }
	.contacts{
		display: flex;
		flex-direction: column;
	}
	.contacts-map{
		position: relative;
		order: 2;
		margin-top: 30px;
	}
	.contacts-container{
		order: 1;
	}
	
}

.contacts-info::after {
    content: "";
    width: 2rem;
    height: 2rem;
    display: block;
    position: absolute;
    z-index: 2
}

.contacts-info::after {
    left: 0;
    bottom: 0;
    border-top: 2rem solid transparent;
    border-left: 2rem solid var(--clr-white)
}

@media (max-width:48rem) {
    .contacts-info::after {
        left: -1px;
        bottom: -1px
    }
    .main-input::before{
        top: 1.875rem;
    }
}

.contacts-info a {
    color: var(--clr-white)
}

.contacts-info a {
    font-family: HelveticaNeue-01;
    font-size: var(--font-18);
    line-height: var(--line-22)
}

.contacts-info .main-btn {
    color: var(--clr-black);
    font-weight: var(--weight-700)
}

.contacts-info>div p:first-child {
    font-size: var(--font-12);
    line-height: var(--line-14)
}

.contacts-info-item {
    display: flex;
    align-items: start;
    gap: .5rem
}

.contacts-info-item:not(:first-child) {
    margin-top: .9375rem
}

.contacts-info-item:nth-child(2) {
    margin-top: 1.875rem
}

.contacts-info .main-btn {
    width: 13.4375rem
}

.contacts-city p {
    font-size: var(--font-22);
    line-height: var(--line-22);
    font-family: HelveticaNeue-Bold-02;
    font-weight: var(--weight-700)
}

.contacts-info>div p.contacts-uppercity{
	font-size: var(--font-22);
    line-height: var(--line-22);
    font-family: HelveticaNeue-Bold-02;
    font-weight: var(--weight-700);

}

.contacts-map img {
/*     -o-object-fit: cover;
    object-fit: cover;
    width: 100% */
}

@media (max-width:48rem) {
    /* .header-container ,  */
    .nav{
        position: relative;
    }
    .contacts-container {
        grid-template-columns: 1fr
    }

    .contacts-map {
/*         display: none */
    }
}

.preloader{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 3;
    background-color: #FFFFFF;
    display: grid;
    place-items: center;
}

.loader {
    width: 50px;
    padding: 8px;
    aspect-ratio: 1;
    border-radius: 50%;
    background: #25b09b;
    --_m:
      conic-gradient(#0000 10%, #000),
      linear-gradient(#000 0 0) content-box;
    -webkit-mask: var(--_m);
    mask: var(--_m);
    -webkit-mask-composite: source-out;
    mask-composite: subtract;
    animation: l3 1s infinite linear;
  

  }
  
  @keyframes l3 {
    to {
      transform: rotate(1turn)
    }
}
.search-container{
    background-color: var(--clr-gray-light);
    transition: all .5s ease-in-out;
}
.search-container:hover{
    box-shadow: 0 8px 32px 0 rgba(42, 45, 52, .3215686275);
    background-color: var(--clr-white);
}
.search-item{
    display: flex;
    justify-content: space-between;
    padding: 1.875rem;
    gap: 1.875rem;
}
.search-img img{
    object-fit: cover;
    width: 100%;
    height: 12.5rem;
}
.search-img {
    flex: 1 1 40%;
}
.search-info{
    flex: 1 1 60%
}

.reveal-btn{
    display: block;
    text-align: center;
    background-color: var(--clr-gray-light);
    color: var(--clr-black);
    font-weight: var(--weight-700);
    font-size: var(--font-18);
    line-height: var(--line-18);
    padding: 1.5rem;
    width: 100%;
    border: none;
    outline: none;
    cursor: pointer;
}

.nav-list-mob,
.nav-list-mob .sub-menu{
    list-style: none;
}
.nav-list-mob .sub-menu{
    display: none;
}
.nav-list-mob > li:not(:first-child){
    margin-top: 1.5625rem;
}
.nav-list-mob > li > a {
    font-size: var(--font-24);
    line-height: var(--line-24);
    font-weight: var(--weight-700);
    color: var(--clr-black);
   
}
.nav-list-mob .sub-menu a{
    font-weight: var(--weight-400);
    font-family: HelveticaNeue-01, sans-serif;
    color: var(--clr-gray);
}
.nav-list-mob a[href*="#"]{

}
.codedropz-upload-inner h3{
    font-size: var(--font-16);
    line-height: var(--line-16);
    font-weight: var(--weight-700);
}
.codedropz-btn-wrap .cd-upload-btn,
.codedropz-upload-inner span{
    font-size: var(--font-14);
    line-height: var(--line-14);
    color: var(--clr-green);
    font-weight: var(--weight-400);
}
.codedropz-btn-wrap{
    margin-top: 1rem;
}

.service-adv-title{
	word-wrap: break-word;
}
.service-top-img img{
	width: 100%;
	object-fit: cover;
}

.project-tiles{
    display: flex;
    flex-wrap: wrap;
}
.project-tile{
    flex: 0 0 25%;
    /* max-height: 430px; */
}
.project-tile img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all ease-in-out .8s;
}
.project-tile:hover img{
    transform: scale(.9);
    transition: all ease-in-out .8s;
}
@media(max-width: 768px){
	.history-item{
		flex: 1 1 100%;
	}
	
	.mobile-menu-container .sub-menu{
		display: flex;
		flex-direction: column;
		gap: 10px;
		margin-top: 1rem;
	}
	.mobile-menu-container .sub-menu a{
		font-size: var(--font-16);
		line-height: var(--line-16);
		text-transform: none;
	}
    .main-service-info{
        order: 2;
    }
    .project-tile{
        flex: 0 0 50%;
    }
	.breadcrumbs{
		display: none;
	}
}


.container-lineness:before{
    display: none !important;
}
.projects.section .project-card{
	flex: 1 1 23%;
}
.projects.section .project-card h3{
	font-size: 18px;
}

footer .main-keycard-arrow{
	margin: 0;
}



.newlogo{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
}

.newnav{
    background-color: #ff0000;

}

.header-new .newnav:has(#menu-up:checked) + .header-top {
    top: 0
}

.newlogo img{
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: 100%;
}
.newnav .section{
    display: flex;
    justify-content: space-between;
    gap: 30px;
}
.newnav-list{
    width: 90%;
}
.newnav-list ul{
    list-style: none;
    display: flex;
    justify-content: space-between;
}
.newnav-list li{
    display: block;
}
.newnav-list a{
    padding: 8px 10px;
    text-transform: uppercase;
    color: white;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 400;
    display: block;
    transition: all ease-in-out .3s;
}

.newnav-list a:hover{
    background-color: #820000;
    padding: 8px 20px;
    transition: all ease-in-out .3s;
}

.newnav .menu-glavnoe-menyu-container{
    
}
.header-navbtn{
    display: none;
}

.lang{
    list-style: none;
    display: flex;
    gap: 15px;
    justify-content: end;
}
@media (max-width: 768px) {
    .newnav-list ul,
    .newnav-list ul li{
        display: block;
    }

    .newnav{
        max-height: 40px;
        transition: all ease-in-out .3s;
    }
    #navbtn{
        display: none;
    }
    .header-new:has(#navbtn:checked) .newnav{
        max-height:1000px ;
        transition: all ease-in-out .3s;
    }
    .newnav .menu{
        display: none;
    }    
    .header-navbtn{
        display: block;
    }
    .header-navbtn label{
        padding: 8px 10px;
        text-transform: uppercase;
        color: white;
        font-size: 18px;
        line-height: 1.3;
        font-weight: 400;
        display: block;
    }
}