@charset "UTF-8";
/*
Theme Name: Make Progress 3
Details URI: https://update.goodwinpress.ru/themes/mp3-changelog.html
Theme URI: https://goodwinpress.ru/universalnaya-biznes-tema-make-progress-3/
Author: Алексей Goodwin
Author URI: https://goodwinpress.ru/
Description: Универсальная адаптивная быстрая настроечная тема 2022 года для для бизнеса или корпоративного сайта. Статическая главная страница с готовыми блоками (постер, о нас, галерея, карусель с отзывами на Swiper, призыв к действию, контакты и т.п.). Продукты, услуги, портфолио, команда. Блог с загрузкой записей через Ajax. Сбор контактов при помощи Contact Form 7. Лайтбокс, хлебные крошки, микроразметка schema.org.
Version: 1.2.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tested up to: 6.3
Requires PHP: 7.4
Text Domain: make-progress-3
Domain Path: /languages
Tags:  theme-options, custom-colors, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, blog, translation-ready
*/

/*
===============================
= Содержание файла стилей =
============================================
01 Переменные, импорт стилей Swiper
02 Очистка
03 Глобальные стили
04 Базовые контейнеры
05 Подключение шрифта
06 Базовые заголовки
07 Кнопки
08 Гриды
09 Боковая колонка
10 Десктопное меню
11 Разметка для любого раздела Главной
12 Раздел на Главной: Постер
13 Раздел на Главной: О нас + Достижения
14 Раздел на Главной: Призыв к действию
15 Раздел на Главной: Услуги
16 Кастомные стили для Swiper
17 Раздел на Главной: Отзывы
18 Раздел на Главной: Галерея
19 Раздел на Главной: Продукты
20 Раздел на Главной: Команда
21 Раздел на Главной: Портфолио
22 Раздел на Главной: Пошаговый процесс
23 Раздел на Главной: Вопрос - Ответ
24 Раздел на Главной: Новости
25 Раздел на Главной: Контакты
26 Подвал сайта
27 Модальное окно для cookies
28 Поп-апы
29 Кнопки соц сетей
30 Кнопки Поделиться в соц сетях
31 Мобильное меню
32 Кнопка загрузки записей в блоге и рубриках
33 Оформление блога и записей
34 Адаптивные таблицы
35 Галереи WordPress
36 Постраничная навигация
37 Комментарии в записях и на страницах
38 Форма отправки комментариев
39 Внутренняя навигация (в CPT и записях)
40 Хлебные крошки
41 Оформление для страниц услуг и CPT (контейнер, шапка, отзывы и др)
42 Призыв к действию в CPT и записях
43 Маркированные списки
44 Нумерованные списки
45 Страницы работ с портфолио
46 Страницы сотрудников команды
47 Страницы работ продуктов
48 Архивы CPT
49 Отзывы на страницах CPT
50 Поиск по сайту и страница результатов
51 Контакты в шапке
*/


/*
===============================
= 01 Переменные и импорт Swiper
============================================
*/

@import "assets/css/swiper.min.css";

:root {
  /* шрифт темы */
--prime-font: "Montserrat", sans-serif;

 /* белый для фонов и контрастных текстов */
--light-col: #fff;

 /* серый для второстепенных текстов и подвала */
--grey-col: #626e86;

 /* серый фон */
--grey-bg: #f7f6fb;

 /* акцент для фокуса */
--accent: #975dfb;

 /* цвет бордюров, разделителей */
--border-col: #eff0f8;

/* более темный серый для обводки полей форм */
--rich-border-col: #dcdfed;

 /* цвет плейсхолдера в инпутах */
--placeholder: #a7a8ba;

 /* жирность текста */
--bold: 700;

 /* ширина секции */
--width: 1180px;

}

 /*
===============================
= 02 Очистка
============================================
*/
a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{vertical-align:baseline;margin:0;border:0;padding:0;font:inherit}body{line-height:1}main{display:block}strong{font-weight:600}em,i{font-style:italic}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote::after,blockquote::before,q::after,q::before{content:""}table{border-collapse:collapse;border-spacing:0}iframe{max-width:100%}embed,img,object,svg,video{display:block;max-width:100%}img{border:0;height:auto}.aligncenter{margin:0 auto}.alignleft{float:left}.alignright{float:right}big{font-size:131.25%}ins{text-decoration:none}a{background-color:transparent}abbr[title]{border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}small{font-size:80%}sub,sup{position:relative;vertical-align:baseline;font-size:75%;line-height:0}sub{bottom:-.25em}sup{top:-.5em}input,textarea{vertical-align:middle;background:var(--light-col)}pre{font-family:monospace;font-size:1em}.screen-reader-text{display:none}[hidden]{display:none} .sticky, .bypostauthor {background-color:initial}

/*
===============================
= 03 Глобальные стили
============================================
*/

hr,
.wp-block-separator {
  display: block;
  clear: both;
  margin: 2em auto;
  border-top: 0;
  border-bottom: 1px solid var(--border-col);
  width: 100%;
  height: 1px;
}

:focus {
  outline: none;
  border: none;
}

input::-moz-placeholder,
select::-moz-placeholder {
  color: var(--placeholder);
}

input:-ms-input-placeholder,
select:-ms-input-placeholder {
  color: var(--placeholder);
}

input:-moz-placeholder-shown {
  color: var(--placeholder);
}

input:-ms-input-placeholder {
  color: var(--placeholder);
}

input::placeholder,
input:placeholder-shown,
select::placeholder {
  color: var(--placeholder);
}

