:root {
    --color-primary: #111;
    --color-secondary: #fff;
    --transition-base: 0.3s ease;
}

*,
*::before,
*::after {
    padding: 0;
    margin: 0;
    border: none;
    box-sizing: border-box;
}

/* Links */
a,
a:visited {
    text-decoration: none;
    cursor: pointer;
}

/* Common */

ul,
li {
    list-style: none;
    text-decoration: none;
}

/* Form */
input,
textarea,
button,
select {
    font-family: inherit;
    font-size: inherit;
}

button,
input[type=submit] {
    display: inline-block;
    box-shadow: none;
    background: none;
    cursor: pointer;
}

button::-moz-focus-inner {
    padding: 0;
    border: 0;
}

label {
    cursor: pointer;
}

/* Links */

* {
    font-family: "Poppins", sans-serif;
}

html,
body {
    font-size: 1rem;
    overflow-x: hidden;
    margin: 0;
    box-sizing: border-box;
}

body {
    position: relative;
    padding: 0;
    font-family: "Poppins", sans-serif;
    line-height: 2;
    font-weight: 400;
    color: #111111;
}

h1
h2,
h3,
h4,
h5,
h6
{
    font-family: "Poppins", sans-serif;
    font-weight: 700;
    color: #111111;
}

h1 {
    font-size: 3.37rem;
    line-height: 1.03;
}

h2 {
    font-size: 40px;
    line-height: 44px;
}

h3 {
    font-size: 33px;
    line-height: 33px;
}

h4 {
    font-size: 20px;
    line-height: 32px;
}

h5 {
    font-size: 18px;
    line-height: 24px;
}

h6 {
    font-size: 14px;
    line-height: 18px;
}

p {
    font-family: "Poppins", sans-serif;
    font-size: 1rem;
    line-height: 2;
    font-weight: 400;
    color: #5e5e5e;
}

ul,
ol,
li {
    font-size: 16px;
    line-height: 32px;
    font-weight: 400;
}

a {
    color: inherit;
    text-decoration: none;
}

a:hover,
a:focus {
    text-decoration: none;
}

.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
}
.header-container{
    width: 100%;
    max-width: 1600px;
    margin: -0 auto;
    padding: 0 1rem;
}
.main-title {
    font-size: 3.37rem;
    line-height: 1.03;
}
.small-title {
    font-size: 11px;
    font-weight: 500;
    color: #111;
    position: relative;
    text-transform: uppercase;
}
.mg-t {
    margin-top: 1.125rem;
}
.mt-m {
    margin-top: 2.5rem;
}
.pb-m{
    padding-bottom: 2.5rem;
}
.mb-m{
    margin-bottom: 2.5rem;
}
.pb-xl{
    padding-bottom: 7.5rem;
}
.pb-l{
    padding-bottom: 5rem;
}
.pt-l{
    padding-top: 3.2rem;
}
.mb-xl{
    margin-bottom: 7.5rem;
}
.service-home-padding .services .container .content,
.pt-xl{
   padding-top: 7.5rem;
}
.subtitle {
    font-family: "Poppins", sans-serif;
    font-size: 0.875rem;
    line-height: 1.28;
    letter-spacing: 4.5px;
    font-weight: 300;
    text-transform: uppercase;
}

.heading {
    padding: 5rem 0 1.9rem 0;
}

.color-white {
    color: white;
}
.service-content{
    color: white;
}
.service-content .content h3{
     color: white;
 }
/* .color-dark{
    color: #111;
} */
/* Button */


.a-btn {
    font-size: 11px;
    letter-spacing: 2px;
    font-weight: 500;
    height: 50px;
    display: inline-block;
    text-transform: uppercase;
    position: relative;
    padding: 15px 46px;
    background-color: transparent;
    color: white;
    border: 1px solid white;
    transition: color 0.3s ease-in, background-color 0.3s ease-in;
}


.a-btn:after,
.a-btn:before {
    content: '';
    display: block;
    position: absolute;
    box-sizing: border-box;
    border: 1px solid transparent;
    width: 100%;
    height: 100%;

}

.a-btn:after {
    top: 0;
    left: 0;
    transition: border-color 0s ease-in 1.5s, width 0.3s ease-in 1.2s, height 0.3s ease-in 0.9s;
}

.a-btn:before {
    bottom: 0;
    right: 0;
    transition: border-color 0s ease-in 0.9s, width 0.3s ease-in 0.6s, height 0.3s ease-in 0.3s;

}

.a-btn .a-btn-line:after,
.a-btn .a-btn-line:before {
    content: '';
    position: absolute;
    box-sizing: border-box;
    top: 50%;
    height: 1px;
    background-color: white;
    width: 0;
    transition: width 0.3s ease-in 0s, background-color 0.3s ease-in;
}

.a-btn .a-btn-line:before {
    left: -11px;
}

.a-btn .a-btn-line:after {
    right: -11px;
}

/* Анимация */
.a-btn.anima:after,
.a-btn.anima:before {
    width: 100%;
    height: 100%;
}

/* .a-btn.anima:after {
    border-top-color: white;
    border-right-color: white;
    transition: width 0.3s ease-out, height 0.3s ease-out 0.3s;
}

.a-btn.anima:before {
    border-bottom-color: white;
    border-left-color: white;
    transition: border-color 0s ease-out 0.4s, width 0.3s ease-out 0.6s, height 0.3s ease-out 0.9s;
} */

.a-btn.anima .a-btn-line:after,
.a-btn.anima .a-btn-line:before {
    width: 22px;
    transition: width 0.3s ease-out 1.2s, background-color 0.3s ease-in;
}

.a-btn:hover,
.a-btn:focus {
    color: #111111;
    background-color: white;
    text-decoration: none;
}

.a-btn:hover .a-btn-line:after,
.a-btn:hover .a-btn-line:before,
.a-btn:focus .a-btn-line:after,
.a-btn:focus .a-btn-line:before {
    background-color: #111111;
}


.a-btn-form{
    font-family: "Poppins", sans-serif;
    color: #111111;
    font-size: 11px;
    line-height: 18px;
    letter-spacing: 2px;
    font-weight: 500;
    position: relative;
    padding: 15px 46px;
    text-transform: uppercase;
    border: 1px solid #111111;
}
.wpcf7-response-output {
    padding-top: 1rem;
}
.wpcf7-spinner {
    display: none;
}

.a-btn-2 {
    font-family: "Poppins", sans-serif;
    font-size: 11px;
    line-height: 18px;
    letter-spacing: 2px;
    font-weight: 500;height: 50px;
    display: inline-block;
    text-decoration: none;
    position: relative;
    box-sizing: border-box;
    padding: 15px 46px;
    background-color: transparent;
    text-transform: uppercase;
    border: none;
    color: #111111;
    transition: color 0.3s ease-in, background-color 0.3s ease-in;
}

.a-btn-2:after,
.a-btn-2:before {
    content: '';
    display: block;
    position: absolute;
    box-sizing: border-box;
    border: 1px solid transparent;
    width: 0;
    height: 0;
}

