/*
Theme Name: Law Factory
Details URI: https://update.goodwinpress.ru/themes/law-changelog.html
Theme URI: https://www.goodwinpress.ru/wp-tema-law-factory/
Author: Goodwin
Author URI: https://goodwinpress.ru/
Description: Свежая адаптивная тема для адвокатского сайта. Красивый шаблон для презентации юриста и его услуг в сети. Статическая главная с готовыми разделами, архив услуг, отдельные страницы для услуг, блог, сбор контактов. Микроразметка. Отложенная загрузка изображений, поп-апы, встроенный виджет, поп-ап для cookies. Дополнительные шаблоны страниц для контактов и страницы Спасибо. Липкое меню, липкий сайдбар, хлебные крошки. Автоматическое обновление темы из админки. Тема оптимизирована, топ в Google PageSpeed. Готова к локализации.
Version: 1.3.0
License: GNU General Public License v2 or later
Text Domain: law
Domain Path: /languages
*/


/* Переменные */
:root {
  --support-color: #7a828c;
  --btn-color: #ffffff;
  --nav-color: #ffffff;
  --decor-color: #ffffff;
}

/* Очистка стилей */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline
}

body {
  line-height: 1
}

strong {
  font-weight: var(--bold);
}

em,
i {
  font-style: italic
}

ol,
ul {
  list-style: none
}

blockquote,
q {
  quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none
}

figure {
  display: block;
  margin: 0
}

iframe {
  display: block;
  max-width: 100%
}

video {
  display: block
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

svg,
img,
embed,
object {
  display: block;
  height: auto;
  max-width: 100%
}

p {
  margin-bottom: 25px
}

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

img {
  border: 0
}

.aligncenter {
  margin: 0 auto 20px;
  display: block
}

.alignleft {
  float: left
}

.alignright {
  float: right
}

html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  overflow-x: hidden
}

dl {
  margin: 0 0 24px
}

dt {
  font-weight: var(--bold);
}

dd {
  margin-bottom: 18px
}

big {
  font-size: 131.25%
}

ins {
  text-decoration: none
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help
}

sup,
sub {
  height: 0;
  line-height: 1;
  position: relative;
  vertical-align: baseline
}

sup {
  bottom: 1ex
}

sub {
  top: .5ex
}

.tos-caption {
  display: none
}

input,
textarea {
  color: #777;
  vertical-align: middle;
  background: var(--decor-color)
}

input:focus pre {
  border: 1px solid rgba(0, 0, 0, 0.1);
  margin-bottom: 24px;
  max-width: 100%;
  overflow: auto;
  padding: 12px;
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word
}

hr {
  display: block;
  width: 100%;
  height: 1px;
  border: 0;
  border-bottom: 1px solid #eeeeef;
  margin: 30px auto 40px;
  clear: both
}

input:focus {
  border: 1px solid #9ab3f5
}

.red {
  color: red
}

.gp-clearfix:after {
  content: "";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0
}

input::placeholder,
input:placeholder-shown {
  color: #999
}

::-moz-selection {
  background: #e05297;
  color: var(--decor-color)
}

::selection {
  background: #e05297;
  color: var(--decor-color)
}

::-webkit-selection {
  background: #e05297;
  color: var(--decor-color)
}

button:focus {
  outline: 0
}

p {
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto
}

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

a.gpress {
  text-decoration: none;
  color: var(--decor-color)
}

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

/* Ссылки */
a {
  text-decoration: underline;
  transition: all .2s linear
}

a:hover {
  text-decoration: underline
}

/* Отложенная загрузка изображений */
.lazy-hidden {
  opacity: 0
}

.lazy-loaded {
  -webkit-transition: opacity .3s;
  -moz-transition: opacity .3s;
  -ms-transition: opacity .3s;
  -o-transition: opacity .3s;
  transition: opacity .3s;
  opacity: 1
}



/* Основные контейнеры и их свойства */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box
}

body {
  word-wrap: break-word;
  font-family: var(--font-family);
  font-weight: var(--normal);
  font-size: 18px;
  line-height: 1.65;
  background: #f7f6fb;
  position: relative
}

.wrap {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  position: relative;
  background: var(--decor-color);
}

.port {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between
}

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

@media only screen and (max-width:1024px) {
  .port--grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media only screen and (max-width:700px) {
  .port--grid {
    display: block;
  }

  .port--grid>*:not(:last-child) {
    margin-bottom: 1.5rem;
  }
}

.port--full {
  gap: 0;
}

.post-col {
  float: left;
  width: 68%;
  margin-right: 5%;
  margin-bottom: 40px
}

.sidebar {
  float: left;
  width: 27%;
  padding-top: 80px
}

.post-col-fullwidth {
  flex-basis: 100%;
  margin-bottom: 10px
}

.page-template-blank-page {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto
}

.blank-page-content {
  padding: 0 30px 30px
}

.custom-container {
  margin-bottom: 60px
}

.gp-custom-content {
  width: 100%
}

table,
.wp-block-table {
  margin: 20px 0;
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%
}

table th {
  text-align: left;
  padding: .9em;
  font-weight: var(--semi-bold);
  border: 1px solid #c4c2c2;
  background: #f6f7fb;
  word-break: normal
}

table td {
  font-size: 16px;
  padding: .9em;
  border: 1px solid #c4c2c2;
  vertical-align: top;
  word-break: normal
}

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

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

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

.wp-block-table td,
.wp-block-table th {
  border-color: #c4c2c2;
  padding: .5em;
}

/* Шапа сайта */
header {
  width: 100%;
  position: relative;
  padding: 30px 50px 60px
}

/* Заголовок сайта / логотип */
.text-title h1,
.text-title span {
  font-size: 22px;
  font-weight: var(--bold);
  display: block;
  padding-top: 6px
}

.text-title h1 a,
.text-title span a {
  text-decoration: none
}

.logo-title a {
  width: 300px;
  height: 80px;
  display: block;
  text-indent: -9999px
}

.site-title {
  flex-basis: 25%
}

.site-title h1 {
  font-size: 22px;
  line-height: 1.25
}

/* Дополнительный текст в шапке */
.additional-header-text {
  flex-basis: 25%;
  margin-left: 20px;
  padding: 10px 0 0 25px;
  border-left: 1px solid #e6e6e6;
}

.additional-header-text span {
  display: block;
  color: var(--support-color);
  font-size: 14px;
  line-height: 1.4
}

/* Кликабельный телефон в шапке */
.header-phone {
  flex-basis: 20%;
  font-size: 22px;
  text-align: right;
  margin-left: auto;
  margin-right: 30px;
  padding-top: 3px
}

.header-phone span {
  display: block;
  line-height: 1.2
}

.header-phone a {
  text-decoration: none
}

.header-phone a:hover {
  text-decoration: underline
}

.header-phone em,
.chat-btn em {
  color: var(--support-color);
  font-size: 15px;
  font-style: normal
}

.header-phone span {
  font-weight: var(--bold);
}

.header-phone em {
  padding-bottom: 2px;
  border-bottom: 1px dashed var(--support-color);
  display: inline-block;
  cursor: pointer
}

/* Основа для поп-апов */
.overlay_popup {
  display: none;
  position: fixed;
  z-index: 999;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.91)
}

.popup {
  display: none;
  z-index: 1000;
  width: 100%;
  max-width: 640px;
  padding: 20px;
  text-align: center;
  background: var(--decor-color);
  position: fixed;
  top: 14%;
  left: 50%;
  transform: translate(-50%, 0);
  border-radius: 10px
}


/* Поп-ап 1 - чаты, мессенджеры */
.chat-btn {
  flex-basis: 16%
}

.chat-btn_wrapper {
  text-align: center;
  padding: 8px 10px;
  color: var(--btn-color);
  border-radius: 4px;
  transition: all .3s ease-in;
  /*background:#d100b7*/
}

.chat-btn span,
.chat-btn em {
  display: block;
  color: var(--btn-color)
}

.chat-btn span {
  font-weight: var(--semi-bold);
}

.chat-btn:hover {
  cursor: pointer
}

/* Поп-ап 2 - перезвон */
.callme-wrapper {
  max-width: 400px !important
}

.popup-wrapper {
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-evenly;
  padding: 30px;
  border: 3px dashed #a7c5eb;
  position: relative;
  border-radius: 10px
}

.pop-title {
  flex-basis: 100%;
  margin-bottom: 30px;
  display: block;
  font-weight: var(--semi-bold);
  font-size: 22px;
  line-height: 1.3
}

.pop-item {
  flex-basis: auto
}

a.pop-item_btn {
  display: block;
  padding: 15px 20px;
  width: 170px;
  color: var(--btn-color);
  border-radius: 4px;
  transition: all .3s ease-in;
  line-height: 1;
  text-decoration: none
}

.whatsapp-btn {
  background: #25d366
}

.telegram-btn {
  background: #08c
}

.viber-btn {
  background: #665cac
}

.max-btn {
  background: #374ce4;
}

a.pop-item_btn:hover {
  background: #413c69;
  color: var(--btn-color)
}


.popup-wrapper .close {
  cursor: pointer;
  position: absolute;
  top: -19px;
  right: -19px;
  width: 46px;
  height: 46px;
  z-index: 100;
  transition: .3s ease;
  background: red;
  z-index: 10;
  border-radius: 50%;
  border: 5px solid var(--decor-color)
}

.popup-wrapper .close:before {
  content: '';
  width: 16px;
  height: 16px;
  background-size: 16px 16px;
  position: absolute;
  top: 10px;
  right: 10px;
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' id='Capa_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 47.971 47.971' xml:space='preserve'%3E%3Cg%3E%3Cpath d='M28.228,23.986L47.092,5.122c1.172-1.171,1.172-3.071,0-4.242c-1.172-1.172-3.07-1.172-4.242,0L23.986,19.744L5.121,0.88 c-1.172-1.172-3.07-1.172-4.242,0c-1.172,1.171-1.172,3.071,0,4.242l18.865,18.864L0.879,42.85c-1.172,1.171-1.172,3.071,0,4.242 C1.465,47.677,2.233,47.97,3,47.97s1.535-0.293,2.121-0.879l18.865-18.864L42.85,47.091c0.586,0.586,1.354,0.879,2.121,0.879 s1.535-0.293,2.121-0.879c1.172-1.171,1.172-3.071,0-4.242L28.228,23.986z' style='fill:%23ffffff;'/%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3C/svg%3E%0A")
}




/* Основное меню в шапке (десктопная версия) */
.mob-menu,
.hamburger {
  display: none
}

.menunav {
  text-align: center;
  width: 100%;
  max-width: 1200px;
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 101;
  border-radius: 4px;
  box-shadow: 1px 12px 35px -5px rgba(0, 0, 0, 0.25);
  padding-right: 75px
}

.menunav ul {
  width: 100%;
  margin: 0;
  list-style-type: none;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 0.55rem;
  padding: 0 10px
}

.menunav ul li {
  position: relative;
  margin: 0;
  padding: 0;
  z-index: 1;
  font-size: 16px;
  line-height: 1;
  text-transform: uppercase;
  font-weight: var(--semi-bold);
  transition: all .2s linear;
  letter-spacing: .4px;
  display: list-item
}

.menunav li a {
  padding: 27px 15px;
  text-decoration: none;
  display: block;
  color: var(--nav-color);
  position: relative
}

.menunav li a:hover {
  text-decoration: none
}

.menunav li a:before {
  transition: all .25s ease-in-out;
  width: 100%;
  height: 0;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  content: ''
}

.menunav li a:hover:before {
  height: 100%
}


.menunav li.menu-item-has-children:has(ul:hover)>a:before {
  height: 100%
}

.menunav ul li ul {
  position: absolute;
  height: auto;
  top: 69px;
  left: 0;
  width: 220px;
  padding: 10px 0 10px 0;
  box-shadow: 1px 12px 15px -5px rgba(0, 0, 0, 0.2);
  text-align: left
}

.menunav ul li ul li,
.menunav ul li ul li ul li {
  display: list-item;
  font-size: 14px
}

.menunav ul li ul li ul {
  top: -10px;
  left: 100%
}

.menunav ul li ul li:first-child {
  margin-left: 0
}

.menunav ul li ul li a {
  padding: 20px 0 20px 20px
}

.menunav ul li ul li a:before {
  width: 0;
  height: 100%
}

.menunav ul li ul li a:hover:before {
  width: 100%
}

.menunav li ul.sub-menu {
  display: none
}

.menu-item-has-children a {
  padding-right: 35px !important
}

.menu-item-has-children:before {
  content: '';
  position: absolute;
  top: 30px;
  right: 10px;
  width: 10px;
  height: 10px;
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'  viewBox='0 0 284.929 284.929'%3E%3Cg%3E%3Cpath d='M282.082,76.511l-14.274-14.273c-1.902-1.906-4.093-2.856-6.57-2.856c-2.471,0-4.661,0.95-6.563,2.856L142.466,174.441 L30.262,62.241c-1.903-1.906-4.093-2.856-6.567-2.856c-2.475,0-4.665,0.95-6.567,2.856L2.856,76.515C0.95,78.417,0,80.607,0,83.082 c0,2.473,0.953,4.663,2.856,6.565l133.043,133.046c1.902,1.903,4.093,2.854,6.567,2.854s4.661-0.951,6.562-2.854L282.082,89.647 c1.902-1.903,2.847-4.093,2.847-6.565C284.929,80.607,283.984,78.417,282.082,76.511z' style='fill:%23ffffff;'/%3E%3C/g%3E%3C/svg%3E%0A")
}

.sub-menu .menu-item-has-children:before {
  content: "";
  top: 21px;
  right: 15px;
  transform: rotate(-90deg);
  width: 10px;
  height: 10px;
  background-size: 10px 10px;
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'  viewBox='0 0 284.929 284.929'%3E%3Cg%3E%3Cpath d='M282.082,76.511l-14.274-14.273c-1.902-1.906-4.093-2.856-6.57-2.856c-2.471,0-4.661,0.95-6.563,2.856L142.466,174.441 L30.262,62.241c-1.903-1.906-4.093-2.856-6.567-2.856c-2.475,0-4.665,0.95-6.567,2.856L2.856,76.515C0.95,78.417,0,80.607,0,83.082 c0,2.473,0.953,4.663,2.856,6.565l133.043,133.046c1.902,1.903,4.093,2.854,6.567,2.854s4.661-0.951,6.562-2.854L282.082,89.647 c1.902-1.903,2.847-4.093,2.847-6.565C284.929,80.607,283.984,78.417,282.082,76.511z' style='fill:%23ffffff;'/%3E%3C/g%3E%3C/svg%3E%0A")
}

.menu-item-homepage .name {
  display: none
}

.menu-item-homepage {
  width: 55px
}