legend {
  display: table;
  padding: 0;
  max-width: 100%;
  white-space: normal;
  color: inherit;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  padding: 0;
  box-sizing: border-box;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

p {
  margin-bottom: 1.1em;
}

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

button {
  -webkit-appearance: none;
  border: 0;
  border-radius: 0;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  background: transparent;
  cursor: pointer;
}

.wp-caption,
.wp-caption-text,
.gallery-caption {
  font-size: 0.85rem;
  color: var(--grey-col);
}

a.gpress {
  text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: var(--bold);
}

.swiper-lazy,
.lazy-hidden {
  opacity: 0;
}

.lazy-loaded,
.swiper-lazy-loaded {
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}

.flex-fix {
  margin: 0 !important;
  border: none;
  padding: 0 !important;
  width: 0;
  height: 0;
  background: none;
  opacity: 0;
  visibility: hidden;
}

.disable-scroll {
  left: 0;
  top: 0;
  overflow: hidden;
  width: 100%;
}

a {
  text-decoration: underline;
  transition: color 0.3s ease-in-out;
}

a:hover {
  text-decoration: underline;
  transition: color 0.3s ease-in-out;
}

/*
===============================
= 04 Базовые контейнеры
============================================
*/
html {
  box-sizing: border-box;
  font-size: 16px;
  height: 100%;
}

@media (max-width: 1500px) {
  html {
    font-size: 15px;
  }
}

@media (max-width: 500px) {
  html {
    font-size: 14px;
  }
}
 
*,
::before,
::after {
  box-sizing: border-box;
}

body {
  font-family: var(--prime-font);
  font-weight: 500;
  font-variant-numeric: lining-nums;
  font-size: 1rem;
  line-height: 1.65;
  word-wrap: break-word;
  background-color: #fbfbff;
}

.site-wrapper {
  position: relative;
  background-color: var(--light-col);
  width: 100%;
  height: 100%;
  overflow-x: hidden;
}

/* дублирующая обертка wrap нужна для того,
* чтобы прилепить подвал к нижней части окна 
*/
.wrap {
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  position: relative;
}

.wrap > * {
  margin-left: 400px;
}

@media (max-width:1500px){
  .wrap > * {
    margin-left: 300px;
  }
}

@media (max-width:1280px){
  .wrap > * {
    margin-left: 0;
  }
}
 
.main {
  /* магия */
  flex: 1;
  background-color: var(--light-col);
  position: relative;
}


/*
===============================
= 05 Подключение шрифта
============================================
*/
 
/* montserrat-500 - latin_cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local(''),
       url('assets/fonts/Montserrat-Medium.woff2') format('woff2'), 
       url('assets/fonts/Montserrat-Medium.woff') format('woff'); 
}
/* montserrat-700 - latin_cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local(''),
       url('assets/fonts/Montserrat-Bold.woff2') format('woff2'), 
       url('assets/fonts/Montserrat-Bold.woff') format('woff'); 
}


/*
===============================
= 06 Базовые заголовки
============================================
*/


.post-content h1,
.post-content h2,
.post-content h3,
.post-content h4,
.post-content h5,
.post-content h6,
.custom-section h1,
.custom-section h2,
.custom-section h3,
.custom-section h4,
.custom-section h5,
.custom-section h6 {
  margin-bottom: 1.2rem;
}

.post-content h1 {
  font-size: 1.3rem
}

.post-content h2 {
  font-size: 1.25rem
}

.post-content h3 {
  font-size: 1.2rem
}

.post-content h4 {
  font-size: 1.15rem
}

.post-content h5 {
  font-size: 1.1rem
}

.post-content h6 {
  font-size: 1rem
}

.visually-hidden {
  position: absolute;
  margin: -1px;
  width: 1px;
  height: 1px;
  clip: rect(0 0 0 0);
}

.single-title {
  margin-bottom: 1.4rem;
  font-size: 1.8rem;
  line-height: 1.4;
}

@media (max-width:800px) {
  .single-title {
    font-size: 1.6rem;
  }
}

@media (max-width:415px) {
  .single-title {
    font-size: 1.25rem;
  }
}

/*
===============================
= 07 Кнопки
============================================
*/
a.btn,
button.btn,
.wpcf7-submit,
.comment-form .submit,
.search-submit {
  font-family: var(--prime-font);
  display: inline-block;
  border: none;
  border-radius: 4px;
  padding: 1.3rem 2rem;
  position: relative;
  box-shadow: 0 22px 30px 0 rgba(15, 8, 49, 0.1);
  font-weight: var(--bold);
  font-size: 1rem;
  line-height: 1;
  text-decoration: none;
  transition: padding-right 0.3s ease-in-out, background-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
  cursor: pointer;
}

@media (max-width:415px) {
  a.btn,
  button.btn,
  .wpcf7-submit,
  .comment-form .submit,
.search-submit  {
    width: 100%;
    text-align: center;
  }
}

a.btn.btn--ghost {
  background-color: var(--light-col);
  box-shadow: none;
  align-self: baseline;
  transition: padding-right 0.3s ease-in-out, background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}

a.btn.btn--ghost:hover {
  padding-right: 2.9rem;
  color: var(--light-col);
  transition: padding-right 0.3s ease-in-out, background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}

a.btn:hover,
button.btn:hover,
.wpcf7-submit:hover,
.comment-form .submit:hover,
.search-submit :hover {
  padding-right: 2.9rem;
  box-shadow: none;
  transition: padding-right 0.3s ease-in-out, background-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

a.btn::before,
button.btn::before,
.wpcf7-submit::before,
.comment-form .submit::before,
a.btn.btn--ghost::before {
  content: "";
  opacity: 0;
  position: absolute;
  right: -1rem;
  top: 50%;
  z-index: 1;
  width: 1.4rem;
  height: 1.4rem;
  background-image: url("assets/img/arrow-next.svg");
  background-position: center;
  background-size: 1.2rem;
  background-repeat: no-repeat;
  transform: translateY(-50%);
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out, right 0.3s ease-in-out;
}

a.btn:hover::before,
button.btn:hover::before,
.wpcf7-submit:hover::before,
.comment-form .submit:hover::before,
a.btn.btn--ghost:hover::before {
  right: 0.9rem;
  opacity: 1;
  transition: opacity 0.3s ease-in-out, right 0.3s ease-in-out;
}

.search-submit:hover {
  padding-right: 2rem !important;
}

/*
===============================
= 08 Гриды
============================================
*/

.grid {
  display: -ms-grid;
  display: grid;
}

.grid--services {
  gap: 3rem;
  -ms-grid-columns: repeat(2, 1fr);
  grid-template-columns: repeat(2, 1fr);
}

@media (max-width:800px) {
  .grid--services {
    gap: 2rem;
  }
}

@media (max-width:760px) {
  .grid--services {
    gap: 2rem;
    -ms-grid-columns: repeat(1, 1fr);
    grid-template-columns: repeat(1, 1fr);
  }
}

.grid--gallery {
  gap: 2rem;
}

@media (max-width:760px) {
  .grid--gallery {
    gap: 1.5rem;
  }
}

.grid--portfolio {
  gap: 3rem;
  -ms-grid-columns: repeat(3, 1fr);
  grid-template-columns: repeat(3, 1fr);
}

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

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

.grid--news {
  gap: 3rem;
  -ms-grid-columns: 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr;
}

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

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

.grid--benefits {
  gap: 3rem;
  -ms-grid-columns: repeat(4, 1fr);
  grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 1500px) {
  .grid--benefits {
    gap: 2rem;
  }
}

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

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

.grid--steps {
  gap: 3rem;
  -ms-grid-columns: repeat(3, 1fr);
  grid-template-columns: repeat(3, 1fr);
}

@media (max-width:1024px) {
  .grid--steps {
    gap: 2rem;
    -ms-grid-columns: repeat(2, 1fr);
    grid-template-columns: repeat(2, 1fr);
  }
}

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

.grid--team {
  gap: 3rem;
  -ms-grid-columns: repeat(3, 1fr);
  grid-template-columns: repeat(3, 1fr);
}

@media (max-width:1024px) {
  .grid--team {
    gap: 2rem;
    -ms-grid-columns: repeat(2, 1fr);
    grid-template-columns: repeat(2, 1fr);
  }
}

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

.grid--single-feedback {
  gap: 3rem;
  -ms-grid-columns: repeat(2, 1fr);
  grid-template-columns: repeat(2, 1fr);
}

@media (max-width:800px) {
  .grid--single-feedback {
    gap: 2rem;
    -ms-grid-columns: repeat(1, 1fr);
    grid-template-columns: repeat(1, 1fr);
  }
}

.grid--products-list {
  gap: 3rem;
  -ms-grid-columns: repeat(3, 1fr);
  grid-template-columns: repeat(3, 1fr);
}

@media (max-width:1024px) {
  .grid--products-list {
    gap: 2rem;
    -ms-grid-columns: repeat(2, 1fr);
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width:700px) {
  .grid--products-list {
    gap: 3rem;
    -ms-grid-columns: repeat(1, 1fr);
    grid-template-columns: repeat(1, 1fr);
  }
}

.grid--widgets {
  gap: 3rem;
  -ms-grid-columns: repeat(3, 1fr);
  grid-template-columns: repeat(3, 1fr);
}

@media (max-width:1024px) {
  .grid--widgets {
    gap:0;
    -ms-grid-columns: repeat(1, 1fr);
    grid-template-columns: repeat(1, 1fr);
  }
}
 

/*
===============================
= 09 Боковая колонка
============================================
*/

.header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 100;
  display: flex;
  flex-flow: column;
  padding: 2rem 0;
  width: 400px;
  height: 100%;
}

@media (max-width:1500px) {
  .header {
    width: 300px;
  }
}

@media (max-width:1280px) {
  .header {
    position: relative;
    width: 100%;
    height: auto;
    padding: 1.5rem 2rem;
    flex-flow: row;
    justify-content: space-between;
    align-items: center;
  }
}

@media (max-width:600px) {
  .header {
    padding: 1rem 2rem;
  }
}

@media (max-width:415px) {
  .header {
    padding: 1rem;
  }
}

 .site-title__logo {
  margin: 0 auto;
}

.site-title__link {
  padding: 0 2rem;
}

@media (max-width:1280px) {
  .site-title__logo {
    max-width: 80px;
  }
  
  .site-title__link {
    padding: 0;
  }
}

a.site-title__name {
  margin: 2rem auto 0;
  padding: 0 2rem;
  font-size: 1.3rem;
  line-height: 130%;
  font-weight: var(--bold);
  text-decoration: none;
  text-align: center;
}

@media (max-width:1500px) {
  a.site-title__name {
    font-size: 1.3rem;
  }
}

@media (max-width:1280px) {
  a.site-title__name {
    margin: 0;
    padding: 0 1rem;
  }
}

@media (max-width:700px) {
  a.site-title__name {
    font-size: 1.2rem;
  }
}

@media (max-width:500px) {
  a.site-title__name {
    text-align: left;
    padding: 0 2rem 0 0;
    font-size: 1.1rem;
    max-width: 250px;
  }
}

.header_bottom {
  align-self: flex-end;
  margin: 0 auto;
  margin-top: auto;
  padding: 0 2rem;
}

@media (max-width:1280px) {
  .header_bottom {
    display: none;
  }
}



/*
===============================
= 10 Десктопное меню
============================================
*/

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

@media (max-width:1280px) {
  .header .nav {
    display: none;
  }
}

.header .nav::-webkit-scrollbar-track {
  background: #444
}

.header .nav::-webkit-scrollbar {
  width: 5px;
  background: #444
}

.nav-menu {
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 3rem 2rem 2rem;
}

.nav-menu li {
  padding: 0.6rem 2rem;
}

.sub-menu li {
  padding: 0.6rem 0;
}

.nav-menu li a {
  text-decoration: none;
}

.nav-menu li a:hover {
  text-decoration: underline;
}

.nav-menu li.current-menu-item .sub-menu a {
  color: var(--rich-border-col);
}

.nav-menu li.menu-item-has-children {
  position: relative;
}

.nav-menu li ul {
  width: 290px;
  position: absolute;
  top: -2rem;
  left: 0;
  text-align: left;
  padding: 2rem 1.5rem 2rem 3rem;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
  transform: translateX(0);
  transition: transform 0.4s ease-in-out, opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  opacity: 0; 
  visibility: hidden;
  z-index: -1
}

.nav-menu li ul li ul {
  top: -2rem;
}

.nav-menu .menu-item-has-children:hover > ul {
  transform: translateX(calc(380px - 2rem));
  opacity: 1; 
  visibility: visible;
  transition: transform 0.4s ease-in-out, opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}

@media (max-width:1500px) {
  .nav-menu .menu-item-has-children:hover > ul {
    transform: translateX(calc(300px - 3.2rem));
  }
}

.sub-menu .menu-item-has-children:hover >  ul {
   transform:translateX(calc(270px - 2rem));
   transition: transform 0.4s ease-in-out, opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
  }

.nav-menu .menu-item-has-children::before {
  content: "";
  position: absolute;
  right: 2rem;
  top: 13px;
  z-index: 1;
  width: 1.2rem;
  height: 1.2rem;
  background-image: url("assets/img/arrow-next-alt.svg");
  background-position: center;
  background-size: 1rem;
  background-repeat: no-repeat;
  transform: translateX(0);
  opacity: 1;
  transition: opacity 0.4s linear, transform 0.4s linear;
}

.sub-menu .menu-item-has-children::before {
  right: 0;
}

.nav-menu .menu-item-has-children:hover::before {
  transform: translateX(20px);
  opacity: 0;
  transition: opacity 0.4s linear, transform 0.4s linear;
}

.nav-menu li.menu-item-has-children::after {
  content: "";
  position: absolute;
  right: -36px;
  top: 0;
  width: 35px;
  height: 100%;
  background-color: transparent;
}


/*
===============================
= 11 Разметка для любого раздела Главной
============================================
*/

.container {
  margin: 0 auto;
  max-width: var(--width);
}

.section-inner {
  position: relative;
  z-index: 1;
  padding: 7rem 2rem;
}

.container--cpt {
  padding: 4rem 2rem;
}


@media (max-width:1500px) {
  .section-inner {
    padding: 4rem 3rem;
  }
}

@media (max-width:700px) {
  .section-inner {
    padding: 3rem 2rem;
  }
}

@media (max-width:415px) {
  .section-inner {
    padding: 2rem 1rem;
  }
  
  .home .section-inner {
    padding: 4rem 2rem;
  }
}

@media (max-width: 500px) {
  .container--cpt {
    padding-bottom: 1rem;
  }
  
  .archive .service-list,
  .archive .portfolio-list {
    margin-bottom: 2rem;
  }
}

.section-inner__subheader {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  margin-bottom: 3rem;
}

.subheader--row {
  flex-direction: row;
  align-items: center;
}

@media (max-width:800px) {
  .section-inner__subheader {
    align-items: center;
    text-align: center;
    display: block
  }
}

.section-inner__wrapper {
  padding-right: 3rem;
}

@media (max-width:800px) {
  .section-inner__wrapper {
    padding-right: 0;
  }
}

.title {
  margin-bottom: 2.4rem;
  font-weight: var(--bold);
  font-size: 1.8rem;
  line-height: 130%;
}

.section-inner__subheader .title {
  margin-bottom: 0;
}

.about .section-inner__subheader {
  margin-bottom: 1.6rem;
}

@media (max-width:800px) {
  .title {
    font-size: 1.45rem;
  }
}

@media (max-width:800px) {
  .service .title,
  .portfolio .title,
  .products .title,
  .team .title,
  .news .title {
    margin-bottom: 0;
  }
}

.subtitle {
  position: relative;
  display: inline-block;
  margin-bottom: 0.6rem;
  padding-left: 3rem;
  font-size: 0.8rem;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: var(--grey-col);
}

.subtitle::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55rem;
  width: 2rem;
  height: 1px;
  background-color: var(--rich-border-col);
}

@media (max-width:500px) {
  .subtitle {
    padding-left: 0;
  }
   
  .subtitle::before {
    display: none;
  }
}

a.subheader-link {
  padding-right: 1.8rem;
  position: relative;
  align-self: flex-end;
  color: var(--grey-col);
  text-decoration: none
}

a.subheader-link:hover {
  text-decoration: underline
}

a.subheader-link::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0.3rem;
  width: 1rem;
  height: 1rem;
  background-image: url("assets/img/arrow-next-alt.svg");
  background-position: center;
  background-size: 1rem;
  background-repeat: no-repeat;
}

@media (max-width:800px) {
  a.subheader-link {
    display: inline-block;
    margin-top: 1rem;
    padding-right: 0;
  }

  a.subheader-link::before {
    background-size: 0.8rem;
    top: 0.35rem;
    right: -1.5rem;
  }
}

.subheader--faq {
  display: block;
  margin-bottom: 2rem;
}

@media (max-width:800px) {
  .subheader--faq {
    flex-direction: row;
    align-items: center;
  }
}

/*
===============================
= 12 Раздел на Главной: Постер
============================================
*/

.poster {
  position: relative;
  background-color: #f7f6fb;
}

.poster__bg {
  height: 100vh; 
  width: 100%; 
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

@media (max-width:1280px){
  .poster__bg {
    height: calc(100vh - 120px);
  }
}

@media (max-width:800px){
  .poster__bg {
    height: 400px; 
  }
}

@media (max-width:415px){
  .poster__bg {
    height: 300px; 
  }
}

.section-inner--poster {
  padding: 0;
  height: auto;
}

@media (max-width:1280px){
  .section-inner--poster {
    width: 100%;
  }
}

.poster__caption {
  position: absolute;
  right: 2rem;
  bottom: 4rem;
  border-radius: 8px;
  padding: 2rem 2.3rem;
  width: 600px;
  background-color: rgba(0, 0, 0, 0.15);
}

@media (max-width:1500px){
  .poster__caption {
    right: 3rem;
  }
}

@media (max-width:1280px){
  .poster__caption {
    right: 50%;
    transform: translateX(50%);
  }
}

@media (max-width:800px){
  .poster__caption {
    position: relative;
    right: initial;
    bottom: initial;
    padding: 2rem 3rem;
    border-radius: 0;
    width: 100%;
    transform: none
  }
}

@media (max-width:700px){
  .poster__caption {
    padding: 2rem 2rem 0;
  }
}

@media (max-width:415px){
  .poster__caption {
    padding: 1.5rem 1rem;
  }
} 

.poster__caption--light {
  background-color: rgba(255, 255, 255, 0.96);
}

@media (max-width:800px){ 
  .poster__caption--light {
    background-color: rgba(255, 255, 255, 1);
  }
}

.poster__title {
  font-weight: var(--bold);
  font-size: 1.8rem;
  line-height: 130%;
  color: var(--light-col);
}

@media (max-width:800px){
  .poster__title {
    font-size: 1.45rem;
  }
}

.poster__descr {
  display: block;
  margin-top: 1rem;
  color: #d1cfd6;
}

.animated {
  -webkit-animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-duration: 1s;
  animation-fill-mode: both
}

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite
}

.animated.slow {
  -webkit-animation-duration: 2s;
  animation-duration: 2s
}

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px)
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px)
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
  }
}

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown
}

.poster__arrow {
  display: block;
  width: 50px;
  height: 50px;
  text-align: center;
  position: absolute;
  bottom: 4rem;
  left: 2rem;
  z-index: 2;
  text-decoration: none;
  border: 1px solid var(--light-col);
  border-radius: 50%;
  background-image: url("assets/img/arrow-down.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.5rem 1.5rem;
}

@media (max-width:800px){
  .poster__arrow {
    display: none;
  }
}

#start-scrolling {
  font-size: 0;
}


/*
===============================
= 13 Раздел на Главной:  О нас + Достижения
============================================
*/

.about-wrapper {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}

.about__info {
  flex-basis: 48%;
}

.about__info p {
  margin-bottom: 1.8rem;
}

.about__image {
  flex-basis: 48%;
}

@media (max-width: 800px) {
  .about__info,
  .about__image {
    flex-basis: 100%;
  }

  .about__info {
    margin-bottom: 2rem;
    order: 2;
  }

  .about__image {
    margin-bottom: 3rem;
  }

  .about .btn {
    margin: 0 auto;
    display: table;
  }
}

.about__image img {
  border-radius: 6px;
}

.benefits {
  padding-top: 3rem;
}

