/* Colours */
/* Base font size */
/* Imports */
/* Base Files */
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, seconday, 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, figcaption, figure,
footer, header, .headergroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
@font-face {
  font-family: "picto-foundry-emotions";
  src: url("../fonts/picto-foundry-emotions.eot");
  src: url("../fonts/picto-foundry-emotions.eot?#iefix") format("embedded-opentype"),
       url("../fonts/picto-foundry-emotions.woff") format("woff"),
       url("../fonts/picto-foundry-emotions.ttf") format("truetype"),
       url("../fonts/picto-foundry-emotions.svg#picto-foundry-emotions") format("svg");
  font-weight: normal;
  font-style: normal;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, .headergroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

:focus, *:hover {
  outline: 0;
}

ins {
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

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

main {
  display: block;
}

img {
  display: block;
}

/* 'rem' is a Sass mixin that converts pixel values to rem values
 * Returns 2 lines of code — regular pixel values and converted rem values 
 * 
 * Sample input:
 * .element { 
 * @include rem('padding',10px 0 2px 5px); }
 * 
 * Sample output:
 * .element {
 *   padding: 10px 0 2px 5px;
 *   padding: 1rem 0 0.2rem 0.5rem; }
 */
/* Dimensions */
/* position */
/* Padding */
/* Margin */
/* Border */
/* Fonts */
/* Base */
* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased !important;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

a:active {
  background-color: transparent;
}

.modal-form .form-row, .modal-form .form-checkboxes-twoColumns .form-field-checkbox, .modal-form .form-checkboxes-group .form-field-checkbox, .content .container-template, .events-part .events-list li, .section-team .team-members {
  zoom: 1;
}
.modal-form .form-row:before, .modal-form .form-checkboxes-twoColumns .form-field-checkbox:before, .modal-form .form-checkboxes-group .form-field-checkbox:before, .content .container-template:before, .events-part .events-list li:before, .section-team .team-members:before, .modal-form .form-row:after, .modal-form .form-checkboxes-twoColumns .form-field-checkbox:after, .modal-form .form-checkboxes-group .form-field-checkbox:after, .content .container-template:after, .events-part .events-list li:after, .section-team .team-members:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden;
}
.modal-form .form-row:after, .modal-form .form-checkboxes-twoColumns .form-field-checkbox:after, .modal-form .form-checkboxes-group .form-field-checkbox:after, .content .container-template:after, .events-part .events-list li:after, .section-team .team-members:after {
  clear: both;
}

.modal-form .custom-checkbox-replaced input {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
}

a, .modal-form .form-field-terms textarea, .pushWrapper, .pageHeader, .pageHeader .menu-trigger, .pageHeader .menu-trigger .lines, .pageHeader .menu-trigger .lines:before, .pageHeader .menu-trigger .lines:after, .sidebar, .shareMenu, .shareMenu .shareButtons, .stastistical-part .content .statistics .pieChart:before {
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}

.btn,
button.btn,
input.btn,
input[type="submit"] {
  -webkit-transition: background-color 0.6s ease;
  transition: background-color 0.6s ease;
}

.sidebar ul li a, .shareMenu .share-menu-trigger, .shareMenu .share-menu-trigger .text {
  -webkit-transition: color 0.6s ease;
  transition: color 0.6s ease;
}


.gc-modal, .modal-close-wrapper, .stastistical-part .content .statistics .pieChart .pie-section-labels {
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
}

.shareMenu .shareButtons > div,
.shareMenu .shareButtons > span,
.shareMenu .shareButtons > iframe,
.shareMenu .shareButtons > a {
  -webkit-transition: none;
  transition: none;
}

.pageHeader .headerLogo, .sidebar ul li a {
  -webkit-backface-visibility: hidden;
}

svg {
  width: 100%;
  height: 100%;
  max-height: 100%;
}

.content-template > *:last-child, .membership-part .membership-part-section-seperator .container-template .content-template > *:last-child, .tips-part .content .content-template > *:last-child,
.content-template > *:last-child > *:last-child,
.membership-part .membership-part-section-seperator .container-template .content-template > *:last-child > *:last-child,
.content-template > *:last-child > *:last-child > *:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}

/* Media Queries */
/* Sitewide Files */
/*****************************************/
/*              Animations               */
/*****************************************/
/* Rotate */
@-webkit-keyframes spin {
  from {
    -webkit-transform: rotate(0);
  }

  to {
    -webkit-transform: rotate(360deg);
  }
}

@-ms-keyframes spin {
  from {
    -ms-transform: rotate(0);
  }

  to {
    -ms-transform: rotate(360deg);
  }
}

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

  to {
    transform: rotate(360deg);
  }
}

@-webkit-keyframes section-seperatorLoad {
  75% {
    left: -48%;
    -webkit-transform: skewX(0);
    -moz-transform: skewX(0);
    -ms-transform: skewX(0);
    -o-transform: skewX(0);
    transform: skewX(0);
  }

  100% {
    -webkit-transform: skewX(-25deg);
    -moz-transform: skewX(-25deg);
    -ms-transform: skewX(-25deg);
    -o-transform: skewX(-25deg);
    transform: skewX(-25deg);
    left: -48%;
  }
}

@-moz-keyframes section-seperatorLoad {
  75% {
    left: -48%;
    -webkit-transform: skewX(0);
    -moz-transform: skewX(0);
    -ms-transform: skewX(0);
    -o-transform: skewX(0);
    transform: skewX(0);
  }

  100% {
    -webkit-transform: skewX(-25deg);
    -moz-transform: skewX(-25deg);
    -ms-transform: skewX(-25deg);
    -o-transform: skewX(-25deg);
    transform: skewX(-25deg);
    left: -48%;
  }
}

@-ms-keyframes section-seperatorLoad {
  75% {
    left: -48%;
    -webkit-transform: skewX(0);
    -moz-transform: skewX(0);
    -ms-transform: skewX(0);
    -o-transform: skewX(0);
    transform: skewX(0);
  }

  100% {
    -webkit-transform: skewX(-25deg);
    -moz-transform: skewX(-25deg);
    -ms-transform: skewX(-25deg);
    -o-transform: skewX(-25deg);
    transform: skewX(-25deg);
    left: -48%;
  }
}

@keyframes section-seperatorLoad {
  75% {
    left: -48%;
    -webkit-transform: skewX(0);
    -moz-transform: skewX(0);
    -ms-transform: skewX(0);
    -o-transform: skewX(0);
    transform: skewX(0);
  }

  100% {
    -webkit-transform: skewX(-25deg);
    -moz-transform: skewX(-25deg);
    -ms-transform: skewX(-25deg);
    -o-transform: skewX(-25deg);
    transform: skewX(-25deg);
    left: -48%;
  }
}

/* Typography */
@font-face {
  font-family: 'GillSans';
  src: url("../fonts/2A8A52_0_0.eot");
  src: url("../fonts/2A8A52_0_0d41d.eot?#iefix") format("embedded-opentype"), url("../fonts/2A8A52_0_0.woff") format("woff"), url("../fonts/2A8A52_0_0.ttf") format("truetype"), url("../fonts/2A8A52_0_0.svg#wf") format("svg");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'dubielitalic';
  src: url("../fonts/DubielItalic-webfont.eot");
  src: url("../fonts/DubielItalic-webfontd41d.eot?#iefix") format("embedded-opentype"), url("../fonts/DubielItalic-webfont.woff") format("woff"), url("../fonts/DubielItalic-webfont.ttf") format("truetype"), url("../fonts/DubielItalic-webfont.svg#dubielitalic") format("svg");
  font-weight: normal;
  font-style: normal;
}

/* Site Specific Styles */
a {
  color: white;
  text-decoration: none;
  cursor: pointer;
}
a:focus, a:hover {
  color: white;
}

strong {
  font-weight: 700;
}

html {
  font-size: 100%;
  font-family: "GillSans", Arial, sans-serif;
  color: white;
  line-height: 1em;
}

/* Headings */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .section-team .team-members li .team-member-title, .h3, .section-brand .guidelines .columns .colors ul li, .h4, .h5, .h6 {
  color: white;
  font-family: "GillSans", Arial, sans-serif;
  vertical-align: top;
  text-transform: uppercase;
  text-align: center;
  line-height: 1.1em;
}
h1 .seconday, h1 .em, h1 h2 .em, h2 h1 .em, h1 h3 .em, h3 h1 .em, h1 h4 .em, h4 h1 .em, h1 h5 .em, h5 h1 .em, h1 h6 .em, h6 h1 .em,
h1 .h1 .em,
.h1 h1 .em, h1 .h2 .em, .h2 h1 .em, h1 .section-team .team-members li .team-member-title .em, .section-team .team-members li .team-member-title h1 .em, h1 .h3 .em, .h3 h1 .em, h1 .section-brand .guidelines .columns .colors ul li .em, .section-brand .guidelines .columns .colors ul li h1 .em, h1 .h4 .em, .h4 h1 .em, h1 .h5 .em, .h5 h1 .em, h1 .h6 .em, .h6 h1 .em, h2 .seconday, h2 h1 .em, h1 h2 .em, h2 .em, h2 h3 .em, h3 h2 .em, h2 h4 .em, h4 h2 .em, h2 h5 .em, h5 h2 .em, h2 h6 .em, h6 h2 .em,
h2 .h1 .em,
.h1 h2 .em, h2 .h2 .em, .h2 h2 .em, h2 .section-team .team-members li .team-member-title .em, .section-team .team-members li .team-member-title h2 .em, h2 .h3 .em, .h3 h2 .em, h2 .section-brand .guidelines .columns .colors ul li .em, .section-brand .guidelines .columns .colors ul li h2 .em, h2 .h4 .em, .h4 h2 .em, h2 .h5 .em, .h5 h2 .em, h2 .h6 .em, .h6 h2 .em, h3 .seconday, h3 h1 .em, h1 h3 .em, h3 h2 .em, h2 h3 .em, h3 .em, h3 h4 .em, h4 h3 .em, h3 h5 .em, h5 h3 .em, h3 h6 .em, h6 h3 .em,
h3 .h1 .em,
.h1 h3 .em, h3 .h2 .em, .h2 h3 .em, h3 .section-team .team-members li .team-member-title .em, .section-team .team-members li .team-member-title h3 .em, h3 .h3 .em, .h3 h3 .em, h3 .section-brand .guidelines .columns .colors ul li .em, .section-brand .guidelines .columns .colors ul li h3 .em, h3 .h4 .em, .h4 h3 .em, h3 .h5 .em, .h5 h3 .em, h3 .h6 .em, .h6 h3 .em, h4 .seconday, h4 h1 .em, h1 h4 .em, h4 h2 .em, h2 h4 .em, h4 h3 .em, h3 h4 .em, h4 .em, h4 h5 .em, h5 h4 .em, h4 h6 .em, h6 h4 .em,
h4 .h1 .em,
.h1 h4 .em, h4 .h2 .em, .h2 h4 .em, h4 .section-team .team-members li .team-member-title .em, .section-team .team-members li .team-member-title h4 .em, h4 .h3 .em, .h3 h4 .em, h4 .section-brand .guidelines .columns .colors ul li .em, .section-brand .guidelines .columns .colors ul li h4 .em, h4 .h4 .em, .h4 h4 .em, h4 .h5 .em, .h5 h4 .em, h4 .h6 .em, .h6 h4 .em, h5 .seconday, h5 h1 .em, h1 h5 .em, h5 h2 .em, h2 h5 .em, h5 h3 .em, h3 h5 .em, h5 h4 .em, h4 h5 .em, h5 .em, h5 h6 .em, h6 h5 .em,
h5 .h1 .em,
.h1 h5 .em, h5 .h2 .em, .h2 h5 .em, h5 .section-team .team-members li .team-member-title .em, .section-team .team-members li .team-member-title h5 .em, h5 .h3 .em, .h3 h5 .em, h5 .section-brand .guidelines .columns .colors ul li .em, .section-brand .guidelines .columns .colors ul li h5 .em, h5 .h4 .em, .h4 h5 .em, h5 .h5 .em, .h5 h5 .em, h5 .h6 .em, .h6 h5 .em, h6 .seconday, h6 h1 .em, h1 h6 .em, h6 h2 .em, h2 h6 .em, h6 h3 .em, h3 h6 .em, h6 h4 .em, h4 h6 .em, h6 h5 .em, h5 h6 .em, h6 .em,
h6 .h1 .em,
.h1 h6 .em, h6 .h2 .em, .h2 h6 .em, h6 .section-team .team-members li .team-member-title .em, .section-team .team-members li .team-member-title h6 .em, h6 .h3 .em, .h3 h6 .em, h6 .section-brand .guidelines .columns .colors ul li .em, .section-brand .guidelines .columns .colors ul li h6 .em, h6 .h4 .em, .h4 h6 .em, h6 .h5 .em, .h5 h6 .em, h6 .h6 .em, .h6 h6 .em,
.h1 .seconday,
.h1 h1 .em,
h1 .h1 .em,
.h1 h2 .em,
h2 .h1 .em,
.h1 h3 .em,
h3 .h1 .em,
.h1 h4 .em,
h4 .h1 .em,
.h1 h5 .em,
h5 .h1 .em,
.h1 h6 .em,
h6 .h1 .em,
.h1 .em,
.h1 .h2 .em,
.h2 .h1 .em,
.h1 .section-team .team-members li .team-member-title .em,
.section-team .team-members li .team-member-title .h1 .em,
.h1 .h3 .em,
.h3 .h1 .em,
.h1 .section-brand .guidelines .columns .colors ul li .em,
.section-brand .guidelines .columns .colors ul li .h1 .em,
.h1 .h4 .em,
.h4 .h1 .em,
.h1 .h5 .em,
.h5 .h1 .em,
.h1 .h6 .em,
.h6 .h1 .em, .h2 .seconday, .section-team .team-members li .team-member-title .seconday, .h2 h1 .em, h1 .h2 .em, .section-team .team-members li .team-member-title h1 .em, h1 .section-team .team-members li .team-member-title .em, .h2 h2 .em, h2 .h2 .em, .section-team .team-members li .team-member-title h2 .em, h2 .section-team .team-members li .team-member-title .em, .h2 h3 .em, h3 .h2 .em, .section-team .team-members li .team-member-title h3 .em, h3 .section-team .team-members li .team-member-title .em, .h2 h4 .em, h4 .h2 .em, .section-team .team-members li .team-member-title h4 .em, h4 .section-team .team-members li .team-member-title .em, .h2 h5 .em, h5 .h2 .em, .section-team .team-members li .team-member-title h5 .em, h5 .section-team .team-members li .team-member-title .em, .h2 h6 .em, h6 .h2 .em, .section-team .team-members li .team-member-title h6 .em, h6 .section-team .team-members li .team-member-title .em,
.h2 .h1 .em,
.h1 .h2 .em,
.section-team .team-members li .team-member-title .h1 .em,
.h1 .section-team .team-members li .team-member-title .em, .h2 .em, .section-team .team-members li .team-member-title .h2 .em, .h2 .section-team .team-members li .team-member-title .em, .h2 .section-team .team-members li .team-member-title .em, .section-team .team-members li .team-member-title .h2 .em, .section-team .team-members li .team-member-title .em, .h2 .h3 .em, .h3 .h2 .em, .section-team .team-members li .team-member-title .h3 .em, .h3 .section-team .team-members li .team-member-title .em, .h2 .section-brand .guidelines .columns .colors ul li .em, .section-brand .guidelines .columns .colors ul li .h2 .em, .section-team .team-members .section-brand .guidelines .columns .colors ul li .team-member-title .em, .section-brand .guidelines .columns .colors ul .section-team .team-members li .team-member-title .em, .h2 .h4 .em, .h4 .h2 .em, .section-team .team-members li .team-member-title .h4 .em, .h4 .section-team .team-members li .team-member-title .em, .h2 .h5 .em, .h5 .h2 .em, .section-team .team-members li .team-member-title .h5 .em, .h5 .section-team .team-members li .team-member-title .em, .h2 .h6 .em, .h6 .h2 .em, .section-team .team-members li .team-member-title .h6 .em, .h6 .section-team .team-members li .team-member-title .em, .h3 .seconday, .section-brand .guidelines .columns .colors ul li .seconday, .h3 h1 .em, h1 .h3 .em, .section-brand .guidelines .columns .colors ul li h1 .em, h1 .section-brand .guidelines .columns .colors ul li .em, .h3 h2 .em, h2 .h3 .em, .section-brand .guidelines .columns .colors ul li h2 .em, h2 .section-brand .guidelines .columns .colors ul li .em, .h3 h3 .em, h3 .h3 .em, .section-brand .guidelines .columns .colors ul li h3 .em, h3 .section-brand .guidelines .columns .colors ul li .em, .h3 h4 .em, h4 .h3 .em, .section-brand .guidelines .columns .colors ul li h4 .em, h4 .section-brand .guidelines .columns .colors ul li .em, .h3 h5 .em, h5 .h3 .em, .section-brand .guidelines .columns .colors ul li h5 .em, h5 .section-brand .guidelines .columns .colors ul li .em, .h3 h6 .em, h6 .h3 .em, .section-brand .guidelines .columns .colors ul li h6 .em, h6 .section-brand .guidelines .columns .colors ul li .em,
.h3 .h1 .em,
.h1 .h3 .em,
.section-brand .guidelines .columns .colors ul li .h1 .em,
.h1 .section-brand .guidelines .columns .colors ul li .em, .h3 .h2 .em, .h2 .h3 .em, .section-brand .guidelines .columns .colors ul li .h2 .em, .h2 .section-brand .guidelines .columns .colors ul li .em, .h3 .section-team .team-members li .team-member-title .em, .section-team .team-members li .team-member-title .h3 .em, .section-brand .guidelines .columns .colors ul .section-team .team-members li .team-member-title .em, .section-team .team-members .section-brand .guidelines .columns .colors ul li .team-member-title .em, .h3 .em, .section-brand .guidelines .columns .colors ul li .em, .h3 .h4 .em, .h4 .h3 .em, .section-brand .guidelines .columns .colors ul li .h4 .em, .h4 .section-brand .guidelines .columns .colors ul li .em, .h3 .h5 .em, .h5 .h3 .em, .section-brand .guidelines .columns .colors ul li .h5 .em, .h5 .section-brand .guidelines .columns .colors ul li .em, .h3 .h6 .em, .h6 .h3 .em, .section-brand .guidelines .columns .colors ul li .h6 .em, .h6 .section-brand .guidelines .columns .colors ul li .em, .h4 .seconday, .h4 h1 .em, h1 .h4 .em, .h4 h2 .em, h2 .h4 .em, .h4 h3 .em, h3 .h4 .em, .h4 h4 .em, h4 .h4 .em, .h4 h5 .em, h5 .h4 .em, .h4 h6 .em, h6 .h4 .em,
.h4 .h1 .em,
.h1 .h4 .em, .h4 .h2 .em, .h2 .h4 .em, .h4 .section-team .team-members li .team-member-title .em, .section-team .team-members li .team-member-title .h4 .em, .h4 .h3 .em, .h3 .h4 .em, .h4 .section-brand .guidelines .columns .colors ul li .em, .section-brand .guidelines .columns .colors ul li .h4 .em, .h4 .em, .h4 .h5 .em, .h5 .h4 .em, .h4 .h6 .em, .h6 .h4 .em, .h5 .seconday, .h5 h1 .em, h1 .h5 .em, .h5 h2 .em, h2 .h5 .em, .h5 h3 .em, h3 .h5 .em, .h5 h4 .em, h4 .h5 .em, .h5 h5 .em, h5 .h5 .em, .h5 h6 .em, h6 .h5 .em,
.h5 .h1 .em,
.h1 .h5 .em, .h5 .h2 .em, .h2 .h5 .em, .h5 .section-team .team-members li .team-member-title .em, .section-team .team-members li .team-member-title .h5 .em, .h5 .h3 .em, .h3 .h5 .em, .h5 .section-brand .guidelines .columns .colors ul li .em, .section-brand .guidelines .columns .colors ul li .h5 .em, .h5 .h4 .em, .h4 .h5 .em, .h5 .em, .h5 .h6 .em, .h6 .h5 .em, .h6 .seconday, .h6 h1 .em, h1 .h6 .em, .h6 h2 .em, h2 .h6 .em, .h6 h3 .em, h3 .h6 .em, .h6 h4 .em, h4 .h6 .em, .h6 h5 .em, h5 .h6 .em, .h6 h6 .em, h6 .h6 .em,
.h6 .h1 .em,
.h1 .h6 .em, .h6 .h2 .em, .h2 .h6 .em, .h6 .section-team .team-members li .team-member-title .em, .section-team .team-members li .team-member-title .h6 .em, .h6 .h3 .em, .h3 .h6 .em, .h6 .section-brand .guidelines .columns .colors ul li .em, .section-brand .guidelines .columns .colors ul li .h6 .em, .h6 .h4 .em, .h4 .h6 .em, .h6 .h5 .em, .h5 .h6 .em, .h6 .em {
  display: block;
  font-family: "dubielitalic", Arial, sans-serif;
  font-size: 0.9em;
  text-transform: none;
  color: #919799;

}

h1 .super-seconday, h2 .super-seconday, h3 .super-seconday, h4 .super-seconday, h5 .super-seconday, h6 .super-seconday,
.h1 .super-seconday, .h2 .super-seconday, .section-team .team-members li .team-member-title .super-seconday, .h3 .super-seconday, .section-brand .guidelines .columns .colors ul li .super-seconday, .h4 .super-seconday, .h5 .super-seconday, .h6 .super-seconday {
  display: block;
  line-height: 1.2em;
  font-family: "GillSans", Arial, sans-serif;
  font-size: 0.9em;
}
h1 .main, h2 .main, h3 .main, h4 .main, h5 .main, h6 .main,
.h1 .main, .h2 .main, .section-team .team-members li .team-member-title .main, .h3 .main, .section-brand .guidelines .columns .colors ul li .main, .h4 .main, .h5 .main, .h6 .main {
  display: block;
}
h1 .em, h2 .em, h3 .em, h4 .em, h5 .em, h6 .em,
.h1 .em, .h2 .em, .section-team .team-members li .team-member-title .em, .h3 .em, .section-brand .guidelines .columns .colors ul li .em, .h4 .em, .h5 .em, .h6 .em {
  display: inline;
  font-size: 1.1em;
}

h1, .h1 {
  font-size: 2.1875em;
}
@media screen and (min-width: 750px) {
  h1, .h1 {
    font-size: 3.75em;
  }
}

h2, .h2, .section-team .team-members li .team-member-title {
  font-size: 1.5625em;
}
@media screen and (min-width: 750px) {
  h2, .h2, .section-team .team-members li .team-member-title {
    font-size: 2.5em;
  }
}

h3, .h3, .section-brand .guidelines .columns .colors ul li {
  font-size: 1.25em;
  text-align: left;
}
@media screen and (min-width: 750px) {
  h3, .h3, .section-brand .guidelines .columns .colors ul li {
    font-size: 1.5em;
  }
}

h4, .h4 {
  font-size: 1.125em;
  text-transform: none;
}
@media screen and (min-width: 750px) {
  h4, .h4 {
    font-size: 1.25em;
  }
}

p {
  font-size: 1.3125em;
  color: #8a8a8a;
}
.icon-compose,.icon-task-check{
  margin-right:5px; 
}

/*..headergroup {
  margin-bottom: 1.5em;
}*/

.bottom-margin{
  margin-bottom: 100px;
}
.headergroup h3 {
  text-align: center;
}
.headergroup:after {
  content: '';
  display: block;
  width: 90px;
  height: 1px;
  margin: 1.5em auto 0;
  background: rgba(255, 255, 255, 0.19);
}
span.paragraph-text{
  color: #8a8a8a;
}

.section-intro h1 .seconday, .section-intro h1 .em, .section-intro h1 .section-team .team-members li .team-member-title .em, .section-team .team-members li .team-member-title .section-intro h1 .em, .section-intro h1 .section-brand .guidelines .columns .colors ul li .em, .section-brand .guidelines .columns .colors ul li .section-intro h1 .em,
.section-intro h1 .main,
.headergroup h2 .seconday,
.headergroup h2 .em,
.headergroup h2 .h1 .em,
.h1 .headergroup h2 .em,
.headergroup h2 .h2 .em,
.h2 .headergroup h2 .em,
.headergroup h2 .section-team .team-members li .team-member-title .em,
.section-team .team-members li .team-member-title .headergroup h2 .em,
.headergroup h2 .h3 .em,
.h3 .headergroup h2 .em,
.headergroup h2 .section-brand .guidelines .columns .colors ul li .em,
.section-brand .guidelines .columns .colors ul li .headergroup h2 .em,
.headergroup h2 .h4 .em,
.h4 .headergroup h2 .em,
.headergroup h2 .h5 .em,
.h5 .headergroup h2 .em,
.headergroup h2 .h6 .em,
.h6 .headergroup h2 .em,
.headergroup h2 .main {
  opacity: 0;
  -webkit-transform: translateY(-0.5em);
  -moz-transform: translateY(-0.5em);
  -ms-transform: translateY(-0.5em);
  -o-transform: translateY(-0.5em);
  transform: translateY(-0.5em);
}
.section-intro h1 .seconday, .section-intro h1 .em, .section-intro h1 .section-team .team-members li .team-member-title .em, .section-team .team-members li .team-member-title .section-intro h1 .em, .section-intro h1 .section-brand .guidelines .columns .colors ul li .em, .section-brand .guidelines .columns .colors ul li .section-intro h1 .em,
.headergroup h2 .seconday,
.headergroup h2 .em,
.headergroup h2 .h1 .em,
.h1 .headergroup h2 .em,
.headergroup h2 .h2 .em,
.h2 .headergroup h2 .em,
.headergroup h2 .section-team .team-members li .team-member-title .em,
.section-team .team-members li .team-member-title .headergroup h2 .em,
.headergroup h2 .h3 .em,
.h3 .headergroup h2 .em,
.headergroup h2 .section-brand .guidelines .columns .colors ul li .em,
.section-brand .guidelines .columns .colors ul li .headergroup h2 .em,
.headergroup h2 .h4 .em,
.h4 .headergroup h2 .em,
.headergroup h2 .h5 .em,
.h5 .headergroup h2 .em,
.headergroup h2 .h6 .em,
.h6 .headergroup h2 .em {
  -webkit-transition: 0.4s ease-out 0.25s;
  transition: 0.4s ease-out 0.25s;
}
.section-intro h1 .main,
.headergroup h2 .main {
  -webkit-transition: 0.4s ease-out;
  transition: 0.4s ease-out;
}
.section-intro h1.in-point .seconday, .section-intro h1.in-point .em, .section-intro h1.in-point .section-team .team-members li .team-member-title .em, .section-team .team-members li .team-member-title .section-intro h1.in-point .em, .section-intro h1.in-point .section-brand .guidelines .columns .colors ul li .em, .section-brand .guidelines .columns .colors ul li .section-intro h1.in-point .em,
.section-intro h1.in-point .main,
.headergroup h2.in-point .seconday,
.headergroup h2.in-point .em,
.headergroup h2.in-point .section-team .team-members li .team-member-title .em,
.section-team .team-members li .team-member-title .headergroup h2.in-point .em,
.headergroup h2.in-point .section-brand .guidelines .columns .colors ul li .em,
.section-brand .guidelines .columns .colors ul li .headergroup h2.in-point .em,
.headergroup h2.in-point .main {
  opacity: 1;
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);
}
.seconday-large-text{
  font-size: 100px !important;
  margin-bottom: 30px;
  font-weight: bold;
  text-shadow: 2px 2px #808080;
}
@media (min-width: 120px) and (max-width: 824px) { 
    .seconday-large-text{
      font-size: 30px !important;
  }
}