.a-btn-2:after {
    top: 0;
    left: 0;
    transition: border-color 0s ease-in 1.5s, width 0.3s ease-in 1.2s, height 0.3s ease-in 0.9s;
}

.a-btn-2:before {
    bottom: 0;
    right: 0;
    transition: border-color 0s ease-in 0.9s, width 0.3s ease-in 0.6s, height 0.3s ease-in 0.3s;
}

.a-btn-2 .a-btn-line:after,
.a-btn-2 .a-btn-line:before {
    content: '';
    display: block;
    position: absolute;
    box-sizing: border-box;
    top: 50%;
    height: 1px;
    background-color: #111111;
    width: 0;
    transition: width 0.3s ease-in 0s, background-color 0.3s ease-in;
}

.a-btn-2 .a-btn-line:before {
    left: -11px;
}

.a-btn-2 .a-btn-line:after {
    right: -11px;
}

.a-btn-2.creative.anima:after,
.a-btn-2.creative.anima:before {
    width: 100%;
    height: 100%;
}

.a-btn-2.creative.anima:after {
    border-top-color: #111111;
    border-right-color: #111111;
    transition: width 0.3s ease-out, height 0.3s ease-out 0.3s;
}

.a-btn-2.creative.anima:before {
    border-bottom-color: #111111;
    border-left-color: #111111;
    transition: border-color 0s ease-out 0.4s, width 0.3s ease-out 0.6s, height 0.3s ease-out 0.9s;
}

.a-btn-2.creative.anima .a-btn-line:after,
.a-btn-2.creative.anima .a-btn-line:before {
    width: 22px;
    transition: width 0.3s ease-out 1.2s, background-color 0.3s ease-in;
}

.a-btn-form:hover,
.a-btn-form:focus,
.a-btn-2:hover,
.a-btn-2:focus {
    color: white;
    background-color: #111111;
    text-decoration: none;
}

.a-btn-2:hover .a-btn-line:after,
.a-btn-2:hover .a-btn-line:before,
.a-btn-2:focus .a-btn-line:after,
.a-btn-2:focus .a-btn-line:before {
    background-color: white;
}
.button-center{
display: flex;
justify-content: center;
}
/* IMG BG */

.img-full {
    position: relative;
    height: 100vh;
}
.img-bg{
    position: relative;
}

.img-full-container img{
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    object-fit: cover;
    max-height: 900px;
}
.img-bg-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 70%;
    z-index: -1;
}
.img-full::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-color: rgba(0, 0, 0, 0.3);
}
.img-bg::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 70%;
    z-index: -1;
    background-color: rgba(0, 0, 0, 0.3);
}

.background-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.content {
    position: relative;
    z-index: 2;
    padding-top: 8rem;
    padding-bottom: 4rem;
}

/*
/* Common class */
.full-width {
    width: 100%;
}

.center {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 auto;
}

/* HEADER */




/* Footer */

.footer {
    background: #111;
    color: #fff;
    padding: 6.25rem 0;
}

.footer-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    padding-bottom: 33px;
    border-bottom: 1px solid rgba(255, 255, 255, .2);
}

.footer-left {
    max-width: 500px;
}

.footer-logo img {
    width: 150px;
}

.footer-text {
    margin-top: 2.25rem;
    font-size: 13px;
    line-height: 2;
    color: rgba(255, 255, 255, .8);
}

.footer-right {
    text-align: right;
    padding-top: 10px;
}

.footer-title {
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: 10px;
    font-weight: 300;
    letter-spacing: 4.5px;
    color: #fff;
    margin-bottom: 37px;
}

.footer-contact {
    font-size: 13px;
    line-height: 2;
    color: #fff;

}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    font-size: 12px;
    padding-top: 47px;
}

.footer-socials {
    display: flex;
    gap: 10px;
    justify-content: space-between;
}

.footer-copy {
    width: 50%;
    font-size: 10px;
    line-height: 1.8;
    letter-spacing: 2px;
    font-weight: 700;
    color: #fff;
}

.social-link {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    text-align: center;
    width: 30px;
    height: 30px;
    font-size: 12px;
    line-height: 28px;
    border: 1px solid rgba(242, 242, 242, .4);
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    transition: all 0.3s ease-in-out;
}

.social-link:hover {
    background: #fff;
    color: #111;
}

.social-link img {
    width: 20px;
    height: 20px;
}

.social-link i {
    aspect-ratio: 1 / 1;
}

/* HERO section*/



.hero__content{
    /* position: relative; */
    width: 100%;
    max-width: 1200px;
    height: 100%;
    max-height: 900px;
    display: flex
;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 1.5rem;
}

.hero {
    position: relative;
    width: 100%;
    min-height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}


.hero__content .a-btn {
    margin-top: 2.2rem;
}

.fade-in {
    opacity: 0;
    animation: fadeIn 1s forwards;
}
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Page Main - Stats */


.full-wrapper {
    display: flex;
    width: 100%;
}
.services .left-wrapper{
    margin-right: 3.2rem;
}
.right-content {
    max-width: 37%;
}

.right-content .main-title {
    margin-bottom: 1rem;
}
.left-wrapper-stat{
    width: 100%;
    padding-right: 3.5rem;
}
.left-wrapper {
    width: 45vw;
}
.left-wrapper-center{
    align-items: center;
    display: flex;
    justify-content: center;
}

/* Page Main - Projects */

.projects-section .a-btn-2 {
    margin-top: 1.5rem;
}

.projects-header {
    margin-bottom: 2.2rem;
}


.project-card {
    position: relative;
    width: 100%;
    text-align: center;
}


.projects-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 1.825rem;
    row-gap: 2.75rem;
    justify-items: center;
}

.project-card-img-link {
    position: relative;
    display: block;
    overflow: hidden;
    cursor: pointer;
    height: 240px;
}
a.project-card-img-a{
    position: relative;
    min-height: 200px;
    height: 100%;
    z-index: 99;
}
.project-card-img{
    width: 100%;
    height: calc(100% + 40px);
    background-color: #f2f2f2;
    transform: translateY(0);
    transition: -webkit-transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.project-card-img img{
    width: 100%;
    height: 100% !important;
    background-size: cover;
    object-fit: cover;
}
.project-card-img-link:hover .project-card-img {
    transform: translateY(-40px);
}

.project-card-img-link:hover .project-card-img:after {
    opacity: 0.3;
}

.project-card-img:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: black;
    opacity: 0;
    transition: opacity 0.45s linear;
}

.project-card-content {
    padding: 1.1rem 0;
}
.project-card-content h2 {
    font-size: 20px;
    line-height: 32px;
}
.project-card-link:hover{
    opacity: 0.7;
}
.project-location {
    font-size: 0.75rem;
    line-height: 2.1;
    font-weight: 300;
    color: #111;
}

.projects-btn {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* SERVICE */


.description {
    font-size: 1rem;
    margin: 10px 0; 
}
.design{
    margin: 20px 0;
}
.service-home {
    background: white;
    color: black;
    padding-bottom: 1rem;
}
.service-home img {
   display: none;
}
/* Service cards layout */

.grid-three-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    position: relative;
    height: 100%;
    gap: 1.9rem;
}
.services .grid-three-cards{
    grid-template-columns: repeat(2, 1fr);
}
.grid-three-card {
    background-color: #fff;
    padding: 46px 38px 50px 38px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: 0 30px 50px rgba(0, 0, 0, .2);
    transition: all 0.3s ease;
}
.grid-three-card .title{
    margin-bottom: 1rem;
    margin-top: 0rem;
}