.benefits__item {
  position: relative;
  padding: 0.8rem 1.4rem;
  border-radius: 6px;
  border: 1px solid var(--border-col);
  background-color: var(--light-col);
}

.benefits__num {
  padding-right: 4rem;
  display: block;
  font-size: 1.8rem;
  font-weight: var(--bold);
}

.benefits__icon {
  position: absolute;
  right: 1rem;
  top: 1rem;
  z-index: 1;
  width: 2.2rem;
  height: 2.2rem;
}

@media (max-width: 1500px) {
  .benefits__item {
    font-size: 0.9rem;
  }

  .benefits__num {
    font-size: 1.4rem;
  }

  .benefits__icon {
    width: 2rem;
    height: 2rem;
    top: 0.95rem
  }
}

@media (max-width: 600px) {
  .benefits__icon {
    width: 1.8rem;
    height: 1.8rem;
  }
}


/*
===============================
=  14 Раздел на Главной: Призыв к действию
============================================
*/

.action {
  position: relative;
  color: var(--light-col);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.action::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

.action__title {
  margin-bottom: 1rem;
  font-size: 2rem;
  line-height: 140%;
}

@media (max-width:800px) {
  .action__title {
    font-size: 1.7rem;
  }
}

@media (max-width:415px) {
  .action__title {
    font-size: 1.45rem;
  }
}

.action__text {
  display: block;
  font-size: 1.2rem;
  margin-bottom: 1.9rem;
}

@media (max-width:415px) {
  .action__text {
    font-size: 1.1rem;
  }
}

.action__call {
  margin-left: 1.4rem;
}

@media (max-width:600px) {
  .action__call {
    display: block;
    margin-top: 2rem;
    margin-left: 0;
    font-size: 1.1rem;
  }
}

.action__link {
  color: var(--light-col);
  text-decoration: none;
  font-weight: var(--bold);
}

/*
===============================
= 15 Раздел на Главной: Услуги
============================================
*/

.service-list__item {
  position: relative;
  border-radius: 6px;
  padding: 2rem;
  background-color: var(--light-col);
  border: 1px solid var(--border-col);
  transition: box-shadow 0.3s ease-in-out;
}

@media (max-width:415px) {
  .service-list__item {
    margin-bottom: 0;
    padding: 1.6rem 1rem;
  }
}

.service-list__item:hover {
  box-shadow: 0 10px 20px rgba(164, 168, 255, .2);
  transition: box-shadow 0.3s ease-in-out;
}

.service-item__title {
  position: relative;
  margin-bottom: 2.5rem;
  padding-right: 8rem;
  font-size: 1.2rem;
  line-height: 1.4;
}

@media (max-width:415px) {
  .service-item__title {
    padding-top: 4rem;
    padding-right: 0;
  }
}

.service-item__title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1rem;
  width: 2rem;
  height: 1px;
  background-color: var(--rich-border-col);
}

.service-item__title a {
  color: initial;
  text-decoration: none;
}

.service-item__title a:hover {
  text-decoration: underline;
}

.service_thumbnail {
  margin-bottom: 1.5rem;
}

.service-item__decor {
  position: absolute;
  top: 1.7rem;
  right: 4rem;
}

@media (max-width:415px) {
  .service-item__decor {
    right: initial;
    left: 1rem;
  }
}

.service-item__decor::before {
  content: "";
  position: absolute;
  right: -2rem;
  top: -1rem;
  border-radius: 50%;
  width: 4rem;
  height: 4rem;
  opacity: 0.35;
}

.service-item__icon {
  width: 3rem;
  height: 3rem;
  object-fit: cover;
  position: relative;
  z-index: 1;
}

.service-item--btn {
  margin-top: 0.5rem;
}

@media (max-width:415px) {
  .service-item--btn {
    width: initial !important
  }
}


/*
===============================
= Кастомные стили для swiper слайдера
============================================
*/

.cpt-slider {
  max-width: 1100px;
  margin-bottom: 2.4rem;
  background-color: var(--light-col);
}

.swiper-slider__item {
  height: auto;
}

.feedback-nav__prev svg,
.feedback-nav__next svg,
.cpt-nav__next svg,
.cpt-nav__prev svg {
  width: 1.45rem;
  height: 1.45rem;
  fill: currentColor;
  -o-object-fit: cover;
  object-fit: cover;
}

.swiper-pagination-current,
.swiper-pagination-total {
  display: inline-block;
}

.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: -3rem;
}

@media (max-width:500px) {
  .swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: -1.6rem;
  }
}

.swiper-pagination-bullet {
  width: 18px;
  height: 10px;
  border-radius: 4px;
}

.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 16px 0 0;
}

.swiper-button-disabled {
  opacity: 0.4;
  pointer-events: none;
}


/*
===============================
= 16 Кастомные стили для Swiper
============================================
*/

.cpt-nav,
.feedback-nav {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  z-index: 10;
  width: 100%;
  max-width: 1160px;
}

.feedback-nav{
  max-width: var(--width);
  margin-top: -40px;
}

@media (max-width:500px) {
  .feedback-nav {
   display: none;
  }
}

@media (max-width:415px) {
  .cpt-nav {
    margin-top: -20px;
  }
}

.cpt-nav__next,
.cpt-nav__prev,
.feedback-nav__prev,
.feedback-nav__next {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  border-radius: 4px;
  width: 2.6rem;
  height: 2.6rem;
  color: var(--grey-col);
  background-color: var(--light-col);
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out, border-color 0.3s ease-in-out;
  cursor: pointer;
}

@media (max-width:415px) {
  .cpt-nav__next,
  .cpt-nav__prev,
  .feedback-nav__prev,
  .feedback-nav__next {
    transform: scale(0.8);
  }
}

.cpt-nav__next {
  right: 1.6rem;
}

.feedback-nav__next {
  right: -2rem;
}

@media (max-width:600px) {
  .feedback-nav__next{
    right: -0.5rem;
  }
}

@media (max-width:800px) {
  .cpt-nav__next {
    right: 0.5rem;
  }
}

.cpt-nav__prev {
  left: 1.6rem;
}

.feedback-nav__prev {
  left: -2rem;
}

@media (max-width:600px) {
  .feedback-nav__prev {
    left: -0.5rem;
  }
}

@media (max-width:800px) {
  .cpt-nav__prev {
    left: 0.5rem;
  }
}

.cpt-nav__next:hover,
.cpt-nav__prev:hover,
.feedback-nav__prev:hover,
.feedback-nav__next:hover{
  color: var(--light-col);
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}

.home-slider-wrapper {
  position: relative;
  width: 100%;
  margin: 0 auto;
}

@media (max-width:600px) {
  .home-slider-wrapper {
    padding: 0 3rem;
  }
}

@media (max-width:500px) {
  .home-slider-wrapper {
    padding: 0;
  }
}

/*
===============================
= 17 Раздел на Главной: Отзывы
============================================
*/
 
@media (max-width:415px) {
  .feedback .title {
    margin-bottom: 1rem;
  }
}

.feedback-list {
  position: relative;
  overflow: hidden;
  max-width: var(--width);
  padding: 0 1rem 2rem;
  margin: 0 -1rem;
}

@media (max-width:800px) {
  .feedback-list {
    padding-bottom: 3rem;
  }
}

.feedback-list__item {
  background-color: var(--light-col);
  padding: 2rem 3rem;
  border-radius: 6px;
  box-shadow: 0 10px 20px rgba(164, 168, 255, .2);
}

@media (max-width:800px) {
  .feedback-list__item {
    padding: 2rem;
  }
}

@media (max-width:415px) {
  .feedback-list__item {
    font-size: 0.96rem;
  }
}

.feedback-item {
  display: flex;
  flex-flow: column;
}

.feedback-item > * {
  width: 100%;
}

.feedback-item__content {
  margin-bottom: 2rem;
}

.feedback-item__img {
  float: left;
  width: 64px;
  border-radius: 50%;
  margin-right: 1.6rem;
}

@media (max-width:800px) {
  .feedback-item__img {
    width: 40px;
    margin-right: 1.4rem;
    margin-bottom: 1rem;
  }
}

@media (max-width:415px) {
  .feedback-item__img {
    width: 50px;
  }
}

.feedback-item__name {
  padding-top: 0.2rem;
  display: block;
  font-weight: var(--bold);
}

@media (max-width:800px) {
  .feedback-item__name {
    padding-top: 0;
  }
}

@media (max-width:415px) {
  .feedback-item__name {
    font-size: 0.9rem;
  }
}

.feedback-item__status {
  display: inline-block;
  margin-bottom: 0.4rem;
  font-size: 0.96rem;
}

@media (max-width:415px) {
  .feedback-item__status {
    font-size: 0.82rem;
  }
}

.feedback-item__stars svg {
  display: inline-block;
  width: 1rem;
  height: 1rem;
}

@media (max-width:415px) {
  .feedback-item__stars svg {
    width: 0.9rem;
    height: 0.9rem;
  }
}

.feedback-item__stars svg:not(:last-child) {
  margin-right: 0.3rem;
}

 /*
===============================
= 18 Раздел на Главной: Галерея
============================================
*/

.home-gallery-item {
  position: relative;
}

.home-gallery-item__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 0.6rem 1rem;
  background-color: rgba(0, 0, 0, 0.4);
  color: var(--light-col);
  font-size: 0.96rem;
  border-top-right-radius: 8px;
}

.home-gallery-item:nth-of-type(1) {
  grid-area: 1 / 1 / 3 / 3;
}

.home-gallery-item:nth-of-type(2) {
  grid-area: 1 / 3 / 2 / 4;
}

.home-gallery-item:nth-of-type(3) {
  grid-area: 2 / 3 / 3 / 4;
}

.home-gallery-item:nth-of-type(4) {
  grid-area: 3 / 1 / 4 / 2;
}

.home-gallery-item:nth-of-type(5) {
  grid-area: 4 / 1 / 5 / 2;
}

.home-gallery-item:nth-of-type(6) {
  grid-area: 3 / 2 / 5 / 4;
}

.home-gallery-item:nth-of-type(7) {
  grid-area: 5 / 1 / 7 / 3;
}

.home-gallery-item:nth-of-type(8) {
  grid-area: 5 / 3 / 6 / 4;
}

.home-gallery-item:nth-of-type(9) {
  grid-area: 6 / 3 / 7 / 4;
}

.home-gallery-item:nth-of-type(10) {
  grid-area: 7 / 1 / 8 / 2;
}

.home-gallery-item:nth-of-type(11) {
  grid-area: 8 / 1 / 9 / 2;
}

.home-gallery-item:nth-of-type(12) {
  grid-area: 7 / 2 / 9 / 4;
}

@media (max-width:760px) {
  .home-gallery-item:nth-of-type(2) {
    grid-area: 3 / 1 / 4 / 2;
  }

  .home-gallery-item:nth-of-type(3) {
    grid-area: 3 / 2 / 4 / 3;
  }

  .home-gallery-item:nth-of-type(6) {
    grid-area: 4 / 1 / 5 / 3;
  }

  .home-gallery-item:nth-of-type(4) {
    grid-area: 5 / 1 / 6 / 2;
  }

  .home-gallery-item:nth-of-type(5) {
    grid-area: 5 / 2 / 6 / 3;
  }

  .home-gallery-item:nth-of-type(7) {
    grid-area: 6 / 1 / 8 / 3;
  }

  .home-gallery-item:nth-of-type(8) {
    grid-area: 8 / 1 / 9 / 2;
  }

  .home-gallery-item:nth-of-type(9) {
    grid-area: 8 / 2 / 9 / 3;
  }

  .home-gallery-item:nth-of-type(12) {
    grid-area: 9 / 1 / 11 / 3;
  }

  .home-gallery-item:nth-of-type(10) {
    grid-area: 11 / 1 / 12 / 2;
  }

  .home-gallery-item:nth-of-type(11) {
    grid-area: 11 / 2 / 12 / 3;
  }
}

@media (max-width:380px) {
  .home-gallery-list__item {
    grid-area: initial !important;
  }
}

.home-gallery-list__item:hover img {
  opacity: 0.9;
  transition: opacity 0.3s ease-in-out;
}

