@charset "UTF-8";
* {
  box-sizing: border-box; }

html, body {
  height: 100%; }

body {
  overflow-x: hidden; }

/*
	DivoDivnoe System.
*/
/*
	Устанавливает префикс для всех генерируемых классов библиотеки
	Например при "dd-": .dd-grid-area ._dd-col .__dd-hidden
*/
/*
	Устанавливает режим дебага
	Если true - будут выводиться все предупреждения
*/
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; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

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

/*
	DivoDivnoe Helpers
*/
.__pullRight {
  float: right !important; }

.__pullLeft {
  float: left !important; }

.__invisible {
  visibility: hidden !important; }

.__hidden {
  display: none !important; }

.__clear {
  clear: both !important; }

.__textRight {
  text-align: right !important; }

.__textLeft {
  text-align: left !important; }

.__textCenter {
  text-align: center !important; }

.__textJustify {
  text-align: justify !important; }

.__textNoWrap {
  white-space: nowrap !important; }

.__textLowerCase {
  text-transform: lowercase !important; }

.__textUpperCase {
  text-transform: uppercase !important; }

.__textCapitalize {
  text-transform: capitalize !important; }

.__flexWrap {
  -webkit-flex-wrap: wrap !important;
      -ms-flex-wrap: wrap !important;
          flex-wrap: wrap !important; }

.__flexNoWrap {
  -webkit-flex-wrap: nowrap !important;
      -ms-flex-wrap: nowrap !important;
          flex-wrap: nowrap !important; }

/*
	DivoDivnoe Space
*/
.space {
  display: block; }
  .space._tiny {
    height: 4px; }
  .space._small {
    height: 8px; }
  .space._medium {
    height: 16px; }
  .space._large {
    height: 32px; }
  .space._massive {
    height: 64px; }

/*
	DivoDivnoe Responsive
	Зависит от "DivoDivnoe Space", "DivoDivnoe Helpers"
*/
/*
	Массив размеров устройств, каждый размер может содержать следующие параметры:
	cutoff - отсечка в пикселях. (обязательно если не указан range)
	range: [val1, val2] - минимальная и максимальная ширина viewport (обязательно если не указан cutoff)
	containerWidth - ширина контейнера (по умолчанию равен cutoff)
	spaceScale - множитель отступов
*/
/*
	TODO медиа выражение, в пределах которого будет работать адавтивность
*/
@media all and (min-width: 0) {
  .__pullRight-xs-up {
    float: right !important; }
  .__pullLeft-xs-up {
    float: left !important; }
  .__invisible-xs-up {
    visibility: hidden !important; }
  .__hidden-xs-up {
    display: none !important; }
  .__clear-xs-up {
    clear: both !important; }
  .__textRight-xs-up {
    text-align: right !important; }
  .__textLeft-xs-up {
    text-align: left !important; }
  .__textCenter-xs-up {
    text-align: center !important; }
  .__textJustify-xs-up {
    text-align: justify !important; }
  .__textNoWrap-xs-up {
    white-space: nowrap !important; }
  .__textLowerCase-xs-up {
    text-transform: lowercase !important; }
  .__textUpperCase-xs-up {
    text-transform: uppercase !important; }
  .__textCapitalize-xs-up {
    text-transform: capitalize !important; }
  .__flexWrap-xs-up {
    -webkit-flex-wrap: wrap !important;
        -ms-flex-wrap: wrap !important;
            flex-wrap: wrap !important; }
  .__flexNoWrap-xs-up {
    -webkit-flex-wrap: nowrap !important;
        -ms-flex-wrap: nowrap !important;
            flex-wrap: nowrap !important; } }

@media all and (min-width: 0) and (max-width: 543px) {
  .__pullRight-xs-down {
    float: right !important; }
  .__pullLeft-xs-down {
    float: left !important; }
  .__invisible-xs-down {
    visibility: hidden !important; }
  .__hidden-xs-down {
    display: none !important; }
  .__clear-xs-down {
    clear: both !important; }
  .__textRight-xs-down {
    text-align: right !important; }
  .__textLeft-xs-down {
    text-align: left !important; }
  .__textCenter-xs-down {
    text-align: center !important; }
  .__textJustify-xs-down {
    text-align: justify !important; }
  .__textNoWrap-xs-down {
    white-space: nowrap !important; }
  .__textLowerCase-xs-down {
    text-transform: lowercase !important; }
  .__textUpperCase-xs-down {
    text-transform: uppercase !important; }
  .__textCapitalize-xs-down {
    text-transform: capitalize !important; }
  .__flexWrap-xs-down {
    -webkit-flex-wrap: wrap !important;
        -ms-flex-wrap: wrap !important;
            flex-wrap: wrap !important; }
  .__flexNoWrap-xs-down {
    -webkit-flex-wrap: nowrap !important;
        -ms-flex-wrap: nowrap !important;
            flex-wrap: nowrap !important; } }

@media all and (min-width: 0) and (max-width: 543px) {
  .__pullRight-xs {
    float: right !important; }
  .__pullLeft-xs {
    float: left !important; }
  .__invisible-xs {
    visibility: hidden !important; }
  .__hidden-xs {
    display: none !important; }
  .__clear-xs {
    clear: both !important; }
  .__textRight-xs {
    text-align: right !important; }
  .__textLeft-xs {
    text-align: left !important; }
  .__textCenter-xs {
    text-align: center !important; }
  .__textJustify-xs {
    text-align: justify !important; }
  .__textNoWrap-xs {
    white-space: nowrap !important; }
  .__textLowerCase-xs {
    text-transform: lowercase !important; }
  .__textUpperCase-xs {
    text-transform: uppercase !important; }
  .__textCapitalize-xs {
    text-transform: capitalize !important; }
  .__flexWrap-xs {
    -webkit-flex-wrap: wrap !important;
        -ms-flex-wrap: wrap !important;
            flex-wrap: wrap !important; }
  .__flexNoWrap-xs {
    -webkit-flex-wrap: nowrap !important;
        -ms-flex-wrap: nowrap !important;
            flex-wrap: nowrap !important; } }

@media all and (min-width: 544px) {
  .__pullRight-sm-up {
    float: right !important; }
  .__pullLeft-sm-up {
    float: left !important; }
  .__invisible-sm-up {
    visibility: hidden !important; }
  .__hidden-sm-up {
    display: none !important; }
  .__clear-sm-up {
    clear: both !important; }
  .__textRight-sm-up {
    text-align: right !important; }
  .__textLeft-sm-up {
    text-align: left !important; }
  .__textCenter-sm-up {
    text-align: center !important; }
  .__textJustify-sm-up {
    text-align: justify !important; }
  .__textNoWrap-sm-up {
    white-space: nowrap !important; }
  .__textLowerCase-sm-up {
    text-transform: lowercase !important; }
  .__textUpperCase-sm-up {
    text-transform: uppercase !important; }
  .__textCapitalize-sm-up {
    text-transform: capitalize !important; }
  .__flexWrap-sm-up {
    -webkit-flex-wrap: wrap !important;
        -ms-flex-wrap: wrap !important;
            flex-wrap: wrap !important; }
  .__flexNoWrap-sm-up {
    -webkit-flex-wrap: nowrap !important;
        -ms-flex-wrap: nowrap !important;
            flex-wrap: nowrap !important; } }

@media all and (min-width: 0) and (max-width: 767px) {
  .__pullRight-sm-down {
    float: right !important; }
  .__pullLeft-sm-down {
    float: left !important; }
  .__invisible-sm-down {
    visibility: hidden !important; }
  .__hidden-sm-down {
    display: none !important; }
  .__clear-sm-down {
    clear: both !important; }
  .__textRight-sm-down {
    text-align: right !important; }
  .__textLeft-sm-down {
    text-align: left !important; }
  .__textCenter-sm-down {
    text-align: center !important; }
  .__textJustify-sm-down {
    text-align: justify !important; }
  .__textNoWrap-sm-down {
    white-space: nowrap !important; }
  .__textLowerCase-sm-down {
    text-transform: lowercase !important; }
  .__textUpperCase-sm-down {
    text-transform: uppercase !important; }
  .__textCapitalize-sm-down {
    text-transform: capitalize !important; }
  .__flexWrap-sm-down {
    -webkit-flex-wrap: wrap !important;
        -ms-flex-wrap: wrap !important;
            flex-wrap: wrap !important; }
  .__flexNoWrap-sm-down {
    -webkit-flex-wrap: nowrap !important;
        -ms-flex-wrap: nowrap !important;
            flex-wrap: nowrap !important; } }

@media all and (min-width: 544px) and (max-width: 767px) {
  .__pullRight-sm {
    float: right !important; }
  .__pullLeft-sm {
    float: left !important; }
  .__invisible-sm {
    visibility: hidden !important; }
  .__hidden-sm {
    display: none !important; }
  .__clear-sm {
    clear: both !important; }
  .__textRight-sm {
    text-align: right !important; }
  .__textLeft-sm {
    text-align: left !important; }
  .__textCenter-sm {
    text-align: center !important; }
  .__textJustify-sm {
    text-align: justify !important; }
  .__textNoWrap-sm {
    white-space: nowrap !important; }
  .__textLowerCase-sm {
    text-transform: lowercase !important; }
  .__textUpperCase-sm {
    text-transform: uppercase !important; }
  .__textCapitalize-sm {
    text-transform: capitalize !important; }
  .__flexWrap-sm {
    -webkit-flex-wrap: wrap !important;
        -ms-flex-wrap: wrap !important;
            flex-wrap: wrap !important; }
  .__flexNoWrap-sm {
    -webkit-flex-wrap: nowrap !important;
        -ms-flex-wrap: nowrap !important;
            flex-wrap: nowrap !important; } }

