@media only screen and (min-width: 1080px) {
  h1, .h1-style {
    font-size: 3.5vw;
    line-height: 4vw;
    margin: 0 0 2.2vw 0;
  }
  h2, .h2-style {
    font-size: 3.2vw;
    line-height: 3.7vw;
    margin: 0 0 1.8vw 0;
  }
  h3, .h3-style {
    font-size: 3vw;
    line-height: 3.5vw;
    margin: 0 0 1.8vw 0;
  }
  h4, .h4-style {
    font-size: 2.6vw;
    line-height: 3vw;
    margin: 0 0 1.8vw 0;
  }
}
@media only screen and (min-width: 1420px) {
  h1, .h1-style {
    font-size: 60px;
    line-height: 70px;
    margin: 0 0 32px 0;
  }
  h2, .h2-style {
    font-size: 48px;
    line-height: 58px;
    margin: 0 0 40px 0;
  }
  h3, .h3-style {
    font-size: 32px;
    line-height: 40px;
    margin: 0 0 40px 0;
  }
  h4, .h4-style {
    font-size: 28px;
    line-height: 34px;
    margin: 0 0 32px 0;
  }
}
@media only screen and (min-width: 1080px) {
  .button-wrap--m-center {
    justify-content: flex-start;
  }
  .button-wrap--space {
    margin-top: 60px;
  }
  .s-button {
    height: 60px;
    padding-left: 24px;
    padding-right: 24px;
    font-size: 24px;
    line-height: 28px;
  }
  .s-button.s-button--small {
    height: 40px;
    padding-left: 20px;
    padding-right: 20px;
    font-size: 16px;
    line-height: 20px;
  }
  .s-button.s-button-width {
    min-width: 290px;
  }
  .s-button.s-button--dark.s-button--small {
    font-size: 18px;
    line-height: 26px;
    height: 50px;
  }
  .show-more-button {
    height: 60px;
    font-size: 18px;
    line-height: 22px;
  }
}
@media only screen and (min-width: 1080px) {
  input[type=text], input[type=email], input[type=password], input[type=tel], textarea, .s-input {
    padding: 18px;
    font-size: 16px;
    line-height: 22px;
  }
  input[type=text]::placeholder, input[type=email]::placeholder, input[type=password]::placeholder, input[type=tel]::placeholder, textarea::placeholder, .s-input::placeholder {
    font-size: 16px;
    line-height: 22px;
  }
}
@media only screen and (min-width: 764px) {
  .screen-section.screen-section--mob {
    min-height: 100vh;
  }
  .screen-section.screen-section--mob .screen-section__inner, .screen-section.screen-section--mob .screen-section__inner--full {
    min-height: 100vh;
  }
  .decoration-line-top, .decoration-line-bottom {
    width: 98%;
  }
  .card-section__image {
    display: flex;
    justify-content: center;
  }
  .card-section__image .card-section__image-wrapper {
    position: relative;
    width: 78%;
    max-width: 424px;
  }
  .card-section__image .rotate-image {
    position: relative;
    z-index: 10;
  }
  .card-section__image .rotate-image img {
    width: auto;
    max-width: 100%;
  }
  .card-section__image .image-decoration {
    display: block;
    position: absolute;
    top: -100px;
    left: -200px;
    width: 490px;
    height: 295px;
  }
}
@media only screen and (min-width: 1080px) {
  body {
    font-size: 20px;
    line-height: 26px;
  }
  .tablet-container {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .section-640 {
    max-width: 600px;
  }
  .m-t-center {
    text-align: left;
  }
  .desctop-hide {
    display: none;
  }
  .mobile-hide {
    display: block;
  }
  .mobile-hide-flex {
    display: flex;
  }
  .screen-section__inner {
    padding-left: 0;
    padding-right: 0;
    max-width: 1520px;
  }
  .m-container {
    padding-left: 40px;
    padding-right: 40px;
    max-width: 1520px;
  }
  .screen-section__inner.screen-section__hero {
    padding-bottom: 112px;
  }
  .button-space {
    margin-top: 2.4vw;
  }
  .section-description {
    font-size: 18px;
    line-height: 26px;
  }
  .section-height {
    height: 100vh;
    min-height: 100vh;
  }
  .section-height > .m-container {
    height: 100%;
  }
  .section-height.section-space {
    padding: 0;
  }
  .section-space {
    padding-top: 112px;
    padding-bottom: 112px;
  }
  .section-768-center {
    width: 55%;
  }
  .slider-controls {
    width: 116px;
  }
  .slider-controls button {
    width: 48px;
    height: 48px;
  }
  .t-stars {
    width: 132px;
    height: 24px;
  }
  .decoration-line-left, .decoration-line-right {
    width: 1px;
  }
  .decoration-line-top, .decoration-line-bottom {
    height: 1px;
    width: 99%;
  }
  .decoration-line-top {
    top: 30px;
  }
}
@media only screen and (min-width: 1200px) {
  .section-decoration-left-bottom {
    position: relative;
  }
  .section-decoration-left-bottom:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    transform: translateY(50%);
    z-index: 2;
    background: url(../images/card-section-decoration.svg) no-repeat center center;
    width: 562px;
    height: 1232px;
  }
  .section-description {
    font-size: 20px;
    line-height: 28px;
  }
}
@media only screen and (min-width: 1420px) {
  .m-container, .screen-section__inner {
    width: 100%;
    max-width: 1520px;
  }
  .section-640 {
    max-width: 640px;
  }
  .screen-section__inner--space {
    padding-top: 112px;
    padding-bottom: 112px;
  }
  .large_text {
    font-size: 50px;
    line-height: 56px;
  }
}
@media only screen and (min-width: 764px) {
  .header .lang-menu {
    margin-right: 20px;
  }
  .header__left-part, .header__right-part {
    width: 33.33%;
  }
  .header__central-part {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 33.33%;
  }
}
@media only screen and (min-width: 1080px) {
  .header {
    height: 100px;
  }
  .header .main-menu-nav {
    display: block;
  }
  .header .main-menu-nav ul {
    display: flex;
    align-items: center;
    column-gap: 32px;
  }
  .header .main-menu-nav ul a {
    font-family: "InterSemiBold", sans-serif;
    font-size: 16px;
    line-height: 22px;
    color: #ffffff;
    text-decoration: none;
    transition: color 0.3s;
  }
  .header .main-menu-nav ul a:hover {
    color: #52F2C8;
  }
  .header .main-menu-nav ul a:focus {
    color: #89AC9F;
  }
  .logo {
    width: 100px;
    height: 60px;
  }
  .menu-button {
    display: none;
  }
}
@media only screen and (min-width: 1080px) {
  .menu-section {
    display: none;
  }
  .menu-section.active {
    display: none;
  }
}
@media only screen and (min-width: 1080px) {
  .hero-wrapper {
    height: 150vh;
  }
  .hero {
    padding-top: 100px;
  }
  .template-bg-hero-top-left-top-center {
    background-size: initial, initial;
  }
  .template-bg-hero-left-center-right-center-bottom-center {
    background-size: initial, initial, initial;
  }
  .hero-decoration-top-center {
    background: url(../images/template-bgs/hero-top-center-bg.svg) no-repeat center top;
    background-size: initial;
  }
  .hero-decoration-top-left {
    background: url(../images/template-bgs/hero-left-top-bg-2.svg) no-repeat top left;
    background-size: initial;
  }
  .hero-decoration-ellipse {
    background: url(../images/template-bgs/hero-ellipse-clear.svg) no-repeat center center;
    background-size: cover;
  }
  .hero-decoration-ellipse-full {
    background: url(../images/template-bgs/hero-ellipse-clear-full.svg) no-repeat center center;
    background-size: contain;
    max-width: 2334px;
    max-height: 1432px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .hero-decoration-skeleton {
    background-image: url(../images/template-bgs/hero-skeleton-bg.svg), url(../images/template-bgs/hero-left-center-bg-clear.svg), url(../images/template-bgs/hero-right-center-bg-clear.svg);
    background-repeat: repeat-x, no-repeat, no-repeat;
    background-position: top center, left center, right 10%;
    background-size: contain;
  }
  .hero-decoration-bottom-center {
    background: url(../images/template-bgs/hero-bottom-center-bg-clear.svg) no-repeat bottom center;
    background-size: initial;
  }
  .hero-decoration-skeleton-full {
    background: url(../images/template-bgs/hero-back-skeleton.svg) no-repeat top center;
    background-size: cover;
  }
  .hero-decoration-back {
    background: url(../images/template-bgs/Back.svg) no-repeat top center;
    background-size: cover;
  }
}
@media only screen and (min-width: 1080px) {
  .scroll-down {
    margin-bottom: 34px;
  }
  .main-page-hero__video {
    padding-top: 0;
    height: 714px;
  }
}
@media only screen and (min-width: 764px) {
  .card-section__hand {
    margin-left: -144px;
    margin-top: 20px;
  }
  .card-section__text {
    margin-top: 40px;
    position: relative;
    z-index: 10;
  }
  .card-section .m-container.firefly-top:before {
    content: "";
    animation: fireflyTop 4s linear forwards;
  }
  .card-section .m-container.firefly-bottom:before {
    content: "";
    animation: fireflyBottom 4s linear forwards;
  }
}
@media only screen and (min-width: 1080px) {
  .card-section {
    margin-top: 116px;
  }
  .card-section .m-container {
    padding-top: 40px;
    padding-bottom: 24px;
  }
  .card-section .m-container:before {
    content: "";
    left: 13.5px;
    width: 14px;
    height: 261px;
  }
  .card-section .m-container.firefly-bottom:before {
    content: "";
    bottom: 12.5px;
    animation: fireflyBottom 6s linear forwards;
  }
  .card-section .m-container.firefly-right:before {
    content: "";
    right: 13.5px;
  }
  .card-section .m-container.firefly-top:before {
    content: "";
    top: 24px;
    animation: fireflyTop 6s linear forwards;
  }
  .card-section .m-container .card-section__wrapper {
    padding-top: 142px;
    padding-bottom: 120px;
  }
  .card-section__hand {
    margin-left: -116px;
  }
}
@media only screen and (min-width: 1200px) {
  .card-section__hand {
    margin-left: 0;
  }
  .card-section__hand img {
    margin-left: auto;
    margin-right: auto;
    transform: translateX(-8%);
  }
  .card-section__hand {
    margin-left: -102px;
  }
}
@media only screen and (min-width: 764px) {
  .general-info .running-line {
    margin-top: 80px;
    height: 50px;
  }
  .general-info .running-line .initial-child-container {
    column-gap: 72px;
    padding-left: 72px;
  }
  .general-info .general-info__decoration--map {
    top: 150px;
  }
  .general-info .general-info__decoration--top-right {
    background: url(../images/template-bgs/general-info-right-top.svg) no-repeat top right;
    background-size: cover;
    top: -140px;
  }
  .general-info .general-info__decoration--bottom-right {
    bottom: -150px;
  }
}
@media only screen and (min-width: 1080px) {
  .general-info {
    margin-top: 188px;
    padding-bottom: 100px;
  }
  .general-info .running-line {
    margin-top: 118px;
  }
  .general-info .general-info__decoration--map {
    top: 200px;
  }
}
@media only screen and (min-width: 1420px) {
  .descriptions-cards-section:before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: -61px;
    background: url(../images/template-bgs/border-decoration-left.svg) no-repeat top center;
    background-size: cover;
    z-index: 3;
    width: 6px;
    height: 168px;
  }
}
@media only screen and (min-width: 764px) {
  .descriptions-cards-section {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    max-width: 1106px;
    margin-left: auto;
    margin-right: auto;
  }
  .description-card {
    margin-top: 0;
    width: calc(50% - 8px);
  }
}
@media only screen and (min-width: 1080px) {
  .descriptions-cards-section {
    margin-top: 128px;
  }
  .description-card {
    width: calc(55% - 8px);
    max-width: 590px;
    background: #0A0B0B url(../images/cription-card-bg-big.svg) no-repeat center center;
    background-size: cover;
  }
  .description-card:after {
    content: "";
    background: url(../images/description-card-left-top.svg) no-repeat center center;
    position: absolute;
    top: 0;
    left: 0;
    right: auto;
    width: 451px;
    height: 381px;
  }
  .description-card:before {
    content: "";
    background: url(../images/description-card-center-bottom.svg) no-repeat center center;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 556px;
    height: 327px;
  }
  .description-card:hover {
    background: #0A0B0B url(../images/cription-card-bg-big-hover.svg) no-repeat center center;
    background-size: cover;
  }
  .description-card.description-card--small {
    width: calc(45% - 8px);
    max-width: 500px;
    background: #0A0B0B url(../images/description-card-bg.svg) no-repeat center center;
    background-size: cover;
  }
  .description-card.description-card--small:after {
    content: "";
    background: url(../images/description-card-top-right.svg) no-repeat center center;
    width: 433px;
    height: 338px;
    position: absolute;
    top: 0;
    right: 0;
    left: auto;
  }
  .description-card.description-card--small:before {
    content: "";
    background: url(../images/description-card-left-bottom.svg) no-repeat center center;
    width: 264px;
    height: 400px;
    position: absolute;
    left: 0;
    bottom: 0;
    transform: translateX(0);
  }
  .description-card.description-card--small:hover {
    background: #0A0B0B url(../images/description-card-bg-hover.svg) no-repeat center center;
    background-size: cover;
  }
  .description-card.description-card--small .icon {
    padding-top: 69%;
    position: relative;
  }
  .description-card .icon {
    padding-top: 56%;
    position: relative;
  }
  .description-card .title {
    font-size: 24px;
    line-height: 32px;
  }
  .description-card .button-wrap {
    display: flex;
  }
}
@media only screen and (min-width: 764px) {
  .motivation-section {
    margin-top: 80px;
    max-width: 800px;
  }
  .motivation-section__list {
    column-gap: 20px;
    margin-top: 60px;
    justify-content: center;
  }
  .motivation-section__list li > div {
    display: flex;
    align-items: center;
    column-gap: 16px;
  }
  .motivation-section__list p {
    font-size: 16px;
    line-height: 24px;
    margin: 0;
  }
  .motivation-section__list.motivation-section__list--3 li {
    width: auto;
  }
}
@media only screen and (min-width: 1080px) {
  .motivation-section {
    margin-top: 108px;
  }
  .motivation-section__list {
    column-gap: 40px;
  }
}
@media only screen and (min-width: 764px) {
  .reviews-section__decoration {
    max-width: 1353px;
    max-height: 1389px;
    background: url(../images/template-bgs/trust-pilot-decoration.svg) no-repeat top center;
    background-size: contain;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
  }
}
@media only screen and (min-width: 1080px) {
  .reviews-section {
    margin-top: 200px;
  }
  .reviews-section h2 {
    margin-bottom: 100px;
  }
  .reviews-section .button-wrap {
    margin-top: 100px;
  }
  .reviews-section .initial-child-container {
    column-gap: 16px;
  }
  .reviews-section .running-line-item {
    border-radius: 20px;
    min-height: 290px;
    padding: 40px;
    width: 422px;
  }
  .reviews-section .review {
    font-size: 16px;
    line-height: 22px;
  }
  .reviews-section .review-author {
    font-size: 16px;
    line-height: 22px;
  }
  .reviews-section .running-line--reverse {
    margin-top: 16px;
  }
  .reviews-section .running-line-shadows:before {
    content: "";
    position: absolute;
    width: 217px;
    height: 100%;
    max-height: 1292px;
    top: 0;
    left: 0;
    z-index: 10;
    background: url(../images/shadow-left.svg) no-repeat left center;
    background-size: cover;
  }
  .reviews-section .running-line-shadows:after {
    content: "";
    position: absolute;
    width: 217px;
    height: 100%;
    max-height: 1292px;
    top: 0;
    right: 0;
    z-index: 10;
    background: url(../images/shadow-right.svg) no-repeat right center;
    background-size: cover;
  }
}
@media only screen and (min-width: 1080px) {
  .s-accordion-item {
    padding: 16px 0 16px 0;
  }
  .s-accordion-item-head {
    font-size: 20px;
    line-height: 28px;
  }
  .s-accordion-item-head .open-close {
    width: 50px;
    height: 50px;
    margin-left: 24px;
  }
  .s-accordion-item-head .open-close .plus {
    width: 24px;
    height: 24px;
  }
  .s-accordion-item-content {
    font-size: 20px;
    line-height: 26px;
  }
}
@media only screen and (min-width: 764px) {
  .faq-section {
    padding-right: 20px;
    padding-left: 20px;
  }
  .faq-section__wrap {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (min-width: 1080px) {
  .faq-section {
    padding-top: 200px;
    padding-right: 0;
    padding-left: 0;
  }
  .faq-section:before {
    content: "";
    width: 998px;
    height: 991px;
    right: 0;
    bottom: auto;
    top: 0;
    left: auto;
    transform: translate(0, 0);
    background: url(../images/faq-decoration.svg) no-repeat top right;
    background-size: contain;
  }
  .faq-accordion {
    margin-top: 80px;
  }
  .have-questions {
    margin-top: 96px;
  }
  .have-questions .section-description {
    font-size: 20px;
    line-height: 26px;
  }
  .have-questions__text {
    max-width: 562px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (min-width: 1200px) {
  .faq-section:before {
    content: "";
    width: 1098px;
    height: 1091px;
    right: 0;
    bottom: auto;
    top: 0;
    left: auto;
    transform: translate(0, 0);
    background: url(../images/faq-decoration.svg) no-repeat top right;
    background-size: cover;
  }
}
@media only screen and (min-width: 764px) {
  .footer-container {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (min-width: 1080px) {
  .bottom-left-decoration {
    background: url(../images/footer-bottom-left-decoration.svg) no-repeat bottom left;
    background-size: contain;
  }
  .bottom-right-decoration {
    background: url(../images/footer-bottom-right-decoration.svg) no-repeat bottom right;
    background-size: contain;
  }
  .footer-skeleton-decoration {
    background: url(../images/footer-skeleton-decoration.svg) no-repeat top center;
    background-size: cover;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
  }
  footer {
    margin-top: 152px;
  }
  .footer-container {
    padding-top: 156px;
    padding-left: 0;
    padding-right: 0;
  }
  .full-footer {
    display: flex;
    justify-content: space-between;
    column-gap: 40px;
  }
  .full-footer .copy {
    display: block;
  }
  .full-footer .socials {
    display: flex;
  }
  .mobile-footer {
    margin-top: 0;
    display: none;
  }
  .copy {
    font-size: 16px;
    line-height: 22px;
    text-align: left;
  }
  .footer-main-menu {
    width: auto;
  }
  .footer-main-menu li {
    margin-top: 24px;
  }
  .footer-main-menu li:first-child {
    margin: 0;
  }
  .footer-secondary-menu {
    width: auto;
  }
  .footer-secondary-menu li {
    margin-top: 24px;
  }
  .footer-secondary-menu li:first-child {
    margin: 0;
  }
  .footer-logo {
    padding-left: 0;
    padding-right: 0;
    margin-top: 32px;
  }
}