.home-gallery-item:nth-of-type(1)::before {
  content: "";
  position: absolute;
  right: 1rem;
  top: 1rem;
  z-index: 1;
  border-radius: 4px;
  width: 2.6rem;
  height: 2.6rem;
  background-image: url("assets/img/expand.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-color: rgba(0, 0, 0, 0.3);
}

@media (max-width: 415px) {
  .home-gallery-item:nth-of-type(1)::before {
    right: 0.5rem;
    top: 0.5rem;
    transform: scale(0.75);
  }
}


/*
===============================
= 19 Раздел на Главной: Продукты
============================================
*/

.products-item {
  display: flex;
  flex-flow: column;
  padding-bottom: 127px;
  position: relative;
  border-radius: 6px;
  background-color: var(--light-col);
  box-shadow: 0 10px 20px rgba(164, 168, 255, .2);
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

@media (max-width: 800px) {
  .products-item {
    margin-bottom: 1rem;
  }
}

  .products-item:hover {
    transform: translateY(5px);
    box-shadow: 0 10px 20px rgba(164, 168, 255, 0);
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
  }

.products-item__image {
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}

.single .products-item__image {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.products-item__content {
  padding: 1.5rem 2rem 0;
  margin-bottom: 1rem;
}

.products-item__title {
  margin-bottom: 1rem;
  font-size: 1.2rem;
  line-height: 1.3;
}

.products-item__title a {
  color: initial;
  text-decoration: none;
}

.products-item__title a:hover {
  text-decoration: underline;
}

.products-attr__item {
  font-size: 0.96rem;
}

.products-attr__item:not(:last-child) {
  margin-bottom: 0.7rem;
}

.products-item__list {
  margin-bottom: 28px;
}

.products-item__footer {
 position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 4rem);
  height: 127px;
  margin-bottom: 1.5rem;
}

.products-item__price {
  display: flex;
  justify-content: space-between;
  margin-bottom: 1rem;
  font-size: 1rem;
  font-weight: var(--bold);
 
}

.home .products-item__price,
.archive .products-item__price {
  padding-top: 1.2rem;
  border-top: 1px solid #e6e6e6;
}

.products-item__sale {
  margin-right: auto;
  display: inline-block;
  line-height: 1.2;
  color: #aaa8b5;
  font-weight: 500
}

.products-item__sale em {
  font-style: normal;
  font-size: 0.88rem;
  display: block;
}

.products-item__current {
  font-size: 1.2rem;
}

.products-item--btn {
  width: 100%;
  text-align: center;
}

.products-item__label {
  position: absolute;
  left: 1rem;
  top: 1rem;
  z-index: 10;
  border-radius: 4px;
  padding: 0.6rem 1rem;
  color: var(--light-col);
  transform: scale(0.8);
}

.product-archive__list {
  margin-bottom: 2rem;
}

.home .product-archive__list {
  margin-bottom: 0;
}

.product-archive__item {
  position: relative;
}


/*
===============================
= 20 Раздел на Главной: Команда
============================================
*/
.team-list {
  margin-bottom: 2rem;
}

.home .team-list {
  margin-bottom: 0;
}

.team-list__item {
  border-radius: 8px;
  background-color: var(--light-col);
  padding: 1.5rem;
  border: 1px solid var(--border-col);
  transition: box-shadow 0.3s ease-in-out;
}

.team-item__image {
  position: relative;
  margin-bottom: 1.5rem;
}

.team-item__image img {
  border-radius: 6px;
}

.team-item__name {
  display: block;
  font-size: 1.1rem;
  font-weight: var(--bold);
}

@media (max-width:415px) {
  .team-item__name {
    font-size: 1rem;
  }
}

.team-item__status {
  color: #6c6974;
}

.team-item__link {
  position: absolute;
  right: 1.6rem;
  bottom: -1.4rem;
  z-index: 1;
  width: 3rem;
  height: 3rem;
  border-radius: 100%;
  color: var(--light-col);
  text-decoration: none;
  background-image: url("assets/img/close-white.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.4rem 1.4rem;
  transform: rotate(-45deg);
  transition: transform 0.3s ease-in-out, background-color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}

.team-list__item:hover .team-item__link {
  transform: rotate(45deg);
  transition: transform 0.3s ease-in-out, background-color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}

.team-list__item:hover {
  box-shadow: 0 10px 20px rgba(164, 168, 255, .2);
  transition: box-shadow 0.3s ease-in-out;
}


/*
===============================
= 21 Раздел на Главной: Портфолио
============================================
*/

.portfolio-list__item {
  position: relative;
  border-radius: 6px;
}

.portfolio-img {
  margin-bottom: 1.2rem;
}

.single .portfolio-img {
  margin-bottom: 2.5rem;
}

.portfolio-img img {
  border-radius: 6px;
}

.portfolio-item__title {
  font-size: 1.1rem;
  line-height: 1.4;
  color: initial;
}

.portfolio-item__title a {
  text-decoration: none;
  color: initial;
}

.portfolio-item__title a:hover {
  text-decoration: underline;
}


/*
===============================
= 22 Раздел на Главной: Пошаговый процесс
============================================
*/

.steps-wrapper {
  margin-top: 5rem;
}

.steps .section-inner {
  padding-bottom: 5rem;
}

.steps-item {
  margin-bottom: 2.6rem;
  position: relative;
  border-radius: 8px;
  padding: 2.5rem 2rem 1.5rem;
  border: 1px solid var(--light-col);
  background-color: rgba(255, 255, 255, 0.7);
  transition: background-color 0.3s ease-in-out, transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

@media (max-width:1024px) {
  .steps-item {
    margin-bottom: 2rem;
  }
}

@media (max-width:415px) {
  .steps-item {
    padding: 2.5rem 1.45rem 1.45rem;
  }

  .steps-item:last-child {
    margin-bottom: 0;
  }
}

.steps-item:nth-of-type(1),
.steps-item:hover {
  background-color: rgba(255, 255, 255, 1);
  transform: translateY(5px);
  box-shadow: 0 10px 20px rgba(164, 168, 255, .2);
  transition: background-color 0.3s ease-in-out, transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

.steps-item:nth-of-type(1) {
  transform: translateY(0);
}

.steps-item__title {
  position: relative;
  display: block;
  margin-bottom: 2rem;
  font-size: 1.1rem;
  line-height: 1.4;
  font-weight: var(--bold);
}

.steps-item__title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1rem;
  width: 2rem;
  height: 1px;
  background-color: var(--rich-border-col);
}

.steps-item:nth-of-type(1)::before,
.steps-item:nth-of-type(2)::before,
.steps-item:nth-of-type(3)::before,
.steps-item:nth-of-type(4)::before,
.steps-item:nth-of-type(5)::before,
.steps-item:nth-of-type(6)::before {
  content: "";
  font-size: 4.2rem;
  opacity: 0.5;
  position: absolute;
  top: -4rem;
  left: 0.5rem;
  z-index: 10;
  font-weight: var(--bold);
}

@media (max-width:600px) {

  .steps-item:nth-of-type(1)::before,
  .steps-item:nth-of-type(2)::before,
  .steps-item:nth-of-type(3)::before,
  .steps-item:nth-of-type(4)::before,
  .steps-item:nth-of-type(5)::before,
  .steps-item:nth-of-type(6)::before {
    font-size: 3rem;
    top: -2.5rem;
  }
}

.steps-item:nth-of-type(1)::before {
  content: "01";
}

.steps-item:nth-of-type(2)::before {
  content: "02";
}

.steps-item:nth-of-type(3)::before {
  content: "03";
}

.steps-item:nth-of-type(4)::before {
  content: "04";
}

.steps-item:nth-of-type(5)::before {
  content: "05";
}

.steps-item:nth-of-type(6)::before {
  content: "06";
}

.steps-item__descr {
  font-size: 1rem;
}

.steps-item .btn {
  margin-top: 1.2rem;
}

/*
===============================
= 23 Раздел на Главной: Вопрос - Ответ
============================================
*/

.faq-wrapper {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}

.faq-descr {
  flex-basis: 36%;
  padding-bottom: 3rem;
  overflow: hidden !important;
}

@media (max-width:800px) {
  .faq-descr {
    flex-basis: 100%;
    margin-bottom: 2.3rem;
  }
}

@media (max-width:800px) {
  .faq-descr__text {
    text-align: center;
  }
}

.faq-accordion {
  flex-basis: 59%;
}

@media (max-width:800px) {
  .faq-accordion {
    flex-basis: 100%;
  }
}

.faq-accordion__item {
  border-radius: 6px;
  margin-bottom: 1rem;
  background-color: var(--light-col);
  border: 1px solid var(--border-col);
  transition: box-shadow 0.3s ease-in-out;
}

.faq-accordion__item:hover {
  box-shadow: 0 10px 20px rgba(164, 168, 255, .2);
  transition: box-shadow 0.3s ease-in-out;
}

.faq-accordion__title {
  position: relative;
  cursor: pointer;
  padding: 1rem 5rem 1rem 1.5rem;
  position: relative;
  font-weight: var(--bold);
  border-bottom: 1px solid var(--border-col)
}

.faq-accordion__title::before {
  content: "";
  position: absolute;
  right: 1rem;
  top: 1rem;
  width: 1.4rem;
  height: 1.4rem;
  background-image: url("assets/img/close.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  transform: rotate(45deg);
  transition: transform 0.3s ease-in-out;
}

.faq-accordion__title.is-shown::before {
  transform: rotate(0);
  transition: transform 0.3s ease-in-out;
}

.faq-accordion__content {
  display: none;
  padding: 1rem 1.5rem;
}

.faq-accordion__content.is-shown {
  display: block;
}


/*
===============================
= 24 Раздел на Главной: Новости
============================================
*/

.entry {
  border: 1px solid var(--border-col);
  border-radius: 6px;
  display: flex;
  flex-flow: column nowrap;
  transition: box-shadow 0.3s ease-in-out;
  background-color: var(--light-col);
}

.entry:hover {
  box-shadow: 0 10px 20px rgba(164, 168, 255, .2);
  transition: box-shadow 0.3s ease-in-out;
}

.entry__content {
  padding: 1.5rem 1.8rem 1rem;
}

@media (max-width:800px) {
  .entry__content {
    padding: 1.5rem 1rem 1rem;
  }
}

.entry__title {
  position: relative;
  margin-bottom: 2rem;
  font-size: 1rem;
  line-height: 140%;
}

.entry__title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1rem;
  width: 2rem;
  height: 1px;
  background-color: var(--rich-border-col);
}

.entry__link {
  color: inherit;
  text-decoration: none;
}

.entry__link:hover {
  text-decoration: underline;
}

.entry__anons {
  font-size: 1rem;
}

.entry__date {
  color: var(--grey-col);
  font-size: 0.9rem;
  display: inline-block;
}

.blog .entry__date {
  font-size: 0.82rem;
}

.entry__category {
  padding-left: 1.4rem;
  margin-right: 0.6rem;
  position: relative;
  font-size: 0.85rem;
}

.entry__category a {
  color: var(--grey-col);
  text-decoration: none;
}

.entry__category a:not(:first-child) {
  margin-left: 0.3rem;
}

.entry__category a:hover {
  text-decoration: underline;
}

.entry__category::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1px;
  width: 1rem;
  height: 1rem;
  background-image: url("assets/img/folder_open.svg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}


/*
===============================
= 25 Раздел на Главной: Контакты
============================================
*/

.contact-wrapper {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
}

@media (max-width:800px) {
  .contact-wrapper {
    margin-bottom: 2rem;
    flex-flow: column wrap;
  }
  
  .home .contact-wrapper {
    margin-bottom: 0;
  }
}

.contacts--subheader {
  margin-bottom: 1.6rem;
}

.contact-form {
  flex-basis: 38%;
  border-radius: 6px;
  padding: 1.6rem 2rem;
  border: 1px solid var(--border-col);
  background-color: var(--light-col);
  transition: box-shadow 0.3s ease-in-out;
}

@media (max-width:800px) {
  .contact-form {
    flex-basis: 100%;
  }
}

@media (max-width:415px) {
  .contact-form {
    padding: 1rem;
  }
}

.contact-form:hover {
  box-shadow: 0 10px 20px rgba(164, 168, 255, .2);
  transition: box-shadow 0.3s ease-in-out;
}

.contact-form__map {
  border-radius: 6px;
  margin-top: 3rem;
  padding: 1rem;
  background-color: var(--light-col);
  border: 1px solid var(--border-col);
}

.contact-form__map iframe {
  display: block;
}

@media (max-width:800px) {
  .contact-form__map {
    margin-top: 2rem;
  }
}

@media (max-width:415px) {
  .contact-form__map {
    margin-top: 3rem;
    padding: 0;
    border: 0
  }
}

.wpcf7-text,
.wpcf7-email,
.wpcf7-tel,
.wpcf7-textarea {
  margin: 10px 0;
  border: 1px solid var(--rich-border-col);
  border-radius: 6px;
  padding: 1rem;
  width: 100%;
  height: 52px;
  font-family: inherit;
  font-variant-numeric: lining-nums;
  font-size: 1rem;
  line-height: 1;
  color: #6c6974;
  background-color: #fbfdff;
}

@media (max-width:600px) {
  .wpcf7-text,
  .wpcf7-email,
  .wpcf7-tel,
  .wpcf7-textarea {
    margin: 5px 0;
    padding: 0 1rem;
    height: 40px;
  }
}

.wpcf7-textarea {
  height: 120px;
}

.wpcf7-text:focus,
.wpcf7-email:focus,
.wpcf7-tel:focus,
.wpcf7-textarea:focus,
.wpcf7-submit:focus {
  border-color: var(--accent);
  outline: none
}

.wpcf7-submit {
  width: 100%;
}


.wpcf7-form p {
  margin: 0;
}

.wpcf7 label {
  font-size: 0.9rem;
  line-height: 150%;
  color: var(--grey-col);
}

.wpcf7-form-control-wrap {
  margin-bottom: 0.5rem;
  display: block;
}

.contact-content {
  padding-top: 4px;
  flex-basis: 54%;
}

@media (max-width:800px) {
  .contact-content {
    flex-basis: 100%;
    margin-bottom: 4rem;
  }
}

.contact-content__descr {
  margin-bottom: 3rem;
  color: var(--grey-col);
}


.contact-content__item {
  display: grid;
  grid-template-columns: 1fr 3fr;
}

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

.contact-content__item:not(:last-child) {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--border-col);
}

 .contact-content__label {
  color: var(--grey-col);
}

@media (max-width:500px) {
  .contact-content__item {
    grid-template-columns: 1fr;
  }
  
  .contact-content__label {
    margin-bottom: 1rem
  }
  
  .contact-content__data {
    text-align: left;
  }
}

@media (max-width:415px) {
  .contact-content__label {
    font-size: 0.9rem;
  }
}

.contact-content__link {
  text-decoration: none;
}

.contact-content__link:hover {
  text-decoration: underline;
}

.wpcf7-not-valid {
  border: 1px solid red;
}

.wpcf7-not-valid-tip {
  margin-bottom: 10px;
  line-height: 1;
}

.wpcf7 form .wpcf7-response-output {
  margin: 1rem 0 0 0;
  padding: 1rem;
  font-size: 14px;
}

.wpcf7-not-valid-tip {
  font-size: 0.65rem !important;
}

.wpcf7-acceptance {
  margin: 1rem 0;
  display: block;
}

.wpcf7-acceptance input {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
  visibility: hidden;
}

.wpcf7-acceptance .wpcf7-list-item {
  display: inline-block;
  margin: 0;
}

.wpcf7-acceptance .wpcf7-list-item-label {
  position: relative;
  display: block;
  padding-left: 2rem;
  font-size: 12px;
}

@media (max-width:800px) {
  .wpcf7-acceptance .wpcf7-list-item-label {
    line-height: 1.4;
  }
}

.wpcf7-acceptance .wpcf7-list-item-label a {
  color: var(--grey-col);
}

.wpcf7-acceptance .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2rem;
  width: 1.3rem;
  height: 1.3rem;
  background-color: transparent;
  border: 1px solid var(--rich-border-col);
  border-radius: 4px;
}

.wpcf7-acceptance input:checked+span::before {
  background-image: url("assets/img/checked.svg");
  background-position: center;
  background-size: 1.1rem;
  background-repeat: no-repeat;
  border-color: transparent;
}

.wpcf7-submit:disabled {
  opacity: 0.6;
}

.contact-form__title {
  display: inline-block;
  margin-bottom: 0.4rem;
  font-weight: var(--bold);
  font-size: 1.26rem;
}

.contact-form__descr {
  margin-bottom: 1.5rem;
  font-size: 0.95rem;
}

.wpcf7 form .wpcf7-response-output {
  font-size: 0.75rem !important;
  padding: 0.4rem !important;
  text-align: center;
  border-radius: 6px;
}

@media (max-width:900px) {
  .contact-content__link {
    display: inline-block;
  }
}

/*
===============================
= 26 Подвал сайта
============================================
*/

.section-inner--footer {
  padding: 4rem 2rem;
}

@media (max-width:415px) {
  .section-inner--footer {
    padding: 4rem 1rem;
  }
}

.footer__credits {
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
  margin-top: 2rem;
  padding-top: 2rem;
  font-size: 0.9rem;
  line-height: 1;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.footer__credits p {
  margin-bottom: 0;
  line-height: 1.7;
  flex-grow: 1;
}
 
 
@media (max-width:1024px) {
  .footer__credits {
    font-size: 0.84rem;
    flex-flow: column wrap;
    align-items: flex-start;
  }

  .footer__credits p {
    margin-bottom: 1rem;
    line-height: 1.6;
  }
}

.credits__link {
  text-decoration: none;
}

.back2top {
  position: fixed;
  bottom: 20px;
  z-index: 100;
  display: none;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  text-align: center;
  color: var(--light-col);
  cursor: pointer;
  transition: background-color 0.3s ease-in-out;
}

.back2top svg {
  display: block;
  width: 1.4rem;
  height: 1.4rem;
  fill: currentColor;
  transform: rotate(-90deg);
}

.back2top.is-active {
  display: flex;
}

.back2top:hover {
  color: var(--light-col);
}

.footer__widget {
  margin-bottom: 2rem;
}

@media (max-width:1024px) {
  .right--col .widget:last-child {
    margin-bottom: 0;
  }
}

.footer__widget a {
  text-decoration: none;
}

.footer__widget a:hover {
  text-decoration: underline;
}

.footer__title {
  margin-bottom: 1.4rem;
  display: block;
  font-size: 1rem;
  font-weight: var(--bold);
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.footer .tagcloud a {
  display: inline-block;
  line-height: 1rem;
  font-size: 0.92rem !important;
  text-decoration: none;
  margin: 0 9px 9px 0;
  padding: 10px 8px;
  border: 1px solid var(--border-col);
}

.footer .tagcloud a:hover {
  text-decoration: none;
}

.widget_search .search-form {
  display: flex;
  justify-content: space-between;
}

@media (max-width:1024px) {
  .widget_search .search-form {
    justify-content: flex-start
  }
}

.widget_search .search-field {
  margin: 0;
  border: 1px solid var(--rich-border-col);
  border-radius: 6px;
  padding: 1.1rem 1.1rem 1rem;
  width: 100%;
  max-width: 700px;
  height: 50px;
  font-family: inherit;
  font-size: 1.1rem;
  line-height: 1;
  background-color: var(--light-col);
}

.widget_search .search-submit {
  margin-left: 1rem;
  height: 50px;
  padding: 0 1.5rem;
}

@media (max-width:415px) {
  .widget_search .search-submit {
    width: initial;
  }
}


/*
===============================
= 27 Модальное окно для cookies
============================================
*/

.cookies-box {
  border-radius: 8px;
  display: none;
  padding: 1.3rem 1.3rem;
  position: fixed;
  bottom: 2rem;
  left: 2rem;
  z-index: 1000;
  max-width: 400px;
  background-color: #f7f6fb;
  border: 1px solid var(--border-col);
  box-shadow: -5px 12px 30px 0 rgba(15, 8, 49, 0.3);
}

@media (max-width:600px) {
  .cookies-box {
    max-width: 320px;
  }
}

@media (max-width:376px) {
  .cookies-box {
    max-width: 300px;
    font-size: 0.86rem;
  }
}

.cookies-box__descr {
  font-size: 0.85rem;
  margin-bottom: 1.5rem;
}

.cookies-box__btn {
  border-radius: 8px;
  width: 100%;
  padding: 0.8rem 0;
  height: 52px;
  border: 1px solid var(--grey-col);
  text-align: center;
  font-size: 0.7rem;
  font-family: inherit;
  text-transform: uppercase;
  font-weight: var(--bold);
  transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out;
}

.cookies-box__btn:hover {
  color: var(--light-col);
  transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out;
}

.cookies-box__icon {
  width: 56px;
  height: 56px;
  float: left;
  margin-right: 15px;
  margin-top: 1rem;
  color: #1e1e22
}

.cookies-box__icon svg {
  width: 52px;
  height: 52px;
  object-fit: cover;
  display: block;
  fill: currentColor;
}

@media (max-width:600px) {
  .cookies-box__icon {
    display: none;
  }
}

/*
===============================
= 28 Поп-апы
============================================
*/
.modal {
  display: none;
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: 10001;
  width: 100%;
  max-width: 600px;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -50%);
  transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
}

.modal.is-open {
  display: block;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
}

.modal__close {
  content: "";
  position: absolute;
  right: 0.5rem;
  top: -1rem;
  z-index: 9999;
  border-radius: 50%;
  width: 3rem;
  height: 3rem;
  background-image: url("assets/img/close-white.svg");
  background-position: center;
  background-size: 1.4rem 1.4rem;
  background-repeat: no-repeat;
}

.modal__content {
  border-radius: 6px;
  margin: 0 2rem;
  padding: 2rem;
  background-color: var(--light-col);
}

@media (max-width:500px) {
  .modal__content {
    margin: 0 1rem;
    padding: 1rem 1.5rem;
  }
}

.modal__title {
  position: relative;
  z-index: 1;
  display: block;
  margin-bottom: 2rem;
  font-weight: var(--bold);
  font-size: 1.2rem;
}

@media (max-width:500px) {
  .modal__title {
    margin-bottom: 1rem;
    line-height: 1.45
  }
}

.modal__title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1rem;
  width: 2rem;
  height: 1px;
  background-color: var(--rich-border-col);
}

#search .modal__title {
  margin-bottom: 1rem;
}

#search .modal__title::before,
#products-modal .modal__title::before {
  display: none;
}

.modal__process {
  display: block;
  position: relative;
  z-index: 1;
  margin-bottom: 2rem;
  font-size: 1rem;
  color: var(--grey-col);
}

.modal__note {
  color: var(--grey-col);
  display: block;
  font-size: 0.96rem;
  margin-bottom: 0.5rem;
}

.modal-overlay {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
}

.modal-overlay.is-open {
  display: block;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
}

.modal .flex-wrapper {
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
}

.modal .flex-wrapper .modal-form__label {
  flex-basis: 48%;
}

@media (max-width:500px) {
  .modal .flex-wrapper {
    flex-direction: column;
  }

  .modal .flex-wrapper .modal-form__label {
    flex-basis: 100%;
  }

  .modal__process {
    font-size: 0.8rem;
  }
}

/*
===============================
= 29 Кнопки соц сетей
============================================
*/

.social-btns {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  margin: 1rem 0 2rem;
}

.social-btns__item {
  display: flex;
  align-content: center;
  width: 32px;
  height: 32px;
  opacity: 0.8;
  transition: opacity 0.3s ease-in-out;
}

.social-btns__item:not(:last-child) {
  margin-right: 10px;
}

.social-btns__item:hover {
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}

.social-btns__link {
  display: block;
  color: var(--light-col);
}

.social-btns__link svg {
  width: 32px;
  height: 32px;
  fill: currentColor;
  transition: fill 0.3s ease-in-out;
}

/*
===============================
= 30 Кнопки Поделиться в соц сетях
============================================
*/
.share-btns {
  margin-top: 2rem;

}

.share-btns__list {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
}

.share-btns__title {
  display: block;
  margin-bottom: 0.6rem;
  font-size: 0.8rem;
  color: var(--grey-col);
}

.share-btns__item:not(:last-child) {
  margin-right: 0.5rem;
}

.share-btns__link {
  display: block;
  border-radius: 4px;
  width: 1.9rem;
  height: 1.9rem;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transition: background-color 0.3s ease-in-out;
}

.share-btns__link:hover {
  transition: background-color 0.3s ease-in-out;
}

.share-btns__link--whatsapp {
  background-image: url("assets/img/social/whatsapp-color.svg");
  background-color: #00e47c;
}

.share-btns__link--vkontakte {
  background-image: url("assets/img/social/vkontakte-color.svg");
  background-size: 20px 20px;
  background-color: #07f;
}

.share-btns__link--facebook {
  background-image: url("assets/img/social/facebook-color.svg");
  background-color: #3b5998;
}

.share-btns__link--telegram {
  background-image: url("assets/img/social/telegram-color.svg");
  background-color: #08c;
}

.share-btns__link--twitter {
  background-image: url("assets/img/social/twitter-color.svg");
  background-color: #14a1e8;
}

.share-btns__link--odnoklassniki {
  background-image: url("assets/img/social/odnoklassniki-color.svg");
  background-color: #ff982c;
}

.share-btns__link--viber {
  background-image: url("assets/img/social/viber-color.svg");
  background-size: 18px 18px;
  background-color: #6246bc;
}


/*
===============================
=  Кнока открытия мобильного меню
============================================
*/
.mobile-menu-btn {
  position: relative;
  z-index: 9999;
  display: none;
  width: 32px;
  height: 42px;
  padding: 0;
}

.mobile-menu-btn__line {
  position: relative;
  display: block;
  border-radius: 2px;
  width: 100%;
  height: 2px;
  background-color: var(--light-col);
  transition: background-color 0.3s ease-in-out;
}

.mobile-menu-btn__line::before {
  content: "";
  position: absolute;
  left: 0;
  top: -7px;
  z-index: 1;
  border-radius: 2px;
  width: 85%;
  height: 2px;
  background-color: var(--light-col);
  transition: top 0.3s ease-in-out, transform 0.3s ease-in-out, background-color 0.3s ease-in-out;
}

.is-active .mobile-menu-btn__line::before {
  top: 0;
  transform: rotate(45deg);
  transition: top 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.mobile-menu-btn__line::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -7px;
  z-index: 1;
  border-radius: 2px;
  width: 85%;
  height: 2px;
  background-color: var(--light-col);
  transition: bottom 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.is-active .mobile-menu-btn__line::after {
  bottom: 0;
  transform: rotate(-45deg);
  transition: bototm 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.is-active .mobile-menu-btn__line {
  background-color: transparent;
  transition: background-color 0.02s ease-in-out;
}

.mobile-menu-btn.is-active {
  margin-right: 15px;
}

@media (max-width: 1024px) {
  .mobile-menu-btn.is-active {
    margin-right: 0;
  }
}

@media (max-width: 1280px) {
  .mobile-menu-btn {
    display: block;
  }
}


/*
===============================
= 31 Мобильное меню
============================================
*/

.mobile-overlay {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 99;
  display: none;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
}

.mobile-overlay.is-open {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
}

@media (max-width: 1280px) {
  .mobile-overlay {
    display: block;
  }
}

.mobile-nav {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9999;
  display: none;
  overflow-y: auto;
  padding: 1rem 2rem 4rem;
  width: 360px;
  height: 100vh;
  background-color: var(--light-col);
  transform: translateX(-100%);
  transition: transform 0.4s ease-in-out;
}

.mobile-nav.is-open {
  transform: none;
}

@media (max-width: 1280px) {
  .mobile-nav {
    display: block;
  }
}

@media (max-width: 600px) {
  .mobile-nav {
    width: 290px;
  }
}

@media (max-width: 400px) {
  .mobile-nav {
    padding: 1rem 1rem 4rem;
    width: 275px;
  }
}

.mobile-nav::-webkit-scrollbar-track {
  background: #444
}

.mobile-nav::-webkit-scrollbar {
  width: 5px;
  background: #444
}

.mobile-menu li {
  font-size: 1rem;
}

.mobile-menu a {
  display: inline-block;
  padding: 0.75rem 0;
  text-decoration: none;
}

.mobile-menu a:hover {
  text-decoration: underline;
}

.mobile-menu .menu-item-has-children {
  position: relative;
}

.mobile-menu .menu-item-has-children::before {
  content: "";
  position: absolute;
  right: -0.5rem;
  top: 1.1rem;
  z-index: 1;
  width: 1.1rem;
  height: 1.1rem;
  background-image: url("assets/img/arrow-next-alt.svg");
  background-position: center;
  background-size: 1.1rem 1.1rem;
  background-repeat: no-repeat;
  transform: rotate(90deg);
}

.mobile-menu .sub-menu {
  display: none;
  border-radius: 6px;
  padding: 1rem;
  padding-right: 0;
  padding-left: 1.5rem;
  background-color: var(--grey-bg);
}

.mobile-menu .sub-menu .sub-menu {
  padding: 0 1rem 0 1.2rem;
  background-color: #efedf8;
}

.mobile-menu .sub-menu .menu-item-has-children::before {
  top: 1rem;
  right: 0.5rem;
}

.mobile-menu .sub-menu li {
  padding: 0 !important
}

.mobile-menu a span {
  padding-right: 1rem;
}

.mobile-menu .menu-item-has-children:hover > ul {
  transform: none
}


/*
===============================
=  Контакты в мобильном меню
============================================
*/

.mobile-menu-contacts {
  display: none;
  margin-top: 1rem;
  border-top: 1px solid var(--border-col);
  padding: 2rem 0;
  font-size: 0.96rem;
}

.mobile-menu-contacts__phone {
  display: block;
  margin-bottom: 0.6rem;
  color: var(--grey-col);
}

.mobile-menu-contacts__adress {
  display: block;
  margin-top: 2rem;
  margin-bottom: 0.6rem;
  border-top: 1px solid var(--border-col);
  padding-top: 1.5rem;
}

@media (max-width: 1280px) {
  .mobile-menu-contacts {
    display: block;
  }
}

.mobile-menu-contacts__schedule {
  color: var(--grey-col);
}


/*
===============================
= 32 Кнопка загрузки записей в блоге и рубриках
============================================
*/

.blog-wrapper {
  padding-bottom: 3rem;
}

.load-more-posts {
  width: 155px;
  margin: 1.2rem auto;
  display: table;
  position: relative;
  padding-left: 1.3rem;
  text-align: center;
  font-size: 1.1rem;
  cursor: pointer;
  color: var(--grey-col);
}

.load-more-posts:hover {
  text-decoration: underline;
}

.load-more-posts::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2rem;
  z-index: 1;
  width: 1.2rem;
  height: 1.2rem;
  background-image: url("assets/img/update.svg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}



/*
===============================
= 33 Оформление блога и записей
============================================
*/

.single-post,
.post-archive,
.blog {
  background-color: var(--light-col);
}

.single-post__info {
  color: var(--grey-col);
  letter-spacing: 0.3px;
  font-size: 0.9rem;
  margin-bottom: 1.8rem;
  border-radius: 4px;
}

.post-meta>li {
  position: relative;
  display: inline-block;
  padding-left: 1.5rem;
}

.post-meta>li:not(:last-child) {
  margin-right: 1rem;
}

@media (max-width:415px) {
  .single-post__info {
    font-size: 0.8rem;
  }
}

.post-meta a {
  color: var(--grey-col);
}

.post-meta__author::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 1rem;
  height: 1rem;
  background-image: url("assets/img/author.svg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.post-meta__date::before {
  content: "";
  position: absolute;
  left: -0.3rem;
  top: 0.7rem;
  width: 0.8rem;
  height: 1px;
  background-color: var(--grey-col);
}

.post-meta__comments::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 1rem;
  height: 1rem;
  background-image: url("assets/img/message.svg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

blockquote {
  margin: 2rem 0;
  padding: 1.4rem 3rem;
  position: relative;
  border-left: 2px solid var(--grey-col);
}

blockquote p {
  margin: 0;
  font-size: 1.2rem;
  letter-spacing: 0.5px;
  color: var(--grey-col);
}

@media (max-width:415px) {
  blockquote {
    margin: 1.8rem 0;
    padding: 1.4rem 2rem;
  }

  blockquote p {
    font-size: 1rem;
  }
}

blockquote cite {
  font-size: 0.9rem;
  display: block;
  margin-top: 1.2rem;
  font-style: normal;
  text-align: right
}

.wp-block-pullquote {
  padding: 0;
  margin: 20px 0 35px
}

.wp-block-pullquote blockquote {
  background: 0;
  padding: 20px 0;
  margin: 0;
  border-top: 15px solid var(--rich-border-col);
  border-bottom: 15px solid var(--rich-border-col);
  border-left: 0
}

.wp-block-pullquote blockquote:after {
  display: none
}

.wp-block-pullquote p {
  margin: 0;
  line-height: 1.4;
  font-size: 1.25rem;
}

.single-thumbnail {
  margin-bottom: 2rem;
  display: block;
}

.single-thumbnail img {
  margin: 0 auto
}

.error404 .section-inner {
  padding-top: 3rem;
}

.error404--title {
  font-size: 10rem !important;
  color: var(--grey-col);
}

@media (max-width:600px) {
  .error404--title {
    font-size: 5rem !important;
  }
}

.post-tags {
  margin-top: 2rem;
}

.post-tags a {
  position: relative;
  display: inline-block;
  padding-left: 1.2rem;
  font-size: 0.9rem;
  text-decoration: none;
  color: var(--grey-col);
}

.post-tags a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2rem;
  width: 0.85rem;
  height: 0.85rem;
  background-image: url("assets/img/tag-outline.svg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.post-tags a:not(:last-child) {
  margin-right: 1rem;
}

.post-tags a:hover {
  text-decoration: underline;

}


/*
===============================
= 34 Адаптивные таблицы
============================================
*/
table,
.wp-block-table {
  margin: 0 0 1rem;
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

.wp-block-table figcaption {
  margin-bottom: 1.2rem
}

table th {
  text-align: left;
  padding: 0.9rem;
  font-weight: var(--bold);
  border: 1px solid var(--border-col);
  background-color: #f6f7fb;
  word-break: normal
}

table td {
  padding: 0.9rem;
  border: 1px solid var(--border-col);
  vertical-align: top;
  word-break: normal
}

@media (max-width:415px) {
  table td {
    font-size: 1rem;
  }
}

table tr:nth-of-type(odd) {
  background-color: #f6f7fb
}

table tr:nth-of-type(even) {
  background: var(--bg-color)
}

.wp-block-table {
  border-collapse: collapse
}


/*
===============================
= 35 Галереи WordPress
============================================
*/
.blocks-gallery-grid,
.wp-block-gallery {
  margin-top: 0 !important;
}

.blocks-gallery-grid,
.wp-block-gallery {
  margin-bottom: 1rem;
}

.wp-block-table {
  border-collapse: collapse
}

.wp-block-gallery.is-cropped .blocks-gallery-item img {
  height: 100%;
  flex: 1;
  object-fit: cover
}

.blocks-gallery-grid li {
  padding-left: 0 !important;
}

.blocks-gallery-grid li::before {
  display: none;
}

.wp-block-image {
  display: initial;
}

.wp-block-image .alignleft {
  margin: 0 2rem 1rem 0;
}

img.alignleft {
  float: left;
  margin: 0 2rem 1rem 0;
}

.wp-block-image .alignright {
  margin: 0 0 1rem 2rem;
}

img .alignright {
  float: right;
  margin: 0 0 1rem 2rem;
}

.wp-block-image figcaption,
.wp-block-table figcaption {
  font-size: 0.95rem;
  color: var(--grey-col);
}

@media (max-width: 900px) {
  .wp-block-image .alignleft,
  .wp-block-image .alignright {
    margin: 0 auto 1rem;
    float: none;
    display: table
  }
}

.gpress-block-price {
  padding: 12px 0;
}

.gallery {
  margin: 1rem auto 0;
  display: inline-block;
}

.gallery .gallery-item {
  float: left;
  margin-top: 0;
  margin-bottom: 10px;
  padding: 0 10px;
  width: 33.33%
}

.gallery-columns-2 .gallery-item {
  width: 50%
}

.gallery-columns-4 .gallery-item {
  width: 25%
}

.wp-block-cover {
  margin-bottom: 2rem;
}


/*
===============================
= 36 Постраничная навигация
============================================
*/

.archive .nav-links {
  border-top: 0;
  margin: 1.5rem 0 0;
}

.page-numbers {
  padding: 0.5rem 1rem;
  text-decoration: none;
  color: var(--grey-col);
  background-color: transparent;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}

.page-numbers.current,
.page-numbers:hover {
  text-decoration: none;
  background-color: var(--grey-bg);
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}

.dots,
.dots:hover {
  text-decoration: none;
  background-color: transparent !important;
}

 

/*
===============================
= 37 Комментарии в записях и на страницах
============================================
*/
.comments {
  position: relative;
  border-top: 1px solid var(--border-col);
  padding-top: 3.5rem;
  margin-top: 5rem
}

.comments::before {
  content: "";
  position: absolute;
  top: -1.5rem;
  left: 0;
  width: 3rem;
  height: 3rem;
  border: 1px solid var(--rich-border-col);
  border-radius: 6px;
  background-color: var(--light-col);
  background-image: url("assets/img/message.svg");
  background-repeat: no-repeat;
  background-position: center center;
}

.comments__title {
  display: block;
  margin-bottom: 3rem;
  font-weight: var(--bold);
  font-size: 1.4rem;
}

#respond .comments__title {
  margin-bottom: 1rem;
  font-weight: var(--bold);
  font-size: 1.4rem;
}

@media (max-width:415px) {
  .comments__title,
  #respond .comments__title {
    font-size: 1.1rem;
  }
}

@media (max-width: 900px) {
  .comments {
    margin-bottom: 3rem;
  }
}

.comment {
  display: flex;
  flex-flow: column nowrap;
  margin-bottom: 3rem;
}

@media (max-width: 1024px) {
  .comment {
    margin-bottom: 2rem;
  }
}

.comment__wrapper {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  margin-bottom: 1.2rem;
}

@media (max-width: 600px) {
  .comment__wrapper {
    flex-flow: wrap;
  }
}

.comment__info {
  flex-shrink: 0;
  flex-basis: 200px;
  padding-right: 1rem;
  line-height: 110%;
}

@media (max-width: 1024px) {
  .comment__info {
    flex-basis: 150px;
  }
}

@media (max-width: 760px) {
  .comment__info {
    flex-basis: 100px;
    margin-right: 2rem;
  }
}

@media (max-width: 600px) {
  .comment__info {
    flex-basis: 100%;
    margin-right: 0;
    margin-bottom: 1.5rem;
  }
}

.comment__text {
  margin-top: -5px;
}

@media (max-width: 600px) {
  .comment__text {
    flex-basis: 100%;
  }
}

.comment__author {
  font-weight: 500;
  font-size: 1rem;
}

.comment__author .url {
  text-decoration: none;
}

.comment__author .url:hover {
  text-decoration: underline;
}

.comment__meta {
  margin-top: 0.5rem;
  font-size: 0.75rem;
}

.comment__meta a {
  text-decoration: none;
  color: var(--grey-col);
}

.comment__reply {
  margin-top: 0.5rem;
  padding-top: 0.6rem;
  display: inline-block;
  border-top: 1px solid var(--border-col);
}

.comment-reply-link {
  color: var(--grey-col);
  cursor: pointer;
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.comment-reply-link:hover {
  text-decoration: underline;
}

.comment-respond {
  border-radius: 8px;
  padding: 2rem;
  background-color: rgba(239, 240, 252, 0.33)
}

@media (max-width:415px) {
  .comment-respond {
    padding: 0;
    background-color: var(--light-col);
  }
}

.comment .children li {
  border: 1px solid var(--border-col);
  border-radius: 6px;
  padding: 2rem;
}

@media (max-width:415px) {
  .comment .children li {
    padding: 1.5rem;
    padding-bottom: 0.5rem;
  }
}

.comment .children li:not(:last-child) {
  margin-bottom: 2rem;
}

.comment .children li>.children li {
  border: none;
  padding: 0
}


@media (max-width: 1024px) {
  .comment .children li:not(:last-child) {
    margin-bottom: 1rem;
  }
}

.comment .children li:not(first-child) {
  margin-top: 1.7rem;
  margin-bottom: 0;
}

.comment-awaiting-moderation {
  display: block;
  margin-bottom: 1.5rem;
  font-style: normal;
  font-size: 0.9rem;
  font-style: italic;
}

/*
===============================
= 38 Форма отправки комментариев
============================================
*/

.comments__form {
  padding-top: 1rem;
}

.comment-form {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}

.comment-form .comment-notes,
.logged-in-as {
  display: block;
  flex-basis: 100%;
  margin-bottom: 1.5rem;
  font-size: 1rem;
  color: var(--grey-col);
}

@media (max-width:415px) {
  .comment-form .comment-notes,
  .logged-in-as {
    font-size: 0.9rem;
  }

  .required-field-message {
    display: block;
  }
}

.comment-form .comment-notes input {
  margin-right: 1rem;
}

.comment-form .comment-notes a,
.logged-in-as a,
.comment-form__agreement a {
  color: var(--grey-col);
}

#comments-checkbox {
  margin-right: 10px;
}

.comment-form label {
  display: inline-block;
  margin-bottom: 0.5rem;
  font-size: 1rem;
  color: var(--grey-col);
}

@media (max-width: 600px) {
  .comment-form label {
    display: inline;
  }
}

.comment-form input[type=text],
.comment-form input[type=email] {
  margin: 0;
  border: 1px solid var(--rich-border-col);
  border-radius: 6px;
  padding: 1.1rem 1.1rem 1rem;
  width: 100%;
  height: 50px;
  font-family: inherit;
  font-size: 1.1rem;
  line-height: 1;
  background-color: var(--light-col);
}

.comment-form-cookies-consent {
  flex-basis: 100%;
  margin-bottom: 0.6rem;
  display: none;
}

.comment-form-cookies-consent input {
  margin-right: 1rem;
}

.comment-form-author {
  flex: 1;
  margin-right: 1rem;
}

@media (max-width: 600px) {
  .comment-form-author {
    flex-basis: 100%;
    margin-right: 0;
  }
}

.comment-form-email {
  flex: 1;
  margin-left: 1rem;
}

@media (max-width: 600px) {
  .comment-form-email {
    flex-basis: 100%;
    margin-left: 0;
  }
}

.comment-form-comment {
  flex-basis: 100%;
  margin-bottom: 1rem;
}

.comment-form-comment textarea {
  margin: 0;
  border: 1px solid var(--rich-border-col);
  border-radius: 6px;
  padding: 1rem;
  width: 100%;
  height: 150px;
  font-family: inherit;
  font-size: 1rem;
  background-color: var(--light-col);
  line-height: 1.5;
}

.comment-form .submit {
  margin-top: 1rem;
  opacity: 1;
  cursor: pointer;
}

.comment-form .submit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}


a#cancel-comment-reply-link {
  display: inline-block;
  padding-left: 10px;
  text-decoration: none;
  overflow: hidden;
  width: 32px;
  height: 32px
}

a#cancel-comment-reply-link:before {
  content: "\00D7";
  font-size: 30px;
  color: red;
  width: 36px;
  height: 36px
}

.comment-navigation {
  margin: 0 0 3rem !important;
}


.form-checkbox {
  position: relative;
  display: inline-block;
  width: 100%;
}

.form-checkbox__input {
  position: absolute;
  opacity: 0;
}

.form-checkbox__text {
  display: block;
  flex-basis: 100%;
  font-size: 1rem;
  color: var(--grey-col);
  margin-left: 30px;
  line-height: 30px
}

@media (max-width:800px) {
  .form-checkbox__text {
    font-size: 0.8rem;
    line-height: 20px
  }
 } 

@media (max-width:415px) {
  .form-checkbox__text {
    display: inline-block;
    margin-left: 40px;
  }

  .form-submit {
    width: 100%;
  }
}

.form-checkbox__text::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2rem;
  width: 1.3rem;
  height: 1.3rem;
  background-color: transparent;
  border: 1px solid var(--rich-border-col);
  border-radius: 4px;
}

