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, strike, strong, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
*, *:after {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body {
  background: #eae8e9;
}
@font-face {
  font-family: 'Fira Sans';
  src: url('../fonts/firasans-bold-webfont.woff2') format('woff2'), url('../fonts/firasans-bold-webfont.woff') format('woff');
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: 'Fira Sans';
  src: url('../fonts/firasans-bolditalic-webfont.woff2') format('woff2'), url('../fonts/firasans-bolditalic-webfont.woff') format('woff');
  font-weight: 700;
  font-style: italic;
}
@font-face {
  font-family: 'Fira Sans';
  src: url('../fonts/firasans-extrabold-webfont.woff2') format('woff2'), url('../fonts/firasans-extrabold-webfont.woff') format('woff');
  font-weight: 800;
  font-style: normal;
}
@font-face {
  font-family: 'Fira Sans';
  src: url('../fonts/firasans-extrabolditalic-webfont.woff2') format('woff2'), url('../fonts/firasans-extrabolditalic-webfont.woff') format('woff');
  font-weight: 800;
  font-style: italic;
}
@font-face {
  font-family: 'Fira Sans';
  src: url('../fonts/firasans-medium-webfont.woff2') format('woff2'), url('../fonts/firasans-medium-webfont.woff') format('woff');
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: 'Fira Sans';
  src: url('../fonts/firasans-mediumitalic-webfont.woff2') format('woff2'), url('../fonts/firasans-mediumitalic-webfont.woff') format('woff');
  font-weight: 600;
  font-style: italic;
}
@font-face {
  font-family: 'Fira Sans';
  src: url('../fonts/firasans-italic-webfont.woff2') format('woff2'), url('../fonts/firasans-italic-webfont.woff') format('woff');
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: 'Fira Sans';
  src: url('../fonts/firasans-regular-webfont.woff2') format('woff2'), url('../fonts/firasans-regular-webfont.woff') format('woff');
  font-weight: 400;
  font-style: normal;
}
blockquote, q {
  quotes: none;
}
ol, ul {
  list-style: none;
}
input {
  vertical-align: middle;
}
table, th, td {
  border: 0 none;
}
table {
  border-collapse: separate;
  border-spacing: 0;
}
th, td {
  padding: 0;
}
caption, th, td {
  text-align: left;
  font-weight: normal;
}
table, td {
  vertical-align: top;
}
th {
  vertical-align: top;
  font-weight: bold;
}
a {
  text-decoration: none;
  color: #1a1a1a;
}
html, body {
  height: 100%;
  font-family: 'Fira Sans', sans-serif;
}
.layout_main {
  max-width: 1296px;
  margin-left: auto;
  margin-right: auto;
}
/*.main_content {display: flex; flex-direction: column; flex-wrap: nowrap;}*/
.header_wrapper {
  height: 57px;
}
.news_layout .header_wrapper, .article_layout .header_wrapper {
  height: 62px;
}
.header {
  background: #7e0019;
  padding: 12px 0;
  border-bottom: #7e0019 1px solid;
}
.main_logo {
  text-align: center;
}
.main_logo_link {
  display: block;
  width: 308px;
  margin: 4px auto 0 auto;
}
.main_logo_info {
  font-size: 11px;
  text-transform: uppercase;
  color: #fff;
  position: relative;
  top: -4px;
  margin: 0 auto;
  width: 308px;
}
.header_small {}
.top_all_sections {
  float: left;
  margin: -4px 0 0 12px;
  cursor: pointer;
  position: relative;
  font-size: 0;
}
.top_all_sections .top_menu_link {
  display: inline-block;
  font-size: 20px;
  min-width: 24px;
  height: 34px;
  text-align: center;
  vertical-align: top;
  color: #111;
  display: flex;
  align-items: center;
  height: 36px;
}
.top_all_sections span.options_text {
  /*  margin-top: 7px;*/
}
.options_text {
  display: inline-block;
  text-align: center;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  /*  margin-top: 7px;*/
  padding: 0 12px;
  vertical-align: top;
  color: #fff;
  cursor: pointer;
}
.top_all_sections .icon-menu {
  display: inline-block;
  width: 24px;
  height: 26px;
  padding: 0;
  position: relative;
  top: -1px;
}
.top_all_sections .icon-menu > span {
  position: absolute;
  top: 50%;
  left: 0;
  width: 24px;
  height: 3px;
  background-color: #fff;
}
.top_all_sections .icon-menu > span:before, .top_all_sections .icon-menu > span:after {
  position: absolute;
  content: '';
  width: 24px;
  height: 3px;
  background-color: #fff;
  left: 0;
}
.top_all_sections .icon-menu > span:before {
  transform: translateY(-6px);
}
.top_all_sections .icon-menu > span:after {
  transform: translateY(6px);
}
*, *:before, *:after {
  box-sizing: border-box;
  outline: none;
}
.modal-active .top_all_sections .icon-menu > span:before {
  transform: rotate(-45deg);
}
.modal-active .top_all_sections .icon-menu > span:after {
  transform: rotate(45deg);
}
.modal-active .top_all_sections .icon-menu > span {
  background: none;
}
.top_options {
  float: right;
  font-size: 0;
  margin: -4px 12px 0 0;
  display: flex;
  align-items: center;
  height: 36px;
}
.top_options .top_options_item {
  display: inline-block;
  /*  height: 34px;*/
}
.top_options .options_text_active {
  opacity: 0.5;
}
.menu_wrapper {
  position: relative;
}
.modal_local {
  position: absolute;
  top: 41px;
  left: 0;
  z-index: 999;
  display: none;
  width: 100%;
  min-width: 300px;
  margin: 0;
  background: #2e2e2e;
  color: #fff;
  padding: 0 0 60px;
  -webkit-box-shadow: 0px 3px 4px 0px rgba(0, 0, 0, 0.36);
  -moz-box-shadow: 0px 3px 4px 0px rgba(0, 0, 0, 0.36);
  box-shadow: 0px 3px 4px 0px rgba(0, 0, 0, 0.36);
}
.news_layout .modal_local, .article_layout .modal_local {
  top: 46px;
}
.fixed .modal_local {
  top: 49px;
}
.wide_nav {
  padding: 0 20px;
}
.menu_title {
  padding: 0px 0 13px 0;
  font-size: 10px;
  text-transform: uppercase;
  opacity: 0.5;
}
.modal-active .header {
  background: #2e2e2e;
  border-bottom: #2e2e2e 1px solid;
}
/* ---- */
.side_menu__wrapper {
  margin: 0 -13px 0 -13px;
  width: calc(100% - 40px);
  padding: 30px 20px 20px 20px;
}
.side_menu {
  display: flex;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
}
.block_menu {
  border: none;
  width: calc(100% / 4);
  padding: 0 20px 0 20px;
  margin-bottom: 20px;
  position: relative;
  border-right: #626265 1px solid;
}
/*.block_menu:last-child {width: calc(100% / 2); border: none;}*/
.block_menu:last-child {
  border: none;
}
.top_menu {
  font-size: 18px;
  text-transform: uppercase;
  padding: 0 15px 0 0;
  overflow: hidden;
  text-align: left;
  font-weight: 700;
}
.top_menu__item {
  display: block;
  position: relative;
  padding: 0 12px 10px 0;
}
.top_menu__link {
  color: #fff;
}
.top_menu__link_active {
  color: #900022;
}
.top_menu__link:hover {
  opacity: 0.82;
}
.top_menu__link_selected {
  color: #900022;
}
.top_menu_sp {
  font-size: 18px;
  text-transform: uppercase;
  padding: 0 15px 0 0;
  overflow: hidden;
  text-align: left;
  font-weight: 400;
}
.top_menu_sp__item {
  display: block;
  position: relative;
  padding: 0 12px 10px 0;
}
.top_menu_sp__link {
  color: #fff;
}
.top_menu_sp__link_active {
  color: #900022;
}
.top_menu_sp__link:hover {
  opacity: 0.82;
}
.top_menu_sp__link_selected {
  color: #900022;
}
.top_menu_th {
  font-size: 13px;
  padding: 0 15px 0 0;
  overflow: hidden;
  text-align: left;
  font-weight: 400;
  display: flex;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
}
.top_menu_th__item {
  display: block;
  position: relative;
  padding: 0 12px 10px 0;
  width: 100%;
}
.top_menu_th__link {
  color: #fff;
}
.top_menu_th__link_active {
  color: #900022;
}
.top_menu_th__link:hover {
  opacity: 0.82;
}
.top_menu_th__link_selected {
  color: #900022;
}
.block_project_menu {
  border-bottom: none;
  border-top: #111 1px solid;
  display: none;
}
.block_project_menu .menu_title {
  padding: 30px 20px 0 20px;
}
/* ---- */
.layout_content {
  width: 100%;
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 2;
}
.main_header {
  text-align: center;
  padding: 80px 20px;
}
.main_header_title_sm {
  font-size: 17px;
  font-weight: 600;
}
.main_header_title_sm a:hover {
  color: #900022;
}
.main_header_title {
  font-size: 47px;
  font-weight: 800;
  text-transform: uppercase;
  padding: 10px 0;
}
.cab_header_title {
  font-size: 30px;
  font-weight: 800;
  padding: 10px 0 5px 0;
}
.cab_header_title_sm {
  font-size: 17px;
  font-weight: 400;
  padding: 0 0 5px 0;
}
.main_footer {
  text-align: center;
  padding: 50px 20px;
}
.main_content {
  background: #fff;
  padding: 30px 20px;
}
.content_wrapper {
  padding: 20px 120px;
}
.form_step {
  font-size: 24px;
  font-weight: 800;
  text-transform: uppercase;
  position: relative;
  margin: 15px 0;
}
.form_step > span {
  display: inline-block;
  width: 34px;
  height: 34px;
  font-size: 14px;
  line-height: 34px;
  text-align: center;
  color: #fff;
  background: #7e0019;
  border-radius: 50%;
  position: absolute;
  left: -55px;
  top: -7px;
}
.form_step.disabled {
  color: #888;
}
.form_step.disabled > span {
  background: #888;
}
.form_title {
  font-size: 24px;
  line-height: 1.2em;
  vertical-align: middle;
  font-weight: 800;
  text-transform: uppercase;
  position: relative;
  margin: 15px 0;
}
.form_title a {
  color: #900022;
}
.form_title .status_inf {
  text-transform: initial;
  font-size: 18px;
}
.content_wrapper input, .content_wrapper select {
  border: #c6c6c6 1px solid;
  background: none;
  padding: 5px;
  font-weight: normal;
  width: 100%;
  margin-bottom: 12px;
  font-size: 16px;
  font-family: 'Fira Sans', sans-serif;
}
.content_wrapper .error input {
  border: #900022 1px solid;
}
.content_wrapper input:disabled, .content_wrapper select:disabled {
  border: #aaa 1px solid;
  color: #666;
  background: none;
  padding: 0px 10px;
  width: 100%;
  margin-bottom: 12px;
  font-size: 16px;
}
.content_wrapper input.no_edit, .content_wrapper select.no_edit {
  border: #fff 1px solid;
  margin-bottom: 0;
  color: #111;
}
.content_wrapper input::-webkit-input-placeholder {
  color: #888;
  font-weight: 400;
}
.content_wrapper input::-moz-placeholder {
  color: #888;
  font-weight: 400;
}
.content_wrapper input:-ms-input-placeholder {
  color: #888;
  font-weight: 400;
}
.content_wrapper input:-moz-placeholder {
  color: #888;
  font-weight: 400;
}
.input_block {
  margin: 0 0 12px 0;
  position: relative;
}
.input_block input {
  display: block;
  padding: 0 10px;
  height: 46px;
  background: none;
  font-size: 16px;
  color: #000;
  outline: none;
  outline: none;
  position: relative;
  z-index: 1;
  font-family: sans-serif;
}
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px white inset !important;
}
.input_block label {
  display: block;
  width: 100%;
  height: 46px;
  position: absolute;
  top: 0;
  left: 10px;
}
.input_desc {
  font-size: 12px;
  color: #666;
  line-height: 1em;
  padding-bottom: 12px;
}
.error .input_desc {
  color: #900022;
  font-weight: 700;
}
.input_block label span {
  display: block;
  height: 24px;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  transition: all 0.2s ease;
  font-size: 16px;
  line-height: 24px;
  color: #666;
  position: absolute;
  top: 12px;
  left: 7px;
  background: #fff;
  padding: 0 3px;
  z-index: 2;
  pointer-events: none;
}
.input_block input:focus + label span {
  font-size: 12px;
  top: -11px;
}
.has_value + label span {
  font-size: 12px;
  top: -11px;
}
.input_wrapper {
  width: calc(100% + 20px);
  margin-left: -10px;
  margin-right: -10px;
  display: flex;
  flex-flow: row wrap;
}
.input_block {
  width: 100%;
  padding-left: 10px;
  padding-right: 10px;
}
.input_block_2 {
  width: 50%;
}
.content_wrapper .form_button {
  border: #7e0019 1px solid;
  background: #7e0019;
  color: #fff;
  display: inline-block;
  font-size: 22px;
  height: 55px;
  text-align: center;
  padding: 0 20px;
  vertical-align: top;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0px 3px 13px 0px rgba(17, 17, 17, 0.1);
  font-family: 'Fira Sans', sans-serif;
  width: 100%;
  border-radius: 30px;
}
.content_wrapper .form_button_white {
  border-color: #fff;
  background: #fff;
  font-size: 17px;
  text-transform: none;
  color: #900022;
  font-weight: normal;
  height: 46px;
}
.input_block_amount {
  padding: 0;
  width: 50%;
  display: none;
}
.input_block_amount label span {
  left: 0;
}
.input_block_amount input {
  font-weight: 700;
  margin-top: 10px;
}
.input_block_amount label {
  font-weight: normal;
}
.form_button:hover {
  opacity: 0.86;
}
.input_block_pad {
  padding-top: 12px;
}
.form_registration {
  margin-bottom: 20px;
}
.form_registration_social {
  margin-bottom: 50px;
}
.form_payment {
  margin-bottom: 50px;
}
.form_support {
  margin-bottom: 50px;
}
.text_block_1 {
  padding: 25px;
  text-align: center;
  font-weight: 700;
}
.text_block_1 a {
  color: #900022;
  border-bottom: #e6ccd2 1px solid;
}
.text_block_2 {
  line-height: 1.3em;
}
.text_block_2 a {
  color: #900022;
  border-bottom: #e6ccd2 1px solid;
}
.text_block_3 {
  padding: 6px 0;
  font-size: 13px;
  line-height: 1.3em;
}
.text_block_3 a {
  color: #900022;
  border-bottom: #e6ccd2 1px solid;
}
.input_wrapper .text_block_3 {
  padding: 0 10px 10px 10px;
}
.subheader {
  font-weight: 700;
  font-size: 16px;
  text-transform: uppercase;
}
.copy {
  font-size: 12px;
  padding: 15px 0;
}
.social_wrapper {
  width: calc(100% + 20px);
  margin-left: -10px;
  margin-right: -10px;
  display: flex;
  flex-flow: row wrap;
  padding: 20px 0;
  justify-content: center;
}
.social_button {
  margin-left: 10px;
  margin-right: 10px;
  width: calc(100% / 3 - 20px);
  box-shadow: 0px 3px 13px 0px rgba(17, 17, 17, 0.1);
  padding: 10px 10px;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  border-radius: 30px;
}
.social_button_img {
  width: 41px;
  height: 41px;
  border: #111 1px solid;
  border-radius: 50%;
  margin-right: 12px;
}
.social_button_img svg {
  width: 39px;
  height: 39px;
}
.social_button_desc {
  font-size: 16px;
  line-height: 1em;
  font-weight: 700;
}
.social_button_desc > span {
  font-size: 13px;
  color: #900022;
  border-bottom: #e6ccd2 1px solid;
  font-weight: normal;
}
.social_button:hover {
  color: #900022;
}
.social_button:hover svg {
  fill: #900022;
}
.social_button:hover .social_button_img {
  border-color: #900022;
}
.social_button.active .social_button_img {
  border-color: #900022;
}
.social_button.active svg {
  fill: #900022;
}
.payment_wrapper {
  width: calc(100% + 20px);
  margin-left: -10px;
  margin-right: -10px;
  display: flex;
  flex-flow: row wrap;
  padding: 0 0 20px 0;
  justify-content: center;
}
.payment_button {
  margin-left: 10px;
  margin-right: 10px;
  width: calc(100% / 3 - 20px);
  box-shadow: 0px 3px 13px 0px rgba(17, 17, 17, 0.1);
  padding: 9px 9px;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  border-radius: 30px;
  justify-content: center;
  border: #fff 1px solid;
}
.payment_button_img {
  vertical-align: bottom;
}
.payment_button_desc {
  font-size: 16px;
  line-height: 1em;
  font-weight: 700;
}
.payment_button:hover {
  border: #900022 1px solid;
}
.payment_button:hover .payment_button_img {
  border-color: #900022;
}
.payment_button.active .payment_button_img {
  border-color: #900022;
}
.spacer {
  margin-top: 80px;
}
.spacer_sm {
  margin-top: 20px;
}
.spacer_m {
  margin-top: 40px;
}
.layout_bg {
  position: relative;
}
.bg1 {
  width: 100%;
  height: 100%;
  position: absolute;
  background-image: url("../images/icons/bg2.jpg");
  background-color: #eae8e9;
  /* background-position: 58% 0%;*/
  background-position-x: calc(50% + 300px);
  background-repeat: no-repeat;
}
.bg2 {
  /*  width: 100%;
  height: 500px;
  position: absolute;
  bottom: 0;
  background-image: url("../images/icons/bg2.png");
  background-position: 48% bottom;
  background-repeat: no-repeat;*/
}
.options_wrapper {
  width: calc(100% + 20px);
  margin-left: -10px;
  margin-right: -10px;
  display: flex;
  flex-flow: row wrap;
  padding: 30px 0;
}
.options_item {
  width: 50%;
  padding-left: 10px;
  padding-right: 10px;
}
.options_title {
  padding: 0px 0 12px 0;
}
.form_support input[type="radio"] {
  display: none;
}
.form_support label.radio_label {
  font-size: 1rem;
  line-height: 1.4em;
  cursor: pointer;
  display: block;
  padding: 6px 10px 6px 35px;
  position: relative;
  white-space: no-wrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: all 0.15s ease;
  margin-top: -1px;
  font-weight: 700;
}
.form_support label.radio_label:before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 1px solid #111;
}
.form_support input:hover + label.radio_label:before {
  background: #fff;
  border-width: 2px;
}
.form_support input:checked + label.radio_label:before {
  background: #7e0019;
  border-color: #7e0019;
}
.button_group input {
  display: none;
}
.button {
  display: inline-block;
  vertical-align: middle;
  font-family: inherit;
  padding: 14px;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  font-size: 16px;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #fff;
  color: #111;
}
.button_group input:checked + label, .button-group input:checked + label:active {
  background-color: #fff;
  color: #7e0019;
  box-shadow: 0px 3px 13px 0px rgba(17, 17, 17, 0.1);
}
.button_group {
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  /*padding: 6px 0;*/
  font-weight: 400;
  /*border: #111 1px solid;*/
  margin-bottom: 45px;
}
.button_group input, .button_group label {
  width: calc(100% / 3 - 2px);
  margin-left: 1px;
  margin-right: 1px;
  background: #f1f1f1;
}
.button_group input:nth-child(2), .button_group label:nth-child(2) {
  border-radius: 30px;
}
.button_group input:nth-child(6), .button_group label:nth-child(6) {
  border-radius: 30px;
}
.cab_menu {
  background: #fff;
  margin-bottom: 30px;
  padding: 5px;
}
.cab_menu ul {
  font-size: 17px;
  line-height: 1.4em;
  text-transform: uppercase;
  padding-top: 10px;
  padding-bottom: 8px;
  overflow: hidden;
  text-align: center;
  font-weight: 800;
}
.cab_menu ul li {
  display: inline-block;
  position: relative;
  padding: 0 8px;
}
.cab_menu ul li.active a {
  color: #900022;
}
.cab_menu ul li a:hover {
  opacity: 0.86;
}
.text_block_support {
  position: relative;
  font-size: 1.22em;
  line-height: 1em;
  padding: 15px 0 15px 32px;
  vertical-align: middle;
}
.text_block_support:before {
  content: "";
  position: absolute;
  left: 0;
  top: 13px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 1px solid #900022;
  background: url(../images/c_bg.png) #900022;
}
.text_block_support.disabled:before {
  border: 1px solid #888;
  background: #888;
}
.button_history {
  margin-top: 10px;
  width: 100%;
  display: inline-block;
  vertical-align: middle;
  font-family: inherit;
  padding: 14px;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  font-size: 16px;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #fff;
  color: #111;
  box-shadow: 0px 3px 13px 0px rgba(17, 17, 17, 0.1);
  border-radius: 30px;
}
.button_history > span {
  position: relative;
  top: 2px;
  left: 6px
}
.complete {
  display: none;
  position: relative;
}
.more img {
  transition: all 300ms ease-in 0s;
}
.more img.cp {
  transform: rotate(180deg);
}
.complete {
  padding: 12px 0;
}
.payment_item {
  display: flex;
  font-size: 14px;
  border-bottom: #c6c6c6 1px solid;
  padding: 8px 0;
  width: 100%;
}
.payment_date {
  width: 30%;
  padding: 0 10px;
}
.payment_method {
  width: 30%;
  padding: 0 10px;
}
.payment_tariff {
  width: 30%;
  padding: 0 10px;
}
.payment_amount {
  width: 30%;
  padding: 0 10px;
  font-weight: 700;
  text-align: right;
}
.community_card_amount {
  padding: 0 0 20px 0;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
}
.community_card_amount > span {
  font-size: 24px;
}
.text_block_3 > span {
  display: inline-block;
  margin-right: 20px;
}
.input_control {
  display: block;
  padding-bottom: 10px;
}
.input_control.checkbox input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 0.0625rem;
  height: 0.0625rem;
}
.input_control.checkbox .check {
  width: 1.625rem;
  height: 1.625rem;
  background-color: #ffffff;
  border: 1px #111 solid;
  padding: 0;
  position: relative;
  display: inline-block;
  vertical-align: middle;
}
.input_control.small_check .check {
  width: 20px;
  height: 20px;
  float: left;
}
.input_control.checkbox .check:before {
  position: absolute;
  vertical-align: middle;
  color: transparent;
  font-size: 0;
  content: "";
  height: .3125rem;
  width: .565rem;
  background-color: transparent;
  border-left: .1875rem solid;
  border-bottom: .1875rem solid;
  border-color: transparent;
  left: 50%;
  top: 50%;
  margin-left: -0.325rem;
  margin-top: -0.365rem;
  display: block;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: all 0.2s linear;
}
.input_control.small_check .check:before {
  width: 10px;
  height: 6px;
  margin-left: -5px;
  margin-top: -4px;
  border-width: 3px;
}
.input_control.checkbox input[type="checkbox"]:checked ~ .check:before {
  border-color: #900022;
  transition: all 0.2s linear;
}
.input_control .caption {
  display: block;
  margin: 0 0 0 35px;
}
.input_control .caption a {
  color: #900022;
  border-bottom: #e6ccd2 1px solid;
}
.community_card {
  border: #900022 1px solid;
  padding: 20px 15px;
  margin-top: 25px;
}
.community_card_title {
  font-size: 24px;
  font-weight: 800;
  text-transform: uppercase;
  color: #900022;
  text-align: center;
}
.tips_wrapper {
  column-count: 2;
  padding: 20px 10px;
}
.tips_item {
  padding: 5px 25px 5px 15px;
  position: relative;
  font-size: 15px;
}
.tips_item:before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #111;
  position: absolute;
  left: -3px;
  top: 8px;
  z-index: 2;
}
input[type="checkbox"] {
  display: none;
}
input[type="checkbox"] + label {
  cursor: pointer;
  padding-left: 45px;
  position: relative;
  line-height: 40px;
  font-size: 15px;
  user-select: none;
}
input[type="checkbox"] + label::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: -4px;
  left: 0;
  vertical-align: middle;
  padding: 0;
  height: 24px;
  width: 36px;
  margin: 0 5px 0 0;
  border: 1px solid #111;
  border-radius: 12px;
  /* background: #dddddd;*/
}
input[type="checkbox"] + label::before, input[type="checkbox"] + label::after {
  -webkit-transition: all .2s ease-out;
  transition: all .2s ease-out;
}
input[type="checkbox"] + label::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 4px;
  width: 16px;
  height: 16px;
  border-radius: 22px;
  background: #111;
  /* border: 1px solid #900022; */
  /* box-shadow: 0 3px 3px rgba(140, 140, 140, .1);*/
}
input[type="checkbox"]:checked + label::before {
  background: #fff;
  border-color: #111;
}
input[type="checkbox"]:checked + label::after {
  left: 16px;
  background: #900022;
}
.mail_card {
  box-shadow: 0px 3px 13px 0px rgba(17, 17, 17, 0.1);
  padding: 15px;
  position: relative;
  margin-bottom: 25px;
}
.mail_card .link {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 1;
  cursor: pointer;
}
.mail_title {
  font-size: 22px;
  font-weight: 700;
  padding-top: 10px;
}
.mail_description {
  font-size: 15px;
  line-height: 1.2em;
  padding-top: 8px;
}
.event_card {
  box-shadow: 0px 3px 13px 0px rgba(17, 17, 17, 0.1);
  padding: 15px;
  position: relative;
  margin-bottom: 25px;
}
.event_card .link {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 1;
  cursor: pointer;
}
.event_title {
  font-size: 28px;
  font-weight: 700;
  padding-top: 10px;
}
.event_description {
  font-size: 15px;
  line-height: 1.2em;
  padding-top: 8px;
}
.event_date {
  font-size: 1.3em;
  color: #900022;
  font-weight: 400;
  padding-top: 8px;
}
.event_place {
  font-size: 15px;
  color: #900022;
  font-weight: 400;
  padding-top: 6px;
}
.event_button {
  background: #7e0019;
  padding: 8px 16px;
  color: #fff;
  border: none;
  font-family: 'Fira Sans', sans-serif;
  margin: 15px 0;
  border-radius: 20px;
}
/*.event_card:hover .event_button {opacity: 0.86;}*/
.event_card:hover .event_title {
  color: #900022;
}
.event_media_wrapper {
  margin-bottom: 7px;
}
.event_media_wrapper img {
  width: 100%;
  height: auto;
}
.contacts_card { /*box-shadow: 0px 3px 13px 0px rgba(17, 17, 17, 0.1); padding: 15px; */ position: relative;
  margin-bottom: 25px;
}
.contacts_title {
  font-size: 22px;
  font-weight: 700;
  padding-top: 10px;
}
.contacts_description {
  font-size: 15px;
  line-height: 1.2em;
  padding: 8px 0 10px 0;
}
.contacts_mail {
  font-size: 19px;
  font-weight: 700;
  padding: 10px 0;
}
.contacts_mail a {
  color: #900022;
  border-bottom: #e6ccd2 1px solid;
}
.poll_card {
  box-shadow: 0px 3px 13px 0px rgba(17, 17, 17, 0.1);
  padding: 15px;
  position: relative;
  margin-bottom: 25px;
}
.poll_card .link {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 1;
  cursor: pointer;
}
.poll_title {
  font-size: 22px;
  font-weight: 700;
  padding-top: 10px;
}
.poll_description {
  font-size: 15px;
  line-height: 1.2em;
  padding-top: 8px;
}
.poll_date {
  font-size: 1.3em;
  color: #900022;
  font-weight: 400;
  padding-top: 6px;
}
.poll_place {
  font-size: 15px;
  color: #900022;
  font-weight: 400;
  padding-top: 6px;
}
.poll_button {
  background: #7e0019;
  padding: 8px 16px;
  color: #fff;
  border: none;
  font-family: 'Fira Sans', sans-serif;
  margin: 15px 0;
  border-radius: 20px;
}
.poll_card:hover .poll_button {
  opacity: 0.86;
}
.articles_wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-left: -12px;
  margin-right: -12px;
}
.article_grid {
  width: calc(50% - 24px);
  margin: 0 12px 24px 12px;
  box-shadow: 0px 3px 13px 0px rgba(17, 17, 17, 0.1);
  transition: all 300ms ease-in 0s;
}
.article_grid .article_body {
  position: relative;
}
.article_media_wrapper {
  position: relative;
}
.article_grid .article_media_wrapper img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.article_grid .article_header {
  font-size: 1.22em;
  padding: 13px 0 5px 0;
  line-height: 1.1em;
  font-weight: 700;
}
.article_grid .article_author {
  font-size: 12px;
  text-transform: uppercase;
  color: #888;
  padding: 5px 0;
  line-height: 1.1em;
  font-weight: 300;
}
.article_grid .article_header a:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 2;
}
.article_grid .article_content {
  padding: 4px 15px 15px 15px;
}
.article_grid .article_body:hover .article_header a {
  color: #900022;
}
.article_grid .article_body:hover .article_close {
  opacity: 1;
}
.article_close {
  position: absolute;
  right: 10px;
  top: 10px;
  width: 26px;
  height: 26px;
  opacity: 1;
  background-color: rgba(1, 1, 1, .25);
  border-radius: 50%;
  opacity: 0;
  transition: all 300ms ease-in 0s;
  z-index: 3;
}
.article_close:hover {
  background-color: rgba(126, 1, 25, 1);
}
.article_close:before, .article_close:after {
  position: absolute;
  top: 5px;
  left: 12px;
  content: ' ';
  height: 16px;
  width: 2px;
  background-color: #fff;
}
.article_close:before {
  transform: rotate(45deg);
}
.article_close:after {
  transform: rotate(-45deg);
}
.pagination {
  padding-top: 20px;
}
.pagination li {
  display: inline-block;
  position: relative;
  padding: 0 5px;
}
.pagination li a {
  padding: 8px 8px;
}
.pagination li.active a {
  font-weight: 800;
  color: #900022;
}
.form_disable_ads {
  margin-top: 30px;
}
.mail_save {
  margin: -10px 0 18px 0;
  height: 15px;
}
.mail_save_text {
  display: none;
  font-weight: 700;
  color: #900022;
}
.subheader {
  font-weight: 700;
  font-size: 16px;
  text-transform: uppercase;
}
.button_auth_link {
  margin-top: 10px;
  width: 100%;
  display: inline-block;
  vertical-align: middle;
  font-family: inherit;
  padding: 14px;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #fff;
  color: #900022;
  box-shadow: 0px 3px 13px 0px rgba(17, 17, 17, 0.1);
  border-radius: 30px;
  margin: 20px 0 60px 0;
}
/* ---- */
@media screen and (min-width: 1024px) {
  .form_step {
    font-size: 28px;
    line-height: 0.9em;
  }
  .form_title {
    font-size: 23px;
  }
}
@media screen and (max-width: 1024px) {
  .block_menu {
    border: none;
    width: 100%;
    padding: 0;
    margin-bottom: 20px;
    position: relative;
  }
}
@media screen and (max-width: 768px) {
  .top_all_sections span.options_text {
    display: none;
  }
  .main_header_title {
    font-size: 36px;
  }
  .content_wrapper {
    padding: 20px 0 20px 0;
  }
  .form_step > span {
    position: relative;
    left: 0;
    top: -5px;
    margin-right: 12px;
  }
  .bg1 {
    background-position-x: calc(50% + 250px);
  }
  .options_item {
    width: 100%;
  }
  .button_group input, .button_group label {
    width: calc(100% - 20px);
    text-align: left;
    position: relative;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.4em;
    cursor: pointer;
    display: block;
    padding: 6px 10px 6px 35px;
    position: relative;
    white-space: no-wrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: all 0.15s ease;
    margin-top: -1px;
    font-weight: 700;
    margin-left: 0;
    margin-right: 0;
  }
  .button_group label:before {
    content: "";
    position: absolute;
    left: 0;
    top: 5px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 1px solid #111;
  }
  .button_group input:checked + label:before {
    background: #7e0019;
    border-color: #7e0019;
  }
  .button_group {
    border: none;
  }
  .button_group input:checked + label, .button-group input:checked + label:active {
    background: none;
    color: #111;
  }
  .social_button {
    width: 100%;
    margin-bottom: 18px;
  }
  .button_group input, .button_group label {
    background: #fff;
  }
}
@media screen and (max-width: 690px) {
  .bg1 {
    background-image: url("../images/icons/bg2.jpg");
    background-position: 50% 0%;
    background-size: 1400px auto;
  }
  .main_header {
    text-align: center;
    padding: 180px 20px 60px 20px;
  }
}
@media screen and (max-width: 480px) {
  .main_content {
    padding: 15px 20px;
  }
  .top_options .options_text {
    font-size: 10px;
  }
  .input_block_2 {
    width: 100%;
  }
  .content_wrapper input, .content_wrapper select {
    margin-bottom: 6px;
  }
  .social_button_img {
    /*    margin-right: auto;
    margin-left: auto;*/
  }
  .social_button_desc {
    /*width: 100%;*/
    padding-top: 5px;
  }
  .text_block_1 {
    padding: 10px 10px 20px 10px;
  }
  .input_block_pad {
    padding-top: 0;
  }
  .social_button_desc {
    /*font-size: 12px;*/
  }
  .social_button {
    padding: 8px;
  }
  .options_wrapper .options_item:first-child {
    padding-bottom: 30px;
  }
  .cab_menu ul {
    overflow-x: scroll;
    overflow-y: visible;
    white-space: nowrap;
    width: 100%;
    -webkit-overflow-scrolling: touch;
    display: block;
  }
  .payment_date {
    width: 60%;
  }
  .payment_method {
    display: none;
  }
  .text_block_3 > span {
    width: 100%;
    display: block;
    margin-bottom: 6px;
  }
  .tips_wrapper {
    column-count: 1;
  }
  .article_grid {
    width: calc(100% - 24px);
  }
  .event_title {
    font-size: 22px;
  }
  .event_media_wrapper {
    margin-bottom: 7px;
    margin-left: -15px;
    margin-right: -15px;
    margin-top: -15px;
  }
}
@media screen and (max-width: 375px) {
  .header.header_small .top_options {
    margin-top: -4px;
  }
  .header.header_small .top_all_sections {
    margin-top: -6px;
  }
}
@media screen and (max-width: 360px) {
  .main_logo_link {
    width: 190px;
  }
  .top_options {
    margin: 0 10px 0 0;
  }
  .top_all_sections {
    margin: 0 0 0 12px;
  }
  .options_text {
    padding: 0;
  }
  .main_header_title {
    font-size: 32px;
  }
  .bg1 {
    background-position: 50% 0%;
  }
}
@media screen and (min-width: 360px) {
  .header.fixed .main_logo_link {
    width: 220px;
  }
  .header.fixed .top_all_sections, .header.fixed .top_options {
    margin-top: 2px;
  }
  .header.fixed .main_logo_info {
    display: none;
  }
  .header.header_small .main_logo_link {
    width: 190px;
  }
  .header.header_small .top_all_sections, .header.header_small .top_options {
    margin-top: -4px;
  }
  .header.header_small .main_logo_info {
    display: none;
  }
}
.error_list {
  text-align: center;
  padding: 20px 0px 0px 0px;
  z-index: 1;
  position: relative;
  color: #7e0019;
}
.error_list li {
  margin: 5px 0px;
}
.main_footer {
  position: relative;
  z-index: 1;
}
.form_disable_ads {
  margin-top: 30px;
}
.form_button.checkout, .form_button.change_amount {
  display: none;
}