.add-menu-home {
  width: 20px;
  height: 20px;
  background-size: 18px 18px;
  position: absolute;
  top: 25px;
  left: 14px;
  padding-right: 40px;
  border-right: 1px solid var(--decor-color);
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg version='1.1' id='Capa_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='460.298px' height='460.297px' viewBox='0 0 460.298 460.297' style='enable-background:new 0 0 460.298 460.297;' xml:space='preserve'%3e%3cg%3e%3cg%3e%3cpath d='M230.149,120.939L65.986,256.274c0,0.191-0.048,0.472-0.144,0.855c-0.094,0.38-0.144,0.656-0.144,0.852v137.041 c0,4.948,1.809,9.236,5.426,12.847c3.616,3.613,7.898,5.431,12.847,5.431h109.63V303.664h73.097v109.64h109.629 c4.948,0,9.236-1.814,12.847-5.435c3.617-3.607,5.432-7.898,5.432-12.847V257.981c0-0.76-0.104-1.334-0.288-1.707L230.149,120.939 z' fill='%23fff'/%3e%3cpath d='M457.122,225.438L394.6,173.476V56.989c0-2.663-0.856-4.853-2.574-6.567c-1.704-1.712-3.894-2.568-6.563-2.568h-54.816 c-2.666,0-4.855,0.856-6.57,2.568c-1.711,1.714-2.566,3.905-2.566,6.567v55.673l-69.662-58.245 c-6.084-4.949-13.318-7.423-21.694-7.423c-8.375,0-15.608,2.474-21.698,7.423L3.172,225.438c-1.903,1.52-2.946,3.566-3.14,6.136 c-0.193,2.568,0.472,4.811,1.997,6.713l17.701,21.128c1.525,1.712,3.521,2.759,5.996,3.142c2.285,0.192,4.57-0.476,6.855-1.998 L230.149,95.817l197.57,164.741c1.526,1.328,3.521,1.991,5.996,1.991h0.858c2.471-0.376,4.463-1.43,5.996-3.138l17.703-21.125 c1.522-1.906,2.189-4.145,1.991-6.716C460.068,229.007,459.021,226.961,457.122,225.438z' fill='%23fff'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e");
  background-repeat: no-repeat
}

.menu-item-homepage a:hover:before {
  height: 0 !important
}

/* Липкое меню */
.banner--clone {
  position: fixed;
  z-index: 999;
  top: -300px;
  left: 50%;
  transform: translate(-50%, 0);
  transition: all .3s ease-in-out;
  bottom: auto;
  border-top-left-radius: 0;
  border-top-right-radius: 0
}

.banner--stick {
  top: 0
}

.banner--clone .menunav {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  box-shadow: 1px 12px 35px -5px rgba(0, 0, 0, 0.25)
}

/* Поиск в шапке - кнопка */
.toggle-search {
  position: absolute;
  top: 23px;
  right: 31px;
  width: 17px;
  height: 22px;
  text-align: center;
  line-height: 68px;
  z-index: 10;
  background-size: 17px 17px;
  border-left: 1px solid var(--decor-color);
  padding-left: 35px
}

.toggle-search:before {
  position: absolute;
  top: 3px;
  right: 0;
  z-index: 10;
  width: 17px;
  height: 17px;
  background-size: 16px 16px;
  content: '';
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='136pt' version='1.1' viewBox='-1 0 136 136.21852' width='136pt'%3E%3Cg id='surface1'%3E%3Cpath d='M 93.148438 80.832031 C 109.5 57.742188 104.03125 25.769531 80.941406 9.421875 C 57.851562 -6.925781 25.878906 -1.460938 9.53125 21.632812 C -6.816406 44.722656 -1.351562 76.691406 21.742188 93.039062 C 38.222656 104.707031 60.011719 105.605469 77.394531 95.339844 L 115.164062 132.882812 C 119.242188 137.175781 126.027344 137.347656 130.320312 133.269531 C 134.613281 129.195312 134.785156 122.410156 130.710938 118.117188 C 130.582031 117.980469 130.457031 117.855469 130.320312 117.726562 Z M 51.308594 84.332031 C 33.0625 84.335938 18.269531 69.554688 18.257812 51.308594 C 18.253906 33.0625 33.035156 18.269531 51.285156 18.261719 C 69.507812 18.253906 84.292969 33.011719 84.328125 51.234375 C 84.359375 69.484375 69.585938 84.300781 51.332031 84.332031 C 51.324219 84.332031 51.320312 84.332031 51.308594 84.332031 Z M 51.308594 84.332031 ' style=' stroke:none;fill-rule:nonzero;fill:%23ffffff;fill-opacity:1;' /%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat
}

/* Поп-ап 3 - поиск в шапке */
.gp-search-modal {
  display: none;
  width: 100%;
  max-width: 800px;
  position: fixed;
  top: 14%;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 1000;
  padding: 30px 40px;
  border: 10px solid;
  border-image-slice: 1;
  border-width: 8px;
  border-image-source: linear-gradient(to left, #743ad5, #d53a9d)
}

.gp-search-title {
  font-size: 20px;
  margin-bottom: 30px;
  display: block;
  color: #f9f9f9;
  font-weight: var(--bold);
}

.search-container .searchform {
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between
}

.search-container .s {
  flex-basis: 75%;
  padding: 19px 20px;
  color: #333;
  border: 1px solid var(--decor-color);
  font-size: 20px;
  border-radius: 2px;
  font-family: inherit;
  font-weight: 300
}

.search-container .searchSubmit {
  flex-basis: 20%;
  margin-left: auto;
  margin: 0;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  border: 0;
  transition: .4s ease-in;
  -webkit-appearance: none;
  box-shadow: none;
  border-radius: 2px;
  color: var(--btn-color);
  font-family: inherit;
  font-weight: var(--semi-bold);
}

.search-container .s:focus {
  border: 1px solid #9ab3f5;
  box-shadow: 0 0 0 1px #9ab3f5
}

.gp-search-modal .close {
  cursor: pointer;
  position: absolute;
  top: 20px;
  right: 30px;
  width: 40px;
  height: 40px;
  z-index: 100;
  transition: .3s ease;
  background: red;
  z-index: 10;
  border-radius: 50%
}

.gp-search-modal .close:before {
  content: '';
  width: 16px;
  height: 16px;
  background-size: 16px 16px;
  position: absolute;
  top: 11px;
  right: 12px;
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' id='Capa_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 47.971 47.971' xml:space='preserve'%3E%3Cg%3E%3Cpath d='M28.228,23.986L47.092,5.122c1.172-1.171,1.172-3.071,0-4.242c-1.172-1.172-3.07-1.172-4.242,0L23.986,19.744L5.121,0.88 c-1.172-1.172-3.07-1.172-4.242,0c-1.172,1.171-1.172,3.071,0,4.242l18.865,18.864L0.879,42.85c-1.172,1.171-1.172,3.071,0,4.242 C1.465,47.677,2.233,47.97,3,47.97s1.535-0.293,2.121-0.879l18.865-18.864L42.85,47.091c0.586,0.586,1.354,0.879,2.121,0.879 s1.535-0.293,2.121-0.879c1.172-1.171,1.172-3.071,0-4.242L28.228,23.986z' style='fill:%23ffffff;'/%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3C/svg%3E%0A")
}

.search-container p {
  font-size: 16px;
  display: block;
  margin-top: 25px;
  text-align: center;
  color: #f9f9f9
}

.gp-inp-text {
  border-width: 0 0 1px 0;
  border-style: dotted;
  cursor: pointer
}

/* Разделы главной - Постер */
#start-scrolling {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1
}

a.gp-arrow-down {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  text-align: center;
  position: absolute;
  bottom: 55px;
  left: 50px;
  z-index: 100;
  text-decoration: none;
  border: 1px solid var(--decor-color);
  border-radius: 50%
}

.gp-arrow-down:before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background: url("data:image/svg+xml;charset=UTF-8,%3csvg viewBox='0 0 24 24' id='arrow-right' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M16.17 13l-3.58 3.59L14 18l6-6-6-6-1.41 1.41L16.17 11H4v2h12.17z' fill='%23ffffff'/%3e%3c/svg%3e") center center / cover no-repeat;
  transform: rotate(90deg);
}

.poster {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto 50px;
  position: relative
}

.poster-img {
  width: 100%;
  float: left
}

.poster-img {
  position: relative
}

.poster-img:before {
  content: '';
  display: block;
  width: auto;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  z-index: 1
}

/* Тексты в Постере */
.poster-caption {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  text-align: left;
  position: relative;
  z-index: 1;
  padding: 170px 0 220px
}

.poster-caption__title,
.poster-caption h2 {
  font-size: 50px;
  line-height: 1.22;
  margin-bottom: 30px;
  text-shadow: 0 3px 4px rgba(0, 0, 0, .15);
  font-weight: var(--bold);
  max-width: 1000px;
  color: var(--decor-color)
}

@media only screen and (max-width:1240px) {
  .poster-caption__title {
    font-size: 50px
  }
}

@media only screen and (max-width:1024px) {
  .poster-caption__title {
    font-size: 44px;
    margin-bottom: 20px
  }
}

@media only screen and (max-width:600px) {
  .poster-caption__title {
    font-size: 24px;
    text-align: center
  }
}

@media only screen and (max-width:414px) {
  .poster-caption__title {
    font-size: 22px;
    line-height: 1.4;
  }
}

.poster-caption-text p {
  display: block;
  font-size: 22px;
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  max-width: 600px;
  color: var(--decor-color)
}

/* Сбор контактов в Постере, контейнер */
.poster-form-wrapper {
  position: absolute;
  bottom: -80px;
  right: 0;
  padding: 30px 35px;
  background: #fafaff;
  z-index: 10;
  width: 100%;
  max-width: 520px;
  border-radius: 6px;
  box-shadow: 0 10px 30px rgba(164, 168, 255, .4)
}

.gp-wrapper {
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between
}

.poster-form-wrapper .wpcf7-form-control-wrap,
.contactpage-form .wpcf7-form-control-wrap,
.popup-wrapper .wpcf7-form-control-wrap {
  flex-basis: 48%
}

.poster-form-wrapper .wpcf7-form-control-wrap:nth-of-type(3),
.contactpage-form .wpcf7-form-control-wrap:nth-of-type(3),
.popup-wrapper .wpcf7-form-control-wrap:nth-of-type(3) {
  flex-basis: 100%
}

.poster-form-wrapper .wpcf7 input,
.poster-form-wrapper .wpcf7 textarea,
.contactpage-form .wpcf7 input,
.contactpage-form .wpcf7 textarea,
.popup-wrapper .wpcf7 input {
  width: 100%;
  font-family: inherit;
  padding: 15px 13px;
  display: block;
  color: inherit;
  font-size: 16px;
  position: relative;
  z-index: 100;
  background-color: var(--decor-color);
  border: 1px solid #d6e0f0;
  border-radius: 4px;
  font-weight: var(--normal);
}

/* Сбор контактов в Постере, форма Contact form 7 */
.popup-wrapper .wpcf7-form-control-wrap {
  flex-basis: 100%;
  margin-bottom: 10px
}

.popup-wrapper .custom-checkbox+label {
  text-align: left;
  font-size: 13px;
  line-height: 1.4
}

.poster-form-wrapper em,
.contactpage-form em,
.popup-wrapper em {
  display: block;
  font-size: 14px;
  font-style: normal;
  line-height: 1.3
}

.gp-form-title {
  flex-basis: 100%;
  font-weight: var(--bold);
  display: block;
  font-size: 20px;
  text-align: center;
  margin-bottom: 15px
}

.wpcf7-response-output,
.wpcf7-not-valid-tip {
  font-size: 13px !important
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder,
.wpcf7-select::placeholder {
  color: #666
}

.wpcf7 input:focus,
.wpcf7-select:focus,
.wpcf7 textarea:focus {
  border-color: #a2d5f2;
  outline: 0
}

.poster-form-wrapper .wpcf7 input[type="submit"],
.contactpage-form .wpcf7 input[type="submit"],
.popup-wrapper .wpcf7 input[type="submit"] {
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: .6px;
  font-weight: var(--semi-bold);
  text-align: center;
  text-decoration: none;
  -webkit-appearance: none;
  outline: 0;
  box-shadow: none;
  cursor: pointer;
  padding: 16px 35px;
  margin: 0;
  transition: all .5s ease;
  display: block;
  border-radius: 4px;
  border: none !important;
  float: none;
  position: relative;
  color: var(--btn-color)
}

.gp-wrapper p {
  flex-basis: 100%;
  margin: 20px 0 0
}

.wpcf7 form .wpcf7-response-output {
  flex-basis: 100%;
  text-align: center;
  color: #fff !important;
  border: 0 !important;
  margin: 18px 0 0 !important
}

.wpcf7 form.sent .wpcf7-response-output {
  background: #5eaaa8
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
  background: #ec4646
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output {
  background: #ffb26b;
  color: #333 !important
}

/* Чекбокс для контактных форм */
.custom-checkbox {
  position: absolute;
  z-index: -1;
  opacity: 0
}

.custom-checkbox+label {
  display: block;
  user-select: none;
  font-size: 14px;
  position: relative;
  padding-left: 42px
}

.custom-checkbox+label::before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 5px;
  left: 0;
  border: 1px solid #adb5bd;
  border-radius: 5px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 50% 50%
}

.custom-checkbox:checked+label::before {
  border-color: #0b76ef;
  background-color: #0b76ef;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e");
}

/* Заголовки в разделах главной */
.container-title-center,
.container-title-left {
  display: block;
  font-size: 30px;
  font-weight: var(--bold);
  line-height: 1.3;
  position: relative;
  z-index: 1
}

.container-title-center {
  text-align: center;
  margin: 0 auto 50px;
  width: 100%;
  max-width: 900px
}

.container-title-left {
  text-align: left;
  margin-bottom: 30px
}

.bg-container .container-title-center {
  margin-bottom: 60px;
  color: var(--decor-color)
}

/* Контейнеры разделов главной */
.img-container .container-title-center {
  color: var(--decor-color)
}

.gp-container {
  width: 100%;
  max-width: 1920px;
  float: left
}

/* Разделы главной - Обо мне - изображение*/
.about {
  margin-bottom: 20px;
  padding: 70px 0;
  position: relative
}

.about-img {
  flex-basis: 38%;
  align-self: start;
  background: #fafaff;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(164, 168, 255, .4);
  padding: 30px 0;
}

.about-img figure {
  position: relative;
  z-index: 1
}

.about-img img,
.about-img figure:before {
  border-radius: 50%
}

.about-img figure:before {
  content: '';
  background: #a7c5eb;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  right: -20px;
  z-index: -1
}

/*  Обо мне - текст */
.about-text {
  flex-basis: 54%;
  margin-left: auto;
  position: relative;
  z-index: 2;
  padding-top: 40px
}

.about-exprnc {
  color: var(--decor-color);
  width: 140px;
  height: 140px;
  padding: 20px;
  text-align: center;
  font-size: 20px;
  font-weight: var(--semi-bold);
  line-height: 1;
  text-transform: uppercase;
  background: #537ec5;
  border-radius: 50%;
  box-shadow: 1px 12px 15px -5px rgba(0, 0, 0, 0.2);
  position: absolute;
  bottom: 60px;
  right: -20px;
  transform: rotate(-5deg)
}

.about-exprnc em {
  display: block;
  font-style: normal;
  font-size: 13px
}

.about-exprnc span {
  display: block;
  font-size: 66px;
  color: var(--decor-color)
}

.about-phone {
  display: block;
  margin-top: 40px;
  text-align: center;
  position: relative;
  z-index: 2;
  text-shadow: 1px 1px 1px var(--decor-color)
}

.about-phone a {
  text-decoration: none;
  font-size: 28px;
  font-weight: var(--bold);
}

.about-mail {
  display: block;
  margin-top: 5px;
  text-align: center;
  position: relative;
  z-index: 2;
  text-shadow: 1px 1px 1px var(--decor-color)
}

.about-mail a {
  font-size: 18px;
  text-decoration: none
}

.about-phone a:hover,
.about-mail a:hover {
  text-decoration: underline
}


/*  Обо мне - прогресс бары */
.about-graf {
  margin-top: 30px
}

.about-graf-title {
  display: block;
  font-weight: var(--semi-bold);
  margin-bottom: 10px;
  font-size: 20px
}

.about-graf .section {
  width: 100%;
  position: relative;
  z-index: 1;
  margin-top: 20px
}

.graf-desc {
  font-size: 16px;
  display: block;
  margin-top: 10px;
  padding-left: 10px;
  color: var(--support-color)
}

.progress-bar {
  background: var(--decor-color);
  justify-content: flex-start;
  border-radius: 100px;
  align-items: center;
  position: relative;
  padding: 0 5px;
  display: flex;
  height: 30px;
  width: 100%;
  box-shadow: inset 0 10px 30px rgba(164, 168, 255, .2)
}

.progress-value {
  /*animation:load 3s normal forwards;*/
  box-shadow: 0 10px 40px -10px var(--decor-color);
  border-radius: 100px;
  height: 20px;
  width: 0
}

.progress-value span {
  color: var(--decor-color);
  font-size: 14px;
  text-align: center;
  display: block
}

.red-bar {
  background: #e03c83
}

.blue-bar {
  background: #7579e7
}

.green-bar {
  background: #16c79a
}

/*@keyframes load{0%{width:0}}*/

/* Разделы главной - Преимущества */
.benefits-container {
  margin-bottom: 60px
}

.benefit-item {
  flex-basis: 23%;
  margin-bottom: 20px;
  padding: 35px;
  border-radius: 6px;
  background: #fafaff;
  box-shadow: 0 10px 30px rgba(164, 168, 255, .4);
  position: relative
}

.benefit-item span {
  font-size: 18px;
  display: block;
  line-height: 1.4
}

.benefit-item:before {
  content: '';
  width: 30px;
  height: 30px;
  background-size: 30px 30px;
  position: absolute;
  bottom: 22px;
  right: 35px;
  opacity: .7;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg id='Layer_1' enable-background='new 0 0 512.063 512.063' height='512' viewBox='0 0 512.063 512.063' width='512' xmlns='http://www.w3.org/2000/svg'%3e%3cg%3e%3cg%3e%3cellipse cx='256.032' cy='256.032' fill='%2300ab5e' rx='255.949' ry='256.032'/%3e%3c/g%3e%3cpath d='m256.032 0c-.116 0-.231.004-.347.004v512.055c.116 0 .231.004.347.004 141.357 0 255.949-114.629 255.949-256.032s-114.592-256.031-255.949-256.031z' fill='%2300ab5e'/%3e%3cpath d='m111.326 261.118 103.524 103.524c4.515 4.515 11.836 4.515 16.351 0l169.957-169.957c4.515-4.515 4.515-11.836 0-16.351l-30.935-30.935c-4.515-4.515-11.836-4.515-16.351 0l-123.617 123.615c-4.515 4.515-11.836 4.515-16.351 0l-55.397-55.397c-4.426-4.426-11.571-4.526-16.119-.226l-30.83 29.149c-4.732 4.475-4.837 11.973-.232 16.578z' fill='%23ffffff'/%3e%3cpath d='m370.223 147.398c-4.515-4.515-11.836-4.515-16.351 0l-98.187 98.187v94.573l145.473-145.473c4.515-4.515 4.515-11.836 0-16.352z' fill='%23ffffff'/%3e%3c/g%3e%3c/svg%3e");
  background-repeat: no-repeat
}

/* Разделы главной - Услуги */
.bg-container {
  width: 100%;
  height: 100%;
  padding: 90px 0;
  margin-top: 0;
  margin-bottom: 80px;
  position: relative;
  z-index: 1
}

.bg-container:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: url('img/shape1.png') top right repeat-y
}