.form-checkbox__input:checked+.form-checkbox__text::before {
  background-image: url("assets/img/checked.svg");
  background-position: center;
  background-size: 1.1rem;
  background-repeat: no-repeat;
  border-color: transparent;
}

.comment-navigation {
  display: flex;
  justify-content: space-between;
}

.comment-navigation a {
  color: var(--grey-col);
}

@media (max-width: 415px) {
  .comment-navigation {
    flex-direction: column;
  }

  .comment-navigation a {
    padding: 1rem;
    display: block;
    font-size: 0.86rem;
    border: 1px solid var(--border-col);
    border-radius: 6px;
    text-decoration: none;
    margin: 0.5rem 0;
    text-align: center;
  }
}


/*
===============================
= 39 Внутренняя навигация в CPT и записях
============================================
*/

.post-navigation {
  margin-top: 1rem;
}

.single-team .post-navigation,
.single-products .post-navigation,
.single-post .post-navigation {
  margin-top: 3rem;
}

.nav-links {
  margin-top: 2rem;
  padding-top: 2rem;
  display: flex;
  border-top: 1px solid var(--rich-border-col);
}

@media (max-width:415px) {
  .nav-links {
    flex-direction: column;
  }
}

.nav-previous {
  flex: 1;
  padding: 1rem 0;
  text-align: left;
}

