@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&family=Onest:wght@100..900&display=swap');

* {outline: none !important; }
img {max-width: 100%; }
button {transition: .5s; border: none; background: none; padding: 0; margin: 0; box-shadow: none; }

:root, [data-bs-theme=light] {
  --bs-font-sans-serif: "Manrope", sans-serif;
  --bs-font-monospace: var(--bs-font-sans-serif);
}

body {
  --font-family-base: "Manrope", sans-serif;
  --font-family-headings: "Onest", sans-serif;
  --accent-base-color: #5C9FF7;
  --accent-base-color-hover: #70B3FF;
  --accent-base-color-pressed: #488BE3;
  --accent-base-color-disabled: #E4E4E4;
  --text-color: #181F22;
  --grey-color: #F3F3F3;
  --text-inputs: #9A9A9A;
  --border-radius-control: 30px;
  --bs-body-color: #fff;

  --bs-body-font-size: 16px;
  --bs-font-sans-serif: var(--font-family-base);
  --bs-font-monospace: var(--font-family-base);
  --bs-body-font-weight: 500;
  --bs-body-line-height: 1.3;

  --bs-primary: var(--accent-base-color);
  --bs-info: var(--accent-base-color);
  --bs-link-color: #5C9FF7CC;
  --bs-link-color-rgb: 92, 159, 247;
  --bs-link-hover-color: #000;
  --bs-link-hover-color-rgb: 0, 0, 0;
  --bs-nav-pills-link-active-bg: var(--accent-base-color);

  --radius-md: 20px;
  --radius-lg: 20px;

  --black: #262626;
  --grey: #D4DEEB;
  --dark-grey: #3B3B3B;
  --soft-blue: #BCD9FF;

  --bs-purple: #E6DCFF;
  --bs-blue: #5C9FF7;
}

a {text-decoration: none; transition: .5s;}
a[href*="tel"] {white-space: nowrap; }

h1, .h1 {font-size: 64px; line-height: 1.3; font-weight: 800; font-family: var(--font-family-headings);}
h2, .h2 {font-size: 48px; line-height: 1.3; font-weight: 600; font-family: var(--font-family-headings);}
h3, .h3 {font-size: 32px; line-height: 1.3; font-weight: 600; font-family: var(--font-family-headings);}
h4, .h4 {font-size: 24px; line-height: 1.3; font-weight: 600; font-family: var(--font-family-headings);}
h5, .h5 {font-size: 20px; line-height: 1.3; font-weight: 600; font-family: var(--font-family-headings);}
h6, .h6 {font-size: 18px; line-height: 1.3; font-weight: 600; font-family: var(--font-family-headings);}

.price {font-size: 36px; line-height: 1.3; font-weight: 800; font-family: var(--font-family-headings);}
.tag {padding: 6px 10px; border: 2px solid currentColor; border-radius: 30px; white-space: nowrap; width: max-content;}

b, strong {font-weight: 400; }

.font-normal {font-weight: 400; }
.font-medium {font-weight: 500; }
.semi-strong {font-weight: 600; }
.text-uppercase {text-transform: uppercase; }
.text-md {font-size: 16px;}
.text-lg {font-size: 20px;}

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

p {margin-bottom: 24px;}
p:last-child {margin-bottom: 0;}

body {background: #ffffff; color: var(--text-color); font-optical-sizing: auto; font-variation-settings: "slnt" 0;}

.container {width: 100%; max-width: 1358px; padding-left: 15px; padding-right: 15px;}

.page {position: relative; display: flex; flex-direction: column; overflow-x: hidden; width: 100%; min-height: 100vh; }
.page__main {flex-grow: 1; max-width: 1920px; margin-left: auto; margin-right: auto; overflow: hidden; width: 100%;}

.page__title {font-weight: 600; font-size: 48px; line-height: 1; margin-bottom: 32px; }
.page__lead-text {max-width: 880px; margin-bottom: 32px;}

.bg-black {background: var(--black) !important; color: #fff;}
.bg-purple {background: var(--bs-purple) !important;}
.bg-blue {background: var(--bs-blue) !important; color: #fff;}
.bg-soft-blue {background: var(--soft-blue) !important;}
.bg-grey {background: var(--grey) !important;}
.bg-dark-grey {background: var(--dark-grey) !important; color: #fff;}}

.price {font-weight: 800; font-size: 36px; line-height: 1.3;}

.menu-open {overflow: hidden;}

.svg-icon-wrap {display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.color-accent {color: var(--accent-base-color); }

.btn {display: inline-flex; align-items: center; justify-content: center; gap: 8px; text-align: center; padding: 10px 35px; border-radius: var(--border-radius-control); min-height: 54px; font-size: 20px;}
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-blue);
  --bs-btn-border-color: var(--bs-blue);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--accent-base-color-hover);
  --bs-btn-hover-border-color: var(--accent-base-color-hover);
  --bs-btn-focus-shadow-rgb: none;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--accent-base-color-pressed);
  --bs-btn-active-border-color: var(--accent-base-color-pressed);
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #888;
  --bs-btn-disabled-bg: var(--accent-base-color-disabled);
  --bs-btn-disabled-border-color: var(--accent-base-color-disabled);
}
.btn-info {
  --bs-btn-color: #fff;
  --bs-btn-bg: #000;
  --bs-btn-border-color: #000;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--accent-base-color);
  --bs-btn-hover-border-color: var(--accent-base-color);
  --bs-btn-focus-shadow-rgb: none;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--accent-base-color);
  --bs-btn-active-border-color: var(--accent-base-color);
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #989898;
  --bs-btn-disabled-border-color: #989898;
}
.btn-bordered {
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--accent-base-color-hover);
  --bs-btn-hover-border-color: var(--accent-base-color-hover);
  color: var(--bs-blue); border: 2px solid var(--bs-blue); background: transparent;
}

