@charset "UTF-8";
@font-face {
  font-family: "Montserrat";
  font-weight: 500;
  src: url(../assets/fonts/Montserrat/Montserrat-Medium.woff2) format("woff2"), url(../assets/fonts/Montserrat/Montserrat-Medium.woff) format("woff");
  font-display: swap; }

@font-face {
  font-family: "Montserrat";
  font-weight: 600;
  src: url(../assets/fonts/Montserrat/Montserrat-SemiBold.woff2) format("woff2"), url(../assets/fonts/Montserrat/Montserrat-SemiBold.woff) format("woff");
  font-display: swap; }

@font-face {
  font-family: "Montserrat";
  font-weight: 700;
  src: url(../assets/fonts/Montserrat/Montserrat-Bold.woff2) format("woff2"), url(../assets/fonts/Montserrat/Montserrat-Bold.woff) format("woff");
  font-display: swap; }

* {
  -webkit-box-sizing: inherit;
          box-sizing: inherit; }

html.ov-hidden {
  overflow: hidden;
  background-color: #314762; }

body {
  position: relative;
  height: 100%;
  -webkit-overflow-scrolling: touch; }
  body.ov-hidden {
    overflow: hidden;
    background-color: #fff; }
  body + div {
    display: none !important; }

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

input::-ms-reveal {
  display: none; }

input::-ms-clear {
  display: none; }

/*! normalize.css v2.1.3 | MIT License | git.io/normalize */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block; }

/**
 * Correct `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block; }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0; }

/* ==========================================================================
   Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background: transparent;
  text-decoration: none; }

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted;
  text-decoration: none; }

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
  text-decoration: none; }

/* ==========================================================================
   Typography
   ========================================================================== */
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0; }

/**
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari 5 and Chrome.
 */
dfn,
i {
  font-style: italic; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0; }

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em; }

/**
 * Improve readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre-wrap; }

/**
 * Set consistent quote types.
 */
q {
  quotes: "“" "”" "‘" "’"; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* ==========================================================================
   Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9.
 */
img {
  border: 0;
  vertical-align: middle; }

/**
 * Correct overflow displayed oddly in IE 9.
 */
svg:not(:root) {
  overflow: hidden; }

/* ==========================================================================
   Figures
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0; }

/* ==========================================================================
   Forms
   ========================================================================== */
/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */
button,
input,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 2 */
  margin: 0;
  /* 3 */
  border: 0; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input,
button {
  line-height: normal; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type='checkbox'],
input[type='radio'] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box; }

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */ }

/* ==========================================================================
   Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

/* ==========================================================================
   Lists
   ========================================================================== */
ol {
  padding: 0;
  margin: 0; }

ul li,
ol li {
  padding: 0;
  margin: 0; }

ul {
  padding: 0;
  margin: 0; }

ul li {
  list-style: none; }

dl,
dd,
dt {
  margin: 0;
  padding: 0; }

/* stylelint-enable */
.root {
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 500;
  background: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  height: 100%;
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: none;
  -webkit-overflow-scrolling: touch; }

.page {
  color: #0f2437;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 400;
  height: 100%;
  line-height: 1.5;
  margin: 0;
  min-width: 320px;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-overflow-scrolling: touch; }
  .page__main {
    -ms-flex: 1 0 auto;
        flex: 1 0 auto;
    overflow: hidden; }

.page-container {
  margin: 0 auto;
  width: calc(100% - 32px); }
  @media (min-width: 768px) {
    .page-container {
      width: 89.0625%; } }
  @media (min-width: 1280px) {
    .page-container {
      width: 1136px; } }

/* stylelint-disable */
.object-fit-cover {
  font-family: 'object-fit: cover;';
  -o-object-fit: cover;
     object-fit: cover; }

.clip-path-images {
  position: absolute; }

.btn {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  display: inline-block;
  font-size: inherit;
  font-weight: normal;
  margin: 0;
  padding: 0;
  position: relative;
  text-align: center;
  text-decoration: none;
  vertical-align: middle; }
  .btn:focus-visible {
    outline: thin dotted black; }
  .btn:-moz-focusring {
    outline: thin dotted black; }

