.hidden {
  display: none !important;
}
.unhidden {
  display: inherit !important;
}
.req {
  color: #B03C3F !important;
  font-size: 70% !important;
  vertical-align: top;
}
@media only screen and (min-width: 1200px) and (max-width: 1199px) {
  .lg-invisible {
    display: none !important;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .md-invisible {
    display: none !important;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .sm-invisible {
    display: none !important;
  }
}
@media only screen and (min-width: 0) and (max-width: 767px) {
  .xs-invisible {
    display: none !important;
  }
}
@media only screen and (min-width: 0) and (max-width: 400px) {
  .mob-invisible {
    display: none !important;
  }
}
@media only screen and (min-width: 0) and (max-width: 767px) {
  .small-invisible {
    display: none !important;
  }
}
@media only screen and (min-width: 768px) {
  .big-invisible {
    display: none !important;
  }
}
@media only screen and (min-width: 0) and (max-width: 600px) {
  .media-600-invisible {
    display: none !important;
  }
}
@media only screen and (min-width: 0) and (max-width: 830px) {
  .media-830-invisible {
    display: none !important;
  }
}
@media not screen and (min-width: 992px) and (max-width: 1199px) {
  .md-visible {
    display: none !important;
  }
}
@media not screen and (min-width: 768px) and (max-width: 991px) {
  .sm-visible {
    display: none !important;
  }
}
@media not screen and (min-width: 0) and (max-width: 767px) {
  .xs-visible {
    display: none !important;
  }
}
@media only screen and (min-width: 0) and (max-width: 400px) {
  .mob-visible {
    display: none !important;
  }
}
:root {
  --media-bg: 1200px;
  --media-lg: 1200px;
  --media-md: 992px;
  --media-sm: 768px;
  --media-xs: 480px;
  --media-mob: 400px;
  --color-blue: #1B53C0;
}
.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 0.5em;
  padding-right: 0.5em;
}
.container-strict {
  margin-right: auto;
  margin-left: auto;
  padding-left: 0.5em;
  padding-right: 0.5em;
  width: 1201px;
  box-sizing: border-box;
  margin: 0 auto;
  width: 1200px;
  padding: 0 1em;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
@media only screen and (min-width: 1200px) and (max-width: 1199px) {
  .container-strict {
    width: 1201px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .container-strict {
    width: 993px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .container-strict {
    width: 769px;
  }
}
@media only screen and (min-width: 0) and (max-width: 767px) {
  .container-strict {
    width: 100%;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1199px) {
  .container-strict {
    width: 1200px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .container-strict {
    width: 992px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .container-strict {
    width: 768px;
  }
}
@media only screen and (min-width: 0) and (max-width: 767px) {
  .container-strict {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0 0.5em;
  }
}
@media only screen and (min-width: 0) and (max-width: 767px) {
  .container-strict {
    padding-left: 0.5em !important;
    padding-right: 0.5em !important;
  }
}
.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 0.5em;
  padding-right: 0.5em;
  width: 1201px;
}
@media only screen and (min-width: 1200px) and (max-width: 1199px) {
  .container {
    width: 1201px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .container {
    width: 993px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .container {
    width: 769px;
  }
}
@media only screen and (min-width: 0) and (max-width: 767px) {
  .container {
    width: 100%;
  }
}
.container-box {
  margin: 0 auto;
  width: 1200px;
}
@media only screen and (min-width: 1200px) and (max-width: 1199px) {
  .container-box {
    width: 1200px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .container-box {
    width: 992px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .container-box {
    width: 768px;
  }
}
@media only screen and (min-width: 0) and (max-width: 767px) {
  .container-box {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0 0.5em;
  }
}
.messages {
  display: block;
  position: relative;
  margin: 1em 0;
  background: #FDF5E2;
  padding: 1em;
  padding-left: 4em;
  background: #ccc;
  color: #000;
  border: none;
  border-left: 3px solid #EB5F5F;
}
.messages a {
  color: #321b1b;
}
.messages a:hover {
  color: #110909;
}
.messages:before {
  display: block;
  position: absolute;
  left: 0.5em;
  top: 0.3em;
  font-family: FontAwesome, Fontawesome, sans-serif;
  content: '\f071';
  color: rgba(0, 0, 0, 0.6);
  font-size: 20px;
  text-align: center;
  width: 28px;
  line-height: 28px;
  height: 28px;
}
.messages .close {
  border: none;
  background: none;
  cursor: pointer;
  box-shadow: none;
  outline: 0;
  padding: 3px 5px;
  vertical-align: top;
  color: rgba(0, 0, 0, 0.6);
}
.messages.error,
.messages.danger {
  background: #FDEDE6;
  color: #59101b;
  border: none;
  border-left: 3px solid #EB5F5F;
}
.messages.error a,
.messages.danger a {
  color: #b5001c;
}
.messages.error a:hover,
.messages.danger a:hover {
  color: #820014;
}
.messages.error:before,
.messages.danger:before {
  display: block;
  position: absolute;
  left: 0.5em;
  top: 0.3em;
  font-family: FontAwesome, Fontawesome, sans-serif;
  content: '\f071';
  color: rgba(89, 16, 27, 0.6);
  font-size: 20px;
  text-align: center;
  width: 28px;
  line-height: 28px;
  height: 28px;
}
.messages.error .close,
.messages.danger .close {
  border: none;
  background: none;
  cursor: pointer;
  box-shadow: none;
  outline: 0;
  padding: 3px 5px;
  vertical-align: top;
  color: rgba(89, 16, 27, 0.6);
}
.messages.warning {
  background: #ffefbd;
  color: #473618;
  border: none;
  border-left: 3px solid #EB5F5F;
}
.messages.warning a {
  color: #9a6912;
}
.messages.warning a:hover {
  color: #6c490c;
}
.messages.warning:before {
  display: block;
  position: absolute;
  left: 0.5em;
  top: 0.3em;
  font-family: FontAwesome, Fontawesome, sans-serif;
  content: '\f06a';
  color: rgba(71, 54, 24, 0.6);
  font-size: 20px;
  text-align: center;
  width: 28px;
  line-height: 28px;
  height: 28px;
}
.messages.warning .close {
  border: none;
  background: none;
  cursor: pointer;
  box-shadow: none;
  outline: 0;
  padding: 3px 5px;
  vertical-align: top;
  color: rgba(71, 54, 24, 0.6);
}
.messages.status,
.messages.info {
  background: #ECF6FF;
  color: #20512b;
  border: none;
  border-left: 3px solid #EB5F5F;
}
.messages.status a,
.messages.info a {
  color: #19a438;
}
.messages.status a:hover,
.messages.info a:hover {
  color: #127829;
}
.messages.status:before,
.messages.info:before {
  display: block;
  position: absolute;
  left: 0.5em;
  top: 0.3em;
  font-family: FontAwesome, Fontawesome, sans-serif;
  content: '\f02c';
  color: rgba(32, 81, 43, 0.6);
  font-size: 20px;
  text-align: center;
  width: 28px;
  line-height: 28px;
  height: 28px;
}
.messages.status .close,
.messages.info .close {
  border: none;
  background: none;
  cursor: pointer;
  box-shadow: none;
  outline: 0;
  padding: 3px 5px;
  vertical-align: top;
  color: rgba(32, 81, 43, 0.6);
}
.messages.success,
.messages.complete {
  background: #E8F3E5;
  color: #20512b;
  border: none;
  border-left: 3px solid #EB5F5F;
}
.messages.success a,
.messages.complete a {
  color: #19a438;
}
.messages.success a:hover,
.messages.complete a:hover {
  color: #127829;
}
.messages.success:before,
.messages.complete:before {
  display: block;
  position: absolute;
  left: 0.5em;
  top: 0.3em;
  font-family: FontAwesome, Fontawesome, sans-serif;
  content: '\f02c';
  color: rgba(32, 81, 43, 0.6);
  font-size: 20px;
  text-align: center;
  width: 28px;
  line-height: 28px;
  height: 28px;
}
.messages.success .close,
.messages.complete .close {
  border: none;
  background: none;
  cursor: pointer;
  box-shadow: none;
  outline: 0;
  padding: 3px 5px;
  vertical-align: top;
  color: rgba(32, 81, 43, 0.6);
}
.messages.admin {
  background: #fae9ff;
  color: #59101b;
  border: none;
  border-left: 3px solid #EB5F5F;
}
.messages.admin a {
  color: #b5001c;
}
.messages.admin a:hover {
  color: #820014;
}
.messages.admin:before {
  display: block;
  position: absolute;
  left: 0.5em;
  top: 0.3em;
  font-family: FontAwesome, Fontawesome, sans-serif;
  content: '\f2be';
  color: rgba(89, 16, 27, 0.6);
  font-size: 20px;
  text-align: center;
  width: 28px;
  line-height: 28px;
  height: 28px;
}
.messages.admin .close {
  border: none;
  background: none;
  cursor: pointer;
  box-shadow: none;
  outline: 0;
  padding: 3px 5px;
  vertical-align: top;
  color: rgba(89, 16, 27, 0.6);
}
.messages p {
  margin: 0 0;
}
.messages .small-note {
  font-size: 0.8em;
  font-weight: 600;
  border-bottom: 1px solid #cfabab;
  padding: 0;
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
  display: block;
}
#admin-menu-wrapper {
  overflow: hidden;
}
#admin-menu {
  background: #101010;
  font-size: 9px;
  font-family: "lucida grande", tahoma, verdana, arial, sans-serif;
  left: 0;
  position: absolute;
  text-align: left;
  top: 0;
  height: 30px;
  width: 100%;
}
#admin-menu,
#admin-menu .dropdown {
  line-height: 1.4em;
  list-style: none;
  margin: 0;
  padding: 0;
  z-index: 999;
}
#admin-menu a,
#admin-menu li > span {
  background: transparent none;
  border: none;
  color: #eee;
  font-weight: normal;
  text-align: left;
  text-decoration: none;
}
#admin-menu .admin-menu-icon a {
  padding: 1px 8px 4px;
}
#admin-menu .admin-menu-icon ul a {
  padding: 4px 8px;
}
#admin-menu .admin-menu-icon img {
  vertical-align: bottom;
}
#admin-menu .admin-menu-users a {
  padding-right: 22px;
}
#admin-menu .admin-menu-search {
  float: right;
}
#admin-menu .admin-menu-action {
  float: right;
  border-left: 1px solid #323232;
  border-right: none;
}
#admin-menu .dropdown {
  position: static;
}
#admin-menu .dropdown a,
#admin-menu .dropdown li > span {
  border-right: 1px solid #323232;
  /* LTR */
  display: block;
  padding: 4px 8px;
}
#admin-menu .dropdown .admin-menu-tab a {
  border-right: 1px solid #52565e;
  /* LTR */
}
#admin-menu .dropdown li li a {
  border-right: none;
  /* LTR */
  border-top: 1px solid #323232;
}
#admin-menu .dropdown li {
  background-image: none;
  float: left;
  /* LTR */
  height: 100%;
  list-style-image: none;
  list-style-type: none;
  margin: 0 !important;
  padding: 0;
}
#admin-menu .dropdown .admin-menu-tab {
  padding-bottom: 1px;
}
#admin-menu .dropdown li li {
  background: #202020;
  filter: alpha(opacity=88);
  float: none;
  opacity: 0.88;
  width: 160px;
  /* Required for Opera */
}
#admin-menu .dropdown li li li {
  filter: alpha(opacity=100);
  opacity: 1;
}
#admin-menu .dropdown li ul {
  background: none;
  display: none;
  left: -999em;
  /* LTR */
  line-height: 1.2em;
  margin: 0;
  position: absolute;
  width: 160px;
}
#admin-menu .dropdown li li.expandable ul {
  margin: -20px 0 0 160px;
  /* LTR */
}
#admin-menu .dropdown li:hover ul ul,
#admin-menu .dropdown li:hover ul ul ul,
#admin-menu .dropdown li:hover ul ul ul ul,
#admin-menu .dropdown li:hover ul ul ul ul ul {
  display: none;
  left: -999em;
  /* LTR */
}
#admin-menu .dropdown li:hover ul,
#admin-menu .dropdown li li:hover ul,
#admin-menu .dropdown li li li:hover ul,
#admin-menu .dropdown li li li li:hover ul,
#admin-menu .dropdown li li li li li:hover ul {
  display: block;
  left: auto;
  /* LTR */
}
#admin-menu .dropdown li.admin-menu-action:hover ul {
  right: 0;
  /* LTR */
}
#admin-menu .dropdown li li.expandable {
  background: #45454a;
}
#admin-menu .dropdown li li:hover {
  background-color: #111;
}
#admin-menu .dropdown li li:hover a,
#admin-menu .dropdown li li:hover li:hover a,
#admin-menu .dropdown li li:hover li:hover li:hover a {
  color: #fff;
}
#admin-menu .dropdown li li.expandable:hover a,
#admin-menu .dropdown li li.expandable:hover li.expandable:hover a {
  border-color: #444;
  color: #eee;
}
#admin-menu .dropdown li li.expandable:hover li a,
#admin-menu .dropdown li li.expandable:hover li.expandable:hover li a {
  border-color: #323232;
}
#admin-menu .dropdown li li:hover li a {
  color: #eee;
}
#admin-menu .admin-menu-search .form-item {
  margin: 0;
  padding: 0;
}
#admin-menu .admin-menu-search input {
  background: #fff none center right no-repeat;
  border: none;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  font-size: 10px;
  margin: 1px 0;
  outline: none;
  padding: 2px 22px 2px 4px;
  width: 158px;
}
#admin-menu .dropdown .admin-menu-search-results {
  display: block !important;
  left: auto !important;
  top: 100%;
}
#admin-menu .admin-menu-search-results,
#admin-menu .admin-menu-search-results li {
  width: 186px;
}
#admin-menu li.highlight {
  background-color: #eee !important;
}
#admin-menu li.highlight > a {
  border-color: #ccc !important;
  color: #111 !important;
}
html.js fieldset.collapsible div.fieldset-wrapper {
  overflow: visible;
}
@media print {
  #admin-menu {
    display: none !important;
  }
  body.admin-menu {
    margin-top: 0 !important;
  }
}
/**
 * Tweaks permissions, if enabled.
 */