.grid-three-icon {
    margin-bottom: 20px;
}

.grid-three-icon img {
    width: 50px;
    height: 50px;
}


.grid-three-description {
    flex: 1;
}
.grid-three-card .a-btn-2{
    margin-top: 1.125rem;
}
/* Main Page - Team */


.team-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 2rem;
    row-gap: 0.3rem;
}
.team-card img,
.team-image {
    max-height: 380px;
    width: 100%;
    object-fit: cover;
    height: 380px;
}


.team-info {
    position: relative;
    padding-top: 20px;
}

h3.testimonials-author,
.value-item div h3,
.team-info h3 {
    font-size: 20px;
    line-height: 32px;
}

.team-role {
    position: absolute;
    white-space: nowrap;
    top: 0px;
    left: 85%;
    transform: translateX(-50%);
    opacity: 0;
    visibility: hidden;
    font-size: 14px;
    font-weight: 300;
    color: #111;
    transition: all 0.5s ease-out;
}

.team-card {
    text-align: right;
    position: relative;
    padding-top: 5rem;
    text-align: center;
    transition: transform 0.5s ease;
    overflow: hidden;
}

.team-card:hover .team-role {
    top: 25px;
    opacity: 1;
    visibility: visible;
}

.team-role::after {
    content: "";
    display: block;
    width: 0.8px;
    height: 0;
    background: #111;
    margin: 5px auto;
    transition: all 0.5s ease-out;
}

.team-card:hover .team-role::after {
    height: 5rem;
}


/* Main Page - TImeline */


.grid-two {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    row-gap: 50px;
}
.blog-grid.grid-two{
    gap: 0;
    row-gap: 0;
}

.timeline-item {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    gap: 20px;
    background: #fff;
    padding: 20px 20px 0  20px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    overflow: hidden;
}

.timeline-item:before {
    content: '';
    position: absolute;
    height: calc(100% - 65px);
    top: 45px;
    left: 20px;
    width: calc(100% - 20px);
    background-color: #f2f2f2;
    z-index: -1;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-100%);
    transition: opacity 0.3s ease-in, visibility 0.3s ease-in, transform 0.3s ease-in;
}