.solid-btn {
  width: 100%;
  padding: 12px 30px;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
  color: #fff;
  -webkit-transition-property: background;
  transition-property: background;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  white-space: nowrap;
  border-radius: 80px;
  outline: none; }
  @media (min-width: 1280px) {
    .solid-btn {
      padding-top: 20px;
      padding-bottom: 20px; } }
  .solid-btn--cinnabar {
    background-color: #ff4116; }
    .solid-btn--cinnabar:hover, .solid-btn--cinnabar:active {
      background-color: #d71e1e; }

.ghost-btn {
  width: 100%;
  padding: 11px 20px 9px 20px;
  border: 2px solid #e0e0e0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.21;
  color: inherit;
  background-color: transparent;
  -webkit-transition-property: border-color, color;
  transition-property: border-color, color;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  white-space: nowrap;
  border-radius: 20px; }
  .ghost-btn--cinnabar {
    color: #ff4116; }
    .ghost-btn--cinnabar:hover, .ghost-btn--cinnabar:active {
      border-color: #ff4116; }

.title {
  color: #0f2437;
  font-family: "Montserrat", sans-serif;
  font-weight: 600; }
  .title--h1, .title--h3 {
    font-size: 22px;
    line-height: 1.18; }
    @media (min-width: 1280px) {
      .title--h1, .title--h3 {
        font-size: 48px;
        line-height: 1.2; } }
  .title--h2 {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.18; }
    @media (min-width: 1280px) {
      .title--h2 {
        font-size: 56px;
        line-height: 1.28; } }
  .title--h4 {
    font-size: 18px;
    line-height: 1.33; }
    @media (min-width: 1280px) {
      .title--h4 {
        font-size: 24px; } }
  .title--h5 {
    font-size: 18px;
    line-height: 1.33; }
    @media (min-width: 1280px) {
      .title--h5 {
        font-size: 20px;
        line-height: 1.2; } }

.d-none {
  display: none; }

.hidden {
  overflow: hidden; }

.unordered-list {
  padding: 0;
  margin: 0;
  list-style: none; }
  .unordered-list__item {
    position: relative;
    padding-left: 14px;
    font-size: inherit;
    line-height: inherit; }
    .unordered-list__item + .unordered-list__item {
      margin-top: 5px; }
      @media (min-width: 1280px) {
        .unordered-list__item + .unordered-list__item {
          margin-right: 14px; } }
    .unordered-list__item::before {
      content: '';
      position: absolute;
      left: 0;
      top: 9px;
      width: 6px;
      height: 6px;
      background-color: #ff4116;
      border-radius: 50%; }

.visuallyhidden {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0; }

.link {
  font-family: "Montserrat", sans-serif;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
  text-decoration: none;
  -webkit-transition: color 0.2s ease-out;
  transition: color 0.2s ease-out; }
  :root:not(.mobile) .link:hover {
    color: #ff4116; }

.horizontal-slider {
  position: relative; }
  .horizontal-slider__list:not(.slick-initialized) {
    display: -ms-flexbox;
    display: flex;
    overflow: auto;
    margin-left: -4px; }
    @media (min-width: 1280px) {
      .horizontal-slider__list:not(.slick-initialized) {
        margin-left: -8px; } }
  .horizontal-slider__slide {
    margin-left: 4px;
    margin-right: 4px; }
    @media (min-width: 1280px) {
      .horizontal-slider__slide {
        margin-left: 8px;
        margin-right: 8px; } }
  .horizontal-slider__slide,
  .horizontal-slider__list.slick-initialized .horizontal-slider__slide {
    display: -ms-inline-flexbox;
    display: inline-flex; }
  .horizontal-slider__btn {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background-color: #fbfbfb;
    -webkit-box-shadow: 0 2px 48px rgba(0, 0, 0, 0.15);
            box-shadow: 0 2px 48px rgba(0, 0, 0, 0.15);
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
    .horizontal-slider__btn--prev {
      left: -29px; }
    .horizontal-slider__btn--next {
      right: -29px; }
    .horizontal-slider__list:not(.slick-initialized) ~ .horizontal-slider__btn {
      display: none; }
    @media (max-width: 1279px) {
      .horizontal-slider__btn {
        display: none; } }
  .horizontal-slider__btn-icon {
    width: 16px;
    height: 16px;
    fill: #ff4116; }

.slider-card {
  border-radius: 20px;
  background-color: #fff;
  border: 1px solid rgba(49, 71, 98, 0.1);
  padding-top: 12px;
  padding-left: 12px;
  padding-right: 12px;
  padding-bottom: 36px;
  width: 239px; }
  @media (min-width: 1280px) {
    .slider-card {
      padding-top: 16px;
      padding-left: 16px;
      padding-right: 16px;
      width: 344px; } }
  .slider-card__header {
    border-radius: 20px;
    background-color: #f6f9fe;
    padding: 16px 32px;
    margin-bottom: 22px; }
  .slider-card__image-wrap {
    display: block;
    width: 143px;
    height: 210px;
    overflow: hidden; }
    @media (min-width: 1280px) {
      .slider-card__image-wrap {
        margin: 0 auto; } }
  .slider-card__image {
    display: block;
    width: 100%;
    height: auto; }
  .slider-card__name {
    font-size: 18px;
    line-height: 1.33333333;
    margin-bottom: 6px; }
    @media (min-width: 1280px) {
      .slider-card__name {
        font-size: 20px;
        line-height: 1.2;
        margin-bottom: 9px; } }
  .slider-card__description {
    color: rgba(15, 36, 55, 0.6);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.33333333;
    margin: 0; }
    @media (min-width: 1280px) {
      .slider-card__description {
        font-size: 16px;
        line-height: 1.5; } }

.header__inner {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between;
  padding-top: 13px;
  padding-bottom: 14px; }
  @media (min-width: 1280px) {
    .header__inner {
      -ms-flex-pack: start;
          justify-content: flex-start;
      padding-top: 25px;
      padding-bottom: 25px; } }

.header__logo-wrap {
  width: 32px;
  height: 39px; }
  @media (min-width: 1280px) {
    .header__logo-wrap {
      width: 38px;
      height: 45px;
      margin-right: 102px; } }

.header__logo {
  display: block;
  width: 100%;
  height: auto; }

.header__menu-navigation {
  display: none; }
  @media (min-width: 1280px) {
    .header__menu-navigation {
      display: block;
      color: inherit; } }

.header__menu-list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  margin-left: -48px; }

.header__menu-item {
  margin-left: 42px; }

.header__menu-link {
  display: block;
  padding-top: 13px;
  padding-bottom: 13px;
  font-weight: 600;
  font-size: 14px;
  color: inherit; }
  .header__menu-link:focus-visible {
    outline: thin dotted black; }

@media (min-width: 1280px) {
  .header__menu {
    display: none; } }

.header__menu-btn {
  display: block;
  padding: 8px; }

.header__menu-line {
  display: block;
  width: 22px;
  height: 2px;
  background-color: #ff4116;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  margin-left: auto;
  margin-right: auto;
  border-radius: 5px; }
  .header__menu-line + .header__menu-line {
    margin-top: 4px; }
  .header__menu-btn.is-active .header__menu-line:first-child {
    -webkit-transform: translateY(5px) rotate(-48deg);
            transform: translateY(5px) rotate(-48deg);
    width: 24px; }
  .header__menu-btn.is-active .header__menu-line:nth-child(2) {
    opacity: 0; }
  .header__menu-btn.is-active .header__menu-line:last-child {
    -webkit-transform: translateY(-7px) rotate(48deg);
            transform: translateY(-7px) rotate(48deg);
    width: 24px; }

.header__phone {
  margin-left: auto; }
  @media (max-width: 1279px) {
    .header__phone {
      display: none; } }

.phone {
  font-weight: 600; }
  .phone__link {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
    .phone__link:focus-visible {
      outline: thin dotted black; }
    .mobile-menu__phone .phone__link {
      -ms-flex-pack: center;
          justify-content: center; }
  .phone__icon {
    width: 21px;
    height: 20px;
    fill: #ff4116; }
  .phone__text {
    margin-left: 11px; }

.email {
  font-weight: 600; }
  .email__link {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
  .email__icon {
    width: 22px;
    height: 18px;
    fill: #ff4116; }
  .email__text {
    margin-left: 11px; }

.mobile-menu-overlay {
  position: absolute;
  width: 100%;
  left: 0;
  top: 65px;
  background-color: rgba(49, 71, 98, 0.4);
  z-index: 2;
  height: 0;
  overflow: hidden;
  opacity: 0;
  will-change: opacity;
  -webkit-transition-property: height, opacity;
  transition-property: height, opacity;
  -webkit-transition-duration: 0ms, 750ms;
          transition-duration: 0ms, 750ms;
  -webkit-transition-delay: 550ms, 0ms;
          transition-delay: 550ms, 0ms; }
  .mobile-menu-overlay.is-active {
    height: calc(100vh - 66px);
    opacity: 1;
    -webkit-transition-property: height, opacity;
    transition-property: height, opacity;
    -webkit-transition-delay: 0ms, 0ms;
            transition-delay: 0ms, 0ms; }
  @media (min-width: 1280px) {
    .mobile-menu-overlay {
      display: none; } }

.mobile-menu {
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  position: absolute;
  z-index: 3;
  left: 0;
  top: 65px;
  height: calc(100% - 65px);
  overflow-y: auto;
  background-color: #fff;
  width: 0;
  -webkit-transform: translateX(-300%);
          transform: translateX(-300%);
  will-change: transform;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-duration: 350ms;
          transition-duration: 350ms;
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out; }
  .mobile-menu.is-active {
    width: 100%;
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  @media (min-width: 1280px) {
    .mobile-menu {
      display: none; } }
  .mobile-menu__inner {
    padding-top: 39px; }
  .mobile-menu__list {
    padding: 0;
    margin: 0;
    list-style: none; }
  .mobile-menu__item {
    text-align: center; }
  .mobile-menu__link {
    display: block;
    padding-top: 20px;
    padding-bottom: 19px;
    font-weight: 600;
    font-size: 16px;
    line-height: inherit; }
  .mobile-menu__footer {
    padding-top: 89px;
    padding-bottom: 50px; }

.footer {
  padding-top: 33px;
  padding-bottom: 31px;
  background-color: #fbfbfb; }
  @media (max-width: 1279px) {
    .footer {
      font-size: 12px;
      line-height: 1.33; } }
  .footer__inner {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center; }
    @media (min-width: 1280px) {
      .footer__inner {
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: justify;
            justify-content: space-between; } }
  .footer__development {
    color: #8ba1bc;
    margin-top: 16px; }
    @media (min-width: 1280px) {
      .footer__development {
        padding-right: 25px;
        margin-top: 0; } }
  .footer__development-link {
    display: inline-block;
    margin-left: 4px;
    color: #0f2437; }
    .footer__development-link:focus-visible {
      outline: thin dotted black; }

.intro {
  position: relative; }
  .intro::before {
    content: '';
    position: absolute;
    top: -270px;
    left: 0;
    background: url(../assets/images/intro/intro-bg.svg);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    min-height: 1580px;
    pointer-events: none;
    z-index: -1; }
    @media (min-width: 1280px) {
      .intro::before {
        min-height: 1477px;
        top: 80px;
        left: 200px; } }
  .intro__container {
    position: relative; }
    .intro__container::after {
      content: '';
      position: absolute;
      bottom: -25px;
      right: 0;
      width: 72px;
      height: 95px;
      background-size: 11px 11px;
      background-position: -3px -3px;
      background-image: repeating-radial-gradient(circle, rgba(0, 78, 254, 0.6), rgba(0, 78, 254, 0.6) 0.9px, transparent 1.8px, transparent 100%); }
      @media (min-width: 1280px) {
        .intro__container::after {
          background-image: repeating-radial-gradient(circle, rgba(0, 78, 254, 0.6), rgba(0, 78, 254, 0.6) 1.3px, transparent 2.3px, transparent 100%); } }
      @media (min-width: 1280px) {
        .intro__container::after {
          bottom: -50px; } }
  .intro__inner {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    height: 464px;
    padding-top: 64px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    border: 1px solid transparent;
    border-radius: 30px;
    z-index: 2; }
    @media (min-width: 1280px) {
      .intro__inner {
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-align: start;
            align-items: flex-start;
        height: 576px;
        padding: 42px 72px 58px 74px; } }
  @media (min-width: 1280px) {
    .intro__info {
      width: 73%;
      margin-top: 57px; } }
  .intro__title {
    text-transform: uppercase;
    color: #fff;
    text-align: center; }
    @media (max-width: 1279px) {
      .intro__title {
        padding-right: 8px;
        padding-left: 8px; } }
    @media (min-width: 1280px) {
      .intro__title {
        text-align: left; } }
  .intro__further {
    margin-top: 70px; }
    @media (max-width: 1279px) {
      .intro__further {
        display: none; } }
  .intro__further-btn {
    display: block;
    width: 24px;
    height: 64px;
    -webkit-animation-name: further-scroll;
            animation-name: further-scroll;
    -webkit-animation-duration: 2.2s;
            animation-duration: 2.2s;
    -webkit-animation-timing-function: cubic-bezier(0.15, 0.41, 0.69, 0.94);
            animation-timing-function: cubic-bezier(0.15, 0.41, 0.69, 0.94);
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite; }
    .intro__further-btn:focus-visible {
      outline: thin dotted black; }

@-webkit-keyframes further-scroll {
  0% {
    opacity: 0; }
  10% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(15px);
            transform: translateY(15px);
    opacity: 0; } }

@keyframes further-scroll {
  0% {
    opacity: 0; }
  10% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(15px);
            transform: translateY(15px);
    opacity: 0; } }
  @media (min-width: 768px) and (max-width: 1280px) {
    .intro__features {
      position: relative;
      left: -25px; } }
  .intro__features-item {
    -webkit-filter: drop-shadow(-1px 6px 3px rgba(50, 50, 0, 0.5));
            filter: drop-shadow(-1px 6px 3px rgba(50, 50, 0, 0.5)); }
    .intro__features-item + .intro__features-item {
      margin-top: 7px; }
      @media (min-width: 1280px) {
        .intro__features-item + .intro__features-item {
          margin-top: 26px; } }
  .intro__features-card {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    width: 288px;
    padding: 24px;
    border-radius: 20px;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%22320%22%20height%3D%22176%22%20viewBox%3D%220%200%20320%20176%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%0A%3Cg%20filter%3D%22url%28%23filter0_d%29%22%3E%0A%3Cpath%20d%3D%22M16%20106V66.9361C16%2055.5316%2025.5216%2046.4357%2036.9142%2046.957L284.914%2058.3055C295.593%2058.7942%20304%2067.5944%20304%2078.2846V106C304%20117.046%20295.046%20126%20284%20126H36C24.9543%20126%2016%20117.046%2016%20106Z%22%20fill%3D%22white%22/%3E%0A%3C/g%3E%0A%3Cdefs%3E%0A%3Cfilter%20id%3D%22filter0_d%22%20x%3D%22-32%22%20y%3D%220.935669%22%20width%3D%22384%22%20height%3D%22175.064%22%20filterUnits%3D%22userSpaceOnUse%22%20color-interpolation-filters%3D%22sRGB%22%3E%0A%3CfeFlood%20flood-opacity%3D%220%22%20result%3D%22BackgroundImageFix%22/%3E%0A%3CfeColorMatrix%20in%3D%22SourceAlpha%22%20type%3D%22matrix%22%20values%3D%220%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200%22/%3E%0A%3CfeOffset%20dy%3D%222%22/%3E%0A%3CfeGaussianBlur%20stdDeviation%3D%2224%22/%3E%0A%3CfeColorMatrix%20type%3D%22matrix%22%20values%3D%220%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200.15%200%22/%3E%0A%3CfeBlend%20mode%3D%22normal%22%20in2%3D%22BackgroundImageFix%22%20result%3D%22effect1_dropShadow%22/%3E%0A%3CfeBlend%20mode%3D%22normal%22%20in%3D%22SourceGraphic%22%20in2%3D%22effect1_dropShadow%22%20result%3D%22shape%22/%3E%0A%3C/filter%3E%0A%3C/defs%3E%0A%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-position: center center; }
    @media (min-width: 1280px) {
      .intro__features-card {
        background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%22368%22%20height%3D%22231%22%20viewBox%3D%220%200%20368%20231%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%0A%3Cg%20filter%3D%22url%28%23filter0_d%29%22%3E%0A%3Cpath%20d%3D%22M48%20161V66.7151C48%2055.0219%2057.9881%2045.8227%2069.6418%2046.7826L301.642%2065.8919C312.016%2066.7464%20320%2075.4153%20320%2085.8244V161C320%20172.046%20311.046%20181%20300%20181H68C56.9543%20181%2048%20172.046%2048%20161Z%22%20fill%3D%22white%22/%3E%0A%3C/g%3E%0A%3Cdefs%3E%0A%3Cfilter%20id%3D%22filter0_d%22%20x%3D%220%22%20y%3D%220.713745%22%20width%3D%22368%22%20height%3D%22230.286%22%20filterUnits%3D%22userSpaceOnUse%22%20color-interpolation-filters%3D%22sRGB%22%3E%0A%3CfeFlood%20flood-opacity%3D%220%22%20result%3D%22BackgroundImageFix%22/%3E%0A%3CfeColorMatrix%20in%3D%22SourceAlpha%22%20type%3D%22matrix%22%20values%3D%220%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200%22/%3E%0A%3CfeOffset%20dy%3D%222%22/%3E%0A%3CfeGaussianBlur%20stdDeviation%3D%2224%22/%3E%0A%3CfeColorMatrix%20type%3D%22matrix%22%20values%3D%220%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200.15%200%22/%3E%0A%3CfeBlend%20mode%3D%22normal%22%20in2%3D%22BackgroundImageFix%22%20result%3D%22effect1_dropShadow%22/%3E%0A%3CfeBlend%20mode%3D%22normal%22%20in%3D%22SourceGraphic%22%20in2%3D%22effect1_dropShadow%22%20result%3D%22shape%22/%3E%0A%3C/filter%3E%0A%3C/defs%3E%0A%3C/svg%3E%0A");
        background-repeat: no-repeat; } }
    @media (min-width: 1280px) {
      .intro__features-card {
        width: 272px;
        padding-top: 40px;
        padding-bottom: 40px; } }
  .intro__features-card-img-wrap {
    position: relative;
    width: 32px;
    height: 32px; }
    @media (min-width: 1280px) {
      .intro__features-card-img-wrap {
        width: 56px;
        height: 56px; } }
  .intro__features-card-img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
    @media (max-width: 1279px) {
      .intro__features-item:first-child .intro__features-card-img {
        width: 26px;
        height: 32px; } }
    @media (max-width: 1279px) {
      .intro__features-item:nth-child(2) .intro__features-card-img {
        width: 26px;
        height: 32px; } }
    @media (max-width: 1279px) {
      .intro__features-item:last-child .intro__features-card-img {
        width: 32px;
        height: 22px; } }
  .intro__features-card-description {
    margin-left: 24px;
    width: 80%;
    font-size: 12px;
    line-height: 16px;
    font-weight: 600; }
    @media (min-width: 1280px) {
      .intro__features-card-description {
        font-size: 14px;
        line-height: 1.7;
        margin-left: 16px; } }

.about {
  padding-top: 30px;
  padding-bottom: 34px; }
  @media (min-width: 1280px) {
    .about {
      padding-top: 10px; } }
  @media (min-width: 1280px) {
    .about__introduction {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: start;
          align-items: flex-start;
      -ms-flex-pack: justify;
          justify-content: space-between; } }
  @media (max-width: 1279px) {
    .about__img-wrap {
      display: none; } }
  @media (min-width: 1280px) {
    .about__img-wrap {
      width: 568px; } }
  @media (min-width: 1280px) {
    .about__information {
      width: 568px;
      padding-top: 103px;
      margin-left: 15px; } }
  .about__description {
    margin-top: 10px;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.71; }
    @media (min-width: 1280px) {
      .about__description {
        margin-top: 18px;
        font-size: 20px;
        line-height: 1.6; } }
  .about__description-text + .about__description-text {
    margin-top: 18px; }
    @media (min-width: 1280px) {
      .about__description-text + .about__description-text {
        margin-top: 31px; } }
  .about__features {
    margin-top: 18px; }
  .about__features-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    margin-left: -16px; }
    @media (min-width: 1280px) {
      .about__features-list {
        margin-top: -16px; } }
  .about__features-item {
    margin-top: 18px;
    width: 288px;
    height: 248px;
    margin-left: 16px; }
    @media (min-width: 1280px) {
      .about__features-item {
        width: 272px;
        height: 295px;
        margin-top: 16px; } }
    .about__features-item:nth-child(3) {
      position: relative;
      z-index: 1; }
      .about__features-item:nth-child(3)::after {
        content: '';
        position: absolute;
        bottom: -37px;
        right: 0;
        width: 72px;
        height: 60px;
        background-size: 11px 11px;
        background-position: -3px -3px;
        background-image: repeating-radial-gradient(circle, rgba(0, 78, 254, 0.6), rgba(0, 78, 254, 0.6) 0.9px, transparent 1.8px, transparent 100%); }
        @media (min-width: 1280px) {
          .about__features-item:nth-child(3)::after {
            background-image: repeating-radial-gradient(circle, rgba(0, 78, 254, 0.6), rgba(0, 78, 254, 0.6) 1.3px, transparent 2.3px, transparent 100%); } }
        @media (min-width: 1280px) {
          .about__features-item:nth-child(3)::after {
            content: none; } }

.features-card {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-image: url(../assets/images/about/features-bg-sm.png);
  background-repeat: no-repeat; }
  @media (min-width: 1280px) {
    .features-card {
      background-image: url(../assets/images/about/features-bg-lg.png); } }
  .features-card__container {
    padding: 40px 18px 52px 18px; }
    @media (min-width: 1280px) {
      .features-card__container {
        padding: 40px 26px 46px 26px; } }
  .features-card__img-wrap {
    margin-left: 6px;
    width: 56px;
    height: 57px; }
  .features-card__img {
    display: block;
    width: 100%; }
  .features-card__title {
    margin-top: 20px; }
    @media (min-width: 1280px) {
      .features-card__title {
        margin-top: 28px; } }
  .features-card__description {
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.71;
    opacity: 0.6; }
    @media (min-width: 1280px) {
      .features-card__description {
        font-size: 16px;
        line-height: 1.5; } }

@media (min-width: 1280px) {
  .contacts {
    margin-bottom: 232px; } }

.contacts__container.page-container {
  position: relative; }
  @media (min-width: 1280px) {
    .contacts__container.page-container::before {
      content: '';
      position: absolute;
      bottom: calc(100% + 16px);
      right: 144px;
      width: 95px;
      height: 72px;
      background-size: 11px 11px;
      background-position: -3px -3px;
      background-image: repeating-radial-gradient(circle, rgba(0, 78, 254, 0.6), rgba(0, 78, 254, 0.6) 0.9px, transparent 1.8px, transparent 100%); } }
  @media (min-width: 1280px) and (min-width: 1280px) {
    .contacts__container.page-container::before {
      background-image: repeating-radial-gradient(circle, rgba(0, 78, 254, 0.6), rgba(0, 78, 254, 0.6) 1.3px, transparent 2.3px, transparent 100%); } }

.contacts__inner {
  background-color: #fff;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  -webkit-box-shadow: 0 2px 48px rgba(0, 0, 0, 0.15);
          box-shadow: 0 2px 48px rgba(0, 0, 0, 0.15);
  padding-top: 38px;
  padding-left: 14px;
  padding-right: 14px;
  padding-bottom: 310px;
  border: 1px solid rgba(49, 71, 98, 0.1); }
  @media (min-width: 1280px) {
    .contacts__inner {
      padding-top: 63px;
      padding-left: 58px;
      padding-right: 58px;
      padding-bottom: 62px;
      border-bottom-left-radius: 20px;
      border-bottom-right-radius: 20px;
      width: 1064px; } }

@media (min-width: 768px) and (max-width: 1280px) {
  .contacts__inner-content {
    position: relative;
    left: -3px; } }

.contacts__title {
  line-height: 1;
  margin-bottom: 12px; }
  @media (min-width: 1280px) {
    .contacts__title {
      margin-bottom: 16px; } }

.contacts__address {
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 23px; }
  @media (min-width: 1280px) {
    .contacts__address {
      margin-bottom: 31px; } }

.contacts__link-list {
  list-style: none;
  margin: 0;
  padding: 0; }

.contacts__link-item + .contacts__link-item {
  margin-top: 18px; }

.contacts__map-wrapper {
  background-color: #e9e9e9;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  -webkit-filter: drop-shadow(0 2px 48px rgba(0, 0, 0, 0.15));
          filter: drop-shadow(0 2px 48px rgba(0, 0, 0, 0.15));
  height: 277px;
  width: 100%;
  position: absolute;
  bottom: 0;
  overflow: hidden; }
  @media (min-width: 1280px) {
    .contacts__map-wrapper {
      width: 776px;
      height: 400px;
      border-bottom-left-radius: 20px;
      border-bottom-right-radius: 20px;
      right: 0;
      top: 56px;
      bottom: auto; } }

.contacts__map-iframe {
  width: 100%;
  height: 277px;
  -webkit-filter: grayscale(1);
          filter: grayscale(1); }
  @media (min-width: 1280px) {
    .contacts__map-iframe {
      height: 400px; } }

.services {
  padding-top: 34px;
  padding-bottom: 17px;
  position: relative; }
  .services::before {
    content: '';
    position: absolute;
    top: 76px;
    left: 0;
    background-color: #f6f9fe;
    border-radius: 20px;
    width: 100%;
    height: 120px;
    pointer-events: none;
    z-index: -1; }
    @media (min-width: 1280px) {
      .services::before {
        left: 32px;
        top: 113px;
        height: 234px; } }
  .services__container {
    position: relative; }
    @media (min-width: 1280px) {
      .services__container::before {
        content: '';
        position: absolute;
        top: 173px;
        left: -18px;
        width: 95px;
        height: 72px;
        z-index: 1;
        background-size: 11px 11px;
        background-position: -3px -3px;
        background-image: repeating-radial-gradient(circle, rgba(0, 78, 254, 0.6), rgba(0, 78, 254, 0.6) 0.9px, transparent 1.8px, transparent 100%); } }
  @media (min-width: 1280px) and (min-width: 1280px) {
    .services__container::before {
      background-image: repeating-radial-gradient(circle, rgba(0, 78, 254, 0.6), rgba(0, 78, 254, 0.6) 1.3px, transparent 2.3px, transparent 100%); } }
  .services__title {
    margin-bottom: 18px; }
    @media (min-width: 1280px) {
      .services__title {
        margin-bottom: 33px; } }
  .services__slider-wrap {
    z-index: 2; }

.service-card {
  width: 239px; }
  @media (min-width: 1280px) {
    .service-card {
      width: 344px; } }
  .service-card__container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: justify;
        justify-content: space-between;
    padding: 22px 18px 16px 18px;
    height: calc(100% - 222px);
    border: 1px solid rgba(49, 71, 98, 0.1);
    border-top-color: #fff;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px; }
    @media (min-width: 1280px) {
      .service-card__container {
        padding: 21px 42px 15px 42px; } }
  .service-card__header {
    position: relative; }
    .service-card__header::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: calc(100% - 2px);
      height: 10px;
      background-color: #fff;
      border-right: 1px solid rgba(49, 71, 98, 0.1);
      border-left: 1px solid rgba(49, 71, 98, 0.1); }
  .service-card__img-wrap {
    position: relative;
    z-index: 1; }
  .service-card__img {
    display: block;
    width: 100%;
    height: 222px;
    -o-object-fit: cover;
       object-fit: cover;
    -webkit-clip-path: url("#service-bg-sm");
    clip-path: url("#service-bg-sm"); }
    @media (min-width: 1280px) {
      .service-card__img {
        -webkit-clip-path: url("#service-bg-lg");
        clip-path: url("#service-bg-lg"); } }
  .service-card__title {
    margin-bottom: 16px; }
    @media (min-width: 1280px) {
      .service-card__title {
        margin-bottom: 16px; } }
  .service-card__description {
    font-size: 12px;
    line-height: 1.33;
    opacity: 0.6;
    margin-bottom: 12px; }
    @media (min-width: 1280px) {
      .service-card__description {
        margin-bottom: 34px;
        font-size: 16px;
        line-height: 1.5; } }
  .service-card__footer {
    margin-top: 12px; }
    @media (min-width: 1280px) {
      .service-card__footer {
        margin-top: 34px; } }

.recommendation-letters {
  margin-bottom: 64px;
  position: relative; }
  .recommendation-letters::before {
    content: '';
    position: absolute;
    top: -270px;
    left: 0;
    background: url(../assets/images/recommendation-letters-bg.svg);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    min-height: 689px;
    pointer-events: none;
    z-index: -1; }
    @media (min-width: 1280px) {
      .recommendation-letters::before {
        min-height: 1169px;
        top: 100px; } }
  @media (min-width: 1280px) {
    .recommendation-letters {
      margin-bottom: 128px; } }
  .recommendation-letters__title {
    margin-bottom: 28px; }

.licenses {
  margin-bottom: 68px; }
  @media (min-width: 1280px) {
    .licenses {
      margin-bottom: 74px; } }
  .licenses__title {
    margin-bottom: 28px; }

.portfolio {
  margin-bottom: 67px; }
  @media (min-width: 1280px) {
    .portfolio {
      margin-bottom: 106px; } }
  .portfolio__title {
    margin-bottom: 10px; }
    @media (min-width: 1280px) {
      .portfolio__title {
        margin-bottom: 27px; } }
  .portfolio__list {
    list-style: none;
    margin: 0;
    padding: 0; }
    @media (max-width: 1279px) {
      .portfolio__list {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; } }
    @media (min-width: 1280px) {
      .portfolio__list {
        position: relative; }
        .portfolio__list::after {
          content: '';
          position: absolute;
          bottom: -18px;
          left: 216px;
          width: 72px;
          height: 95px;
          z-index: -1;
          background-size: 11px 11px;
          background-position: -3px -3px;
          background-image: repeating-radial-gradient(circle, rgba(0, 78, 254, 0.6), rgba(0, 78, 254, 0.6) 0.9px, transparent 1.8px, transparent 100%); } }
    @media (min-width: 1280px) and (min-width: 1280px) {
      .portfolio__list::after {
        background-image: repeating-radial-gradient(circle, rgba(0, 78, 254, 0.6), rgba(0, 78, 254, 0.6) 1.3px, transparent 2.3px, transparent 100%); } }
  @media (max-width: 1279px) {
    .portfolio__list-item {
      display: -ms-flexbox;
      display: flex;
      padding-left: 8px;
      padding-right: 8px;
      padding-top: 8px;
      padding-bottom: 8px; } }
  @media (min-width: 1280px) {
    .portfolio__list-item + .portfolio__list-item {
      margin-top: 32px; } }
  .portfolio__load-more-btn {
    margin-top: 16px; }
    @media (min-width: 1280px) {
      .portfolio__load-more-btn {
        margin-top: 48px; } }

@media (max-width: 1279px) {
  .portfolio-card {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-direction: column;
        flex-direction: column;
    width: 288px; } }

@media (min-width: 1280px) {
  .portfolio-card {
    position: relative;
    padding-left: 128px;
    padding-top: 32px;
    min-height: 344px; } }

.portfolio-card__img-wrap {
  overflow: hidden;
  background-color: #f6f9fe;
  -webkit-box-shadow: 0 2px 48px rgba(0, 0, 0, 0.15);
          box-shadow: 0 2px 48px rgba(0, 0, 0, 0.15);
  border-radius: 20px;
  position: relative;
  -ms-flex: none;
      flex: none;
  margin-bottom: -15px;
  width: 272px;
  height: 232px; }
  @media (min-width: 1280px) {
    .portfolio-card__img-wrap {
      position: absolute;
      left: 0;
      top: 0;
      margin-bottom: 0;
      width: 720px;
      height: 312px; } }

.portfolio-card__img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover; }

.portfolio-card__content {
  border-radius: 20px;
  -webkit-box-shadow: 0 2px 48px rgba(0, 0, 0, 0.15);
          box-shadow: 0 2px 48px rgba(0, 0, 0, 0.15);
  background-color: #fff;
  padding-top: 38px;
  padding-left: 16px;
  padding-right: 16px;
  padding-bottom: 16px;
  width: 256px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-positive: 1;
      flex-grow: 1; }
  @media (max-width: 1279px) {
    .portfolio-card__content {
      -ms-flex-positive: 1;
          flex-grow: 1;
      width: 256px; } }
  @media (min-width: 1280px) {
    .portfolio-card__content {
      padding-top: 47px;
      padding-left: 663px;
      padding-right: 72px;
      padding-bottom: 36px;
      min-height: 312px;
      width: 100%; } }

.portfolio-card__name {
  margin-bottom: 6px; }

.portfolio-card__date {
  display: block;
  color: rgba(15, 36, 55, 0.6);
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 36px; }
  @media (min-width: 1280px) {
    .portfolio-card__date {
      font-size: 16px; } }

.portfolio-card__more-btn {
  margin-top: auto; }

.universal-modal {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 15;
  display: none;
  width: 100%;
  height: 100vh;
  overflow-x: hidden; }
  .universal-modal.is-active {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: baseline;
        align-items: baseline; }
  .universal-modal--portfolio.is-active {
    -ms-flex-pack: initial;
        justify-content: initial;
    -ms-flex-align: center;
        align-items: center; }
    @media (min-width: 768px) {
      .universal-modal--portfolio.is-active {
        display: block;
        -ms-flex-pack: initial;
            justify-content: initial;
        -ms-flex-align: initial;
            align-items: initial; } }
  .universal-modal__overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 100vh;
    max-height: 100vh;
    background: rgba(49, 71, 98, 0.4); }
  .universal-modal__content {
    position: relative;
    margin-top: 50px;
    margin-bottom: 20px;
    z-index: 1; }
    @media (min-width: 1280px) {
      .universal-modal__content {
        margin-bottom: 50px; } }
  .universal-modal--portfolio.is-active .universal-modal__content {
    width: 100%;
    max-width: 880px;
    margin-left: auto;
    margin-right: auto; }
    @media (max-width: 767px) {
      .universal-modal--portfolio.is-active .universal-modal__content {
        margin-top: 0;
        margin-bottom: 0; } }
  .universal-modal__close-btn {
    position: absolute;
    z-index: 2;
    top: 25px;
    right: 25px;
    cursor: pointer;
    background-color: transparent;
    -webkit-transition: fill 0.2s ease-out;
    transition: fill 0.2s ease-out;
    fill: #ff4116; }
    :root:not(.mobile) .universal-modal__close-btn:hover {
      fill: #d71e1e; }
  .universal-modal__inner {
    width: 100%;
    background-color: #fff;
    padding: 22px 26px 23px 16px;
    border-radius: 20px; }
    @media (min-width: 1280px) {
      .universal-modal__inner {
        width: 880px;
        padding: 25px 26px 40px 26px; } }
  .universal-modal--portfolio .universal-modal__inner {
    padding: 22px 16px; }
    @media (min-width: 880px) {
      .universal-modal--portfolio .universal-modal__inner {
        padding: 24px;
        width: auto; } }

.service-detailed {
  font-size: 14px;
  line-height: 1.71;
  color: #0f2437; }
  @media (max-width: 1279px) {
    .service-detailed {
      font-size: 16px;
      line-height: 1.5; } }
  .service-detailed__section {
    margin-bottom: 36px; }
  .service-detailed__title {
    max-width: 90%;
    font-size: 20px;
    line-height: 1.2; }
    @media (min-width: 1280px) {
      .service-detailed__title {
        font-size: 22px; } }
  .service-detailed__intro {
    margin-top: 6px; }
  .service-detailed__subsection {
    margin-top: 22px; }
    @media (min-width: 1280px) {
      .service-detailed__subsection {
        margin-top: 32px; } }
  .service-detailed__subtitle {
    display: block;
    margin-bottom: 10px;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.25; }
    @media (min-width: 1280px) {
      .service-detailed__subtitle {
        font-size: 18px;
        line-height: 1.22; } }
  .service-detailed p + p {
    margin-top: 5px; }

.portfolio-modal__header {
  margin-bottom: 20px; }
  @media (min-width: 880px) {
    .portfolio-modal__header {
      margin-bottom: 10px; } }

.portfolio-modal__name {
  margin-bottom: 5px; }

.portfolio-modal__date {
  display: block;
  color: rgba(15, 36, 55, 0.6);
  font-size: 12px;
  font-weight: 500;
  line-height: 1; }
  @media (min-width: 1280px) {
    .portfolio-modal__date {
      font-size: 16px; } }

@media (min-width: 880px) {
  .portfolio-modal__body {
    display: -ms-flexbox;
    display: flex; } }

.portfolio-full-slider {
  list-style: none;
  margin: 0;
  margin-bottom: 16px;
  padding: 0; }
  @media (min-width: 880px) {
    .portfolio-full-slider {
      -ms-flex: none;
          flex: none;
      width: 687px;
      margin-bottom: 0;
      margin-right: 17px; } }
  .portfolio-full-slider__img-wrap {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding-top: 61.111111%;
    max-width: 687px;
    border-radius: 20px; }
    @media (min-width: 880px) {
      .portfolio-full-slider__img-wrap {
        width: 687px;
        height: 432px;
        padding-top: 0; } }
  .portfolio-full-slider__img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover; }

.portfolio-thumb-slider {
  position: relative;
  margin-right: -16px; }
  @media (min-width: 880px) {
    .portfolio-thumb-slider {
      -ms-flex: none;
          flex: none;
      width: 128px;
      margin-right: 0; } }
  .portfolio-thumb-slider__list:not(.slick-initialized) {
    list-style: none;
    margin: 0;
    margin-left: -4px;
    padding: 0;
    display: -ms-flexbox;
    display: flex;
    overflow: auto; }
    @media (min-width: 880px) {
      .portfolio-thumb-slider__list:not(.slick-initialized) {
        margin-left: 0;
        margin-top: -8px; } }
  .portfolio-thumb-slider__slide {
    margin-left: 4px;
    margin-right: 4px; }
    @media (min-width: 880px) {
      .portfolio-thumb-slider__slide {
        margin-left: 0;
        margin-right: 0;
        margin-top: 7px;
        margin-bottom: 7px; } }
  .portfolio-thumb-slider__img-wrap {
    width: 80px;
    height: 56px;
    overflow: hidden;
    border-radius: 10px;
    position: relative; }
    @media (min-width: 880px) {
      .portfolio-thumb-slider__img-wrap {
        width: 128px;
        height: 80px; } }
    .portfolio-thumb-slider__slide.slick-current .portfolio-thumb-slider__img-wrap {
      border: 2px solid #ff4116; }
      .portfolio-thumb-slider__slide.slick-current .portfolio-thumb-slider__img-wrap::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: -webkit-gradient(linear, left bottom, left top, from(rgba(49, 71, 98, 0.5)), to(rgba(49, 71, 98, 0.5)));
        background: linear-gradient(0deg, rgba(49, 71, 98, 0.5), rgba(49, 71, 98, 0.5)); }
  .portfolio-thumb-slider__img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover; }
  .portfolio-thumb-slider__btn {
    border-radius: 10px;
    width: 128px;
    height: 24px;
    border: 2px solid #e0e0e0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    color: #ff4116;
    -webkit-transition: 0.2s border-color ease-out;
    transition: 0.2s border-color ease-out; }
    .portfolio-thumb-slider__btn:hover, .portfolio-thumb-slider__btn:focus {
      border-color: #ff4116; }
    .portfolio-thumb-slider__btn.slick-disabled, .portfolio-thumb-slider__btn.slick-disabled:hover, .portfolio-thumb-slider__btn.slick-disabled:focus {
      border-color: #e0e0e0;
      opacity: 0.5;
      cursor: default;
      pointer-events: none; }
    @media (max-width: 879px) {
      .portfolio-thumb-slider__btn {
        display: none; } }
  .portfolio-thumb-slider__btn-icon {
    fill: currentColor; }

.js-focus-visible :focus:not(.focus-visible) {
  outline: none; }


/*# sourceMappingURL=index.css.map*/