/* Табы*/
.tabs ul {
  list-style: none;
  text-align: center;
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-around
}

.tabs ul li {
  flex-basis: 50%;
  font-size: 18px;
  font-weight: var(--semi-bold);
  letter-spacing: 1px;
  text-transform: uppercase
}

.tab-content {
  flex-basis: 100%;
  border: 3px solid var(--decor-color);
  padding: 55px 40px 30px;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px
}

.tabs ul li.active a {
  border-color: var(--decor-color);
  color: var(--decor-color);
  border-top-left-radius: 10px;
  border-top-right-radius: 10px
}

.tabs ul li a {
  text-decoration: none;
  padding: 5px 10px;
  display: block;
  color: var(--decor-color);
  padding: 40px 20px 20px;
  transition: all 0s linear;
  border-bottom: 0
}

.tabs ul li a:hover {
  text-decoration: none
}

.tabs li.active {
  position: relative
}

.tabs li.active:before {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 3px;
  right: 3px;
  height: 6px
}

.tab-content>.tabs-post {
  display: none
}

.tab-content>.active {
  display: block
}

.tabs-post.in {
  opacity: 1
}

.noborder {
  border: none;
  padding: 0 20px 0
}

/* Услуги - ячейки */
.service-item {
  display: flex;
  justify-content: start;
  align-items: center;
  gap: 20px;
  padding: 30px 20px;
  background: var(--decor-color);
  box-shadow: 1px 12px 15px -5px rgba(0, 0, 0, 0.19);
  position: relative;
  z-index: 1;
  border-radius: 6px;
  transition: transform .2s linear, box-shadow .2s linear, background-color .2s ease-in-out;
}


.service-item:hover {
  transform: scale(1.05) !important;
  -webkit-transform: scale(1.05) !important;
  box-shadow: 0 17px 25px rgba(0, 0, 0, 0.13) !important;
  -webkit-box-shadow: 0 17px 25px rgba(0, 0, 0, 0.13);
  -moz-box-shadow: 0 17px 25px rgba(0, 0, 0, 0.13);
  -o-box-shadow: 0 17px 25px rgba(0, 0, 0, 0.13);
  opacity: 1;
  filter: none
}

.service-title {
  display: block;
  font-weight: 600;
  font-size: 18px;
}

.service-item a {
  text-decoration: none
}

.service-item p {
  display: none
}

.service-addition {
  text-align: center;
  flex-basis: 100%;
  padding: 10px 30px 20px;
  margin: 40px auto 0;
  color: var(--decor-color);
  position: relative;
  z-index: 1
}

.service-addition a {
  color: var(--decor-color)
}

/* Иконки в услугах */
.drugs:before {
  background: url('img/crime/drugs.svg') no-repeat center center
}

.thief:before {
  background: url('img/crime/thief.svg') no-repeat center center
}

.agreement:before {
  background: url('img/crime/agreement.svg') no-repeat center center
}

.traffic_cone:before {
  background: url('img/crime/traffic_cone.svg') no-repeat center center
}

.knife:before {
  background: url('img/crime/knife.svg') no-repeat center center
}

.fingerprint:before {
  background: url('img/crime/fingerprint.svg') no-repeat center center
}

.money_bag:before {
  background: url('img/crime/money_bag.svg') no-repeat center center
}

.gun:before {
  background: url('img/crime/gun.svg') no-repeat center center
}

.dna:before {
  background: url('img/crime/dna.svg') no-repeat center center
}

.money:before {
  background: url('img/crime/money.svg') no-repeat center center
}

.cuffs:before {
  background: url('img/crime/cuffs.svg') no-repeat center center
}

.laundering:before {
  background: url('img/crime/laundering.svg') no-repeat center center
}

.courthouse:before {
  background: url('img/crime/courthouse.svg') no-repeat center center
}

.glass:before {
  background: url('img/crime/glass.svg') no-repeat center center
}

.gavel:before {
  background: url('img/crime/gavel.svg') no-repeat center center
}

.folder:before {
  background: url('img/crime/folder.svg') no-repeat center center
}

.shield:before {
  background: url('img/crime/shield.svg') no-repeat center center
}

.safe:before {
  background: url('img/crime/safe.svg') no-repeat center center
}

.jail:before {
  background: url('img/crime/jail.svg') no-repeat center center
}

.calendar:before {
  background: url('img/crime/calendar.svg') no-repeat center center
}

.book:before {
  background: url('img/crime/book.svg') no-repeat center center
}

.briefcase:before {
  background: url('img/crime/briefcase.svg') no-repeat center center
}

.lawyer:before {
  background: url('img/crime/lawyer.svg') no-repeat center center
}

.box:before {
  background: url('img/crime/box.svg') no-repeat center center
}

.balance:before {
  background: url('img/crime/balance.svg') no-repeat center center
}

.cases:before {
  content: "";
  flex-shrink: 0;
  padding: 15px;
  width: 26px;
  height: 26px;
  background-size: 24px 24px;
  border-radius: 50%;
  transition: all .2s ease-in;
  background-repeat: no-repeat
}

.service-item:hover.cases:before,
#corporate .service-item:hover.cases:before {
  box-shadow: 1px 22px 25px -5px rgba(0, 0, 0, 0.25)
}

/* Кнопки в услугах */
.service-btn {
  display: inline-block;
  padding: 13px 25px;
  text-align: center;
  transition: all .5s ease;
  font-size: 16px;
  color: var(--btn-color);
  text-decoration: none;
  border: 1px solid var(--decor-color);
  font-weight: var(--semi-bold);
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: .6px;
  margin: 10px 15px 0;
  position: relative;
  z-index: 2
}

.service-btn:hover {
  background: #537ec5;
  border-color: #537ec5;
  text-decoration: none;
  color: var(--btn-color);
}

.second-service-btn {
  display: inline-block;
  padding: 17px 25px;
  text-align: center;
  transition: all .5s ease;
  font-size: 16px;
  letter-spacing: .6px;
  color: var(--btn-color);
  font-weight: var(--semi-bold);
  border-radius: 4px;
  text-transform: uppercase;
  margin: 10px auto 0;
  position: relative;
  z-index: 2
}


/* Разделы главной - 5 шагов */
.chain {
  margin-bottom: 60px
}

.chain .container-title-center {
  margin-bottom: 40px
}

.chain-item {
  flex-basis: 18%;
  margin: 0;
  padding: 0 10px;
  position: relative;
  z-index: 1
}

.chain-item span {
  display: block;
  margin-bottom: 20px;
  font-weight: var(--semi-bold);
  font-size: 19px;
  line-height: 1.3;
  padding-top: 14px
}

.chain-item p {
  font-size: 16px
}

.chain-item:nth-of-type(even) {
  padding-top: 0
}

.first-chain:before,
.second-chain:before,
.third-chain:before,
.forth-chain:before,
.fifth-chain:before {
  font-size: 50px;
  font-weight: var(--bold);
}

.first-chain:before {
  content: '01'
}

.second-chain:before {
  content: '02'
}

.third-chain:before {
  content: '03'
}

.forth-chain:before {
  content: '04'
}

.fifth-chain:before {
  content: '05'
}

/*  5 шагов - призыв к действию */
.chain-start {
  padding: 50px 20px;
  margin-top: 60px;
  flex-basis: 100%;
  border-radius: 10px;
  position: relative;
  z-index: 1
}

.chain-start-title {
  display: block;
  margin-bottom: 20px;
  font-weight: var(--semi-bold);
  text-align: center;
  font-size: 22px;
  color: var(--decor-color)
}

.chain-btn {
  display: block;
  padding: 16px 25px;
  text-align: center;
  transition: all .5s ease;
  font-size: 16px;
  letter-spacing: .6px;
  color: var(--btn-color);
  font-weight: var(--semi-bold);
  border-radius: 4px;
  text-transform: uppercase;
  margin: 10px auto 0;
  position: relative;
  z-index: 2
}

.first-chain:after {
  content: '';
  width: 0;
  height: 0;
  border-left: 60px solid transparent;
  border-right: 60px solid transparent;
  position: absolute;
  bottom: -110px;
  left: 0;
  z-index: -1
}

.chain-start:before {
  content: '';
  background: url('img/shape2.png') right center no-repeat;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: 100%;
  height: 100%
}


/*  Разделы главной - отзывы */
.feedback-container {
  background: #fafaff;
  padding: 80px 0 90px;
  margin-top: 0;
  margin-bottom: 60px
}

.feedback-container .container-title-center {
  margin-bottom: 40px
}

.feedback-carousel {
  flex-basis: 100%
}

.feedback-item {
  margin: 30px 25px 60px;
  padding: 80px 50px 50px;
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(164, 168, 255, .4);
  position: relative
}

.feedback-item:before {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg version='1.1' id='Capa_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 32 32' style='enable-background:new 0 0 32 32;' xml:space='preserve'%3e%3cg%3e%3cg id='right_x5F_quote_x5F_alt'%3e%3cg%3e%3cpolygon style='fill:%23b088f9;' points='0,4 0,28 12,16 12,4'/%3e%3cpolygon style='fill:%23b088f9;' points='20,4 20,28 32,16 32,4'/%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e");
  content: '';
  position: absolute;
  top: 0;
  left: 30px;
  width: 70px;
  height: 70px;
  background-size: 70px 70px;
  z-index: -1;
  opacity: .1
}

.feedback-item:after {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg version='1.1' id='Capa_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 32 32' style='enable-background:new 0 0 32 32;' xml:space='preserve'%3e%3cg%3e%3cg id='right_x5F_quote_x5F_alt'%3e%3cg%3e%3cpolygon style='fill:%23b088f9;' points='0,4 0,28 12,16 12,4'/%3e%3cpolygon style='fill:%23b088f9;' points='20,4 20,28 32,16 32,4'/%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e");
  content: '';
  position: absolute;
  bottom: 0;
  right: 30px;
  width: 70px;
  height: 70px;
  background-size: 70px 70px;
  z-index: -1;
  opacity: .1
}

/* OWL карусель для отзывов */
.owl-nav.disabled {
  display: none
}

.owl-carousel .owl-prev {
  transform: rotate(-90deg);
  position: absolute;
  top: 50%;
  margin-top: -25px;
  left: -100px;
  width: 50px;
  height: 50px;
  text-align: center;
  overflow: hidden;
  border: 0;
  cursor: pointer
}

.owl-carousel .owl-next {
  transform: rotate(90deg);
  position: absolute;
  top: 50%;
  margin-top: -25px;
  right: -100px;
  width: 50px;
  height: 50px;
  text-align: center;
  overflow: hidden;
  border: 0;
  cursor: pointer
}

.owl-carousel .owl-prev,
.owl-carousel .owl-next {
  font-size: 24px;
  line-height: 25px;
  color: var(--btn-color);
  padding: 10px;
  border-radius: 50%;
  transition: all .2s ease-in
}

.owl-carousel .owl-prev:before {
  content: "↑"
}

.owl-carousel .owl-next:before {
  content: "↑"
}


.owl-dots {
  cursor: default;
  text-align: center;
  position: absolute;
  bottom: -40px;
  left: 40px
}

.owl-dot {
  display: inline-block;
  zoom: 1;
  border: 0;
  background: 0;
  margin: 0;
  padding: 0;
  cursor: pointer;
  text-align: center
}

.owl-dot span {
  width: 20px;
  height: 20px;
  margin: 0 5px;
  background: transparent;
  display: block;
  -webkit-backface-visibility: visible;
  -webkit-transition: opacity 200ms ease;
  -moz-transition: opacity 200ms ease;
  -ms-transition: opacity 200ms ease;
  -o-transition: opacity 200ms ease;
  transition: opacity 200ms ease;
  border: 0
}

.owl-carousel .animated {
  -webkit-animation-duration: 1000ms;
  animation-duration: 1000ms;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both
}

.owl-carousel .owl-animated-in {
  z-index: 0
}

.owl-carousel .owl-animated-out {
  z-index: 1
}