.timeline-item:hover {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.timeline-item:hover:before {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.timeline-date {
    font-size: 14px;
    line-height: 18px;
    font-weight: 300;
    letter-spacing: 3.5px;
    color: #111;
    padding-top: 10px;
}

.timeline-line {
    width: 1px;
    height: 100%;
    background-color: #111;
}

.timeline-content h4 {
    font-weight: 500;
    color: #111;
}

.timeline-content p {
    font-size: 16px;
    line-height: 32px;
    font-weight: 400;
    margin-top: 17px;
    color: #5e5e5e;
}

/* Main Page - Work */

.value-section{
    overflow: hidden;
    min-height: 600px;
}
.work-section {
    overflow: hidden;
}
.work-section.img-bg{
    padding-top: 2rem;
    min-height: 600px;
    padding-bottom: 1rem;
}
.cards-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    padding-top: 2rem;
}

.value-item{
    display: flex;
    background-color: #fff;
    box-shadow: 0 30px 50px rgba(0, 0, 0, .2);
    margin-bottom: 3.1rem;
    flex-direction: column;
    text-align: center;
    padding: 2rem;
    align-items: center;
    min-height: 300px;
}
.work-card {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    background: transparent;
    display: flex;
    align-items: center;
    background-color: #fff;
    box-shadow: 0 30px 50px rgba(0, 0, 0, .2);
    margin-bottom: 3.1rem;
    justify-content: center;
    overflow: hidden;
    transition: background 0.3s ease-in-out;
}
.value-item h4{
    padding-top: 1rem;
    padding-bottom: 0.8rem;
}
.work-card img {
    height: auto;
    max-width: 100%;
    vertical-align: middle;
    transition: opacity 0.5s ease-in-out;
}

.work-card .hover-content {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
}

.work-card:hover {
    background: #000;
}

.work-card:hover img {
    opacity: 0;
}

.work-card:hover .hover-content {
    opacity: 1;
    visibility: visible;
    transition: all 0.5s ease-in-out;
}

/* Стрелка */

.arrow-right {
    display: inline-block;
    position: relative;
    width: 31px;
    height: 1px;
    transition: transform 0.3s ease-in-out;
}

.arrow-right:before,
.arrow-right:after {
    position: absolute;
    display: block;
    right: 0;
    width: 6px;
    height: 1px;
    content: '';
}

.arrow-right:before {
    bottom: 1px;
    transform: translateY(3px) rotate(-45deg);
}

.arrow-right:after {
    top: 1px;
    transform: translateY(-3px) rotate(45deg);
}

.arrow-right.grey {
    background-color: #7e7d7d;
}

.arrow-right.grey:before,
.arrow-right.grey:after {
    background-color: #7e7d7d;
}


.hover-content:hover .arrow-right {
    transform: translateX(1.5rem);
}


/* Contact */


.contact-section {
    margin-top: 4rem;
}
.contact-section .description {
    margin-top: 1rem;
    margin-bottom: 4rem;
}

.contact-wrapper {
    display: flex;
    justify-content: space-between;
    gap: 3rem;
}

.contact-form-title {
    padding-bottom: 2rem;
}

.contact-info {
    display: flex;
    margin-bottom: 40px;
    gap: 2rem;
}

.content-items {
    max-width: 700px;
    width: 50%;
}

.contact-info-block {
    flex-basis: 30%;
}

.contact-info-line {
    width: 70px;
    height: 1.5px;
    background-color: #111;
    margin-bottom: 24px;
}

.contact-subtitle {
    font-size: 11px;
    line-height: 1.6;
    letter-spacing: 2.2px;
    font-weight: 500;
    margin-bottom: 1.4rem;
}

.contact-text {
    font-size: 0.875rem;
    line-height: 32px;
    font-weight: 400;
    opacity: 1;
    transition: opacity .3s ease-in;
    color: #7e7d7d;
}

.contact-text:hover {
    opacity: 0.7;
}

.contact-form {
    padding: 2rem 1.5rem;
    width: 45%;
    max-width: 700px;
    background-color: #f2f2f2;
}

.contact-form-container {
    text-align: center;
}

.form-group {
    margin-bottom: 20px;
    text-align: left;
}

.form-label {
    font-size: 14px;
    color: #111;
}

.form-input {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    font-size: 16px;
}

/* Slider */

.wpb_wrapper{
    padding-top: 20px;
    padding-right: 40px;
    overflow: hidden;
}

.testimonials-wrapper {
    position: relative;
    padding: 17px 70px 85px 23%;
}

.testimonials-wrapper.no-figure {
    padding: 17px 0 0rem 23%;
}

.testimonials-wrapper.no-figure .testimonials-pagination-wrapper {
    height: calc(100% - 1px);
}

.testimonials-wrapper .testimonials-swiper {
    position: static;
    z-index: 20;
    padding-right: 20px;
    overflow: hidden;
    box-shadow: 0 30px 50px rgba(0, 0, 0, 0.2);

}

.testimonials-wrapper .testimonials-swiper .swiper-wrapper {
    background-color: white;
    max-height: 345px ;
    margin-right: 20px;
}
.swiper-slide{
    max-height: 345px;
}
.testimonials-wrapper .testimonials-pagination-wrapper {
    position: absolute;
    top: 0;
    height: calc(100% - 85px);
    left: 0;
    width: 20%;
}

.testimonials-wrapper .testimonials-pagination-wrapper .swiper-pagination {
    max-width: 198px;
    top: 0px;
    right: auto;
    height: 100%;
    transform: translate3d(0, 0, 0);
    position: relative;
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.testimonials-wrapper .testimonials-pagination-wrapper .swiper-pagination:after {
    content: '';
    position: absolute;
    width: 100%;
    height: calc(100% - 17px);
    top: 17px;
    left: 1px;
    border: 1px solid #cccccc;
    z-index: -1;
}

.testimonials-wrapper .testimonials-pagination-wrapper .swiper-pagination .swiper-pagination-bullet {
    position: relative;
    display: inline-block;
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    line-height: 30px;
    letter-spacing: 1.5px;
    font-weight: 300;
    color: #7e7d7d;
    padding-left: 0;
    margin: 0;
    width: auto;
    height: auto;
    border-radius: 0;
    cursor: pointer;
    opacity: 1;
    padding-right: 15px;
    background-color: white;
    transition: color 0.3s ease-in, padding-left 0.3s ease-in;
}

.testimonials-wrapper .testimonials-pagination-wrapper .swiper-pagination .swiper-pagination-bullet:before {
    content: '';
    position: absolute;
    top: 5px;
    left: 0;
    width: 0;
    height: 0;
    width: 0;
    border-top: 5px solid #111111;
    border-right: 5px solid transparent;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-in, visibility 0.3s ease-in;
}

.testimonials-wrapper .testimonials-pagination-wrapper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    color: #111111;
    padding-left: 10px;
}

.testimonials-wrapper .testimonials-pagination-wrapper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:before {
    opacity: 1;
    visibility: visible;
}

.testimonials-wrapper .testimonials-item {
    background-color: white;
    padding:  37px 0px 37px 0;
    text-align: center;
    width: 100%;
}

.testimonials-wrapper .testimonials-item .testimonials-icon {
    font-size: 26px;
    margin-bottom: 42px;
    color: #111111;
    font-family: "Font Awesome 6 Free";
}
.testimonials-icon::before {
    content: "\f10e"; 
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}
.testimonials-wrapper .testimonials-item .media-wrapper{
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
}
.media-wrapper video,
.media-wrapper iframe,
.media-wrapper img{
    width: 150px;
    height: 120px;
    object-fit: cover;
}
.testimonials-wrapper .testimonials-item .testimonials-description {
    border-left: none;
    margin-bottom: 12px;
    padding: 0;
}

.testimonials-wrapper .testimonials-item .testimonials-description p {
    max-width: 730px;
    margin-left: auto;
    margin-right: auto;
    font-style: normal;
    font-size: 16px;
    line-height: 1.58;
}

.testimonials-wrapper .testimonials-item .testimonials-author {
    position: relative;
    text-transform: none;
    margin-top: 0px;
    margin-bottom: 0;
}

.testimonials-wrapper .testimonials-item .testimonials-author:before {
    content: '-';
    display: inline-block;
}

.testimonials-wrapper .figures {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 370px;
    height: 370px;
    z-index: -1;
}

.testimonials-wrapper .figures svg polygon,
.testimonials-wrapper .figures svg circle {
    fill: #f2f2f2;
}

/* Cookie  */


.cookie-consent {
    position: fixed;
    bottom: 20px;
    left: 20px;
    right: 20px;
    max-width: 1000px;
    background: #fff;
    color: black;
    padding: 15px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: fit-content;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.3s ease-out, transform 0.3s ease-out;
}
.cookie-content{
    display: flex;
    gap: 1rem;
    align-items: center;
}
.cookie-consent.show {
    opacity: 1;
    transform: translateY(0);
}
.cookie-link {
    text-decoration: underline;
}

.cookie-btn {
    font-family: "Poppins", sans-serif;
    color: #111111;
    font-size: 11px;
    line-height: 18px;
    letter-spacing: 2px;
    font-weight: 500;
    position: relative;
    padding: 10px 15px;
    border: 1px solid #111111;
}
.cookie-btn:hover, .cookie-btn:active{
    color: white;
    background-color: #111111;
    text-decoration: none;
}

/* Location */

.footer-center{
    font-family: 'Poppins', sans-serif;
}
.custom-dropdown {
    position: relative;
    display: inline-block;
}

/* Button styles */
.dropdown-button {
    color: white;
    padding: 14px;
    height: 50px;
    width: 100%;
    border: 1px solid white;
    cursor: pointer;
    font-size: 16px;
    text-align: center;
}


.dropdown-button:focus,
.dropdown-button:active,
.dropdown-button:hover {
    background-color: white;
    color: #111;
    border: 1px solid white;
}
.modal-form {
    padding-top: 36px;
    text-align: center;
}
/* Dropdown content (hidden by default) */
.dropdown-content {
    display: none;
    position: absolute;
    left: 0;
	right: 0;
    background-color: white;
    color: #111;
    min-width: 100%;
    box-shadow: 0px 8px 16px rgba(0,0,0,0.2);
    z-index: 1000;
    display: none;
	overflow: hidden;
	max-height: 300px;
	overflow-y: auto;
	transition: max-height 0.3s ease;
}
.dropdown-content.open-below {
	top: 100%;
}

.dropdown-content.open-above {
	bottom: 100%;
}
/* Dropdown item styling */
.dropdown-item {
    padding: 12px 16px;
    width: 100%;
    cursor: pointer;
    font-size: 14px;
    display: block;
    border-bottom: 1px solid #f2f2f2;
}

/* Hover effect for dropdown items */
.dropdown-item:hover {
    background-color: #f2f2f2;
}

/* Optionally, you can style the selected item */
.selected {
    background-color: #f1f1f1;
    font-weight: bold;
}
/* Скрываем окно */
.hidden {
    display: none;
}

/*  -------------------------  PAGE SERVICES ---------------------  */

.posts-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 40px;
    align-items: start;
}

.post-link {
    text-decoration: none;
    color: inherit;
    display: block;
}

.post img {
    display: block;
    width: 100%;
    height: auto;
}

.post-date {
    font-size: 14px;
    color: #888;
    margin-top: 10px;
    display: block;
}

.post-title {
    font-weight: 600;
    line-height: 1.4;
    margin: 8px 0 0;
}


.post-column--text-only hr {
    border: 0;
    border-top: 1px solid #ddd;
    margin: 12px 0;
}