.nav-next {
  flex: 1;
  padding: 1rem 0;
  text-align: right;
}

@media (max-width:415px) {
  .nav-next {
    text-align: left;
  }
}

.nav-links__label {
  font-size: 0.9rem;
  letter-spacing: 0.6px;
}

.nav-previous a,
.nav-next a,
.nav-previous a:hover .nav-links__label,
.nav-next a:hover .nav-links__label {
  color: initial;
  text-decoration: none;
}

.nav-previous a:hover .nav-links__title,
.nav-next a:hover .nav-links__title {
  text-decoration: underline;
}

.nav-links__title {
  font-weight: var(--bold);
}



/*
===============================
= 40 Хлебные крошки
============================================
*/
.breadcrumbs {
  margin-bottom: 2rem;
}

@media (max-width:800px) {
  .breadcrumbs {
    margin-bottom: 1rem;
  }
}

.breadcrumbs__item {
  position: relative;
  font-size: 0.9rem;
  display: inline-block;
}

@media (max-width:800px) {
  .breadcrumbs__item {
    font-size: 0.8rem;
  }
}

.breadcrumbs__item::before {
  content: "";
  position: absolute;
  left: -1.3rem;
  top: 0.7rem;
  width: 0.8rem;
  height: 1px;
  background-color: #999;
}