.owl-carousel .fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1
  }

  100% {
    opacity: 0
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1
  }

  100% {
    opacity: 0
  }
}

.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  cursor: move;
  position: relative;
  z-index: 1
}

.owl-carousel .owl-stage {
  position: relative;
  -ms-touch-action: pan-Y
}

.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0
}

.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  -webkit-transform: translate3d(0px, 0px, 0px)
}

.owl-carousel .owl-controls .owl-nav .owl-prev,
.owl-carousel .owl-controls .owl-nav .owl-next,
.owl-carousel .owl-controls .owl-dot {
  cursor: pointer;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

.owl-carousel.owl-loaded {
  display: block
}

.owl-carousel.owl-loading {
  opacity: 0;
  display: block
}

.owl-carousel.owl-hidden {
  opacity: 0
}

.owl-carousel .owl-refresh .owl-item {
  display: none
}

.owl-carousel .owl-item {
  position: relative;
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

.owl-carousel.owl-text-select-on .owl-item {
  -webkit-user-select: auto;
  -moz-user-select: auto;
  -ms-user-select: auto;
  user-select: auto
}

.no-js .owl-carousel {
  display: block
}

button.owl-dot {
  border: 0;
  outline: 0
}

.owl-dot span {
  border-radius: 50%;
  background: #d3e0ea
}

.client-name {
  display: block;
  font-weight: var(--semi-bold);
  margin-top: 25px;
  font-size: 17px
}

.owl-carousel .owl-prev,
.owl-carousel .owl-next {
  border: 2px solid var(--decor-color)
}

a.more-feedback {
  display: inline-block;
  position: absolute;
  right: 40px;
  bottom: -35px;
  z-index: 1;
  font-size: 16px
}

.feedback-container .port {
  position: relative
}

/* Разделы главной - Призыв к действию */
.offer-container {
  margin-bottom: 80px;
}

.offer {
  padding: 50px 60px;
  border-radius: 10px;
  position: relative;
  color: var(--decor-color)
}

.offer:before {
  content: '';
  background: url('img/shape3.png') right center no-repeat;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: 100%;
  height: 100%
}

.offer-text {
  flex-basis: 65%;
  position: relative;
  z-index: 1
}

.offer-action {
  flex-basis: 30%;
  margin-left: auto;
  text-align: right;
  align-self: center
}

.offer-text p {
  display: block
}

.offer-title {
  display: block;
  font-size: 30px;
  margin-bottom: 20px;
  font-weight: var(--bold);
}

.offer-btn {
  display: inline-block;
  padding: 16px 25px;
  text-align: center;
  transition: all .5s ease;
  font-size: 16px;
  color: var(--btn-color);
  text-decoration: none;
  font-weight: var(--semi-bold);
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: .6px;
  position: relative;
  z-index: 1
}

a.offer-btn {
  text-decoration: none;
  color: var(--btn-color)
}

/* Разделы главной - кейсы, случаи, из блога */
.case-container {
  margin-bottom: 80px
}

.case-item,
.case-column {
  flex-basis: 30%
}

.case-column {
  background: #fafaff;
  border-radius: 10px;
  padding: 40px;
  box-shadow: 0 10px 30px rgba(164, 168, 255, .4)
}

.case-thumbnail {
  margin-bottom: 20px
}

.case-item span,
.case-column span {
  font-weight: var(--semi-bold);
  font-size: 19px;
  line-height: 1.4;
  display: block
}

.case-item span a,
.case-column span a {
  text-decoration: none
}

.case-item span a:hover,
.case-column span a:hover,
a.more-link:hover {
  text-decoration: underline
}

.case-column span {
  font-size: 17px
}

.case-column ul {
  margin: 0;
  padding: 0
}

.case-column ul li {
  list-style: none;
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #e6e6e6
}

.case-column ul li:last-child {
  margin: 0;
  padding: 0;
  border: 0
}

a.more-link {
  display: block;
  font-size: 15px;
  text-decoration: none;
  text-decoration: underline;
  margin-top: 15px;
  font-weight: var(--semi-bold);
}

/* Подвал сайта */
footer {
  padding: 40px 0;
  width: 100%;
  margin: 20px auto 0;
  position: relative;
  z-index: 10
}

footer:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1
}

/* Подвал сайта - контакты */
.foot-contacts {
  flex-basis: 100%;
  position: relative;
  z-index: 1;
  margin-right: auto
}

.foot-contacts-wrapper {
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between
}

.foot-contact-item {
  flex-basis: 22%;
  padding: 55px 30px 26px;
  position: relative;
  margin: 40px 0 35px;
  font-weight: var(--semi-bold);
  border-radius: 6px;
  background: var(--decor-color);
  box-shadow: 1px 12px 25px -5px rgba(0, 0, 0, 0.55);
  font-size: 17px;
  transition: all .3s ease-in
}

.foot-contact-item span {
  display: block
}

.foot-contact-item:hover {
  transform: translateY(-5px)
}

.foot-contact-item a {
  text-decoration: none;
  border-bottom: 1px dotted #999
}

.phone-item:before {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg version='1.1' id='Capa_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 241.73 241.73' style='enable-background:new 0 0 241.73 241.73;' xml:space='preserve'%3e%3cg%3e%3cpath style='fill:%23ffffff;' d='M234.771,181.213l-34.938-34.953c-4.692-4.668-10.975-7.24-17.689-7.24 c-6.987,0-13.584,2.751-18.572,7.742l-13.6,13.597c-10.568-5.874-24.614-13.953-39.197-28.536 c-14.566-14.571-22.646-28.576-28.55-39.201l13.613-13.603c10.121-10.142,10.328-26.413,0.463-36.269L61.37,7.818 c-4.679-4.692-10.962-7.276-17.693-7.276c-6.831,0-13.293,2.63-18.252,7.417c-3,2.416-18.055,15.706-23.666,43.114 c-7.856,38.363,10.194,75.274,62.302,127.403c58.209,58.191,107.902,62.714,121.746,62.714c2.882,0,4.621-0.178,5.085-0.232 c27.147-3.182,36.867-15.238,43.964-24.041C244.052,205.508,244.02,190.496,234.771,181.213z M223.178,207.502 c-6.671,8.274-12.971,16.088-34.031,18.557c-0.011,0.001-1.163,0.13-3.34,0.13c-12.386,0-57.008-4.206-111.139-58.32 C26.615,119.796,9.749,86.829,16.454,54.081c4.894-23.906,17.887-34.067,18.392-34.453l0.448-0.331l0.393-0.394 c2.169-2.167,5.006-3.361,7.989-3.361c2.716,0,5.228,1.018,7.08,2.876l34.939,34.94c4.02,4.016,3.806,10.774-0.471,15.06 L69.829,83.8l-0.253,0.265c-4.012,4.419-3.54,10.391-1.33,14.28c6.377,11.508,15.112,27.269,31.92,44.082 c16.752,16.752,32.49,25.48,43.966,31.845c1.149,0.645,3.521,1.727,6.49,1.727c3.506,0,6.725-1.484,9.108-4.189l14.448-14.444 c2.157-2.158,4.985-3.347,7.964-3.347c2.722,0,5.247,1.021,7.095,2.859l34.915,34.93 C228.587,196.259,226.756,203.064,223.178,207.502z' fill='%23fff'/%3e%3cpath style='fill:%23ffffff;' d='M146.447,37.293c12.887,1.483,28.061,9.289,38.657,19.886c10.695,10.695,18.52,26.023,19.933,39.05 c0.417,3.843,3.667,6.691,7.447,6.691c0.27,0,0.544-0.015,0.818-0.044c4.118-0.447,7.094-4.147,6.647-8.265 c-1.787-16.467-11.075-34.874-24.238-48.038c-13.04-13.041-31.259-22.306-47.549-24.181c-4.113-0.477-7.834,2.479-8.308,6.593 C139.38,33.099,142.331,36.819,146.447,37.293z' fill='%23ffffff'/%3e%3cpath style='fill:%23ffffff;' d='M139.44,68.711c6.97,0.803,16.616,5.973,22.935,12.292c6.373,6.374,11.553,16.112,12.316,23.157 c0.417,3.844,3.667,6.692,7.447,6.692c0.27,0,0.543-0.015,0.817-0.044c4.118-0.447,7.095-4.147,6.648-8.265 c-1.304-12.028-9.289-24.813-16.623-32.147c-7.268-7.269-19.928-15.216-31.825-16.587c-4.119-0.479-7.835,2.478-8.309,6.592 C132.373,64.516,135.325,68.237,139.44,68.711z' fill='%23ffffff'/%3e%3c/g%3e%3c/svg%3e ")
}

.loc-item:before {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg version='1.1' id='Capa_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3e%3cg%3e%3cg%3e%3cpath d='M256,0C156.748,0,76,80.748,76,180c0,33.534,9.289,66.26,26.869,94.652l142.885,230.257 c2.737,4.411,7.559,7.091,12.745,7.091c0.04,0,0.079,0,0.119,0c5.231-0.041,10.063-2.804,12.75-7.292L410.611,272.22 C427.221,244.428,436,212.539,436,180C436,80.748,355.252,0,256,0z M384.866,256.818L258.272,468.186l-129.905-209.34 C113.734,235.214,105.8,207.95,105.8,180c0-82.71,67.49-150.2,150.2-150.2S406.1,97.29,406.1,180 C406.1,207.121,398.689,233.688,384.866,256.818z' fill='%23fff'/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3cpath d='M256,90c-49.626,0-90,40.374-90,90c0,49.309,39.717,90,90,90c50.903,0,90-41.233,90-90C346,130.374,305.626,90,256,90z M256,240.2c-33.257,0-60.2-27.033-60.2-60.2c0-33.084,27.116-60.2,60.2-60.2s60.1,27.116,60.1,60.2 C316.1,212.683,289.784,240.2,256,240.2z' fill='%23fff'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e ")
}

.mail-item:before {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg version='1.1' id='Capa_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3e%3cg%3e%3cg%3e%3cpath d='M467,61H45C20.218,61,0,81.196,0,106v300c0,24.72,20.128,45,45,45h422c24.72,0,45-20.128,45-45V106 C512,81.28,491.872,61,467,61z M460.786,91L256.954,294.833L51.359,91H460.786z M30,399.788V112.069l144.479,143.24L30,399.788z M51.213,421l144.57-144.57l50.657,50.222c5.864,5.814,15.327,5.795,21.167-0.046L317,277.213L460.787,421H51.213z M482,399.787 L338.213,256L482,112.212V399.787z' fill='%23fff'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e ")
}

.whapp-item {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.whapp-item:before {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M21 14.8V7.19995V7.19666C21 6.07875 21 5.51945 20.7822 5.09204C20.5905 4.71572 20.2841 4.40973 19.9078 4.21799C19.48 4 18.9203 4 17.8002 4H6.2002C5.08009 4 4.51962 4 4.0918 4.21799C3.71547 4.40973 3.40973 4.71572 3.21799 5.09204C3 5.51986 3 6.07985 3 7.19995V18.671C3 19.7367 3 20.2696 3.21846 20.5432C3.40845 20.7813 3.69644 20.9197 4.00098 20.9194C4.35115 20.919 4.76744 20.5861 5.59961 19.9203L7.12357 18.7012C7.44844 18.4413 7.61084 18.3114 7.79172 18.219C7.95219 18.137 8.12279 18.0771 8.29932 18.0408C8.49829 18 8.70652 18 9.12256 18H17.8001C18.9202 18 19.48 18 19.9078 17.782C20.2841 17.5902 20.5905 17.2844 20.7822 16.908C21 16.4806 21 15.9212 21 14.8032V14.8Z' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e");
}

.phone-item:before,
.loc-item:before,
.mail-item:before,
.whapp-item:before {
  content: '';
  position: absolute;
  top: -15px;
  left: 22px;
  width: 52px;
  height: 52px;
  background-size: 28px 28px;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 50%;
  line-height: 52px
}

/* Меню в подале */
ul.footer-menu {
  flex-basis: 100%;
  margin-top: 30px;
  margin-bottom: 40px;
  text-align: center
}

ul.footer-menu li {
  display: inline-block;
  margin: 0 15px;
  line-height: 1;
  font-size: 16px;
  font-weight: var(--semi-bold);
}

ul.footer-menu li a {
  text-decoration: none;
  color: var(--nav-color)
}

ul.footer-menu li a:hover {
  text-decoration: underline
}

.footer-menu .menu-item-homepage {
  display: none
}

/* Кредитсы*/
.credits {
  flex-basis: 100%;
  margin-top: 30px;
  font-size: 13px;
  color: var(--decor-color);
  position: relative;
  text-align: center
}

.credits a {
  color: var(--decor-color)
}

.anycode {
  flex-basis: 100%;
  margin-top: 35px;
  text-align: center
}

.anycode span {
  display: inline-block
}

/* Кнопка вверх */
.backtop {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  position: fixed;
  cursor: pointer;
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  transition: all .3s ease;
  text-decoration: none;
  right: 25px;
  bottom: 25px;
  z-index: 100;
  border-radius: 50%;
  border: 2px solid var(--decor-color);
}

.backtop:hover {
  box-shadow: 1px 22px 25px -5px rgba(0, 0, 0, 0.25)
}

.backtop:before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background: url("data:image/svg+xml;charset=UTF-8,%3csvg viewBox='0 0 24 24' id='arrow-right' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M16.17 13l-3.58 3.59L14 18l6-6-6-6-1.41 1.41L16.17 11H4v2h12.17z' fill='%23ffffff'/%3e%3c/svg%3e") center center / cover no-repeat;
  transform: rotate(-90deg);
}

.disclaimer {
  max-width: 800px;
  margin-block-start: 1rem;
  margin-inline: auto;
}

/* Внутряки - шапка и контейнеры */
.post-header {
  padding: 80px 0 25px
}

.single-container {
  position: relative;
  z-index: 1;
  margin-bottom: 0
}

.single-container:before {
  content: '';
  background: linear-gradient(to bottom, #f7f6fb 80%, #fff);
  width: 100%;
  height: 370px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1
}

.post-port {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  position: relative
}

.post-header .post-date {
  font-size: 14px;
  position: relative;
  color: var(--support-color);
  display: inline-block
}

.post-header .post-date {
  margin-right: 20px
}

/* Кнопки Поделиться */
.ya-share-btns {
  margin-left: auto;
  margin-top: 25px;
  margin-bottom: 25px
}

.ya-share-btns em {
  display: block;
  font-size: 13px;
  color: var(--support-color);
  margin-bottom: 10px;
  font-style: normal
}

/*  Хлебные крошки */
.breadcrumbs {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
  font-size: 15px;
  color: var(--support-color);
}

@media only screen and (max-width:800px) {
  .breadcrumbs {
    display: block;
  }
}

.breadcrumbs__item {
  display: inline-block;
}

@media only screen and (max-width:800px) {
  .breadcrumbs__item {
    display: inline-table;
  }
}

.breadcrumbs a {
  text-decoration: none;
  color: var(--support-color)
}

.breadcrumbs a:hover {
  text-decoration: underline
}

.breadcrumbs__separator .dashicons-arrow-right-alt {
  font-size: 12px !important;
  font-weight: 300;
  padding-top: 5px
}

.breadcrumbs__item:last-child span {
  display: block;
  max-width: 180px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis
}

/* Заголовки */
h1.post-title,
h1.page-title {
  font-size: 30px;
  line-height: 1.35;
  font-weight: var(--bold);
  padding-right: 50px
}

h1.page-title {
  margin-bottom: 0
}

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

h1 {
  font-size: 26px
}

h2 {
  font-size: 24px
}

h3 {
  font-size: 22px
}

h4 {
  font-size: 20px
}

h5 {
  font-size: 19px
}

h6 {
  font-size: 18px
}

.post-content h1,
.post-content h2,
.post-content h3,
.post-content h4,
.post-content h5,
.post-content h6 {
  margin-bottom: 18px
}

/* Внутряки - подвал записи, дата */
.post-footer {
  font-size: 14px;
  width: 100%;
  margin-top: 20px;
  padding: 14px 0;
  color: var(--decor-color);
  display: flex;
  flex-wrap: wrap;
  align-content: space-between
}

.gp-post-date {
  display: inline-block;
  color: #333;
  font-weight: var(--semi-bold);
}

/* Подвал записи - метки */
.gp-post-tags {
  display: inline-block;
  padding-left: 40px;
  margin-left: auto
}

.gp-post-tags a {
  text-decoration: none;
  margin-left: 15px;
  padding-left: 10px;
  display: inline-block;
  position: relative;
  text-align: right
}

.gp-post-tags a:before {
  content: '#';
  position: absolute;
  top: 0;
  left: 0
}

.gp-post-tags a:hover {
  text-decoration: underline
}


/* Сайдбар - оформление виджетов */
.widget-title {
  margin-bottom: 22px;
  font-weight: var(--bold);
  display: block
}

.widget {
  margin-bottom: 45px;
  font-size: 17px
}

.widget p a {
  text-decoration: underline
}

.widget p a:hover {
  text-decoration: underline
}

.widget a {
  text-decoration: none
}

.widget a:hover {
  text-decoration: underline
}

.widget_recent_entries .post-date {
  color: var(--support-color);
  font-size: 13px
}

.widget_categories select {
  background: #fff !important;
  height: 50px;
  line-height: 50px;
  overflow: hidden;
  border-radius: 3px;
  font-family: inherit;
  width: 98.2%;
  padding-left: 15px;
  display: block;
  border: 1px solid var(--decor-color);
  margin: 0 5px 5px;
  color: #333;
  font-size: 18px;
  position: relative;
  z-index: 1;
  -webkit-appearance: none
}

/* Виджет метки */
.widget .tagcloud {
  width: 100%;
  display: inline-block
}

.widget .tagcloud a {
  float: left;
  line-height: 13px;
  font-size: 13px !important;
  text-decoration: none;
  margin: 0 9px 9px 0;
  padding: 8px 9px;
  text-transform: uppercase;
  border: 1px solid rgba(29, 43, 100, .1)
}

.widget .tagcloud a:hover {
  text-decoration: none
}

/* Виджет календарь */
.widget #calendar_wrap {
  width: 100%;
  font-size: 13px
}

.widget #wp-calendar th {
  text-align: center;
  padding: 5px 4px;
  font-size: 13px;
  font-weight: var(--semi-bold);
  border: 1px solid rgba(29, 43, 100, .06)
}