.post-column--with-images {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.post--text {
    padding: 0.87rem 0;
}
.services.img-bg-container {
    height: 50%;
}

.services.img-bg::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50%;
    z-index: -1;
    background-color: rgba(0, 0, 0, 0.3);
}

.image-row {
    display: flex;
    gap: 20px;
    /* justify-content: center; */
    margin: 20px 0;
}
.image-row img {
    max-width: 100%;
    height: auto;
}
.article-title{
    margin-top: 3.25rem;
    margin-bottom: 3.25rem;
}

.team-outer {
    width: 270px;
    height: 270px;
    border-radius: 50%;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    background-position: top center;
}

.team-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

/*  -------------------------  PAGE PLANNING ---------------------  */
.middle-height-bg{
    max-height: 600px;
}
.article-content h2{
    margin-top: 3.25rem;
    margin-bottom: 3.25rem;
}


.article-content p{
    text-align: left;
    max-width: 970px;
    color:  #4a4a4a;
    margin-bottom: 1rem;
}

.article-content .full-width button{
    margin-top: 1.25rem;
    width: 100%;
    max-width: 250px;
}
.article-full-img{
    width: 100%;
}

.image-wrapper {
    display: flex;
    gap: 2rem;
    margin-left: 2rem;
}
.image-wrapper img {
    width: 42%;
    height: auto;
    margin: 25px 5px 15px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .1);
}


/* --------Blog-------------------- */

.line-subtitle {
    display: inline-block;
    position: relative;
}

.line-subtitle:after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: calc(100% + 15px);
    width: 85px;
    height: 4px;
    background-color: #f2f2f2;
}

.blog-column {
    flex: 1;
    min-width: 300px;
    max-width: 48%;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.blog-grid-wrapper {
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 40px;
    padding: 35px 25px;
}

.blog-grid-wrapper img {
    width: 100%;
    height: 210px;
    object-fit: cover;
}

.blog-grid-post-date {
    position: relative;
    font-size: 12px;
    font-weight: 300;
    color: #111;
}

.blog-grid-post-date::after {
    content: '';
    position: absolute;
    left: 15px;
    bottom: 30px;
    width: 1px;
    height: 60px;
    background-color: #111;
}

.blog-content {
    padding: 19px 30px;
    display: flex;
    flex-direction: column;
}

.blog-content h2 {
    margin-top: 5px;
    margin-bottom: 5px; 
    padding-top: 1.1rem;
    padding-bottom: 1.1rem;
     font-size: 20px;
    line-height: 32px;
}

.blog-grid-post-info{
    padding-top: 1.1rem;
    padding-bottom: 1.1rem;
}
.blog-grid-post-info a {
    font-size: 1rem;
    line-height: 2;
    padding: 3px 5px;
    color: #111;
    transition: color 0.3s ease, background-color 0.3s ease;
}

.blog-grid-post-info a:hover {
    color: white;
    background-color: #111;
}
.achive-container{
    margin-bottom: 1rem;
}

.read-more {
    text-transform: uppercase;
    text-decoration: none;
    position: relative;
    display: inline-block;
    font-size: 11px;
    letter-spacing: 2px;
    font-weight: 500;
    color: #111;
    display: flex;
    align-items: center;
    gap: 10px;
}

.pager .pager-inner {
    display: inline-flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
    text-align: center;
}

.pager .page-numbers {
    display: inline-block;
    font-size: 16px;
    font-weight: 500;
    line-height: 32px;
    text-transform: uppercase;
    color: #111;
    opacity: 1;
    margin: 0 5px;
    transition: opacity 0.3s ease-in;
    text-decoration: none;
}

.pager .page-numbers.next,
.pager .page-numbers.prev {
    font-size: 11px;
}

.pager .page-numbers.current,
.pager .page-numbers:hover {
    opacity: 0.2;
}

.logo img{
    padding-bottom: 0;
}
.breadcrumbs{
    letter-spacing: normal;
    padding-top: 0.5rem;
}

/* Общий контейнер */
.info-section{
    background-image: linear-gradient(127deg, #050505, #050505);
}
.info-wrap {
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 100px 50px;
    color: #fff;
    align-items: center;
  }
  .info-wrap h3 {
        color: #fff;
        padding-bottom: 2px;
  }
  .info-wrap button{
    padding: 10px 46px;
  }
  /* Блок с заголовком */
  .call-to-action .call-title {
    padding-right: 30px;
    font-size: 40px;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0.2px;
    line-height: 1.2;
  }
  

.seo-section{
color: #111;
width: 100%;
padding: 60px 30px;
}

/* Modal  Dialog*/

.modal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
  }
  .modal-form .form-input{
    margin-bottom: 0.5rem;
  }
  
 .modal-form .modal-form{
    padding-top: 2rem;
  }

  .modal-btn{
    display: flex;
    align-self: center;
    margin-top: 1rem;
  }
  .modal.hidden {
    display: none;
  }
  
  .modal-content {
    background: #fff;
    padding: 2rem;
    width: 90%;
    max-width: 600px;
    position: relative;
  }
  #modalTitle{
    text-align: center;
  }
  .close {
    position: absolute;
    top: 0;
    right: 1rem;
    background: none;
    border: none;
    font-size: 3rem;
    cursor: pointer;
  }
  
  .column-buttons{
    display: flex;
    flex-direction: column;
    gap: 5px;
  }
  .column-buttons .custom-dropdown {
    display: inline-flex;
    justify-content: center;
    align-self: center;
  }

  .blog-content.services .blog-grid-post-date{
    margin-left: 15px;
    font-size: 14px;
}
  .blog-content.services  .blog-grid-post-date::after{
left: 3px;
}
.blog-content.services p {
    margin-left: 0;
}
.services-padding .heading {
    padding: 2rem 0 1.9rem 0;
}
.services-padding .pb-xl{
    padding-bottom: 5rem;
}
.services-color .info-section{
    background-image: none;
    background: #f2f2f2;;
}
.services-color .call-to-action .call-title{
    color: #111111;
}
.services-color .dropdown-button{
    color: #111111;
    border: 1px solid #111111;
}
.services-color .info-wrap {
    padding: 70px 50px;
    position: relative;
}
.services-color .info-wrap h3{
    color: #111111;
}
.services-color .info-wrap::before{
       content: '';
    position: absolute;
    top: 25%;
    right: calc(99% + 0px);
    height: 1px;
    width: 70px;
    background-color: #111;
    transform: translateY(-50%);
}

 .article-content .left-block p,
.article-content .left-block h2,
.article-content .right-block h2,
 .article-content .right-block p {
    margin: 0;
 margin-bottom: 1.125rem;
}

.left-block {
    width: 50%;
    padding-right: 3vw;
}

.right-block {
    width: 50%;
    padding-left: 3vw;
}

.block-content {
    width: 60%;
}

.approach-content h3{
    font-size: 32px;
}