@media all and (min-width: 768px) {
  .__pullRight-md-up {
    float: right !important; }
  .__pullLeft-md-up {
    float: left !important; }
  .__invisible-md-up {
    visibility: hidden !important; }
  .__hidden-md-up {
    display: none !important; }
  .__clear-md-up {
    clear: both !important; }
  .__textRight-md-up {
    text-align: right !important; }
  .__textLeft-md-up {
    text-align: left !important; }
  .__textCenter-md-up {
    text-align: center !important; }
  .__textJustify-md-up {
    text-align: justify !important; }
  .__textNoWrap-md-up {
    white-space: nowrap !important; }
  .__textLowerCase-md-up {
    text-transform: lowercase !important; }
  .__textUpperCase-md-up {
    text-transform: uppercase !important; }
  .__textCapitalize-md-up {
    text-transform: capitalize !important; }
  .__flexWrap-md-up {
    -webkit-flex-wrap: wrap !important;
        -ms-flex-wrap: wrap !important;
            flex-wrap: wrap !important; }
  .__flexNoWrap-md-up {
    -webkit-flex-wrap: nowrap !important;
        -ms-flex-wrap: nowrap !important;
            flex-wrap: nowrap !important; } }

@media all and (min-width: 0) and (max-width: 991px) {
  .__pullRight-md-down {
    float: right !important; }
  .__pullLeft-md-down {
    float: left !important; }
  .__invisible-md-down {
    visibility: hidden !important; }
  .__hidden-md-down {
    display: none !important; }
  .__clear-md-down {
    clear: both !important; }
  .__textRight-md-down {
    text-align: right !important; }
  .__textLeft-md-down {
    text-align: left !important; }
  .__textCenter-md-down {
    text-align: center !important; }
  .__textJustify-md-down {
    text-align: justify !important; }
  .__textNoWrap-md-down {
    white-space: nowrap !important; }
  .__textLowerCase-md-down {
    text-transform: lowercase !important; }
  .__textUpperCase-md-down {
    text-transform: uppercase !important; }
  .__textCapitalize-md-down {
    text-transform: capitalize !important; }
  .__flexWrap-md-down {
    -webkit-flex-wrap: wrap !important;
        -ms-flex-wrap: wrap !important;
            flex-wrap: wrap !important; }
  .__flexNoWrap-md-down {
    -webkit-flex-wrap: nowrap !important;
        -ms-flex-wrap: nowrap !important;
            flex-wrap: nowrap !important; } }

@media all and (min-width: 768px) and (max-width: 991px) {
  .__pullRight-md {
    float: right !important; }
  .__pullLeft-md {
    float: left !important; }
  .__invisible-md {
    visibility: hidden !important; }
  .__hidden-md {
    display: none !important; }
  .__clear-md {
    clear: both !important; }
  .__textRight-md {
    text-align: right !important; }
  .__textLeft-md {
    text-align: left !important; }
  .__textCenter-md {
    text-align: center !important; }
  .__textJustify-md {
    text-align: justify !important; }
  .__textNoWrap-md {
    white-space: nowrap !important; }
  .__textLowerCase-md {
    text-transform: lowercase !important; }
  .__textUpperCase-md {
    text-transform: uppercase !important; }
  .__textCapitalize-md {
    text-transform: capitalize !important; }
  .__flexWrap-md {
    -webkit-flex-wrap: wrap !important;
        -ms-flex-wrap: wrap !important;
            flex-wrap: wrap !important; }
  .__flexNoWrap-md {
    -webkit-flex-wrap: nowrap !important;
        -ms-flex-wrap: nowrap !important;
            flex-wrap: nowrap !important; } }

@media all and (min-width: 992px) {
  .__pullRight-lg-up {
    float: right !important; }
  .__pullLeft-lg-up {
    float: left !important; }
  .__invisible-lg-up {
    visibility: hidden !important; }
  .__hidden-lg-up {
    display: none !important; }
  .__clear-lg-up {
    clear: both !important; }
  .__textRight-lg-up {
    text-align: right !important; }
  .__textLeft-lg-up {
    text-align: left !important; }
  .__textCenter-lg-up {
    text-align: center !important; }
  .__textJustify-lg-up {
    text-align: justify !important; }
  .__textNoWrap-lg-up {
    white-space: nowrap !important; }
  .__textLowerCase-lg-up {
    text-transform: lowercase !important; }
  .__textUpperCase-lg-up {
    text-transform: uppercase !important; }
  .__textCapitalize-lg-up {
    text-transform: capitalize !important; }
  .__flexWrap-lg-up {
    -webkit-flex-wrap: wrap !important;
        -ms-flex-wrap: wrap !important;
            flex-wrap: wrap !important; }
  .__flexNoWrap-lg-up {
    -webkit-flex-wrap: nowrap !important;
        -ms-flex-wrap: nowrap !important;
            flex-wrap: nowrap !important; } }

@media all and (min-width: 0) and (max-width: 1199px) {
  .__pullRight-lg-down {
    float: right !important; }
  .__pullLeft-lg-down {
    float: left !important; }
  .__invisible-lg-down {
    visibility: hidden !important; }
  .__hidden-lg-down {
    display: none !important; }
  .__clear-lg-down {
    clear: both !important; }
  .__textRight-lg-down {
    text-align: right !important; }
  .__textLeft-lg-down {
    text-align: left !important; }
  .__textCenter-lg-down {
    text-align: center !important; }
  .__textJustify-lg-down {
    text-align: justify !important; }
  .__textNoWrap-lg-down {
    white-space: nowrap !important; }
  .__textLowerCase-lg-down {
    text-transform: lowercase !important; }
  .__textUpperCase-lg-down {
    text-transform: uppercase !important; }
  .__textCapitalize-lg-down {
    text-transform: capitalize !important; }
  .__flexWrap-lg-down {
    -webkit-flex-wrap: wrap !important;
        -ms-flex-wrap: wrap !important;
            flex-wrap: wrap !important; }
  .__flexNoWrap-lg-down {
    -webkit-flex-wrap: nowrap !important;
        -ms-flex-wrap: nowrap !important;
            flex-wrap: nowrap !important; } }

@media all and (min-width: 992px) and (max-width: 1199px) {
  .__pullRight-lg {
    float: right !important; }
  .__pullLeft-lg {
    float: left !important; }
  .__invisible-lg {
    visibility: hidden !important; }
  .__hidden-lg {
    display: none !important; }
  .__clear-lg {
    clear: both !important; }
  .__textRight-lg {
    text-align: right !important; }
  .__textLeft-lg {
    text-align: left !important; }
  .__textCenter-lg {
    text-align: center !important; }
  .__textJustify-lg {
    text-align: justify !important; }
  .__textNoWrap-lg {
    white-space: nowrap !important; }
  .__textLowerCase-lg {
    text-transform: lowercase !important; }
  .__textUpperCase-lg {
    text-transform: uppercase !important; }
  .__textCapitalize-lg {
    text-transform: capitalize !important; }
  .__flexWrap-lg {
    -webkit-flex-wrap: wrap !important;
        -ms-flex-wrap: wrap !important;
            flex-wrap: wrap !important; }
  .__flexNoWrap-lg {
    -webkit-flex-wrap: nowrap !important;
        -ms-flex-wrap: nowrap !important;
            flex-wrap: nowrap !important; } }

@media all and (min-width: 1200px) {
  .__pullRight-xl-up {
    float: right !important; }
  .__pullLeft-xl-up {
    float: left !important; }
  .__invisible-xl-up {
    visibility: hidden !important; }
  .__hidden-xl-up {
    display: none !important; }
  .__clear-xl-up {
    clear: both !important; }
  .__textRight-xl-up {
    text-align: right !important; }
  .__textLeft-xl-up {
    text-align: left !important; }
  .__textCenter-xl-up {
    text-align: center !important; }
  .__textJustify-xl-up {
    text-align: justify !important; }
  .__textNoWrap-xl-up {
    white-space: nowrap !important; }
  .__textLowerCase-xl-up {
    text-transform: lowercase !important; }
  .__textUpperCase-xl-up {
    text-transform: uppercase !important; }
  .__textCapitalize-xl-up {
    text-transform: capitalize !important; }
  .__flexWrap-xl-up {
    -webkit-flex-wrap: wrap !important;
        -ms-flex-wrap: wrap !important;
            flex-wrap: wrap !important; }
  .__flexNoWrap-xl-up {
    -webkit-flex-wrap: nowrap !important;
        -ms-flex-wrap: nowrap !important;
            flex-wrap: nowrap !important; } }

.__pullRight-xl-down {
  float: right !important; }

.__pullLeft-xl-down {
  float: left !important; }

.__invisible-xl-down {
  visibility: hidden !important; }

.__hidden-xl-down {
  display: none !important; }