.widget #wp-calendar td {
  padding: 5px 3px;
  border: 1px solid rgba(29, 43, 100, .06);
  text-align: center
}

.widget #wp-calendar caption {
  font-size: 16px;
  margin-bottom: 10px
}

/* Виджет поиск */
.widget_search #search-form {
  display: flex;
  width: 100%
}

.widget_search input[type="search"] {
  -webkit-backface-visibility: hidden;
  background: var(--decor-color);
  border: solid 1px #e7e7e7;
  outline: 0;
  padding: 16px 10px;
  -webkit-appearance: none;
  outline-offset: 0;
  border-radius: 0;
  font-size: 17px;
  max-width: 220px;
  margin-right: 10px
}

.widget_search input[type="submit"] {
  padding: 16px 20px;
  text-align: center;
  line-height: 1;
  font-size: 15px;
  cursor: pointer;
  border: 0;
  font-weight: normal;
  transition: .3s ease;
  font-family: inherit;
  -webkit-appearance: none;
  box-shadow: none;
  color: var(--btn-color);
  text-transform: uppercase;
  border-radius: 6px
}

.widget_search input[type="search"]:focus {
  border-color: #0073aa;
  outline: thin solid rgba(0, 115, 170, 0.15)
}

/* Встроенный виджет Обо мне */
.about-me-widget {
  width: 100%;
  text-align: center;
  background: #fafaff;
  border-radius: 6px;
  box-shadow: 0 10px 30px rgba(164, 168, 255, .4);
  margin-bottom: 40px
}

.gp-about-me-name {
  font-size: 17px;
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: .5px;
  padding: 15px 10px;
  font-weight: var(--bold);
  color: var(--decor-color)
}

.gp-about-me-phone {
  border-bottom: 1px solid #e6e6e6;
  margin-bottom: 8px;
  padding-bottom: 10px;
  font-weight: var(--semi-bold);
  font-size: 20px
}

.gp-about-me-mail {
  padding: 5px 10px 15px;
  font-size: 15px
}

.gp-about-me-btn {
  padding: 13px 10px;
  color: var(--btn-color);
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
  font-weight: var(--semi-bold);
  cursor: pointer;
  transition: all .3s ease-in
}

.gp-about-me-img img {
  border-top-left-radius: 6px;
  border-top-right-radius: 6px
}

/* Список комментариев в записи */
.comments-box {
  width: 100%;
  margin-top: 50px
}

ol.commentlist {
  margin: 0;
  position: relative;
  z-index: 1;
  padding: 0
}

ol.commentlist li div.vcard cite.fn a.url:hover {
  text-decoration: none
}

ol.commentlist li {
  margin-top: 25px;
  list-style-type: none;
  padding: 0;
  position: relative
}

ol.commentlist li .fn {
  font-weight: var(--semi-bold);
  font-size: 17px
}

ol.commentlist li div.vcard cite.fn a.url {
  text-decoration: none
}

ol.commentlist li .comment-author {
  position: relative
}

ol.commentlist li .avatar {
  float: left;
  margin: 0 15px 0 0;
  border-radius: 4px
}

ol.commentlist li div.commentmetadata {
  font-size: 13px;
  color: var(--support-color);
  margin-bottom: 5px
}

ol.commentlist li div.commentmetadata a {
  color: var(--support-color);
  text-decoration: none
}

ol.commentlist li div.commentmetadata a:hover {
  text-decoration: underline
}

.comment-notes {
  padding: 0 0 15px;
  margin: 0
}

.comments-box ol.commentlist li p {
  margin: 0;
  line-height: 1.65
}

span.comment-reply-link {
  font-size: 14px;
  color: var(--support-color);
  cursor: pointer;
  display: block;
  text-align: center;
  padding: 5px 0;
  border: 1px solid #e4e4e4;
  width: 90px;
  position: absolute;
  top: 5px;
  right: 0;
  transition: .3s ease
}

.comments-box ol.children {
  margin: 0 0 0 20px
}

.comments-box ol.children li {
  padding: 0
}

.comment-respond {
  position: relative;
  z-index: 1;
  margin-top: 40px;
  background: #fafaff;
  padding: 30px 40px 20px;
  border-radius: 10px
}

.main-col-fullwidth .comments-box {
  max-width: 700px
}

.comment-form label {
  font-size: 16px;
  color: #333;
  margin-bottom: 7px;
  display: block
}

#reply-title {
  margin: 20px 0;
  font-size: 22px;
  display: block;
  line-height: 1.2;
  font-weight: var(--semi-bold);
}

.comment-title {
  margin: 0 0 60px;
  font-size: 24px;
  display: block;
  line-height: 1.2;
  font-weight: var(--bold);
}

.comment-reply-title {
  margin-top: 30px
}

.comments-box .says {
  display: none
}

.comments-box .navigation {
  width: 100%;
  margin: 35px 0;
  text-align: center;
  font-size: 16px;
  border-top: 1px solid #e6e6e6;
  padding-top: 30px
}

.comments-box .navigation .nav-previous {
  width: 50%;
  float: left;
  text-align: left
}

.comments-box .navigation .nav-next {
  width: 50%;
  float: right;
  text-align: right
}

.comments-box .navigation a {
  color: var(--support-color);
  text-decoration: none
}

.comments-box .navigation a:hover {
  text-decoration: underline
}

#commentform {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between
}

p.comment-form-author,
p.comment-form-email {
  flex-basis: 48%;
  display: block
}

p.comment-notes,
p.comment-form-comment {
  flex-basis: 100%
}

#commentform p {
  margin-bottom: 15px
}

.comment-form input[type="text"],
.comment-form input[type="email"] {
  font-family: inherit;
  font-size: 16px;
  width: 100%;
  padding: 10px;
  margin-bottom: 10px;
  border: 1px solid rgba(29, 43, 100, .4);
  color: #333
}

.logged-in-as,
.comment-notes,
.logged-in-as,
.form-allowed-tags {
  color: var(--support-color);
  font-size: 15px;
  margin-bottom: 20px
}

.logged-in-as a {
  color: #333
}

.logged-in-as a:hover {}

.comment-awaiting-moderation {
  color: green;
  font-size: 13px;
  line-height: 1.5;
  display: block;
  font-style: normal
}

.no-comments {
  color: var(--support-color);
  font-weight: var(--bold);
  padding-top: 1.6em
}

.comment-navigation+.no-comments {
  border-top: 0
}

.required {
  color: red
}

.top-text .vcard {
  display: inline-block;
  margin-bottom: 40px
}

#comments-checkbox {
  display: block;
  float: left;
  margin: 4px 10px 15px 5px
}

#commentform textarea {
  font-family: inherit;
  height: 180px;
  width: 100%;
  border: 1px solid rgba(29, 43, 100, .4);
  padding: 10px;
  font-size: 18px;
  line-height: 24px;
  display: block;
  color: #333;
  position: relative;
  z-index: 2
}

a#cancel-comment-reply-link {
  display: block;
  font-size: 13px;
  color: var(--support-color);
  width: 100%;
  color: red;
  margin-top: 10px
}

/* Форма отправки комментариев */
.comment-form input[type="submit"] {
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: .2px;
  font-weight: var(--semi-bold);
  text-align: center;
  text-decoration: none;
  -webkit-appearance: none;
  outline: 0;
  box-shadow: none;
  cursor: pointer;
  padding: 16px 35px;
  margin: 0;
  transition: all .5s ease;
  display: block;
  border-radius: 4px;
  border: none !important;
  float: none;
  color: var(--btn-color)
}

.comment-form input:focus,
#commentform textarea:focus {
  border: 1px solid #9ab3f5;
  box-shadow: none;
  outline: 0
}

.gp-comment-text {
  padding: 15px 0 20px;
  font-size: 17px
}

.gp-notice {
  display: block;
  color: var(--support-color);
  font-size: 14px;
  margin-top: 8px
}

.gp-notice a {
  color: var(--support-color)
}

.gp-notice a:hover {}

.comment-form-cookies-consent {
  display: block;
  width: 100%;
  padding: 0 0 20px !important;
  margin-bottom: 0 !important
}

.comment-form-cookies-consent label {
  font-size: 14px !important;
  color: var(--support-color) !important
}

#wp-comment-cookies-consent {
  float: left;
  margin: 5px 10px 5px 0
}

.comment #respond {
  margin-bottom: 40px;
  display: inline-block;
  width: 100%;
  border-radius: 10px
}

/* Записи - внутренняя навигация */
.post-navigation {
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  margin: 20px 0 0
}

.nav-box-next,
.nav-box-prev {
  flex-basis: 48%
}

.nav-box-next {
  margin-left: auto
}

.nav-box-next,
.nav-box-prev {
  padding: 30px;
  border: 1px solid #e6e6e6
}

.nav-box em {
  font-size: 14px;
  line-height: 1;
  display: block;
  font-style: normal;
  margin-bottom: 30px;
  color: var(--support-color)
}

.nav-box span.post-title {
  font-size: 17px;
  line-height: 1.3;
  margin: 0;
  display: block;
  font-weight: var(--semi-bold);
}

.nav-box span.post-title a {
  text-decoration: none
}

.nav-box span.post-title a:hover {
  text-decoration: underline
}

/* Записи - оформление цитат */
blockquote {
  margin: 10px 0 30px;
  padding: 30px 60px 30px 50px;
  position: relative;
  border: 0;
  background: #fafaff;
  border-left: 6px solid #a7c5eb
}

blockquote p {
  margin: 0;
  letter-spacing: .3px;
  font-weight: var(--normal);
}

blockquote cite {
  font-weight: normal;
  font-size: 15px;
  display: block;
  margin-top: 25px
}

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

.wp-block-pullquote blockquote {
  background: 0;
  padding: 20px 0;
  margin: 0;
  border-top: 15px solid #f4f4f4;
  border-bottom: 15px solid #f4f4f4;
  border-left: 0
}

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

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

/* Записи - оформление изображений и галерей */
img.alignleft,
iframe.alignleft {
  float: left;
  margin: 5px 35px 20px 0
}

img.aligncenter {
  float: none !important;
  margin: 30px auto
}

img.aligncenter:after {
  content: '';
  display: block;
  clear: both
}

.aligncenter,
div.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto
}

.wp-caption {
  margin-bottom: 15px;
  max-width: 100%;
  height: auto
}

.wp-caption img {
  margin: 0;
  padding: 0;
  border: 0 none
}

.wp-caption-text,
.blocks-gallery-caption,
figcaption {
  font-size: 14px;
  line-height: 1.2;
  color: var(--support-color);
  display: block;
  margin-bottom: 5px
}

.wp-caption.alignleft {
  float: left;
  margin: 5px 30px 7px 0
}

.wp-caption.alignright {
  float: right;
  margin: 5px 0 7px 30px
}

.wp-caption.aligncenter,
.attachment img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px
}

.wp-block-image {
  margin-bottom: 30px;
  position: relative
}

.wp-block-cover {
  margin-bottom: 25px
}

.wp-block-media-text {
  margin-top: 30px
}

.wp-block-image figcaption {
  position: absolute;
  bottom: -14px;
  left: 0;
  width: 100%;
  padding: 10px 15px;
  background: rgba(51, 51, 51, .6);
  font-size: 14px;
  color: #f9f9f9
}

.wp-block-gallery {
  margin-bottom: 30px
}

.wp-block-gallery .blocks-gallery-item {
  display: inline-block
}

.blocks-gallery-grid {
  margin: 0 !important
}

.wp-block-embed.aligncenter iframe {
  display: block;
  margin: 0 auto 30px;
  float: none
}

.wp-block-embed.aligncenter figcaption {
  text-align: center
}

.wp-block-gallery figcaption {
  text-align: left !important
}

.wp-block-embed {
  margin: 20px auto 30px;
  width: 100%;
  max-width: 780px;
  display: block
}

.blocks-gallery-caption {
  color: var(--support-color);
  font-size: 14px;
  margin-bottom: 10px
}

.wp-block-image {
  margin-bottom: 30px
}

.wp-block-cover {
  margin-bottom: 35px
}

.wp-block-image {
  position: relative
}

.wp-block-image figcaption {
  position: absolute;
  bottom: -14px;
  left: 0;
  width: 100%;
  padding: 10px 15px;
  background: rgba(51, 51, 51, .6);
  font-size: 14px;
  color: #f9f9f9
}

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


/* Списки сайта, очистка */
.post-content .wp-block-gallery li {
  padding: 0
}

.post-content .wp-block-gallery li:before {
  content: '';
  background: 0
}