.portugal-pagination {
    margin: auto;
    display: flex;
    justify-content: center;
    text-align: center;
}
h2.screen-reader-text {
    font-size: 24px;
    display: none;;
}
.nav-links {
    font-size: 18px;
    display: flex;
    gap: 20px;
    font-family: "Poppins", sans-serif;
    line-height: 2;
    font-weight: 400;
    color: #111;
}
.nav-links a{
    transition: all 0.3s ease-in-out;
}
.nav-links a:hover{
    opacity: 0.7;
}
@media screen and (max-width: 1199px) {
    .container {
        max-width: 1170px;
    }
    .background-image {
        width: 1280px;
        height: 100%;
    }
}

@media screen and (max-width: 991px) {
   
    .dropdown-button {
    font-size: 12px;
}
    .container {
        width: 100%;
    }

    h1 {
        font-size: 34px;
        line-height: 38px;
        font-weight: 700;
    }

    h2 {
        font-size: 30px;
        line-height: 34px;
    }

    h3 {
        font-size: 26px;
        line-height: 30px;
    }

    .main-title {
        font-size: 2.125rem;
    }

    .subtitle {
        font-size: 0.875rem;
    }

    .cards-grid,
    .projects-list,
    .team-grid, 
    .grid-three-cards {
        grid-template-columns: 1fr 1fr;
    }
    .img-bg {
        height: 100%;
    }

    .background-container {
        height: 45%;
    }

    .footer-top {
        justify-content: center;
        text-align: center;
        flex-direction: column;
        align-items: center;

    }

    .footer-right {
        text-align: center;
    }

    .footer-bottom {
        display: flex;
        flex-direction: column;
        justify-content: center;
        text-align: center;
        align-items: center;
        gap: 2rem;
    }

    .footer-title {
        margin-bottom: 1.5rem;
    }

    .content-header {
        text-align: center;
    }

    .contact-wrapper {
        display: flex;
        flex-flow: column;
        justify-content: center;
        align-items: center;
        gap: 0rem;
    }
    .contact-section .description {
        margin-bottom: 1rem;
    }

    .content-items {
        width: 100%;
    }

    .contact-form {
        max-width: 500px;
        width: 100%;
    }

    .contact-info-block {
        flex-basis: 100%;
        align-items: center;
        text-align: center;
        display: flex;
        flex-direction: column;
    }

    .contact-info {
        display: flex;
        margin-bottom:  4.3rem;
        flex-direction: column;
    }
    .team-role {
        left: 75%;
    }
    .team-card {
        padding-top: 2rem;
    }

    .team-card:hover .team-role {
        top: 7px;
    }
    .team-card:hover .team-role::after {
        height: 2rem;
    }
    .img-full, .img-bg  {
        height: 100%;
        min-height: 40rem;
    }
    .img-full{
        height: 100vh;
        max-height: 100%;
    }
    .img-bg {
        height: 100%;
        min-height: 40rem;
    }
    .content-header{
        padding-top: 4.3rem;
        padding-bottom: 2.5rem;
    }
    .content{
        padding-top: 4.3rem;
        padding-bottom: 2.5rem;
    }
    .heading {
        padding: 4.3rem 0 2.5rem 0;
        text-align: center;
    }
    .pb-xl{
        padding-bottom: 4.3rem;
    }
    .mb-xl{
        margin-bottom: 4.3rem;
    }
    .pb-l{
        padding-bottom: 2rem;
    }
    .service-home-padding .services .container .content,
    .pt-xl{
        padding-top: 4.3rem;
     }
    .mg-t {
        margin-top: 1rem;
    }
    .pb-m{
        padding-bottom: 0;
    }
    .mb-m{
        margin-bottom: 0;
    }
    .testimonials-wrapper {
        padding: 17px 70px 85px 0;
    }
    .testimonials-wrapper.no-figure {
        padding: 17px 0 0px 0;
    }
    /* .services.no-figure {
        padding: 17px 0 70px 0;
      } */
    .testimonials-wrapper .testimonials-pagination-wrapper {
        display: none;
    }
    .wpb_wrapper{
        padding-top: 10px;
        padding-right: 0px;
    }
    .testimonials-wrapper .testimonials-swiper {
        padding-right: 1rem;
        padding-left: 1rem;
    }
    .stats.full-wrapper{
        flex-direction: column;
    }
    .stats.full-wrapper {
        gap: 0;
        padding-top: 1rem;
    }
    .stats .right-content{
        text-align: center;
        max-width: 100vw;
    }
    .left-wrapper-stat{
        padding-bottom: 4.5rem;
        width: 100%;
        padding-right: 0;
    }
}