@media (max-width:600px) {
  .breadcrumbs__item::before {
    top: 0.65rem;
  }
}

.breadcrumbs__item:not(:last-child) {
  margin-right: 2rem;
}

.breadcrumbs__item:first-child::before {
  display: none;
}

.breadcrumbs__link {
  text-decoration: none;
  color: var(--grey-col);
}

.breadcrumbs__link:not(a[href]):hover {
  text-decoration: none;
  color: var(--grey-col);
}

.breadcrumbs__link:hover {
  text-decoration: underline;
}

.single .breadcrumbs__item:last-child {
  display: none;
}



/*
===============================
= 41 Оформление для страниц услуг и CPT (контейнер, шапка, отзывы и др)
============================================
*/

.container--single,
.container--blog {
  padding: 4rem 2rem;
}

@media (max-width:800px) {
  .container--single,
  .container--blog {
    padding-top: 2rem;
  }
}

@media (max-width:415px) {
  .container--single, .container--blog {
    padding: 2rem 1rem;
  }
 
}
 
.single-service {
  background-color: var(--light-col);
}

.single-service__header {
  position: relative;
}

h1.single-service__title {
  padding-right: 13rem;
}

@media (max-width:800px) {
  h1.single-service__title {
    padding-right: 0;
  }
}

.single-service__descr {
  margin-bottom: 1.8rem;
  padding: 1.2rem 0;
  border-top: 1px solid var(--rich-border-col);
  border-bottom: 1px solid var(--rich-border-col);
}

@media (max-width:500px) {
  .single-service__descr {
   font-size: 0.9rem;
   color: var(--grey-col);
  }
}

.single-service__price {
  position: absolute;
  right: 0;
  top: -0.5rem;
  padding: 0.85rem 1.2rem;
  color: var(--light-col);
  background-color: #37293b;
  border-radius: 4px;
  display: inline-block;
  font-weight: var(--bold);
  font-size: 0.9rem;
}

@media (max-width:800px) {
  .single-service__price {
    position: relative;
    right: initial;
    top: initial;
    margin-bottom: 2rem;
    padding: 0.55rem 0.9rem;
  }
}

.service-price-btn {
  margin: 0;
  position: absolute;
  top: initial;
  bottom: 2.5rem;
  right: 2rem;
  background-color: var(--grey-bg);
}



/*
===============================
= 41 Призыв к действию в CPT и записях
============================================
*/

.single-cta {
  margin: 4rem 0;
}

@media (max-width:415px) {
  .single-cta {
    margin: 4rem 0 3rem;
  }
}

.single-cta__title {
  padding: 1rem;
  border-radius: 4px;
  margin-bottom: 2rem;
  text-align: center;
  display: block;
  font-size: 1.6rem;
  line-height: 1.4;
}

@media (max-width:800px) {
  .single-cta__title {
    font-size: 1.2rem;
  }
}

.single-cta__links {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(205px, 1fr));
}

@media (max-width:990px) {
  .single-cta__links {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  }
}

@media (max-width:700px) {
  .single-cta__links {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  }
}

.single-cta__link {
  padding: 1.2rem 1rem;
  border-radius: 6px;
  color: var(--light-col);
  display: flex;
  box-shadow: 0 10px 20px rgba(164, 168, 255, .2);
  font-size: 1.1rem;
  text-decoration: none;
  transition: background-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
  font-weight: var(--bold);
}

.action .single-cta__link {
  box-shadow: none;
}

.action .cta-link--tel,
.action .cta-link--call,
.action .cta-link--whatsapp,
.action .cta-link--telegram {
  background-color: transparent;
  border: 1px solid var(--light-col);
}

.single-cta__link:hover {
  text-decoration: none;
  box-shadow: none;
  color: var(--light-col);
  transition: background-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

.single-cta__link span {
  padding-left: 3.2rem;
  position: relative;
  width: 100%;
  line-height: 1;
}

.single-cta__link span::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 6px;
  background-repeat: no-repeat;
  background-position: center center;
  border: 1px solid var(--light-col);
}

.cta-link--tel {
  background-color: #F55353;
}

.cta-link--call {
  background-color: #533E85;
}

.cta-link--whatsapp {
  background-color: #33da89;
}

.cta-link--telegram {
  background-color: #0089c9;
}

.cta-link--tel span::before {
  background-image: url("assets/img/phone.svg");
}

.cta-link--call span::before {
  background-image: url("assets/img/mail.svg");
}


.cta-link--whatsapp span::before {
  background-image: url("assets/img/social/whatsapp.svg");
}

.cta-link--telegram span::before {
  background-image: url("assets/img/social/telegram.svg");
}

.cta-link--call:hover {
  cursor: pointer;
}

.single-cta__link p {
  margin: 0;
  line-height: 1.4;
  font-size: 0.9rem;
  display: block;
}

/*
===============================
= 43 Маркированные списки
============================================
*/

.post-content ul {
  margin: 1rem 0;
}

.post-content ul li ul {
  margin: 1rem 0;
}

.about-list__item,
.products-attr__item,
.post-content ul li {
  position: relative;
  padding-left: 1.4rem;
}

.about-list__item::before,
.products-attr__item::before,
.post-content ul li::before {
  content: "";
  position: absolute;
  left: 0.2rem;
  top: 0.7rem;
  width: 7px;
  height: 7px;
  border-radius: 100%;
}

.products-attr__item::before,
.post-content ul li::before {
  top: 0.55rem;
}