.table {
  --bs-table-color-type: initial;
  --bs-table-bg-type: initial;
  --bs-table-color-state: initial;
  --bs-table-bg-state: initial;
  --bs-table-color: inherit;
  --bs-table-bg: inherit;
  --bs-table-border-color: #AAAAAA4D;
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: var(--bs-emphasis-color);
  --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
  --bs-table-active-color: var(--bs-emphasis-color);
  --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
  --bs-table-hover-color: var(--bs-emphasis-color);
  --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
}

.accent-color {color: var(--accent-base-color);}

ul, ol {margin-top: 30px; margin-bottom: 30px;}
li:not(:last-child) {margin-bottom: 10px;}
ul.h5 li {margin-bottom: 30px;}
li::marker {color: var(--accent-base-color);}

.col:not(:last-child) > ol {margin-bottom: 0;}

.list-numeric li:not(:last-child),
.list-stars li:not(:last-child) {margin-bottom: 24px;}
/*.list-numeric li,*/
.list-stars li {position: relative; padding-left: 40px; min-height: 24px;}
/*.list-numeric li::before,*/
.list-stars li::before {content: ''; width: 24px; height: 24px; position: absolute; left: 0; top: 0; display: block; }

.list-stars {padding-left: 0;}
.list-stars li::before {background: url('../img/icon-star.svg') no-repeat 0 0;}
.list-stars li::marker {content: none;}

.list-numeric {list-style-type: decimal-leading-zero; counter-reset: num; padding-left: 40px; }
.list-numeric li::marker {color: var(--bs-blue); font-weight: 800; font-family: var(--font-family-headings); font-size: 20px; line-height: 24px;}
/*.list-numeric li::before {content: counter(num); counter-increment: num; color: var(--bs-blue); font-weight: 800; font-family: var(--font-family-headings); font-size: 20px; line-height: 24px;}*/
/*.list-numeric li:nth-child(-n+9):before {content: '0'counter(num);}*/


blockquote {border-top: 2px solid var(--soft-blue); border-bottom: 2px solid var(--soft-blue); padding: 24px 0; margin: 24px 0; text-align: center; font-size: 16px;}
blockquote::before {content: ''; display: block; width: 40px; height: 40px; background: url(../img/icon-quote.svg) no-repeat 0 0; margin: 0 auto 20px;}
blockquote > *:not(:last-child) {margin-bottom: 20px;}