@media only screen and (max-width: 767px) {

    .grid-three-card .a-btn-2 {
    margin-bottom: 3px;
}
    .content{
        text-align: center;
    }
    .blog-grid-wrapper {
        margin-bottom: 5px;
    }
    .showcase-section .heading {
        padding-top: 1rem;
    }
    .grid-three-card{
        padding: 25px;
    }
    .work-section.img-bg{
        padding-top: 0;
        padding-bottom: 2.5rem;
    }
    .image-wrapper {
        flex-direction: column;
        margin-left: 0;
        gap: 1rem;
    }
    .image-wrapper img {
        width: 100%;
    }
    
    .article-content h3{
        margin-top: 1.5rem;
        margin-bottom: 1.5rem;
    }


    .article-content p{
        margin-left: 0rem;
        margin-bottom: 1.5rem;
    }

    .header {
        padding: 15px 15px;
    }

    .header.full .navigation .navigation-wrapper {
        padding: 64px 0;
    }
    .services .left-wrapper{
        margin-right: 0;
        padding-bottom: 0;
    }
    .full-wrapper {
        flex-wrap: wrap;
        justify-content: center;
    }
    .projects-header {
        margin-bottom: 0
    }
    /* .content {
        padding-top: 4rem;
    } */

    .right-content {
        text-align: center;
        max-width: 100vw;
    }
    .services .grid-three-cards,
    .cards-grid,
    .grid-two,
    .projects-list,
    .team-grid,
    .grid-three-cards {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    .cards-grid {
        gap: 0px;
        padding-top: 0;
    }
    .background-container {
        height: 30%;
    }
    .footer-top {
        justify-content: center;
        text-align: center;
    }

    .footer-right {
        text-align: center;
    }
    .footer {
        padding: 4.5rem 0;
    }
    .footer-bottom {
        display: flex;
        flex-direction: column;
        justify-content: center;
        text-align: center;
        gap: 2rem;
    }
    .left-wrapper {
        width: 100%;
    }
    .left-wrapper{
        text-align: center;
    }
    .prague-counter.alone_item .figures {
        width: 270px;
        height: 270px;
    }

    .prague-counter.alone_item .numbers svg {
        height: 320px;
    }

    .prague-counter.alone_item .numbers svg mask .number {
        font-size: 120px;
    }

    .prague-counter.alone_item .numbers svg mask .title {
        font-size: 11px;
    }

    .background-image {
        max-width: 768px;
        height: 100%;
    }
    .testimonials-wrapper {
        padding: 17px 0 40px;
    }
    .testimonials-wrapper .figures {
        display: none;
    }
    .vc_row.container{
        padding: 0;
    }
    .planning-content p{
        max-width: 670px;
        margin-bottom: 10px;
    }
    .image-row {
        flex-wrap: wrap;
    }
    .prague-counter.multi_item .numbers svg {
        width: 100% !important;
        height: 180px;
        margin: 2px 4px 2px 0px;
    }
    .prague-counter .counter-outer {
        position: relative;
        padding: 2px 6px 2px 4px !important;
    }
    .prague-counter .numbers svg mask .coming-alpha {
        width: 100%;
        height: 100%;
    }
    .wpb_wrapper.pb-xl{
        padding-bottom: 5.5rem;
    }
    .content-header {
        padding-top: 0;
    }
    .contact-section {
        margin-top: 1rem;
    }
    .achive-container{
        margin-bottom: 3rem;
    }
    .blog-grid-wrapper {
        padding: 5px 15px;
    }
    .media-wrapper video,
    .media-wrapper iframe,
    .media-wrapper img{
    width: 100px;
    height: 90px;
    object-fit: cover;
    }
    .testimonials-wrapper .testimonials-item .testimonials-description p {
        font-size: 14px;
    }
    .showcase-section{
        padding-top: 4.3rem;
    }
        .team-section .heading {
        padding: 2.3rem 0 2.3rem 0;
        text-align: center;
    }
}


@media only screen and (max-width: 560px) {
        .left-block {
        width: 100%;
        padding-right: 0;
        padding-bottom: 20px;
    }

    .right-block {
        width: 100%;
        padding-left: 0;
    }

    .reverce {
        display: flex;
        flex-direction: column-reverse;
    }

    .reverce .left-block {
        padding-bottom: 0;
    }

    .reverce .right-block {
        padding-bottom: 20px;
    }
    .testimonials-wrapper .testimonials-swiper .swiper-wrapper {
    background-color: white;
    max-height: 360px;
    margin-right: 20px;
    }
    .swiper-slide{
     max-height: 360px;
    }
    .testimonials-wrapper .testimonials-item {
        padding: 20px 15px;
    }
    .call-to-action .call-title{
        padding-right: 0;
        font-size: 28px;
    }
   .prague-counter.multi_item .numbers svg mask .number {
        font-size: 60px;
    }

    .prague-counter.multi_item .numbers svg mask .title {
        font-size: 11px;
    }
    .background-image {
        width: 570px;
        height: 100%;
    }
    .testimonials-wrapper .testimonials-item {
        max-width: 90vw;
    }
    .testimonials-wrapper .testimonials-swiper {
        padding-right: 0rem;
        padding-left: 0rem;
    }
    .info-wrap{
        flex-direction: column;
        padding:  60px 20px;
        text-align: center;
        gap: 2.5rem;
    }
}

        section.b-section {
            padding: 20px 0;
            margin-top: 3rem;
            margin-bottom: 3rem;
        }

        section.b-section.b-section_bg {
            background: #f9f9f9;
            padding: 4rem 3rem;
            margin: 0 -3rem;
            position: relative;
            box-sizing: border-box;
        }

        section.b-section.b-section_cta {
            color: #fff;
        }

        .b-section__bg {
            position: absolute;
            left: 0;
            width: 100%;
            top: 0;
            height: 100%;
            overflow: hidden;
            z-index: 0;
            background: #111111;
        }

        .b-section__bg img {
            display: block;
            position: absolute;
            object-fit: cover;
            top: 0;
            height: 100%;
            width: 100%;
            opacity: 0.4;
        }

        .b-section__body {
            position: relative;
            z-index: 1;
        }

        .b-section__title {
            font-size: 40px;
            line-height: 44px;
            margin-top: 3.25rem;
            margin-bottom: 3.25rem;
        }

        .b-section__title.ta_center {
            text-align: center;
        }

        section.b-section.b-section_bg .b-section__title {
            margin-top: 0;
        }


        @media screen and (max-width: 991px) {
            h2.b-section__title {
                font-size: 30px;
                line-height: 34px;
                margin-top: 2.25rem;
                margin-bottom: 2.25rem;
                text-align: center;
            }

            section.b-section.b-section_bg {
                padding: 3rem 1rem;
                margin: 0 -1rem;
            }
        }

        .common-blocks,
        .portfolio-blocks {
            display: flex;
            flex-direction: row;
            gap: 3rem 30px;
            flex-wrap: wrap;
            align-content: stretch;
        }

        .common-block,
        .portfolio-block {
            flex: 0 0 calc(33.33% - 30px * 2 / 3);
            /* background: #f34; */
            padding-bottom: 1rem;
        }

        .portfolio-block__wrap {
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
            height: 100%;
        }

        .common-block__image,
        .portfolio-block__image {
            aspect-ratio: 300/180;
            position: relative;
            width: 100%;
            overflow: hidden;
        }

        .common-block__image img,
        .portfolio-block__image img {
            display: block;
            position: absolute;
            object-fit: cover;
            top: 0;
            height: 100%;
            width: 100%;
            transform: scale(1.1);
            transition: all 0.5s;
        }

        .common-block:hover .common-block__image img,
        .portfolio-block:hover .portfolio-block__image img {
            transform: scale(1);
        }

        .common-block__name,
        .portfolio-block__name {
            display: block;
            font-weight: 700;
            color: #111111;
            font-size: 20px;
            padding: 1.5rem 1rem;
            position: relative;
        }

        .common-block__image + .common-block__name::after,
        .portfolio-block__image + .portfolio-block__name::after {
            content: '';
            position: absolute;
            left: 1rem;
            bottom: 60px;
            width: 1px;
            height: 60px;
            background-color: #111;
        }

        .common-block__description,
        .portfolio-block__description {
            line-height: 1.6;
            color: #4a4a4a;
            padding: 0 1rem;
        }

        .portfolio-block__description {
            margin-bottom: 16px;
        }

        .portfolio-block__btn {
            display: flex;
            color: #111111;
            font-size: 11px;
            line-height: 18px;
            letter-spacing: 2px;
            font-weight: 500;
            position: relative;
            padding: 15px 36px;
            text-transform: uppercase;
            border: 1px solid #111111;
            text-decoration: none;
            transition: all 0.1s;
            margin-left: auto;
            margin-right: auto;
            width: auto;
            margin-top: auto;

        }

        .portfolio-block__btn:hover {
            color: white;
            background-color: #111111;
            text-decoration: none;
        }




        .numbered-block {
            width: 100%;
            max-width: 800px;
            padding: 1rem;
            position: relative;
            box-sizing: border-box;
        }

        .numbered-block:before {
            content: '';
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: #f6f6f6;
            z-index: -1;
            position: absolute;
            transition: all 0.3s;
            opacity: 1;
            transform: translateX(0);
        }

        .numbered-blocks {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.5rem;
        }

        .numbered-block__wrap {
            display: flex;
            flex-direction: row;
            gap: 16px;
            align-items: center;
        }

        .numbered-block__num {
            font-size: 26px;
            font-weight: 300;
            display: flex;
            align-items: center;
            justify-content: center;
            height: 4rem;
            width: 4rem;
            border: 1px #000 solid;
            position: relative;
            flex: 0 0 4rem;

        }

        .numbered-block__num::before {
            content: '';
            top: -1.65rem;
            left: 2rem;
            display: block;
            height: 2rem;
            width: 0;
            border-left: 1px #000 solid;
            position: absolute;
            transition: all 0.3s;
        }

        .numbered-block__num::after {
            content: '';
            bottom: -1.65rem;
            left: 2rem;
            display: block;
            height: 2rem;
            width: 0;
            border-left: 1px #000 solid;
            position: absolute;
            transition: all 0.3s;
        }

        .numbered-block:hover .numbered-block__num::before,
        .numbered-block:hover .numbered-block__num::after {
            height: 2.25rem;
        }

        .numbered-block:hover::before {
            transform: translateX(-5%);
            opacity: 0;
        }

        .numbered-block__content {
            line-height: 1.8;
        }

        .numbered-block__description {
            line-height: 1.6;
            color: #4a4a4a;
        }


        .faq-list {
            flex: 1 1 auto;
        }

        .faq-item {
            border: 1px #E6E6E6 solid;
        }

        .faq-item + .faq-item {
            margin-top: -1px;
        }

        .faq-item__head {
            position: relative;
            padding: 18px 96px 18px 18px;
            min-height: 64px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            color: #333F48;
            gap: 3px;
            font-size: 18px;
            cursor: pointer;
        }

        @media screen and (max-width: 986px) {
            .faq-item__head {
                padding: 16px 78px 16px 16px;
            }
        }

        .faq-item__head:after {
            content: '';
            background-color: #0000;
            background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQiIGhlaWdodD0iNjQiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC40MzA5OSIgeT0iMC40MzA5OSIgd2lkdGg9IjYzLjEzOCIgaGVpZ2h0PSI2My4xMzgiIHJ4PSIzMS41NjkiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS1vcGFjaXR5PSIwLjE5IiBzdHJva2Utd2lkdGg9IjAuODYxOTc5Ii8+CjxwYXRoIGQ9Ik0yNS4xNzE5IDI3LjYwNjlMMzEuODgxMyAzNC4zNDYyTDM4Ljg4MyAyNy44ODg0IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIuMjk4NjIiLz4KPC9zdmc+);
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center center;
            display: block;
            width: 64px;
            height: 64px;
            transform: rotate(0);
            position: absolute;
            top: 50%;
            right: 18px;
            margin-top: -32px;
        }

        @media screen and (max-width: 986px) {
            .faq-item__head:after {
                width: 46px;
                height: 46px;
                right: 16px;
                margin-top: -23px;
            }
        }

        .faq-item__body {
            padding: 0 18px 32px 18px;
        }

        .faq-item.open .faq-item__head:after {
            transform: rotate(180deg);
        }

        .faq-item.open .faq-item__head {
            font-weight: bold;
        }

        .cta-block {
            display: flex;
            flex-direction: row;
            gap: 50px;
            align-items: center;
            max-width: 800px;
            margin: 0 auto;
        }
        .cta-block__description{
            font-size: 28px;
            text-align: center;
            line-height: 1.5;
            font-weight: bold;
        }
        .cta-block__description.typo a{
            color: #fff;
        }
        .cta-block__btn {
            display: flex;
            color: #fff;
            font-size: 11px;
            line-height: 18px;
            letter-spacing: 2px;
            font-weight: 500;
            position: relative;
            padding: 15px 36px;
            text-transform: uppercase;
            border: 1px solid #fff;
            text-decoration: none;
            transition: all 0.1s;
            width: auto;
        }
        .cta-block__btn:hover {
            color: #111111;
            background: #ffffff;
            border: 1px solid #fff;
            text-decoration: none;
        }


        @media screen and (max-width: 986px) {
            .cta-block{
                flex-direction: column;
            }
        }


        .stages-blocks {
            display: flex;
            flex-direction: row;
            gap: 30px;
            width: 100%;
            flex-wrap: wrap;
        }

        .stage-block {
            flex: 0 0 calc(33.33% - 30px*2/3);
            background-color: #fff;
            padding: 40px 31px;
            text-align: center;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            box-shadow: 0 20px 30px rgba(0, 0, 0, .1);
            box-sizing: border-box;
            position: relative;
        }
        .stage-block:after {
            content:'';
            width: 0;
            height: 0;
            border-top: 60px solid transparent;
            border-left: 10px solid #fff;
            border-bottom: 60px solid transparent;
            left: 100%;
            top:50%;
            position: absolute;
            z-index:3;
            transform: translateY(-50%);
        }
        .stage-block__num {
            position: absolute;
            top: 0;
            left: 0;
            color: #fff;
            display: flex;
            height: 40px;
            width: 40px;
            background: #111111;
            align-items: center;
            justify-content: center;
            font-size: 20px;
        }

        .stage-block__name {
            font-size: 18px;
            font-weight: bold;
            margin-bottom: 18px;
        }

        .stage-block__description {
            color: #4a4a4a;
            line-height: 1.4;
        }
        @media (max-width: 986px) {
            .common-block,
            .stage-block,
            .portfolio-block {
                flex: 0 0 calc(50% - 30px * 1 / 2);
            }
        }

        @media (max-width: 676px) {
            .common-block,
            .stage-block,
            .portfolio-block {
                flex: 0 0 100%;
            }
            .stage-block:after {
            	border:none;
                border-left: 60px solid transparent;
                border-top: 10px solid #fff;
                border-right: 60px solid transparent;
                left: 50%;
                top: 100%;
                bottom:auto;
                right:auto;
                position: absolute;
                z-index: 3;
                transform: translateX(-50%);
            }
        }
        
         /* Стили для неупорядоченного списка (ul) и элементов списка (li) */
        .typo ul {
            list-style-type: disc; /* Традиционные точки для маркированного списка */
            margin: 1em 0; /* Отступы сверху и снизу */
            padding-left: 2em; /* Отступ для маркеров */
        }

        .typo ul li {
            margin-bottom: 0.5em; /* Отступ между элементами списка */
            line-height: 1.6; /* Улучшает читаемость */
            list-style: inherit;
        }

        /* Стили для упорядоченного списка (ol) */
        .typo ol {
            list-style-type: decimal; /* Цифровая нумерация */
            margin: 1em 0; /* Отступы сверху и снизу */
            padding-left: 2em; /* Отступ для номеров */
        }

        .typo ol li {
            margin-bottom: 0.5em; /* Отступ между элементами списка */
            line-height: 1.6; /* Улучшает читаемость */
            list-style: inherit;
        }

        /* Стили для ссылок (a) */
        .typo a {
            color: #1a73e8; /* Современный синий цвет для ссылок */
            text-decoration: none; /* Убираем подчеркивание по умолчанию */
            transition: color 0.3s ease, text-decoration 0.3s ease; /* Плавные переходы для эффектов */
        }

        .typo a:hover {
            text-decoration: underline; /* Подчеркивание при наведении */
            color: #1557b0; /* Темнее при наведении для визуальной обратной связи */
        }

        .typo a:focus {
            outline: 2px solid #1a73e8; /* Контур для доступности при фокусе */
            outline-offset: 2px; /* Отступ контура */
        }

        .typo a:active {
            color: #0d47a1; /* Еще темнее при клике */
        }