tr.admin-menu-tweak-permissions-processed {
  cursor: pointer;
  cursor: hand;
}
tr.admin-menu-tweak-permissions-processed td.module {
  border-top: 0;
}
/* Adjust margin/height */
/* Displace the core Toolbar, if concurrently output. */
/**
 * Base styles.
 *
 * We use a keyword for the toolbar font size to make it display consistently
 * across different themes, while still allowing browsers to resize the text.
 */
#admin-menu .dropdown a {
  color: #fafafa;
}
/* Remove border from all lists and actions */
#admin-menu .dropdown .admin-menu-action a {
  border-left: 0;
}
#admin-menu .dropdown .admin-menu-icon > a {
  padding: 2px 10px 3px;
}
/**
 * Administration menu.
 */
#admin-menu .dropdown .admin-menu-icon > a span {
  vertical-align: text-bottom;
  width: 11px;
  height: 14px;
  display: block;
  text-indent: -9999px;
}
#admin-menu > div > .dropdown > li > a,
#admin-menu > div > .dropdown > li > span {
  border-right: 0;
  /* LTR */
  margin-bottom: 4px;
  padding: 2px 10px 3px;
}
#admin-menu .dropdown .admin-menu-toolbar-category > a,
#admin-menu .dropdown .admin-menu-action > a {
  border-radius: 10px;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
}
#admin-menu .dropdown .admin-menu-toolbar-category > a.active-trail {
  text-shadow: #333 0 1px 0;
}
#admin-menu .dropdown .admin-menu-toolbar-category > a:hover {
  background-color: #444;
}
#admin-menu .dropdown .admin-menu-tab a {
  border-right: 0;
}
#admin-menu .dropdown li li.expandable ul {
  margin: -22px 0 0 160px;
}
/**
 * Shortcuts toggle.
 */
#admin-menu .shortcut-toggle {
  cursor: pointer;
  display: block;
  float: right;
  margin: 0 0 0 1.3em;
  text-indent: -9999px;
  overflow: hidden;
  width: 25px;
  height: 25px;
}
#admin-menu .shortcut-toggle:focus,
#admin-menu .shortcut-toggle:hover {
  background-position: -50px -20px;
}
#admin-menu .shortcut-toggle.active {
  background-position: -25px -20px;
}
#admin-menu .shortcut-toggle.active:focus,
#admin-menu .shortcut-toggle.active:hover {
  background-position: -75px -20px;
}
/**
 * Shortcuts widget.
 */