.largeText {
  font-size: 1.25em;
}

/* User Content Areas */
.content-template {
  line-height: 1.5em;
}
.content-template br {
  height: 0.7em;
}
.content-template p {
  line-height: 1.5em;
}
.content-template p strong {
  font-weight: bold;
  color: white;
}
.content-template ul {
  margin: 2em 0;
  font-size: 1.3125em;
}
.content-template ul li {
  margin: 0.7em 0;
  line-height: 1.5em;
  padding-left: 2.375em;
  text-indent: -0.9375em;
}
.content-template ul li:before {
  display: inline-block;
  vertical-align: bottom;
  margin-right: 0.5em;
  font-size: 1.2em;
  color: #8a8a8a;
}

/* BB Logo */
.bb-logo {
  text-align: center;
  color: white;
}
.bb-logo .text {
  display: block;
  text-transform: uppercase;
  font-size: 45px;
}

/* Buttons */
button,
input[type="submit"] {
  padding: 0;
  margin: 0;
  background: transparent;
  border: 0;
  font-family: "GillSans", Arial, sans-serif;
  font-size: 1em;
  color: white;
}
button:active, button:focus, button:hover,
input[type="submit"]:active,
input[type="submit"]:focus,
input[type="submit"]:hover {
  outline: 0;
}

.btnContainer {
  width: 100%;
  text-align: center;
}

.btn,
button.btn,
input.btn,
input[type="submit"] {
  display: inline-block;
  margin: 2em auto 0;
  height: 2.5em;
  line-height: 2.65em;
  padding: 0 20px;
  padding: 0 1.25rem;
  font-family: "GillSans", Arial, sans-serif;
  font-size: 24px;
  font-size: 1.5rem;
  text-transform: uppercase;
  color: #515556;
  background: white;
  background-position: 50% 50%;
  border-radius: 4px;
  cursor: pointer;
}
.btn [class*="icon"],
button.btn [class*="icon"],
input.btn [class*="icon"],
input[type="submit"] [class*="icon"] {
  position: relative;
  top: -3px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 20px;
  margin-right: 1.25rem;
  font-size: 1.2em;
  color: #515556;
}
.btn:focus, .btn:hover,
button.btn:focus,
button.btn:hover,
input.btn:focus,
input.btn:hover,
input[type="submit"]:focus,
input[type="submit"]:hover {
  background: rgba(255, 255, 255, 0.8);
  color: #515556;
}
.btn:active,
button.btn:active,
input.btn:active,
input[type="submit"]:active {
  background: rgba(255, 255, 255, 0.9);
}
/* Modules Files */
/*****************************************/
/*           Absolute Full Size          */
/*****************************************/
.section-seperator:after, .section-intro .content, .section-intro .content:after, .stastistical-part .content .statistics .pieChart:before, .section-audience .container-template .figure:after, .testimonials-part .testimonials-part-section-seperator:after, .membership-part .membership-part-section-seperator:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}

/*****************************************/
/*         CenterContent (x & y)         */
/*****************************************/
.section-intro .content .container-template, .stastistical-part .content .statistics .pieChart .pieChart-overlay .container-template {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center;
}
.flexbox .section-intro .content, .section-intro .flexbox .content, .flexbox .stastistical-part .content .statistics .pieChart .pieChart-overlay, .stastistical-part .content .statistics .pieChart .flexbox .pieChart-overlay {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}
.flexbox .section-intro .content .container-template, .section-intro .flexbox .content .container-template, .flexbox .stastistical-part .content .statistics .pieChart .pieChart-overlay .container-template, .stastistical-part .content .statistics .pieChart .flexbox .pieChart-overlay .container-template {
  position: static;
  left: auto;
  top: auto;
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}