.__clear-xl-down {
  clear: both !important; }

.__textRight-xl-down {
  text-align: right !important; }

.__textLeft-xl-down {
  text-align: left !important; }

.__textCenter-xl-down {
  text-align: center !important; }

.__textJustify-xl-down {
  text-align: justify !important; }

.__textNoWrap-xl-down {
  white-space: nowrap !important; }

.__textLowerCase-xl-down {
  text-transform: lowercase !important; }

.__textUpperCase-xl-down {
  text-transform: uppercase !important; }

.__textCapitalize-xl-down {
  text-transform: capitalize !important; }

.__flexWrap-xl-down {
  -webkit-flex-wrap: wrap !important;
      -ms-flex-wrap: wrap !important;
          flex-wrap: wrap !important; }

.__flexNoWrap-xl-down {
  -webkit-flex-wrap: nowrap !important;
      -ms-flex-wrap: nowrap !important;
          flex-wrap: nowrap !important; }

@media all and (min-width: 1200px) {
  .__pullRight-xl {
    float: right !important; }
  .__pullLeft-xl {
    float: left !important; }
  .__invisible-xl {
    visibility: hidden !important; }
  .__hidden-xl {
    display: none !important; }
  .__clear-xl {
    clear: both !important; }
  .__textRight-xl {
    text-align: right !important; }
  .__textLeft-xl {
    text-align: left !important; }
  .__textCenter-xl {
    text-align: center !important; }
  .__textJustify-xl {
    text-align: justify !important; }
  .__textNoWrap-xl {
    white-space: nowrap !important; }
  .__textLowerCase-xl {
    text-transform: lowercase !important; }
  .__textUpperCase-xl {
    text-transform: uppercase !important; }
  .__textCapitalize-xl {
    text-transform: capitalize !important; }
  .__flexWrap-xl {
    -webkit-flex-wrap: wrap !important;
        -ms-flex-wrap: wrap !important;
            flex-wrap: wrap !important; }
  .__flexNoWrap-xl {
    -webkit-flex-wrap: nowrap !important;
        -ms-flex-wrap: nowrap !important;
            flex-wrap: nowrap !important; } }

@media all and (min-width: 0) and (max-width: 543px) {
  .space._tiny:not(._fixed) {
    height: 2px; } }

@media all and (min-width: 544px) and (max-width: 767px) {
  .space._tiny:not(._fixed) {
    height: 2px; } }

@media all and (min-width: 768px) and (max-width: 991px) {
  .space._tiny:not(._fixed) {
    height: 3px; } }

@media all and (min-width: 992px) and (max-width: 1199px) {
  .space._tiny:not(._fixed) {
    height: 4px; } }

@media all and (min-width: 1200px) {
  .space._tiny:not(._fixed) {
    height: 6px; } }

@media all and (min-width: 0) and (max-width: 543px) {
  .space._small:not(._fixed) {
    height: 4px; } }

@media all and (min-width: 544px) and (max-width: 767px) {
  .space._small:not(._fixed) {
    height: 4px; } }

@media all and (min-width: 768px) and (max-width: 991px) {
  .space._small:not(._fixed) {
    height: 6px; } }

@media all and (min-width: 992px) and (max-width: 1199px) {
  .space._small:not(._fixed) {
    height: 8px; } }

@media all and (min-width: 1200px) {
  .space._small:not(._fixed) {
    height: 12px; } }

@media all and (min-width: 0) and (max-width: 543px) {
  .space._medium:not(._fixed) {
    height: 8px; } }

@media all and (min-width: 544px) and (max-width: 767px) {
  .space._medium:not(._fixed) {
    height: 8px; } }

@media all and (min-width: 768px) and (max-width: 991px) {
  .space._medium:not(._fixed) {
    height: 12px; } }

@media all and (min-width: 992px) and (max-width: 1199px) {
  .space._medium:not(._fixed) {
    height: 16px; } }

@media all and (min-width: 1200px) {
  .space._medium:not(._fixed) {
    height: 24px; } }

@media all and (min-width: 0) and (max-width: 543px) {
  .space._large:not(._fixed) {
    height: 16px; } }

@media all and (min-width: 544px) and (max-width: 767px) {
  .space._large:not(._fixed) {
    height: 16px; } }

@media all and (min-width: 768px) and (max-width: 991px) {
  .space._large:not(._fixed) {
    height: 24px; } }

@media all and (min-width: 992px) and (max-width: 1199px) {
  .space._large:not(._fixed) {
    height: 32px; } }

@media all and (min-width: 1200px) {
  .space._large:not(._fixed) {
    height: 48px; } }

@media all and (min-width: 0) and (max-width: 543px) {
  .space._massive:not(._fixed) {
    height: 32px; } }

@media all and (min-width: 544px) and (max-width: 767px) {
  .space._massive:not(._fixed) {
    height: 32px; } }

@media all and (min-width: 768px) and (max-width: 991px) {
  .space._massive:not(._fixed) {
    height: 48px; } }

@media all and (min-width: 992px) and (max-width: 1199px) {
  .space._massive:not(._fixed) {
    height: 64px; } }

@media all and (min-width: 1200px) {
  .space._massive:not(._fixed) {
    height: 96px; } }

/*
	DivoDivnoe Grid
	Зависит от "DivoDivnoe Responsive", "DivoDivnoe Space"
*/
/*
	@include dd-grid-list(
		(
			columns: 5,
			gutterVertical: 16px,
			gutterHorizontal: small,
		),
		(
			media: ((sm, md), xl),
			columns: 3,
		),
		(
			media: ((360px, 500px)),
			gutterVertical: tiny,
		),
	)
*/
.grid-container {
  box-sizing: border-box;
  padding: 0 20px;
  margin: 0 auto; }
  .grid-container._fluid {
    width: 100%; }

