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

*::-webkit-input-placeholder {
  color: #000;
  opacity: 1; }

*:-moz-placeholder {
  color: #000;
  opacity: 1; }

*::-moz-placeholder {
  color: #000;
  opacity: 1; }

*:-ms-input-placeholder {
  color: #000;
  opacity: 1; }

html {
  scroll-behavior: smooth; }

body input:focus:required:invalid,
body textarea:focus:required:invalid {
  color: #000; }

body input:required:valid,
body textarea:required:valid {
  color: #000; }

html {
  width: 100%;
  height: 100%; }

body {
  -webkit-overflow-scrolling: touch;
  font-family: "Helvetica Neue", Helvetica, sans-serif;
  line-height: 1.6;
  padding-top: 60px; }

b, strong {
  font-weight: 600; }

a {
  outline: none;
  text-decoration: none;
  color: #3b82ec; }

a:hover, a:focus, a:active {
  outline: none;
  text-decoration: none;
  color: inherit; }

input {
  outline: none;
  -webkit-box-shadow: none !important;
          box-shadow: none !important; }

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  line-height: inherit; }

h1 {
  font-size: 48px; }

h2 {
  font-size: 36px;
  font-family: "HelveticaNeueCyr-Bold", "Helvetica Neue", Helvetica, sans-serif; }

h3 {
  font-size: 22px; }

h4 {
  font-size: 18px; }

hr {
  margin: 0; }

video {
  max-width: 100%; }

img {
  max-width: 100%; }

.lh-1 {
  line-height: 1; }

.bg-gray {
  background: #838E95; }

.bg-light-gray {
  background: #f8f9fa; }

.bg-middle-gray {
  background: #e9ecef; }

.color-black {
  color: #000000; }

.color-gray {
  color: #838E95; }

.list-inline-item {
  vertical-align: top; }

.box-shadow {
  -webkit-box-shadow: 0 0.1875rem 0.375rem rgba(33, 37, 41, 0.05);
          box-shadow: 0 0.1875rem 0.375rem rgba(33, 37, 41, 0.05); }

.border-bottom {
  border-bottom: 1px solid rgba(0, 0, 0, 0.125); }

.btn-blue {
  background: #33b5e5;
  color: #fff;
  padding: 10px 0 8px;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s; }
  .btn-blue:hover {
    color: #fff;
    opacity: 0.9; }

.max-w-500 {
  max-width: 500px; }

.fs-14 {
  font-size: 14px; }

.mt-5 {
  margin-top: 5px !important; }

.mt-10 {
  margin-top: 10px; }

.mt-20 {
  margin-top: 20px; }

.mt-30 {
  margin-top: 30px !important; }

.mt-50 {
  margin-top: 50px !important; }

@media (max-width: 767.98px) {
  .mt-30-sm {
    margin-top: 30px !important; } }

.mb-10 {
  margin-bottom: 10px !important; }

.mb-20 {
  margin-bottom: 20px; }

.mb-30 {
  margin-bottom: 30px; }

@media (max-width: 767.98px) {
  .mb-15-sm {
    margin-bottom: 15px !important; } }

.mr-10 {
  margin-right: 10px; }

.mr-15 {
  margin-right: 15px; }

.mr-20 {
  margin-right: 20px !important; }

@media (max-width: 767.98px) {
  .mr-10-sm {
    margin-right: 10px !important; } }

.ml-20 {
  margin-left: 20px; }

.pt-30 {
  padding-top: 30px; }

@media (max-width: 767.98px) {
  .p-0-sm {
    padding: 0; } }

.title-type-1 {
  line-height: 1.3;
  font-size: 20px;
  font-weight: bold; }
  @media (max-width: 767.98px) {
    .title-type-1 {
      font-size: 18px; } }

.mobile-only {
  display: none !important; }

@media (max-width: 991.98px) {
  .desktop-only {
    display: none !important; }
  .mobile-only {
    display: block !important; } }

main {
  min-height: calc(100vh - 160px); }
  @media (max-width: 991.98px) {
    main {
      min-height: calc(100vh - 180px); } }

.lang:hover {
  color: #3b82ec !important;
}

.container {
  width: 100%; }
  @media (max-width: 1199.98px) {
    .container {
      max-width: 1130px; } }

.badge {
  display: inline-block;
  font-size: 1rem;
  padding: 0.4rem 1.5rem 0.2rem;
  border-radius: 6.1875rem;
  -webkit-transition: 0.2s ease-in-out;
  -o-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  color: #151b26;
  background-color: rgba(21, 27, 38, 0.1);
  line-height: inherit;
  font-family: "HelveticaNeueCyr-Roman", "Helvetica Neue", Helvetica, sans-serif; }
  @media (max-width: 767.98px) {
    .badge {
      padding: 0.3rem 1rem;
      font-size: 0.85rem; } }
  .badge[href]:hover, .badge[href]:focus {
    color: #fff;
    background: #4b5464; }
  .badge--sm {
    padding: 0.4rem 1rem 0.35rem;
    font-size: 0.75rem; }
  .badge--pink {
    background: #d50032;
    color: #fff !important; }
    .badge--pink:hover {
      color: #fff; }

.btn__more {
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
  padding: 10px 50px;
  margin-top: 30px;
  color: #fff;
  background-color: #4b5464;
  border-color: #4b5464; }
  @media (max-width: 991.98px) {
    .btn__more {
      margin-top: 10px; } }
  .btn__more:hover {
    color: #fff;
    opacity: 0.8; }

.u-icon {
  position: relative;
  line-height: 0.7;
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  width: 2rem;
  height: 2rem;
  font-size: 0.8125rem;
  border-radius: 0.25rem;
  -webkit-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out; }
  .u-icon--secondary {
    color: #fff;
    background-color: #646f79;
    border-color: #646f79; }
    .u-icon--secondary:hover {
      background-color: #535c64;
      border-color: #4d555d;
      color: #fff; }
  .u-icon__inner {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }

.navbar {
  background: #fff;
  height: 60px;
  padding: 0; }

.md-form input[type="text"]:not(.browser-default) {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  background-color: transparent;
  border: 0;
  border-bottom: 1px solid #ced4da;
  border-radius: 0;
  outline: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transition: border-color .15s ease-in-out;
  -o-transition: border-color .15s ease-in-out;
  transition: border-color .15s ease-in-out; }

.md-form .form-control {
  -webkit-box-sizing: border-box !important;
          box-sizing: border-box !important;
  height: auto;
  padding: .6rem 0 .4rem 0;
  margin: 0 0 .5rem 0;
  background-color: transparent;
  border-radius: 0;
  max-width: 70%; }

.md-form input.form-control[type=text]:focus:not([readonly]) {
  border-bottom: 1px solid #ff0053;
  -webkit-box-shadow: 0 1px 0 0 #ff0053;
          box-shadow: 0 1px 0 0 #ff0053; }

.album {
  padding: 50px 0 100px; }
  @media (max-width: 991.98px) {
    .album {
      padding: 40px 0 50px; } }
  @media (max-width: 767.98px) {
    .album {
      padding: 30px 0 30px; } }
  @media (max-width: 767.98px) {
    .album__title {
      font-size: 28px; } }

.card {
  border: none; }
  .card a {
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
    opacity: 0.8; }
  .card__title {
    line-height: 1.4;
    font-size: 16px; }
  .card a {
    color: #212529;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
    border-bottom: 1px solid transparent; }
    .card a:hover {
      border-bottom: 1px solid #212529; }
  .card__body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-align: start;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
            align-items: flex-start;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    min-height: 1px;
    padding: 1.25rem; }
    @media (max-width: 767.98px) {
      .card__body {
        padding: 15px; } }
  .card__bottom {
    margin-top: auto;
    width: 100%; }

.page-title, .event__title {
  font-size: 32px;
  font-family: "HelveticaNeueCyr-Bold", "Helvetica Neue", Helvetica, sans-serif;
  color: #000; }
  @media (max-width: 767.98px) {
    .page-title, .event__title {
      font-size: 28px; } }

.content-block {
  padding-bottom: 50px; }
  @media (max-width: 767.98px) {
    .content-block {
      padding-bottom: 30px; } }

.event {
  padding-bottom: 50px; }
  @media (max-width: 767.98px) {
    .event {
      padding-bottom: 30px; } }
  .event__head {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 20px 0; }
    @media (max-width: 767.98px) {
      .event__head {
        font-size: 14px;
        display: block; } }
  .event__picture {
    margin-bottom: 30px; }
  .event__body {
    color: #646f79;
    font-size: 18px;
    margin-bottom: 50px; }
    @media (max-width: 991.98px) {
      .event__body {
        font-size: 16px; } }
    .event__body img {
      margin-bottom: 20px;
      margin-right: 10px; }
  .event h5 {
    font-size: 20px; }
    @media (max-width: 991.98px) {
      .event h5 {
        font-size: 18px; } }
  .event__date, .event__city {
    font-size: 14px; }

.ticket-list {
  padding-bottom: 100px;
  max-width: 800px; }
  .ticket-list__title {
    font-size: 32px;
    font-family: "HelveticaNeueCyr-Bold", "Helvetica Neue", Helvetica, sans-serif;
    color: #212529; }
    @media (max-width: 767.98px) {
      .ticket-list__title {
        font-size: 28px; } }
  .ticket-list__item {
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    margin-top: 20px; }
    .ticket-list__item.active {
      background: #f0f3f5;
      -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
              box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); }
  .ticket-list h3 {
    margin-bottom: 0; }
  .ticket-list h4 {
    font-size: 14px;
    margin-bottom: 10px; }
  .ticket-list__bottom {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    border-top: 1px solid rgba(0, 0, 0, 0.125);
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding-top: 20px; }
    .ticket-list__bottom__price {
      font-size: 18px; }

.number-input {
  border: 1px solid #ced4da;
  width: 10rem;
  border-radius: 5px;
  background: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .number-input input[type=number] {
    max-width: 60px;
    padding: 5px 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border: 1px solid rgba(0, 0, 0, 0.125);
    border-width: 0 1px;
    font-size: 20px;
    font-family: "Helvetica Neue", Helvetica, sans-serif;
    color: #000;
    -webkit-appearance: textfield;
       -moz-appearance: textfield;
            appearance: textfield;
    text-align: center; }
    .number-input input[type=number]::-webkit-inner-spin-button, .number-input input[type=number]::-webkit-outer-spin-button {
      -webkit-appearance: none; }
  .number-input button {
    width: 100%;
    height: 15px;
    -webkit-appearance: none;
    background-color: transparent;
    border: none;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    cursor: pointer;
    margin: 0;
    position: relative;
    outline: 0; }
    .number-input button.minus {
      padding-left: 11px; }
    .number-input button:before, .number-input button:after {
      width: .7rem;
      background-color: #495057;
      display: inline-block;
      position: absolute;
      content: '';
      height: 2px;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }
    .number-input button.plus:after {
      -webkit-transform: translate(-50%, -50%) rotate(90deg);
          -ms-transform: translate(-50%, -50%) rotate(90deg);
              transform: translate(-50%, -50%) rotate(90deg); }

@media not all and (min-resolution: 0.001dpcm) {
  @supports (-webkit-appearance: none) and (stroke-color: transparent) {
    .number-input.def-number-input.safari_only button:before,
    .number-input.def-number-input.safari_only button:after {
      margin-top: -7px; } } }

.footer {
  background: #4b5464;
  color: #fff;
  padding: 30px 0;
  position: relative; }
  @media (max-width: 991.98px) {
    .footer {
      padding: 20px 0; } }
  .footer__navigation {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    @media (max-width: 991.98px) {
      .footer__navigation {
        display: block; } }
    .footer__navigation small {
      font-size: 14px; }
    .footer__navigation__list {
      padding-left: 0;
      list-style: none; }
      @media (max-width: 991.98px) {
        .footer__navigation__list {
          margin-top: 20px; } }
      .footer__navigation__list a {
        color: #fff;
        font-size: 14px; }
    .footer__navigation__input-group input {
      font-size: 14px; }
    .footer__navigation__input-group input,
    .footer__navigation__input-group button {
      border-radius: 0;
      height: 38px; }
    @media (max-width: 991.98px) {
      .footer__navigation__socials {
        margin-top: 20px; } }

.go-up {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  float: right;
  width: 2.5rem;
  height: 2.5rem;
  background: rgba(255, 255, 255, 0.5);
  color: #fff;
  font-size: 0.75rem;
  border-radius: 0.25rem;
  -webkit-transition: 0.3s ease-out;
  -o-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  vertical-align: middle; }
  .go-up .fa {
    margin: 0 auto; }
  @media (max-width: 991.98px) {
    .go-up {
      float: none;
      position: absolute;
      right: 20px;
      bottom: 20px;
      width: 1.8rem;
      height: 1.8rem; } }
  .go-up:hover {
    background: white;
    color: #000; }