/* Маркированные списки сайта,внутряки и виджеты */
.post-content ul li,
.widget ul li,
.gp-custom-content ul li {
  position: relative;
  padding: 0;
  margin-bottom: 10px;
  list-style-type: none;
  padding-left: 27px
}

.post-content ul li:before,
.widget ul li:before,
.gp-custom-content ul li:before {
  content: '';
  position: absolute;
  top: 9px;
  left: 2px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #537ec5
}

.post-content ul li ul,
.widget ul li ul,
.gp-custom-content ul li ul {
  margin: 15px 0 15px 5px
}

.post-content ul li ul li ul,
.widget ul li ul li ul,
.gp-custom-content ul li ul li ul {
  margin: 10px 0 14px 5px
}

ul li:last-child {
  margin-bottom: 0
}

.post-content ul,
.post-content ol {
  margin: 15px 0 25px 30px
}

.inner-service-content ul {
  margin: 35px 0
}


/* Нумерованные списки */
ol {
  list-style: decimal;
  list-style-position: inside;
  margin: 25px 0 25px 0
}

ol li {
  margin: 0;
  padding: 0 0 10px 0
}

ol ol {
  list-style: upper-alpha
}

ol ol ol {
  list-style: lower-roman
}

ol ol ol ol {
  list-style: lower-alpha
}

/* Архив услуг - текстовые блоки */
.cpt-top-content {
  margin-bottom: 30px;
  width: 100%
}

.cpt-bottom-content {
  margin-top: 50px;
  margin-bottom: 35px;
  width: 100%
}

.tab-wrapper {
  position: relative;
  z-index: 1;
  flex-basis: 100%
}

/* Архив услуг - списки услуг*/
.service-page-wrapper {
  flex-basis: 100%
}

.service-page-left,
.service-page-right {
  flex-basis: 48%;
  background: #fafaff;
  border-radius: 6px;
  box-shadow: 0 10px 20px rgba(164, 168, 255, .2)
}

.service-page-full {
  flex-basis: 100%;
}

.service-page-title {
  display: block;
  font-size: 18px;
  font-weight: var(--bold);
  color: var(--decor-color);
  padding: 13px 20px;
  text-align: center;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px
}

.service-page-left ul,
.service-page-right ul {
  padding: 40px
}

.service-page-full ul {
  padding: 34px 0 20px;
  border-top: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6
}

.service-page-full ul li {
  flex-basis: 30%;
  margin-bottom: 20px
}

.single-container .offer-container {
  margin-bottom: 0
}

/* Призыв к действию на внутряках */
.single-action {
  margin-top: 30px;
  margin-bottom: 45px;
  position: relative;
  z-index: 10
}

.offer-person {
  flex-basis: 26%;
  position: relative
}

.single-action .offer-text {
  flex-basis: 43%;
  margin-left: auto;
  font-size: 16px;
  position: relative;
  z-index: 1
}

.single-action .offer-action {
  flex-basis: 28%;
  margin-left: auto;
  text-align: right;
  align-self: center
}

.offer-person figure {
  position: absolute;
  top: -80px;
  left: -10px;
  max-width: 240px
}

.offer-person figure img {
  border-radius: 50%;
  box-shadow: 1px 12px 25px -5px rgba(0, 0, 0, 0.45);
  border: 8px solid var(--decor-color)
}

.single-action .offer-title {
  font-size: 28px;
  line-height: 1.3
}

.single-action .offer-action p {
  display: block;
  margin: 15px 0;
  text-transform: uppercase;
  font-size: 13px;
  line-height: 1;
  letter-spacing: .6px;
  padding-right: 3px
}

.single-action .offer-action span {
  display: block;
  font-weight: var(--bold);
  font-size: 26px;
  line-height: 1;
  position: relative;
  z-index: 1
}

.single-action .offer-action span a {
  color: var(--decor-color);
  text-decoration: none;
  padding-bottom: 4px;
  border-bottom: 1px dotted #f9f9f9
}

.single-action .offer-action span a:hover {
  text-decoration: none
}

/* Блог и архивы и поиск */
.blog-thumbnail {
  float: left;
  margin: 0 36px 10px 0
}

.blog-post {
  width: 100%;
  margin-bottom: 60px
}

.entry-header {
  display: block;
  font-size: 13px;
  color: var(--support-color);
  margin-bottom: 15px;
  padding-top: 5px
}

.entry-header a {
  color: var(--support-color);
  text-decoration: none
}

.entry-header a:hover {
  text-decoration: underline
}

h2.post-title {
  font-size: 26px;
  line-height: 1.3;
  margin-bottom: 25px
}

h2.post-title a {
  text-decoration: none
}

h2.post-title a:hover {
  text-decoration: underline
}

.entry-content {
  font-size: 17px;
  padding-top: 15px
}

.archive-desc {
  margin: 30px 0 20px;
  font-size: 17px;
  border: 1px solid #e6e6e6;
  padding: 30px
}

.search-desc {
  display: block;
  font-size: 14px;
  margin-bottom: 20px
}

.search-results h1.page-title {
  margin-bottom: 10px
}

.search-results .entry-content {
  padding: 0
}

ul.feat-cats {
  margin: 30px 0 0;
  width: 100%
}

ul.feat-cats li {
  display: inline-block;
  margin: 0 10px 10px 0;
  padding: 0;
  font-size: 16px;
}

ul.feat-cats li:last-child {
  margin: 0 0 10px 0
}

ul.feat-cats li a {
  display: block;
  padding: 7px 14px;
  border-radius: 6px;
  border: 1px solid #999;
  text-decoration: none
}

/* Пагинация в блоге, архивах, поиске */
.pagination {
  display: block;
  width: 100%;
  float: left;
  margin: 0
}

.nav-links .page-numbers,
.pagination a.page-numbers,
.pagination .page-numbers.current,
.post-page-numbers,
.post-page-numbers.current {
  display: inline-block;
  font-size: 15px;
  padding: 14px 17px;
  text-decoration: none;
  margin: 0;
  font-weight: var(--semi-bold);
  line-height: 1
}

.pagination a.page-numbers {
  background: #f7f6fb
}

.pagination .dots:hover {
  background: #fff !important;
  color: #333 !important
}

.pagination .page-numbers.current,
.pagination .page-numbers:hover,
.post-page-numbers:hover,
.post-page-numbers.current {
  color: var(--btn-color)
}

/* Станица редиректа из контактой формы, спасибо */

.thankyou-page h1.post-title {
  margin-bottom: 0;
  text-align: center;
  padding: 0
}

.thankyou-page article {
  margin-bottom: 50px
}

.thankyou-page .post-content span {
  background-color: #c7ffd8;
  padding: 0 5px
}

.thp-recent-posts {
  margin: 45px 0 30px;
  border-radius: 8px;
  overflow: clip;
}

.thp-recent-post-item {
  flex-basis: 31.33%;
  margin-bottom: 45px;
  background: #fafaff;
  box-shadow: 0 10px 20px rgba(164, 168, 255, .3)
}

.thankyou-page .post-content p {
  margin-bottom: 10px
}

.thp-recent-post-item span {
  font-weight: var(--semi-bold);
  font-size: 17px;
  line-height: 1.4;
  display: block;
  padding: 0 20px 25px
}

.thp-recent-post-item span a {
  text-decoration: none
}

.thp-recent-post-item span:hover {
  text-decoration: underline;
  color: #892cdc
}

.thankyou-page a.chain-btn {
  text-decoration: none;
  margin: 30px auto 0
}

.thankyou-page a.chain-btn:hover {
  color: var(--btn-color)
}

.thp-socials {
  border-top: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
  text-align: center;
  margin-top: 30px;
  width: 100%
}

/* Шаблон страницы Контакты*/
.contactpage-header {
  flex-basis: 100%;
  padding-bottom: 25px
}

.contactpage-items {
  flex-basis: 54%
}

.contactpage-item em {
  display: inline-block;
  padding-right: 5px;
  font-size: 15px;
}

.contactpage-form {
  flex-basis: 42%;
  margin-left: auto;
  margin-top: 80px
}

/* Контакты - ячейки */
.contactpage-wrapper {
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between
}

.contactpage-item {
  flex-basis: 47%;
  padding: 0;
  position: relative;
  margin: 0 0 45px;
  font-weight: var(--normal);
  background: #fafaff;
  font-size: 18px;
  box-shadow: 0 20px 30px rgba(164, 168, 255, .3);
  border-radius: 6px
}

.contactpage-item_title {
  display: block;
  padding: 13px 10px 13px 20px;
  font-weight: var(--bold);
  font-size: 18px;
  margin-bottom: 20px;
  color: var(--decor-color);
  border-top-left-radius: 6px;
  border-top-right-radius: 6px
}

.contactpage-item p {
  display: block;
  padding: 0 25px 20px;
  margin: 0
}

.whapp-item li {
  padding-inline: 25px;
}

.whapp-item li:last-child {
  margin-bottom: 20px;
}


.contactpage-item a {
  display: inline-block;
  text-decoration: none;
  border-bottom: 1px dotted #999
}

.contactpage-wrapper .phone-item:before,
.contactpage-wrapper .loc-item:before,
.contactpage-wrapper .mail-item:before,
.contactpage-wrapper .whapp-item:before {
  display: none;
  left: -9999px
}

/* Контакты - форма для связи Contact form 7 */
.contactpage-form .gp-form-title {
  color: var(--decor-color);
  padding: 13px 10px;
  margin-bottom: 30px;
  font-weight: var(--bold);
  font-size: 18px;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px
}

.contactpage-form .gp-wrapper {
  padding: 0 35px
}

.contactpage-form .custom-checkbox+label {
  margin-left: 40px;
  padding-right: 40px
}

.contactpage-form-wrapper {
  padding: 0 0 30px;
  background: #fafaff;
  z-index: 10;
  width: 100%;
  border-radius: 6px;
  box-shadow: 0 10px 30px rgba(164, 168, 255, .3)
}

.contactpage-form .wpcf7 textarea {
  height: 115px;
  margin-top: 15px
}

.contactpage-wrapper .gp-social-block {
  border: 1px solid #e6e6e6;
  padding: 30px 30px 20px;
  margin-top: 30px;
  flex-basis: 100%;
  text-align: center
}

.contactpage-wrapper .gp-social-block li {
  margin: 0 10px
}

.contactpage-wrapper .gp-social-block span {
  display: block;
  font-size: 14px;
  margin-bottom: 10px
}

/* Контакты - карта */
.contactpage-map {
  flex-basis: 100%;
  margin: 40px 0;
  padding: 30px;
  border: 1px solid #e6e6e6
}

/* SVG иконки соц. сетей */
ul.svg-social-icons {
  display: flex;
  gap: 1rem;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 20px auto;
}

ul.svg-social-icons li {
  display: inline-block;
  list-style: none;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0
}

ul.svg-social-icons li a {
  display: block;
  text-indent: -9999px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  position: relative;
  z-index: 1;
  transition: all .3s ease-in;
  text-decoration: none
}

ul.svg-social-icons li a:hover {
  background: #9d50bb
}

.vk-icon {
  background: #4d7198
}

.vk-icon:before {
  content: '';
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg data-icon='vk' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3e%3cpath d='M545 117.7c3.7-12.5 0-21.7-17.8-21.7h-58.9c-15 0-21.9 7.9-25.6 16.7 0 0-30 73.1-72.4 120.5-13.7 13.7-20 18.1-27.5 18.1-3.7 0-9.4-4.4-9.4-16.9V117.7c0-15-4.2-21.7-16.6-21.7h-92.6c-9.4 0-15 7-15 13.5 0 14.2 21.2 17.5 23.4 57.5v86.8c0 19-3.4 22.5-10.9 22.5-20 0-68.6-73.4-97.4-157.4-5.8-16.3-11.5-22.9-26.6-22.9H38.8c-16.8 0-20.2 7.9-20.2 16.7 0 15.6 20 93.1 93.1 195.5C160.4 378.1 229 416 291.4 416c37.5 0 42.1-8.4 42.1-22.9 0-66.8-3.4-73.1 15.4-73.1 8.7 0 23.7 4.4 58.7 38.1 40 40 46.6 57.9 69 57.9h58.9c16.8 0 25.3-8.4 20.4-25-11.2-34.9-86.9-106.7-90.3-111.5-8.7-11.2-6.2-16.2 0-26.2.1-.1 72-101.3 79.4-135.6z' fill='%23ffffff'%3e%3c/path%3e%3c/svg%3e ");
  background-repeat: no-repeat;
  width: 22px;
  height: 22px;
  position: absolute;
  top: 11px;
  left: 9px
}

.inst-icon {
  background: #dc2743
}

.inst-icon:before {
  content: '';
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg data-icon='instagram' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3e%3cpath d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z' fill='%23ffffff'%3e%3c/path%3e%3c/svg%3e");
  background-repeat: no-repeat;
  width: 22px;
  height: 22px;
  position: absolute;
  top: 9px;
  left: 10px
}

.fb-icon {
  background: #3b5998
}

.fb-icon:before {
  content: '';
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg data-icon='facebook-f' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 264 512'%3e%3cpath d='M76.7 512V283H0v-91h76.7v-71.7C76.7 42.4 124.3 0 193.8 0c33.3 0 61.9 2.5 70.2 3.6V85h-48.2c-37.8 0-45.1 18-45.1 44.3V192H256l-11.7 91h-73.6v229' fill='%23ffffff'%3e%3c/path%3e%3c/svg%3e");
  background-repeat: no-repeat;
  width: 22px;
  height: 22px;
  position: absolute;
  top: 10px;
  left: 14px
}

.twi-icon {
  background: #14a1e8
}

.twi-icon:before {
  content: '';
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg data-icon='twitter' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3e%3cpath d='M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z' fill='%23ffffff'%3e%3c/path%3e%3c/svg%3e");
  background-repeat: no-repeat;
  width: 22px;
  height: 22px;
  position: absolute;
  top: 10px;
  left: 10px
}

.tele-icon {
  background: #08c
}

.tele-icon:before {
  content: '';
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg data-icon='telegram-plane' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3e%3cpath d='M446.7 98.6l-67.6 318.8c-5.1 22.5-18.4 28.1-37.3 17.5l-103-75.9-49.7 47.8c-5.5 5.5-10.1 10.1-20.7 10.1l7.4-104.9 190.9-172.5c8.3-7.4-1.8-11.5-12.9-4.1L117.8 284 16.2 252.2c-22.1-6.9-22.5-22.1 4.6-32.7L418.2 66.4c18.4-6.9 34.5 4.1 28.5 32.2z' fill='%23ffffff'%3e%3c/path%3e%3c/svg%3e");
  background-repeat: no-repeat;
  width: 22px;
  height: 22px;
  position: absolute;
  top: 10px;
  left: 10px
}

.ytube-icon {
  background: #f00
}

.ytube-icon:before {
  content: '';
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg data-icon='youtube' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3e%3cpath d='M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z' fill='%23ffffff'%3e%3c/path%3e%3c/svg%3e");
  background-repeat: no-repeat;
  width: 22px;
  height: 22px;
  position: absolute;
  top: 10px;
  left: 9px
}

.tik-icon {
  background: #333
}

.tik-icon:before {
  content: '';
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg data-icon='tiktok' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3e%3cpath d='M448,209.91a210.06,210.06,0,0,1-122.77-39.25V349.38A162.55,162.55,0,1,1,185,188.31V278.2a74.62,74.62,0,1,0,52.23,71.18V0l88,0a121.18,121.18,0,0,0,1.86,22.17h0A122.18,122.18,0,0,0,381,102.39a121.43,121.43,0,0,0,67,20.14Z' fill='%23ffffff'%3e%3c/path%3e%3c/svg%3e");
  background-repeat: no-repeat;
  width: 22px;
  height: 22px;
  position: absolute;
  top: 10px;
  left: 11px
}