/*****************************************/
/*          VerticallyAlign (y)          */
/*****************************************/
.section-seperator .container-template {
  position: absolute;
  left: 0%;
  top: 50%;
  z-index: 2;
  -webkit-transform: translate(0, -50%);
  -moz-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  -o-transform: translate(0, -50%);
  transform: translate(0, -50%);
  text-align: left;
}
.flexbox .section-seperator {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.flexbox .section-seperator .container-template {
  position: static;
  left: auto;
  top: auto;
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}

/*****************************************/
/*               Pie Section             */
/*****************************************/


/* Content (generally grey) */
.content {
  padding: 40px 0;
}
.content .container-template {
  width: 90%;
  max-width: 75em;
  margin: auto;
}
@media screen and (min-width: 750px) {
  .content {
    padding: 60px 0;
  }
}
@media screen and (min-width: 1000px) {
  .content {
    padding: 80px 0;
  }
  .content .container-template .contentLeft {
    float: left;
    width: 50%;
    padding: 0 2em;
  }
  .content .container-template .contentRight {
    float: right;
    width: 50%;
    padding: 0 2em;
  }
}

/* section-seperator / Mid Images */
.section-seperator {
  position: relative;
  height: 7.8125em;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  overflow: hidden;
}
.section-seperator .container-template {
  width: 60%;
  padding-left: 6%;
}
.section-seperator h2 {
  -webkit-transition: 0.60s ease 0.60s;
  transition: 0.60s ease 0.60s;
  -webkit-transform: translateX(-0.5em);
  -moz-transform: translateX(-0.5em);
  -ms-transform: translateX(-0.5em);
  -o-transform: translateX(-0.5em);
  transform: translateX(-0.5em);
  opacity: 0;
  text-align: left;
}
.section-seperator:after {
  -webkit-transition: 0.70s ease;
  transition: 0.70s ease;
  -webkit-transform: translateX(-100%) skewX(0);
  -moz-transform: translateX(-100%) skewX(0);
  -ms-transform: translateX(-100%) skewX(0);
  -o-transform: translateX(-100%) skewX(0);
  transform: translateX(-100%) skewX(0);
  -webkit-transform-origin: 0 100%;
  -moz-transform-origin: 0 100%;
  -ms-transform-origin: 0 100%;
  -o-transform-origin: 0 100%;
  transform-origin: 0 100%;
  width: 100%;
  background: rgba(27, 32, 33, 0.88);
}
.section-seperator.in-point:after {
  -webkit-transform: translateX(-40%) skewX(-25deg);
  -moz-transform: translateX(-40%) skewX(-25deg);
  -ms-transform: translateX(-40%) skewX(-25deg);
  -o-transform: translateX(-40%) skewX(-25deg);
  transform: translateX(-40%) skewX(-25deg);
}
.section-seperator.in-point h2 {
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  -ms-transform: translateX(0);
  -o-transform: translateX(0);
  transform: translateX(0);
  opacity: 1;
}
@media screen and (min-width: 750px) {
  .section-seperator {
    height: 12.5em;
  }
}
@media screen and (min-width: 1200px) {
  .section-seperator {
    height: 16.25em;
  }
  .section-seperator .container-template {
    width: 40%;
  }
  .section-seperator.in-point:after {
    -webkit-transform: translateX(-80%) skewX(-25deg);
    -moz-transform: translateX(-80%) skewX(-25deg);
    -ms-transform: translateX(-80%) skewX(-25deg);
    -o-transform: translateX(-80%) skewX(-25deg);
    transform: translateX(-80%) skewX(-25deg);
  }
}

/* Template Files */
/* Master */
html, body {
  min-height: 100%;
}

html {
  background-color: #262B2D !important;
}

body {
  min-width: 320px;
  overflow-x: hidden;
}

/* Push Wrapper */
.pushWrapper {
  position: relative;
  right: 0;
}
.pushed .pushWrapper {
  right: 16.25em;
}
@media screen and (min-width: 1000px) {
  .pushed .pushWrapper {
    right: 0;
  }
}
@media screen and (min-width: 750px) {
  .pushed .pushWrapper {
    right: 19.6875em;
  }
}
@media screen and (min-width: 1200px) {
  .pushWrapper {
    left: 0;
    right: auto;
    margin-left: 0;
    width: 100%;
  }

  .pushed .pushWrapper,
  .hover-pushed .pushWrapper {
    left: 0;
    right: auto;
    margin-left: 0;
  }
}

/* Main */
main {
  position: relative;
  top: 2.5em;
}
@media screen and (min-width: 750px) {
  main {
    top: 3.125em;
  }
}
@media screen and (min-width: 1200px) {
  main {
    top: 0;
  }
}

/*****************************************/
/*                Header                 */
/*****************************************/
/* Icon Line (for menu trigger) */
.pageHeader {
  position: fixed;
  z-index: 100;
  right: 0;
  top: 0;
  width: 100%;
  height: 2.5em;
  background: #1b2021;
  background-clip: padding-box;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  /* Menu Trigger */
  /* Logo */
  /* Open State */
}
.pageHeader .menu-trigger {
  position: fixed;
  z-index: 101;
  top: 0.3125em;
  right: 0.3125em;
  width: 1.25em;
  height: 1.25em;
  padding: 0.3125em;
  cursor: pointer;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
.pageHeader .menu-trigger .lines {
  -webkit-transition: background 0.2s 0.4s;
  -webkit-transition-delay: ease;
  -moz-transition: background 0.2s 0.4s ease;
  -o-transition: background 0.2s 0.4s ease;
  transition: background 0.2s 0.4s ease;
  display: block;
  width: 100%;
  height: 2px;
  height: 0.125rem;
  background: white;
  border-radius: 1px;
  border-radius: 0.0625rem;
  -webkit-transform-origin: 50% 50%;
  -moz-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  -o-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  position: relative;
}
.pageHeader .menu-trigger .lines:before, .pageHeader .menu-trigger .lines:after {
  -webkit-transition: top 0.2s 0.4s, -webkit-transform 0.2s ease;
  -webkit-transition-delay: ease, 0s;
  -moz-transition: top 0.2s 0.4s ease, -moz-transform 0.2s ease;
  -o-transition: top 0.2s 0.4s ease, -o-transform 0.2s ease;
  transition: top 0.2s 0.4s ease, transform 0.2s ease;
  display: block;
  width: 100%;
  height: 2px;
  height: 0.125rem;
  background: white;
  border-radius: 1px;
  border-radius: 0.0625rem;
  -webkit-transform-origin: 50% 50%;
  -moz-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  -o-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  position: absolute;
  left: 0;
  content: '';
}
.pageHeader .menu-trigger .lines:before {
  top: -5px;
  top: -0.3125rem;
}
.pageHeader .menu-trigger .lines:after {
  top: 5px;
  top: 0.3125rem;
}
.pageHeader .menu-trigger.menu-trigger-open .lines, .pushed .pageHeader .menu-trigger .lines {
  display: block;
  width: 100%;
  height: 2px;
  height: 0.125rem;
  background: #424446;
  border-radius: 1px;
  border-radius: 0.0625rem;
  -webkit-transform-origin: 50% 50%;
  -moz-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  -o-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  -webkit-transition: background 0.2s 0s;
  -webkit-transition-delay: ease;
  -moz-transition: background 0.2s 0s ease;
  -o-transition: background 0.2s 0s ease;
  transition: background 0.2s 0s ease;
  background: transparent;
}
.pageHeader .menu-trigger.menu-trigger-open .lines:before, .pushed .pageHeader .menu-trigger .lines:before, .pageHeader .menu-trigger.menu-trigger-open .lines:after, .pushed .pageHeader .menu-trigger .lines:after {
  display: block;
  width: 100%;
  height: 2px;
  height: 0.125rem;
  background: #424446;
  border-radius: 1px;
  border-radius: 0.0625rem;
  -webkit-transform-origin: 50% 50%;
  -moz-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  -o-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  -webkit-transition: top 0.2s ease, -webkit-transform 0.2s 0.4s;
  -webkit-transition-delay: 0s, ease;
  -moz-transition: top 0.2s ease, -moz-transform 0.2s 0.4s ease;
  -o-transition: top 0.2s ease, -o-transform 0.2s 0.4s ease;
  transition: top 0.2s ease, transform 0.2s 0.4s ease;
  top: 0;
  box-shadow: none;
}
.pageHeader .menu-trigger.menu-trigger-open .lines:before, .pushed .pageHeader .menu-trigger .lines:before {
  -webkit-transform: rotate3d(0, 0, 1, 45deg);
  -moz-transform: rotate3d(0, 0, 1, 45deg);
  -ms-transform: rotate3d(0, 0, 1, 45deg);
  -o-transform: rotate3d(0, 0, 1, 45deg);
  transform: rotate3d(0, 0, 1, 45deg);
}
.pageHeader .menu-trigger.menu-trigger-open .lines:after, .pushed .pageHeader .menu-trigger .lines:after {
  -webkit-transform: rotate3d(0, 0, 1, -45deg);
  -moz-transform: rotate3d(0, 0, 1, -45deg);
  -ms-transform: rotate3d(0, 0, 1, -45deg);
  -o-transform: rotate3d(0, 0, 1, -45deg);
  transform: rotate3d(0, 0, 1, -45deg);
}
.pageHeader .headerLogo {

  display: block;
  width: 80%;
  width: calc(100% - 15em);
  height: 100%;
  margin: auto;
  text-align: center;
  color: white;
  margin-top: 8px;
}
.pageHeader .headerLogo .text {
  display: none;
}
.pageHeader .headerLogo i {
  font-size: 2.5em;
}
.pageHeader .headerLogo:hover {
  color: #606669;
}
.pushed .pageHeader {
  right: 16.1875em;
}
@media screen and (min-width: 750px) {
  .pageHeader {
    height: 3.125em;
  }
  .pageHeader .menu-trigger {
    top: 0.625em;
  }
  .pageHeader .headerLogo i {
    font-size: 3.125em;
  }
  .pushed .pageHeader {
    right: 19.625em;
  }
}
@media screen and (min-width: 1200px) {
  .pageHeader {
    left: 0;
    right: auto;
    height: 5em;
    width: 5.5625em;
    overflow: hidden;
    border-bottom: 1px solid #2b3031;
    background: transparent;
  }
  .pageHeader .headerLogo {
    -webkit-transition: color 0.6s ease;
    transition: color 0.6s ease;
    -webkit-backface-visibility: hidden;
    width: 19.6875em;
    padding: 0.9375em 0;
    text-align: left;
    color: #606669;
  }
  .pageHeader .headerLogo i {
    display: inline-block;
    vertical-align: middle;
    width: 1.8em;
    text-align: center;
  }
  .pageHeader .headerLogo .text {
    -webkit-transition: opacity 0.4s ease 0s;
    transition: opacity 0.4s ease 0s;
    position: relative;
    top: 0.25em;
    display: inline-block;
    text-transform: uppercase;
    opacity: 0;
  }
  .pageHeader .headerLogo:hover {
    color: white;
  }
  .pushed .pageHeader {
    left: 0;
    right: auto;
  }
  .hover-pushed .pageHeader {
    width: 19.625em;
  }
  .hover-pushed .pageHeader .headerLogo .text {
    opacity: 1;
  }
  .pageHeader .menu-trigger {
    display: none;
  }
}

/*****************************************/
/*               Sidebar                 */
/*****************************************/
.size-24{
  font-size: 28px !important;
}
.size{
  margin-top: 4px;
}
.size-26{
padding-top: 3px;
font-size: 28px !important;
margin-left: 15px;
}
.size-34{
  margin-top: 10px;
 font-size: 28px !important; 
}
.icons-menu-bottom{
  margin-bottom: 5px;
}
.sidebar {
  background: #1B2021 !important;
  position: fixed;
  right: -16.25em;
  top: 0;
  z-index: 99;
  width: 16.25em;
  padding-top: 3.125em;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  border-left: 1px solid rgba(255, 255, 255, 0.14);
  /* Open State */
  /* Main Menu */
  /* Back to top */
}
.pushed .sidebar {
  right: 0;
}
.sidebar ul li {
  margin: 0.5625em 0;
}
.sidebar ul li a {
  display: block;
  color: #606669;
}
.sidebar ul li a:focus, .sidebar ul li a:hover, .sidebar ul li a.selected {
  color: white;
}
.sidebar ul li a i {
  position: relative;
  top: -0.15385em;
  display: inline-block;
  vertical-align: middle;
  width: 2.69231em;
  text-align: center;
  font-size: 1.625em;
}
.sidebar ul li a .text {
  text-transform: uppercase;
}
.sidebar ul li:first-child {
  margin-top: 0;
}
.sidebar ul li:last-child {
  margin-bottom: 0;
}
.sidebar .mainMenu {
  width: 19.6875em;
}
.sidebar .backToTop {
  width: 19.6875em;
  padding-top: 0.75em;
  margin-top: 0.75em;
  border-top: 1px solid #2b3031;
}
.sidebar .backToTop ul li {
  margin: 0;
}
@media screen and (min-width: 750px) {
  .sidebar {
    right: -19.6875em;
    width: 19.6875em;
    padding-top: 5em;
  }
  .sidebar ul li {
    margin: 0.75em 0;
  }
  .sidebar ul li a i {
    top: -0.11765em;
    width: 2.64706em;
    font-size: 2.125em;
  }
  .sidebar .backToTop {
    padding-top: 1em;
    margin-top: 2em;
  }
}
@media screen and (min-width: 1200px) {
  .sidebar {
    right: -5.625em;
    width: 5.625em;
    padding-top: 0;
    right: auto;
    left: 0;
    background-clip: padding-box;
    border-left: 0;
    border-right: 1px solid rgba(255, 255, 255, 0.14);
  }
  .pushed .sidebar {
    right: auto;
    left: 0;
  }
  .sidebar ul li {
    margin: 0.625em 0;
  }
  .sidebar ul li a .text {
    opacity: 0;
  }
  .sidebar ul li:nth-child(1) a .text {
    -webkit-transition: opacity 0.4s ease 0.05s;
    transition: opacity 0.4s ease 0.05s;
  }
  .sidebar ul li:nth-child(2) a .text {
    -webkit-transition: opacity 0.4s ease 0.1s;
    transition: opacity 0.4s ease 0.1s;
  }
  .sidebar ul li:nth-child(3) a .text {
    -webkit-transition: opacity 0.4s ease 0.15s;
    transition: opacity 0.4s ease 0.15s;
  }
  .sidebar ul li:nth-child(4) a .text {
    -webkit-transition: opacity 0.4s ease 0.2s;
    transition: opacity 0.4s ease 0.2s;
  }
  .sidebar ul li:nth-child(5) a .text {
    -webkit-transition: opacity 0.4s ease 0.25s;
    transition: opacity 0.4s ease 0.25s;
  }
  .sidebar ul li:nth-child(6) a .text {
    -webkit-transition: opacity 0.4s ease 0.3s;
    transition: opacity 0.4s ease 0.3s;
  }
  .sidebar ul li:nth-child(7) a .text {
    -webkit-transition: opacity 0.4s ease 0.35s;
    transition: opacity 0.4s ease 0.35s;
  }
  .sidebar ul li:nth-child(8) a .text {
    -webkit-transition: opacity 0.4s ease 0.4s;
    transition: opacity 0.4s ease 0.4s;
  }
  .sidebar ul li:nth-child(9) a .text {
    -webkit-transition: opacity 0.4s ease 0.45s;
    transition: opacity 0.4s ease 0.45s;
  }
  .sidebar ul li:nth-child(10) a .text {
    -webkit-transition: opacity 0.4s ease 0.5s;
    transition: opacity 0.4s ease 0.5s;
  }
  .sidebar .mainMenu {
    padding-top: 6.25em;
  }
  .sidebar .backToTop {
    -webkit-transition: 0.6s ease;
    transition: 0.6s ease;
    width: 19.6875em;
    height: 5em;
    padding-top: 0;
    margin-top: 2em;
    padding: 1.75em 0;
  }
  .hover-pushed .sidebar .backToTop {
    width: 19.6875em;
  }
  .sidebar .backToTop ul li a .text {
    -webkit-transition: opacity 0.4s ease 0.55s;
    transition: opacity 0.4s ease 0.55s;
  }
  .hover-pushed .sidebar {
    width: 19.6875em;
  }
  .hover-pushed .sidebar .mainMenu ul li a .text,
  .hover-pushed .sidebar .backToTop ul li a .text {
    opacity: 1;
  }
}
@media screen and (min-width: 1200px) and (min-height: 630px) {
  .sidebar ul li {
    margin: 1.0625em 0;
  }
  .sidebar .backToTop {
    position: absolute;
    left: 0;
    bottom: 0;
    margin-top: 0;
  }
  .sidebar .mainMenu {
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -13.75em;
    padding-top: 0;
  }
}
/* Statistics */
.stastistical-part .content {
  text-align: center;
}
.stastistical-part .content .headergroup {
  font-size: 1.1em;
}
.stastistical-part .content .intro {
  font-size: 1.3em;
}
.stastistical-part .content .intro p {
  line-height: 1.2em;
}
.stastistical-part .content .statistics {
  width: 100%;
  max-width: 56.25em;
  margin: auto;
}
.stastistical-part .content .statistics .barChart {
  height: 300px;
  margin: 105px 0 40px;
  text-align: center;
  font-size: 0;
}
.stastistical-part .content .statistics .barChart .dummybar {
  display: inline-block;
  height: 100%;
}
.stastistical-part .content .statistics .barChart .bar {
  position: relative;
  -webkit-transition: height 0.6s ease;
  transition: height 0.6s ease;
  display: inline-block;
  vertical-align: bottom;
  width: 80px;
  margin: 0 7px;
  border: 1px solid white;
  background: #8a8a8a;
  height: 50%;
}
.stastistical-part .content .statistics .barChart .bar:nth-child(2) {
  border-color: #b2b2b2;
  background-color: #8a8a8a;
}
.stastistical-part .content .statistics .barChart .bar:nth-child(3) {
  border-color: #848686;
  background-color: #646566;
}
.stastistical-part .content .statistics .barChart .bar:nth-child(4) {
  border-color: #5e6162;
  background-color: #424446;
}
@media screen and (min-width: 750px) {
  .stastistical-part .content .statistics .barChart .bar {
    width: 90px;
  }
}
.stastistical-part .content .statistics .barChart .tooltip {
  position: absolute;
  bottom: 100%;
  left: 0;
  z-index: 1;
  padding-left: 0;
  padding-bottom: 0.25em;
  font-size: 18px;
  font-size: 1.125rem;
}
.stastistical-part .content .statistics .barChart .tooltip:before {
  display: none;
  border: 2px solid #424446;
}
@media screen and (min-width: 1400px) {
  .stastistical-part .content .statistics .barChart .tooltip {
    width: 20em;
    bottom: auto;
    top: -2.5em;
    padding-bottom: 0;
    text-align: center;
  }
  .stastistical-part .content .statistics .barChart .tooltip:before {
    display: block;
  }
  .stastistical-part .content .statistics .barChart .tooltip:after {
    width: 10.3125em;
    background: #424446;
  }
  .stastistical-part .content .statistics .barChart .tooltip.tooltip-left {
    padding-right: 11.5625em;
    left: auto;
    right: 100%;
  }
  .stastistical-part .content .statistics .barChart .tooltip.tooltip-right {
    padding-left: 11.5625em;
    left: 100%;
  }
  .stastistical-part .content .statistics .barChart .tooltip.tooltip-topRight {
    padding-left: 4.16667em;
    padding-bottom: 16.66667em;
    left: 40%;
    top: -10.83333em;
  }
}
@media screen and (min-width: 750px) {
  .stastistical-part .content .statistics .barChart {
    height: 400px;
    margin: 100px 0;
  }
}
.stastistical-part .content .statistics .rounded-icon {
  margin: 40px 0 20px;
  font-size: 1.125em;
  text-align: center;
}
.stastistical-part .content .statistics .rounded-icon li {
  opacity: 0;
  display: inline-block;
  vertical-align: top;
  margin-bottom: 2em;
  -webkit-transform: translateY(1em);
  -moz-transform: translateY(1em);
  -ms-transform: translateY(1em);
  -o-transform: translateY(1em);
  transform: translateY(1em);
  width: 100%;
}
.stastistical-part .content .statistics .rounded-icon li .rounded-icon-icon {
  display: block;
  margin: auto;
  width: 1.85em;
  height: 1.85em;
  padding-top: 0.4em;
  font-size: 5em;
  border: 2px solid #424446;
  background: #1b2021;
  border-radius: 50%;
}
.stastistical-part .content .statistics .rounded-icon li .rounded-icon-icon i {
  color: #424446;
}
.stastistical-part .content .statistics .rounded-icon li .rounded-icon-value,
.stastistical-part .content .statistics .rounded-icon li .rounded-icon-label {
  width: 100%;
  max-width: 11.5625em;
  margin: auto;
  text-transform: uppercase;
  line-height: 1.5em;
}
.stastistical-part .content .statistics .rounded-icon li .rounded-icon-value {
  margin-top: 0.75em;
  font-size: 1.3em;
  color: white;
}
.stastistical-part .content .statistics .rounded-icon li .rounded-icon-label {
  font-size: 1em;
  color: #8a8a8a;
}
.stastistical-part .content .statistics .rounded-icon li:nth-child(1) {
  -webkit-transition: 0.5s ease 0.1s;
  transition: 0.5s ease 0.1s;
}
.stastistical-part .content .statistics .rounded-icon li:nth-child(2) {
  -webkit-transition: 0.5s ease 0.2s;
  transition: 0.5s ease 0.2s;
}
.stastistical-part .content .statistics .rounded-icon li:nth-child(3) {
  -webkit-transition: 0.5s ease 0.3s;
  transition: 0.5s ease 0.3s;
}
.stastistical-part .content .statistics .rounded-icon li:nth-child(4) {
  -webkit-transition: 0.5s ease 0.4s;
  transition: 0.5s ease 0.4s;
}
.stastistical-part .content .statistics .rounded-icon li:nth-child(5) {
  -webkit-transition: 0.5s ease 0.5s;
  transition: 0.5s ease 0.5s;
}
.stastistical-part .content .statistics .rounded-icon li:nth-child(6) {
  -webkit-transition: 0.5s ease 0.6s;
  transition: 0.5s ease 0.6s;
}
.stastistical-part .content .statistics .rounded-icon li:nth-child(7) {
  -webkit-transition: 0.5s ease 0.7s;
  transition: 0.5s ease 0.7s;
}
.stastistical-part .content .statistics .rounded-icon li:nth-child(8) {
  -webkit-transition: 0.5s ease 0.8s;
  transition: 0.5s ease 0.8s;
}
.stastistical-part .content .statistics .rounded-icon li:nth-child(9) {
  -webkit-transition: 0.5s ease 0.9s;
  transition: 0.5s ease 0.9s;
}
.stastistical-part .content .statistics .rounded-icon li:nth-child(10) {
  -webkit-transition: 0.5s ease 1s;
  transition: 0.5s ease 1s;
}
.stastistical-part .content .statistics .rounded-icon.in-point li {
  opacity: 1;
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);
}
@media screen and (min-width: 750px) {
  .stastistical-part .content .statistics .rounded-icon {
    margin: 100px 0 40px;
    font-size: 1.3125em;
  }
  .stastistical-part .content .statistics .rounded-icon li {
    width: 49%;
  }
}
@media screen and (min-width: 1000px) {
  .stastistical-part .content .statistics .rounded-icon {
    margin-bottom: 60px;
  }
  .stastistical-part .content .statistics .rounded-icon li {
    width: 32.5%;
  }
}
@media screen and (min-width: 1400px) {
  .stastistical-part .content .statistics .rounded-icon {
    margin-bottom: 100px;
  }
}
.stastistical-part .content .statistics .pieChart {
  position: relative;
  margin: 0 auto 4em;
  width: 280px;
  height: 280px;
}
.stastistical-part .content .statistics .pieChart:before {
  z-index: 3;
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(178, 178, 178, 0);
}
.stastistical-part .content .statistics .pieChart .pieChart-overlay {
  position: absolute;
  left: 20%;
  top: 20%;
  z-index: 3;
  width: 60%;
  height: 60%;
  box-shadow: 0 0 0 1px #b2b2b2;
  background: #262b2d;
  border-radius: 50%;
}
.stastistical-part .content .statistics .pieChart .pieChart-overlay h3 {
  text-align: center;
  font-size: 1.45833em;
}
.stastistical-part .content .statistics .pieChart .pieChart-overlay h3 .seconday, .stastistical-part .content .statistics .pieChart .pieChart-overlay h3 h1 .em, h1 .stastistical-part .content .statistics .pieChart .pieChart-overlay h3 .em, .stastistical-part .content .statistics .pieChart .pieChart-overlay h3 h2 .em, h2 .stastistical-part .content .statistics .pieChart .pieChart-overlay h3 .em, .stastistical-part .content .statistics .pieChart .pieChart-overlay h3 .em, .stastistical-part .content .statistics .pieChart .pieChart-overlay h3 h4 .em, h4 .stastistical-part .content .statistics .pieChart .pieChart-overlay h3 .em, .stastistical-part .content .statistics .pieChart .pieChart-overlay h3 h5 .em, h5 .stastistical-part .content .statistics .pieChart .pieChart-overlay h3 .em, .stastistical-part .content .statistics .pieChart .pieChart-overlay h3 h6 .em, h6 .stastistical-part .content .statistics .pieChart .pieChart-overlay h3 .em,
.stastistical-part .content .statistics .pieChart .pieChart-overlay h3 .h1 .em,
.h1 .stastistical-part .content .statistics .pieChart .pieChart-overlay h3 .em, .stastistical-part .content .statistics .pieChart .pieChart-overlay h3 .h2 .em, .h2 .stastistical-part .content .statistics .pieChart .pieChart-overlay h3 .em, .stastistical-part .content .statistics .pieChart .pieChart-overlay h3 .section-team .team-members li .team-member-title .em, .section-team .team-members li .team-member-title .stastistical-part .content .statistics .pieChart .pieChart-overlay h3 .em, .stastistical-part .content .statistics .pieChart .pieChart-overlay h3 .h3 .em, .h3 .stastistical-part .content .statistics .pieChart .pieChart-overlay h3 .em, .stastistical-part .content .statistics .pieChart .pieChart-overlay h3 .section-brand .guidelines .columns .colors ul li .em, .section-brand .guidelines .columns .colors ul li .stastistical-part .content .statistics .pieChart .pieChart-overlay h3 .em, .stastistical-part .content .statistics .pieChart .pieChart-overlay h3 .h4 .em, .h4 .stastistical-part .content .statistics .pieChart .pieChart-overlay h3 .em, .stastistical-part .content .statistics .pieChart .pieChart-overlay h3 .h5 .em, .h5 .stastistical-part .content .statistics .pieChart .pieChart-overlay h3 .em, .stastistical-part .content .statistics .pieChart .pieChart-overlay h3 .h6 .em, .h6 .stastistical-part .content .statistics .pieChart .pieChart-overlay h3 .em {
  margin-top: 0.5em;
  font-family: "GillSans", Arial, sans-serif;
  text-transform: uppercase;
  font-size: 0.6em;
}
.stastistical-part .content .statistics .pieChart .pie-section {
  -webkit-transition: 0.6s linear;
  transition: 0.6s linear;
  position: absolute;
  z-index: 2;
  width: 140px;
  height: 280px;
  overflow: hidden;
  left: 140px;
  -webkit-transform-origin: 0 50%;
  -moz-transform-origin: 0 50%;
  -ms-transform-origin: 0 50%;
  -o-transform-origin: 0 50%;
  transform-origin: 0 50%;
  -webkit-transform: rotate(0);
  -moz-transform: rotate(0);
  -ms-transform: rotate(0);
  -o-transform: rotate(0);
  transform: rotate(0);
}
.stastistical-part .content .statistics .pieChart .pie-section .pie-section-before {
  -webkit-transition: 0.6s linear;
  transition: 0.6s linear;
  content: '';
  position: absolute;
  width: 140px;
  height: 280px;
  left: -140px;
  border-radius: 140px 0 0 140px;
  -webkit-transform-origin: 100% 50%;
  -moz-transform-origin: 100% 50%;
  -ms-transform-origin: 100% 50%;
  -o-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-transform: rotate(0);
  -moz-transform: rotate(0);
  -ms-transform: rotate(0);
  -o-transform: rotate(0);
  transform: rotate(0);
  opacity: 0;
}
.stastistical-part .content .statistics .pieChart .pie-section.big {
  width: 280px;
  height: 280px;
  left: 0;
  -webkit-transform-origin: 50% 50%;
  -moz-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  -o-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
}
.stastistical-part .content .statistics .pieChart .pie-section.big .pie-section-before {
  left: 0;
}
.stastistical-part .content .statistics .pieChart .pie-section.big .pie-section-after {
  -webkit-transition: 0.6s linear;
  transition: 0.6s linear;
  content: '';
  position: absolute;
  width: 140px;
  height: 280px;
  left: 140px;
  border-radius: 0 140px 140px 0;
  -webkit-transform: rotate(0);
  -moz-transform: rotate(0);
  -ms-transform: rotate(0);
  -o-transform: rotate(0);
  transform: rotate(0);
}
.stastistical-part .content .statistics .pieChart .pie-section:nth-of-type(2) .pie-section-before, .stastistical-part .content .statistics .pieChart .pie-section:nth-of-type(2) .pie-section-after {
  background: #646566;
}
.stastistical-part .content .statistics .pieChart .pie-section:nth-of-type(3) .pie-section-before, .stastistical-part .content .statistics .pieChart .pie-section:nth-of-type(3) .pie-section-after {
  background: #424446;
}
.stastistical-part .content .statistics .pieChart .pie-section:nth-of-type(4) .pie-section-before, .stastistical-part .content .statistics .pieChart .pie-section:nth-of-type(4) .pie-section-after {
  background: #929394;
}
.stastistical-part .content .statistics .pieChart .pie-section:nth-of-type(5) .pie-section-before, .stastistical-part .content .statistics .pieChart .pie-section:nth-of-type(5) .pie-section-after {
  background: #363738;
}
.stastistical-part .content .statistics .pieChart .pie-section:nth-of-type(6) .pie-section-before, .stastistical-part .content .statistics .pieChart .pie-section:nth-of-type(6) .pie-section-after {
  background: #a5a5a5;
}
.stastistical-part .content .statistics .pieChart .pie-section:nth-of-type(7) .pie-section-before, .stastistical-part .content .statistics .pieChart .pie-section:nth-of-type(7) .pie-section-after {
  background: #8a8a8a;
}
.stastistical-part .content .statistics .pieChart .pie-section-labels {
  position: absolute;
  left: 50%;
  top: 50%;
  opacity: 0;
}
.stastistical-part .content .statistics .pieChart .pie-section-labels .tooltip {
  display: none;
  position: absolute;
  left: auto;
  right: auto;
  top: auto;
  bottom: auto;
  z-index: 5;
  padding-left: 0;
  padding-bottom: 0.25em;
  font-size: 18px;
  font-size: 1.125rem;
}
.stastistical-part .content .statistics .pieChart .pie-section-labels .tooltip:before {
  display: none;
  border: 2px solid #424446;
}
@media screen and (min-width: 1400px) {
  .stastistical-part .content .statistics .pieChart .pie-section-labels .tooltip {
    display: block;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    width: 20em;
    padding-bottom: 0;
    text-align: center;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .stastistical-part .content .statistics .pieChart .pie-section-labels .tooltip:before {
    display: block;
  }
  .stastistical-part .content .statistics .pieChart .pie-section-labels .tooltip:after {
    width: 10.3125em;
    background: #424446;
  }
  .stastistical-part .content .statistics .pieChart .pie-section-labels .tooltip.tooltip-left {
    padding-right: 11.5625em;
    left: auto;
    right: auto;
  }
  .stastistical-part .content .statistics .pieChart .pie-section-labels .tooltip.tooltip-right {
    padding-left: 11.5625em;
    left: auto;
    right: auto;
  }
}
.stastistical-part .content .statistics .pieChart.in-point:before {
  box-shadow: 0 0 0 1px #b2b2b2;
}
.stastistical-part .content .statistics .pieChart.in-point .pie-section-labels {
  opacity: 1;
}
@media screen and (min-width: 750px) {
  .stastistical-part .content .statistics .pieChart {
    width: 420px;
    height: 420px;
  }
  .stastistical-part .content .statistics .pieChart .pieChart-overlay h3 {
    font-size: 2.1875em;
  }
  .stastistical-part .content .statistics .pieChart .pie-section {
    -webkit-transition: 0.6s linear;
    transition: 0.6s linear;
    position: absolute;
    z-index: 2;
    width: 210px;
    height: 420px;
    overflow: hidden;
    left: 210px;
    -webkit-transform-origin: 0 50%;
    -moz-transform-origin: 0 50%;
    -ms-transform-origin: 0 50%;
    -o-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
  }
  .stastistical-part .content .statistics .pieChart .pie-section .pie-section-before {
    -webkit-transition: 0.6s linear;
    transition: 0.6s linear;
    content: '';
    position: absolute;
    width: 210px;
    height: 420px;
    left: -210px;
    border-radius: 210px 0 0 210px;
    -webkit-transform-origin: 100% 50%;
    -moz-transform-origin: 100% 50%;
    -ms-transform-origin: 100% 50%;
    -o-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 0;
  }
  .stastistical-part .content .statistics .pieChart .pie-section.big {
    width: 420px;
    height: 420px;
    left: 0;
    -webkit-transform-origin: 50% 50%;
    -moz-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    -o-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
  }
  .stastistical-part .content .statistics .pieChart .pie-section.big .pie-section-before {
    left: 0;
  }
  .stastistical-part .content .statistics .pieChart .pie-section.big .pie-section-after {
    -webkit-transition: 0.6s linear;
    transition: 0.6s linear;
    content: '';
    position: absolute;
    width: 210px;
    height: 420px;
    left: 210px;
    border-radius: 0 210px 210px 0;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
  }
  .stastistical-part .content .statistics .pieChart .pie-section:nth-of-type(2) .pie-section-before, .stastistical-part .content .statistics .pieChart .pie-section:nth-of-type(2) .pie-section-after {
    background: #646566;
  }
  .stastistical-part .content .statistics .pieChart .pie-section:nth-of-type(3) .pie-section-before, .stastistical-part .content .statistics .pieChart .pie-section:nth-of-type(3) .pie-section-after {
    background: #424446;
  }
  .stastistical-part .content .statistics .pieChart .pie-section:nth-of-type(4) .pie-section-before, .stastistical-part .content .statistics .pieChart .pie-section:nth-of-type(4) .pie-section-after {
    background: #929394;
  }
  .stastistical-part .content .statistics .pieChart .pie-section:nth-of-type(5) .pie-section-before, .stastistical-part .content .statistics .pieChart .pie-section:nth-of-type(5) .pie-section-after {
    background: #363738;
  }
  .stastistical-part .content .statistics .pieChart .pie-section:nth-of-type(6) .pie-section-before, .stastistical-part .content .statistics .pieChart .pie-section:nth-of-type(6) .pie-section-after {
    background: #a5a5a5;
  }
  .stastistical-part .content .statistics .pieChart .pie-section:nth-of-type(7) .pie-section-before, .stastistical-part .content .statistics .pieChart .pie-section:nth-of-type(7) .pie-section-after {
    background: #8a8a8a;
  }
}
.stastistical-part .content .statistics .pieChart-list {
  width: 280px;
  margin: 2em auto 5px;
}
.stastistical-part .content .statistics .pieChart-list li {
  line-height: 1.6em;
  text-align: left;
  text-transform: uppercase;
}
.stastistical-part .content .statistics .pieChart-list li span {
  display: inline-block;
}
.stastistical-part .content .statistics .pieChart-list li span.label {
  width: 10em;
  color: #8a8a8a;
}
.stastistical-part .content .statistics .pieChart-list li:before {
  content: '';
  float: left;
  margin: 1px 7px 0 0;
  width: 16px;
  height: 16px;
  border: 2px solid #8a8a8a;
  background: #8a8a8a;
  border-radius: 50%;
}
.stastistical-part .content .statistics .pieChart-list li:nth-of-type(1):before {
  border-color: #646566;
  background: #646566;
}
.stastistical-part .content .statistics .pieChart-list li:nth-of-type(2):before {
  border-color: #424446;
  background: #424446;
}
.stastistical-part .content .statistics .pieChart-list li:nth-of-type(3):before {
  border-color: #929394;
  background: #929394;
}
.stastistical-part .content .statistics .pieChart-list li:nth-of-type(4):before {
  border-color: #363738;
  background: #363738;
}
.stastistical-part .content .statistics .pieChart-list li:nth-of-type(5):before {
  border-color: #a5a5a5;
  background: #a5a5a5;
}
.stastistical-part .content .statistics .pieChart-list li:nth-of-type(6):before {
  border-color: #8a8a8a;
  background: #8a8a8a;
}
@media screen and (min-width: 1400px) {
  .stastistical-part .content .statistics .pieChart-list {
    display: none;
  }
}


/* Timeline */
.upper-line{
  margin-top: -60px !important;
}
.timeline-part .intro p:first-child {
  font-size: 1.5em;
  margin-bottom: 1.3em;
}
.timeline-part .timeline {
  font-size: 1.125em;
  margin: 25px 0;
}
.timeline-part .timeline li {
  position: relative;
  padding: 0.5em 0 0.5em 76px;
  line-height: 1.5em;
}
.timeline-part .timeline li .title,
.timeline-part .timeline li .timeline-content {
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-transform: translateX(1em);
  -moz-transform: translateX(1em);
  -ms-transform: translateX(1em);
  -o-transform: translateX(1em);
  transform: translateX(1em);
  opacity: 0;
}
.timeline-part .timeline li .title {
  display: block;
  margin-bottom: 0.2em;
  font-weight: bold;
  color: white;
}
.timeline-part .timeline li .timeline-content {
  display: block;
}
.timeline-part .timeline li .timeline-content p {
  font-size: 1em;
}
.timeline-part .timeline li .timeline-content p strong {
  font-weight: normal;
  color: white;
}
.timeline-part .timeline li:after {
  content: '';
  position: absolute;
  left: 22px;
  top: 50%;
  z-index: -1;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  display: block;
  /*width: 16px;
  height: 16px;*/
  background: #1b2021;
  border: 0px solid #3a3e3f;
  border-radius: 50%;
}
.timeline-part .timeline li:before {
  content: '';
  position: absolute;
  left: 31px;
  top: 50%;
  z-index: -2;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 2px;
  height: 100%;
  background: #3a3e3f;
}
.timeline-part .timeline li:last-child:before {
  -webkit-transform: translateY(-100%);
  -moz-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  -o-transform: translateY(-100%);
  transform: translateY(-100%);
}
.timeline-part .timeline li.year {
  -webkit-transition: 0.50s ease;
  transition: 0.50s ease;
  width: 64px;
  height: 64px;
  padding: 0;
  text-align: center;
  line-height: 64px;
  font-size: 1.2em;
  color: #1b2021;
}
.timeline-part .timeline li.year:before {
  display: none;
}
.timeline-part .timeline li.year:after {
  left: 0;
  width: 60px;
  height: 60px;
}
.timeline-part .timeline li.in-point.year {
  color: #8a8a8a;
}
.timeline-part .timeline li.in-point .title,
.timeline-part .timeline li.in-point .timeline-content {
  -webkit-transition: 0.60s ease 0.60s;
  transition: 0.60s ease 0.60s;
  opacity: 1;
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  -ms-transform: translateX(0);
  -o-transform: translateX(0);
  transform: translateX(0);
}
@media screen and (min-width: 1000px) {
  .timeline-part .intro {
    float: left;
    width: 50%;
    width: calc(50% - 30px);
    padding-right: 40px;
    padding-top: 3.75em;
  }
  .timeline-part .timeline {
    float: left;
    width: 50%;
  }
  .timeline-part .timeline li {
    padding-left: 100px;
  }
  .timeline-part .timeline li.year {
    width: 80px;
    height: 80px;
    line-height: 80px;
    margin-left: -8px;
  }
  .timeline-part .timeline li.year:after {
    width: 76px;
    height: 76px;
  }
}

/* Sections */
/* Intro */
.section-intro {
  background-image: url(../images/intro_bg.jpg);
  position: relative;
  width: 100%;
  height: 12.5em;
  background-size: cover;
  background-repear: no-repeat;
  text-align: center;
}
.section-intro .content .container-template {
  width: 100%;
  max-width: 100%;
}
 span.text-contact{
   padding-bottom: 10px; 
  }

.section-intro .content h1 {
  -webkit-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
  opacity: 0;
  -webkit-transform: translateY(-0.6em);
  -moz-transform: translateY(-0.6em);
  -ms-transform: translateY(-0.6em);
  -o-transform: translateY(-0.6em);
  transform: translateY(-0.6em);
}
.section-intro .content h1.in-point {
  opacity: 1;
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);
}
.section-intro .content:after {
  background: rgba(27, 32, 33, 0.86);
}
.section-intro .bb-logo {
  display: none;
}
.section-intro.dont-scroll {
  background-position: 0 0 !important;
}
@media screen and (min-width: 750px) {
  .section-intro {
    height: 17.1875em;
  }
}
@media screen and (min-width: 1200px) {
  .section-intro {
    height: 21.875em;
    background-size: 100% auto;
    background-attachment: fixed;
  }
  .section-intro .bb-logo {
    display: inline-block;
    position: relative;
    z-index: 2;
    padding-top: 0.2em;
    font-size: 5em;
  }
}
@media screen and (min-width: 1600px) {
  .section-intro {
    height: 31.25em;
  }
  .section-intro .bb-logo {
    font-size: 6.25em;
  }
}

/* Tooltip */
.tooltip {
  position: relative;
  padding-left: 30px;
}
.tooltip p {
  margin: 0.5em 0;
  line-height: 1.2em;
  color: white;
}
.tooltip .tooltip-value,
.tooltip .tooltip-label {
  line-height: 1.2em;
  text-transform: uppercase;
  color: white !important;
}
.tooltip .tooltip-label {
  margin-bottom: 0.2em;
  color: #8a8a8a;
}
.tooltip:before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  display: block;
  width: 16px;
  height: 16px;
  border: 2px solid #8a8a8a;
  background: rgba(27, 32, 33, 0.7);
  border-radius: 50%;
}
@media screen and (min-width: 1400px) {
  .tooltip {
    position: absolute;
    z-index: 2;
    left: 0;
    top: 0;
    width: 32.5em;
    text-align: left;
  }
  .tooltip .tooltip-value,
  .tooltip .tooltip-label {
    line-height: 1.6em;
    margin: 0;
  }
  .tooltip:after {
    content: '';
    position: absolute;
    top: 50%;
    width: 16.5625em;
    height: 2px;
    margin-top: -1px;
    background: #8a8a8a;
  }
  .tooltip.tooltip-left {
    padding-right: 18.75em;
  }
  .tooltip.tooltip-left:before {
    right: 0;
    left: auto;
  }
  .tooltip.tooltip-left:after {
    right: 20px;
  }
  .tooltip.tooltip-right {
    padding-left: 18.75em;
  }
  .tooltip.tooltip-right:after {
    left: 20px;
  }
  .tooltip.tooltip-topRight {
    padding-left: 5.9375em;
    padding-bottom: 18.75em;
  }
  .tooltip.tooltip-topRight:after {
    left: 20px;
    -webkit-transform-origin: -9px 3px;
    -moz-transform-origin: -9px 3px;
    -ms-transform-origin: -9px 3px;
    -o-transform-origin: -9px 3px;
    transform-origin: -9px 3px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
}



/* Testimonials */
.testimonials-part .testimonials-part-section-seperator {
  position: relative;
  height: 25em;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  overflow: hidden;
}
.testimonials-part .testimonials-part-section-seperator .container-template {
  position: relative;
  z-index: 2;
  padding: 5% 6% 0 6%;
  width: 100%;
}
.testimonials-part .testimonials-part-section-seperator h2 {
  text-align: left;
  margin-bottom: 1em;
}
.testimonials-part .testimonials-part-section-seperator:after {
  left: -25%;
  width: 200%;
  background: rgba(27, 32, 33, 0.88);
  -webkit-transform: skewX(-25deg);
  -moz-transform: skewX(-25deg);
  -ms-transform: skewX(-25deg);
  -o-transform: skewX(-25deg);
  transform: skewX(-25deg);
  -webkit-transform-origin: 0 0;
  -moz-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  -o-transform-origin: 0 0;
  transform-origin: 0 0;
}
@media screen and (min-width: 750px) {
  .testimonials-part .testimonials-part-section-seperator {
    height: 31.25em;
  }
  .testimonials-part .testimonials-part-section-seperator h2 {
    margin-bottom: 1.5em;
  }
}
@media screen and (min-width: 1200px) {
  .testimonials-part .testimonials-part-section-seperator {
    height: 41.5em;
  }
  .testimonials-part .testimonials-part-section-seperator .container-template {
    width: 45%;
    padding-right: 0;
  }
  .testimonials-part .testimonials-part-section-seperator:after {
    left: -40%;
    width: 100%;
  }
}
@media screen and (min-width: 1400px) {
  .testimonials-part .testimonials-part-section-seperator .container-template {
    width: 35%;
  }
  .testimonials-part .testimonials-part-section-seperator:after {
    left: -50%;
  }
}
.testimonials-part .testimonials {
  line-height: 1.6em;
}
.testimonials-part .testimonials li {
  font-size: 1.1em;
}
.testimonials-part .testimonials li .testimonial-text {
    display: block;
    margin-bottom: 0.5em;
    font-size: 1.4em;
    color: #FFF;
    line-height: 26px;

}
.testimonials-part .testimonials li .testimonial-text:before {
  content: open-quote;
  display: inline-block;
  margin: 0 0.25em 0 0;
}
.testimonials-part .testimonials li .testimonial-text:after {
  content: close-quote;
  display: inline-block;
  margin: 0 0 0 0.25em;
}
.testimonials-part .testimonials li .testimonial-author {
  text-transform: uppercase;
  color: #8a8a8a;
}
@media screen and (min-width: 750px) {
  .testimonials-part .testimonials li .testimonial-text {
    margin-bottom: 1.5em;
  }
}
.testimonials-part .testimonials-container {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.testimonials-part .testimonials-container .testimonials-wrapper {
  position: relative;
  width: 100%;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
.testimonials-part .testimonials-container .testimonials-wrapper .testimonials-slide {
  width: 100%;
  padding: 0 1px;
  float: left;
}
.testimonials-part .testimonials-pagination {
  width: 100%;
  margin-top: 1em;
  text-align: center;
}
.testimonials-part .testimonials-pagination .swiper-pagination-switch {
  display: inline-block;
  width: 15px;
  height: 15px;
  margin: 0 8px;
  border: 2px solid #8a8a8a;
  border-radius: 50%;
  cursor: pointer;
}
.testimonials-part .testimonials-pagination .swiper-pagination-switch.swiper-active-switch {
  background: #8a8a8a;
}
@media screen and (min-width: 750px) {
  .testimonials-part .testimonials-pagination {
    margin-top: 2.5em;
  }
}

/* Profile */
.featured-part .content .intro {
  max-width: 46.875em;
  margin: auto;
  text-align: center;
  color: white;
}
.featured-part .content .intro p {
  color: white;
}
.featured-part .content .profile-container {
  margin: 0 auto;
}
.featured-part .content .profile-container .profile-wrapper {
  width: 100%;
}
.featured-part .content .profile-container .profile-wrapper .profile-slide {
  margin: 2em 0;
  width: 100%;
}
.featured-part .content .profile-container .profile-wrapper .profile-slide img {
  max-width: 100%;
  margin: auto;
}
.featured-part .content .profile-pagination {
  display: none;
}
.featured-part .content .profile-nav {
  display: none;
}
@media screen and (min-width: 750px) {
  .featured-part .content .profile-container {
    position: relative;
    overflow: hidden;
    z-index: 1;
  }
  .featured-part .content .profile-container .profile-wrapper {
    position: relative;
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
  }
  .featured-part .content .profile-container .profile-wrapper .profile-slide {
    margin: 0;
    float: left;
  }
  .featured-part .content .profile-container .profile-wrapper .profile-slide.profile-imac {
    padding: 5.3125em 0;
  }
  .featured-part .content .profile-container .profile-wrapper .profile-slide.profile-iphone {
    padding: 4.375em 0;
  }
  .featured-part .content .profile-pagination {
    display: block;
    margin: 3em 0 2em;
    width: 100%;
    text-align: center;
  }
  .featured-part .content .profile-pagination .swiper-pagination-switch {
    display: inline-block;
    margin: 0 15px;
    font-size: 3em;
    cursor: pointer;
    font-family: "beyond-bespoke-microsite";
    color: #8a8a8a;
  }
  .featured-part .content .profile-pagination .swiper-pagination-switch.swiper-active-switch {
    color: white;
  }
  .featured-part .content .container-template {
    position: relative;
  }
  .featured-part .content .profile-nav {
    position: absolute;
    top: 55%;
    z-index: 2;
    font-size: 4.6875em;
    color: #8a8a8a;
  }
  .featured-part .content .profile-nav.profile-nav-prev {
    left: 0;
  }
  .featured-part .content .profile-nav.profile-nav-next {
    right: 0;
  }
}
@media screen and (min-width: 1200px) {
  .featured-part .content .profile-nav {
    display: none;
  }
}
@media screen and (min-width: 1400px) {
  .featured-part .content .profile-container .profile-wrapper .profile-slide {
    text-align: center;
  }
  .featured-part .content .profile-container .profile-wrapper .profile-slide .profile-slide-wrapper {
    position: relative;
    display: inline-block;
  }
  .featured-part .content .profile-container .profile-wrapper .profile-slide .profile-slide-wrapper .profile-ipad-tooltip-1 {
    left: -17.1875em;
    top: 12.8125em;
  }
  .featured-part .content .profile-container .profile-wrapper .profile-slide .profile-slide-wrapper .profile-ipad-tooltip-2 {
    left: 20em;
    top: 8.125em;
  }
  .featured-part .content .profile-container .profile-wrapper .profile-slide .profile-slide-wrapper .profile-imac-tooltip-1 {
    left: 23.125em;
    top: 5.625em;
  }
  .featured-part .content .profile-container .profile-wrapper .profile-slide .profile-slide-wrapper .profile-imac-tooltip-2 {
    left: 16.5625em;
    top: 11.5625em;
  }
  .featured-part .content .profile-container .profile-wrapper .profile-slide .profile-slide-wrapper .profile-iphone-tooltip-1 {
    left: -18.75em;
    top: 1.25em;
  }
  .featured-part .content .profile-container .profile-wrapper .profile-slide .profile-slide-wrapper .profile-iphone-tooltip-2 {
    left: -27.8125em;
    top: 14.0625em;
  }
}

/* Pricing */
@media (min-width: 1020px) {
  .pricing-container {
    height: 500px;
  }
}

.pricing-part .pricing-menu {
  display: none;
  width: 100%;
  text-align: center;
  margin: auto;
  margin-bottom: 1.5em;
  text-transform: uppercase;
  font-size: 1.125em;
}
.pricing-part .pricing-menu li {
  display: inline-block;
  margin: 0 1.5em 0.75em 0;
  cursor: pointer;
}
.pricing-part .pricing-menu li a {
  color: #8a8a8a;
}
.pricing-part .pricing-menu li a:focus, .pricing-part .pricing-menu li a:hover {
  color: white;
}
.pricing-part .pricing-menu li.selected a {
  color: white;
}
.pricing-part .pricing-menu li:last-child {
  margin-right: 0;
}
@media screen and (min-width: 750px) {
  .pricing-part .pricing-menu {
    display: block;
    margin-bottom: 2em;
    font-size: 1.125em;
  }
}
@media screen and (min-width: 1400px) {
  .pricing-part .pricing-menu {
    margin-bottom: 3em;
    font-size: 1.3125em;
  }
}
.pricing-part .container-template {
  position: relative;
}
.pricing-part .pricing-nav {
  display: none;
  position: absolute;
  top: 50%;
  z-index: 2;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 4.6875em;
  color: #8a8a8a;
}
.pricing-part .pricing-nav.pricing-nav-prev {
  left: 0;
}
.pricing-part .pricing-nav.pricing-nav-next {
  right: 0;
}
@media screen and (min-width: 750px) {
  .pricing-part .pricing-nav {
    display: block;
  }
}
@media screen and (min-width: 1200px) {
  .pricing-part .pricing-nav {
    font-size: 6.25em;
  }
}
.pricing-part .pricing-container {
  margin: auto;
}
.pricing-part .pricing-container .pricing-wrapper .pricing-slide {
  margin-bottom: 3em;
}
.pricing-part .pricing-container .pricing-wrapper .pricing-slide .headergroup {
  font-size: 0.8em;
}
.pricing-part .pricing-container .pricing-wrapper .pricing-slide .headergroup h3 {
  font-family: "dubielitalic", Arial, sans-serif;
  font-size: 2.75em;
  text-transform: none;
}
.pricing-part .pricing-container .pricing-wrapper .pricing-slide .headergroup h3 .seconday, .pricing-part .pricing-container .pricing-wrapper .pricing-slide .headergroup h3 .em, .pricing-part .pricing-container .pricing-wrapper .pricing-slide .headergroup h3 .section-team .team-members li .team-member-title .em, .section-team .team-members li .team-member-title .pricing-part .pricing-container .pricing-wrapper .pricing-slide .headergroup h3 .em, .pricing-part .pricing-container .pricing-wrapper .pricing-slide .headergroup h3 .section-brand .guidelines .columns .colors ul li .em, .section-brand .guidelines .columns .colors ul li .pricing-part .pricing-container .pricing-wrapper .pricing-slide .headergroup h3 .em {
  font-size: 0.8em;
}
.pricing-part .pricing-container .pricing-wrapper .pricing-slide p {
  text-align: center;
}
@media screen and (min-width: 750px) {
  .pricing-part .pricing-container {
    position: relative;
    overflow: hidden;
    z-index: 1;
    margin: 0 auto;
    max-width: 34.375em;
  }
  .pricing-part .pricing-container .pricing-wrapper {
    position: relative;
    width: 100%;
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
  }
  .pricing-part .pricing-container .pricing-wrapper .pricing-slide {
    width: 100%;
    float: left;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1000px) {
  .pricing-part .pricing-container {
    max-width: 46.875em;
  }
}

/******Contact******/
  #contact{
    padding:10px 0 10px;
  }

  .contact-text{
    margin:45px auto;
  }

/* Contact Form */

  #contact .contact-form{
    /*width:90%;
    max-width: 830px;*/
    margin: 0 auto;
    padding:25px 25px 0px 25px;
    -moz-box-shadow: 0px 1px 4px rgba(0,0,0, 0.2);
    -webkit-box-shadow: 0px 1px 4px rgba(0,0,0, 0.2);
  }

  .mail-message-area{
    width:100%;
    padding:0 15px;
  }

  .mail-message{
    width: 100%;
    background:rgba(255,255,255, 0.8) !important;
    -webkit-transition: all 0.7s;
    -moz-transition: all 0.7s;
    transition: all 0.7s;
    margin:0 auto;
    border-radius: 0;
  }

  .not-visible-message{
    height:0px;
    opacity: 0;
  }

  .visible-message{
    height:auto;
    opacity: 1;
    margin:25px auto 0;
  }

/* Input Styles */

  .form{
    width: 100%;
    padding: 15px;
    background:rgba(0, 0, 0, 0.63);
    border:1px solid rgba(0, 0, 0, 0.075);
    margin-bottom:25px;
    color:#727272 !important;
    font-size:13px;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    transition: all 0.4s;
  }

  .form:hover{
    border:1px solid #8BC3A3;
  }

  .form:focus{
    color: white;
    outline: none;
    border:1px solid #8BC3A3;
  }

  .textarea{
    height: 200px;
    max-height: 200px;
    max-width: 100%;
  }
  
/* Generic Button Styles */

  .button{
    padding:8px 12px;
    background:#0A5175;
    display: block;
    width:120px;
    margin:10px 0 0px 0;
    border-radius:3px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    text-align:center;
    font-size:0.8em;
    box-shadow: 0px 1px 4px rgba(0,0,0, 0.10);
    -moz-box-shadow: 0px 1px 4px rgba(0,0,0, 0.10);
    -webkit-box-shadow: 0px 1px 4px rgba(0,0,0, 0.10);
  }

  .button:hover{
    background:#8BC3A3;
    color:white;
  }

/* Send Button Styles */

  .form-btn{
    width:180px;
    display: block;
    height: auto;
    padding:15px;
    color:#fff;
    background:rgba(44, 111, 119, 1);
    border:none;
    border-radius:3px;
    outline: none;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    margin:auto;
    box-shadow: 0px 1px 4px rgba(0,0,0, 0.10);
    -moz-box-shadow: 0px 1px 4px rgba(0,0,0, 0.10);
    -webkit-box-shadow: 0px 1px 4px rgba(0,0,0, 0.10);
  }

  .form-btn:hover{
    background:#111;
    color: white;
    border:none;
  }

  .form-btn:active{
    opacity: 0.9;
  }

  .review-form-section {
    background: #ffffff;
    padding: 50px 0;
    position: relative;
    z-index: 2;
}

.review-form-section h3 {
    margin-bottom: 20px;
}

.review-note {
    margin-top: 15px;
    font-size: 14px;
}

.specialist-part {
    background: #ffffff;
    padding: 70px 0;
}

.specialist-card {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

.specialist-photo {
    flex: 0 0 220px;
    max-width: 220px;
}

.specialist-photo img {
    width: 220px;
    height: 280px;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: 18px;
}

@media (max-width: 768px) {
    .specialist-card {
        display: block;
    }

    .specialist-photo {
        max-width: 220px;
        margin: 0 auto 25px;
    }

    .specialist-photo img {
        width: 220px;
        height: 280px;
    }
}

.specialist-info {
    flex: 1;
}

.specialist-info h3 {
    margin-top: 0;
}

.specialist-info h4 {
    margin-top: 25px;
}

@media (max-width: 768px) {
    .specialist-card {
        display: block;
    }

    .specialist-photo {
        margin-bottom: 25px;
    }
}

.site-logo {
    max-height: 42px;
    width: auto;
    display: block;
}

.site-logo-main {
    max-height: 90px;
    margin: 0 auto;
}

.site-logo-footer {
    max-height: 70px;
    margin: 0 auto;
}

html,
body {
    background: #ffffff !important;
}

main,
.content,
.specialist-part,
.timeline-part,
.stastistical-part,
.pricing-part,
.contact-form,
.review-form-section {
    background: #ffffff;
}

.timeline-part p,
.stastistical-part p,
.pricing-part p,
.contact-form p,
.specialist-info p,
.review-note {
    color: #555555;
}

.specialist-part h2,
.specialist-part h3,
.specialist-part h4,
.timeline-part h2,
.stastistical-part h2,
.pricing-part h2,
.contact-form h2,
.review-form-section h3 {
    color: #222222;
}

html,
body {
    background: var(--site-bg-color, #ffffff) !important;
    color: var(--site-text-color, #555555);
    font-family: var(--site-body-font, Arial, sans-serif);
    font-size: var(--site-base-font-size, 18px);
}

main,
.content,
.specialist-part,
.timeline-part,
.stastistical-part,
.pricing-part,
.contact-form,
.review-form-section {
    background: var(--site-bg-color, #ffffff) !important;
}

p,
.content-template p,
.specialist-info p,
.review-note,
.content-template li {
    color: var(--site-text-color, #555555) !important;
    font-family: var(--site-body-font, Arial, sans-serif) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.headergroup h2,
.specialist-info h3,
.specialist-info h4 {
    color: var(--site-heading-color, #222222) !important;
    font-family: var(--site-heading-font, Arial, sans-serif) !important;
}

h1 {
    font-size: var(--site-h1-font-size, 56px) !important;
}

h2,
.headergroup h2 {
    font-size: var(--site-h2-font-size, 40px) !important;
}

.seconday {
    color: var(--site-accent-color, #8a8a8a) !important;
}

.form-btn,
button.form-btn {
    background: var(--site-accent-color, #8a8a8a) !important;
    color: #ffffff !important;
}

.specialist-photo {
    flex: 0 0 var(--specialist-photo-width, 220px);
    max-width: var(--specialist-photo-width, 220px);
}

.specialist-photo img {
    width: var(--specialist-photo-width, 220px);
    height: var(--specialist-photo-height, 280px);
    object-fit: cover;
    object-position: center;
    border-radius: var(--specialist-photo-radius, 18px);
}

.normal-headings h1,
.normal-headings h2,
.normal-headings h3,
.normal-headings h4,
.normal-headings h5,
.normal-headings h6,
.normal-headings .sidebar ul li a .text {
    text-transform: none !important;
}

.uppercase-headings h1,
.uppercase-headings h2,
.uppercase-headings h3,
.uppercase-headings h4,
.uppercase-headings h5,
.uppercase-headings h6,
.uppercase-headings .sidebar ul li a .text {
    text-transform: uppercase !important;
}

/* ===== Forms readability fix ===== */

.contact-form {
    background: var(--site-bg-color, #ffffff) !important;
}

.contact-form .headergroup h2 {
    color: var(--site-heading-color, #222222) !important;
    text-align: center;
}

.contact-form .headergroup h2 .seconday {
    color: var(--site-accent-color, #555555) !important;
    opacity: 1 !important;
}

.form,
input.form,
textarea.form {
    width: 100%;
    background: #ffffff !important;
    color: #222222 !important;
    border: 1px solid #d0d0d0 !important;
    border-radius: 6px;
    padding: 14px 16px !important;
    font-size: 16px !important;
    line-height: 1.4;
    box-shadow: none !important;
}

textarea.form {
    min-height: 160px;
    resize: vertical;
}

.form::placeholder,
input.form::placeholder,
textarea.form::placeholder {
    color: #777777 !important;
    opacity: 1 !important;
}

.form:focus,
input.form:focus,
textarea.form:focus {
    border-color: var(--site-accent-color, #777777) !important;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.06) !important;
}

.form-btn,
button.form-btn {
    background: var(--site-accent-color, #555555) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 6px;
    padding: 14px 24px !important;
    min-height: 44px;
    line-height: 1.2 !important;
    cursor: pointer;
    font-size: 16px !important;
    font-weight: 600;
}

.form-btn:hover,
button.form-btn:hover {
    filter: brightness(0.9);
}

.contact-form .col-xs-6 {
    padding-left: 12px;
    padding-right: 12px;
}

@media (max-width: 768px) {
    .contact-form .col-xs-6 {
        width: 100%;
        float: none;
        padding-left: 0;
        padding-right: 0;
    }

    .contact-form .col-xs-6 + .col-xs-6 {
        margin-top: 0;
    }

    textarea.form {
        min-height: 130px;
    }
}

/* ===== Services and prices ===== */

.services-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
    margin-top: 35px;
}

.service-card {
    background: #ffffff;
    border: 1px solid #e5e5e5;
    border-radius: 18px;
    padding: 28px;
    text-align: left;
}

.service-card h3 {
    color: var(--site-heading-color, #222222) !important;
    margin-bottom: 16px;
    text-align: left;
    text-transform: none !important;
}

.service-description {
    color: var(--site-text-color, #555555);
    font-size: 18px;
    line-height: 1.5;
}

.service-images {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 16px;
    margin-top: 22px;
}

.service-image img {
    width: 100%;
    height: 180px;
    object-fit: contain;
    background: #FFF8F2;
    display: block;
    border-radius: 14px;
}

.service-image figcaption {
    margin-top: 8px;
    color: #777777;
    font-size: 14px;
}

.price-list {
    max-width: 760px;
    margin: 0 auto;
    padding: 0;
}

.price-list-item {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding: 18px 0;
    border-bottom: 1px solid #e5e5e5;
    color: var(--site-text-color, #555555);
    font-size: 20px;
    line-height: 1.4;
}

.price-service-title {
    font-weight: 600;
    color: var(--site-heading-color, #222222);
}

.price-service-value {
    white-space: nowrap;
    color: var(--site-accent-color, #555555);
    font-weight: 600;
}

@media (max-width: 768px) {
    .service-card {
        padding: 20px;
    }

    .price-list-item {
        display: block;
    }

    .price-service-value {
        display: block;
        margin-top: 6px;
        white-space: normal;
    }
}

select.form {
    width: 100%;
    background: #ffffff !important;
    color: #222222 !important;
    border: 1px solid #d0d0d0 !important;
    border-radius: 6px;
    padding: 14px 16px !important;
    font-size: 16px !important;
    line-height: 1.4;
    box-shadow: none !important;
    margin-bottom: 14px;
}

select.form:focus {
    border-color: var(--site-accent-color, #777777) !important;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.06) !important;
}

.specialists-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 36px;
}

.specialist-card {
    display: flex;
    gap: 32px;
    align-items: flex-start;
    background: #ffffff;
    border: 1px solid #e5e5e5;
    border-radius: 18px;
    padding: 28px;
}

.specialist-info h3 {
    color: var(--site-heading-color, #222222) !important;
    text-align: left;
    text-transform: none !important;
    margin-bottom: 10px;
}

.specialist-position {
    font-weight: 600;
    color: var(--site-accent-color, #555555) !important;
    margin-bottom: 16px;
}

.specialist-info h4 {
    color: var(--site-heading-color, #222222) !important;
    text-align: left;
    text-transform: none !important;
    margin-top: 22px;
    margin-bottom: 8px;
}

@media (max-width: 768px) {
    .specialist-card {
        display: block;
        padding: 20px;
    }

    .specialist-photo {
        margin: 0 auto 22px;
    }

    .specialist-info h3,
    .specialist-info h4,
    .specialist-position {
        text-align: center;
    }
}

/* ===== Site messages ===== */

.site-messages {
    position: fixed;
    top: 24px;
    right: 24px;
    z-index: 9999;
    max-width: 360px;
}

.site-message {
    background: #ffffff;
    color: #222222;
    border: 1px solid #d7d7d7;
    border-left: 5px solid var(--site-accent-color, #555555);
    border-radius: 8px;
    padding: 14px 18px;
    margin-bottom: 10px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    font-size: 16px;
    line-height: 1.4;
}

.site-message-success {
    border-left-color: #3b8f5a;
}

@media (max-width: 768px) {
    .site-messages {
        left: 16px;
        right: 16px;
        top: 16px;
        max-width: none;
    }
}

.section-intro,
.stastistical-part .section-seperator,
.testimonials-part .testimonials-part-section-seperator,
.pricing-part .section-seperator {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

/* ===== Hero section cleanup ===== */

.section-intro {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

.section-intro .content:after {
    background: rgba(255, 255, 255, 0.25) !important;
}

.section-intro h1 {
    color: var(--site-heading-color, #222222) !important;
    text-shadow: none !important;
}

.section-intro h1 .seconday {
    color: var(--site-accent-color, #777777) !important;
}

.hero-logo {
    max-height: 90px;
    width: auto;
    margin: 0 auto 24px;
    display: block;
}

/* ===== Fix hero background from admin ===== */

.section-intro .content {
    background: transparent !important;
}

.section-intro .content:after {
    background: rgba(255, 255, 255, 0.18) !important;
    pointer-events: none;
}

.section-intro {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

/* ===== Admin-controlled buttons ===== */

.form-btn,
button.form-btn,
.btn,
button.btn,
input.btn,
input[type="submit"] {
    background: var(--site-button-bg-color, #555555) !important;
    color: var(--site-button-text-color, #ffffff) !important;
    border: none !important;
}

.form-btn:hover,
button.form-btn:hover,
.btn:hover,
button.btn:hover,
input.btn:hover,
input[type="submit"]:hover {
    filter: brightness(0.92);
}


/* ===== Price table ===== */

.price-table-wrapper {
    max-width: 860px;
    margin: 0 auto;
    overflow-x: auto;
    border-radius: 16px;
    border: 1px solid var(--price-table-border-color, #e5e5e5);
    background: var(--price-table-bg-color, #ffffff);
}

.price-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--price-table-bg-color, #ffffff);
    color: var(--price-table-text-color, #222222);
}

.price-table th,
.price-table td {
    padding: 18px 22px;
    border-bottom: 1px solid var(--price-table-border-color, #e5e5e5);
    font-size: 18px;
    line-height: 1.4;
    text-align: left;
    color: var(--price-table-text-color, #222222);
}

.price-table th {
    font-weight: 700;
    background: rgba(0, 0, 0, 0.03);
}

.price-table tr:last-child td {
    border-bottom: none;
}

.price-table td:last-child,
.price-table th:last-child {
    text-align: right;
    white-space: nowrap;
}

.price-table td:last-child {
    color: var(--price-value-color, #555555);
    font-weight: 700;
}

@media (max-width: 768px) {
    .price-table th,
    .price-table td {
        padding: 14px 12px;
        font-size: 15px;
    }

    .price-table td:last-child,
    .price-table th:last-child {
        white-space: normal;
    }
}


/* ===== Reviews overlay controlled from admin ===== */

.testimonials-part {
    background: var(--site-bg-color, #FFF8F2) !important;
}

.testimonials-part.section-custom-style::before {
    display: none !important;
}

.testimonials-part .testimonials-part-section-seperator {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    border-radius: var(--section-image-border-radius, 0) !important;
}

/* Скошенное затемнение отзывов */
.testimonials-part .testimonials-part-section-seperator::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: -25% !important;
    width: 200% !important;
    height: 100% !important;

    background: var(--reviews-overlay-color, #1b2021) !important;
    opacity: var(--reviews-overlay-opacity, 0.65) !important;

    transform: skewX(-25deg) !important;
    transform-origin: 0 0 !important;

    border-radius: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

.testimonials-part .testimonials-part-section-seperator .container-template {
    position: relative !important;
    z-index: 2 !important;
}

@media screen and (min-width: 1200px) {
    .testimonials-part .testimonials-part-section-seperator::after {
        left: -40% !important;
        width: 100% !important;
    }
}

@media screen and (min-width: 1400px) {
    .testimonials-part .testimonials-part-section-seperator::after {
        left: -50% !important;
    }
}

@media (max-width: 768px) {
    .testimonials-part .testimonials-part-section-seperator {
        border-radius: var(
            --section-mobile-image-border-radius,
            var(--section-image-border-radius, 0)
        ) !important;
    }
}

.testimonials-part.section-custom-style {
    background-color: var(--site-bg-color, #FFF8F2) !important;
}

.testimonials-part .testimonials-part-section-seperator {
    clip-path: inset(0 round var(--section-image-border-radius, 0)) !important;
}

@media (max-width: 768px) {
    .testimonials-part .testimonials-part-section-seperator {
        clip-path: inset(
            0 round var(
                --section-mobile-image-border-radius,
                var(--section-image-border-radius, 0)
            )
        ) !important;
    }
}

/* ===== Reviews layout ===== */

.testimonial-author {
    display: block;
    margin-bottom: 14px;
    font-weight: 700;
    font-size: 18px;
    color: #ffffff !important;
    text-transform: none !important;
}

.testimonial-text {
    display: block;
    margin-bottom: 18px;
    font-size: 20px;
    line-height: 1.5;
    color: #ffffff !important;
    text-transform: none !important;
}

.testimonial-specialist {
    display: block;
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.75) !important;
    text-transform: none !important;
}

@media (max-width: 768px) {
    .testimonial-author {
        font-size: 16px;
    }

    .testimonial-text {
        font-size: 17px;
    }

    .testimonial-specialist {
        font-size: 13px;
    }
}

/* ===== Privacy consent checkbox ===== */

.privacy-consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 18px 0 8px;
    color: var(--site-text-color, #555555);
    font-size: 14px;
    line-height: 1.4;
    text-align: left;
    cursor: pointer;
}

.privacy-consent input {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    flex: 0 0 18px;
    cursor: pointer;
}

.privacy-consent span {
    display: block;
    color: var(--site-text-color, #555555);
}

.privacy-consent a {
    color: var(--site-accent-color, #555555);
    text-decoration: underline;
}

/* ===== Honeypot anti-spam field ===== */

.honeypot-field {
    position: absolute !important;
    left: -9999px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* ===== FAQ section ===== */

.faq-part {
    background: var(--site-bg-color, #ffffff) !important;
}

.faq-list {
    max-width: 900px;
    margin: 36px auto 0;
    display: grid;
    gap: 18px;
}

.faq-item {
    background: #ffffff;
    border: 1px solid var(--price-table-border-color, #e5e5e5);
    border-radius: 16px;
    padding: 24px;
    text-align: left;
}

.faq-item h3 {
    margin: 0 0 12px;
    color: var(--site-heading-color, #222222) !important;
    font-size: 20px !important;
    line-height: 1.35;
    text-align: left;
    text-transform: none !important;
}

.faq-answer {
    color: var(--site-text-color, #555555);
    font-size: 17px;
    line-height: 1.55;
}

@media (max-width: 768px) {
    .faq-item {
        padding: 18px;
    }

    .faq-item h3 {
        font-size: 18px !important;
    }

    .faq-answer {
        font-size: 15px;
    }
}

/* ===== Work steps section ===== */

.work-steps-part {
    background: var(--site-bg-color, #ffffff) !important;
}

.work-steps-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 22px;
    margin-top: 36px;
}

.work-step-card {
    position: relative;
    background: #ffffff;
    border: 1px solid var(--price-table-border-color, #e5e5e5);
    border-radius: 18px;
    padding: 26px 22px;
    text-align: left;
}

.work-step-number {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--site-accent-color, #555555);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    margin-bottom: 18px;
}

.work-step-icon {
    font-size: 28px;
    color: var(--site-accent-color, #555555);
    margin-bottom: 14px;
}

.work-step-card h3 {
    margin: 0 0 12px;
    color: var(--site-heading-color, #222222) !important;
    font-size: 20px !important;
    line-height: 1.35;
    text-align: left;
    text-transform: none !important;
}

.work-step-description {
    color: var(--site-text-color, #555555);
    font-size: 16px;
    line-height: 1.55;
}

@media (max-width: 768px) {
    .work-steps-list {
        grid-template-columns: 1fr;
    }

    .work-step-card {
        padding: 20px;
    }
}

/* ===== Section subtitles from admin ===== */

.section-subtitle {
    display: block !important;
    color: var(--site-subtitle-color, #8a8a8a) !important;
    font-size: var(--site-subtitle-font-size, 34px) !important;
    font-family: var(--site-subtitle-font, Arial, sans-serif) !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    margin-bottom: 6px !important;
}

/* ===== Custom admin-created sections ===== */

.custom-section {
    background: var(--site-bg-color, #ffffff);
}

.custom-section-hero {
    position: relative;
    min-height: 260px;
    display: flex;
    align-items: center;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.custom-section-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.72);
    z-index: 1;
}

.custom-section-hero .container-template {
    position: relative;
    z-index: 2;
}

.custom-section h2 {
    color: var(--site-heading-color, #222222);
    font-family: var(--site-heading-font, Arial, sans-serif);
    font-size: var(--site-h2-font-size, 40px);
    text-align: center;
    text-transform: none !important;
}

.custom-section-text {
    max-width: 900px;
    margin: 28px auto 0;
    color: var(--site-text-color, #555555);
    font-size: var(--site-base-font-size, 18px);
    line-height: 1.65;
    text-align: left;
    background: #ffffff;
    border: 1px solid var(--price-table-border-color, #e5e5e5);
    border-radius: 18px;
    padding: 28px;
}

@media (max-width: 768px) {
    .custom-section-hero {
        min-height: 200px;
    }

    .custom-section-text {
        padding: 20px;
        font-size: 15px;
    }
}

/* ===== Mobile adaptation cleanup ===== */

@media (max-width: 768px) {
    body {
        overflow-x: hidden;
    }

    .container,
    .container-template {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        box-sizing: border-box;
    }

    .content {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }

    .headergroup h2,
    .section-seperator h2,
    .custom-section h2,
    .testimonials-part h2,
    .pricing-part h2,
    .contact-form h2 {
        font-size: 30px !important;
        line-height: 1.15 !important;
        word-break: normal;
    }

    .section-subtitle {
        font-size: 22px !important;
        line-height: 1.2 !important;
    }

    .section-intro {
        min-height: 520px !important;
        height: auto !important;
    }

    .section-intro .content {
        min-height: 520px !important;
        height: auto !important;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 80px 16px 48px !important;
    }

    .section-intro h1 {
        font-size: 34px !important;
        line-height: 1.15 !important;
        text-align: center;
    }

    .hero-logo {
        max-height: 72px;
        margin-bottom: 18px;
    }

    .specialist-card {
        display: block !important;
        padding: 20px !important;
        border-radius: 16px;
    }

    .specialist-photo {
        width: 100% !important;
        max-width: 240px !important;
        margin: 0 auto 20px !important;
    }

    .specialist-photo img {
        width: 100% !important;
        height: auto !important;
        display: block;
    }

    .specialist-info h3,
    .specialist-info h4,
    .specialist-position {
        text-align: center !important;
    }

    .services-list {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    .service-card {
        padding: 20px !important;
        border-radius: 16px;
    }

    .service-images {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .service-image img {
        width: 100% !important;
        height: auto !important;
        max-height: 260px;
        object-fit: cover;
        border-radius: 12px;
    }

    .work-steps-list {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .work-step-card {
        padding: 20px !important;
    }

    .price-table-wrapper {
        width: 100% !important;
        overflow-x: auto;
        border-radius: 12px;
    }

    .price-table {
        min-width: 520px;
    }

    .price-table th,
    .price-table td {
        padding: 14px 12px !important;
        font-size: 15px !important;
    }

    .faq-list {
        gap: 14px !important;
    }

    .faq-item {
        padding: 18px !important;
        border-radius: 14px;
    }

    .custom-section-text {
        padding: 20px !important;
        font-size: 15px !important;
        border-radius: 14px;
    }

    .contact-form .col-xs-6 {
        width: 100% !important;
        float: none !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .form,
    select.form,
    textarea.form {
        width: 100% !important;
        box-sizing: border-box;
        font-size: 16px !important;
    }

    textarea.form {
        min-height: 140px;
    }

    .form-btn {
        width: 100% !important;
        display: block;
        text-align: center;
        margin-top: 12px;
    }

    .privacy-consent {
        font-size: 13px !important;
        line-height: 1.4 !important;
    }

    .review-form-section .content-template,
    .contact-form .inner {
        width: 100% !important;
        max-width: 100% !important;
    }

    .testimonials-slide {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .testimonial-author {
        font-size: 16px !important;
    }

    .testimonial-text {
        font-size: 17px !important;
        line-height: 1.45 !important;
    }

    .testimonial-specialist {
        font-size: 13px !important;
    }
}

/* ===== Responsive hero background ===== */

.section-intro {
    background-image: var(--hero-bg-desktop) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

@media (max-width: 768px) {
    .section-intro {
        background-image: var(--hero-bg-mobile, var(--hero-bg-desktop)) !important;
        background-position: center center !important;
    }
}

/* ===== Header, sidebar menu and logo controls from admin ===== */

.pageHeader {
    background-color: var(--site-header-bg-color, #1b2021) !important;
    overflow: hidden !important;
}

.headerLogo {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(
        calc(-50% + var(--header-logo-offset-x, 0px)),
        calc(-50% + var(--header-logo-offset-y, 0px))
    ) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 0 !important;
    z-index: 5 !important;
}

.headerLogo .site-logo {
    width: var(--header-logo-width, 34px) !important;
    height: auto !important;
    max-height: 38px !important;
    object-fit: contain !important;
    display: block !important;
}

.sidebar,
.mainMenu,
.mainMenu ul,
.mainMenu .menu {
    background-color: var(--site-sidebar-bg-color, #1b2021) !important;
}

.mainMenu a,
.mainMenu .text,
.mainMenu i,
.backToTop a,
.backToTop .text,
.backToTop i {
    color: var(--site-menu-text-color, #ffffff) !important;
}

.menu-trigger .lines,
.menu-trigger .lines::before,
.menu-trigger .lines::after {
    background-color: var(--site-menu-icon-color, #ffffff) !important;
}

/* ===== Privacy policy page ===== */

.privacy-page {
    background: var(--site-bg-color, #ffffff);
    color: var(--site-text-color, #555555);
    font-family: var(--site-body-font, Arial, sans-serif);
    font-size: var(--site-base-font-size, 18px);
    line-height: 1.6;
}

.privacy-page-wrapper {
    min-height: 100vh;
    padding: 48px 16px;
    box-sizing: border-box;
}

.privacy-page-card {
    max-width: 900px;
    margin: 0 auto;
    background: #ffffff;
    border: 1px solid var(--price-table-border-color, #e5e5e5);
    border-radius: 18px;
    padding: 36px;
    box-sizing: border-box;
}

.privacy-page-card h1 {
    margin: 24px 0;
    color: var(--site-heading-color, #222222);
    font-family: var(--site-heading-font, Arial, sans-serif);
    font-size: 36px;
    line-height: 1.2;
    text-transform: none !important;
}

.privacy-text {
    white-space: normal;
}

.privacy-updated {
    margin-top: 28px;
    color: #888888;
    font-size: 14px;
}

.privacy-back-link {
    display: inline-block;
    color: var(--site-accent-color, #555555);
    text-decoration: none;
    font-weight: 600;
}

.privacy-back-link:hover {
    text-decoration: underline;
}

@media (max-width: 768px) {
    .privacy-page-wrapper {
        padding: 24px 12px;
    }

    .privacy-page-card {
        padding: 22px;
        border-radius: 14px;
    }

    .privacy-page-card h1 {
        font-size: 26px;
    }
}

/* ===== Modern header layout ===== */

.pageHeader {
    height: var(--site-header-height, 68px) !important;
    min-height: var(--site-header-height, 68px) !important;
    background-color: var(--site-header-bg-color, #1b2021) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 18px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.headerBrand {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    text-decoration: none !important;
    min-width: 0 !important;
}

.headerBrand .site-logo {
    width: var(--header-logo-width, 42px) !important;
    height: auto !important;
    max-height: calc(var(--site-header-height, 68px) - 14px) !important;
    object-fit: contain !important;
    display: block !important;
    flex: 0 0 auto !important;
    transform: translate(
        var(--header-logo-offset-x, 0px),
        var(--header-logo-offset-y, 0px)
    ) !important;
}

.headerBrandText {
    color: var(--site-header-brand-text-color, #ffffff) !important;
    font-size: var(--site-header-brand-font-size, 18px) !important;
    font-family: var(--site-heading-font, Arial, sans-serif) !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

.headerSocials {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-left: auto !important;
    margin-right: 18px !important;
}

.headerSocials a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 34px !important;
    height: 34px !important;
    padding: 0 10px !important;
    border: 1px solid rgba(255,255,255,0.35) !important;
    border-radius: 999px !important;
    color: var(--site-menu-text-color, #ffffff) !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
}

.headerSocials a:hover {
    border-color: rgba(255,255,255,0.8) !important;
}

.menu-trigger {
    position: relative !important;
    flex: 0 0 auto !important;
    right: auto !important;
    top: auto !important;
}

@media (max-width: 768px) {
    .pageHeader {
        padding: 0 14px !important;
    }

    .headerBrandText {
        font-size: 14px !important;
        max-width: 180px !important;
        white-space: normal !important;
    }

    .headerSocials {
        display: none !important;
    }

    .headerBrand .site-logo {
        width: 38px !important;
    }
}

/* ===== Social links inside sidebar/mobile menu ===== */

.sidebarSocials {
    padding: 18px 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    background: var(--site-sidebar-bg-color, #1b2021);
}

.sidebarSocialsTitle {
    margin-bottom: 12px;
    color: var(--site-menu-text-color, #ffffff);
    font-size: 13px;
    font-weight: 600;
    opacity: 0.75;
}

.sidebarSocialsLinks {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sidebarSocialsLinks a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 999px;
    color: var(--site-menu-text-color, #ffffff) !important;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
}

.sidebarSocialsLinks a:hover {
    border-color: rgba(255, 255, 255, 0.8);
}

/* ===== Mobile horizontal sections ===== */

@media (max-width: 768px) {
    .specialists-list {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 16px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 4px 16px 18px !important;
        margin-left: -16px !important;
        margin-right: -16px !important;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .specialists-list::-webkit-scrollbar,
    .work-steps-list::-webkit-scrollbar,
    .service-images::-webkit-scrollbar {
        height: 6px;
    }

    .specialists-list::-webkit-scrollbar-thumb,
    .work-steps-list::-webkit-scrollbar-thumb,
    .service-images::-webkit-scrollbar-thumb {
        background: rgba(0, 0, 0, 0.18);
        border-radius: 999px;
    }

    .specialist-card {
        flex: 0 0 84% !important;
        max-width: 84% !important;
        scroll-snap-align: center;
    }

    .work-steps-list {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 16px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 4px 16px 18px !important;
        margin-left: -16px !important;
        margin-right: -16px !important;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .work-step-card {
        flex: 0 0 78% !important;
        max-width: 78% !important;
        scroll-snap-align: center;
        min-height: 210px;
    }

    .service-images {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 12px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding-bottom: 14px !important;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .service-image {
        flex: 0 0 82% !important;
        max-width: 82% !important;
        scroll-snap-align: center;
        margin: 0 !important;
    }

    .service-image img {
        width: 100% !important;
        height: 220px !important;
        object-fit: cover !important;
        border-radius: 14px !important;
    }
}

/* ===== Mobile price cards ===== */

.mobile-price-list {
    display: none;
}

@media (max-width: 768px) {
    .pricing-part .price-table-wrapper {
        display: none !important;
    }

    .mobile-price-list {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .mobile-price-card {
        padding: 18px 18px 16px !important;
        border: 1px solid var(--price-table-border-color, #e5e5e5);
        border-radius: 16px;
        background: var(--price-table-bg-color, #ffffff);
        box-sizing: border-box;
    }

    .mobile-price-card h3 {
        margin: 0 0 10px !important;
        color: var(--price-table-text-color, #222222);
        font-size: 17px !important;
        line-height: 1.3 !important;
        font-weight: 600 !important;
    }

    .mobile-price-value {
        display: inline-flex;
        align-items: center;
        padding: 8px 12px;
        border-radius: 999px;
        background: rgba(0, 135, 122, 0.08);
        color: var(--price-value-color, #555555);
        font-size: 18px;
        font-weight: 700;
        line-height: 1.2;
    }
}

/* ===== Mobile price card details ===== */

@media (max-width: 768px) {
    .mobile-price-meta {
        margin-top: 10px;
        color: var(--price-table-text-color, #555555);
        font-size: 14px;
        line-height: 1.4;
    }

    .mobile-price-meta span {
        display: block;
        margin-bottom: 2px;
        color: var(--site-heading-color, #222222);
        font-weight: 600;
    }
}

/* ===== Per-section admin styling ===== */

.section-custom-style {
    background-color: var(--section-bg-color, var(--site-bg-color, #ffffff)) !important;
    color: var(--section-text-color, var(--site-text-color, #555555)) !important;
}

.section-custom-style > .content,
.section-custom-style .content {
    padding-top: var(--section-padding-top, 70px) !important;
    padding-bottom: var(--section-padding-bottom, 70px) !important;
}

.section-custom-style h2,
.section-custom-style h3,
.section-custom-style .headergroup h2 {
    color: var(--section-heading-color, var(--site-heading-color, #222222)) !important;
}

.section-custom-style p,
.section-custom-style li,
.section-custom-style .service-description,
.section-custom-style .work-step-description,
.section-custom-style .custom-section-text,
.section-custom-style .faq-item,
.section-custom-style .testimonial-text {
    color: var(--section-text-color, var(--site-text-color, #555555));
}

@media (max-width: 768px) {
    .section-custom-style > .content,
    .section-custom-style .content {
        padding-top: var(--section-mobile-padding-top, 48px) !important;
        padding-bottom: var(--section-mobile-padding-bottom, 48px) !important;
    }
}

/* ===== Compact mobile contact form ===== */

@media (max-width: 768px) {
    .contact-form .content {
        padding-top: var(--section-mobile-padding-top, 36px) !important;
        padding-bottom: var(--section-mobile-padding-bottom, 36px) !important;
    }

    .contact-form .headergroup {
        margin-bottom: 18px !important;
    }

    .contact-form .headergroup h2 {
        font-size: 28px !important;
        line-height: 1.15 !important;
        margin-bottom: 0 !important;
    }

    .contact-form .section-subtitle {
        font-size: 20px !important;
        margin-bottom: 4px !important;
    }

    .contact-form .inner.contact,
    .contact-form .inner,
    .contact-form .contact {
        padding: 0 !important;
        margin: 0 !important;
    }

    .contact-form form {
        background: #ffffff;
        border: 1px solid var(--price-table-border-color, #e5e5e5);
        border-radius: 18px;
        padding: 18px !important;
        box-sizing: border-box;
    }

    .contact-form br {
        display: none !important;
    }

    .contact-form .col-xs-6,
    .contact-form .col-xs-12,
    .contact-form .relative,
    .contact-form .fullwidth {
        width: 100% !important;
        float: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .contact-form .form,
    .contact-form select.form,
    .contact-form textarea.form {
        width: 100% !important;
        height: 46px !important;
        min-height: 46px !important;
        margin: 0 0 10px !important;
        padding: 10px 12px !important;
        border-radius: 12px !important;
        box-sizing: border-box !important;
        font-size: 15px !important;
        line-height: 1.25 !important;
    }

    .contact-form textarea.form {
        height: 92px !important;
        min-height: 92px !important;
        resize: vertical;
    }

    .privacy-consent {
        display: flex !important;
        align-items: flex-start !important;
        gap: 8px !important;
        margin: 6px 0 12px !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
    }

    .privacy-consent input {
        flex: 0 0 auto;
        margin-top: 2px;
    }

    .privacy-consent span {
        display: block;
    }

    .privacy-consent a {
        color: var(--site-accent-color, #00877a);
        text-decoration: underline;
    }

    .contact-form .form-btn {
        width: 100% !important;
        height: 48px !important;
        margin-top: 4px !important;
        border-radius: 999px !important;
        font-size: 15px !important;
        line-height: 1 !important;
    }
}

/* ===== Optional anti-copy layer ===== */

body.protect-copy {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

body.protect-copy input,
body.protect-copy textarea,
body.protect-copy select {
    -webkit-user-select: text;
    -moz-user-select: text;
    user-select: text;
}

body.protect-copy img {
    -webkit-user-drag: none;
    user-drag: none;
}

/* ===== Compact site footer ===== */

.siteFooterCompact {
    background: var(--site-header-bg-color, #1b2021) !important;
    color: var(--site-menu-text-color, #ffffff) !important;
    padding: 22px 0 0 !important;
}

.siteFooterCompactInner {
    display: grid;
    grid-template-columns: 1.2fr 1.4fr 1fr;
    gap: 22px;
    align-items: center;
}

.siteFooterCompactBrand {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.siteFooterCompactLogo {
    width: 42px !important;
    height: auto !important;
    max-height: 42px !important;
    object-fit: contain !important;
    flex: 0 0 auto;
}

.siteFooterCompactTitle {
    color: var(--site-menu-text-color, #ffffff) !important;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
}

.siteFooterCompactText {
    margin-top: 5px;
    color: rgba(255, 255, 255, 0.68);
    font-size: 12px;
    line-height: 1.35;
}

.siteFooterCompactNav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    justify-content: center;
}

.siteFooterCompactNav a,
.siteFooterCompactPolicy,
.siteFooterCompactBottom a {
    color: rgba(255, 255, 255, 0.74) !important;
    text-decoration: none !important;
    font-size: 12px;
    line-height: 1.2;
}

.siteFooterCompactNav a:hover,
.siteFooterCompactPolicy:hover,
.siteFooterCompactBottom a:hover {
    color: var(--site-menu-text-color, #ffffff) !important;
    text-decoration: underline !important;
}

.siteFooterCompactRight {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
}

.siteFooterCompactSocials {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}

.siteFooterCompactSocials a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 28px;
    padding: 0 9px;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 999px;
    color: var(--site-menu-text-color, #ffffff) !important;
    text-decoration: none !important;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}

.siteFooterCompactBottom {
    margin-top: 18px;
    padding: 10px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.58);
    font-size: 11px;
}

.siteFooterCompactBottom .container-template {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

@media (max-width: 768px) {
    .siteFooterCompact {
        padding-top: 18px !important;
    }

    .siteFooterCompactInner {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .siteFooterCompactBrand {
        align-items: flex-start;
    }

    .siteFooterCompactLogo {
        width: 38px !important;
        max-height: 38px !important;
    }

    .siteFooterCompactTitle {
        font-size: 15px;
    }

    .siteFooterCompactText {
        font-size: 12px;
    }

    .siteFooterCompactNav {
        justify-content: flex-start;
        gap: 8px 12px;
    }

    .siteFooterCompactRight {
        align-items: flex-start;
    }

    .siteFooterCompactSocials {
        justify-content: flex-start;
    }

    .siteFooterCompactBottom {
        margin-top: 16px;
    }

    .siteFooterCompactBottom .container-template {
        display: block;
    }

    .siteFooterCompactBottom a,
    .siteFooterCompactBottom span + span {
        display: block;
        margin-top: 5px;
    }
}

/* ===== Specialist modal ===== */

.specialist-more-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 16px;
    padding: 10px 18px;
    border: 0;
    border-radius: 999px;
    background: var(--site-button-bg-color, #555555);
    color: var(--site-button-text-color, #ffffff);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.specialist-more-btn:hover {
    opacity: 0.9;
}

.specialist-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
}

.specialist-modal.is-open {
    display: block;
}

.specialist-modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.62);
}

.specialist-modal-dialog {
    position: relative;
    z-index: 2;
    width: min(980px, calc(100% - 32px));
    max-height: calc(100vh - 48px);
    margin: 24px auto;
    overflow: auto;
    background: #ffffff;
    color: #333333;
    border-radius: 22px;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.35);
}

.specialist-modal-close {
    position: sticky;
    top: 12px;
    float: right;
    z-index: 3;
    width: 38px;
    height: 38px;
    margin: 12px 12px 0 0;
    border: 0;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.08);
    color: #222222;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.specialist-modal-grid {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 28px;
    padding: 34px;
}

.specialist-modal-photo {
    width: 100%;
    max-height: 420px;
    object-fit: cover;
    border-radius: 18px;
    display: block;
}

.specialist-modal-content h3 {
    margin: 0 0 8px;
    color: var(--site-heading-color, #222222);
    font-size: 28px;
    line-height: 1.2;
}

.specialist-modal-position {
    margin-bottom: 18px;
    color: var(--site-accent-color, #555555);
    font-size: 16px;
    font-weight: 600;
}

.specialist-modal-section {
    margin-top: 20px;
}

.specialist-modal-section h4 {
    margin: 0 0 8px;
    color: var(--site-heading-color, #222222);
    font-size: 18px;
    line-height: 1.3;
}

.specialist-modal-section p {
    margin: 0;
    color: var(--site-text-color, #555555);
    font-size: 15px;
    line-height: 1.55;
}

.specialist-documents {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.specialist-document-card {
    display: block;
    text-decoration: none !important;
    color: var(--site-text-color, #555555) !important;
}

.specialist-document-card img {
    width: 100%;
    height: 120px;
    object-fit: cover;
    border-radius: 12px;
    display: block;
    border: 1px solid #eeeeee;
}

.specialist-document-card span {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    line-height: 1.25;
}

.specialist-modal-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 24px;
    padding: 12px 22px;
    border-radius: 999px;
    background: var(--site-button-bg-color, #555555);
    color: var(--site-button-text-color, #ffffff) !important;
    text-decoration: none !important;
    font-weight: 600;
}

body.specialist-modal-open {
    overflow: hidden;
}

@media (max-width: 768px) {
    .specialist-modal-dialog {
        width: calc(100% - 20px);
        max-height: calc(100vh - 20px);
        margin: 10px auto;
        border-radius: 18px;
    }

    .specialist-modal-grid {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 22px;
    }

    .specialist-modal-photo {
        max-height: 320px;
    }

    .specialist-modal-content h3 {
        font-size: 23px;
    }

    .specialist-documents {
        display: flex;
        overflow-x: auto;
        gap: 12px;
        padding-bottom: 10px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .specialist-document-card {
        flex: 0 0 72%;
        scroll-snap-align: center;
    }

    .specialist-document-card img {
        height: 150px;
    }

    .specialist-modal-cta {
        width: 100%;
        box-sizing: border-box;
    }
}

/* ===== Document preview modal ===== */

.specialist-document-card {
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.document-preview-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1000001 !important;
    display: none;
    padding-top: calc(var(--site-header-height, 72px) + 14px) !important;
    padding-bottom: 14px !important;
    box-sizing: border-box !important;
    background: rgba(0, 0, 0, 0.78) !important;
}

.document-preview-modal.is-open {
    display: block !important;
}

.document-preview-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: rgba(0, 0, 0, 0.78) !important;
}

.document-preview-dialog {
    position: relative !important;
    z-index: 2 !important;
    width: min(900px, calc(100% - 32px)) !important;
    max-height: calc(100vh - var(--site-header-height, 72px) - 28px) !important;
    margin: 0 auto !important;
    overflow: auto !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.45) !important;
}

.document-preview-close {
    position: sticky !important;
    top: 10px !important;
    float: right !important;
    z-index: 5 !important;
    width: 38px !important;
    height: 38px !important;
    margin: 10px 10px 0 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: rgba(0, 0, 0, 0.08) !important;
    color: #222222 !important;
    font-size: 28px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.document-preview-content {
    padding: 26px !important;
    clear: both !important;
}

.document-preview-content img {
    display: block !important;
    width: 100% !important;
    max-height: calc(100vh - var(--site-header-height, 72px) - 150px) !important;
    object-fit: contain !important;
    border-radius: 12px !important;
}

.document-preview-title {
    margin-top: 12px;
    color: var(--site-heading-color, #222222);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
}

body.document-preview-open {
    overflow: hidden !important;
}

@media (max-width: 768px) {
    .document-preview-modal {
        padding-top: calc(var(--site-mobile-header-height, var(--site-header-height, 72px)) + 8px) !important;
        padding-bottom: 8px !important;
    }

    .document-preview-dialog {
        width: calc(100% - 16px) !important;
        max-height: calc(100vh - var(--site-mobile-header-height, var(--site-header-height, 72px)) - 16px) !important;
        border-radius: 14px !important;
    }

    .document-preview-content {
        padding: 18px !important;
    }

    .document-preview-content img {
        max-height: calc(100vh - var(--site-mobile-header-height, var(--site-header-height, 72px)) - 120px) !important;
    }
}

/* ===== Podcasts section ===== */

.podcast-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.podcast-card {
    overflow: hidden;
    border: 1px solid var(--price-table-border-color, #e5e5e5);
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.06);
}

.podcast-video {
    position: relative;
    width: 100%;
    background: #111111;
}

.podcast-video iframe,
.podcast-video video {
    display: block;
    width: 100% !important;
    aspect-ratio: 16 / 9;
    height: auto !important;
    border: 0;
}

.podcast-info {
    padding: 18px 20px 20px;
}

.podcast-date {
    margin-bottom: 8px;
    color: var(--site-accent-color, #777777);
    font-size: 13px;
    font-weight: 600;
}

.podcast-info h3 {
    margin: 0 0 10px !important;
    color: var(--site-heading-color, #222222);
    font-size: 20px !important;
    line-height: 1.25 !important;
}

.podcast-info p {
    margin: 0;
    color: var(--site-text-color, #555555);
    font-size: 15px;
    line-height: 1.5;
}

.podcast-link {
    display: inline-flex;
    margin-top: 14px;
    color: var(--site-accent-color, #555555) !important;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
}

.podcast-link:hover {
    text-decoration: underline !important;
}

@media (max-width: 768px) {
    .podcast-list {
        display: flex;
        overflow-x: auto;
        gap: 16px;
        padding: 4px 16px 18px;
        margin-left: -16px;
        margin-right: -16px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .podcast-card {
        flex: 0 0 86%;
        max-width: 86%;
        scroll-snap-align: center;
    }

    .podcast-info {
        padding: 15px 16px 17px;
    }

    .podcast-info h3 {
        font-size: 17px !important;
    }

    .podcast-info p {
        font-size: 14px;
    }
}

.podcast-cover img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

/* ===== Final visual polish ===== */

.specialist-card,
.service-card,
.work-step-card,
.mobile-price-card,
.podcast-card,
.faq-item {
    border-radius: 22px !important;
    box-shadow: 0 14px 36px rgba(110, 31, 42, 0.08) !important;
}

.specialist-card,
.service-card,
.work-step-card,
.mobile-price-card,
.faq-item {
    border: 1px solid rgba(178, 58, 72, 0.12) !important;
}

.specialist-more-btn,
.specialist-modal-cta,
.contact-form .form-btn,
.podcast-link {
    transition: transform 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease;
}

.specialist-more-btn:hover,
.specialist-modal-cta:hover,
.contact-form .form-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(178, 58, 72, 0.22);
}

.section-subtitle {
    letter-spacing: 0.02em;
}

.headerBrandText {
    letter-spacing: 0.01em;
}

.siteFooterCompact {
    background: linear-gradient(135deg, #6E1F2A 0%, #4A1D24 100%) !important;
}

.pageHeader {
    background: linear-gradient(135deg, #6E1F2A 0%, #4A1D24 100%) !important;
}

@media (max-width: 768px) {
    .specialist-card,
    .service-card,
    .work-step-card,
    .mobile-price-card,
    .podcast-card,
    .faq-item {
        border-radius: 18px !important;
    }
}

/* ===== Footer reset after old template styles ===== */

.pageFooter.siteFooterCompact {
    font-size: 1rem !important;
    padding: 22px 0 0 !important;
}

/* ===== Per-section advanced visual settings ===== */

.section-custom-style {
    background-color: var(--section-bg-color, transparent);
}

.section-custom-style .content {
    position: relative;
    z-index: 2;
}

.section-custom-style .headergroup h2,
.section-custom-style .headergroup h2 .main {
    color: var(--section-title-color, var(--site-heading-color, inherit)) !important;
    text-shadow: var(--section-title-shadow, none);
}

.section-custom-style .section-subtitle,
.section-custom-style .headergroup h2 .section-subtitle {
    color: var(--section-subtitle-color, var(--site-subtitle-color, var(--site-accent-color, inherit))) !important;
    text-shadow: var(--section-title-shadow, none);
}

.section-custom-style .content-template,
.section-custom-style .content-template p,
.section-custom-style .content-template li,
.section-custom-style .service-description,
.section-custom-style .work-step-description,
.section-custom-style .faq-item,
.section-custom-style .testimonial-text {
    color: var(--section-text-color, var(--site-text-color, inherit));
}

/* Затемнение фоновой картинки блока */
.section-custom-style {
    position: relative;
}

.section-custom-style::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: var(--section-overlay-color, transparent);
    opacity: var(--section-overlay-opacity, 0);
    pointer-events: none;
}

.section-custom-style > * {
    position: relative;
    z-index: 2;
}

/* ===== Per-section separator title settings ===== */

/* ВАЖНО:
   Не ломаем родную механику .section-seperator.
   Затемнённый уголок рисуется штатным .section-seperator:after,
   а положение включается классом .in-point. */

.section-custom-style .section-seperator {
    position: relative !important;
    overflow: hidden !important;
}

/* Не используем самодельный ::before для уголка */
.section-custom-style .section-seperator::before {
    display: none !important;
    content: none !important;
}

/* Родной затемняющий слой должен быть под текстом */
.section-custom-style .section-seperator::after {
    z-index: 1 !important;
}

/* Возвращаем заголовок в центр затемнённой области */
.section-custom-style .section-seperator .container-template {
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    z-index: 3 !important;
    transform: translate(0, -50%) !important;

    width: 40% !important;
    padding-left: 6% !important;
    text-align: left !important;
}

/* Сам h2 видимый, без старого сдвига вверх/вбок */
.section-custom-style .section-seperator h2 {
    position: relative !important;
    z-index: 4 !important;

    opacity: 1 !important;
    transform: none !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;
    color: var(--section-title-color, #ffffff) !important;
    text-shadow: var(--section-title-shadow, none) !important;
}

/* Первая строка: Наши / Стоимость */
.section-custom-style .section-seperator h2 .section-subtitle,
.section-custom-style .section-seperator h2 .seconday {
    display: block !important;
    margin: 0 0 6px 0 !important;
    color: var(--section-subtitle-color, var(--site-subtitle-color, var(--site-accent-color, #D66A78))) !important;
    text-shadow: var(--section-title-shadow, none) !important;
}

/* Вторая строка — обычный текст внутри h2: услуги / услуг */
.section-custom-style .section-seperator h2 {
    line-height: 1.1 !important;
}

@media (max-width: 768px) {
    .section-custom-style .section-seperator .container-template {
        width: 70% !important;
        padding-left: 28px !important;
    }
}

/* ===== Service modal ===== */

.service-more-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 16px;
    padding: 10px 18px;
    border: 0;
    border-radius: 999px;
    background: var(--site-button-bg-color, #B23A48);
    color: var(--site-button-text-color, #ffffff);
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}

.service-more-btn:hover {
    opacity: 0.92;
    transform: translateY(-1px);
}

.service-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
}

.service-modal.is-open {
    display: block;
}

.service-modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.62);
}

.service-modal-dialog {
    position: relative;
    z-index: 2;
    width: min(920px, calc(100% - 32px));
    max-height: calc(100vh - 48px);
    margin: 24px auto;
    overflow: auto;
    background: #ffffff;
    color: var(--site-text-color, #4A3A35);
    border-radius: 22px;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.35);
}

.service-modal-close {
    position: sticky;
    top: 12px;
    float: right;
    z-index: 3;
    width: 38px;
    height: 38px;
    margin: 12px 12px 0 0;
    border: 0;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.08);
    color: #222222;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.service-modal-content {
    padding: 34px;
}

.service-modal-content h3 {
    margin: 0 0 18px;
    color: var(--site-heading-color, #3A2724);
    font-size: 28px;
    line-height: 1.25;
}

.service-modal-description {
    color: var(--site-text-color, #4A3A35);
    font-size: 16px;
    line-height: 1.65;
}

.service-modal-images {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 24px;
}

.service-modal-image {
    margin: 0;
}

.service-modal-image img {
    display: block;
    width: 100%;
    max-height: 340px;
    object-fit: contain;
    background: #FFF8F2;
    border-radius: 16px;
}

.service-modal-image figcaption {
    margin-top: 6px;
    color: var(--site-text-color, #4A3A35);
    font-size: 13px;
    line-height: 1.35;
}

.service-modal-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 26px;
    padding: 12px 24px;
    border-radius: 999px;
    background: var(--site-button-bg-color, #B23A48);
    color: var(--site-button-text-color, #ffffff) !important;
    text-decoration: none !important;
    font-weight: 700;
}

body.service-modal-open {
    overflow: hidden;
}

@media (max-width: 768px) {
    .service-modal-dialog {
        width: calc(100% - 20px);
        max-height: calc(100vh - 20px);
        margin: 10px auto;
        border-radius: 18px;
    }

    .service-modal-content {
        padding: 22px;
    }

    .service-modal-content h3 {
        font-size: 23px;
    }

    .service-modal-description {
        font-size: 15px;
        line-height: 1.58;
    }

    .service-modal-images {
        display: flex;
        overflow-x: auto;
        gap: 12px;
        padding-bottom: 10px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .service-modal-image {
        flex: 0 0 86%;
        scroll-snap-align: center;
    }

    .service-modal-image img {
        max-height: 260px;
    }

    .service-modal-cta {
        width: 100%;
        box-sizing: border-box;
    }
}

/* ===== Service modal header overlap fix ===== */

.service-modal {
    padding-top: calc(var(--site-header-height, 72px) + 14px);
    box-sizing: border-box;
}

.service-modal-dialog {
    max-height: calc(100vh - var(--site-header-height, 72px) - 28px);
    margin-top: 0 !important;
    margin-bottom: 14px;
}

.service-modal-content {
    padding-top: 42px;
}

.service-modal-close {
    position: sticky;
    top: 12px;
}

@media (max-width: 768px) {
    .service-modal {
        padding-top: calc(var(--site-header-height, 72px) + 8px);
    }

    .service-modal-dialog {
        width: calc(100% - 20px);
        max-height: calc(100vh - var(--site-header-height, 72px) - 18px);
        margin-top: 0 !important;
        margin-bottom: 10px;
    }

    .service-modal-content {
        padding-top: 38px;
    }
}

.service-modal-description {
    text-align: left !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
}

.service-modal-description p,
.service-modal-description div {
    text-align: left !important;
}

/* ===== Rich text inside service modal ===== */

.service-modal-description.ck-content {
    text-align: left !important;
}

.service-modal-description.ck-content p {
    margin: 0 0 14px;
    text-align: left !important;
}

.service-modal-description.ck-content ul,
.service-modal-description.ck-content ol {
    margin: 0 0 16px 22px;
    padding: 0;
}

.service-modal-description.ck-content li {
    margin-bottom: 6px;
}

.service-modal-description.ck-content strong,
.service-modal-description.ck-content b {
    font-weight: 700;
}

.service-modal-description.ck-content em,
.service-modal-description.ck-content i {
    font-style: italic;
}

.service-modal-description.ck-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 18px 0;
    font-size: 15px;
}

.service-modal-description.ck-content table th,
.service-modal-description.ck-content table td {
    border: 1px solid rgba(178, 58, 72, 0.18);
    padding: 10px 12px;
    vertical-align: top;
}

.service-modal-description.ck-content table th {
    background: #FFF8F2;
    font-weight: 700;
}

.service-modal-description.ck-content img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 18px auto;
    border-radius: 16px;
}

.service-modal-description.ck-content a {
    color: var(--site-accent-color, #B23A48);
    font-weight: 700;
}

/* ===== Service modal stacking fix ===== */

.service-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    background: rgba(0, 0, 0, 0.62);
}

.service-modal-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: rgba(0, 0, 0, 0.62);
}

.service-modal-dialog {
    position: relative !important;
    z-index: 2 !important;
}

.service-modal.is-open {
    display: block !important;
}

body.service-modal-open {
    overflow: hidden !important;
}

/* ===== Hide old desktop sidebar ===== */

.sidebar,
.sideBar,
.pageSidebar,
.page-sidebar,
.left-sidebar,
.leftSidebar {
    display: none !important;
}

.main,
.page,
.wrapper,
.siteWrapper,
.pageWrapper,
.contentWrapper,
.mainContent {
    margin-left: 0 !important;
    padding-left: 0 !important;
}

@media (min-width: 769px) {
    body {
        padding-left: 0 !important;
    }
}

/* ===== Unified header layout for all screens ===== */

/* Убираем старый desktop-режим с левой вертикальной панелью */
.pageHeader {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;

    width: 100% !important;
    min-width: 100% !important;
    height: var(--site-header-height, 72px) !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    padding: 0 22px !important;
    margin: 0 !important;

    background: var(--site-header-bg-color, #6E1F2A) !important;
    box-sizing: border-box !important;
    z-index: 100000 !important;
}

/* Логотип и название в шапке */
.pageHeader .headerLogo,
.pageHeader .logo,
.pageHeader .site-logo,
.pageHeader .brand,
.pageHeader .headerBrand {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;

    display: flex !important;
    align-items: center !important;

    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Соцсети в шапке */
.pageHeader .headerSocial,
.pageHeader .socialLinks,
.pageHeader .social-links,
.pageHeader .social {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;

    width: auto !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: 14px !important;
    padding: 0 !important;
}

/* Бургер справа */
.pageHeader .menu-trigger,
.pageHeader .menuTrigger,
.pageHeader .nav-trigger {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
}

/* Полностью убираем старый левый отступ страницы */
html,
body {
    margin-left: 0 !important;
    padding-left: 0 !important;
    overflow-x: hidden !important;
}

/* Контент больше не должен начинаться после левой панели */
.wrapper,
.pageWrapper,
.siteWrapper,
.contentWrapper,
.mainWrapper,
.main,
.page,
.pageContent,
.mainContent,
.site-content,
.sections,
.section-intro,
.sectionIntro,
section,
footer {
    margin-left: 0 !important;
}

/* Компенсация фиксированной верхней шапки */
body {
    padding-top: var(--site-header-height, 72px) !important;
}

/* Чтобы первый экран не прятался под шапку */
.section-intro,
.sectionIntro,
.hero,
.hero-section {
    margin-top: 0 !important;
}

/* Мобильная шапка */
@media (max-width: 768px) {
    .pageHeader {
        height: var(--site-header-height, 72px) !important;
        padding: 0 14px !important;
    }

    .pageHeader .headerSocial,
    .pageHeader .socialLinks,
    .pageHeader .social-links,
    .pageHeader .social {
        display: none !important;
    }

    body {
        padding-top: var(--site-header-height, 72px) !important;
    }
}

/* ===== Stable top header and burger menu ===== */

body.pushed,
body.hover-pushed {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    transform: none !important;
    overflow-x: hidden !important;
}

.pageHeader {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    width: 100% !important;
    height: var(--site-header-height, 72px) !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 18px !important;
    background: var(--site-header-bg-color, #6E1F2A) !important;
    z-index: 100000 !important;
    box-sizing: border-box !important;
}

body {
    padding-top: var(--site-header-height, 72px) !important;
    margin-left: 0 !important;
    overflow-x: hidden !important;
}

.pageHeader .menu-trigger,
.pageHeader .menuTrigger,
.pageHeader .nav-trigger {
    position: relative !important;
    z-index: 100002 !important;
    min-width: 44px !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
    cursor: pointer !important;
}

/* ВАЖНО: здесь не трогаем nav, чтобы не сломать кнопку */
.menu-panel-custom {
    position: fixed !important;
    top: var(--site-header-height, 72px) !important;
    right: 0 !important;
    bottom: 0 !important;
    width: min(360px, 86vw) !important;
    height: calc(100vh - var(--site-header-height, 72px)) !important;
    padding: 24px !important;
    background: var(--site-sidebar-bg-color, #6E1F2A) !important;
    box-shadow: -18px 0 40px rgba(0, 0, 0, 0.24) !important;
    z-index: 100001 !important;
    overflow-y: auto !important;

    transform: translateX(105%) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;

    transition: transform 0.25s ease, opacity 0.25s ease, visibility 0.25s ease !important;
}

body.menu-open .menu-panel-custom {
    transform: translateX(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.menu-panel-custom a {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 44px !important;
    padding: 10px 8px !important;
    color: var(--site-menu-text-color, #FFF8F2) !important;
    text-decoration: none !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    border-radius: 12px !important;
}

@media (max-width: 768px) {
    .menu-panel-custom {
        width: 100vw !important;
        left: 0 !important;
        right: 0 !important;
    }
}

/* ===== Custom menu content visibility ===== */

.menu-panel-custom {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.menu-panel-custom a {
    display: flex !important;
    align-items: center !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
    color: #FFF8F2 !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    border-radius: 12px !important;
}

.menu-panel-custom a:hover {
    background: rgba(255, 255, 255, 0.12) !important;
}

/* ===== Final menu polish ===== */

.menu-panel-custom {
    padding-top: 28px !important;
    gap: 8px !important;
}

.menu-panel-custom a {
    max-width: 260px !important;
    padding: 12px 14px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border-radius: 14px !important;
    transition: background 0.2s ease, transform 0.2s ease !important;
}

.menu-panel-custom a:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    transform: translateX(3px);
}

/* На ПК меню не должно быть слишком широким */
@media (min-width: 769px) {
    .menu-panel-custom {
        width: 320px !important;
    }
}

/* На мобильной версии меню приятнее с небольшими отступами */
@media (max-width: 768px) {
    .menu-panel-custom {
        width: 100vw !important;
        padding: 28px 28px 40px !important;
    }

    .menu-panel-custom a {
        max-width: none !important;
        font-size: 16px !important;
    }
}

/* ===== Social links inside custom menu ===== */

.menu-panel-socials {
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.menu-panel-socials-title {
    margin-bottom: 10px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.menu-panel-socials-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.menu-panel-custom .menu-panel-social-link {
    width: auto !important;
    min-height: 36px !important;
    padding: 8px 13px !important;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
}

.menu-panel-custom .menu-panel-social-link:hover {
    background: rgba(255, 255, 255, 0.14) !important;
}

/* ===== Mobile compact settings from admin ===== */

@media (max-width: 768px) {
    body {
        font-size: var(--site-mobile-base-font-size, 15px) !important;
        padding-top: var(--site-mobile-header-height, 58px) !important;
    }

    .pageHeader {
        height: var(--site-mobile-header-height, 58px) !important;
        min-height: var(--site-mobile-header-height, 58px) !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .pageHeader img,
    .pageHeader .logo img,
    .pageHeader .headerLogo img,
    .pageHeader .site-logo img {
        max-width: var(--site-mobile-header-logo-width, 38px) !important;
        max-height: var(--site-mobile-header-logo-width, 38px) !important;
    }

    .headerBrandText,
    .pageHeader .headerBrandText,
    .pageHeader .brand-text {
        font-size: var(--site-mobile-header-brand-font-size, 14px) !important;
        line-height: 1.1 !important;
    }

    h1,
    .section-intro h1,
    .hero h1 {
        font-size: var(--site-mobile-h1-font-size, 34px) !important;
        line-height: 1.12 !important;
    }

    h2,
    .headergroup h2,
    .section-seperator h2 {
        font-size: var(--site-mobile-h2-font-size, 28px) !important;
        line-height: 1.18 !important;
    }

    .section-subtitle,
    .seconday {
        font-size: var(--site-mobile-subtitle-font-size, 18px) !important;
        line-height: 1.25 !important;
    }

    .container-template,
    .content-template {
        padding-left: var(--site-mobile-section-horizontal-padding, 18px) !important;
        padding-right: var(--site-mobile-section-horizontal-padding, 18px) !important;
    }

    .service-card,
    .specialist-card,
    .work-step-card,
    .mobile-price-card,
    .podcast-card,
    .faq-item {
        padding: var(--site-mobile-card-padding, 18px) !important;
    }

    .section-intro,
    .hero,
    .hero-section {
        min-height: auto !important;
    }

    .section-intro .content,
    .hero .content,
    .hero-section .content {
        padding-top: 34px !important;
        padding-bottom: 34px !important;
    }

    .menu-panel-custom {
        top: var(--site-mobile-header-height, 58px) !important;
        height: calc(100vh - var(--site-mobile-header-height, 58px)) !important;
    }

    .service-modal {
        padding-top: calc(var(--site-mobile-header-height, 58px) + 8px) !important;
    }

    .service-modal-dialog,
    .specialist-modal-dialog {
        max-height: calc(100vh - var(--site-mobile-header-height, 58px) - 18px) !important;
    }
}

/* ===== Remove old desktop sidebar reserved space ===== */

@media (min-width: 769px) {
    html,
    body {
        margin-left: 0 !important;
        padding-left: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    #page,
    #wrapper,
    #container,
    .page,
    .wrapper,
    .siteWrapper,
    .pageWrapper,
    .contentWrapper,
    .mainWrapper,
    .main,
    .pageContent,
    .mainContent,
    .site-content {
        margin-left: 0 !important;
        padding-left: 0 !important;
        left: 0 !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .section-intro,
    .sectionIntro,
    .hero,
    .hero-section,
    .section-custom-style,
    section,
    footer {
        margin-left: 0 !important;
        left: 0 !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .pageHeader {
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* На всякий случай убираем старый резерв под левую панель именно у первого экрана */
body .timeline-part {
    margin-left: 0 !important;
    padding-left: 0 !important;
}

/* Если фон первого экрана задан на вложенный блок */
.timeline-part .content > *,
.timeline-part [style*="background-image"] {
    margin-left: 0 !important;
    padding-left: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;

    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

/* Убираем возможный старый offset у картинки первого экрана */
.timeline-part img {
    margin-left: 0 !important;
    left: 0 !important;
    transform: none !important;
}

/* ===== Rich text from admin ===== */

.rich-section-text {
    max-width: 880px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
    text-align: left;
    box-sizing: border-box;
}

.rich-section-text p {
    margin: 0 0 18px;
    color: var(--site-text-color, #4A3A35) !important;
    font-size: var(--site-base-font-size, 17px);
    line-height: 1.65;
    text-align: left;
}

.rich-section-text strong,
.rich-section-text b {
    font-weight: 700;
}

.rich-section-text em,
.rich-section-text i {
    font-style: italic;
}

.rich-section-text ul,
.rich-section-text ol {
    margin: 0 0 18px 24px;
    padding: 0;
    color: var(--site-text-color, #4A3A35);
}

.rich-section-text li {
    margin-bottom: 8px;
    line-height: 1.55;
}

.rich-section-text table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    font-size: 15px;
}

.rich-section-text th,
.rich-section-text td {
    border: 1px solid rgba(178, 58, 72, 0.18);
    padding: 10px 12px;
    vertical-align: top;
}

.rich-section-text th {
    background: #FFF8F2;
    font-weight: 700;
}

.rich-section-text img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 20px auto;
    border-radius: 16px;
}

.rich-section-text a {
    color: var(--site-accent-color, #B23A48) !important;
    font-weight: 700;
    text-decoration: underline;
}

@media (max-width: 768px) {
    .rich-section-text {
        max-width: 100%;
        padding-left: var(--site-mobile-section-horizontal-padding, 16px);
        padding-right: var(--site-mobile-section-horizontal-padding, 16px);
    }

    .rich-section-text p {
        font-size: var(--site-mobile-base-font-size, 15px);
        line-height: 1.58;
    }
}

/* ===== About section layout fix ===== */

.timeline-part .content .container-template {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.timeline-part .intro,
.timeline-part .content-template,
.timeline-part .rich-section-text {
    float: none !important;
    width: min(880px, calc(100% - 48px)) !important;
    max-width: 880px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: left !important;
}

@media (max-width: 768px) {
    .timeline-part .intro,
    .timeline-part .content-template,
    .timeline-part .rich-section-text {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: var(--site-mobile-section-horizontal-padding, 16px) !important;
        padding-right: var(--site-mobile-section-horizontal-padding, 16px) !important;
    }
}

/* ===== Compact contact form desktop ===== */

@media (min-width: 769px) {
    .contact-form .content {
        padding-top: 42px !important;
        padding-bottom: 46px !important;
    }

    .contact-form .headergroup {
        margin-bottom: 22px !important;
    }

    .contact-form .headergroup h2 {
        font-size: 32px !important;
        line-height: 1.15 !important;
        margin-bottom: 0 !important;
    }

    .contact-form .section-subtitle {
        font-size: 22px !important;
        margin-bottom: 4px !important;
    }

    .contact-form form {
        max-width: 860px;
        margin: 0 auto !important;
        padding: 24px !important;
        background: #ffffff;
        border: 1px solid rgba(178, 58, 72, 0.12);
        border-radius: 22px;
        box-shadow: 0 14px 36px rgba(110, 31, 42, 0.08);
        box-sizing: border-box;
    }

    .contact-form .col-xs-6 {
        width: 50% !important;
        float: left !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        box-sizing: border-box !important;
    }

    .contact-form .col-xs-12 {
        width: 100% !important;
        clear: both !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        box-sizing: border-box !important;
    }

    .contact-form .form,
    .contact-form select.form,
    .contact-form textarea.form {
        height: 44px !important;
        min-height: 44px !important;
        margin-bottom: 12px !important;
        padding: 10px 12px !important;
        border-radius: 12px !important;
        font-size: 15px !important;
        line-height: 1.25 !important;
    }

    .contact-form textarea.form {
        height: 92px !important;
        min-height: 92px !important;
        max-height: 140px !important;
    }

    .privacy-consent {
        clear: both;
        max-width: 860px;
        margin: 4px auto 14px !important;
        padding-left: 8px;
        padding-right: 8px;
        font-size: 13px !important;
    }

    .contact-form .form-btn {
        width: auto !important;
        min-width: 220px !important;
        height: 46px !important;
        margin: 8px auto 0 !important;
        padding: 0 28px !important;
        border-radius: 999px !important;
        font-size: 15px !important;
        line-height: 46px !important;
    }

    .contact-form br {
        display: none !important;
    }
}

/* ===== Section background image radius from admin ===== */

.section-custom-style .section-seperator,
.section-custom-style .custom-section-hero,
.section-custom-style .testimonials-part-section-seperator {
    border-radius: var(--section-image-border-radius, 0);
    overflow: hidden;
}

/* Чтобы скруглялось и затемнение поверх картинки */
.section-custom-style .section-seperator::after,
.section-custom-style .custom-section-hero::after,
.section-custom-style .testimonials-part-section-seperator::after {
    border-radius: inherit;
}

/* Если у самого блока есть затемнение через ::before */
.section-custom-style::before {
    border-radius: var(--section-image-border-radius, 0);
}

@media (max-width: 768px) {
    .section-custom-style .section-seperator,
    .section-custom-style .custom-section-hero,
    .section-custom-style .testimonials-part-section-seperator {
        border-radius: var(
            --section-mobile-image-border-radius,
            var(--section-image-border-radius, 0)
        );
    }

    .section-custom-style::before {
        border-radius: var(
            --section-mobile-image-border-radius,
            var(--section-image-border-radius, 0)
        );
    }
}

/* ===== Rounded wide image blocks without breaking old angled overlay ===== */

.section-custom-style .section-seperator,
.section-custom-style .custom-section-hero,
.section-custom-style .testimonials-part-section-seperator {
    border-radius: var(--section-image-border-radius, 0) !important;
    overflow: hidden !important;
    background-clip: padding-box !important;
}

/* Важно: общий overlay всего section не нужен для блока отзывов,
   иначе он может давать квадратные уголки поверх скругленного фото */
.testimonials-part.section-custom-style::before {
    display: none !important;
}

/* Отзывы: оставляем старую скошенную плашку, но обрезаем ее внутри скругленного блока */
.testimonials-part .testimonials-part-section-seperator {
    position: relative !important;
    isolation: isolate !important;
    border-radius: var(--section-image-border-radius, 0) !important;
    overflow: hidden !important;
}

/* Возвращаем НЕ полное затемнение, а скошенную плашку */
.testimonials-part .testimonials-part-section-seperator::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: -25% !important;
    width: 200% !important;
    height: 100% !important;

    background: var(--reviews-overlay-color, rgba(27, 32, 33, 0.88)) !important;
    opacity: var(--reviews-overlay-opacity, 0.65) !important;

    transform: skewX(-25deg) !important;
    transform-origin: 0 0 !important;

    border-radius: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

/* Контент поверх скошенного затемнения */
.testimonials-part .testimonials-part-section-seperator .container-template {
    position: relative !important;
    z-index: 2 !important;
}

/* На больших экранах возвращаем старую геометрию скошенной плашки */
@media screen and (min-width: 1200px) {
    .testimonials-part .testimonials-part-section-seperator::after {
        left: -40% !important;
        width: 100% !important;
    }
}

@media screen and (min-width: 1400px) {
    .testimonials-part .testimonials-part-section-seperator::after {
        left: -50% !important;
    }
}

@media (max-width: 768px) {
    .section-custom-style .section-seperator,
    .section-custom-style .custom-section-hero,
    .section-custom-style .testimonials-part-section-seperator {
        border-radius: var(
            --section-mobile-image-border-radius,
            var(--section-image-border-radius, 0)
        ) !important;
    }

    .testimonials-part .testimonials-part-section-seperator {
        border-radius: var(
            --section-mobile-image-border-radius,
            var(--section-image-border-radius, 0)
        ) !important;
    }
}

/* ===== Specialist modal final fix ===== */

.specialist-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    display: none;
    padding-top: calc(var(--site-header-height, 72px) + 14px) !important;
    box-sizing: border-box !important;
    background: rgba(0, 0, 0, 0.62) !important;
}

.specialist-modal.is-open {
    display: block !important;
}

.specialist-modal-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: rgba(0, 0, 0, 0.62) !important;
}

.specialist-modal-dialog {
    position: relative !important;
    z-index: 2 !important;
    width: min(980px, calc(100% - 32px)) !important;
    max-height: calc(100vh - var(--site-header-height, 72px) - 28px) !important;
    margin: 0 auto 14px !important;
    overflow: auto !important;
    background: #ffffff !important;
    border-radius: 22px !important;
}

.specialist-modal-grid {
    padding-top: 42px !important;
}

.specialist-modal-close {
    position: sticky !important;
    top: 12px !important;
    z-index: 5 !important;
}

body.specialist-modal-open {
    overflow: hidden !important;
}

@media (max-width: 768px) {
    .specialist-modal {
        padding-top: calc(var(--site-mobile-header-height, var(--site-header-height, 72px)) + 8px) !important;
    }

    .specialist-modal-dialog {
        width: calc(100% - 20px) !important;
        max-height: calc(100vh - var(--site-mobile-header-height, var(--site-header-height, 72px)) - 18px) !important;
        margin: 0 auto 10px !important;
        border-radius: 18px !important;
    }

    .specialist-modal-grid {
        padding-top: 38px !important;
    }
}

/* ===== Document preview modal final fix ===== */

.document-preview-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1000001 !important;
    display: none;
    padding-top: calc(var(--site-header-height, 72px) + 14px) !important;
    padding-bottom: 14px !important;
    box-sizing: border-box !important;
    background: rgba(0, 0, 0, 0.78) !important;
}

.document-preview-modal.is-open {
    display: block !important;
}

.document-preview-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: rgba(0, 0, 0, 0.78) !important;
}

.document-preview-dialog {
    position: relative !important;
    z-index: 2 !important;
    width: min(900px, calc(100% - 32px)) !important;
    max-height: calc(100vh - var(--site-header-height, 72px) - 28px) !important;
    margin: 0 auto !important;
    overflow: auto !important;
    border-radius: 18px !important;
    background: #ffffff !important;
}

.document-preview-content {
    padding: 26px !important;
    clear: both !important;
}

.document-preview-content img {
    display: block !important;
    width: 100% !important;
    max-height: calc(100vh - var(--site-header-height, 72px) - 150px) !important;
    object-fit: contain !important;
    border-radius: 12px !important;
}

body.document-preview-open {
    overflow: hidden !important;
}

@media (max-width: 768px) {
    .document-preview-modal {
        padding-top: calc(var(--site-mobile-header-height, var(--site-header-height, 72px)) + 8px) !important;
        padding-bottom: 8px !important;
    }

    .document-preview-dialog {
        width: calc(100% - 16px) !important;
        max-height: calc(100vh - var(--site-mobile-header-height, var(--site-header-height, 72px)) - 16px) !important;
        border-radius: 14px !important;
    }

    .document-preview-content {
        padding: 18px !important;
    }

    .document-preview-content img {
        max-height: calc(100vh - var(--site-mobile-header-height, var(--site-header-height, 72px)) - 120px) !important;
    }
}

.document-preview-content img {
    cursor: zoom-out !important;
}

/* ===== Mobile testimonials height fix ===== */

@media (max-width: 768px) {
    .testimonials-part .testimonials-part-section-seperator {
        height: auto !important;
        min-height: 300px !important;
        padding-top: 34px !important;
        padding-bottom: 58px !important;
        overflow: hidden !important;
    }

    .testimonials-part .testimonials-container,
    .testimonials-part .testimonials-wrapper,
    .testimonials-part .testimonials-slide {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    .testimonials-part .testimonials-container {
        overflow: visible !important;
    }

    .testimonials-part .testimonials-slide {
        display: block !important;
        padding-bottom: 22px !important;
    }

    .testimonials-part blockquote,
    .testimonials-part blockquote p {
        max-height: none !important;
        overflow: visible !important;
    }

    .testimonials-part blockquote {
        margin-bottom: 22px !important;
    }

    .testimonials-part .testimonials-pagination {
        bottom: 20px !important;
    }
}

/* ===== Desktop fixed header without old sidebar ===== */

@media (min-width: 769px) {
    .sidebar {
        display: none !important;
    }

    .pushWrapper,
    body.pushed .pushWrapper,
    body.hover-pushed .pushWrapper {
        margin-left: 0 !important;
        transform: none !important;
        left: 0 !important;
        width: 100% !important;
    }

    body,
    body.pushed,
    body.hover-pushed {
        margin-left: 0 !important;
        padding-left: 0 !important;
        overflow-x: hidden !important;
    }

    .pageHeader {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 100000 !important;
        height: var(--site-header-height, 72px) !important;
        display: flex !important;
        align-items: center !important;
        gap: 22px !important;
        padding: 0 36px !important;
        background: var(--site-header-bg-color, #6E1F2A) !important;
        box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08) !important;
    }

    main {
        padding-top: var(--site-header-height, 72px) !important;
    }

    .headerBrand {
        flex: 0 0 auto !important;
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        text-decoration: none !important;
        min-width: 0 !important;
    }

    .headerNav {
        flex: 1 1 auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 18px !important;
        min-width: 0 !important;
    }

    .headerNav a {
        color: var(--site-menu-text-color, #FFF8F2) !important;
        text-decoration: none !important;
        font-family: var(--site-heading-font, Arial, sans-serif) !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        opacity: 0.92 !important;
        transition: opacity 0.2s ease, transform 0.2s ease !important;
    }

    .headerNav a:hover {
        opacity: 1 !important;
        transform: translateY(-1px) !important;
    }

    .headerSocials {
        flex: 0 0 auto !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
    }

    .menu-trigger {
        flex: 0 0 auto !important;
    }
}

/* ===== Mobile header/menu split ===== */

@media (max-width: 768px) {
    .headerNav {
        display: none !important;
    }

    .headerSocials {
        display: none !important;
    }

    .sidebar {
        display: none !important;
    }

    .pageHeader {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 100000 !important;
    }

    main {
        padding-top: var(--site-mobile-header-height, var(--site-header-height, 72px)) !important;
    }

        .headerBrand {
        width: auto !important;
        max-width: 280px !important;
        flex: 0 1 280px !important;
        overflow: hidden !important;
    }

    .headerBrandText {
        display: block !important;
        max-width: 210px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .headerNav {
        flex: 1 1 auto !important;
        justify-content: center !important;
        gap: 16px !important;
        overflow: hidden !important;
    }

    .headerNav a {
        font-size: 14px !important;
    }

    .headerSocials {
        margin-left: auto !important;
        flex-shrink: 0 !important;
    }

    .menu-trigger {
        display: none !important;
    }
}

@media (min-width: 769px) and (max-width: 1180px) {
    .pageHeader {
        padding: 0 22px !important;
        gap: 14px !important;
    }

    .headerBrand {
        max-width: 230px !important;
        flex-basis: 230px !important;
    }

    .headerBrandText {
        max-width: 165px !important;
    }

    .headerNav {
        gap: 10px !important;
    }

    .headerNav a {
        font-size: 13px !important;
    }

    .headerSocials a {
        font-size: 12px !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

/* ===== Hide burger on desktop ===== */

@media (min-width: 769px) {
    .pageHeader .menu-trigger,
    .menu-trigger,
    button.menu-trigger {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
        width: 0 !important;
        min-width: 0 !important;
        max-width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }
}

/* ===== Desktop header compact fix ===== */

@media (min-width: 769px) {
    .pageHeader {
        padding: 0 28px !important;
        gap: 16px !important;
    }

    .headerBrand {
        flex: 0 0 250px !important;
        max-width: 250px !important;
    }

    .headerBrandText {
        max-width: 185px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .headerNav {
        justify-content: flex-start !important;
        gap: 14px !important;
    }

    .headerNav a {
        font-size: 14px !important;
    }

    .headerSocials {
        margin-left: auto !important;
    }
}

@media (min-width: 769px) and (max-width: 1180px) {
    .headerBrand {
        flex-basis: 220px !important;
        max-width: 220px !important;
    }

    .headerBrandText {
        max-width: 155px !important;
    }

    .headerNav {
        gap: 10px !important;
    }

    .headerNav a {
        font-size: 13px !important;
    }
}

/* ===== Light modern desktop header ===== */

@media (min-width: 769px) {
    .pageHeader {
        background: rgba(255, 248, 242, 0.94) !important;
        backdrop-filter: blur(14px) !important;
        -webkit-backdrop-filter: blur(14px) !important;
        border-bottom: 1px solid rgba(178, 58, 72, 0.12) !important;
        box-shadow: 0 10px 30px rgba(80, 45, 40, 0.06) !important;
        padding: 0 34px !important;
        gap: 18px !important;
    }

    .headerBrand {
        flex: 0 0 285px !important;
        max-width: 285px !important;
    }

    .headerBrandText {
        color: var(--site-heading-color, #3A2724) !important;
        font-weight: 800 !important;
        letter-spacing: -0.02em !important;
        max-width: 215px !important;
    }

    .headerNav {
        justify-content: center !important;
        gap: 20px !important;
    }

    .headerNav a {
        color: var(--site-heading-color, #3A2724) !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        opacity: 0.82 !important;
        position: relative !important;
    }

    .headerNav a:hover {
        opacity: 1 !important;
        color: var(--site-accent-color, #B23A48) !important;
    }

    .headerNav a::after {
        content: "" !important;
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        bottom: -8px !important;
        height: 2px !important;
        border-radius: 999px !important;
        background: var(--site-accent-color, #B23A48) !important;
        transform: scaleX(0) !important;
        transform-origin: center !important;
        transition: transform 0.2s ease !important;
    }

    .headerNav a:hover::after {
        transform: scaleX(1) !important;
    }

    .headerSocials {
        gap: 8px !important;
        margin-left: auto !important;
    }

    .headerSocials a {
        color: var(--site-accent-color, #B23A48) !important;
        border: 1px solid rgba(178, 58, 72, 0.28) !important;
        background: rgba(255, 255, 255, 0.68) !important;
        border-radius: 999px !important;
        padding: 9px 14px !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        text-decoration: none !important;
    }

    .headerSocials a:hover {
        background: rgba(178, 58, 72, 0.08) !important;
        border-color: rgba(178, 58, 72, 0.42) !important;
    }

    .headerCta {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 40px !important;
        padding: 0 20px !important;
        border-radius: 999px !important;
        background: var(--site-button-bg-color, #B23A48) !important;
        color: var(--site-button-text-color, #FFFFFF) !important;
        font-family: var(--site-heading-font, Arial, sans-serif) !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        text-decoration: none !important;
        box-shadow: 0 12px 26px rgba(178, 58, 72, 0.22) !important;
        white-space: nowrap !important;
        transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    }

    .headerCta:hover {
        transform: translateY(-1px) !important;
        box-shadow: 0 16px 34px rgba(178, 58, 72, 0.28) !important;
    }
}

@media (min-width: 769px) and (max-width: 1180px) {
    .pageHeader {
        padding: 0 22px !important;
        gap: 12px !important;
    }

    .headerBrand {
        flex-basis: 230px !important;
        max-width: 230px !important;
    }

    .headerBrandText {
        max-width: 165px !important;
    }

    .headerNav {
        gap: 12px !important;
    }

    .headerNav a {
        font-size: 13px !important;
    }

    .headerCta {
        padding: 0 15px !important;
        font-size: 13px !important;
    }
}

@media (max-width: 768px) {
    .headerCta {
        display: none !important;
    }
}

/* ===== Anchor offset for fixed header ===== */

section[id],
div[id] {
    scroll-margin-top: calc(var(--site-header-height, 72px) + 24px) !important;
}

@media (max-width: 768px) {
    section[id],
    div[id] {
        scroll-margin-top: calc(var(--site-mobile-header-height, var(--site-header-height, 72px)) + 18px) !important;
    }
}

/* ===== Anchor offset for fixed header ===== */

section[id],
div[id] {
    scroll-margin-top: calc(var(--site-header-height, 72px) + 24px) !important;
}

@media (max-width: 768px) {
    section[id],
    div[id] {
        scroll-margin-top: calc(var(--site-mobile-header-height, var(--site-header-height, 72px)) + 18px) !important;
    }
}

/* ===== Modern hero section ===== */

.section-intro {
    min-height: calc(100vh - var(--site-header-height, 72px)) !important;
    height: auto !important;
    background-color: #FFF8F2 !important;
    background-image: none !important;
    overflow: hidden !important;
}

.section-intro .content.hero-modern-content {
    min-height: calc(100vh - var(--site-header-height, 72px)) !important;
    height: auto !important;
    padding: 92px 0 76px !important;
    background: radial-gradient(circle at 12% 20%, rgba(255, 204, 213, 0.52), transparent 28%),
                radial-gradient(circle at 88% 18%, rgba(207, 197, 255, 0.45), transparent 26%),
                linear-gradient(180deg, #FFFDFB 0%, #FFF7F2 100%) !important;
    position: relative !important;
}

.section-intro .content.hero-modern-content::after {
    display: none !important;
}

.hero-modern-inner {
    width: min(1180px, calc(100% - 48px)) !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    min-height: 560px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr) !important;
    align-items: center !important;
    gap: 56px !important;
    position: relative !important;
    z-index: 2 !important;
}

.hero-modern-text {
    text-align: left !important;
}

.hero-modern-kicker {
    display: inline-flex !important;
    align-items: center !important;
    margin-bottom: 18px !important;
    padding: 9px 16px !important;
    border-radius: 999px !important;
    background: rgba(178, 58, 72, 0.08) !important;
    color: var(--site-accent-color, #B23A48) !important;
    font-family: var(--site-heading-font, Arial, sans-serif) !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

.hero-modern-title {
    margin: 0 !important;
    color: var(--site-heading-color, #3A2724) !important;
    font-family: var(--site-heading-font, Arial, sans-serif) !important;
    font-size: clamp(48px, 6vw, 82px) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.055em !important;
    text-align: left !important;
    text-transform: none !important;
}

.hero-modern-description {
    max-width: 620px !important;
    margin: 26px 0 0 !important;
    color: var(--site-text-color, #5C4A45) !important;
    font-family: var(--site-body-font, Arial, sans-serif) !important;
    font-size: 22px !important;
    line-height: 1.45 !important;
}

.hero-modern-actions {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
    margin-top: 34px !important;
}

.hero-modern-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 54px !important;
    padding: 0 30px !important;
    border-radius: 999px !important;
    background: var(--site-button-bg-color, #B23A48) !important;
    color: var(--site-button-text-color, #FFFFFF) !important;
    font-family: var(--site-heading-font, Arial, sans-serif) !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    box-shadow: 0 18px 40px rgba(178, 58, 72, 0.24) !important;
}

.hero-modern-link {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 54px !important;
    color: var(--site-heading-color, #3A2724) !important;
    font-family: var(--site-heading-font, Arial, sans-serif) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    opacity: 0.78 !important;
}

.hero-modern-link:hover {
    opacity: 1 !important;
    color: var(--site-accent-color, #B23A48) !important;
}

.hero-modern-visual {
    position: relative !important;
    min-height: 500px !important;
}

.hero-modern-photo {
    position: absolute !important;
    inset: 42px 0 0 28px !important;
    border-radius: 44px !important;
    background-image: var(--hero-bg-desktop) !important;
    background-size: cover !important;
    background-position: center center !important;
    box-shadow: 0 28px 80px rgba(72, 42, 36, 0.16) !important;
    overflow: hidden !important;
}

.hero-modern-photo::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0.08)) !important;
}

.hero-modern-visual::before {
    content: "" !important;
    position: absolute !important;
    width: 240px !important;
    height: 240px !important;
    left: -22px !important;
    top: 6px !important;
    border-radius: 50% !important;
    background: rgba(255, 220, 150, 0.55) !important;
    z-index: -1 !important;
}

.hero-modern-visual::after {
    content: "" !important;
    position: absolute !important;
    width: 145px !important;
    height: 145px !important;
    right: -22px !important;
    bottom: 10px !important;
    border-radius: 50% !important;
    background: rgba(202, 192, 255, 0.62) !important;
    z-index: -1 !important;
}

.hero-modern-badge {
    position: absolute !important;
    z-index: 3 !important;
    display: inline-flex !important;
    align-items: center !important;
    min-height: 46px !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.86) !important;
    color: #3A2724 !important;
    font-family: var(--site-heading-font, Arial, sans-serif) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    box-shadow: 0 16px 38px rgba(72, 42, 36, 0.12) !important;
    backdrop-filter: blur(12px) !important;
}

.hero-modern-badge-one {
    left: 0 !important;
    top: 95px !important;
}

.hero-modern-badge-two {
    right: 8px !important;
    bottom: 60px !important;
}

@media (max-width: 900px) {
    .section-intro .content.hero-modern-content {
        padding: 78px 0 54px !important;
    }

    .hero-modern-inner {
        width: min(100% - 32px, 720px) !important;
        min-height: auto !important;
        grid-template-columns: 1fr !important;
        gap: 34px !important;
    }

    .hero-modern-text {
        text-align: center !important;
    }

    .hero-modern-title {
        text-align: center !important;
        font-size: clamp(40px, 12vw, 58px) !important;
    }

    .hero-modern-description {
        margin-left: auto !important;
        margin-right: auto !important;
        font-size: 18px !important;
    }

    .hero-modern-actions {
        justify-content: center !important;
    }

    .hero-modern-visual {
        min-height: 360px !important;
    }

    .hero-modern-photo {
        inset: 12px 0 0 0 !important;
        border-radius: 32px !important;
    }

    .hero-modern-badge {
        font-size: 13px !important;
        min-height: 40px !important;
    }
}

@media (max-width: 768px) {
    .section-intro {
        min-height: auto !important;
    }

    .section-intro .content.hero-modern-content {
        min-height: auto !important;
        padding: 52px 0 42px !important;
    }

    .hero-modern-kicker {
        font-size: 15px !important;
        margin-bottom: 14px !important;
    }

    .hero-modern-title {
        font-size: 42px !important;
        line-height: 1.02 !important;
    }

    .hero-modern-description {
        font-size: 16px !important;
        line-height: 1.45 !important;
    }

    .hero-modern-btn,
    .hero-modern-link {
        width: 100% !important;
        justify-content: center !important;
    }

    .hero-modern-actions {
        gap: 10px !important;
    }

    .hero-modern-visual {
        min-height: 300px !important;
    }

    .hero-modern-badge-one {
        left: 10px !important;
        top: 38px !important;
    }

    .hero-modern-badge-two {
        right: 10px !important;
        bottom: 24px !important;
    }
}

/* ===== Mobile scroll stability: remove old template layout movement ===== */

@media (max-width: 768px) {
    main {
        position: relative !important;
        top: 0 !important;
        margin-top: 0 !important;
        padding-top: var(--site-mobile-header-height, var(--site-header-height, 72px)) !important;
        transform: none !important;
        transition: none !important;
    }

    .pushWrapper {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        width: 100% !important;
        transform: none !important;
        transition: none !important;
    }

    .pageHeader {
        transition: none !important;
        animation: none !important;
    }

    section,
    .content,
    .container-template {
        transform: none !important;
    }

    body:not(.menu-open):not(.specialist-modal-open):not(.service-modal-open):not(.document-preview-open) {
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }
}

/* ===== Modern hero section ===== */

.section-intro {
    min-height: auto !important;
    height: auto !important;
    background-color: #FFF8F2 !important;
    background-image: none !important;
    overflow: hidden !important;
}

.section-intro .content.hero-modern-content {
    min-height: auto !important;
    height: auto !important;
    padding: 110px 0 90px !important;
    background:
        radial-gradient(circle at 16% 22%, rgba(255, 204, 213, 0.48), transparent 28%),
        radial-gradient(circle at 82% 18%, rgba(207, 197, 255, 0.42), transparent 28%),
        linear-gradient(180deg, #FFFDFB 0%, #FFF7F2 100%) !important;
    position: relative !important;
}

.section-intro .content.hero-modern-content::after {
    display: none !important;
}

.hero-modern-inner {
    width: min(1180px, calc(100% - 48px)) !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    min-height: 560px !important;
    display: grid !important;
    grid-template-columns: minmax(420px, 0.95fr) minmax(420px, 1.05fr) !important;
    align-items: center !important;
    gap: 64px !important;
    position: relative !important;
    z-index: 2 !important;
}

.hero-modern-text {
    text-align: left !important;
    max-width: 610px !important;
}

.hero-modern-kicker {
    display: inline-flex !important;
    align-items: center !important;
    margin-bottom: 18px !important;
    padding: 9px 17px !important;
    border-radius: 999px !important;
    background: rgba(178, 58, 72, 0.08) !important;
    color: var(--site-accent-color, #B23A48) !important;
    font-family: var(--site-heading-font, Arial, sans-serif) !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

.hero-modern-title {
    margin: 0 !important;
    color: var(--site-heading-color, #3A2724) !important;
    font-family: var(--site-heading-font, Arial, sans-serif) !important;
    font-size: clamp(56px, 5.5vw, 84px) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.055em !important;
    text-align: left !important;
    text-transform: none !important;
}

.hero-modern-description {
    max-width: 560px !important;
    margin: 26px 0 0 !important;
    color: var(--site-text-color, #5C4A45) !important;
    font-family: var(--site-body-font, Arial, sans-serif) !important;
    font-size: 21px !important;
    line-height: 1.48 !important;
}

.hero-modern-actions {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
    margin-top: 34px !important;
}

.hero-modern-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 54px !important;
    padding: 0 30px !important;
    border-radius: 999px !important;
    background: var(--site-button-bg-color, #B23A48) !important;
    color: var(--site-button-text-color, #FFFFFF) !important;
    font-family: var(--site-heading-font, Arial, sans-serif) !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    box-shadow: 0 18px 40px rgba(178, 58, 72, 0.24) !important;
}

.hero-modern-link {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 54px !important;
    color: var(--site-heading-color, #3A2724) !important;
    font-family: var(--site-heading-font, Arial, sans-serif) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    opacity: 0.78 !important;
}

.hero-modern-link:hover {
    opacity: 1 !important;
    color: var(--site-accent-color, #B23A48) !important;
}

.hero-modern-visual {
    position: relative !important;
    min-height: 500px !important;
}

.hero-modern-photo {
    position: absolute !important;
    inset: 44px 0 28px 26px !important;
    border-radius: 44px !important;
    background-image: var(--hero-bg-desktop) !important;
    background-size: cover !important;
    background-position: center center !important;
    box-shadow: 0 28px 80px rgba(72, 42, 36, 0.16) !important;
    overflow: hidden !important;
}

.hero-modern-photo::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.30), rgba(255, 255, 255, 0.05)) !important;
}

.hero-modern-visual::before {
    content: "" !important;
    position: absolute !important;
    width: 240px !important;
    height: 240px !important;
    left: -20px !important;
    top: 0 !important;
    border-radius: 50% !important;
    background: rgba(255, 220, 150, 0.55) !important;
    z-index: -1 !important;
}

.hero-modern-visual::after {
    content: "" !important;
    position: absolute !important;
    width: 145px !important;
    height: 145px !important;
    right: -20px !important;
    bottom: 24px !important;
    border-radius: 50% !important;
    background: rgba(202, 192, 255, 0.62) !important;
    z-index: -1 !important;
}

.hero-modern-badge {
    position: absolute !important;
    z-index: 3 !important;
    display: inline-flex !important;
    align-items: center !important;
    min-height: 46px !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.9) !important;
    color: #3A2724 !important;
    font-family: var(--site-heading-font, Arial, sans-serif) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    box-shadow: 0 16px 38px rgba(72, 42, 36, 0.12) !important;
    backdrop-filter: blur(12px) !important;
}

.hero-modern-badge-one {
    left: 0 !important;
    top: 92px !important;
}

.hero-modern-badge-two {
    right: 8px !important;
    bottom: 72px !important;
}

@media (max-width: 900px) {
    .section-intro .content.hero-modern-content {
        padding: 48px 0 44px !important;
    }

    .hero-modern-inner {
        width: min(100% - 32px, 720px) !important;
        min-height: auto !important;
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }

    .hero-modern-text {
        text-align: center !important;
        max-width: 100% !important;
    }

    .hero-modern-kicker {
        margin-left: auto !important;
        margin-right: auto !important;
        font-size: 15px !important;
        margin-bottom: 14px !important;
    }

    .hero-modern-title {
        text-align: center !important;
        font-size: clamp(42px, 12vw, 58px) !important;
        line-height: 1.02 !important;
    }

    .hero-modern-description {
        max-width: 640px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        font-size: 18px !important;
    }

    .hero-modern-actions {
        justify-content: center !important;
        margin-top: 30px !important;
    }

    .hero-modern-visual {
        min-height: 360px !important;
    }

    .hero-modern-photo {
        inset: 12px 0 0 0 !important;
        border-radius: 32px !important;
    }

    .hero-modern-badge {
        font-size: 13px !important;
        min-height: 40px !important;
    }
}

@media (max-width: 768px) {
    .section-intro {
        min-height: auto !important;
        overflow: visible !important;
    }

    .section-intro .content.hero-modern-content {
        min-height: auto !important;
        padding: 34px 0 38px !important;
    }

    .hero-modern-inner {
        gap: 28px !important;
    }

    .hero-modern-title {
        font-size: 38px !important;
        line-height: 1.04 !important;
        letter-spacing: -0.045em !important;
    }

    .hero-modern-description {
        font-size: 16px !important;
        line-height: 1.46 !important;
        margin-top: 20px !important;
    }

    .hero-modern-btn,
    .hero-modern-link {
        width: 100% !important;
        justify-content: center !important;
    }

    .hero-modern-btn {
        min-height: 52px !important;
        font-size: 16px !important;
    }

    .hero-modern-link {
        min-height: 42px !important;
    }

    .hero-modern-actions {
        gap: 8px !important;
        margin-top: 28px !important;
    }

    .hero-modern-visual {
        min-height: 300px !important;
    }

    .hero-modern-photo {
        border-radius: 28px !important;
        background-image: var(--hero-bg-mobile, var(--hero-bg-desktop)) !important;
        background-position: center center !important;
    }

    .hero-modern-badge-one {
        left: 10px !important;
        top: 38px !important;
    }

    .hero-modern-badge-two {
        right: 10px !important;
        bottom: 24px !important;
    }
}

/* ===== HERO BLOCK FIX ===== */
.hero-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 60px 5%;
    gap: 40px;
}

.hero-wrapper .hero-text {
    flex: 1 1 50%;
}

.hero-wrapper .hero-text h1 {
    font-size: 2.8rem;
    line-height: 1.2;
    margin-bottom: 20px;
}

.hero-wrapper .hero-text p {
    font-size: 1.15rem;
    line-height: 1.6;
    margin-bottom: 30px;
}

.hero-wrapper .hero-buttons {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.hero-wrapper .hero-image {
    flex: 1 1 45%;
    display: flex;
    justify-content: center;
}

.hero-wrapper .hero-image img {
    width: 100%;
    max-width: 500px;
    height: auto;
    object-fit: cover;
    border-radius: 16px;
}

/* ===== MOBILE HERO ===== */
@media screen and (max-width: 768px) {
    .hero-wrapper {
        flex-direction: column-reverse;
        padding: 30px 5%;
        gap: 25px;
        text-align: center;
    }

    .hero-wrapper .hero-text h1 {
        font-size: 2.2rem;
    }

    .hero-wrapper .hero-text p {
        font-size: 1rem;
    }

    .hero-wrapper .hero-image img {
        max-width: 100%;
    }

    .hero-wrapper .hero-buttons {
        justify-content: center;
    }
}

/* Мобильные */
@media (max-width: 768px) {
    .headerBrand {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 8px;
        max-width: calc(100% - 54px);
    }

    .headerBrandText {
        display: inline-block !important;
        max-width: 160px !important; /* ограничение по ширине */
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        font-size: var(--site-mobile-header-brand-font-size, 14px);
        color: var(--site-header-brand-text-color, #3A2724);
    }
}

.headerBrand {
    display: flex;
    align-items: center;
    gap: 12px;
}

.headerBrandText {
    display: inline-block !important;
    overflow: visible !important;
    white-space: normal !important;
    text-overflow: clip !important;
    color: var(--site-header-brand-text-color, #3A2724);
    font-size: var(--site-header-brand-font-size, 18px);
}

/* Мобильные правила */
@media (max-width: 768px) {
    .headerBrand {
        max-width: calc(100% - 54px);
    }
    .headerBrandText {
        max-width: 160px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: var(--site-mobile-header-brand-font-size, 14px);
    }
    .headerBrand .site-logo {
        width: var(--site-mobile-header-logo-width, 38px);
        max-height: calc(var(--site-mobile-header-height, 58px) - 12px);
    }
}

/* ===== Final clean header brand fix ===== */

@media (min-width: 769px) {
    .pageHeader {
        overflow: visible !important;
    }

    .headerBrand {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
        min-width: max-content !important;
        overflow: visible !important;
        text-decoration: none !important;
    }

    .headerBrand .site-logo {
        flex: 0 0 auto !important;
        width: var(--header-logo-width, 42px) !important;
        max-height: calc(var(--site-header-height, 72px) - 16px) !important;
        height: auto !important;
        object-fit: contain !important;
    }

    .headerBrandText {
        display: inline-block !important;
        width: auto !important;
        max-width: none !important;
        min-width: max-content !important;
        overflow: visible !important;
        text-overflow: clip !important;
        white-space: nowrap !important;

        color: var(--site-header-brand-text-color, #3A2724) !important;
        font-family: var(--site-heading-font, Arial, sans-serif) !important;
        font-size: var(--site-header-brand-font-size, 18px) !important;
        font-weight: 800 !important;
        line-height: 1.15 !important;
        letter-spacing: -0.02em !important;
    }

    .headerNav {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }
}

@media (min-width: 769px) and (max-width: 1180px) {
    .headerBrandText {
        font-size: min(var(--site-header-brand-font-size, 18px), 15px) !important;
    }

    .headerNav {
        gap: 10px !important;
    }

    .headerNav a {
        font-size: 13px !important;
    }
}

@media (max-width: 768px) {
    .headerBrand {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        flex: 1 1 auto !important;
        max-width: calc(100% - 54px) !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-decoration: none !important;
    }

    .headerBrand .site-logo {
        flex: 0 0 auto !important;
        width: var(--site-mobile-header-logo-width, 38px) !important;
        max-height: calc(var(--site-mobile-header-height, 58px) - 12px) !important;
        height: auto !important;
        object-fit: contain !important;
    }

    .headerBrandText {
        display: inline-block !important;
        min-width: 0 !important;
        max-width: 190px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;

        color: var(--site-mobile-header-brand-text-color, #ffffff) !important;
        font-family: var(--site-heading-font, Arial, sans-serif) !important;
        font-size: var(--site-mobile-header-brand-font-size, 14px) !important;
        font-weight: 800 !important;
        line-height: 1.15 !important;
    }
}

/* ===== FINAL STABLE LAYOUT V4 ===== */

/* 1. Убираем старые смещения шаблона */
html,
body {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    background: var(--site-bg-color, #FFF8F2) !important;
}

body {
    padding-top: 0 !important;
}

.pushWrapper,
main {
    position: relative !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
    background: var(--site-bg-color, #FFF8F2) !important;
}

/* 2. Шапка фиксированная, но body больше не создаёт под неё белую прокладку */
.pageHeader {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    z-index: 100000 !important;
}

/* 3. Первый экран */
.section-intro {
    margin: 0 !important;
    padding: 0 !important;
    min-height: auto !important;
    height: auto !important;
    overflow: hidden !important;
    background: var(--site-bg-color, #FFF8F2) !important;
    background-image: none !important;
}

.section-intro .content.hero-modern-content {
    margin: 0 !important;
    min-height: auto !important;
    height: auto !important;
    padding-top: calc(var(--site-header-height, 72px) + 46px) !important;
    padding-bottom: 64px !important;
    background:
        radial-gradient(circle at 16% 22%, rgba(255, 204, 213, 0.48), transparent 28%),
        radial-gradient(circle at 82% 18%, rgba(207, 197, 255, 0.42), transparent 28%),
        linear-gradient(180deg, #FFFDFB 0%, #FFF7F2 100%) !important;
    position: relative !important;
}

.section-intro .content.hero-modern-content::after {
    display: none !important;
}

/* 4. Hero на ПК */
@media (min-width: 901px) {
    .hero-modern-inner {
        width: min(1120px, calc(100% - 80px)) !important;
        max-width: 1120px !important;
        min-height: 500px !important;
        margin: 0 auto !important;
        display: grid !important;
        grid-template-columns: minmax(360px, 0.92fr) minmax(420px, 1.08fr) !important;
        grid-template-areas: "text visual" !important;
        align-items: center !important;
        gap: 72px !important;
        position: relative !important;
        z-index: 2 !important;
    }

    .hero-modern-text {
        grid-area: text !important;
        max-width: 560px !important;
        text-align: left !important;
        justify-self: end !important;
    }

    .hero-modern-visual {
        grid-area: visual !important;
        width: 100% !important;
        min-height: 430px !important;
        justify-self: start !important;
        position: relative !important;
    }

    .hero-modern-title {
        text-align: left !important;
        font-size: clamp(56px, 5vw, 78px) !important;
        line-height: 0.98 !important;
    }

    .hero-modern-description {
        max-width: 520px !important;
        font-size: 20px !important;
        line-height: 1.48 !important;
    }

    .hero-modern-actions {
        justify-content: flex-start !important;
    }

    .hero-modern-photo {
        position: absolute !important;
        inset: 36px 0 22px 20px !important;
        width: auto !important;
        height: auto !important;
        border-radius: 42px !important;
        background-image: var(--hero-bg-desktop) !important;
        background-size: cover !important;
        background-position: center center !important;
    }

    .hero-modern-badge-one {
        left: -4px !important;
        top: 78px !important;
    }

    .hero-modern-badge-two {
        right: 12px !important;
        bottom: 60px !important;
    }
}

@media (min-width: 901px) and (max-width: 1180px) {
    .hero-modern-inner {
        width: min(100% - 48px, 1040px) !important;
        grid-template-columns: minmax(330px, 0.95fr) minmax(380px, 1.05fr) !important;
        gap: 44px !important;
    }

    .hero-modern-text {
        justify-self: start !important;
    }

    .hero-modern-title {
        font-size: clamp(48px, 5vw, 66px) !important;
    }
}

/* 5. Hero на планшете и телефоне */
@media (max-width: 900px) {
    .section-intro .content.hero-modern-content {
        padding-top: calc(var(--site-header-height, 72px) + 34px) !important;
        padding-bottom: 38px !important;
    }

    .hero-modern-inner {
        width: min(100% - 32px, 720px) !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "text"
            "visual" !important;
        gap: 28px !important;
        min-height: auto !important;
        margin: 0 auto !important;
    }

    .hero-modern-text {
        grid-area: text !important;
        max-width: 100% !important;
        text-align: center !important;
        justify-self: center !important;
    }

    .hero-modern-visual {
        grid-area: visual !important;
        min-height: 320px !important;
        width: 100% !important;
        position: relative !important;
    }

    .hero-modern-title {
        text-align: center !important;
    }

    .hero-modern-actions {
        justify-content: center !important;
    }
}

@media (max-width: 768px) {
    .section-intro .content.hero-modern-content {
        padding-top: calc(var(--site-mobile-header-height, 58px) + 28px) !important;
        padding-bottom: 34px !important;
    }

    .hero-modern-visual {
        min-height: 300px !important;
    }

    .hero-modern-photo {
        inset: 10px 0 0 0 !important;
        background-image: var(--hero-bg-mobile, var(--hero-bg-desktop)) !important;
        background-size: cover !important;
        background-position: center center !important;
    }

    body:not(.menu-open):not(.specialist-modal-open):not(.service-modal-open):not(.document-preview-open) {
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }
}

/* 6. Общие секции: без внешних белых щелей */
main > section {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.section-custom-style {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    background-color: var(--section-bg-color, var(--site-bg-color, #FFF8F2)) !important;
}

.section-custom-style > .content,
.section-custom-style .content {
    background: transparent !important;
}

/* 7. Ограничиваем огромные дефолтные отступы, но не убиваем админку */
@media (min-width: 769px) {
    .section-custom-style > .content,
    .section-custom-style .content {
        padding-top: min(var(--section-padding-top, 42px), 48px) !important;
        padding-bottom: min(var(--section-padding-bottom, 42px), 48px) !important;
    }

    .section-custom-style .headergroup {
        margin-bottom: 24px !important;
    }

    .section-custom-style .headergroup::after {
        display: none !important;
    }

    .section-custom-style .headergroup h2 {
        margin: 0 !important;
    }
}

@media (max-width: 768px) {
    .section-custom-style > .content,
    .section-custom-style .content {
        padding-top: min(var(--section-mobile-padding-top, 30px), 34px) !important;
        padding-bottom: min(var(--section-mobile-padding-bottom, 30px), 34px) !important;
    }

    .section-custom-style .headergroup {
        margin-bottom: 18px !important;
    }

    .section-custom-style .headergroup::after {
        display: none !important;
    }

    .section-custom-style .headergroup h2 {
        margin: 0 !important;
    }
}

/* 8. Баннеры-разделители */
.section-seperator,
.custom-section-hero,
.testimonials-part-section-seperator {
    display: block !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* 9. Услуги: временно принудительно возвращаем светлый фон.
   ВАЖНО: это нужно, потому что сейчас у секции услуг в админке/переменных подтягивается тёмный фон. */
#stastistical-part,
#stastistical-part.section-custom-style,
#stastistical-part .content {
    background: var(--site-bg-color, #FFF8F2) !important;
    background-color: var(--site-bg-color, #FFF8F2) !important;
}

#stastistical-part::before {
    display: none !important;
}

#stastistical-part .intro,
#stastistical-part .intro *,
#stastistical-part .content-template,
#stastistical-part .content-template *,
#stastistical-part .service-description {
    color: var(--site-text-color, #4A3A35) !important;
}

/* 10. Кому подходит: пока только не ломаем его CSS-ом.
   Никаких :has здесь больше нет. */
.custom-section .custom-section-text {
    background: #ffffff !important;
    color: var(--site-text-color, #4A3A35) !important;
}

/* 11. Отзывы: баннер и форма отзыва разделены */
.testimonials-part.section-custom-style {
    background: var(--site-bg-color, #FFF8F2) !important;
}

.testimonials-part .testimonials-part-section-seperator {
    margin-bottom: 0 !important;
}

.testimonials-part .review-form-section {
    background: var(--site-bg-color, #FFF8F2) !important;
    margin-top: 0 !important;
    padding-top: 46px !important;
    padding-bottom: 52px !important;
}

.testimonials-part .review-form-section .content-template,
.testimonials-part .review-form-section form {
    background: transparent !important;
}

.testimonials-part .review-form-section h3 {
    margin-top: 0 !important;
    margin-bottom: 22px !important;
    color: var(--site-heading-color, #3A2724) !important;
}

/* 12. Карточки остаются белыми */
.specialist-card,
.service-card,
.work-step-card,
.mobile-price-card,
.podcast-card,
.faq-item,
.price-table-wrapper,
.contact-form form,
.custom-section-text {
    background-color: #ffffff !important;
}

/* ===== FINAL: plain custom section fix ===== */

.custom-section--plain {
    background: var(--section-bg-color, var(--site-bg-color, #FFF8F2)) !important;
    margin: 0 !important;
}

.custom-section--plain::before {
    display: none !important;
    content: none !important;
}

.custom-section--plain > .content {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
    background: transparent !important;
}

.custom-section--plain .container-template {
    width: min(960px, calc(100% - 48px)) !important;
    max-width: 960px !important;
    margin: 0 auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.custom-section--plain .headergroup {
    margin: 0 0 22px !important;
    padding: 0 !important;
    text-align: center !important;
}

.custom-section--plain .headergroup::after {
    display: none !important;
}

.custom-section--plain .headergroup h2 {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    line-height: 1.12 !important;
}

.custom-section--plain .custom-section-title-combined {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;

    color: var(--section-title-color, var(--site-heading-color, #6E1F2A)) !important;
    font-family: var(--site-heading-font, Arial, sans-serif) !important;
    font-size: clamp(30px, 2.4vw, 42px) !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.custom-section--plain .custom-section-text {
    width: min(760px, 100%) !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 24px 30px !important;

    background: #ffffff !important;
    color: var(--section-text-color, var(--site-text-color, #4A3A35)) !important;

    border: 1px solid rgba(178, 58, 72, 0.16) !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 34px rgba(110, 31, 42, 0.06) !important;

    font-size: 17px !important;
    line-height: 1.6 !important;
    text-align: left !important;
}

.custom-section--plain .custom-section-text p {
    margin: 0 !important;
    color: var(--section-text-color, var(--site-text-color, #4A3A35)) !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

@media (max-width: 768px) {
    .custom-section--plain > .content {
        padding-top: 32px !important;
        padding-bottom: 32px !important;
    }

    .custom-section--plain .container-template {
        width: calc(100% - 32px) !important;
    }

    .custom-section--plain .headergroup {
        margin-bottom: 16px !important;
    }

    .custom-section--plain .custom-section-title-combined {
        font-size: 28px !important;
        line-height: 1.15 !important;
    }

    .custom-section--plain .custom-section-text {
        padding: 18px !important;
        border-radius: 16px !important;
        font-size: 15px !important;
        line-height: 1.55 !important;
    }
}

/* ===== FINAL: hero image admin controls ===== */

.hero-modern-photo {
    background-position:
        var(--hero-image-position-x, 50%)
        var(--hero-image-position-y, 50%) !important;

    border-radius: var(--hero-image-border-radius, 42px) !important;
}

/* мобильное фото первого экрана */
@media (max-width: 768px) {
    .hero-modern-photo {
        background-position:
            var(--hero-mobile-image-position-x, var(--hero-image-position-x, 50%))
            var(--hero-mobile-image-position-y, var(--hero-image-position-y, 50%)) !important;

        border-radius: var(--hero-mobile-image-border-radius, var(--hero-image-border-radius, 28px)) !important;
    }
}

/* ===== FINAL: mobile modal scroll and safe bottom fix ===== */

body.specialist-modal-open,
body.document-preview-open,
body.service-modal-open {
    overflow: hidden !important;
    width: 100% !important;
}

/* сама модалка должна ловить прокрутку, а не отдавать её странице */
.specialist-modal,
.document-preview-modal,
.service-modal {
    overscroll-behavior: contain !important;
    touch-action: none !important;
}

.specialist-modal-dialog,
.document-preview-dialog,
.service-modal-dialog {
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;
}

/* запас снизу, чтобы ПроДокторов и кнопки не уходили под нижнюю панель браузера */
.specialist-modal-content,
.service-modal-content,
.document-preview-content {
    padding-bottom: calc(44px + env(safe-area-inset-bottom, 0px)) !important;
}

.prodoctorov-box {
    margin-bottom: 26px !important;
}

.prodoctorov-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 14px !important;
    padding: 12px 18px !important;
    border-radius: 999px !important;
    background: var(--site-button-bg-color, #B23A48) !important;
    color: var(--site-button-text-color, #ffffff) !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

@media (max-width: 768px) {
    .specialist-modal,
    .service-modal,
    .document-preview-modal {
        padding-top: calc(var(--site-mobile-header-height, 72px) + 8px) !important;
        padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    }

    .specialist-modal-dialog,
    .service-modal-dialog,
    .document-preview-dialog {
        max-height: calc(
            100dvh - var(--site-mobile-header-height, 72px) - 20px - env(safe-area-inset-bottom, 0px)
        ) !important;
    }

    .specialist-modal-grid {
        padding-bottom: calc(42px + env(safe-area-inset-bottom, 0px)) !important;
    }

    .prodoctorov-link,
    .specialist-modal-cta,
    .service-modal-cta {
        width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* ===== FINAL: service cards preview layout ===== */

.service-card-preview {
    display: grid !important;
    grid-template-columns: 260px minmax(0, 1fr) !important;
    gap: 26px !important;
    align-items: stretch !important;
    padding: 26px !important;
}

.service-card-image-wrap {
    width: 100% !important;
    min-height: 180px !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    background: #FFF8F2 !important;
}

.service-card-image {
    width: 100% !important;
    height: 100% !important;
    min-height: 180px !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
}

.service-card-body {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    min-width: 0 !important;
}

.service-card-body h3 {
    margin: 0 0 12px !important;
}

.service-description-short {
    max-width: 100% !important;
    margin-bottom: 16px !important;
    color: var(--section-text-color, var(--site-text-color, #4A3A35)) !important;
}

.service-card-body .service-more-btn {
    margin-top: auto !important;
}

/* Если у услуги нет фото — карточка остаётся нормальной */
.service-card-preview:not(:has(.service-card-image-wrap)) {
    grid-template-columns: 1fr !important;
}

@media (max-width: 768px) {
    .service-card-preview {
        display: block !important;
        padding: 20px !important;
    }

    .service-card-image-wrap {
        margin-bottom: 16px !important;
        min-height: 210px !important;
    }

    .service-card-image {
        height: 210px !important;
        min-height: 210px !important;
    }

    .service-card-body h3 {
        text-align: left !important;
    }

    .service-card-body .service-more-btn {
        margin-top: 16px !important;
    }
}

/* ===== FINAL: per-section title and subtitle font sizes ===== */

.section-custom-style .headergroup h2,
.section-custom-style .section-seperator h2,
.section-custom-style .custom-section-hero h2,
.section-custom-style .testimonials-part-section-seperator h2 {
    font-size: var(--section-title-font-size, var(--site-h2-font-size, 40px)) !important;
}

.section-custom-style .section-subtitle {
    font-size: var(--section-subtitle-font-size, var(--site-subtitle-font-size, 34px)) !important;
}

/* Кастомный блок "Кому подходит", где мы собираем заголовок в один span */
.section-custom-style .custom-section-title-combined {
    font-size: var(--section-title-font-size, var(--site-h2-font-size, 40px)) !important;
}

/* Заголовки внутри формы контактов тоже должны слушать настройки блока */
.contact-form.section-custom-style > .content > .container .headergroup h2,
.contact-form.section-custom-style .headergroup h2 {
    font-size: var(--section-title-font-size, var(--site-h2-font-size, 40px)) !important;
}

@media (max-width: 768px) {
    .section-custom-style .headergroup h2,
    .section-custom-style .section-seperator h2,
    .section-custom-style .custom-section-hero h2,
    .section-custom-style .testimonials-part-section-seperator h2,
    .contact-form.section-custom-style .headergroup h2 {
        font-size: var(
            --section-mobile-title-font-size,
            var(--site-mobile-h2-font-size, var(--section-title-font-size, 28px))
        ) !important;
    }

    .section-custom-style .section-subtitle {
        font-size: var(
            --section-mobile-subtitle-font-size,
            var(--site-mobile-subtitle-font-size, var(--section-subtitle-font-size, 18px))
        ) !important;
    }

    .section-custom-style .custom-section-title-combined {
        font-size: var(
            --section-mobile-title-font-size,
            var(--site-mobile-h2-font-size, var(--section-title-font-size, 28px))
        ) !important;
    }
}

/* ===== FINAL: reviews title color from admin ===== */

.testimonials-part.section-custom-style .testimonials-part-section-seperator h2 {
    color: var(--section-title-color, var(--site-heading-color, #3A2724)) !important;
}

.testimonials-part.section-custom-style .testimonials-part-section-seperator .section-title {
    display: block !important;
    color: var(--section-title-color, var(--site-heading-color, #3A2724)) !important;
    font-size: var(--section-title-font-size, var(--site-h2-font-size, 40px)) !important;
    line-height: 1.12 !important;
}

.testimonials-part.section-custom-style .testimonials-part-section-seperator .section-subtitle {
    display: block !important;
    color: var(--section-subtitle-color, var(--site-subtitle-color, #D66A78)) !important;
    font-size: var(--section-subtitle-font-size, var(--site-subtitle-font-size, 32px)) !important;
    line-height: 1.12 !important;
}

@media (max-width: 768px) {
    .testimonials-part.section-custom-style .testimonials-part-section-seperator .section-title {
        font-size: var(
            --section-mobile-title-font-size,
            var(--site-mobile-h2-font-size, var(--section-title-font-size, 30px))
        ) !important;
    }

    .testimonials-part.section-custom-style .testimonials-part-section-seperator .section-subtitle {
        font-size: var(
            --section-mobile-subtitle-font-size,
            var(--site-mobile-subtitle-font-size, var(--section-subtitle-font-size, 22px))
        ) !important;
    }
}

/* ===== FINAL: hero public image crop controls from admin ===== */

.hero-modern-photo {
    background-position:
        var(--hero-image-position-x, 50%)
        var(--hero-image-position-y, 50%) !important;

    background-size: var(--hero-image-zoom, cover) !important;
    border-radius: var(--hero-image-border-radius, 44px) !important;
}

@media (max-width: 768px) {
    .hero-modern-photo {
        background-position:
            var(--hero-mobile-image-position-x, var(--hero-image-position-x, 50%))
            var(--hero-mobile-image-position-y, var(--hero-image-position-y, 50%)) !important;

        background-size: var(--hero-mobile-image-zoom, var(--hero-image-zoom, cover)) !important;
        border-radius: var(--hero-mobile-image-border-radius, var(--hero-image-border-radius, 28px)) !important;
    }
}

/* ===== FINAL: hero image as real crop frame ===== */

.hero-modern-photo {
    position: relative !important;
    overflow: hidden !important;
    background-image: none !important;
    background-size: auto !important;
    background-position: center !important;
    border-radius: var(--hero-image-border-radius, 42px) !important;
}

.hero-modern-photo-img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    user-select: none !important;
    pointer-events: none !important;
}

.hero-modern-photo-img-desktop {
    object-position:
        var(--hero-image-position-x, 50%)
        var(--hero-image-position-y, 50%) !important;

    transform: scale(calc(var(--hero-image-zoom, 100) / 100)) !important;
    transform-origin: center center !important;
}

.hero-modern-photo-img-mobile {
    display: none !important;
}

@media (max-width: 768px) {
    .hero-modern-photo {
        border-radius: var(--hero-mobile-image-border-radius, var(--hero-image-border-radius, 28px)) !important;
    }

    .hero-modern-photo--has-mobile .hero-modern-photo-img-desktop {
        display: none !important;
    }

    .hero-modern-photo--has-mobile .hero-modern-photo-img-mobile {
        display: block !important;

        object-position:
            var(--hero-mobile-image-position-x, var(--hero-image-position-x, 50%))
            var(--hero-mobile-image-position-y, var(--hero-image-position-y, 50%)) !important;

        transform: scale(calc(var(--hero-mobile-image-zoom, var(--hero-image-zoom, 100)) / 100)) !important;
        transform-origin: center center !important;
    }

    .hero-modern-photo:not(.hero-modern-photo--has-mobile) .hero-modern-photo-img-desktop {
        object-position:
            var(--hero-mobile-image-position-x, var(--hero-image-position-x, 50%))
            var(--hero-mobile-image-position-y, var(--hero-image-position-y, 50%)) !important;

        transform: scale(calc(var(--hero-mobile-image-zoom, var(--hero-image-zoom, 100)) / 100)) !important;
    }
}

/* ===== FINAL FINAL: hero real pan + zoom for public site ===== */

.hero-modern-photo {
    position: absolute !important;
    inset: 44px 0 28px 26px !important;
    overflow: hidden !important;
    border-radius: var(--hero-image-border-radius, 42px) !important;
    background-image: none !important;
    background: transparent !important;
    background-size: auto !important;
    background-position: center !important;
    box-shadow: 0 28px 80px rgba(72, 42, 36, 0.16) !important;
}

.hero-modern-photo::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    pointer-events: none !important;
    background: linear-gradient(
        135deg,
        rgba(255, 255, 255, 0.22),
        rgba(255, 255, 255, 0.04)
    ) !important;
}

.hero-modern-photo-img {
    position: absolute !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center center !important;
    user-select: none !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

/* ПК: реальное приближение и движение по X/Y */
.hero-modern-photo-img-desktop {
    width: clamp(100%, calc(var(--hero-image-zoom, 100) * 1%), 260%) !important;
    height: clamp(100%, calc(var(--hero-image-zoom, 100) * 1%), 260%) !important;

    left: var(--hero-image-position-x, 50%) !important;
    top: var(--hero-image-position-y, 50%) !important;

    transform: translate(
        calc(-1 * var(--hero-image-position-x, 50%)),
        calc(-1 * var(--hero-image-position-y, 50%))
    ) !important;
}

.hero-modern-photo-img-mobile {
    display: none !important;
}

/* Планшет */
@media (max-width: 900px) {
    .hero-modern-photo {
        inset: 10px 0 0 0 !important;
    }
}

/* Мобильная версия */
@media (max-width: 768px) {
    .hero-modern-photo {
        border-radius: var(
            --hero-mobile-image-border-radius,
            var(--hero-image-border-radius, 28px)
        ) !important;

        background-image: none !important;
        background: transparent !important;
    }

    .hero-modern-photo--has-mobile .hero-modern-photo-img-desktop {
        display: none !important;
    }

    .hero-modern-photo--has-mobile .hero-modern-photo-img-mobile {
        display: block !important;

        width: clamp(100%, calc(var(--hero-mobile-image-zoom, var(--hero-image-zoom, 100)) * 1%), 260%) !important;
        height: clamp(100%, calc(var(--hero-mobile-image-zoom, var(--hero-image-zoom, 100)) * 1%), 260%) !important;

        left: var(--hero-mobile-image-position-x, var(--hero-image-position-x, 50%)) !important;
        top: var(--hero-mobile-image-position-y, var(--hero-image-position-y, 50%)) !important;

        transform: translate(
            calc(-1 * var(--hero-mobile-image-position-x, var(--hero-image-position-x, 50%))),
            calc(-1 * var(--hero-mobile-image-position-y, var(--hero-image-position-y, 50%)))
        ) !important;
    }

    .hero-modern-photo:not(.hero-modern-photo--has-mobile) .hero-modern-photo-img-desktop {
        display: block !important;

        width: clamp(100%, calc(var(--hero-mobile-image-zoom, var(--hero-image-zoom, 100)) * 1%), 260%) !important;
        height: clamp(100%, calc(var(--hero-mobile-image-zoom, var(--hero-image-zoom, 100)) * 1%), 260%) !important;

        left: var(--hero-mobile-image-position-x, var(--hero-image-position-x, 50%)) !important;
        top: var(--hero-mobile-image-position-y, var(--hero-image-position-y, 50%)) !important;

        transform: translate(
            calc(-1 * var(--hero-mobile-image-position-x, var(--hero-image-position-x, 50%))),
            calc(-1 * var(--hero-mobile-image-position-y, var(--hero-image-position-y, 50%)))
        ) !important;
    }
}