.about-list__item:not(:last-child),
.post-content ul li:not(:last-child) {
  margin-bottom: 0.75rem;
}

.wp-block-gallery {
  margin: 2rem 0 1.5rem;
}

.wp-block-gallery ul li {
  padding-left: 0;
}

.wp-block-gallery ul li::before {
  display: none;
}

/*
===============================
= 44 Нумерованные списки
============================================
*/
.post-content ol {
  list-style: decimal;
  list-style-position: inside;
  margin: 1rem 0;
}

.post-content ol li {
  margin: 0;
  padding: 0 0 10px 0
}

.post-content ol ol {
  list-style: upper-alpha
}

.post-content ol ol ol {
  list-style: lower-roman
}

.post-content ol ol ol ol {
  list-style: lower-alpha
} 


/*
===============================
= 45 Страницы работ с портфолио
============================================
*/

.single-folio {
  background-color: var(--light-col);
}

.atts {
  border-radius: 6px;
  margin-bottom: 3rem;
  padding: 1.6rem 2rem;
  border: 1px solid var(--border-col);
}

@media (max-width:800px) {
  .atts {
    margin-bottom: 2rem;
    padding: 1rem;
  }
}

.atts__item {
  display: flex;
  justify-content: space-between;
  color: var(--grey-col);
}

@media (max-width:800px) {
  .atts__item {
    font-size: 0.96rem;
  }
}

.team-atts .atts__item {
  display: block;
}

.atts__item:not(:last-child) {
  margin-bottom: 1.3rem;
  padding-bottom: 0.7rem;
  border-bottom: 1px solid var(--border-col);
}

.atts__item span {
  font-size: 0.96rem;
  margin-right: auto;
  padding-right: 1.5rem;
}

@media (max-width:800px) {
  .atts__item span {
    font-size: 0.8rem;
    padding-right: 1rem;
  }
}

 
/*
===============================
= 46 Страницы сотрудников команды
============================================
*/

.single-team {
  background-color: var(--light-col);
}

h1.person-info__title {
  margin-bottom: 0.5rem;
}

.single-team__header {
  display: flex;
}

@media (max-width:800px) {
  .single-team__header {
    flex-flow: column;
  }

  .single-team__header>* {
    flex-basis: 100%;
  }
}

.single-team__info {
  margin-left: 3rem;
}

@media (max-width:800px) {
  .single-team__info {
    margin-left: 0;
  }
}

.person-info__status {
  display: block;
  margin-bottom: 3rem;
}


.single-team__header .single-thumbnail {
  margin-bottom: 3rem;
}

@media (max-width:900px) {
  .single-team__header {
    flex-direction: column;
  }

  .single-team__header > * {
    flex: 1
  }

  .single-team__info {
    margin-left: 0;
  }
}

.team-atts {
  width: 380px;
}

@media (max-width:1024px) {
  .team-atts {
    width: 280px;
  }
}

@media (max-width:900px) {
  .team-atts {
    width: 100%;
  }
}


/*
===============================
= 47 Страницы продуктов
============================================
*/

.single-products {
  background-color: var(--light-col);
}

.single-products__wrapper {
  margin-bottom: 3rem;
  display: flex;
  flex-flow: row nowrap;
}

@media (max-width:900px) {
  .single-products__wrapper {
    margin-bottom: 2rem;
    display: block;
    flex-flow: initial;
  }
}

.single-products__figure {
  position: relative;
  flex-basis: 68%;
}

@media (max-width:900px) {
  .single-products__figure {
    flex-basis: 100%;
    margin-bottom: 1rem;
  }
 } 

.cpt-slider--products {
  position: relative;
  flex-basis: 68%;
  margin-bottom: 0;
}

.cpt-slider--products::after,
.single-products__figure::after {
  content: "";
  position: absolute;
  right: 1rem;
  top: 1rem;
  z-index: 1;
  border-radius: 4px;
  width: 2.6rem;
  height: 2.6rem;
  background-image: url("assets/img/expand.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-color: rgba(0, 0, 0, 0.3);
}

@media (max-width:900px) {
  .cpt-slider--products {
    flex-basis: 100%;
    margin-bottom: 1rem
  }
  .cpt-slider--products::after,
  .single-products__figure::after,
  .cpt-slider--products::before {
    transform: scale(0.7);
  }
}

@media (max-width:415px) {
  .cpt-slider--products::after,
  .single-products__figure::after {
    right: 0.5rem;
    top: 0.5rem;
  }
}

.single-products .portfolio-slider {
  margin-bottom: 0;
}

.single-products .products-item__price {
  margin-top: 0;
}

@media (max-width:900px) {
  .single-products .products-item__price {
    margin-top: 1rem;
  }
}

.single-products .products-item__current {
  font-size: 1.6rem;
}

.single-products__info {
  margin-left: 2%;
  flex-basis: 30%;
}

@media (max-width:900px) {
  .single-products__info {
    margin-left: 0;
    flex-basis: 100%
  }
}

.product-info {
  border-radius: 6px;
  align-self: flex-start;
  padding: 1.6rem;
  background-color: rgba(250, 249, 255, 0.89);
}

@media (max-width:900px) {
  .product-info {
    align-self: initial;
    margin-left: initial;
    width: 100%;
    padding: 1.2rem;
  }
}

.product-info--btn {
  margin: 1.2rem 0 2rem;
  width: 100%;
  box-shadow: none !important;
  font-size: 1rem !important;
  text-align: center;
}
 
/*
===============================
= 48 Архивы CPT
============================================
*/

.service-archive,
.service-portfolio {
  background-color: var(--light-col);
}

.service-archive__descr,
.portfolio-archive__descr,
.blog-archive__descr {
  margin-bottom: 2.6rem;
  padding: 1.2rem 0;
  border-top: 1px solid var(--border-col);
  color: var(--grey-col);
}

@media (max-width:415px) {
  .service-archive__descr,
  .portfolio-archive__descr,
  .blog-archive__descr,
  .comment-form label {
    font-size: 0.9rem;
  }
}
 

/*
===============================
= 49 Отзывы на страницах CPT
============================================
*/


/* отзывы  */
.single-feedback-wrapper {
  position: relative;
  margin-top: 5rem;
  padding: 4rem 0 2rem;
  border-top: 1px solid var(--rich-border-col);
}

@media (max-width:500px) {
  .single-feedback-wrapper {
    padding-bottom: 0;
  }
}

.single-feedback-wrapper::before {
  content: "";
  position: absolute;
  top: -1.5rem;
  left: 0;
  width: 3rem;
  height: 3rem;
  border: 1px solid var(--rich-border-col);
  border-radius: 6px;
  background-color: var(--light-col);
  background-image: url("assets/img/double_quotes_r.svg");
  background-repeat: no-repeat;
  background-position: center center;
}

.single-feedback-wrapper__title {
  display: inline-block;
  margin-bottom: 2rem;
  font-size: 1.4rem;
  font-weight: var(--bold);
}

@media (max-width:415px) {
  .single-feedback-wrapper__title {
    font-size: 1.1rem;
  }
}

.single-feedback {
  padding: 1.5rem;
  border: 1px solid var(--border-col);
  background-color: rgba(239, 240, 252, 0.23);
  border-radius: 8px;
  transition: box-shadow 0.3s ease-in-out;
}

.single-feedback:hover {
  box-shadow: 0 10px 20px rgba(164, 168, 255, .2);
  transition: box-shadow 0.3s ease-in-out;
}

.single-feedback__info {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}

.single-feedback__person {
  font-weight: var(--bold);
  display: inline-block;
}

.single-feedback__img {
  max-width: 80px;
  border-radius: 50%;
  margin-right: 1rem;
  border: 6px solid rgba(255, 255, 255, 0.5);
}

@media (max-width:800px) {
  .single-feedback__img {
    max-width: 60px;
  }
}

.single-feedback .feedback-item__stars {
  margin-top: 1.2rem;
}
/*
===============================
= 50 Поиск по сайту и страница результатов
============================================
*/

.site-search-btn {
  content: "";
  position: fixed;
  right: 0;
  top: 50%;
  z-index: 10;
  width: 3rem;
  height: 3rem;
  background-image: url("assets/img/search.svg");
  background-position: center;
  background-size: 1.5rem;
  background-repeat: no-repeat;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}

.modal .search-form {
  margin-bottom: 1rem;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
}

@media (max-width:800px) {
  .modal .search-form {
    flex-flow: column wrap;
  }
}

.modal__content label {
  flex-basis: 70%;
}
 

.modal__content .search-field {
  margin-right: 0.6rem;
  border: 1px solid var(--rich-border-col);
  border-radius: 6px;
  padding: 1.2rem 1rem;
  width: 100%; 
  font-family: inherit;
  font-variant-numeric: lining-nums;
  font-size: 1rem;
  line-height: 1;
  font-weight: 500;
  background-color: #fbfdff;
}

@media (max-width:800px) {
  .modal__content .search-field {
    margin-bottom: 1rem;
  }
}

.modal__content .search-field:focus {
  border-color: var(--accent);
  outline: none
}

.modal-search__text {
  margin-top: 1rem;
  color: var(--grey-col);
  font-size: 0.96rem;
}

.modal-search__hint {
  border-bottom: 1px dashed var(--grey-col);
  font-weight: 500;
  cursor: pointer;
  margin-left: 6px;
}

.search-descr {
  color: var(--grey-col);
  display: block;
  margin-bottom: 1.5rem;
  font-size: 0.96rem;
}

.search-list {
  list-style: none;
  counter-reset: counter;
}

.search-list__item {
  position: relative;
  margin-top: 5rem;
  counter-increment: counter;
  padding-left: 5rem;
}

.search-list__item::before {
  content: counter(counter);
  position: absolute;
  left: 0;
  top: 0;
  color: var(--light-col);
  font-weight: var(--bold);
  width: 3rem;
  height: 3rem;
  font-size: 1.2rem;
  text-align: center;
  line-height: 3rem;
  display: block;
  border-radius: 3px;
}


/*
===============================
= 51 Контакты в шапке
============================================
*/

.top-contacts {
  margin-left: 400px;
}

.top-contacts__wrap {
  display: flex;
  max-width: var(--width);
  margin: 0 auto;
}

.top-contacts__item {
  padding: 1rem;
  font-size: 0.9rem;
  flex-grow: 1;
  display: flex;
  transition: background-color 0.3s ease-out;
}

.top-contacts__link {
  display: block;
  white-space: nowrap;
  text-decoration: none;
}

.top-contacts__map {
  text-decoration: none;
}

.top-contacts__link:hover,
.top-contacts__map:hover {
  text-decoration: underline;
}

.contacts-item__icon  {
  display: inline-block;
  margin-right: 1rem;
  width: 3rem;
  height: 3rem;
  opacity: 0.8
}

.contacts-item__icon svg {
  width: 2.6rem;
  height: 2.6rem;
  fill: currentColor;
  object-fit: cover;
}

.home .top-contacts {
  margin-left: 0;
  background-color: rgba(0, 0, 0, 0.7);
  position: absolute;
  top: 0; 
  right: 0;
  left: 0;
  width: 100%;
  z-index: 10;
}

@media (max-width:1280px) {
  .home-contacts,
  .inner-contacts {
   display: none;
  }
}

.home .top-contacts__item,
.home .contacts-item__icon,
.home .top-contacts__link, 
.home .top-contacts__map, 
.home .top-contacts__link:hover,
.home .top-contacts__map:hover {
  color: var(--light-col) !important;
}

.contacts-item--adress p {
  max-width: 310px;
} 

.contacts-item--schedule p {
  display: block;
  margin: 0;
}

@media (max-width:1500px){
 .top-contacts {
   margin-left: 300px;
 }
 
 .mob-contacts {
  margin-left: 0;
  }
}

 .mob-contacts .top-contacts__wrap {
   flex-direction: column
 }
 
 .mob-contacts .top-contacts__item {
   padding: 0;
   font-size: 13px;
 }
 
 .mob-contacts .top-contacts__item:not(:last-child) {
   margin-bottom: 1.6rem;
 }
 
 .mob-contacts .top-contacts__item,
 .mob-contacts .top-contacts__link,
 .mob-contacts .top-contacts__map,
 .mob-contacts .contacts-item__icon {
   color: var(--grey-col) !important;
  }
  
  .mob-contacts .contacts-item__icon, 
  .mob-contacts .contacts-item__icon svg {
    max-width: 22px;
    max-height: 22px;
  }
  
  .mob-contacts .contacts-item__icon svg {
    margin-top: 3px;
  }
  
  .mob-contacts .top-contacts__item:hover {
    background-color: transparent
  }

 .service-archive__descr li,
  .portfolio-archive__descr li {
    margin-bottom: 1rem
  }

  /* доп свойства для поп-апа на моб  
  раскомментировать, если создали свою кастомную форму
  в поп-апе, и она не вмещается в экран
 */
  /*
  @media (max-width:600px) {
    .modal {
     overflow-y: auto;
     max-height: 550px;
    }
  }  

  */