.max-icon {
  display: flex !important;
  justify-content: center;
  align-items: center;
  background: linear-gradient(45deg, #37aff2, #374ce4, #a970fe);
  transition: background .3s ease-in;
}

.max-icon:before {
  content: '';
  background-image: url("img/max.svg");
  background-repeat: no-repeat;
  width: 19px;
  height: 19px;
}

.max-icon:hover {
  background: linear-gradient(45deg, #9d50bb, #9d50bb, #9d50bb) !important;
  transition: background .3s ease-in;
}

.rutube-icon {
  display: flex !important;
  justify-content: center;
  align-items: center;
  background: #100943;
}

.rutube-icon:before {
  content: '';
  background-image: url("img/rutube.svg");
  background-repeat: no-repeat;
  width: 28px;
  height: 28px;
  background-size: cover
}

.zen-icon {
  display: flex !important;
  justify-content: center;
  align-items: center;
  background: #100943;
}

.zen-icon:before {
  content: '';
  background-image: url("img/zen.svg");
  background-repeat: no-repeat;
  width: 22px;
  height: 22px;
  background-size: cover
}


/* Адаптивность, стили для небольших экранов и мобильных устройств */


@media only screen and (max-width:1440px) {
  .owl-carousel .owl-prev {
    left: -10px
  }

  .owl-carousel .owl-next {
    right: -10px
  }
}

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

  .gp-container,
  .poster-caption,
  header {
    padding-left: 30px;
    padding-right: 30px
  }

  .menunav {
    border-radius: 0
  }

  .poster-form-wrapper {
    right: 30px
  }

  .poster-caption h2 {
    font-size: 50px
  }

  .poster-caption-text p {
    font-size: 19px
  }

  .feedback-item {
    margin-left: auto;
    margin-right: auto;
    width: 80%
  }

  .owl-carousel .owl-prev {
    left: 25px
  }

  .owl-carousel .owl-next {
    right: 25px
  }
}

@media only screen and (max-width:1200px) {
  .menunav ul li {
    font-size: 14px;
    letter-spacing: 0
  }

  .menunav li a {
    padding: 27px 10px
  }

  .offer-person figure {
    max-width: 200px;
    top: -70px;
    left: -30px
  }

  .offer-person {
    flex-basis: 24%
  }

  .single-action .offer-text {
    flex-basis: 46%;
    font-size: 15px
  }
}

@media only screen and (max-width:1090px) {
  .additional-header-text {
    flex-basis: 25%
  }

  .additional-header-text span {
    font-size: 13px
  }

  .header-phone {
    flex-basis: 22%;
    font-size: 20px
  }
}

@media only screen and (max-width:1024px) {
  body {
    font-size: 17px
  }

  header {
    padding: 20px 20px 0;
    margin-bottom: 50px
  }

  .site-title {
    margin: 0
  }

  .text-title h1,
  .text-title span {
    font-size: 19px
  }

  .logo-title a {
    width: 270px;
    height: 64px;
    background-size: contain
  }

  .additional-header-text {
    flex-basis: 30%
  }

  .header-phone {
    flex-basis: 25%;
    font-size: 18px;
    padding-top: 15px;
    margin-right: 80px
  }

  .header-phone span {
    line-height: 1
  }

  .header-phone em {
    font-size: 13px
  }

  .chat-btn {
    flex-basis: 100%;
    position: absolute;
    bottom: -70px;
    left: 20px;
    right: 20px;
    z-index: 100;
    box-shadow: 1px 12px 35px -5px rgba(0, 0, 0, 0.25);
  }

  .chat-btn span {
    display: none
  }

  .chat-btn_wrapper {
    padding: 13px 10px
  }

  .hamburger {
    cursor: pointer;
    transition-property: opacity, filter;
    transition-duration: .15s;
    transition-timing-function: linear;
    font: inherit;
    color: inherit;
    text-transform: none;
    background-color: transparent;
    border: 0;
    overflow: visible;
    position: absolute;
    top: 29px;
    right: 20px;
  }

  .hamburger-box {
    width: 30px;
    height: 30px;
    display: inline-block;
    position: relative;
  }

  .hamburger-inner {
    display: block;
  }

  .hamburger-inner,
  .hamburger-inner::before,
  .hamburger-inner::after {
    width: 34px;
    height: 4px;
    background-color: #000;
    border-radius: 4px;
    position: absolute;
    transition-property: transform;
    transition-duration: .15s;
    transition-timing-function: ease
  }

  .hamburger-inner::before,
  .hamburger-inner::after {
    content: "";
    display: block
  }

  .hamburger-inner::before {
    top: -10px
  }

  .hamburger-inner::after {
    bottom: -10px
  }

  .hamburger--spring .hamburger-inner {
    top: 4px;
    transition: background-color 0s .13s linear
  }

  .hamburger--spring .hamburger-inner::before {
    top: 10px;
    transition: top .1s .2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform .13s cubic-bezier(0.55, 0.055, 0.675, 0.19)
  }

  .hamburger--spring .hamburger-inner::after {
    top: 20px;
    transition: top .2s .2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform .13s cubic-bezier(0.55, 0.055, 0.675, 0.19)
  }

  .hamburger--spring.is-active .hamburger-inner {
    transition-delay: .22s;
    background-color: transparent !important
  }

  .hamburger--spring.is-active .hamburger-inner::before {
    top: 0;
    transition: top .1s .15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform .13s .22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 10px, 0) rotate(45deg);
    background: var(--decor-color)
  }

  .hamburger--spring.is-active .hamburger-inner::after {
    top: 0;
    transition: top .2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform .13s .22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 10px, 0) rotate(-45deg);
    background: var(--decor-color)
  }

  .hamburger {
    display: inline-block;
    z-index: 9999;
    order: 1
  }

  .mob-menu .sub-menu .menu-item-has-children:before {
    background: none;
    content: '\00B7';
    top: 15px;
    left: 0;
    transform: none
  }

  .mob-menu .menu-item-homepage .name {
    display: block
  }

  .mob-menu .menu-item-homepage {
    width: 100%
  }

  .mob-menu .add-menu-home {
    display: none
  }

  .menunav {
    text-indent: -9999px;
    display: none;
    opacity: 0
  }

  .mob-menu {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    background: rgba(0, 0, 0, .97);
    padding: 50px 60px 60px;
    transition: all 0.3s ease-in;
    overflow-y: auto
  }

  .mob-menu li {
    display: block;
    text-align: left;
    font-size: 20px;
    position: relative;
    z-index: 1;
    border-bottom: 1px solid #333
  }

  .mob-menu li a {
    display: block;
    margin-right: 3rem;
    padding: 15px 0;
    text-decoration: none;
    color: var(--nav-color)
  }

  .mob-menu li:last-child {
    border: 0
  }

  .mob-menu li a:hover,
  .mob-menu li ul li a:hover {
    text-decoration: underline
  }

  .menu-trigger {
    width: 24px;
    height: 24px;
    position: absolute;
    top: 19px;
    right: 0;
    z-index: 10;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'  viewBox='0 0 284.929 284.929'%3E%3Cg%3E%3Cpath d='M282.082,76.511l-14.274-14.273c-1.902-1.906-4.093-2.856-6.57-2.856c-2.471,0-4.661,0.95-6.563,2.856L142.466,174.441 L30.262,62.241c-1.903-1.906-4.093-2.856-6.567-2.856c-2.475,0-4.665,0.95-6.567,2.856L2.856,76.515C0.95,78.417,0,80.607,0,83.082 c0,2.473,0.953,4.663,2.856,6.565l133.043,133.046c1.902,1.903,4.093,2.854,6.567,2.854s4.661-0.951,6.562-2.854L282.082,89.647 c1.902-1.903,2.847-4.093,2.847-6.565C284.929,80.607,283.984,78.417,282.082,76.511z' style='fill:%23ffffff;'/%3E%3C/g%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-size: 10px 10px;
    background-position: center center;
    border-radius: 3px
  }

  .menu-item-has-children:before {
    display: none
  }

  .sub-menu {
    padding-left: 25px
  }

  .mob-search-wrapper {
    width: 100%;
    margin-top: 20px
  }

  .mob-search-wrapper .search-field {
    display: block;
    float: left;
    width: 71%;
    margin-right: 2%;
    background: var(--decor-color);
    padding: 15px 10px;
    font-size: 17px;
    color: #333;
    font-weight: var(--normal);
    border: 0;
    border-radius: 4px
  }

  .mob-search-wrapper .searchSubmit {
    display: block;
    float: left;
    width: 27%;
    padding: 15px 0;
    color: var(--btn-color);
    font-size: 17px;
    font-weight: var(--semi-bold);
    border: 0;
    border-radius: 4px;
    cursor: pointer
  }

  .mob-search-wrapper .search-field:focus {
    border: 1px solid #9ab3f5
  }

  .mob-search-wrapper .search-field {
    outline: none
  }

  .poster-caption {
    padding: 130px 25px 250px
  }

  .poster-caption h2 {
    font-size: 44px;
    margin-bottom: 20px
  }

  .poster-caption-text p {
    font-size: 19px
  }

  .poster-form-wrapper {
    bottom: -90px;
    padding: 20px 25px
  }

  .about-img {
    flex-basis: 100%;
    padding-bottom: 20px;
    margin-bottom: 30px
  }

  .about-text {
    flex-basis: 100%
  }

  .about-img figure {
    width: 100%;
    max-width: 360px;
    margin: 0 auto
  }

  .about-exprnc {
    bottom: 20px
  }

  .container-title-center,
  .container-title-left {
    text-align: center
  }

  .benefit-item {
    flex-basis: 48%;
    margin-bottom: 35px
  }

  .benefit-item:before {
    bottom: 18px;
    right: 18px
  }

  .tab-content {
    padding: 35px 25px
  }

  .tabs ul li a {
    padding: 30px 20px 20px
  }

  .chain-item {
    flex-basis: 100%;
    margin-bottom: 25px;
    padding: 0;
    text-align: center
  }

  .chain-start {
    margin-top: 20px
  }

  .chain-start-title {
    margin-bottom: 15px;
    font-size: 18px
  }

  .first-chain:after {
    display: none
  }

  .offer {
    text-align: center
  }

  .offer-text {
    flex-basis: 100%;
    margin-bottom: 30px
  }

  .offer-action {
    flex-basis: 100%;
    text-align: left
  }

  .offer-btn {
    display: table;
    margin: 0 auto
  }

  .offer-person figure {
    max-width: 240px;
    top: -90px;
    left: 50%;
    transform: translate(-50%, 0)
  }

  .offer-person {
    flex-basis: 100%;
    height: 100px;
    margin-bottom: 70px
  }

  .single-action .offer-text {
    flex-basis: 100%
  }

  .single-action .offer-action {
    flex-basis: 100%;
    text-align: center
  }

  .case-item {
    flex-basis: 48%
  }

  .case-column {
    flex-basis: 100%;
    margin-top: 40px;
    padding: 35px 40px
  }

  .case-column span {
    font-size: 18px
  }

  .case-column ul li {
    text-align: center;
    margin-bottom: 20px;
    padding-bottom: 20px
  }

  .foot-contact-item {
    flex-basis: 48%;
    padding: 55px 30px 26px;
    margin: 40px 0 0
  }

  ul.footer-menu {
    margin-top: 60px
  }

  .thankyou-page .post-header {
    padding: 50px 0 30px
  }

  h1.post-title,
  h1.page-title {
    font-size: 24px;
    padding: 0
  }

  .post-header {
    padding-top: 50px
  }

  .service-page-left ul,
  .service-page-right ul {
    padding: 30px 20px
  }

  /*
.backtop{width:40px;height:40px;right:15px;bottom:15px}
.backtop:before{font-size:22px}
*/
  .breadcrumbs {
    font-size: 14px
  }

  .post-col {
    width: 100%;
    margin: 0
  }

  .sidebar {
    width: 100%;
    max-width: 320px;
    margin: 60px auto 0;
    padding-top: 0
  }

  .wp-block-gallery {
    margin-bottom: 15px
  }

  .post-footer {
    padding: 10px 0
  }

  .gp-post-date {
    flex-basis: 100%;
    margin-bottom: 20px
  }

  .gp-post-tags {
    flex-basis: 100%;
    padding: 0
  }

  .gp-post-tags a {
    text-align: left;
    margin: 0 15px 8px 0
  }

  .comment-title,
  .comment-notes,
  .logged-in-as {
    text-align: center
  }

  .comment-title,
  #reply-title {
    font-size: 19px
  }

  ol.commentlist li .fn {
    font-size: 16px
  }

  ol.commentlist li div.commentmetadata {
    font-size: 13px
  }

  .comment-respond {
    padding: 10px 0;
    background: white
  }

  .logged-in-as,
  .comment-notes,
  .form-allowed-tags,
  .comment-form-cookies-consent label {
    font-size: 13px !important
  }

  p.logged-in-as {
    display: block;
    width: 100%;
    text-align: center
  }

  .gp-notice {
    font-size: 13px
  }

  .comment-notes {
    padding: 0;
    margin-bottom: 5px
  }

  p.form-submit {
    display: block;
    width: 100%
  }

  .comment-form input[type="submit"] {
    font-size: 14px;
    padding: 15px 40px;
    margin: 10px 0 0;
    width: 100%
  }

  p.comment-form-author,
  p.comment-form-email {
    flex-basis: 100%
  }

  .comment-form label {
    font-size: 15px
  }

  blockquote {
    padding: 20px 30px
  }

  .contactpage-item_title,
  .contactpage-form .gp-form-title {
    padding: 10px !important;
    font-size: 15px
  }

  .contactpage-item p {
    font-size: 16px
  }

  .contactpage-form .gp-wrapper {
    padding: 0 20px
  }

  .contactpage-items {
    flex-basis: 100%
  }

  .contactpage-form {
    flex-basis: 60%;
    margin: 10px auto 0
  }

  .contactpage-item {
    flex-basis: 48%;
    text-align: center
  }

  .contactpage-form .custom-checkbox+label {
    margin-left: 25px;
    margin-right: 20px
  }

  .service-page-full ul li {
    font-size: 16px
  }

  ul.feat-cats li {
    font-size: 14px
  }
}


@media only screen and (max-width:900px) {
  .site-title {
    margin-bottom: 20px
  }

  .text-title {
    flex-basis: 30% !important
  }

  .additional-header-text {
    flex-basis: 45%;
    margin-right: 100px;
    border-left: 0;
    padding-top: 13px
  }

  .additional-header-text span {
    font-size: 13px
  }

  .header-phone {
    flex-basis: 100%;
    margin-left: 0;
    font-size: 20px;
    padding-top: 0;
    margin-right: 0;
    text-align: center
  }

  .header-phone em {
    font-size: 13px;
    display: none
  }

  .header-phone span a {
    padding: 10px 20px;
    border: 1px solid #e6e6e6;
    border-radius: 10px;
    display: block
  }

  .service-page-full ul li {
    flex-basis: 48%
  }
}