#admin-menu .shortcut-toolbar {
  background-color: #666;
  clear: both;
  display: none;
  margin: 0 -10px;
  overflow: hidden;
  /* Align with icon; @see shortcut.css */
  padding-left: 5px;
}
#admin-menu .shortcut-toolbar.active {
  display: block;
}
/* Override theme list style; @see shortcut.css */
#admin-menu .shortcut-toolbar ul {
  margin: 0;
}
/* @see toolbar.css */
#admin-menu .shortcut-toolbar li {
  float: left;
  list-style-image: none;
  list-style-type: none;
}
#admin-menu .shortcut-toolbar a {
  display: block;
}
#admin-menu {
  font-family: "Lucida Grande", Verdana, sans-serif;
  font-size: 13px;
  box-shadow: 0 0 4px #00000022;
  z-index: 10000;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: auto;
}
#admin-menu #admin-menu-wrapper {
  font-size: 0.846em;
  padding: 5px 10px 0;
}
#admin-menu #admin-menu-wrapper #admin-menu-icon:before {
  position: absolute;
  content: '\f015';
  font-family: 'Fontawesome';
  font-size: 1.4em;
  line-height: 1.3em;
  margin-left: 0.4em;
  color: #bdbdbd;
  pointer-events: none;
}
#admin-menu #admin-menu-wrapper #admin-menu-menu {
  flex: 1 1 auto;
}
#admin-menu #admin-menu-wrapper #admin-menu-account {
  float: right;
  background: none;
  display: flex;
}
#admin-menu #admin-menu-wrapper #admin-menu-account .admin-menu-action {
  order: 2;
}
#admin-menu #admin-menu-wrapper #admin-menu-account .admin-menu-account {
  order: 1;
}
#admin-menu #admin-menu-wrapper ul > li {
  font-size: 1em;
}
#admin-menu #admin-menu-wrapper ul > li ul li {
  font-size: 1em;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  #admin-menu #admin-menu-wrapper #admin-menu-menu {
    position: absolute;
    max-width: 250px;
    margin-left: 50px;
    width: auto;
    min-width: 40px;
    padding-top: 25px;
  }
  #admin-menu #admin-menu-wrapper #admin-menu-menu:before {
    overflow: visible;
    visibility: visible;
    width: 10em;
    height: 1.2em;
    cursor: pointer !important;
    content: '\f085';
    display: flex;
    align-items: center;
    font-family: 'Fontawesome';
    font-size: 1.4em;
    line-height: 1.3em;
    margin-top: -1.55em;
    color: #e3e3e3;
  }
  #admin-menu #admin-menu-wrapper #admin-menu-menu > li {
    display: none;
    border-top: 1px solid rgba(0, 0, 0, 0.9);
  }
  #admin-menu #admin-menu-wrapper #admin-menu-menu:hover > li,
  #admin-menu #admin-menu-wrapper #admin-menu-menu:focus > li {
    display: block;
    position: relative;
    width: 100%;
    background: rgba(0, 0, 0, 0.7);
  }
  #admin-menu #admin-menu-wrapper #admin-menu-menu:hover > li a,
  #admin-menu #admin-menu-wrapper #admin-menu-menu:focus > li a {
    border-radius: 0;
  }
  #admin-menu #admin-menu-wrapper #admin-menu-menu:hover > li > ul,
  #admin-menu #admin-menu-wrapper #admin-menu-menu:focus > li > ul {
    position: absolute;
    margin-left: 99%;
    top: 0;
  }
}
@media only screen and (min-width: 0) and (max-width: 767px) {
  #admin-menu #admin-menu-wrapper #admin-menu-menu {
    position: absolute;
    max-width: 250px;
    margin-left: 50px;
    width: auto;
    min-width: 40px;
    padding-top: 25px;
  }
  #admin-menu #admin-menu-wrapper #admin-menu-menu:before {
    overflow: visible;
    visibility: visible;
    width: 10em;
    height: 1.2em;
    cursor: pointer !important;
    content: '\f085';
    display: flex;
    align-items: center;
    font-family: 'Fontawesome';
    font-size: 1.4em;
    line-height: 1.3em;
    margin-top: -1.55em;
    color: #e3e3e3;
  }
  #admin-menu #admin-menu-wrapper #admin-menu-menu > li {
    display: none;
    border-top: 1px solid rgba(0, 0, 0, 0.9);
  }
  #admin-menu #admin-menu-wrapper #admin-menu-menu:hover > li,
  #admin-menu #admin-menu-wrapper #admin-menu-menu:focus > li {
    display: block;
    position: relative;
    width: 100%;
    background: rgba(0, 0, 0, 0.7);
  }
  #admin-menu #admin-menu-wrapper #admin-menu-menu:hover > li a,
  #admin-menu #admin-menu-wrapper #admin-menu-menu:focus > li a {
    border-radius: 0;
  }
  #admin-menu #admin-menu-wrapper #admin-menu-menu:hover > li > ul,
  #admin-menu #admin-menu-wrapper #admin-menu-menu:focus > li > ul {
    position: absolute;
    margin-left: 99%;
    top: 0;
  }
  #admin-menu #admin-menu-wrapper .admin-menu-account {
    display: none;
  }
}
#admin-menu li.admin-menu-account > a {
  background: none;
}
#admin-menu .dropdown .admin-menu-toolbar-category {
  max-width: 12em;
}
#admin-menu .dropdown .admin-menu-toolbar-category > a {
  font-size: 0.96em;
  padding: 0.2em 0.6em;
  margin-left: 1px;
}
#admin-menu .dropdown .admin-menu-toolbar-category > a:hover,
#admin-menu .dropdown .admin-menu-toolbar-category > a.active-trail {
  text-shadow: 0 1px 0 #333;
  border-radius: 0.5em;
  background: #565656;
}
#admin-menu .dropdown .admin-menu-toolbar-category > a.active-trail {
  background: #818181;
}
#admin-menu .dropdown .admin-menu-toolbar-category li > a {
  color: #fafafa;
  padding: 0.4em 0.5em;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#admin-menu li,