.grid-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  min-width: 0; }
  .grid-area:empty::after, .grid-area:blank::after {
    content: '';
    height: 40px; }
  .grid-area > * {
    box-sizing: border-box;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-flex-shrink: 1;
        -ms-flex-negative: 1;
            flex-shrink: 1;
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto;
    min-width: 0;
    min-height: 0;
    width: 100%; }
  @media all and (min-width: 0) and (max-width: 543px) {
    .grid-area {
      margin-left: -5px;
      margin-right: -5px;
      margin-bottom: -5px;
      margin-top: -5px; }
      .grid-area > * {
        padding-left: 5px;
        padding-right: 5px;
        padding-bottom: 5px;
        padding-top: 5px; } }
  @media all and (min-width: 544px) and (max-width: 767px) {
    .grid-area {
      margin-left: -5px;
      margin-right: -5px;
      margin-bottom: -5px;
      margin-top: -5px; }
      .grid-area > * {
        padding-left: 5px;
        padding-right: 5px;
        padding-bottom: 5px;
        padding-top: 5px; } }
  @media all and (min-width: 768px) and (max-width: 991px) {
    .grid-area {
      margin-left: -7.5px;
      margin-right: -7.5px;
      margin-bottom: -7.5px;
      margin-top: -7.5px; }
      .grid-area > * {
        padding-left: 7.5px;
        padding-right: 7.5px;
        padding-bottom: 7.5px;
        padding-top: 7.5px; } }
  @media all and (min-width: 992px) and (max-width: 1199px) {
    .grid-area {
      margin-left: -10px;
      margin-right: -10px;
      margin-bottom: -10px;
      margin-top: -10px; }
      .grid-area > * {
        padding-left: 10px;
        padding-right: 10px;
        padding-bottom: 10px;
        padding-top: 10px; } }
  @media all and (min-width: 1200px) {
    .grid-area {
      margin-left: -15px;
      margin-right: -15px;
      margin-bottom: -15px;
      margin-top: -15px; }
      .grid-area > * {
        padding-left: 15px;
        padding-right: 15px;
        padding-bottom: 15px;
        padding-top: 15px; } }
  @media all and (min-width: 0) and (max-width: 543px) {
    .grid-area._tiny {
      margin-left: -1.25px;
      margin-right: -1.25px;
      margin-bottom: -1.25px;
      margin-top: -1.25px; }
      .grid-area._tiny > * {
        padding-left: 1.25px;
        padding-right: 1.25px;
        padding-bottom: 1.25px;
        padding-top: 1.25px; }
    .grid-area._small {
      margin-left: -2.5px;
      margin-right: -2.5px;
      margin-bottom: -2.5px;
      margin-top: -2.5px; }
      .grid-area._small > * {
        padding-left: 2.5px;
        padding-right: 2.5px;
        padding-bottom: 2.5px;
        padding-top: 2.5px; }
    .grid-area._medium {
      margin-left: -5px;
      margin-right: -5px;
      margin-bottom: -5px;
      margin-top: -5px; }
      .grid-area._medium > * {
        padding-left: 5px;
        padding-right: 5px;
        padding-bottom: 5px;
        padding-top: 5px; }
    .grid-area._large {
      margin-left: -10px;
      margin-right: -10px;
      margin-bottom: -10px;
      margin-top: -10px; }
      .grid-area._large > * {
        padding-left: 10px;
        padding-right: 10px;
        padding-bottom: 10px;
        padding-top: 10px; }
    .grid-area._massive {
      margin-left: -20px;
      margin-right: -20px;
      margin-bottom: -20px;
      margin-top: -20px; }
      .grid-area._massive > * {
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 20px;
        padding-top: 20px; } }
  @media all and (min-width: 544px) and (max-width: 767px) {
    .grid-area._tiny {
      margin-left: -1.25px;
      margin-right: -1.25px;
      margin-bottom: -1.25px;
      margin-top: -1.25px; }
      .grid-area._tiny > * {
        padding-left: 1.25px;
        padding-right: 1.25px;
        padding-bottom: 1.25px;
        padding-top: 1.25px; }
    .grid-area._small {
      margin-left: -2.5px;
      margin-right: -2.5px;
      margin-bottom: -2.5px;
      margin-top: -2.5px; }
      .grid-area._small > * {
        padding-left: 2.5px;
        padding-right: 2.5px;
        padding-bottom: 2.5px;
        padding-top: 2.5px; }
    .grid-area._medium {
      margin-left: -5px;
      margin-right: -5px;
      margin-bottom: -5px;
      margin-top: -5px; }
      .grid-area._medium > * {
        padding-left: 5px;
        padding-right: 5px;
        padding-bottom: 5px;
        padding-top: 5px; }
    .grid-area._large {
      margin-left: -10px;
      margin-right: -10px;
      margin-bottom: -10px;
      margin-top: -10px; }
      .grid-area._large > * {
        padding-left: 10px;
        padding-right: 10px;
        padding-bottom: 10px;
        padding-top: 10px; }
    .grid-area._massive {
      margin-left: -20px;
      margin-right: -20px;
      margin-bottom: -20px;
      margin-top: -20px; }
      .grid-area._massive > * {
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 20px;
        padding-top: 20px; } }
  @media all and (min-width: 768px) and (max-width: 991px) {
    .grid-area._tiny {
      margin-left: -1.875px;
      margin-right: -1.875px;
      margin-bottom: -1.875px;
      margin-top: -1.875px; }
      .grid-area._tiny > * {
        padding-left: 1.875px;
        padding-right: 1.875px;
        padding-bottom: 1.875px;
        padding-top: 1.875px; }
    .grid-area._small {
      margin-left: -3.75px;
      margin-right: -3.75px;
      margin-bottom: -3.75px;
      margin-top: -3.75px; }
      .grid-area._small > * {
        padding-left: 3.75px;
        padding-right: 3.75px;
        padding-bottom: 3.75px;
        padding-top: 3.75px; }
    .grid-area._medium {
      margin-left: -7.5px;
      margin-right: -7.5px;
      margin-bottom: -7.5px;
      margin-top: -7.5px; }
      .grid-area._medium > * {
        padding-left: 7.5px;
        padding-right: 7.5px;
        padding-bottom: 7.5px;
        padding-top: 7.5px; }
    .grid-area._large {
      margin-left: -15px;
      margin-right: -15px;
      margin-bottom: -15px;
      margin-top: -15px; }
      .grid-area._large > * {
        padding-left: 15px;
        padding-right: 15px;
        padding-bottom: 15px;
        padding-top: 15px; }
    .grid-area._massive {
      margin-left: -30px;
      margin-right: -30px;
      margin-bottom: -30px;
      margin-top: -30px; }
      .grid-area._massive > * {
        padding-left: 30px;
        padding-right: 30px;
        padding-bottom: 30px;
        padding-top: 30px; } }
  @media all and (min-width: 992px) and (max-width: 1199px) {
    .grid-area._tiny {
      margin-left: -2.5px;
      margin-right: -2.5px;
      margin-bottom: -2.5px;
      margin-top: -2.5px; }
      .grid-area._tiny > * {
        padding-left: 2.5px;
        padding-right: 2.5px;
        padding-bottom: 2.5px;
        padding-top: 2.5px; }
    .grid-area._small {
      margin-left: -5px;
      margin-right: -5px;
      margin-bottom: -5px;
      margin-top: -5px; }
      .grid-area._small > * {
        padding-left: 5px;
        padding-right: 5px;
        padding-bottom: 5px;
        padding-top: 5px; }
    .grid-area._medium {
      margin-left: -10px;
      margin-right: -10px;
      margin-bottom: -10px;
      margin-top: -10px; }
      .grid-area._medium > * {
        padding-left: 10px;
        padding-right: 10px;
        padding-bottom: 10px;
        padding-top: 10px; }
    .grid-area._large {
      margin-left: -20px;
      margin-right: -20px;
      margin-bottom: -20px;
      margin-top: -20px; }
      .grid-area._large > * {
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 20px;
        padding-top: 20px; }
    .grid-area._massive {
      margin-left: -40px;
      margin-right: -40px;
      margin-bottom: -40px;
      margin-top: -40px; }
      .grid-area._massive > * {
        padding-left: 40px;
        padding-right: 40px;
        padding-bottom: 40px;
        padding-top: 40px; } }
  @media all and (min-width: 1200px) {
    .grid-area._tiny {
      margin-left: -3.75px;
      margin-right: -3.75px;
      margin-bottom: -3.75px;
      margin-top: -3.75px; }
      .grid-area._tiny > * {
        padding-left: 3.75px;
        padding-right: 3.75px;
        padding-bottom: 3.75px;
        padding-top: 3.75px; }
    .grid-area._small {
      margin-left: -7.5px;
      margin-right: -7.5px;
      margin-bottom: -7.5px;
      margin-top: -7.5px; }
      .grid-area._small > * {
        padding-left: 7.5px;
        padding-right: 7.5px;
        padding-bottom: 7.5px;
        padding-top: 7.5px; }
    .grid-area._medium {
      margin-left: -15px;
      margin-right: -15px;
      margin-bottom: -15px;
      margin-top: -15px; }
      .grid-area._medium > * {
        padding-left: 15px;
        padding-right: 15px;
        padding-bottom: 15px;
        padding-top: 15px; }
    .grid-area._large {
      margin-left: -30px;
      margin-right: -30px;
      margin-bottom: -30px;
      margin-top: -30px; }
      .grid-area._large > * {
        padding-left: 30px;
        padding-right: 30px;
        padding-bottom: 30px;
        padding-top: 30px; }
    .grid-area._massive {
      margin-left: -60px;
      margin-right: -60px;
      margin-bottom: -60px;
      margin-top: -60px; }
      .grid-area._massive > * {
        padding-left: 60px;
        padding-right: 60px;
        padding-bottom: 60px;
        padding-top: 60px; } }
  .grid-area._justifyCenter {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .grid-area._alignCenter {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
  .grid-area._center {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
  .grid-area._auto > * {
    width: auto; }

.grid-cell._xs-1, .grid-cell._xs-2, .grid-cell._xs-3, .grid-cell._xs-4, .grid-cell._xs-5, .grid-cell._xs-6, .grid-cell._xs-7, .grid-cell._xs-8, .grid-cell._xs-9, .grid-cell._xs-10, .grid-cell._xs-11, .grid-cell._xs-12, .grid-cell._sm-1, .grid-cell._sm-2, .grid-cell._sm-3, .grid-cell._sm-4, .grid-cell._sm-5, .grid-cell._sm-6, .grid-cell._sm-7, .grid-cell._sm-8, .grid-cell._sm-9, .grid-cell._sm-10, .grid-cell._sm-11, .grid-cell._sm-12, .grid-cell._md-1, .grid-cell._md-2, .grid-cell._md-3, .grid-cell._md-4, .grid-cell._md-5, .grid-cell._md-6, .grid-cell._md-7, .grid-cell._md-8, .grid-cell._md-9, .grid-cell._md-10, .grid-cell._md-11, .grid-cell._md-12, .grid-cell._lg-1, .grid-cell._lg-2, .grid-cell._lg-3, .grid-cell._lg-4, .grid-cell._lg-5, .grid-cell._lg-6, .grid-cell._lg-7, .grid-cell._lg-8, .grid-cell._lg-9, .grid-cell._lg-10, .grid-cell._lg-11, .grid-cell._lg-12, .grid-cell._xl-1, .grid-cell._xl-2, .grid-cell._xl-3, .grid-cell._xl-4, .grid-cell._xl-5, .grid-cell._xl-6, .grid-cell._xl-7, .grid-cell._xl-8, .grid-cell._xl-9, .grid-cell._xl-10, .grid-cell._xl-11, .grid-cell._xl-12 {
  -webkit-box-flex: 0;
  -webkit-flex-grow: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0; }

@media all and (min-width: 0) {
  .grid-container {
    width: 100%;
    padding-left: 8px;
    padding-right: 8px; }
  .grid-area > .grid-cell._xs-1 {
    width: 8.33333%; }
  .grid-area > .grid-cell._xs-2 {
    width: 16.66667%; }
  .grid-area > .grid-cell._xs-3 {
    width: 25%; }
  .grid-area > .grid-cell._xs-4 {
    width: 33.33333%; }
  .grid-area > .grid-cell._xs-5 {
    width: 41.66667%; }
  .grid-area > .grid-cell._xs-6 {
    width: 50%; }
  .grid-area > .grid-cell._xs-7 {
    width: 58.33333%; }
  .grid-area > .grid-cell._xs-8 {
    width: 66.66667%; }
  .grid-area > .grid-cell._xs-9 {
    width: 75%; }
  .grid-area > .grid-cell._xs-10 {
    width: 83.33333%; }
  .grid-area > .grid-cell._xs-11 {
    width: 91.66667%; }
  .grid-area > .grid-cell._xs-12 {
    width: 100%; } }

@media all and (min-width: 544px) {
  .grid-container {
    width: 100%;
    padding-left: 8px;
    padding-right: 8px; }
  .grid-area > .grid-cell._sm-1 {
    width: 8.33333%; }
  .grid-area > .grid-cell._sm-2 {
    width: 16.66667%; }
  .grid-area > .grid-cell._sm-3 {
    width: 25%; }
  .grid-area > .grid-cell._sm-4 {
    width: 33.33333%; }
  .grid-area > .grid-cell._sm-5 {
    width: 41.66667%; }
  .grid-area > .grid-cell._sm-6 {
    width: 50%; }
  .grid-area > .grid-cell._sm-7 {
    width: 58.33333%; }
  .grid-area > .grid-cell._sm-8 {
    width: 66.66667%; }
  .grid-area > .grid-cell._sm-9 {
    width: 75%; }
  .grid-area > .grid-cell._sm-10 {
    width: 83.33333%; }
  .grid-area > .grid-cell._sm-11 {
    width: 91.66667%; }
  .grid-area > .grid-cell._sm-12 {
    width: 100%; } }

@media all and (min-width: 768px) {
  .grid-container {
    width: 100%;
    padding-left: 12px;
    padding-right: 12px; }
  .grid-area > .grid-cell._md-1 {
    width: 8.33333%; }
  .grid-area > .grid-cell._md-2 {
    width: 16.66667%; }
  .grid-area > .grid-cell._md-3 {
    width: 25%; }
  .grid-area > .grid-cell._md-4 {
    width: 33.33333%; }
  .grid-area > .grid-cell._md-5 {
    width: 41.66667%; }
  .grid-area > .grid-cell._md-6 {
    width: 50%; }
  .grid-area > .grid-cell._md-7 {
    width: 58.33333%; }
  .grid-area > .grid-cell._md-8 {
    width: 66.66667%; }
  .grid-area > .grid-cell._md-9 {
    width: 75%; }
  .grid-area > .grid-cell._md-10 {
    width: 83.33333%; }
  .grid-area > .grid-cell._md-11 {
    width: 91.66667%; }
  .grid-area > .grid-cell._md-12 {
    width: 100%; } }

@media all and (min-width: 992px) {
  .grid-container {
    width: 100%;
    padding-left: 16px;
    padding-right: 16px; }
  .grid-area > .grid-cell._lg-1 {
    width: 8.33333%; }
  .grid-area > .grid-cell._lg-2 {
    width: 16.66667%; }
  .grid-area > .grid-cell._lg-3 {
    width: 25%; }
  .grid-area > .grid-cell._lg-4 {
    width: 33.33333%; }
  .grid-area > .grid-cell._lg-5 {
    width: 41.66667%; }
  .grid-area > .grid-cell._lg-6 {
    width: 50%; }
  .grid-area > .grid-cell._lg-7 {
    width: 58.33333%; }
  .grid-area > .grid-cell._lg-8 {
    width: 66.66667%; }
  .grid-area > .grid-cell._lg-9 {
    width: 75%; }
  .grid-area > .grid-cell._lg-10 {
    width: 83.33333%; }
  .grid-area > .grid-cell._lg-11 {
    width: 91.66667%; }
  .grid-area > .grid-cell._lg-12 {
    width: 100%; } }

@media all and (min-width: 1200px) {
  .grid-container {
    width: 1200px;
    padding-left: 24px;
    padding-right: 24px; }
  .grid-area > .grid-cell._xl-1 {
    width: 8.33333%; }
  .grid-area > .grid-cell._xl-2 {
    width: 16.66667%; }
  .grid-area > .grid-cell._xl-3 {
    width: 25%; }
  .grid-area > .grid-cell._xl-4 {
    width: 33.33333%; }
  .grid-area > .grid-cell._xl-5 {
    width: 41.66667%; }
  .grid-area > .grid-cell._xl-6 {
    width: 50%; }
  .grid-area > .grid-cell._xl-7 {
    width: 58.33333%; }
  .grid-area > .grid-cell._xl-8 {
    width: 66.66667%; }
  .grid-area > .grid-cell._xl-9 {
    width: 75%; }
  .grid-area > .grid-cell._xl-10 {
    width: 83.33333%; }
  .grid-area > .grid-cell._xl-11 {
    width: 91.66667%; }
  .grid-area > .grid-cell._xl-12 {
    width: 100%; } }

/*@import 'components/typ';*/
.form-field-label {
  display: block;
  font-size: 1em;
  margin-bottom: 0.5em; }

.form-field-message {
  padding: 5px 0;
  font-size: 1em; }
  .form-field-message._error {
    color: #9f3a38; }

.form-field.-error .form-field-label {
  color: #9f3a38; }

.form-message {
  font-size: 1em;
  padding: 0.5em 1em;
  border-radius: 3px;
  line-height: 1.2em;
  border: 1px solid;
  color: #555555;
  background-color: rgba(162, 162, 162, 0.1);
  border-color: #888888; }
  .form-message.-error {
    color: #9f3a38;
    background-color: rgba(218, 151, 150, 0.1);
    border-color: #cd7270; }
  .form-message.-warning {
    color: #573a08;
    background-color: rgba(227, 151, 21, 0.1);
    border-color: #b47811; }
  .form-message.-success {
    color: #2c662d;
    background-color: rgba(108, 191, 109, 0.1);
    border-color: #4bad4c; }
  .form-message.-notice {
    color: #276f86;
    background-color: rgba(112, 189, 214, 0.1);
    border-color: #49abca; }

.form-button {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  box-sizing: border-box;
  text-align: center;
  padding: 0.65em 0.73125em;
  font-size: 1em;
  line-height: 1.2;
  min-height: 2.5em;
  text-decoration: none;
  border-radius: 3px;
  border: 1px solid #e1e1e1;
  vertical-align: top;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: pointer;
  background-color: #666666;
  border-color: #5c5c5c;
  color: #fff; }
  .form-button > * {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    -webkit-box-flex: 0;
    -webkit-flex-grow: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto;
    margin: 0 0.24375em; }
  .form-button-icon {
    display: inline-block;
    line-height: 1;
    width: 1.2em;
    height: 1.2em;
    fill: currentColor; }
    .form-button-icon > * {
      fill: currentColor;
      max-width: 100%;
      max-height: 100%; }
  .form-button._fluid {
    width: 100%; }
  .form-button._toggle > input {
    display: none; }
  .form-button._sort > input {
    display: none; }
  .form-button._sort::before {
    margin-right: 0.3em; }
  .form-button._sort.-desc::before {
    content: '↓'; }
  .form-button._sort.-asc::before {
    content: '↑'; }
  .form-button:hover, .form-button:focus {
    background-color: #757575; }
  .form-button:active, .form-button.-active {
    box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.1);
    background-color: #5c5c5c; }
  .form-button._splashy {
    background-color: #EC6A00;
    border-color: #d45f00;
    color: #fff; }
    .form-button._splashy:hover, .form-button._splashy:focus {
      background-color: #ee791a; }
    .form-button._splashy:active, .form-button._splashy.-active {
      box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.1);
      background-color: #d45f00; }
  .form-button._emphasis {
    background-color: #FFCC65;
    border-color: #e6b85b;
    color: #000; }
    .form-button._emphasis:hover, .form-button._emphasis:focus {
      background-color: #ffd174; }
    .form-button._emphasis:active, .form-button._emphasis.-active {
      box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.1);
      background-color: #e6b85b; }
  .form-button._deep {
    background-color: #34362D;
    border-color: #2f3129;
    color: #fff; }
    .form-button._deep:hover, .form-button._deep:focus {
      background-color: #484a42; }
    .form-button._deep:active, .form-button._deep.-active {
      box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.1);
      background-color: #2f3129; }
  .form-button._neutral {
    background-color: #669E81;
    border-color: #5c8e74;
    color: #000; }
    .form-button._neutral:hover, .form-button._neutral:focus {
      background-color: #75a88e; }
    .form-button._neutral:active, .form-button._neutral.-active {
      box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.1);
      background-color: #5c8e74; }
  .form-button._default {
    background-color: #666666;
    border-color: #5c5c5c;
    color: #fff; }
    .form-button._default:hover, .form-button._default:focus {
      background-color: #757575; }
    .form-button._default:active, .form-button._default.-active {
      box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.1);
      background-color: #5c5c5c; }
  .form-button._white {
    background-color: #fff;
    border-color: #e6e6e6;
    color: #000; }
    .form-button._white:hover, .form-button._white:focus {
      background-color: white; }
    .form-button._white:active, .form-button._white.-active {
      box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.1);
      background-color: #e6e6e6; }
  .form-button._black {
    background-color: #000;
    border-color: black;
    color: #fff; }
    .form-button._black:hover, .form-button._black:focus {
      background-color: #1a1a1a; }
    .form-button._black:active, .form-button._black.-active {
      box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.1);
      background-color: black; }

.form-inputText {
  display: inline-block; }
  .form-inputText > input {
    width: 100%;
    box-sizing: border-box;
    background-color: #fff;
    border: 1px solid #e1e1e1;
    padding: 0.65em 0.975em;
    border-radius: 3px;
    font-size: 1em;
    line-height: 1.2;
    min-height: 2.5em;
    color: #333;
    font-family: inherit; }
    .form-inputText > input::-webkit-input-placeholder {
      color: #339933; }
    .form-inputText > input::-moz-placeholder {
      color: #339933; }
    .form-inputText > input:-ms-input-placeholder {
      color: #339933; }
    .form-inputText > input::placeholder {
      color: #339933; }
  .form-inputText._fluid {
    width: 100%; }

.form-inputTextarea {
  display: inline-block; }
  .form-inputTextarea > textarea {
    width: 100%;
    box-sizing: border-box;
    background-color: #fff;
    border: 1px solid #e1e1e1;
    padding: 0.65em 0.975em;
    border-radius: 3px;
    font-size: 1em;
    line-height: 1.2;
    min-height: 2.5em;
    color: #333;
    font-family: inherit;
    min-height: 150px;
    max-width: 100%; }
    .form-inputTextarea > textarea::-webkit-input-placeholder {
      color: #339933; }
    .form-inputTextarea > textarea::-moz-placeholder {
      color: #339933; }
    .form-inputTextarea > textarea:-ms-input-placeholder {
      color: #339933; }
    .form-inputTextarea > textarea::placeholder {
      color: #339933; }
  .form-inputTextarea._fluid {
    width: 100%; }

/*
	DivoDivnoe Icon
*/
.icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: middle; }

/*
	DivoDivnoe EasyAccess
	Зависит от всех компонентов
*/
/*
	@function ___($_args...)
	{
		@return ___($_args...);
	}

	@mixin ___($_args...)
	{
		@include ___($_args...);
	}
*/
@font-face {
  font-family: "Roboto";
  src: url(../fonts/Roboto-Medium.woff) format("woff");
  font-weight: 500; }

@font-face {
  font-family: "Roboto";
  src: url(../fonts/Roboto-Regular.woff) format("woff");
  font-weight: 400; }

@font-face {
  font-family: "Roboto";
  src: url(../fonts/Roboto-Light.woff) format("woff");
  font-weight: 300; }

@font-face {
  font-family: "Roboto";
  src: url(../fonts/Roboto-Thin.woff) format("woff");
  font-weight: 100; }

@font-face {
  font-family: "Intro";
  src: url(../fonts/Intro.woff) format("woff");
  font-weight: 400; }

@font-face {
  font-family: "Bad Script";
  src: url(../fonts/BadScript-Regular.woff) format("woff");
  font-weight: 400; }

.footer-grid > * {
  width: auto; }

.footer-item-title {
  color: #282828;
  font-family: "Intro";
  font-size: 30px;
  font-weight: 400; }

.footer-item-text {
  color: #282828;
  font-family: "Roboto";
  font-size: 18px;
  font-weight: 400;
  line-height: 1.3; }

@media all and (min-width: 0) and (max-width: 767px) {
  .footer-item-title {
    font-size: 27px; } }

.header {
  background-color: #1c222c;
  color: #fdf9f2;
  max-height: 700px;
  min-height: 200px;
  background-image: -webkit-radial-gradient(center circle, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 100%);
  background-image: radial-gradient(circle at center, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 100%); }
  .header-wrapper {
    height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .header-topGroup {
    font-size: 16px; }
    .header-topGroup-grid {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      min-width: 0;
      display: flex;
      flex-direction: row;
      -webkit-box-align: end;
      -webkit-align-items: flex-end;
          -ms-flex-align: end;
              align-items: flex-end; }
      .header-topGroup-grid:empty::after, .header-topGroup-grid:blank::after {
        content: '';
        height: 40px; }
      .header-topGroup-grid > * {
        box-sizing: border-box;
        -webkit-box-flex: 1;
        -webkit-flex-grow: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        -webkit-flex-shrink: 1;
            -ms-flex-negative: 1;
                flex-shrink: 1;
        -webkit-flex-basis: auto;
            -ms-flex-preferred-size: auto;
                flex-basis: auto;
        min-width: 0;
        min-height: 0;
        width: 100%; }
      @media all and (min-width: 0) and (max-width: 543px) {
        .header-topGroup-grid {
          margin-left: -7.5px;
          margin-right: -7.5px;
          margin-bottom: -5px;
          margin-top: -5px; }
          .header-topGroup-grid > * {
            padding-left: 7.5px;
            padding-right: 7.5px;
            padding-bottom: 5px;
            padding-top: 5px; } }
      @media all and (min-width: 544px) and (max-width: 767px) {
        .header-topGroup-grid {
          margin-left: -7.5px;
          margin-right: -7.5px;
          margin-bottom: -5px;
          margin-top: -5px; }
          .header-topGroup-grid > * {
            padding-left: 7.5px;
            padding-right: 7.5px;
            padding-bottom: 5px;
            padding-top: 5px; } }
      @media all and (min-width: 768px) and (max-width: 991px) {
        .header-topGroup-grid {
          margin-left: -11.25px;
          margin-right: -11.25px;
          margin-bottom: -7.5px;
          margin-top: -7.5px; }
          .header-topGroup-grid > * {
            padding-left: 11.25px;
            padding-right: 11.25px;
            padding-bottom: 7.5px;
            padding-top: 7.5px; } }
      @media all and (min-width: 992px) and (max-width: 1199px) {
        .header-topGroup-grid {
          margin-left: -15px;
          margin-right: -15px;
          margin-bottom: -10px;
          margin-top: -10px; }
          .header-topGroup-grid > * {
            padding-left: 15px;
            padding-right: 15px;
            padding-bottom: 10px;
            padding-top: 10px; } }
      @media all and (min-width: 1200px) {
        .header-topGroup-grid {
          margin-left: -22.5px;
          margin-right: -22.5px;
          margin-bottom: -15px;
          margin-top: -15px; }
          .header-topGroup-grid > * {
            padding-left: 22.5px;
            padding-right: 22.5px;
            padding-bottom: 15px;
            padding-top: 15px; } }
      @media all and (min-width: 0) and (max-width: 543px) {
        .header-topGroup-grid._tiny {
          margin-left: -1.875px;
          margin-right: -1.875px;
          margin-bottom: -1.25px;
          margin-top: -1.25px; }
          .header-topGroup-grid._tiny > * {
            padding-left: 1.875px;
            padding-right: 1.875px;
            padding-bottom: 1.25px;
            padding-top: 1.25px; }
        .header-topGroup-grid._small {
          margin-left: -3.75px;
          margin-right: -3.75px;
          margin-bottom: -2.5px;
          margin-top: -2.5px; }
          .header-topGroup-grid._small > * {
            padding-left: 3.75px;
            padding-right: 3.75px;
            padding-bottom: 2.5px;
            padding-top: 2.5px; }
        .header-topGroup-grid._medium {
          margin-left: -7.5px;
          margin-right: -7.5px;
          margin-bottom: -5px;
          margin-top: -5px; }
          .header-topGroup-grid._medium > * {
            padding-left: 7.5px;
            padding-right: 7.5px;
            padding-bottom: 5px;
            padding-top: 5px; }
        .header-topGroup-grid._large {
          margin-left: -15px;
          margin-right: -15px;
          margin-bottom: -10px;
          margin-top: -10px; }
          .header-topGroup-grid._large > * {
            padding-left: 15px;
            padding-right: 15px;
            padding-bottom: 10px;
            padding-top: 10px; }
        .header-topGroup-grid._massive {
          margin-left: -30px;
          margin-right: -30px;
          margin-bottom: -20px;
          margin-top: -20px; }
          .header-topGroup-grid._massive > * {
            padding-left: 30px;
            padding-right: 30px;
            padding-bottom: 20px;
            padding-top: 20px; } }
      @media all and (min-width: 544px) and (max-width: 767px) {
        .header-topGroup-grid._tiny {
          margin-left: -1.875px;
          margin-right: -1.875px;
          margin-bottom: -1.25px;
          margin-top: -1.25px; }
          .header-topGroup-grid._tiny > * {
            padding-left: 1.875px;
            padding-right: 1.875px;
            padding-bottom: 1.25px;
            padding-top: 1.25px; }
        .header-topGroup-grid._small {
          margin-left: -3.75px;
          margin-right: -3.75px;
          margin-bottom: -2.5px;
          margin-top: -2.5px; }
          .header-topGroup-grid._small > * {
            padding-left: 3.75px;
            padding-right: 3.75px;
            padding-bottom: 2.5px;
            padding-top: 2.5px; }
        .header-topGroup-grid._medium {
          margin-left: -7.5px;
          margin-right: -7.5px;
          margin-bottom: -5px;
          margin-top: -5px; }
          .header-topGroup-grid._medium > * {
            padding-left: 7.5px;
            padding-right: 7.5px;
            padding-bottom: 5px;
            padding-top: 5px; }
        .header-topGroup-grid._large {
          margin-left: -15px;
          margin-right: -15px;
          margin-bottom: -10px;
          margin-top: -10px; }
          .header-topGroup-grid._large > * {
            padding-left: 15px;
            padding-right: 15px;
            padding-bottom: 10px;
            padding-top: 10px; }
        .header-topGroup-grid._massive {
          margin-left: -30px;
          margin-right: -30px;
          margin-bottom: -20px;
          margin-top: -20px; }
          .header-topGroup-grid._massive > * {
            padding-left: 30px;
            padding-right: 30px;
            padding-bottom: 20px;
            padding-top: 20px; } }
      @media all and (min-width: 768px) and (max-width: 991px) {
        .header-topGroup-grid._tiny {
          margin-left: -2.8125px;
          margin-right: -2.8125px;
          margin-bottom: -1.875px;
          margin-top: -1.875px; }
          .header-topGroup-grid._tiny > * {
            padding-left: 2.8125px;
            padding-right: 2.8125px;
            padding-bottom: 1.875px;
            padding-top: 1.875px; }
        .header-topGroup-grid._small {
          margin-left: -5.625px;
          margin-right: -5.625px;
          margin-bottom: -3.75px;
          margin-top: -3.75px; }
          .header-topGroup-grid._small > * {
            padding-left: 5.625px;
            padding-right: 5.625px;
            padding-bottom: 3.75px;
            padding-top: 3.75px; }
        .header-topGroup-grid._medium {
          margin-left: -11.25px;
          margin-right: -11.25px;
          margin-bottom: -7.5px;
          margin-top: -7.5px; }
          .header-topGroup-grid._medium > * {
            padding-left: 11.25px;
            padding-right: 11.25px;
            padding-bottom: 7.5px;
            padding-top: 7.5px; }
        .header-topGroup-grid._large {
          margin-left: -22.5px;
          margin-right: -22.5px;
          margin-bottom: -15px;
          margin-top: -15px; }
          .header-topGroup-grid._large > * {
            padding-left: 22.5px;
            padding-right: 22.5px;
            padding-bottom: 15px;
            padding-top: 15px; }
        .header-topGroup-grid._massive {
          margin-left: -45px;
          margin-right: -45px;
          margin-bottom: -30px;
          margin-top: -30px; }
          .header-topGroup-grid._massive > * {
            padding-left: 45px;
            padding-right: 45px;
            padding-bottom: 30px;
            padding-top: 30px; } }
      @media all and (min-width: 992px) and (max-width: 1199px) {
        .header-topGroup-grid._tiny {
          margin-left: -3.75px;
          margin-right: -3.75px;
          margin-bottom: -2.5px;
          margin-top: -2.5px; }
          .header-topGroup-grid._tiny > * {
            padding-left: 3.75px;
            padding-right: 3.75px;
            padding-bottom: 2.5px;
            padding-top: 2.5px; }
        .header-topGroup-grid._small {
          margin-left: -7.5px;
          margin-right: -7.5px;
          margin-bottom: -5px;
          margin-top: -5px; }
          .header-topGroup-grid._small > * {
            padding-left: 7.5px;
            padding-right: 7.5px;
            padding-bottom: 5px;
            padding-top: 5px; }
        .header-topGroup-grid._medium {
          margin-left: -15px;
          margin-right: -15px;
          margin-bottom: -10px;
          margin-top: -10px; }
          .header-topGroup-grid._medium > * {
            padding-left: 15px;
            padding-right: 15px;
            padding-bottom: 10px;
            padding-top: 10px; }
        .header-topGroup-grid._large {
          margin-left: -30px;
          margin-right: -30px;
          margin-bottom: -20px;
          margin-top: -20px; }
          .header-topGroup-grid._large > * {
            padding-left: 30px;
            padding-right: 30px;
            padding-bottom: 20px;
            padding-top: 20px; }
        .header-topGroup-grid._massive {
          margin-left: -60px;
          margin-right: -60px;
          margin-bottom: -40px;
          margin-top: -40px; }
          .header-topGroup-grid._massive > * {
            padding-left: 60px;
            padding-right: 60px;
            padding-bottom: 40px;
            padding-top: 40px; } }
      @media all and (min-width: 1200px) {
        .header-topGroup-grid._tiny {
          margin-left: -5.625px;
          margin-right: -5.625px;
          margin-bottom: -3.75px;
          margin-top: -3.75px; }
          .header-topGroup-grid._tiny > * {
            padding-left: 5.625px;
            padding-right: 5.625px;
            padding-bottom: 3.75px;
            padding-top: 3.75px; }
        .header-topGroup-grid._small {
          margin-left: -11.25px;
          margin-right: -11.25px;
          margin-bottom: -7.5px;
          margin-top: -7.5px; }
          .header-topGroup-grid._small > * {
            padding-left: 11.25px;
            padding-right: 11.25px;
            padding-bottom: 7.5px;
            padding-top: 7.5px; }
        .header-topGroup-grid._medium {
          margin-left: -22.5px;
          margin-right: -22.5px;
          margin-bottom: -15px;
          margin-top: -15px; }
          .header-topGroup-grid._medium > * {
            padding-left: 22.5px;
            padding-right: 22.5px;
            padding-bottom: 15px;
            padding-top: 15px; }
        .header-topGroup-grid._large {
          margin-left: -45px;
          margin-right: -45px;
          margin-bottom: -30px;
          margin-top: -30px; }
          .header-topGroup-grid._large > * {
            padding-left: 45px;
            padding-right: 45px;
            padding-bottom: 30px;
            padding-top: 30px; }
        .header-topGroup-grid._massive {
          margin-left: -90px;
          margin-right: -90px;
          margin-bottom: -60px;
          margin-top: -60px; }
          .header-topGroup-grid._massive > * {
            padding-left: 90px;
            padding-right: 90px;
            padding-bottom: 60px;
            padding-top: 60px; } }
      .header-topGroup-grid > *:nth-child(1) {
        -webkit-box-flex: 0;
        -webkit-flex-grow: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
        -webkit-flex-shrink: 0;
            -ms-flex-negative: 0;
                flex-shrink: 0; }
      .header-topGroup-grid > *:nth-child(2) {
        -webkit-box-flex: 1;
        -webkit-flex-grow: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        -webkit-flex-shrink: 1;
            -ms-flex-negative: 1;
                flex-shrink: 1; }
      .header-topGroup-grid > *:nth-child(3) {
        -webkit-box-flex: 1;
        -webkit-flex-grow: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        -webkit-flex-shrink: 1;
            -ms-flex-negative: 1;
                flex-shrink: 1; }
      .header-topGroup-grid-item {
        width: auto; }
  .header-logo {
    width: 85px;
    padding-bottom: 130%;
    background: center no-repeat;
    background-size: contain; }
  .header-title {
    font-family: "Intro";
    font-size: 3.75em; }
  .header-subtitle {
    font-family: "Roboto";
    font-size: 2.25em;
    font-weight: 100; }
  .header-city {
    font-family: "Roboto";
    font-size: 1.125em;
    font-weight: 100; }
  .header-phone {
    font-size: 1.5em;
    font-family: "Intro"; }
  .header-charactersBlock {
    bottom: 0;
    max-width: 700px;
    white-space: nowrap;
    left: 20px; }
    .header-charactersBlock-character {
      display: inline-block;
      position: relative;
      width: 26%; }
      .header-charactersBlock-character.-active .header-charactersBlock-character-phrase {
        opacity: 1; }
      .header-charactersBlock-character-image {
        max-width: 150px; }
        .header-charactersBlock-character-image > img {
          width: 100%;
          height: auto;
          max-height: 100%; }
      .header-charactersBlock-character-phrase {
        position: absolute;
        width: auto;
        max-width: none;
        font-family: "Bad Script";
        font-size: 24px;
        color: #b2b9c2;
        top: -70px;
        left: -10px;
        opacity: 0;
        will-change: opacity;
        -webkit-transition: opacity 0.3s ease-in-out;
        transition: opacity 0.3s ease-in-out; }
      .header-charactersBlock-character._max {
        margin-left: 0;
        width: 24.75%; }
      .header-charactersBlock-character._yura {
        margin-left: -14%;
        width: 24.75%; }
      .header-charactersBlock-character._vova {
        margin-left: -7.5%;
        width: 24.75%; }
      .header-charactersBlock-character._vitalya {
        margin-left: -10%;
        width: 24.75%; }
      .header-charactersBlock-character._kostya {
        margin-left: -5%;
        width: 24.75%; }
      .header-charactersBlock-character._finn {
        margin-left: -12%;
        width: 24.75%; }
      .header-charactersBlock-character._max {
        z-index: 1; }
      .header-charactersBlock-character._yura {
        z-index: 2; }
      .header-charactersBlock-character._vova {
        z-index: 3; }
      .header-charactersBlock-character._vitalya {
        z-index: 3; }
      .header-charactersBlock-character._kostya {
        z-index: 2; }
      .header-charactersBlock-character._finn {
        z-index: 3; }
  @media all and (min-width: 0) and (max-width: 767px) {
    .header-logo {
      width: 40px; }
    .header-topGroup {
      font-size: 8px; }
    .header .pageIndex-featuresBlock-item-image {
      padding-bottom: 40%;
      width: 40%; } }
  @media all and (min-width: 0) and (max-width: 991px) {
    .header .header-charactersBlock-character-phrase {
      display: none; } }

.link {
  color: inherit;
  text-decoration: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border-bottom: 1px solid transparent; }
  .link:hover {
    border-bottom-color: currentColor; }

.page {
  color: #282828;
  font-weight: 400;
  font-family: "Roboto"; }
  .page-wrapper {
    height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    .page-wrapper > div:nth-child(1) {
      -webkit-box-flex: 0;
      -webkit-flex-grow: 0;
          -ms-flex-positive: 0;
              flex-grow: 0;
      -webkit-flex-shrink: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0;
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; }
    .page-wrapper > div:nth-child(2) {
      -webkit-box-flex: 1;
      -webkit-flex-grow: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      -webkit-flex-shrink: 1;
          -ms-flex-negative: 1;
              flex-shrink: 1;
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; }
    .page-wrapper > div:nth-child(3) {
      -webkit-box-flex: 0;
      -webkit-flex-grow: 0;
          -ms-flex-positive: 0;
              flex-grow: 0;
      -webkit-flex-shrink: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0;
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; }
  .page-sectionTitle {
    font-family: "Intro";
    font-size: 45px;
    text-align: center; }

.pageIndex-featuresBlock {
  padding: 0 70px; }
  .pageIndex-featuresBlock-item-image {
    padding-bottom: 75%;
    width: 75%;
    margin: 0 auto;
    background: center no-repeat;
    background-size: contain;
    border-radius: 5px; }
  .pageIndex-featuresBlock-item-title {
    font-size: 18px;
    font-family: "Intro";
    line-height: 1.3; }

.pageIndex-techsBlock-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%; }

.pageIndex-techsBlock-grid {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  min-width: 0;
  margin-left: -10px;
  margin-right: -10px;
  margin-bottom: -16px;
  margin-top: -16px; }
  .pageIndex-techsBlock-grid > * {
    box-sizing: border-box;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-flex-shrink: 1;
        -ms-flex-negative: 1;
            flex-shrink: 1;
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto;
    min-width: 0;
    min-height: 0; }
  .pageIndex-techsBlock-grid:empty::after, .pageIndex-techsBlock-grid:blank::after {
    content: '';
    height: 32px; }
  .pageIndex-techsBlock-grid > * {
    width: 20%;
    -webkit-box-flex: 0;
    -webkit-flex-grow: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    padding-left: 10px;
    padding-right: 10px;
    margin-bottom: 16px;
    margin-top: 16px; }
  @media all and (min-width: 768px) and (max-width: 991px) {
    .pageIndex-techsBlock-grid {
      margin-left: -10px;
      margin-right: -10px;
      margin-bottom: -16px;
      margin-top: -16px; }
      .pageIndex-techsBlock-grid > * {
        width: 33.33333%;
        -webkit-box-flex: 0;
        -webkit-flex-grow: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
        -webkit-flex-shrink: 0;
            -ms-flex-negative: 0;
                flex-shrink: 0;
        padding-left: 10px;
        padding-right: 10px;
        margin-bottom: 16px;
        margin-top: 16px; } }
  @media all and (min-width: 544px) and (max-width: 767px) {
    .pageIndex-techsBlock-grid {
      margin-left: -10px;
      margin-right: -10px;
      margin-bottom: -16px;
      margin-top: -16px; }
      .pageIndex-techsBlock-grid > * {
        width: 50%;
        -webkit-box-flex: 0;
        -webkit-flex-grow: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
        -webkit-flex-shrink: 0;
            -ms-flex-negative: 0;
                flex-shrink: 0;
        padding-left: 10px;
        padding-right: 10px;
        margin-bottom: 16px;
        margin-top: 16px; } }
  @media all and (min-width: 0) and (max-width: 543px) {
    .pageIndex-techsBlock-grid {
      margin-left: -10px;
      margin-right: -10px;
      margin-bottom: -16px;
      margin-top: -16px; }
      .pageIndex-techsBlock-grid > * {
        width: 100%;
        -webkit-box-flex: 0;
        -webkit-flex-grow: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
        -webkit-flex-shrink: 0;
            -ms-flex-negative: 0;
                flex-shrink: 0;
        padding-left: 10px;
        padding-right: 10px;
        margin-bottom: 16px;
        margin-top: 16px; } }
  .pageIndex-techsBlock-grid-item {
    display: inline-block; }
    .pageIndex-techsBlock-grid-item:not(:last-child) {
      margin-bottom: 20px; }

.pageIndex-techsBlock-tech {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  min-width: 0;
  margin-left: -10px;
  margin-right: -10px;
  margin-bottom: 0px;
  margin-top: 0px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .pageIndex-techsBlock-tech > * {
    box-sizing: border-box;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-flex-shrink: 1;
        -ms-flex-negative: 1;
            flex-shrink: 1;
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto;
    min-width: 0;
    min-height: 0; }
  .pageIndex-techsBlock-tech:empty::after, .pageIndex-techsBlock-tech:blank::after {
    content: '';
    height: 0px; }
  .pageIndex-techsBlock-tech > * {
    width: 50%;
    -webkit-box-flex: 0;
    -webkit-flex-grow: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    padding-left: 10px;
    padding-right: 10px;
    margin-bottom: 0px;
    margin-top: 0px; }
  .pageIndex-techsBlock-tech-icon {
    box-sizing: content-box;
    width: 42px;
    height: 42px;
    background: center no-repeat;
    background-origin: content-box;
    background-size: contain; }
  .pageIndex-techsBlock-tech-name {
    font-size: 20px;
    font-family: "Roboto"; }

.pageIndex-techsBlock .owl-dots {
  text-align: center;
  padding-top: 10px; }
  .pageIndex-techsBlock .owl-dots .owl-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: center;
    background: #a8a8a8;
    -webkit-transition: bacgkround 0.3s;
    transition: bacgkround 0.3s;
    margin: 0 5px; }
    .pageIndex-techsBlock .owl-dots .owl-dot.active {
      background: #282828; }

.pageIndex-projectsBlock-project {
  position: relative;
  padding-bottom: 83%;
  background: top left no-repeat;
  background-size: cover;
  color: #fdf9f2; }
  .pageIndex-projectsBlock-project-logo {
    position: absolute;
    padding: 0 20px;
    left: 0;
    top: 20px;
    width: 100%;
    height: 60px;
    background: left center no-repeat;
    background-size: contain;
    background-origin: content-box; }
  .pageIndex-projectsBlock-project-description {
    position: absolute;
    bottom: 15px;
    left: 0;
    padding-left: 20px;
    padding-right: 20px;
    width: 100%;
    font-family: "Roboto";
    line-height: 1.4; }
    .pageIndex-projectsBlock-project-description-url {
      font-weight: 500; }

.pageIndex-partnersBlock-partner {
  padding: 10px;
  background: center no-repeat;
  background-size: contain;
  background-origin: content-box;
  min-height: 120px;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.05); }

.pageIndex-teamBlock-item {
  position: relative;
  padding-bottom: 100%;
  background: center no-repeat #ededed;
  background-size: cover;
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
  -webkit-transition: -webkit-filter 0.5s ease-in-out;
  transition: -webkit-filter 0.5s ease-in-out;
  transition: filter 0.5s ease-in-out;
  transition: filter 0.5s ease-in-out, -webkit-filter 0.5s ease-in-out; }
  .pageIndex-teamBlock-item:hover {
    -webkit-filter: none;
            filter: none; }
    .pageIndex-teamBlock-item:hover .pageIndex-teamBlock-item-description {
      opacity: 1; }
  .pageIndex-teamBlock-item-description {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 10px;
    width: 100%;
    color: #fdf9f2;
    -webkit-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;
    opacity: 0;
    will-change: opacity;
    text-shadow: 1px 1px 1px black; }
    .pageIndex-teamBlock-item-description-name {
      font-weight: 500;
      font-size: 20px; }
    .pageIndex-teamBlock-item-description-position {
      font-weight: 300;
      font-size: 14px; }

.pageIndex-productsBlock-product-image {
  padding-bottom: 60%;
  box-shadow: 0 7px 18px rgba(0, 0, 0, 0.07);
  background: center no-repeat;
  background-size: cover;
  -webkit-filter: opacity(80%);
          filter: opacity(80%);
  -webkit-transition: -webkit-filter 0.5s ease-in-out;
  transition: -webkit-filter 0.5s ease-in-out;
  transition: filter 0.5s ease-in-out;
  transition: filter 0.5s ease-in-out, -webkit-filter 0.5s ease-in-out; }
  .pageIndex-productsBlock-product-image:hover {
    -webkit-filter: none;
            filter: none; }
    .pageIndex-productsBlock-product-image:hover .pageIndex-teamBlock-item-description {
      opacity: 1; }

.pageIndex-productsBlock-product-description {
  line-height: 1.3; }
  .pageIndex-productsBlock-product-description-name {
    font-family: "Roboto";
    font-size: 24px;
    font-weight: 500; }
  .pageIndex-productsBlock-product-description-flavorText {
    color: #555; }

.pageIndex-mapBlock {
  height: 34vw;
  max-height: 600px;
  min-height: 320px; }

@media all and (min-width: 0) and (max-width: 767px) {
  .pageIndex-featuresBlock {
    padding: 0 20px; }
  .pageIndex .pageIndex-featuresBlock-item-image {
    padding-bottom: 40%;
    width: 40%; } }