@media only screen and (max-width:800px) {
  .single-action {
    margin-top: 40px
  }

  .offer-person {
    flex-basis: 100%;
    padding-bottom: 150px;
    margin-bottom: 0;
    height: 1px
  }

  .single-action .offer-text {
    flex-basis: 100%;
    margin: 0 0 30px 0;
    text-align: center;
    font-size: 15px
  }

  .single-action .offer-action {
    flex-basis: 100%;
    margin: 0;
    text-align: center;
    padding-bottom: 10px
  }

  .offer-person figure {
    width: 200px;
    left: 50%;
    transform: translate(-50%, 0)
  }

  .single-action .offer-action p {
    margin: 20px 0;
    padding: 0
  }

  .service-page-left,
  .service-page-right {
    flex-basis: 100%
  }

  .service-page-left {
    margin-bottom: 30px
  }

  .service-page-title {
    padding: 10px 20px;
    font-size: 17px
  }

  .archive-desc {
    margin: 25px 0 20px;
    font-size: 16px;
    padding: 25px
  }

  .blog-thumbnail img {
    max-width: 270px
  }

  h2.post-title {
    font-size: 24px;
    margin-bottom: 19px
  }

  .blog-post:last-child {
    margin-bottom: 40px
  }

  .entry-content {
    font-size: 15px;
    padding-top: 0;
    margin-bottom: 10px
  }

  .pagination {
    text-align: center;
    margin-top: 0;
    margin-bottom: 0
  }

  .pagination a.page-numbers,
  .pagination .dots {
    display: none
  }

  .pagination .page-numbers.current,
  .pagination .next,
  .pagination .prev {
    display: inline-block !important
  }

  .thp-recent-post-item {
    flex-basis: 48%
  }

  .thp-recent-post-item:last-child {
    flex-basis: 100%;
    max-width: 350px;
    margin: 0 auto
  }

  .thankyou-page article {
    margin-bottom: 0
  }

  table th,
  table td {
    padding: .7em
  }

  table td {
    font-size: 14px
  }

  .comments-box ol.children {
    margin-left: 4px
  }

  .gp-search-modal {
    max-width: 700px;
    padding: 30px 20px;
    border-width: 6px
  }
}

@media only screen and (max-width:758px) {
  .service-page-full ul li {
    flex-basis: 100%
  }

  .additional-header-text {
    display: none
  }

  .site-title {
    flex-basis: 80%
  }

  .text-title {
    flex-basis: 40% !important
  }

  .blog-thumbnail {
    margin: 0 0 20px 0;
    float: none
  }

  .blog-thumbnail img {
    max-width: 360px
  }

  h2.post-title {
    font-size: 19px
  }

  .post-navigation {
    margin-top: 30px
  }

  .nav-box-next,
  .nav-box-prev {
    flex-basis: 100%;
    padding: 20px
  }

  .nav-box-prev {
    margin-bottom: 20px
  }

  .nav-box em {
    margin-bottom: 20px
  }

  h1 {
    font-size: 23px
  }

  h2 {
    font-size: 20px
  }

  h3 {
    font-size: 19px
  }

  h4 {
    font-size: 18px
  }

  h5 {
    font-size: 17px
  }

  h6 {
    font-size: 16px
  }

  .breadcrumbs {
    font-size: 13px
  }

  .contactpage-form {
    flex-basis: 100%
  }

  .feedback-container {
    padding: 35px 25px 110px;
    margin-bottom: 40px
  }

  a.more-feedback {
    font-size: 16px;
    left: 0;
    right: 0;
    bottom: -70px;
    display: block;
    text-align: center
  }

  .owl-dots {
    width: 100%;
    left: 0;
    bottom: -20px
  }
}


@media only screen and (max-width:600px) {
  body {
    font-size: 15px
  }

  .widget {
    margin-bottom: 35px;
    font-size: 15px
  }

  .gp-container,
  .poster-caption,
  header {
    padding-left: 20px;
    padding-right: 20px
  }

  .logo-title a {
    width: 250px;
    height: 59px
  }

  .text-title {
    flex-basis: 60% !important
  }

  .popup {
    width: 90%
  }

  .popup-wrapper {
    padding: 20px 20px 10px;
    border-width: 1px
  }

  .pop-title {
    font-size: 18px
  }

  .pop-item {
    flex-basis: 100%;
    margin-bottom: 20px
  }

  a.pop-item_btn {
    width: 100%;
    font-size: 15px
  }

  .mob-menu {
    padding: 50px 30px 60px
  }

  .mob-menu li {
    font-size: 17px
  }

  .poster {
    margin-bottom: 20px
  }

  .poster-caption {
    padding: 90px 20px 50px
  }

  .poster-caption h2 {
    font-size: 24px;
    text-align: center
  }

  .poster-caption-text p {
    font-size: 14px;
    text-align: center;
    margin-bottom: 50px
  }

  .poster-form-wrapper {
    position: relative;
    left: 0;
    right: 0;
    bottom: 0;
    box-shadow: none;
    max-width: 600px
  }

  .gp-form-title {
    font-size: 17px;
    margin-bottom: 0
  }

  .poster-form-wrapper .wpcf7-form-control-wrap,
  .contactpage-form .wpcf7-form-control-wrap,
  .popup-wrapper .wpcf7-form-control-wrap {
    flex-basis: 100%;
    margin-top: 20px
  }

  .custom-checkbox+label,
  .popup-wrapper .custom-checkbox+label {
    font-size: 13px;
    line-height: 1.2
  }

  .poster-form-wrapper .wpcf7 input,
  .poster-form-wrapper .wpcf7 textarea,
  .contactpage-form .wpcf7 input,
  .contactpage-form .wpcf7 textarea,
  .popup-wrapper .wpcf7 input {
    font-size: 16px
  }

  a.gp-arrow-down {
    display: none
  }

  .poster-form-wrapper .wpcf7 input[type="submit"],
  .contactpage-form .wpcf7 input[type="submit"],
  .popup-wrapper .wpcf7 input[type="submit"] {
    font-size: 14px;
    padding: 14px 15px
  }

  .about {
    padding: 0;
    margin-bottom: 50px
  }

  .about-img {
    background: white;
    box-shadow: none;
    margin-bottom: 0;
    padding-bottom: 0
  }

  .about-img figure {
    max-width: 300px
  }

  .about-exprnc {
    width: 100px;
    height: 100px;
    font-size: 14px;
    bottom: 10px;
    right: 0
  }

  .about-exprnc span {
    font-size: 30px
  }

  .about-phone a {
    font-size: 22px
  }

  .about-mail a {
    font-size: 15px
  }

  ul.svg-social-icons li {
    width: 36px;
    height: 36px
  }

  ul.svg-social-icons li a {
    width: 36px;
    height: 36px
  }

  ul.svg-social-icons li {
    margin: 0 5px
  }

  .gp-icon:before {
    width: 18px;
    height: 18px
  }

  .container-title-center,
  .container-title-left,
  .bg-container .container-title-center {
    font-size: 24px;
    margin-bottom: 35px
  }

  .about-graf-title {
    font-size: 18px;
    text-align: center
  }

  .graf-desc {
    font-size: 14px
  }

  .benefit-item {
    flex-basis: 100%;
    margin-bottom: 30px;
    padding: 20px
  }

  .benefit-item:before {
    width: 20px;
    height: 20px;
    background-size: 20px 20px;
    bottom: 14px;
    right: 14px
  }

  .benefit-item span {
    font-size: 16px
  }

  .benefits-container {
    margin-bottom: 30px
  }

  .bg-container {
    padding: 40px 20px;
    margin-bottom: 40px
  }

  .tabs ul li a {
    padding: 15px 10px 10px
  }

  .tabs ul li {
    font-size: 14px
  }

  .tabs ul li a,
  .tab-content {
    border-width: 1px !important
  }

  .tabs li.active:before {
    left: 1px;
    right: 1px;
    bottom: -5px
  }

  .service-item {
    padding: 20px 25px;
  }

  .service-title {
    font-size: 17px;
    text-transform: none
  }

  .cases:before {
    width: 20px;
    height: 20px;
    background-size: 18px 18px;
    padding: 10px;
    top: 19px
  }

  .service-addition {
    margin-top: 30px;
    padding: 10px 0 20px
  }

  .service-btn {
    font-size: 14px;
    padding: 13px 15px;
    width: 210px
  }

  .second-btn {
    margin-top: 20px;
    padding: 16px 15px
  }

  .callme-wrapper .popup-wrapper {
    padding-bottom: 20px
  }

  .callme-wrapper .pop-title {
    margin-bottom: 0
  }

  .popup-wrapper .wpcf7-form-control-wrap {
    margin-bottom: 0
  }

  .first-chain:before,
  .second-chain:before,
  .third-chain:before,
  .forth-chain:before,
  .fifth-chain:before {
    font-size: 26px;
    text-align: center
  }

  .chain-item span {
    margin-bottom: 15px;
    font-size: 18px;
    padding-top: 5px
  }

  .chain {
    margin-bottom: 20px
  }

  .chain-btn {
    width: auto;
    font-size: 14px;
    padding: 14px 25px
  }

  .feedback-item {
    margin: 0 0 35px 0;
    width: 100%;
    box-shadow: none;
    padding: 0
  }

  .owl-nav {
    display: none
  }

  .client-name {
    font-size: 15px;
    text-align: center
  }

  .feedback-item:before,
  .feedback-item:after {
    display: none
  }

  a.more-feedback {
    font-size: 15px
  }

  .offer-title,
  .single-action .offer-title {
    text-align: center;
    font-size: 22px;
    line-height: 1.2
  }

  .offer {
    padding: 30px 20px
  }

  .offer-btn {
    font-size: 14px;
    padding: 12px 25px
  }

  .case-item {
    flex-basis: 100%;
    margin-bottom: 30px
  }

  .case-item span,
  .case-column span {
    font-size: 16px
  }

  .case-column {
    padding: 40px 30px;
    margin-top: 0
  }

  .foot-contact-item {
    flex-basis: 100%;
    padding: 35px 20px 20px;
    text-align: center
  }

  .phone-item:before,
  .loc-item:before,
  .mail-item:before,
  .whapp-item:before {
    left: 50%;
    transform: translate(-50%, 0);
    width: 42px;
    height: 42px;
    line-height: 42px;
    background-size: 20px 20px;
    top: -20px
  }

  ul.footer-menu li {
    display: block;
    margin: 0 0 20px;
    font-size: 15px
  }

  ul.footer-menu li:last-child {
    margin-bottom: 0
  }

  .credits {
    font-size: 13px
  }

  .post-content ul li:before,
  .widget ul li:before,
  .gp-custom-content ul li:before {
    top: 7px
  }

  .contactpage-item {
    flex-basis: 100%
  }

  .archive-desc {
    font-size: 15px;
    padding: 20px;
    margin-bottom: 10px
  }

  .entry-header {
    font-size: 13px
  }

  .contactpage-form .gp-form-title {
    font-size: 15px
  }

  .contactpage-map {
    padding: 10px
  }

  .thp-recent-post-item {
    flex-basis: 100%;
    max-width: 350px;
    margin: 0 auto 35px
  }

  .service-page-full ul li {
    font-size: 15px
  }

  table {
    overflow-x: auto;
    display: block;
    width: fit-content;
    max-width: 100%
  }

  h1.post-title,
  h1.page-title {
    font-size: 20px
  }

  span.comment-reply-link {
    font-size: 13px;
    width: 70px
  }

  .comments-box .navigation {
    font-size: 15px
  }

  .gp-about-me-btn {
    font-size: 17px
  }

  ul.feat-cats li a {
    padding: 5px 10px
  }
}

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

  .text-title h1,
  .text-title span {
    font-size: 17px;
    padding-top: 9px
  }

  .poster-form-wrapper {
    padding: 20px 20px
  }

  .poster-caption h2 {
    font-size: 20px
  }

  .poster-caption-text p {
    font-size: 14px
  }

  .service-title {
    font-size: 16px
  }

  .breadcrumbs {
    font-size: 13px
  }

  ul.feat-cats li {
    font-size: 13px
  }

  .poster-form-wrapper .wpcf7 input,
  .poster-form-wrapper .wpcf7 textarea,
  .contactpage-form .wpcf7 input,
  .contactpage-form .wpcf7 textarea,
  .popup-wrapper .wpcf7 input {
    font-size: 15px
  }

  .container-title-center,
  .container-title-left,
  .bg-container .container-title-center {
    font-size: 20px;
    margin-bottom: 20px
  }

  .comments-box .navigation {
    font-size: 13px
  }

  .gp-notice {
    font-size: .74em
  }

  .mob-menu li {
    font-size: 16px
  }

  .mob-menu li a {
    padding: 11px 0
  }

  .menu-trigger {
    top: 11px
  }
}

@media only screen and (max-width:375px) {
  .poster-caption h2 {
    font-size: 19px
  }
}

.wpcf7 input[type="submit"] {
  margin-top: 20px !important
}

.about-text ul li,
.feedback-item ul li {
  position: relative;
  padding: 0;
  margin-bottom: 10px;
  list-style-type: none;
  padding-left: 27px
}

.about-text ul li:before,
.feedback-item ul li:before {
  content: '';
  position: absolute;
  top: 9px;
  left: 2px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #537ec5
}

.about-text ul li ul,
.feedback-item ul li ul {
  margin: 15px 0 15px 5px
}

.about-text ul li ul li ul,
.feedback-item ul li ul li ul {
  margin: 10px 0 14px 5px
}

@media screen and (max-width: 600px) {
  #wpadminbar {
    position: fixed !important;
  }
}

/*
===============================
= 54 Поп-ап Cookies
============================================
*/

.cookies-box {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 200;
  display: none;
  max-width: 396px;
  padding: 1.25rem;
  font-size: 16px;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(49, 50, 72, 0.35);
  transform: translate(1.5rem, -2rem);
  transition: transform 0.3s ease-in;
}

@media (max-width: 550px) {
  .cookies-box {
    max-width: 300px;
    font-size: 14px;
  }
}

.cookies-box.is-shown {
  transform: translate(1.5rem, -2rem);
}

.cookies-box__descr {
  margin-bottom: 1rem;
  font-size: 15px;
  line-height: 155%;
}

.cookies-box__descr>p {
  word-wrap: normal;
  -webkit-hyphens: none;
  hyphens: none;
}

.cookies-box__descr a {
  color: #5d6afb;
  text-decoration: underline;
}

.cookies-box__btn {
  padding: 0.75rem 1rem;
  display: block;
  width: 100%;
  font-size: 16px;
  text-align: center;
  cursor: pointer;
  background-color: transparent;
  color: #333;
  border: 1px solid #888;
  border-radius: 8px;
  font-weight: var(--bold);
  transition: color 0.3s ease-in, border-color 0.3s ease-in;
}

.cookies-box__btn:hover {
  color: #5d6afb;
  border: 1px solid #5d6afb;
}

.custom-checkbox:checked+label::before {
  display: none;
}

.popup__label,
.comment__label {
  display: inline-block;
  font-size: 13px;
  line-height: 130%;
  text-align: left;
}

.comment__label,
.poster-form-wrapper label {
  font-size: 14px;
}

.popup label,
.poster-form-wrapper label,
.comment-form label,
.contactpage-form-wrapper label {
  display: flex;
  gap: 10px;
}

.comment-form label {
  margin-block-end: 1.5rem;
}

.contactpage-form-wrapper label {
  padding: 0 35px
}

.wpcf7-submit:disabled,
.comment-form .submit:disabled {
  opacity: .3;
  cursor: not-allowed !important;
}

.form-checkbox__input,
.form-checkbox__comment {
  flex-shrink: 0;
  width: 20px !important;
  height: 20px !important;
  transform: translateY(-3px);
}