.breadcrumbs {margin-top: 20px; margin-bottom: 60px; font-size: 20px; line-height: 1.3; font-weight: 500; text-transform: lowercase;}
.breadcrumbs__item {display: inline-flex; gap: 10px; align-items: center; margin-right: 10px;}
.breadcrumbs__item:has(a)::after {content: ''; display: flex; align-items: center; justify-content: center; width: 16px; height: 16px; background: url('../img/breadcrumbs.svg');}
.breadcrumbs__link {white-space: nowrap; color: #00000099;}
.breadcrumbs__link:hover {color: var(--accent-base-color-hover);}

.section-block {padding: 0 48px; position: relative; border-radius: var(--radius-md);}
.section-block[class*="bg-"] {padding-top: 60px; padding-bottom: 60px;}

.section {padding-top: 30px; padding-bottom: 30px; }
.section__title {margin-bottom: 32px;}

.v-padding-free {padding-top: 0; padding-bottom: 0;}

.header {color: #fff; background: var(--dark-grey); border-bottom-right-radius: var(--radius-md); border-bottom-left-radius: var(--radius-md); position: relative;}
.header__bottom {background: var(--black); border-bottom-right-radius: var(--radius-md); border-bottom-left-radius: var(--radius-md); padding: 14px 0; position: relative;}
.header {}
.header__main {display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-top: 22px; padding-bottom: 22px;}
.header__menu-mobile {display: none;}
.header__menu ul {list-style: none; margin: 0; padding: 0; display: flex; gap: 32px;}
.header__menu li {margin: 0; padding: 0;}
.header__menu li a {color: #fff;}
.header__menu li a.active,
.header__menu li a:hover {color: var(--accent-base-color-hover);}

.header__contacts {display: flex; align-items: center; gap: 32px;}
.header__bottom-container {display: flex; align-items: center; justify-content: space-between; padding-left: 48px; padding-right: 48px;}
.header__bottom-container .btn {padding: 5px 34px; min-height: 44px; font-size: 16px;}

.header__bottom-menu ul {list-style: none; margin: 0; padding: 0; display: flex; gap: 32px;}
.header__bottom-menu li {margin: 0; padding: 0;}
.header__bottom-menu li a {color: #fff;}
.header__bottom-menu li a.active,
.header__bottom-menu li a:hover {color: var(--accent-base-color-hover);}

.header__burger-btn {display: none;}


.footer {margin-top: 30px; position: relative;}
.footer__container {color: #fff; background: var(--black); border-top-right-radius: var(--radius-md); border-top-left-radius: var(--radius-md); padding: 20px 48px 40px;}
.footer__main {display: flex; justify-content: space-between; align-items: flex-start; padding: 0 85px;}
.footer__content {flex-grow: 1; padding: 40px 92px 0;}
.footer__row {display: flex; margin-bottom: 32px; justify-content: space-between;}
.footer__col {width: 50%;}
.footer__nav {width: 210px;}
.footer__nav-title {color: var(--accent-base-color); margin-bottom: 32px;}
.footer__row ul {list-style: none; display: flex; flex-direction: column; gap: 16px; margin: 0; padding: 0;}
.footer__row li {margin: 0; padding: 0;}
.footer__row a {color: #fff;}
.footer__row a:hover {color: var(--accent-base-color);}

.footer__logo {margin-bottom: 32px;}
.footer__logo img {width: 116px;}
.footer__contacts {display: flex; flex-direction: column; gap: 20px;}
.footer__contacts div {line-height: 1;}
.footer__bottom {display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; color: rgba(255,255,255,.6); font-weight: 500; font-size: 12px; margin-top: 44px;}
.footer__bottom a {color: rgba(255,255,255,.6); text-decoration: underline;}
.footer__bottom a:hover {color: rgba(255,255,255,1); text-decoration: none;}

.contacts-item {display: inline-flex; flex-direction: row; gap: 12px; align-items: center; color: #fff;}
.contacts-item svg {color: var(--accent-base-color);}
.contacts-item:hover {color: var(--accent-base-color);}

.services-block {padding-top: 20px;}

.services-grid {display: grid; gap: 16px; grid-template-columns: repeat(12, 1fr);}
.services-grid__item {overflow: hidden; border-radius: var(--radius-md); padding: 20px; background: var(--grey);}

@media (min-width: 1280px) {
  .services-grid__item:nth-child(6n + 1),
  .services-grid__item:nth-child(6n + 2) {grid-column: span 6;}
  .services-grid__item:nth-child(6n + 3) {grid-column: span 4; grid-row: span 2;}
  .services-grid__item:nth-child(6n + 4),
  .services-grid__item:nth-child(6n + 5) {grid-column: span 8;}
  .services-grid__item:nth-child(6n + 6) {grid-column: span 12;}
  .services-grid__item:nth-child(6n + 3) .services-grid__head {flex-wrap: wrap;}
  .services-grid__item:nth-child(6n + 6) .services-grid__text {line-height: 1.55; }
}

.services-grid__content {display: flex; flex-direction: column; width: 100%; height: 100%;}
.services-grid__head {margin-bottom: 12px; display: flex; gap: 14px; align-items: flex-start; justify-content: space-between;}
.services-grid__title {margin-bottom: 0;}
.services-grid__price {margin-bottom: 12px;}
.services-grid__footer {display: flex; gap: 30px; justify-content: space-between; flex-grow: 1;}
.services-grid__text {font-size: 16px;}
.services-grid__link {color: currentColor; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; align-self: flex-end; flex-shrink: 0;}


.about__items {}
.about__head {display: flex; align-items: flex-start; gap: 40px; justify-content: space-between;}
.about__head-text {background: var(--grey-color); padding: 20px 32px; border-radius: var(--radius-md); gap: 52px; display: flex;}
.about__head-text .price {margin-bottom: 10px;}
.about__items {margin: 32px 0;}
.about__items .row {gap: 32px 0;}
.about__item {display: flex; gap: 16px; max-width: 400px;}
.about__item > svg  {flex-shrink: 0; color: var(--bs-blue);}
.about__item h4 {padding-bottom: 16px; margin-bottom: 0; min-height: 42px; background: url(../img/about-title-line.svg) no-repeat 0 0; padding-left: 5px; padding-right: 5px; margin-left: -5px;}


.blog-grid {display: grid; gap: 16px; grid-template-columns: repeat(12, 1fr); margin-bottom: 60px;}
.blog-grid__item {overflow: hidden; border-radius: var(--radius-md); padding: 20px; background: var(--grey); grid-column: span 12;}

@media (min-width: 768px) {
  .blog-grid__item {grid-column: span 6;}
}

@media (min-width: 992px) {
  .blog-grid__item {grid-column: span 4;}
}

@media (min-width: 1280px) {
  .blog-grid__item {grid-column: span 4;}
  .blog-grid__item:nth-child(8n + 1) {grid-column: span 12;}
  .blog-grid__item:nth-child(8n + 2),
  .blog-grid__item:nth-child(8n + 3) {grid-row: span 3;}
  .blog-grid__item:nth-child(8n + 7),
  .blog-grid__item:nth-child(8n + 8) {grid-column: span 6;}
}

.blog-item {display: flex; flex-direction: column; gap: 16px;}
.blog-item__head {display: flex; justify-content: space-between; gap: 16px; align-items: center;}
.blog-item__head a {color: inherit;}
.blog-item__date {opacity: .6;}
.blog-item__title {margin-bottom: 0;}
.blog-item__image {overflow: hidden; border-radius: var(--radius-md);}
.blog-item__image img {width: 100%;}
.blog-item__text {font-size: 16px;}
.blog-item__image:empty,
.blog-item__text:empty {display: none;}


.portfolio-grid {display: grid; gap: 16px; grid-template-columns: repeat(3, 1fr);}
.portfolio-grid__item {overflow: hidden;}
.portfolio-item {position: relative; display: flex; flex-direction: column; border-radius: var(--radius-md); padding: 20px; background: var(--dark-grey); color: #fff; height: 100%;}
.portfolio-item:hover {background: var(--accent-base-color-hover);}
.portfolio-item__image {margin-bottom: 20px; overflow: hidden; border-radius: var(--radius-md); background: var(--grey-color); height: 200px;}
.portfolio-item__image img {width: 100%; height: 100%; object-fit: cover;}
.portfolio-item__title {margin-bottom: 16px;}
.portfolio-item__text {margin-bottom: 30px;}
.portfolio-item__more {margin-top: auto; color: #fff; display: flex; justify-content: flex-end;}
.portfolio-item__more::before {content: ''; display: block; position: absolute; inset: 0;}

.portfolio-slider {margin-left: -8px; margin-right: -8px; margin-top: 32px;}
.portfolio-slider .slick-track {display: flex;}
.portfolio-slider__item {padding-left: 8px; padding-right: 8px; height: auto;}
.portfolio-slider .slick-dots {display: flex; gap: 16px; align-items: center; justify-content: center; margin-top: 32px; bottom: 0; position: relative;}
.portfolio-slider .slick-dots li {width: 8px; height: 8px; margin: 0;}
.portfolio-slider .slick-dots button {background: var(--dark-grey); border-radius: 50%; width: 8px; height: 8px;}
.portfolio-slider .slick-dots .slick-active button {background: var(--bs-blue);}
.portfolio-slider .slick-dots button::before {content: none;}
.portfolio-slider .slick-arrow {width: 16px; height: 36px; color: #fff;}
.portfolio-slider .slick-arrow::before {content: none;}
.portfolio-slider-footer {display: flex; justify-content: flex-end;}

@media (max-width: 991px) {
  .portfolio-grid {grid-template-columns: repeat(2, 1fr);}
}

@media (max-width: 639px) {
  .portfolio-grid {grid-template-columns: repeat(1, 1fr);}
}

.reviews-grid__item {overflow: hidden; display: inline-block; vertical-align: top; width: 100%; margin-bottom: 16px;}
.reviews-item {position: relative; display: flex; flex-direction: column; border-radius: var(--radius-md); padding: 20px; background: var(--grey); height: 100%; transition: .5s;}
.reviews-item:hover {background: var(--accent-base-color-hover); color: #fff;}
.reviews-item__tag {margin-bottom: 16px;}
.reviews-item__title {margin-bottom: 16px;}
.reviews-item__image {margin-bottom: 16px; overflow: hidden; border-radius: 20px;}
.reviews-item__image img {width: 100%;}
.reviews-item__text {margin-bottom: 10px;}
.reviews-item__footer {display: flex; flex-wrap: wrap; gap: 5px;}
.reviews-item__author {opacity: .6;}
.reviews-item__source {display: inline-flex; gap: 4px; align-items: center; text-decoration: underline; opacity: .6; color: inherit; transition: none;}
.reviews-item__source:hover {text-decoration: none; opacity: 1;}
.reviews-more {margin-top: 60px; margin-bottom: 60px;}

@media (min-width: 768px) {
  .reviews-grid {column-count: 2; column-gap: 16px;}
}

@media (min-width: 992px) {
  .reviews-grid {column-count: 3;}
}

@media (min-width: 1280px) {
  .reviews-grid {column-count: 4;}
}

.reviews-slider-head {display: flex; align-items: center; justify-content: space-between; gap: 48px; margin-bottom: 32px;}
.reviews-slider-head h2  {margin-bottom: 0;}
.reviews-slider {margin-left: -8px; margin-right: -8px;}
.reviews-slider__item {padding-left: 8px; padding-right: 8px;}
.reviews-slider-wrap {margin-left: -48px; margin-right: -48px; position: relative;}
.reviews-slider .slick-list {overflow: visible;}
.reviews-slider-wrap .slick-arrow {display: block; top: 0; bottom: 0; width: 300px; position: absolute; z-index: 20; margin: 0; transform: none; height: auto;}
.reviews-slider-wrap .slick-dots,
.reviews-slider-wrap .slick-arrow::before,
.reviews-slider-wrap .slick-arrow svg {display: none !important;}
.reviews-slider-wrap .slick-prev {background: linear-gradient(270deg, rgba(255,255,255,0), rgba(255,255,255,1)); right: 100%; left: auto;}
.reviews-slider-wrap .slick-next {background: linear-gradient(270deg, rgba(255,255,255,1), rgba(255,255,255,0)); left: 100%; right: auto;}

.reviews-block {padding: 0;}
.reviews-block .section-block {padding-top: 30px; padding-bottom: 0;}

.card-block {position: relative; display: flex; flex-direction: column; border-radius: var(--radius-md); padding: 20px; gap: 10px; margin-bottom: 32px;}
.card-block > * {margin: 0 !important;}



.article table {}
.article table th {color: var(--soft-blue); font-weight: 600; font-size: 20px; padding: 16px;}
.article table td {font-weight: 500; font-size: 20px; padding: 12px 16px;}
.article table th:first-child,
.article table td:first-child {padding-left: 0;}
.article table th:last-child,
.article table td:last-child {padding-right: 0; text-align: right;}
.article table tr:last-child td {border-bottom: none; padding-bottom: 0;}

.article__date,
.article__title,
.article__text {max-width: 880px; margin-left: auto; margin-right: auto;}
.article__date {margin-bottom: 32px; font-size: 16px;}
.article .section {margin-top: 24px; margin-bottom: 24px; padding: 0;}
.article .section-block {padding: 24px 32px;}
.article h3:not(:first-child),
.article h4:not(:first-child) {margin-top: 60px;}

.article h3,
.article h4 {margin-bottom: 32px;}


.image-wrap {margin-top: 24px; margin-bottom: 24px;}
.image-wrap img {border-radius: var(--radius-md); width: 100%;}
.image-wrap__caption {display: block; text-align: center; color: var(--dark-grey); font-size: 16px; margin-top: 12px;}

.tags {display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 60px;}
.tags__item {border-radius: var(--radius-lg); background: var(--grey); padding: 10px 20px;}
.tags__item:hover {background: var(--accent-base-color-hover); color: #fff;}
.tags__item.active {background: var(--accent-base-color); color: #fff;}


.container:has(.feedback-block) + .footer { margin-top: 0;}
main + .container > .feedback-block {padding-bottom: 0; margin-bottom: -20px;}
main + .container > .feedback-block .section-block {border-bottom-left-radius: 0; border-bottom-right-radius: 0;}
.feedback-block .section-block.bg-black {padding-bottom: 45px;}
.feedback-block__title {margin-bottom: 32px; position: relative;}
.feedback-block__title span {background: url('../img/feedback-title-accent-white.svg') no-repeat 0 0 / contain; padding-right: 7px; padding-left: 7px; margin-left: -7px;}
.feedback-block__title svg {position: relative; top: -20px;}
.feedback-block__text {font-size: 20px;}
.feedback-block__text p {margin-bottom: 12px;}
.feedback-block__text p:last-child {color: var(--text-inputs);}
.feedback-block__social {margin: 32px 0 12px; max-width: 494px;}
.feedback-block__social .contacts-item {font-size: 16px; margin-bottom: 20px; color: inherit;}
.feedback-block__social .contacts-item svg {color: inherit;}
.bg-black .feedback-block__title span {background-image: url('../img/feedback-title-accent-purple.svg'); color: var(--bs-black); background-size: contain;}
.bg-black .feedback-block__title svg {color: var(--soft-blue);}
.bg-black .feedback-block__social .contacts-item svg {color: var(--bs-blue);}
.bg-soft-blue .feedback-block__title svg {color: #fff;}

.form-group {margin-bottom: 16px;}
.form-group__btns {margin-top: 32px; display: flex; justify-content: flex-end;}
.form-group__agreement {font-size: 12px; margin-top: -10px;}
.form-label {width: 100%; }
.form-input {width: 100%; padding: 10px 20px; border-radius: 20px; background: #fff; border: 2px solid #fff;}
textarea.form-input {height: 140px;}
.checkbox-custom {display: flex; align-items: flex-start; gap: 8px;}
.checkbox-custom .form-input {width: 20px; flex-shrink: 0;}
.bg-black .form-input {background: var(--dark-grey); border-color: var(--dark-grey); color: #fff;}
.bg-black .form-group__agreement {color: var(--text-inputs);}

.accordion {
  --bs-accordion-color: var(--text-color);
  --bs-accordion-bg: transparent;
  --bs-accordion-border-color: transparent;
  --bs-accordion-border-width: 0;
  --bs-accordion-border-radius: 20px;
  --bs-accordion-inner-border-radius: 20px;
  --bs-accordion-btn-padding-x: 30px;
  --bs-accordion-btn-padding-y: 30px;
  --bs-accordion-btn-color: var(--black );
  --bs-accordion-btn-bg: var(--soft-blue);
  --bs-accordion-btn-icon: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e);
  --bs-accordion-btn-active-icon: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e);
  --bs-accordion-btn-focus-border-color: transparent;
  --bs-accordion-btn-focus-box-shadow: none;
  --bs-accordion-body-padding-x: 30px;
  --bs-accordion-body-padding-y: 30px;
  --bs-accordion-active-color: #fff;
  --bs-accordion-active-bg: var(--accent-base-color-hover);
}

.accordion-item {background: none; border: none;}
.accordion-item:not(:last-child) {margin-bottom: 16px;}
.accordion-button {border-radius: var(--bs-accordion-border-radius); display: flex; align-items: center; gap: 16px;}
.accordion-button .h3,
.accordion-button .h5 {margin: 0;}
.accordion-button svg:first-child {color: var(--bs-blue); flex-shrink: 0;}
.accordion-button:hover {background: var(--accent-base-color-hover); color: #fff;}
.accordion-button[aria-expanded="true"] svg:first-child,
.accordion-button:hover svg:first-child {color: var(--soft-blue);}

.faq-block .section-block {padding-bottom: 0;}
#accordionFaq.accordion {margin-top: 32px;}
#accordionFaq.accordion .accordion-item {background: var(--soft-blue); border-radius: var(--bs-accordion-border-radius);}
#accordionFaq.accordion .accordion-body {padding: 0 20px 20px;}
#accordionFaq.accordion .accordion-button {padding: 24px 20px;}
#accordionFaq.accordion .accordion-button:not(.collapsed) {background: var(--soft-blue); color: var(--text-color); padding-bottom: 12px;}
#accordionFaq.accordion .accordion-button:not(.collapsed) svg:first-child {color: var(--bs-blue);}

.main-banner {min-height: 540px; display: flex; flex-direction: row-reverse; align-items: center; justify-content: space-between; gap: 30px;}
.main-banner__image {max-width: 420px; margin-right: 10px;}
.main-banner__content {padding: 60px 60px 20px;}
.main-banner__title {margin-bottom: 16px; text-transform: uppercase; background: url(../img/main-banner-line.svg) no-repeat 0 100%; background-size: 100% auto;}
.main-banner__subtitle {margin-bottom: 32px;}

.modal {
  --bs-modal-width: 460px;
  --bs-modal-bg: var(--black);
  --bs-modal-padding: 60px 48px;
  --bs-modal-inner-border-radius: 20px;
  --bs-modal-color: #fff;
}

.modal .btn-close {position: absolute; top: 20px; right: 20px; --bs-btn-close-color: var(--grey-color); z-index: 10; filter: contrast(0);}
.modal .h2 {color: inherit; margin-bottom: 32px;}
.modal .h2 > span {display: inline-block; background: url(../img/modal-title-line.svg) no-repeat 50% 50%; background-size: auto 100%; color: var(--black); margin-left: -7px; padding-left: 7px; padding-right: 7px;}
.modal .form-input {border-color: var(--dark-grey); background: var(--dark-grey); color: #fff;}
.modal .form-group__agreement {margin-top: 0; color: var(--text-inputs);}
.modal .form-group__btns {justify-content: flex-start; margin-bottom: 0;}

.scroll-up {position: fixed; bottom: 40px; right: 20px; width: 80px; height: 80px; display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: 1s;}
.scroll-up__text {position: absolute; top: 0; left: 0; width: 80px; height: 80px; display: block; animation-name: spin;
  animation-duration: 4000ms;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}
.scroll-up.show {opacity: 1; pointer-events: auto;}

@keyframes spin {
  from {transform: rotate(360deg);}
  to {transform: rotate(0deg);}
}

@media (max-width: 1399px) {
  .footer__main {padding: 0; max-width: 1200px;}
}

@media (max-width: 1279px) {
  h1, .h1 {font-size: 42px;}
  h2, .h2 {font-size: 36px;}
  h3, .h3 {font-size: 32px;}

  .page__title {font-size: 36px;}

  .section-block:not([class*="bg-"]) {padding-left: 0; padding-right: 0;}

  .main-banner {min-height: 440px;}
  .main-banner__image {max-width: 344px;}
  .main-banner__content {padding-left: 0; padding-right: 0;}

  .services-grid__item {grid-column: span 6;}
  .services-grid__head {flex-wrap: wrap;}
  .services-grid__title {font-size: 24px;}

  .blog-item__title {font-size: 24px;}

  .reviews-slider-wrap {margin-left: 0; margin-right: 0;}

  .footer__content {padding-left: 0;}
  .footer__nav {width: auto; max-width: 210px;}

  .header__bottom-container {padding-left: 25px; padding-right: 25px;}
  .header__burger-btn {display: flex; align-items: center; justify-content: center; color: var(--bs-blue); width: 28px; height: 28px; flex-shrink: 0; z-index: 2;}
  .header__menu {position: absolute; display: none; top: 0; right: 0; width: 280px; background: var(--black); padding:  40px 32px 25px; border-bottom-right-radius: var(--radius-md); border-bottom-left-radius: var(--radius-md);}
  .header__menu ul {flex-direction: column; gap: 24px; margin-bottom: 28px;}
  .header__menu-mobile {display: flex; flex-direction: column; margin-top: -4px;}
  .header__menu-mobile .btn {font-size: 16px; padding-left: 15px; padding-right: 15px;}
  .menu-open .header__menu {display: block;}
  .menu-open .header__burger-btn {color: var(--grey);}
  .menu-open .header__main::before {content: ''; display: block; position: fixed; inset: 0; background: rgba(0,0,0,.4);}
}

@media (max-width: 959px) {
  .price {font-size: 32px;}

  .header__bottom-container {padding-left: 0; padding-right: 0;}
  .header__bottom-menu ul {gap: 16px;}
  .header__bottom-container .btn {padding-left: 15px; padding-right: 15px;}

  .main-banner {min-height: 350px;}
  .main-banner__image {max-width: 248px;}

  .section-block[class*="bg-"] {margin-left: -15px; margin-right: -15px;}

  .footer__container {padding-right: 27px;}
  .footer__row {gap: 16px;}
  .footer__content {padding-right: 0;}
  .footer__image {width: 260px; flex-shrink: 0;}

  .accordion-button {padding: 20px 30px;}
  .accordion-button .h3 {font-size: 24px;}

  main + .container > .feedback-block {margin-bottom: 30px;}

}

@media (max-width: 767px) {
  .header {border-radius: 0;}
  .header__contacts {gap: 16px; margin-left: auto;}
  .header__contacts-item span {display: none;}
  .header__bottom {display: none;}

  .section-block {padding-left: 20px; padding-right: 20px;}
  .section-block[class*="bg-"] {padding-top: 40px; padding-bottom: 40px;}
  .section__title,
  .section-block > h2 {font-size: 32px;}

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

  .main-banner__image {display: none;}
  .main-banner__btns .btn {width: 100%;}

  .services-grid__item {grid-column: span 12;}

  .about__head {flex-direction: column; gap: 32px; align-items: stretch;}
  .about__head .section__title {margin-bottom: 0;}
  .about__head-text {margin-left: -15px; margin-right: -15px; border-radius: 0; justify-content: space-between; gap: 16px;}
  .about__item {max-width: 100%;}
  .about__footer .btn {width: 100%;}

  .portfolio-slider .slick-arrow {top: 100%;}
  .portfolio-slider .slick-prev {left: 20px;}
  .portfolio-slider .slick-next {right: 20px;}
  .portfolio-slider-footer .btn {width: 100%;}

  .reviews-block .section-block {display: flex; flex-direction: column; gap: 32px;}
  .reviews-slider-head {display: contents;}
  .reviews-slider-head .btn {order: 10; width: 100%;}

  .feedback-block__title svg {position: absolute; top: auto; right: -10px; margin-top: 20px;}
  .feedback-block .row {row-gap: 32px;}
  .feedback-block .form-group__btns .btn {width: 100%;}
  .feedback-block__text {font-size: 16px;}
  .feedback-block__social .col {width: auto;}
  .feedback-block__social .contacts-item {font-size: 14px;}
  .feedback-block .section-block.bg-black {padding-bottom: 24px;}

  .footer__main {max-width: 100%;}
  .footer__container {margin-left: -15px; margin-right: -15px; padding: 40px 20px;}
  .footer__content {padding-top: 0;}
  .footer__image {display: none;}

  main + .container > .feedback-block {margin-bottom: -20px;}

  .article h3, .article h4 {margin-bottom: 16px;}
  .article h3:not(:first-child), .article h4:not(:first-child) {margin-top: 40px;}
  .accordion-body {padding: 0 20px;}

  .page__main .btn {width: 100%; padding-left: 15px; padding-right: 15px;}
  .article table th,
  .article table td {font-size: 16px;}

  .tags {margin-bottom: 24px;}


  .modal {
    --bs-modal-padding: 40px 20px;
  }

  .modal .btn {padding-left: 15px; padding-right: 15px; width: 100%;}
}

@media (max-width: 479px) {
  h1, .h1 {font-size: 29px;}

  .main-banner__subtitle,
  .text-lg {font-size: 16px;}

  .price {font-size: 28px;}

  .about__head-text {overflow-x: auto; gap: 52px;}
  .about__head-text > div {min-width: 125px;}
  .about__head-text .text-md {font-size: 14px;}

  .article .section-block {padding: 30px 20px;}

  .accordion {margin-left: -15px; margin-right: -15px;}
}

@media (max-width: 359px) {
  .footer__container {padding-left: 15px; padding-right: 15px;}
  .footer__row ul,
  .footer__contacts {gap: 12px;}
  .footer__nav,
  .footer__contacts-item {font-size: 14px; gap: 8px;}
  .footer__contacts-item svg {width: 20px; height: 20px;}
}
.blog-grid { margin: 0 auto 40px auto; position: relative; }
    .blog-grid__item {
        width: 32%; margin-bottom: 20px; padding: 24px; border-radius: 20px;
        display: flex; flex-direction: column; text-decoration: none;
        color: inherit; box-sizing: border-box; background-color: #f4f4f4;
    }

    .blog-grid.is-resizing .blog-grid__item {
        transition: none !important;
    }
    /* Блок с фото */
    .has-img { background-color: #333333; color: #ffffff; }
    .has-img .blog-item__image {
        height: 220px; width: 100%; margin-top: 15px;
        border-radius: 12px; overflow: hidden; flex-shrink: 0;
    }
    .has-img .blog-item__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .has-img .blog-item__excerpt { font-size: 14px; line-height: 1.5; opacity: 0.8; margin-bottom: 10px; }

    .blog-item__date { font-size: 14px; opacity: 0.7; margin-bottom: 12px; display: flex; justify-content: space-between; }
    .blog-item__title { font-size: 20px; line-height: 1.3; margin: 0 0 10px 0; font-weight: 600; }

    .bg-color-1 { background-color: #e6e0ff; }
    .bg-color-2 { background-color: #5b9bf8; color: #fff; }
    .bg-color-3 { background-color: #d1d9e6; }

    @media (max-width: 991px) { .blog-grid__item { width: 48%; } }
    @media (max-width: 767px) { .blog-grid__item { width: 100%; } }