#admin-menu .dropdown li,
#admin-menu .dropdown li li {
  width: auto;
}
#admin-menu .dropdown li ul {
  width: 15em;
}
#admin-menu .dropdown li li.expandable {
  background: #45454a;
}
#admin-menu .dropdown li li.expandable:after {
  font-family: Fontawesome;
  content: '\f105';
  display: block;
  position: absolute;
  right: 0;
  width: 0.8em;
  margin-top: -1.5em;
  height: 1em;
  font-size: 1em;
  line-height: 1em;
  color: #afafaf;
}
#admin-menu .dropdown li li.expandable ul {
  margin: -2em 0 0 100%;
}
.pad-5 {
  padding: 5px 0;
}
.pad-10 {
  padding: 10px 0;
}
.pad-15 {
  padding: 15px 0;
}
.pad-20 {
  padding: 20px 0;
}
.pad-30 {
  padding: 30px 0;
}
.pad-40 {
  padding: 40px 0;
}
.pad-50 {
  padding: 50px 0;
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .md-center {
    text-align: center;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .sm-center {
    text-align: center;
  }
}
@media only screen and (min-width: 0) and (max-width: 767px) {
  .xs-center {
    text-align: center;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .md-center {
    text-align: center;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .md-bottom-border {
    padding-bottom: 5px;
    margin-bottom: 5px;
    border-bottom: 1px solid #aaa;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .sm-bottom-border {
    padding-bottom: 5px;
    margin-bottom: 5px;
    border-bottom: 1px solid #aaa;
  }
}
@media only screen and (min-width: 0) and (max-width: 767px) {
  .xs-bottom-border {
    padding-bottom: 5px;
    margin-bottom: 5px;
    border-bottom: 1px solid #aaa;
  }
}
@media only screen and (min-width: 0) and (max-width: 400px) {
  .mob-bottom-border {
    padding-bottom: 5px;
    margin-bottom: 5px;
    border-bottom: 1px solid #aaa;
  }
}
.text-upper {
  text-transform: uppercase;
}
.text-lower {
  text-transform: lowercase;
}
.img-iblock {
  display: inline-block;
}
@media only screen and (min-width: 1200px) and (max-width: 1199px) {
  .lg-invisible {
    display: none;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .md-invisible {
    display: none;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .sm-invisible {
    display: none;
  }
}
@media only screen and (min-width: 0) and (max-width: 767px) {
  .xs-invisible {
    display: none;
  }
}
@media only screen and (min-width: 0) and (max-width: 400px) {
  .mob-invisible {
    display: none;
  }
}
@media only screen and (min-width: 0) and (max-width: 767px) {
  .small-invisible {
    display: none;
  }
}
@media only screen and (min-width: 768px) {
  .big-invisible {
    display: none;
  }
}
@media only screen and (min-width: 0) and (max-width: 600px) {
  .media-600-invisible {
    display: none;
  }
}
@media only screen and (min-width: 0) and (max-width: 830px) {
  .media-830-invisible {
    display: none;
  }
}
:root {
  --site-em-size: 16px;
  --media-bg: 1200px;
  --media-lg: 1200px;
  --media-md: 992px;
  --media-sm: 768px;
  --media-xs: 480px;
  --media-mob: 400px;
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  :root {
    --site-em-size: 14px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  :root {
    --site-em-size: 13px;
  }
}
@media only screen and (min-width: 0) and (max-width: 767px) {
  :root {
    --site-em-size: 12px;
  }
}
body {
  font-size: var(--site-em-size);
}
html::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
html::-webkit-scrollbar-track {
  background: #e4e4e4;
}
html::-webkit-scrollbar-thumb {
  background: #828282;
}
html.no-scroll {
  overflow-y: hidden;
}
html.no-scroll,
html.no-scroll .site-header {
  border-right: 8px solid #c3c3c3;
}
.container-box,
.container {
  box-sizing: border-box;
  margin: 0 auto;
  width: 1200px;
}
@media only screen and (min-width: 1200px) and (max-width: 1199px) {
  .container-box,
  .container {
    width: 1200px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .container-box,
  .container {
    width: 992px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .container-box,
  .container {
    width: 768px;
  }
}
@media only screen and (min-width: 0) and (max-width: 767px) {
  .container-box,
  .container {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0 0.5em;
  }
}
.container {
  padding: 0 1em;
}
.dev-bar {
  display: none;
}
.dev-bar .dev {
  height: 0.3em;
  background: #f6f6f6;
  color: #333;
  content: 'bg';
}
@media only screen and (min-width: 1200px) and (max-width: 1199px) {
  .dev-bar .dev {
    background: #e1b8ec;
    content: 'lg';
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .dev-bar .dev {
    background: #c8d4e6;
    content: 'md';
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .dev-bar .dev {
    background: #9fd4d4;
    content: 'sm';
  }
}
@media only screen and (min-width: 0) and (max-width: 767px) {
  .dev-bar .dev {
    background: #f6cfab;
    content: 'xs';
  }
}
@media only screen and (min-width: 0) and (max-width: 400px) {
  .dev-bar .dev {
    background: #d97b7b;
    content: 'mob';
  }
}
.bt {
  padding: 1em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  text-decoration: none !important;
  color: inherit;
}
.bt.bt-burger {
  font-size: 2em;
  padding: 0 0.5em;
}
.logo {
  background: url('../images/svg/logo.svg') no-repeat left center;
  background-size: contain;
  display: inline-flex;
  width: 11em;
  height: 4.5em;
}
.logo.big {
  background-image: url('../images/svg/head-logo.svg');
  width: 14em;
  height: 6em;
}
.site-header {
  padding: 0;
}
.head {
  display: grid;
  gap: 0.5em;
  grid-template-areas: 'logos menu contacts burger';
  grid-template-columns: auto 1fr auto auto;
  grid-template-rows: auto;
  align-items: center;
  font-size: 1em;
  padding: 1em 0;
}
.head .logo {
  background: url('../images/svg/head-logo.svg') no-repeat left center;
  background-size: contain;
  display: inline-flex;
  width: 11em;
  height: 4.5em;
}
.head .head-logo {
  grid-area: logos;
}
.head .head-menu {
  grid-area: menu;
  flex: 1 1 auto;
  display: flex;
  gap: 1em;
  align-items: center;
  justify-content: center;
  font-size: 1.2em;
}
.head .head-menu a {
  flex: 0 0 auto;
  transition: all 0.5s;
}
.head .head-menu a,
.head .head-menu a:link,
.head .head-menu a:active,
.head .head-menu a:visited {
  text-decoration: none;
  color: #000000;
}
.head .head-menu a:hover {
  text-decoration: none;
  color: #c2642a;
}
.head .head-phone {
  grid-area: contacts;
  display: flex;
  align-items: center;
}
.head .head-burger {
  grid-area: burger;
  display: none;
}
.head .c-off {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
}
.head .c-on {
  max-height: 3em;
  opacity: 1;
  pointer-events: all;
}
.head .contacts {
  text-align: right;
}
.head .contacts a {
  display: block;
  text-decoration: none;
  color: #000;
  transition: all 0.2s;
  height: auto;
  max-height: 3em;
  opacity: 1;
  pointer-events: all;
}
.head .contacts a:hover {
  color: #c2642a;
}
.head .contacts .phone {
  font-size: 1.7em;
  font-weight: 400;
}
.head .contacts .email {
  font-size: 1.1em;
}
.head .contacts .call-me {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  color: #d55d12;
  font-size: 1.4em;
}
.head .contacts .changer {
  height: 2em;
  overflow: hidden;
  margin-top: 0.5em;
}
.head.scrolled .email {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
}
.head.scrolled .call-me {
  max-height: 3em;
  opacity: 1;
  pointer-events: all;
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .head {
    font-size: 0.94em;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .head {
    font-size: 0.9em;
  }
}
@media only screen and (min-width: 0) and (max-width: 767px) {
  .head {
    grid-template-areas: 'logos contacts burger';
    align-items: stretch;
  }
  .head .head-menu {
    display: none;
  }
  .head .head-phone {
    justify-content: flex-end;
  }
  .head .head-burger {
    display: inline-flex;
    padding-left: 1em;
    margin-left: 1em;
    border-left: 1px solid #e2e2e2;
  }
}
@media only screen and (min-width: 0) and (max-width: 500px) {
  .head {
    font-size: 0.7em;
  }
}
.hero {
  background: #0f2a4c;
  color: #fff;
  padding: 5rem 0;
  position: relative;
}
.hero .hero-back,
.hero .hero-shade,
.hero .hero-subshade {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
}
.hero .hero-back {
  background: url('../images/banner/back-1.jpg') no-repeat center / cover;
  z-index: 1;
}
.hero .hero-shade {
  background: linear-gradient(44deg, #601600d4, #0e7bdb00);
  z-index: 2;
}
.hero .hero-subshade {
  background: url('../images/banner/servers-sm.png') no-repeat;
  background-position: 87% 70%;
  background-size: 28%;
  z-index: 3;
}
.hero .hero-content {
  position: relative;
  z-index: 15;
}
.hero .intro {
  display: inline-grid;
  flex-wrap: wrap;
  gap: 0.5em;
  align-items: center;
  grid-template-areas: 'header header' 'text text' 'form form';
  grid-template-columns: auto 1fr;
  width: 38em;
}
.hero .intro .logos {
  grid-area: logos;
  opacity: 0.2;
  display: none;
}
.hero .intro .logos .logo {
  background: url('../images/svg/name.svg') no-repeat left center;
  background-size: contain;
  display: inline-flex;
  width: 7em;
  height: 2.4em;
}
.hero .intro .header {
  grid-area: header;
}
.hero .intro .text {
  grid-area: text;
  font-size: 1em;
  font-weight: 300;
}
.hero .intro .call-me-back {
  grid-area: form;
  padding-top: 1.5em;
}
.hero .intro h1 {
  font-size: 1.2em;
  font-weight: 400;
  margin-bottom: 1em;
}
@media only screen and (min-width: 0) and (max-width: 767px) {
  .hero {
    padding: 3rem 0;
  }
  .hero .hero-subshade {
    background-position: 96% 70%;
    background-size: 28%;
  }
  .hero .intro {
    width: 32em;
  }
}
@media only screen and (min-width: 0) and (max-width: 500px) {
  .hero .hero-subshade {
    background-position: 262% 70%;
    background-size: 72%;
    opacity: 0.6;
  }
  .hero .intro {
    width: 84%;
  }
}
@media only screen and (min-width: 0) and (max-width: 400px) {
  .hero .hero-subshade {
    opacity: 0;
  }
  .hero .intro {
    width: 100%;
  }
}
.propose-items {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5em;
  font-size: 1em;
}
.propose-items .propose-item {
  flex: 1 1 auto;
  width: calc(50% - 0.75em);
  display: flex;
  gap: 0.5em;
  padding: 0;
  align-items: center;
  border-radius: 0.3em;
  overflow: hidden;
  border: 1px solid #dbdbdb;
  position: relative;
  cursor: pointer;
  transition: all 0.5s;
}
.propose-items .propose-item:hover {
  background: #33454d;
  color: #fff;
}
.propose-items .propose-item .image,
.propose-items .propose-item .text {
  pointer-events: none;
}
.propose-items .propose-item .image {
  flex: 0 0 45%;
  height: 100%;
  min-height: 8em;
}
.propose-items .propose-item .text {
  flex: 1 1 auto;
  padding: 1.5em;
  font-size: 1.1em;
  text-align: right;
}
.propose-items .propose-item .info {
  display: none;
}
.propose-items .propose-item:nth-child(even) .image {
  order: 10;
}
.propose-items .propose-item:nth-child(even) .text {
  text-align: left;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .propose-items {
    font-size: 0.9em;
  }
}
@media only screen and (min-width: 0) and (max-width: 767px) {
  .propose-items {
    font-size: 1.2em;
  }
  .propose-items .propose-item {
    flex-wrap: wrap;
  }
  .propose-items .propose-item .image,
  .propose-items .propose-item .text {
    flex: 0 0 100%;
  }
  .propose-items .propose-item .image {
    height: 12em;
    order: 1;
  }
  .propose-items .propose-item .text {
    order: 10;
    text-align: left;
  }
}
@media only screen and (min-width: 0) and (max-width: 400px) {
  .propose-items {
    font-size: 1.2em;
  }
  .propose-items .propose-item {
    width: 100%;
    background: #fff8e7;
  }
  .propose-items .propose-item .image {
    height: 3em;
  }
  .propose-items .propose-item .text {
    padding: 1em;
  }
  .propose-items .propose-item .text br {
    display: none;
  }
}
.propose-items .image {
  background-image: url('../images/prop/powersup.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.propose-items .propose-servers {
  background-image: url('../images/prop/servers.jpg');
}
.propose-items .propose-hards {
  background-image: url('../images/prop/hard.jpg');
}
.propose-items .propose-ibp {
  background-image: url('../images/prop/powersup.jpg');
}
.propose-items .propose-networks {
  background-image: url('../images/prop/networks.jpg');
}
.propose-items .propose-controllers {
  background-image: url('../images/prop/micro.jpg');
}
.propose-items .propose-mb {
  background-image: url('../images/prop/mb.jpg');
}
.propose-items .propose-ram {
  background-image: url('../images/prop/ram.jpg');
}
.propose-items .propose-obsolete {
  background-image: url('../images/prop/obsolete.jpg');
}
.services {
  background: #F3F3F3;
  padding: 2em 0;
}
.service-items {
  display: flex;
  flex-direction: column;
  gap: 2em 0;
}
.service-items .service-item {
  display: flex;
  gap: 0.5em;
  align-items: center;
}
.service-items .service-item .image {
  flex: 0 0 40%;
  height: 17em;
}
.service-items .service-item .text {
  flex: 1 1 auto;
  padding: 1em;
}
.service-items .service-item .text .title {
  font-size: 1.8em;
  font-weight: 400;
  margin-bottom: 1rem;
}
.service-items .service-item .text .sub-title {
  font-size: 1.4em;
  font-weight: 300;
  margin-bottom: 1rem;
}
.service-items .service-item .text .sub-title:empty {
  display: none;
}
.service-items .service-item .text ul,
.service-items .service-item .text li {
  padding: 0;
  list-style: none;
}
.service-items .service-item .text li {
  font-weight: 300;
  font-size: 1.3em;
  margin: 0;
  margin-bottom: 0.4em;
}
.service-items .service-item .text li:before,
.service-items .service-item .text li:after {
  display: inline-flex;
  font-family: FontAwesome, sans-serif;
  content: '\f111';
  color: #8c8c8c;
  font-size: 0.3rem;
  vertical-align: middle;
}
.service-items .service-item .text li:before {
  margin-right: 0.5rem;
}
.service-items .service-item .text li:after {
  margin-left: 0.5rem;
}
.service-items .service-item .text li:after {
  display: none;
}
.service-items .service-item:nth-child(even) .image {
  order: 10;
}
.service-items .service-item:nth-child(even) .text {
  text-align: right;
}
.service-items .service-item:nth-child(even) .text li:before {
  display: none;
}
.service-items .service-item:nth-child(even) .text li:after {
  display: inline-flex;
}
@media only screen and (min-width: 0) and (max-width: 500px) {
  .service-items .service-item,
  .service-items .service-item:nth-child(even) {
    flex-wrap: wrap;
  }
  .service-items .service-item .image,
  .service-items .service-item:nth-child(even) .image {
    flex: 0 0 100%;
    order: 1;
    height: 15em;
  }
  .service-items .service-item .text,
  .service-items .service-item:nth-child(even) .text {
    flex: 0 0 100%;
    order: 30;
    text-align: left;
  }
  .service-items .service-item .text li:before,
  .service-items .service-item:nth-child(even) .text li:before {
    display: inline-flex;
  }
  .service-items .service-item .text li:after,
  .service-items .service-item:nth-child(even) .text li:after {
    display: none;
  }
}
.service-items .image {
  background-image: url('../images/service/struct.jpg');
  background-size: auto 100%;
  background-position: center;
  background-repeat: no-repeat;
}
.service-items .service-struct {
  background-image: url('../images/service/struct.jpg');
}
.service-items .service-security {
  background-image: url('../images/service/security.jpg');
}
.service-items .service-assembly {
  background-image: url('../images/service/assembly.jpg');
}
.service-items .service-complex {
  background-image: url('../images/service/servers.jpg');
}
.service-items .service-software {
  background-image: url('../images/service/software.jpg');
}
.why-items {
  display: flex;
  gap: 1em;
}
.why-items .num1 {
  width: 6em;
  height: 6em;
  background: #6c8cca;
  color: #fff;
  border-radius: 50%;
  display: inline-block;
  transform-origin: 50% 50%;
}
.why-items .num1 i,
.why-items .num1 span {
  font-size: 9em;
  line-height: 0;
  position: relative;
  width: 1em;
  height: 3em;
  font-style: normal;
  font-weight: 600;
  top: 2.2rem;
  left: 1.3rem;
}
.why-items .num {
  width: 6em;
  height: 6em;
  background: #6c8cca;
  color: #fff;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.why-items .num i,
.why-items .num span {
  font-size: 5em;
  line-height: 5.1em;
  position: relative;
  font-style: normal;
  font-weight: 600;
  text-align: center;
  display: inline-block;
}
.why-items .item {
  flex: 1 1 calc(33% - 0.5em);
  position: relative;
  padding-top: 3rem;
}
.why-items .item h4 {
  font-weight: 400;
  font-size: 1.5em;
  margin: 2em 0 1rem 0;
}
.why-items .item .num {
  position: absolute;
  top: 0;
}
.why-items .item-1 {
  text-align: left;
}
.why-items .item-1 .num {
  right: 0;
}
.why-items .item-2 {
  margin-top: 7rem;
  text-align: center;
}
.why-items .item-2 .num {
  left: calc(50% - 3em);
  top: -3em;
}
.why-items .item-3 {
  text-align: right;
}
.why-items .item-3 .num {
  left: 0;
}
@media only screen and (min-width: 0) and (max-width: 767px) {
  .why-items {
    flex-wrap: wrap;
  }
  .why-items .item {
    flex: 1 1 100%;
    margin: 0;
    padding: 1em;
    padding-left: 7em;
    text-align: left;
  }
  .why-items .item .num {
    left: 0;
    top: 0;
  }
  .why-items .item h4 {
    margin: 0;
  }
}
.map-contact {
  background: #cecece;
  display: block;
  margin: 0;
  box-shadow: 0 0 1em #00000044;
  border-top: 16px solid #606060;
  position: relative;
}
.map-contact .contacts {
  background: #fff;
  position: absolute;
  top: 0.5em;
  left: 1.5em;
  padding: 1em;
  box-shadow: 3px 12px 1em #33333369;
  border-radius: 0.5em;
  border: 5px solid #ffffff;
  z-index: 10;
  border-top: 7px solid #cbbba8;
  width: 25em;
  max-width: 100%;
}
.map-contact .contacts .contact {
  display: flex;
  align-items: baseline;
  gap: 0.7em;
  font-size: 1.2em;
  padding: 0.3em 0;
}
.map-contact .contacts .contact .fa {
  font-size: 1.1em;
  background: #b7b7b7;
  color: white;
  border-radius: 50%;
  width: 1.4em !important;
  height: 1.4em !important;
  line-height: 1.5em;
  text-align: center;
  flex: 0 0 auto;
}
.map-contact .contacts .contact a,
.map-contact .contacts .contact a:link,
.map-contact .contacts .contact a:visited {
  color: #5078c9;
  text-decoration: none;
}
.map-contact .contacts .contact a:hover {
  color: #1b94d8;
}
.map-contact .mapper {
  position: relative;
  z-index: 5;
}
.map-contact .mapper .yamaps-map-container {
  margin: 0;
}
@media only screen and (min-width: 0) and (max-width: 767px) {
  .map-contact {
    display: flex;
    flex-wrap: wrap;
  }
  .map-contact .contacts,
  .map-contact .mapper {
    position: relative;
    flex: 0 0 100%;
    margin: 0;
    left: unset;
    top: unset;
    bottom: unset;
    right: unset;
  }
  .map-contact .contacts {
    padding: 1em;
    order: 1;
  }
  .map-contact .mapper {
    order: 2;
  }
}
.site-footer {
  padding: 1em 0;
  position: relative;
  box-shadow: 1px -3px 10px #00000033;
  background: #3a3a3a;
  color: #fff;
}
.footer {
  box-sizing: border-box;
  margin: 0 auto;
  width: 1200px;
  font-size: 0.9em;
  font-weight: 300;
  display: grid;
  grid-template-areas: 'copy policy logos topper';
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 0.5em;
  color: #fff;
}
@media only screen and (min-width: 1200px) and (max-width: 1199px) {
  .footer {
    width: 1200px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .footer {
    width: 992px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .footer {
    width: 768px;
  }
}
@media only screen and (min-width: 0) and (max-width: 767px) {
  .footer {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0 0.5em;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1199px) {
  .footer {
    width: 1200px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .footer {
    width: 992px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .footer {
    width: 768px;
  }
}
@media only screen and (min-width: 0) and (max-width: 767px) {
  .footer {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0 0.5em;
  }
}
.footer a {
  text-decoration: none;
  color: #fafafa;
}
.footer a:hover {
  color: #ffffcc;
}
.footer .footer-copyrights {
  grid-area: copy;
  padding-right: 2em;
}
.footer .footer-policy {
  grid-area: policy;
  flex: 1 1 auto;
}
.footer .footer-logo {
  grid-area: logos;
  flex: 0 0 auto;
}
.footer .footer-logo .logo {
  background: url('../images/svg/footer-logo.svg') no-repeat left center;
  background-size: contain;
  display: inline-flex;
  width: 126px;
  height: 24px;
}
.footer .footer-top {
  grid-area: topper;
  font-size: 1.7em;
  padding: 0 1em;
}
@media only screen and (min-width: 0) and (max-width: 767px) {
  .footer {
    grid-template-areas: 'copy logos topper' 'policy logos topper';
    grid-template-columns: 1fr auto auto;
  }
}
@media only screen and (min-width: 0) and (max-width: 460px) {
  .footer {
    grid-template-areas: 'copy copy' 'policy policy' 'logos topper';
    grid-template-columns: 1fr 1fr;
  }
  .footer > div {
    text-align: center;
  }
  .footer .footer-top {
    font-size: 1.7em;
    text-align: right;
    padding: 0;
  }
}
.advantages {
  position: relative;
  background: #333;
  color: #fff;
}
.advantages .box-subtitle {
  font-size: 1.8em;
  font-weight: 300;
  text-align: center;
  z-index: 10;
  color: #9c9a90;
  position: relative;
}
.advantages .advantages-back,
.advantages .advantages-shade {
  background: url('../images/banner/back-1.jpg') no-repeat center / cover;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  left: 0;
}
.advantages .advantages-shade {
  background: linear-gradient(269deg, #4e7904, #945e00cc, #682f77de);
}
.dropper {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  max-width: 0;
  transition: max-width 0s 0.5s;
}
.dropper .dropper-drop {
  position: absolute;
  background: #00000088;
  z-index: 10;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  opacity: 0;
  transition: opacity 0.5s 0s;
}
.dropper .dropper-content {
  position: relative;
  z-index: 30;
  max-height: 100vh;
  background: #fefefe;
  padding: 2em;
  overflow-y: auto;
  overflow-x: hidden;
  top: 110%;
  transition: all 0.5s;
}
.dropper.opened {
  max-width: 100vw;
  transition: max-width 0s 0s;
}
.dropper.opened .dropper-drop {
  opacity: 1;
  transition: opacity 0.5s 0s;
}
.dropper.opened .dropper-content {
  top: 0;
  transition: all 0.5s;
}
.dropper a:not(.bt) {
  transition: all 0.5s;
  padding: 0.5em;
}
.dropper a:not(.bt),
.dropper a:not(.bt):link,
.dropper a:not(.bt):active,
.dropper a:not(.bt):visited {
  text-decoration: none;
  color: #000000;
}
.dropper a:not(.bt):hover {
  text-decoration: none;
  color: #c2642a;
}
.dropper .closer {
  display: block;
  position: relative;
  text-align: right;
  font-size: 1.2em;
}
.dropper .closer,
.dropper .dismiss {
  cursor: pointer;
}
#mobile-menu-dropper {
  font-size: 1em;
}
#mobile-menu-dropper .dropper-content {
  top: 0;
  bottom: 0;
  left: -100%;
  background: #f8f8f8;
  width: auto;
  padding: 2em 3em;
  position: absolute;
}
#mobile-menu-dropper.opened .dropper-content {
  left: 0;
}
#mobile-menu-dropper a {
  display: block;
  font-size: 1.5em;
}
#mobile-menu-dropper .phone {
  font-size: 2em;
  font-weight: 600;
}
#mobile-menu-dropper .call-me {
  color: #df5b11;
}
#mobile-menu-dropper .head-contact,
#mobile-menu-dropper .head-callbacks {
  margin-top: 2em;
  padding-top: 1em;
  border-top: 1px solid #d2d2d2;
}
#mobile-menu-dropper.opened .dropper-content {
  left: 0;
  transition: all 0.8s;
}
#mobile-menu-dropper.opened .dropper-drop {
  opacity: 1;
  transition: all 0.8s;
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  #mobile-menu-dropper {
    font-size: 0.8em;
  }
}
#proposes-dropper .dropper-content {
  top: 0;
  bottom: 0;
  right: -150%;
  background: #f8f8f8;
  width: 80vw;
  max-width: 50em;
  padding: 2em 3em;
  position: absolute;
}
#proposes-dropper .closer {
  font-size: 2em;
  display: inline-flex;
  position: absolute;
  right: 1em;
  top: 2em;
}
#proposes-dropper.opened .dropper-content {
  right: 0;
}
#callback-dropper .box .box-title {
  position: relative;
  padding: 0;
  margin: 0;
  padding-bottom: 0.5em;
  margin-bottom: 1em;
}
#callback-dropper .closer {
  position: absolute;
  right: 1.5em;
  top: 1.5em;
}
.pseudo-check {
  display: inline-flex !important;
  flex: 0 0 auto;
  margin-right: 0.5em;
}
.pseudo-check .off {
  display: inherit;
}
.pseudo-check .on {
  display: none;
}
.pseudo-check.checked .off {
  display: none;
}
.pseudo-check.checked .on {
  display: inherit;
}
.dropper .box {
  padding: 0;
  margin-bottom: 2em;
}
.dropper .box .box-title {
  text-align: left;
  display: block;
  font-size: 1.5em;
  margin-bottom: 1em;
  border-bottom: 1px solid #ededed;
  font-weight: 500;
}
.dropper .box .box-title:after {
  display: none;
}
.inlined {
  display: inline-flex;
  align-items: baseline;
}
.client-form {
  font-size: 1em;
}
.client-form input[type=text],
.client-form input[type=email],
.client-form input[type=tel],
.client-form input[type=password],
.client-form textarea,
.client-form select,
.client-form .select,
.client-form input[type=button],
.client-form input[type=submit],
.client-form input[type=reset],
.client-form button[type=button],
.client-form .form-submit,
.client-form .form-reset {
  display: inline-flex;
  box-sizing: border-box;
  outline: 0;
  margin: 0;
  transition: all 0.5s;
  border-radius: 1.7em;
  font-size: 1.1em;
  padding: 0.8em;
  min-width: 4em;
  border: 1px solid #ccc;
}
.client-form input[type=text],
.client-form input[type=email],
.client-form input[type=tel],
.client-form input[type=password],
.client-form textarea,
.client-form select,
.client-form .select {
  background: #f8f8f8;
  box-shadow: inset 0 0 3px 1px #0000001a;
  width: 100%;
  resize: vertical;
}
.client-form input[type=text]::placeholder,
.client-form input[type=email]::placeholder,
.client-form input[type=tel]::placeholder,
.client-form input[type=password]::placeholder,
.client-form textarea::placeholder,
.client-form select::placeholder,
.client-form .select::placeholder {
  color: #aaa;
}
.client-form input[type=text]::-webkit-input-placeholder,
.client-form input[type=email]::-webkit-input-placeholder,
.client-form input[type=tel]::-webkit-input-placeholder,
.client-form input[type=password]::-webkit-input-placeholder,
.client-form textarea::-webkit-input-placeholder,
.client-form select::-webkit-input-placeholder,
.client-form .select::-webkit-input-placeholder {
  color: #aaa;
}
.client-form input[type=text]::-moz-placeholder,
.client-form input[type=email]::-moz-placeholder,
.client-form input[type=tel]::-moz-placeholder,
.client-form input[type=password]::-moz-placeholder,
.client-form textarea::-moz-placeholder,
.client-form select::-moz-placeholder,
.client-form .select::-moz-placeholder {
  color: #aaa;
}
.client-form input[type=text]:-ms-input-placeholder,
.client-form input[type=email]:-ms-input-placeholder,
.client-form input[type=tel]:-ms-input-placeholder,
.client-form input[type=password]:-ms-input-placeholder,
.client-form textarea:-ms-input-placeholder,
.client-form select:-ms-input-placeholder,
.client-form .select:-ms-input-placeholder {
  color: #aaa;
}
.client-form input[type=text]:-moz-placeholder,
.client-form input[type=email]:-moz-placeholder,
.client-form input[type=tel]:-moz-placeholder,
.client-form input[type=password]:-moz-placeholder,
.client-form textarea:-moz-placeholder,
.client-form select:-moz-placeholder,
.client-form .select:-moz-placeholder {
  color: #aaa;
}
.client-form input[type=text].form-button-disabled,
.client-form input[type=email].form-button-disabled,
.client-form input[type=tel].form-button-disabled,
.client-form input[type=password].form-button-disabled,
.client-form textarea.form-button-disabled,
.client-form select.form-button-disabled,
.client-form .select.form-button-disabled,
.client-form input[type=text][disabled=disabled],
.client-form input[type=email][disabled=disabled],
.client-form input[type=tel][disabled=disabled],
.client-form input[type=password][disabled=disabled],
.client-form textarea[disabled=disabled],
.client-form select[disabled=disabled],
.client-form .select[disabled=disabled],
.client-form input[type=text].form-button-disabled:active,
.client-form input[type=email].form-button-disabled:active,
.client-form input[type=tel].form-button-disabled:active,
.client-form input[type=password].form-button-disabled:active,
.client-form textarea.form-button-disabled:active,
.client-form select.form-button-disabled:active,
.client-form .select.form-button-disabled:active,
.client-form input[type=text][disabled=disabled]:active,
.client-form input[type=email][disabled=disabled]:active,
.client-form input[type=tel][disabled=disabled]:active,
.client-form input[type=password][disabled=disabled]:active,
.client-form textarea[disabled=disabled]:active,
.client-form select[disabled=disabled]:active,
.client-form .select[disabled=disabled]:active {
  background: #f1f1f1;
  border-color: #eeeeee;
  text-shadow: none;
  color: #999999;
}
.client-form input[type=text].error,
.client-form input[type=email].error,
.client-form input[type=tel].error,
.client-form input[type=password].error,
.client-form textarea.error,
.client-form select.error,
.client-form .select.error {
  border-color: #ffa5a5;
}
.client-form input[type=button],
.client-form input[type=submit],
.client-form input[type=reset],
.client-form button[type=button],
.client-form .form-submit,
.client-form .form-reset {
  cursor: pointer;
  white-space: nowrap;
}
.client-form input[type=button],
.client-form input[type=submit],
.client-form input[type=reset],
.client-form button[type=button],
.client-form .form-submit,
.client-form .form-reset,
.client-form input[type=button]:hover,
.client-form input[type=submit]:hover,
.client-form input[type=reset]:hover,
.client-form button[type=button]:hover,
.client-form .form-submit:hover,
.client-form .form-reset:hover,
.client-form input[type=button]:active,
.client-form input[type=submit]:active,
.client-form input[type=reset]:active,
.client-form button[type=button]:active,
.client-form .form-submit:active,
.client-form .form-reset:active,
.client-form input[type=button]:focus,
.client-form input[type=submit]:focus,
.client-form input[type=reset]:focus,
.client-form button[type=button]:focus,
.client-form .form-submit:focus,
.client-form .form-reset:focus {
  text-decoration: none;
}
.client-form input[type=button]:not([class]),
.client-form input[type=submit]:not([class]),
.client-form input[type=reset]:not([class]),
.client-form button[type=button]:not([class]),
.client-form .form-submit:not([class]),
.client-form .form-reset:not([class]),
.client-form input[type=button].form-submit,
.client-form input[type=submit].form-submit,
.client-form input[type=reset].form-submit,
.client-form button[type=button].form-submit,
.client-form .form-submit.form-submit,
.client-form .form-reset.form-submit {
  text-align: center;
  cursor: pointer;
  border: none;
  transition: all 0.2s;
  text-decoration: none !important;
  background: #aa3b10;
  color: #fff;
  box-shadow: inset 0 0 1em #00000044;
}
.client-form input[type=button]:not([class]):hover,
.client-form input[type=submit]:not([class]):hover,
.client-form input[type=reset]:not([class]):hover,
.client-form button[type=button]:not([class]):hover,
.client-form .form-submit:not([class]):hover,
.client-form .form-reset:not([class]):hover,
.client-form input[type=button].form-submit:hover,
.client-form input[type=submit].form-submit:hover,
.client-form input[type=reset].form-submit:hover,
.client-form button[type=button].form-submit:hover,
.client-form .form-submit.form-submit:hover,
.client-form .form-reset.form-submit:hover {
  background: #e06b00;
  color: #fff;
  box-shadow: inset 0 0 1em #00000000;
}
.client-form input[type=button].bt,
.client-form input[type=submit].bt,
.client-form input[type=reset].bt,
.client-form button[type=button].bt,
.client-form .form-submit.bt,
.client-form .form-reset.bt,
.client-form input[type=button].bt:link,
.client-form input[type=submit].bt:link,
.client-form input[type=reset].bt:link,
.client-form button[type=button].bt:link,
.client-form .form-submit.bt:link,
.client-form .form-reset.bt:link,
.client-form input[type=button].bt:active,
.client-form input[type=submit].bt:active,
.client-form input[type=reset].bt:active,
.client-form button[type=button].bt:active,
.client-form .form-submit.bt:active,
.client-form .form-reset.bt:active,
.client-form input[type=button].bt:focus,
.client-form input[type=submit].bt:focus,
.client-form input[type=reset].bt:focus,
.client-form button[type=button].bt:focus,
.client-form .form-submit.bt:focus,
.client-form .form-reset.bt:focus,
.client-form input[type=button].bt:hover,
.client-form input[type=submit].bt:hover,
.client-form input[type=reset].bt:hover,
.client-form button[type=button].bt:hover,
.client-form .form-submit.bt:hover,
.client-form .form-reset.bt:hover {
  text-decoration: none;
}
.client-form input[type=button].bt.bt-second,
.client-form input[type=submit].bt.bt-second,
.client-form input[type=reset].bt.bt-second,
.client-form button[type=button].bt.bt-second,
.client-form .form-submit.bt.bt-second,
.client-form .form-reset.bt.bt-second {
  background: #0f74a8;
  color: #fff;
}
.client-form input[type=button].bt.bt-second:hover,
.client-form input[type=submit].bt.bt-second:hover,
.client-form input[type=reset].bt.bt-second:hover,
.client-form button[type=button].bt.bt-second:hover,
.client-form .form-submit.bt.bt-second:hover,
.client-form .form-reset.bt.bt-second:hover {
  background: #0b5479;
}
.client-form input[type=button].bt.bt-main,
.client-form input[type=submit].bt.bt-main,
.client-form input[type=reset].bt.bt-main,
.client-form button[type=button].bt.bt-main,
.client-form .form-submit.bt.bt-main,
.client-form .form-reset.bt.bt-main {
  background: #db7628;
  color: #fff;
}
.client-form input[type=button].bt.bt-main:hover,
.client-form input[type=submit].bt.bt-main:hover,
.client-form input[type=reset].bt.bt-main:hover,
.client-form button[type=button].bt.bt-main:hover,
.client-form .form-submit.bt.bt-main:hover,
.client-form .form-reset.bt.bt-main:hover {
  background: #b25e1e;
}
.client-form input[type=button].bt.bt-burger,
.client-form input[type=submit].bt.bt-burger,
.client-form input[type=reset].bt.bt-burger,
.client-form button[type=button].bt.bt-burger,
.client-form .form-submit.bt.bt-burger,
.client-form .form-reset.bt.bt-burger {
  background: none;
  border: none;
  font-size: 2em;
}
.client-form .item-name,
.client-form .item-email,
.client-form .item-phone,
.client-form .item-comment,
.client-form .item-comments {
  position: relative;
  font-size: 1em;
}
.client-form .item-name input,
.client-form .item-email input,
.client-form .item-phone input,
.client-form .item-comment input,
.client-form .item-comments input,
.client-form .item-name textarea,
.client-form .item-email textarea,
.client-form .item-phone textarea,
.client-form .item-comment textarea,
.client-form .item-comments textarea {
  padding-left: 2.6em;
}
.client-form .item-name:before,
.client-form .item-email:before,
.client-form .item-phone:before,
.client-form .item-comment:before,
.client-form .item-comments:before {
  content: '\f2bd';
  font-family: Fontawesome, FontAwesome, sans-serif;
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  top: 0;
  width: 0;
  left: 0.68em;
  font-size: 1.4em;
  height: 2.3em;
  color: #969696;
}
.client-form .item-name.item-name:before,
.client-form .item-email.item-name:before,
.client-form .item-phone.item-name:before,
.client-form .item-comment.item-name:before,
.client-form .item-comments.item-name:before {
  content: '\f2bd';
}
.client-form .item-name.item-email:before,
.client-form .item-email.item-email:before,
.client-form .item-phone.item-email:before,
.client-form .item-comment.item-email:before,
.client-form .item-comments.item-email:before {
  content: '\f003';
}
.client-form .item-name.item-phone:before,
.client-form .item-email.item-phone:before,
.client-form .item-phone.item-phone:before,
.client-form .item-comment.item-phone:before,
.client-form .item-comments.item-phone:before {
  content: '\f095';
}
.client-form .item-name.item-comments:before,
.client-form .item-email.item-comments:before,
.client-form .item-phone.item-comments:before,
.client-form .item-comment.item-comments:before,
.client-form .item-comments.item-comments:before {
  content: '\f27b';
}
.client-form .item-name.item-comment:before,
.client-form .item-email.item-comment:before,
.client-form .item-phone.item-comment:before,
.client-form .item-comment.item-comment:before,
.client-form .item-comments.item-comment:before {
  content: '\f27b';
}
.client-form .webform-progressbar,
.client-form .grippie {
  display: none;
}
.client-form .form-item {
  margin: 0;
}
.client-form .item-agree {
  padding-left: 1em;
  margin: 1em 0;
}
.client-form .form-actions {
  margin: 0;
}
.client-form.line-form form > div,
.client-form.line-form .form > div {
  display: inline-flex;
}
.client-form.line-form input[type=text],
.client-form.line-form input[type=email],
.client-form.line-form input[type=tel],
.client-form.line-form input[type=password],
.client-form.line-form textarea,
.client-form.line-form select,
.client-form.line-form .select {
  border: none;
  border-radius: 1.7em 0 0 1.7em;
}
.client-form.line-form input[type=text].error,
.client-form.line-form input[type=email].error,
.client-form.line-form input[type=tel].error,
.client-form.line-form input[type=password].error,
.client-form.line-form textarea.error,
.client-form.line-form select.error,
.client-form.line-form .select.error {
  box-shadow: inset 0 0 2px 1px #ff1111c7;
}
.client-form.line-form input[type=button],
.client-form.line-form input[type=submit],
.client-form.line-form input[type=reset],
.client-form.line-form button[type=button],
.client-form.line-form .form-submit,
.client-form.line-form .form-reset {
  border: none;
  border-radius: 0 1.7em 1.7em 0;
}
.client-form.line-form .messages {
  display: none;
}
.client-form.line-form .form-confirmed {
  margin-bottom: 1.2em;
  color: #ffc449;
}
.client-form.line-form .form-confirmed-dismiss input[type=button],
.client-form.line-form .form-confirmed-dismiss input[type=submit],
.client-form.line-form .form-confirmed-dismiss input[type=reset],
.client-form.line-form .form-confirmed-dismiss button[type=button],
.client-form.line-form .form-confirmed-dismiss .form-submit,
.client-form.line-form .form-confirmed-dismiss .form-reset {
  padding: 0.3em 1em;
  border-radius: 1.7em;
}
.client-form.callback-form {
  font-size: 1em;
  width: 35em;
  max-width: 100%;
}
.client-form.callback-form form > div,
.client-form.callback-form .form > div {
  display: flex;
  flex-direction: column;
  gap: 0.6em;
}
.client-form.callback-form input[type=text],
.client-form.callback-form input[type=email],
.client-form.callback-form input[type=tel],
.client-form.callback-form input[type=password],
.client-form.callback-form textarea,
.client-form.callback-form select,
.client-form.callback-form .select {
  background: #fff;
}
.client-form.propose-form form > div,
.client-form.propose-form .form > div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6em;
}
.client-form.propose-form input[type=text],
.client-form.propose-form input[type=email],
.client-form.propose-form input[type=tel],
.client-form.propose-form input[type=password],
.client-form.propose-form textarea,
.client-form.propose-form select,
.client-form.propose-form .select {
  background: #fff;
}
.client-form.propose-form .item-name,
.client-form.propose-form .item-phone,
.client-form.propose-form .item-email {
  flex: 0 0 calc(50% - 0.5em);
  margin: 0;
}
.client-form.propose-form .item-comments {
  flex: 0 0 100%;
  margin: 0;
}
.client-form.propose-form .item-agree {
  flex: 1 1 100%;
  font-size: 0.8em;
  color: #777;
  margin: 1em 0;
}
.client-form.propose-form .form-actions {
  flex: 1 1 100%;
  margin: 0;
}
.client-form.propose-form .messages {
  flex: 0 0 100%;
  margin-bottom: 1em;
}
.client-form.contacts-form form > div,
.client-form.contacts-form .form > div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6em;
}
.client-form.contacts-form form > div .item-name,
.client-form.contacts-form .form > div .item-name,
.client-form.contacts-form form > div .item-phone,
.client-form.contacts-form .form > div .item-phone,
.client-form.contacts-form form > div .item-email,
.client-form.contacts-form .form > div .item-email {
  flex: 0 0 calc(50% - 0.5em);
  margin: 0;
}
.client-form.contacts-form form > div .item-comments,
.client-form.contacts-form .form > div .item-comments,
.client-form.contacts-form form > div .item-comment,
.client-form.contacts-form .form > div .item-comment {
  flex: 1 1 calc(100% - 0.4em);
  margin: 0;
}
.client-form.contacts-form form > div .item-agree,
.client-form.contacts-form .form > div .item-agree {
  flex: 1 1 100%;
  font-size: 0.8em;
  color: #777;
  margin: 1em 0;
}
.client-form.contacts-form form > div .form-actions,
.client-form.contacts-form .form > div .form-actions {
  flex: 1 1 100%;
  margin: 0;
}
.client-form.contacts-form form > div .messages,
.client-form.contacts-form .form > div .messages {
  flex: 0 0 100%;
  margin-bottom: 1em;
  border-radius: 1.4em;
}
.client-form.contacts-form input[type=text],
.client-form.contacts-form input[type=email],
.client-form.contacts-form input[type=tel],
.client-form.contacts-form input[type=password],
.client-form.contacts-form textarea,
.client-form.contacts-form select,
.client-form.contacts-form .select,
.client-form.contacts-form input[type=button],
.client-form.contacts-form input[type=submit],
.client-form.contacts-form input[type=reset],
.client-form.contacts-form button[type=button],
.client-form.contacts-form .form-submit,
.client-form.contacts-form .form-reset {
  border-radius: 0.4em;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .client-form {
    font-size: 0.9em;
  }
}
@media only screen and (min-width: 0) and (max-width: 767px) {
  .client-form {
    font-size: 0.8em;
  }
}
.lets-begin-box {
  background: #e8e8e8;
}
.lets-begin {
  display: flex;
  align-items: stretch;
}
.lets-begin .input-fields {
  flex: 1 1 50%;
  order: 2;
  background: #fff;
  padding: 1em;
  border-radius: 0.8em;
  border: 1px solid #c5c5c5;
}
.lets-begin .slogan {
  flex: 1 1 50%;
  order: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.lets-begin .slogan h3 {
  font-weight: 400;
}
@media only screen and (min-width: 0) and (max-width: 767px) {
  .lets-begin {
    flex-wrap: wrap;
  }
  .lets-begin .input-fields {
    flex: 0 0 100%;
    order: 1;
  }
  .lets-begin .slogan {
    flex: 0 0 100%;
    order: 2;
  }
}
