body {
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
}

ul {
    list-style-type: none;
    padding-left: 0;
    margin: 0;
}

@font-face {
    font-family: "Roboto";
    font-weight: 300;
    src: url("../fonts/Roboto/Roboto-Light.ttf");
}

@font-face {
    font-family: "Roboto";
    font-weight: 400;
    src: url("../fonts/Roboto/Roboto-Regular.ttf");
}

@font-face {
    font-family: "Roboto";
    font-weight: 500;
    src: url("../fonts/Roboto/Roboto-Medium.ttf");
}

.loading {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.9);
    z-index: 9999;
}

.loading:before {
    content: '';
    background-image: url("../images/loading.gif");
    background-size: 100% 100%;
    display: block;
    width: 50px;
    height: 50px;
    margin: 0 auto;
}

#main {
    overflow-x: hidden;
}

#horizontal-scroll-view {
    height: 240px;
    position: relative;
    margin-top: 35px;
}

#recommended-content {
    position: absolute;
    height: 240px;
    top: 0;
    margin-top: 0;
}

#recommended {
    transition: .3s;
}

.hidden {
    display: none;
}

.container {
    max-width: 1170px;
}

.slick-dotted.slick-slider {
    margin-bottom: 0;
}

.g-radio__wrap .g-radio__label {
    max-width: 100%;
    color: #545454;
    margin-top: 0;
}

.g-radio__wrap .g-radio__checkmark {
    border-color: #D5DEE9;
    width: 16px;
    height: 16px;
    position: relative;
    top: 2px;
}

.g-radio__wrap .g-radio__checkmark:before {
    background-color: #2F80ED;
    top: 3px;
    bottom: 3px;
    left: 3px;
    right: 3px;
}

.g-checkbox__wrap.agree .g-checkbox__label {
    font-size: 11px;
}

.g-checkbox__wrap .g-checkbox__label {
    max-width: 100%;
    color: #545454;
    margin-top: 0;
}

.g-checkbox__wrap .g-checkbox__checkmark {
    border-color: #D5DEE9;
    border-radius: 3px;
    width: 15px;
    height: 15px;
    position: relative;
    top: 3px;
}

.g-checkbox__wrap .g-checkbox__checkmark:before {
    left: 2px;
    right: 2px;
    top: 2px;
    bottom: 2px;
    background-color: #2F80ED;
    border-radius: 2px;
}

.slick-dots {
    bottom: 17px;
}

.slick-dots li {
    margin: 0;
}

.slick-dots li.slick-active button:before {
    opacity: 1;
    color: #2F80ED;
}

.slick-dots li button:before {
    font-size: 12px;
    opacity: 1;
    color: #fff;
}

body {
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: #212121;
}

* {
    box-sizing: border-box;
}

input {
    border: 0;
    background-color: transparent;
}

input:disabled {
    color: #212121;
}

a {
    color: #212121;
}

a:hover {
    color: #2F80ED;
}

input,
textarea,
button,
select {
    font-size: 16px;
    font-weight: 400;
    font-family: "Roboto";
}

button {
    cursor: pointer;
}

table {
    width: 100%;
    border-collapse: collapse;
}

table thead th {
    border-bottom: 1px solid #EDEDED;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 13px;
    font-weight: 500;
    padding-bottom: 15px;
}

table th, table td {
    text-align: left;
}

table td {
    padding: 15px 0;
    font-size: 11px;
    color: #545454;
    line-height: 17px;
}

table.big-rows td {
    padding-top: 30px;
    padding-bottom: 15px;
}

h1, h2, h3 {
    margin: 0;
}

h2 {
    font-weight: 400;
    font-size: 30px;
    line-height: 42px;
}

h2.nav-fix {
    position: relative;
    top: -5px;
}

h3 {
    font-size: 18px;
    line-height: 28px;
    font-weight: 500;
}

p {
    color: #545454;
    line-height: 25px;
    margin: 27px 0;
}

p:first-child {
    margin-top: 0;
}

.simple-select {
    border: 1px solid #DEDEDE !important;
    border-radius: 5px;
    height: 50px;
    width: 100%;
    line-height: 39px;
    padding-left: 20px;
}

.simple-select .g-select__box {
    top: 40px !important;
}

.simple-select .g-select__chosen {
    font-size: 13px;
    color: #212121;
}

.simple-select:after {
    right: 20px;
    font-size: 10px;
}

.form-control {
    position: relative;
}

.form-control .input-group li {
    margin-top: 18px;
}

.form-control .photo-block {
    margin-top: 15px;
}

.form-control > label {
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #212121;
    font-weight: 500;
}

.form-control > input,
.form-control > .simple-select {
    margin-top: 15px;
    width: 100% !important;
}

.form-control input[type="text"],
.form-control input[type="password"],
.form-control textarea {
    border-bottom: 1px solid #EDEDED;
    padding-bottom: 7px;
}

.form-control input[type="text"].bordered,
.form-control input[type="password"].bordered,
.form-control textarea.bordered {
    height: 50px;
    border: 1px solid #D5DEE9;
    border-radius: 3px;
    padding: 0 15px;
}

.form-control input[type="text"].bordered:focus,
.form-control input[type="password"].bordered:focus,
.form-control textarea.bordered:focus {
    border-color: #2F80ED;
}

.form-control textarea.bordered {
    height: auto;
    min-height: 150px;
    resize: none;
    width: 100%;
    padding-top: 15px;
    padding-bottom: 15px;
}

.form-control .btn-icon {
    position: absolute;
    right: 0px;
    bottom: 5px;
    padding: 0;
    background: #fff;
    padding-left: 10px;
}

.no-padding-left {
    position: relative;
    left: -30px;
}

.btn {
    border-radius: 5px;
    display: block;
    margin: 10px 0;
    transition: .3s;
    border: 0;
    background-color: transparent;
    transition: .3s;
    position: relative;
    overflow: hidden;
}

.btn.btn-close {
    color: #2F80ED;
    background-color: #EBEEF6;
    width: 48px;
    height: 50px;
    position: absolute;
    right: 0;
    top: 0;
}

.btn.btn-close:before {
    content: "\e90b";
    font-family: 'icomoon';
    color: #2F80ED;
    position: relative;
    top: 2px;
    left: 1px;
}

.btn.btn-icon {
    color: #2F80ED;
    font-size: 20px;
    margin: 0;
}

.btn.btn-big {
    width: 222px;
    height: 50px;
    line-height: 50px;
    font-size: 13px;
}

.btn.btn-primary {
    background-color: #2F80ED;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.btn.btn-small {
    width: 105px;
    height: 30px;
    font-size: 10px;
    letter-spacing: 1px;
    line-height: 32px;
}

.btn.btn-app {
    font-size: 13px;
    border: 1px solid #D5DEE9;
    color: #D5DEE9;
    width: 100%;
    max-width: 160px;
    height: 40px;
    line-height: 37px;
    display: flex;
    padding: 0 17px;
    margin-bottom: 10px;
}

.btn.btn-app:hover {
    background-color: #D5DEE9;
    color: #212121;
}

.btn.btn-app .icon {
    width: 18px;
    margin-right: 15px;
    text-align: center;
}

.btn.btn-app i {
    font-size: 18px;
    position: relative;
    top: 1px;
}

.btn.btn-empty {
    border: 1px solid #D5DEE9;
    color: #2F80ED;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.btn.btn-empty:hover {
    border-color: #2F80ED;
}

.btn.btn-primary.btn-big:hover {
    -webkit-box-shadow: 0px 10px 30px rgba(47, 128, 237, 0.5);
    -moz-box-shadow: 0px 10px 30px rgba(47, 128, 237, 0.5);
    -ms-box-shadow: 0px 10px 30px rgba(47, 128, 237, 0.5);
    box-shadow: 0px 10px 30px rgba(47, 128, 237, 0.5);
}

.btn.btn-primary.btn-small:hover {
    -webkit-box-shadow: 0px 7px 20px rgba(47, 128, 237, 0.5);
    -moz-box-shadow: 0px 7px 20px rgba(47, 128, 237, 0.5);
    -ms-box-shadow: 0px 7px 20px rgba(47, 128, 237, 0.5);
    box-shadow: 0px 7px 20px rgba(47, 128, 237, 0.5);
}

.no-margin {
    margin-left: 0;
    margin-right: 0;
}

.g-select__wrap {
    border: 0;
}

.g-select__wrap .g-select__chosen {
    width: 74%;
    overflow: hidden;
    display: block;
}

.g-select__wrap .g-select__box {
    -webkit-box-shadow: 0px 1px 20px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0px 1px 20px rgba(0, 0, 0, 0.2);
    -ms-box-shadow: 0px 1px 20px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 1px 20px rgba(0, 0, 0, 0.2);
    top: 25px;
    border: 0;
    left: -1px;
    right: -1px;
}

.g-select__wrap .g-select__box .g-select__box-item {
    color: #000;
}

.g-select__wrap .g-select__box .g-select__box-item:hover {
    background-color: #2F80ED;
    color: #fff;
}

.g-select__wrap:after {
    content: '\e906';
    font-family: 'icomoon';
}

.g-select__wrap.active:after {
    content: '\e903';
}

.breadcrumbs {
    font-size: 11px;
    line-height: 17px;
    margin-bottom: 35px;
}

.breadcrumbs a, .breadcrumbs span {
    color: #545454;
}

.city-select {
    font-size: 13px;
    color: #fff;
    min-width: 155px;
    margin-top: -7px;
    padding-left: 0;
}

.city-select:after {
    color: #F2C94C;
    font-size: 11px;
    top: 8px;
}

.city-select .g-select__box {
    width: 150px;
    left: auto;
    right: auto;
}

.dashed-link {
    border-bottom: 1px dashed #000;
}

.search-input {
    position: relative;
}

.search-input .search-btn {
    position: absolute;
    left: -2px;
    top: 3px;
    padding: 0;
    margin: 0;
    background-color: transparent;
    border: 0;
}

.search-input i {
    color: #F2C94C;
}

.search-input i:before {
    margin: 0;
}

.search-input input {
    font-size: 13px;
    width: 100%;
    color: #fff;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    padding: 5px 0px;
    padding-left: 23px;
}

.search-input input:focus {
    color: #fff;
    border-color: #fff;
}

.search-input input::-webkit-input-placeholder {
    /* Chrome */
    color: rgba(255, 255, 255, 0.3);
}

.search-input input:-ms-input-placeholder {
    /* IE 10+ */
    color: rgba(255, 255, 255, 0.3);
}

.search-input input::-moz-placeholder {
    /* Firefox 19+ */
    color: rgba(255, 255, 255, 0.3);
    opacity: 1;
}

.search-input input:-moz-placeholder {
    /* Firefox 4 - 18 */
    color: rgba(255, 255, 255, 0.3);
    opacity: 1;
}

.icon-login {
    line-height: 21px;
}

.icons-panel .icons-panel__item {
    margin-left: 40px;
    display: flex;
    align-items: center;
}

.icons-panel .icons-panel__item a:hover span {
    color: #2F80ED;
}

.icons-panel .icons-panel__item i {
    font-size: 23px;
    color: #2F80ED;
}

.icons-panel .icons-panel__item span {
    margin-left: 9px;
    font-size: 13px;
}

header .phone {
    font-size: 14px;
    margin-left: 39px;
    color: #fff;
}

header .phone:before {
    font-size: 18px;
    color: #F2C94C;
    position: relative;
    top: 3px;
    margin-right: 5px;
}

header .top-nav {
    background-color: #2F80ED;
    min-height: 50px;
    padding-top: 10px;
    padding-bottom: 10px;
}

header .top-nav .search-input {
    width: 100%;
    max-width: 363px;
}

header .top-nav .menu li {
    margin-left: 40px;
}

header .top-nav .menu li:first-child {
    margin-left: 0;
}

header .top-nav .menu li a {
    color: #fff;
    font-size: 13px;
}

header .top-nav .menu li a:hover {
    color: #F2C94C;
}

header .top-nav .menu li a.dashed-link {
    color: #F2C94C;
    border-color: #F2C94C;
}

header .bottom-nav {
    -webkit-box-shadow: 0px 5px 20px rgba(3, 3, 28, 0.1);
    -moz-box-shadow: 0px 5px 20px rgba(3, 3, 28, 0.1);
    -ms-box-shadow: 0px 5px 20px rgba(3, 3, 28, 0.1);
    box-shadow: 0px 5px 20px rgba(3, 3, 28, 0.1);
    height: 75px;
    padding-top: 9px;
}

header .bottom-nav .menu li {
    margin-right: 30px;
}

header .bottom-nav .menu li:last-child {
    margin-right: 0;
}

header .bottom-nav .menu li a {
    color: #000;
    font-size: 16px;
}

header .bottom-nav .menu li a:hover {
    color: #2F80ED;
}

.main-content {
    padding: 35px 0 80px;
    min-height: 780px;
}

.info-list li {
    display: flex;
}

.info-list li i {
    color: #F2C94C;
    display: block;
    text-align: center;
    position: relative;
}

.info-list li span {
    color: #545454;
}

.info-list.info-list-big {
    margin-top: 20px;
    position: relative;
    left: -7px;
}

.info-list.info-list-big li {
    margin: 16px 0;
}

.info-list.info-list-big li i {
    font-size: 20px;
    width: 30px;
    top: -1px;
}

.info-list.info-list-big li span {
    margin-left: 15px;
}

.info-list.info-list-card li i {
    font-size: 11px;
    line-height: 17px;
    width: 18px;
    font-size: 14px;
    top: 2px;
}

.info-list.info-list-card li span {
    margin-left: 12px;
    font-size: 11px;
    line-height: 17px;
}

.main-banner-block {
    -webkit-box-shadow: 0px 5px 20px rgba(3, 3, 28, 0.1);
    -moz-box-shadow: 0px 5px 20px rgba(3, 3, 28, 0.1);
    -ms-box-shadow: 0px 5px 20px rgba(3, 3, 28, 0.1);
    box-shadow: 0px 5px 20px rgba(3, 3, 28, 0.1);
    border-radius: 8px;
    height: 310px;
    overflow: hidden;
}

.main-banner-block .main-banner__sidebar {
    padding: 28px 20px 29px 35px;
}

.main-banner-block .main-banner__sidebar .info-list {
    margin-top: 22px;
}

.main-banner-block .main-banner__sidebar .info-list li {
    margin: 15px 0;
}

.main-banner-block .main-banner__sidebar .btn {
    width: 165px;
    margin-top: 34px;
}

.main-banner-block .main-banner {
    max-width: 900px;
    max-height: 315px;
}

.banner {
    display: block;
}

.mid-banners {
    margin-top: 30px;
}

.mid-banners .banner {
    border-radius: 8px;
    -webkit-box-shadow: 0px 5px 20px rgba(3, 3, 28, 0.1);
    -moz-box-shadow: 0px 5px 20px rgba(3, 3, 28, 0.1);
    -ms-box-shadow: 0px 5px 20px rgba(3, 3, 28, 0.1);
    box-shadow: 0px 5px 20px rgba(3, 3, 28, 0.1);
    width: 100%;
}

.show-all {
    display: block;
    margin-top: 5px;
    color: #212121;
}

.show-all:after {
    content: "\e91c";
    font-family: 'icomoon';
    color: #2F80ED;
    margin-left: 20px;
    font-size: 8px;
    position: relative;
    top: -2px;
}

.props-list li div {
    width: 50%;
    line-height: 27px;
}

.props-list li div.label {
    width: 245px;
    color: #545454;
}

.props-list li div.text {
    margin-left: 28px;
}

.main-section {
    margin-top: 30px;
}

.main-section.lk-section {
    margin-top: 40px;
}

.main-section.small {
    margin-top: 35px;
}

.main-section .section-content {
    margin-top: 35px;
}

.main-section .section-content.desc-content {
    margin-top: 20px;
}

.form-controls {
    flex-wrap: wrap;
    margin-left: -30px;
    margin-top: -30px;
}

.form-controls .form-control {
    width: calc(33% - 30px);
    margin-left: 30px;
    margin-top: 30px;
}

.form-controls .form-control input[type="text"],
.form-controls .form-control input[type="password"],
.form-controls .form-control textarea {
    margin-top: 8px;
}

.form-controls .form-control input[type="text"]:focus,
.form-controls .form-control input[type="password"]:focus,
.form-controls .form-control textarea:focus {
    border-color: #2F80ED;
}

.recommended-content {
    position: relative;
    height: 240px;
    overflow: hidden;
}

.recommended {
    position: absolute;
}

.recommended .recommend__item {
    margin-right: 30px;
    position: relative;
    width: 458px;
    height: 240px;
    overflow: hidden;
}

.recommended .recommend__item:last-child {
    margin-right: 0;
}

.recommended .recommend__item a:hover h3 {
    color: #F2C94C;
}

.recommended .recommend__item h3 {
    position: absolute;
    bottom: 34px;
    left: 38px;
    color: #fff;
    width: 169px;
}

.recommended .recommend__item .banner {
    width: 100%;
}

.poster {
    -webkit-box-shadow: 0px 5px 20px rgba(3, 3, 28, 0.1);
    -moz-box-shadow: 0px 5px 20px rgba(3, 3, 28, 0.1);
    -ms-box-shadow: 0px 5px 20px rgba(3, 3, 28, 0.1);
    box-shadow: 0px 5px 20px rgba(3, 3, 28, 0.1);
    border-radius: 5px;
    overflow: hidden;
    height: 190px;
    margin-bottom: 30px;
}

.poster .poster__thumb {
    width: 134px;
}

.poster .poster__thumb img {
    width: 100%;
}

.poster .poster__content {
    flex: 1;
    padding: 20px 20px 20px 10px;
}

.poster .poster__content .poster__title {
    font-weight: 500;
    font-size: 13px;
    line-height: 21px;
    display: block;
}

.poster .poster__content .info-list {
    margin-top: 5px;
}

.poster .poster__content .info-list li {
    margin: 7px 0;
}

.poster .poster__content .poster__bottom {
    margin-top: 13px;
    display: flex;
    position: absolute;
    bottom: 45px;
}

.poster .poster__content .poster__bottom .btn {
    margin: 0 0 0 10px;
}

.poster__bottom .poster__bottom-time .poster__bottom-time_list {
    font-size: 11px;
    line-height: 14px;
    color: #545454;
    padding-right: 10px;
    border-right: 1px solid #D5DEE9;
    max-width: 95px;
    height: 30px;
    overflow: auto;
    scroll-snap-type: y mandatory;
}

.poster__bottom .poster__bottom-time .poster__bottom-time_list li {
    scroll-snap-align: start;
}

.content-nav {
    position: relative;
    margin-top: 30px;
}

.content-nav .btn {
    margin: 0 auto;
}

.content-nav .btn-top {
    width: 50px;
    margin: 0;
    position: absolute;
    top: 0;
    right: 0;
}

.content-nav .btn-top i {
    font-size: 22px;
    position: relative;
    top: 13px;
    left: 1px;
}

.tags-list {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 17px;
}

.tags-list li a {
    border-radius: 5px;
    text-align: center;
    border: 1px solid #D5DEE9;
    height: 35px;
    line-height: 32px;
    display: block;
    font-size: 11px;
    padding: 0 15px;
}

.tags-list li a:hover {
    border-color: #2F80ED;
}

.tags-list.tags-list-date-show {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 10px;
}

.tags-list.tags-list-date-show li a {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tags-list.tags-list-date-show li a.active {
    background: #2F80ED;
    border-color: #2F80ED;
    color: #fff;
    cursor: default;
}

.tags-list.tags-list-date-show li:hover {
    border-color: #2F80ED;
}

.tags-list.tags-list-date-show li.active {
    background: #2F80ED;
    border-color: #2F80ED;
    color: #fff;
}

.event-main .event__images {
    width: 280px;
}

.event-main .event__images .event__image img {
    width: 100%;
}

.event-main .event__images .event__thumbs {
    margin-top: 15px;
}

.event-main .event__images .event__thumbs a {
    width: 80px;
    height: 60px;
    display: block;
    margin: 0 9.5px;
}

.event-main .event__images .event__thumbs a img {
    width: 100%;
}

.event-main .event__info {
    -webkit-box-shadow: 0px 5px 20px #E8E8F1;
    -moz-box-shadow: 0px 5px 20px #E8E8F1;
    -ms-box-shadow: 0px 5px 20px #E8E8F1;
    box-shadow: 0px 5px 20px #E8E8F1;
    margin-left: 30px;
    padding: 35px 50px;
    flex: 1;
    gap: 20px;
    border-radius: 7px;
    position: relative;
}

.event-main .event__info .info-list, .event-main .event__info .btn {
    margin-top: 25px;
    margin-bottom: 0;
}

.event-main .event__info .event__content-top .event__date .event__date-select-date {
    margin-bottom: 0;
    border-bottom: 1px solid #2F80ED;
}

.event-main .event__info .event__content-bottom {
    font-size: 14px;
    text-align: end;
}

.places-list-colorful li {
    width: 16.66%;
    border-top: 5px solid #000;
    text-align: center;
    padding-top: 23px;
}

.places-list-colorful li .place {
    font-weight: 500;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 2px;
    line-height: 16px;
    color: #545454;
}

.places-list-colorful li .price {
    margin-top: 5px;
}

.places-list-colorful li:nth-child(1) {
    border-color: #EB5757;
}

.places-list-colorful li:nth-child(2) {
    border-color: #F2C94C;
}

.places-list-colorful li:nth-child(3) {
    border-color: #6FCF97;
}

.places-list-colorful li:nth-child(4) {
    border-color: #56CCF2;
}

.places-list-colorful li:nth-child(5) {
    border-color: #9B51E0;
}

.places-list-colorful li:nth-child(6) {
    border-color: #DB3FD5;
}

.cheme {
    background-color: #E7ECF6;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 40px 0;
}

.cheme.cheme-big {
    height: 780px;
}

.poster-slider {
    margin-top: -10px;
    width: 101%;
}

.poster-slider .poster {
    max-width: 360px;
    width: 100%;
    margin-right: 30px;
    margin-top: 10px;
}

.poster-slider .slider__btn {
    width: 40px;
    height: 40px;
    border-radius: 5px;
    border: 1px solid #D5DEE9;
    background-color: transparent;
    top: 78px;
    transition: .2s;
}

.poster-slider .slider__btn:hover {
    border-color: #2F80ED;
    background-color: #2F80ED;
}

.poster-slider .slider__btn:hover i {
    color: #fff;
}

.poster-slider .slider__btn.slider__prev {
    left: -20px !important;
}

.poster-slider .slider__btn.slider__next {
    right: calc(-20px + 1%) !important;
}

.poster-slider .slider__btn i {
    position: relative;
    top: 2px;
}

.slider {
    position: relative;
}

.slider .slider__btn {
    position: absolute;
    z-index: 1000;
}

.slider .slider__btn.slider__prev {
    left: 0;
}

.slider .slider__btn.slider__next {
    right: 0;
}

.places-list-panel {
    height: 67px;
    border: 1px solid #D5DEE9;
    border-radius: 5px;
}

.places-list-panel li {
    text-align: center;
    width: 165px;
    height: 100%;
    padding-top: 15px;
}

.places-list-panel li a {
    display: block;
}

.places-list-panel li:first-child {
    border-radius: 5px 0 0 5px;
}

.places-list-panel li:last-child {
    border-radius: 0 5px 5px 0;
}

.places-list-panel li:hover {
    -webkit-box-shadow: 0px 5px 20px #E8E8F1;
    -moz-box-shadow: 0px 5px 20px #E8E8F1;
    -ms-box-shadow: 0px 5px 20px #E8E8F1;
    box-shadow: 0px 5px 20px #E8E8F1;
    position: relative;
    background-color: #fff;
    z-index: 1000;
    transform: scale(1.02);
}

.places-list-panel li:hover .place {
    color: #2F80ED;
}

.places-list-panel li .price {
    font-size: 10px;
    letter-spacing: 2px;
    color: #545454;
    text-transform: uppercase;
    font-weight: 500;
    margin-top: 5px;
}

.hall-items .hall-item {
    -webkit-box-shadow: 0px 5px 20px rgba(3, 3, 28, 0.1);
    -moz-box-shadow: 0px 5px 20px rgba(3, 3, 28, 0.1);
    -ms-box-shadow: 0px 5px 20px rgba(3, 3, 28, 0.1);
    box-shadow: 0px 5px 20px rgba(3, 3, 28, 0.1);
    border-radius: 5px;
    margin-bottom: 30px;
    max-width: 359.5px;
}

.hall-items .hall-item .hall__thumb {
    border-radius: 5px 5px 0 0;
    overflow: hidden;
    height: 240px;
}

.hall-items .hall-item .hall__thumb img {
    height: 100%;
}

.hall-items .hall-item .hall__content {
    padding: 25px 30px 30px 30px;
}

.hall-items .hall-item .hall__content .info-list {
    margin-top: 12px;
}

.hall-items .hall-item .hall__content .info-list li i {
    width: 30px;
    font-size: 23px;
    position: relative;
    top: 5px;
}

.hall-items .hall-item .hall__content .info-list li span {
    line-height: 25px;
    color: #545454;
    margin-left: 10px;
}

.lk-menu {
    margin-left: 15px;
}

.lk-menu li {
    margin-bottom: 25px;
    position: relative;
}

.lk-menu li:hover a {
    color: #2F80ED;
}

.lk-menu li.active a {
    color: #2F80ED;
}

.lk-menu li.active:before {
    content: "";
    display: block;
    width: 2px;
    height: 23px;
    background-color: #2F80ED;
    position: absolute;
    left: -16px;
    top: -2px;
}

.lk-table__wrap {
    -webkit-box-shadow: 0px 5px 20px #E8E8F1;
    -moz-box-shadow: 0px 5px 20px #E8E8F1;
    -ms-box-shadow: 0px 5px 20px #E8E8F1;
    box-shadow: 0px 5px 20px #E8E8F1;
    background-color: #fff;
    padding: 19px 29px 25px 30px;
}

.photo-block {
    border-radius: 5px;
    background-color: #EBEEF6;
    height: 262px;
    width: 262px;
}

.lk-buttons-panel {
    margin-top: 15px;
}

.timer .timer__num {
    background-color: #EBEEF6;
    border-radius: 5px;
    width: 100px;
    height: 40px;
    padding: 10px 15px;
    line-height: 21px;
    margin-left: 12px;
}

.timer .timer__num i {
    color: #F2C94C;
    font-size: 18px;
    position: relative;
    top: 2px;
}

.timer .timer__num span {
    margin-left: 10px;
}

.cart .cart-item {
    -webkit-box-shadow: 0px 5px 20px #E8E8F1;
    -moz-box-shadow: 0px 5px 20px #E8E8F1;
    -ms-box-shadow: 0px 5px 20px #E8E8F1;
    box-shadow: 0px 5px 20px #E8E8F1;
    padding: 30px;
    border-radius: 7px;
    margin-bottom: 30px;
    position: relative;
}

.cart .cart-item .btn-close {
    border-radius: 0px 5px 0px 5px;
}

.cart .cart-item table .button-td {
    width: 32px;
}

.cart .cart-item table .button-td .btn {
    padding: 0;
    margin-left: auto;
}

.cart .cart-item .poster {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    -ms-box-shadow: none;
    box-shadow: none;
}

.cart .cart-item .poster .poster__thumb {
    border-radius: 5px;
    overflow: hidden;
}

.cart .cart-item .poster .poster__content {
    padding: 0 30px;
}

.cart .cart-item .poster .poster__content .info-list {
    margin-top: 20px;
}

.cart-sidebar {
    border: 1px solid #D5DEE9;
    border-radius: 7px;
    font-size: 18px;
    line-height: 28px;
    font-weight: 500;
    height: 100%;
    max-height: 850px;
    padding: 0 20px;
    text-align: center;
}

.checkout {
    -webkit-box-shadow: 0px 5px 20px #E8E8F1;
    -moz-box-shadow: 0px 5px 20px #E8E8F1;
    -ms-box-shadow: 0px 5px 20px #E8E8F1;
    box-shadow: 0px 5px 20px #E8E8F1;
    border-radius: 5px;
}

.checkout .checkout__main,
.checkout .checkout__methods {
    padding: 30px;
}

.checkout .checkout__main {
    margin-bottom: 10px;
}

.checkout .checkout__methods {
    background-color: #EBEEF6;
    padding: 40px 30px;
}

.checkout .checkout__bottom-control {
    margin-top: 30px;
}

.checkout .checkout__bottom .desc {
    width: 50%;
    font-size: 11px;
    line-height: 17px;
    color: #545454;
    margin-top: 10px;
}

.checkout .checkout__bottom .desc p {
    margin-top: 10px;
    margin-bottom: 0;
}

.checkout .checkout__bottom .desc p:first-child {
    margin-top: 0;
}

.checkout .checkout__bottom .btn-checkout {
    margin-top: 12px;
    margin-bottom: 0;
}

.checkout .checkout__bottom .checkout__controls {
    margin-top: auto;
    padding-bottom: 10px;
    margin-left: 15px;
}

.cart-totals {
    margin: 40px 0;
    flex-wrap: wrap;
}

.cart-totals .promo-control {
    display: flex;
    align-items: center;
    flex: 1;
    height: 50px;
}

.cart-totals .promo-control label {
    text-transform: none;
    letter-spacing: 0;
    font-size: 16px;
    line-height: 25px;
    color: #545454;
    font-weight: 400;
}

.cart-totals .promo-control input {
    max-width: 275px;
    margin-top: 0;
    margin-left: 25px;
}

.cart-totals .promo-control input.bordered {
    border-radius: 5px 5px 5px 5px;
    border-color: #EDEDED;
}

.cart-totals .promo-control button {
    margin: 0;
    width: 50px;
    border-radius: 0px 5px 5px 0px;
}

.cart-totals .totals {
    width: 294px;
}

.cart-totals .totals .tot {
    display: flex;
    margin-bottom: 13px;
}

.cart-totals .totals .tot .title,
.cart-totals .totals .tot .value {
    flex: 1;
}

.cart-totals .totals .tot .title {
    color: #545454;
}

.cart-totals .totals .tot .value {
    text-align: right;
}

.cart-totals .totals .tot.totals-all {
    margin-top: 20px;
}

.cart-totals .totals .totals-all .title,
.cart-totals .totals div.totals-all .value {
    color: #212121;
    font-size: 30px;
    line-height: 42px;
}

footer {
    background-color: #212121;
    min-height: 310px;
    padding-top: 80px;
    padding-bottom: 55px;
}

footer .copyright {
    color: #fff;
    font-size: 11px;
}

footer .sep {
    background-color: #fff;
    opacity: .1;
    height: 1px;
    width: 98px;
    margin: 21px 0;
}

footer .social-menu {
    display: flex;
}

footer .social-menu li {
    margin-right: 10px;
    font-size: 12px;
}

footer .social-menu li a {
    width: 25px;
    height: 25.5px;
    display: block;
    border-radius: 100%;
    border: 1px solid #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
}

footer .social-menu li a:hover {
    color: #F2C94C;
    border-color: #F2C94C;
}

footer .social-menu li a i {
    position: relative;
    top: 1px;
    left: 0.5px;
}

footer .payment-menu {
    display: flex;
    flex-wrap: wrap;
}

footer .payment-menu li {
    color: #fff;
    margin-right: 20px;
    margin-bottom: 19px;
    font-size: 17px;
}

footer .payment-menu li:last-child {
    margin-right: 0;
}

footer .footer__col .footer__col-title {
    text-transform: uppercase;
    color: #F2C94C;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 2px;
    margin-bottom: 28px;
}

footer .footer__col .footer__col-menu li {
    margin-top: 2px;
}

footer .footer__col .footer__col-menu li a {
    color: #D5DEE9;
    font-size: 11px;
}

footer .footer__col .footer__col-menu li a:hover {
    color: #F2C94C;
}

.visible-767 {
    display: none;
}

.text-center {
    text-align: center;
}

.no-padding {
    padding: 0;
}

.top-nav-mobile {
    -webkit-box-shadow: 0px 5px 20px rgba(3, 3, 28, 0.1);
    -moz-box-shadow: 0px 5px 20px rgba(3, 3, 28, 0.1);
    -ms-box-shadow: 0px 5px 20px rgba(3, 3, 28, 0.1);
    box-shadow: 0px 5px 20px rgba(3, 3, 28, 0.1);
    position: relative;
    z-index: 10;
    height: 60px;
    padding-top: 6px;
}

.top-nav-mobile .mobile-menu-btn {
    color: #2F80ED;
    font-size: 21px;
    margin-right: 20px;
}

.top-nav-mobile .mobile-menu-btn.last {
    margin-right: 0;
}

.mobile-menu {
    position: absolute;
    top: 60px;
    left: 0;
    right: 0;
    background: #fff;
    overflow: hidden;
    max-height: 0;
    transition: .3s;
    z-index: 9;
}

.mobile-menu.active {
    max-height: 100%;
}

.mobile-menu .menu.bottom-menu li {
    font-size: 18px;
    font-weight: 500;
    margin-top: 27px;
}

.mobile-menu .menu.bottom-menu li:first-child {
    margin-top: 0;
}

.mobile-menu .menu.top-menu li {
    margin-top: 25px;
    font-size: 16px;
}

.mobile-menu .menu.top-menu li:first-child {
    margin-top: 0;
}

.mobile-menu .menu-block {
    padding: 25px 15px;
    border-bottom: 1px solid #D5DEE9;
}

.mobile-menu .city-select:after {
    color: #2F80ED;
}

.mobile-menu .city-select .g-select__chosen {
    color: #212121;
}

.map img {
    width: 100%;
}

.table-block .table-block__tr {
    padding-bottom: 23px;
    padding-top: 23px;
    border-bottom: 1px solid #ededed;
}

.table-block .table-block__tr:last-child {
    border: 0;
}

.table-block .table-block__tr .table-block__td {
    margin-bottom: 22px;
}

.table-block .table-block__tr .table-block__td:last-child {
    margin-bottom: 0;
}

.table-block .table-block__tr .table-block__td .table-block__title {
    color: #212121;
    font-size: 10px;
    line-height: 16px;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.table-block .table-block__tr .table-block__td .table-block__content {
    font-size: 11px;
    line-height: 17px;
    color: #545454;
    margin-top: 7px;
}

@media screen and (max-width: 1139px) {
    .main-banner-block {
        height: auto;
        overflow: visible;
        margin-bottom: 50px;
    }

    .main-banner-block .slick-dots {
        bottom: -35px;
    }

    .main-banner-block .main-banner {
        height: auto;
        width: 100%;
    }

    .main-banner-block .main-banner .banner {
        width: 100%;
    }

    header .top-nav .menu li {
        margin-left: 15px;
    }

    header .bottom-nav .menu li a {
        font-size: 14px;
    }

    .no-padding-left {
        left: 0;
    }
}

@media screen and (max-width: 991px) {
    .main-banner-block .main-banner__sidebar {
        display: none;
    }

    .cart-side-col {
        display: none;
    }

    header .bottom-nav .menu li {
        margin-right: 20px;
    }

    .hall-items .hall-item {
        margin-left: auto;
        margin-right: auto;
    }

    .hall-items .hall-item .hall__content h3 {
        font-size: 15px;
        line-height: 20px;
    }

    .hall-items .hall-item .hall__content .info-list li span {
        line-height: 16px;
        font-size: 12px;
    }

    .tags-list.tags-list-date-show {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

@media screen and (max-width: 830px) {
    .tags-list.tags-list-date-show {
        grid-template-columns: 1fr 1fr;
    }
}

@media screen and (max-width: 767px) {
    .lk-photo-col {
        margin-top: 15px;
    }

    .content-nav .btn-top {
        display: none;
    }

    #recommended-content,
    #horizontal-scroll-view {
        height: 165px;
    }

    .recommended .recommend__item {
        width: 263px;
        height: 165px;
    }

    .places-list-wrap {
        width: calc(100% + 15px);
        overflow: auto;
    }

    .cheme {
        margin-top: 25px;
    }

    .places-list-colorful {
        display: none !important;
    }

    .tags-list li {
        margin-bottom: 10px;
    }

    .tags-list li:last-child {
        margin-bottom: 0;
    }

    .event-main {
        margin-top: 25px;
    }

    .poster-slider .poster {
        max-width: 100%;
    }

    .input-group .g-radio__wrap {
        display: flex;
    }

    .input-group .g-radio__wrap .g-radio__label {
        font-size: 11px;
        position: relative;
        top: 3px;
    }

    .checkout__main h2 {
        text-align: center;
    }

    .checkout .checkout__main,
    .checkout .checkout__methods {
        padding-left: 35px;
        padding-right: 35px;
    }

    .checkout .checkout__bottom {
        flex-wrap: wrap;
    }

    .checkout .checkout__bottom .checkout__controls {
        margin-top: 5px;
        margin-left: 0;
    }

    .checkout .checkout__bottom .btn-checkout {
        margin-top: 20px;
    }

    .checkout .checkout__bottom .desc {
        width: 100%;
    }

    .checkout .checkout__bottom .desc p {
        line-height: 20px;
    }

    .form-controls {
        margin-left: 0;
        margin-top: -15px;
    }

    .form-controls .form-control {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        margin-top: 15px;
    }

    .cart-totals .promo-control {
        width: 100%;
        flex: auto;
        flex-wrap: wrap;
        height: auto;
    }

    .cart-totals .promo-control button {
        margin-top: 15px;
    }

    .cart-totals .promo-control input.bordered {
        padding: 0;
        margin-left: 0;
        margin-top: 15px;
        flex: 1;
    }

    .cart-totals .promo-control label {
        width: 100%;
    }

    .cart-totals .totals {
        width: 100%;
        margin-top: 27px;
    }

    .poster {
        height: auto;
    }

    .poster .poster__content .poster__title {
        height: 44px;
        overflow: hidden;
    }

    .info-list.info-list-big li {
        font-size: 11px;
        line-height: 17px;
        margin: 9px 0;
    }

    .info-list.info-list-big li i {
        top: 1px;
        font-size: 16px;
        width: 20px;
    }

    .cart .cart-item h2 {
        width: 80%;
    }

    .cart .cart-item .table-block .table-block__tr {
        display: flex;
        flex-wrap: wrap;
    }

    .cart .cart-item .table-block .table-block__tr .table-block__td {
        width: 50%;
    }

    .cart .cart-item .poster {
        margin-bottom: 0;
    }

    .cart .cart-item .poster .poster__content {
        padding: 0;
    }

    .cart .cart-item .poster .poster__content .info-list.info-list-big {
        left: 0;
    }

    .kassy-table-section {
        padding-top: 35px;
    }

    h3 {
        font-size: 13px;
        line-height: 21px;
    }

    .hall-items .hall-item {
        max-width: 320px;
        margin-left: auto;
        margin-right: auto;
    }

    .hall-items .hall-item .hall__thumb {
        height: 210px;
    }

    .hall-items .hall-item .hall__content {
        padding: 20px 25px 25px 25px;
    }

    .hall-items .hall-item .hall__content .info-list li i {
        font-size: 18px;
        width: 20px;
    }

    .hall-items .hall-item .hall__content .info-list li span {
        font-size: 11px;
        line-height: 17px;
        margin-top: 4px;
    }

    .hide-767,
    .breadcrumbs {
        display: none;
    }

    .visible-767 {
        display: block;
    }

    h2 {
        font-size: 18px;
        line-height: 28px;
        font-weight: 600;
    }

    .main-section {
        margin-top: 10px;
    }

    .main-section .section-content {
        margin-top: 25px;
    }

    .main-section.small {
        margin-top: 0;
    }

    .bottom-section {
        margin-top: 25px;
    }

    .main-content {
        padding: 20px 0 30px;
    }

    footer {
        padding-top: 55px;
    }

    footer .social-menu,
    footer .payment-menu {
        justify-content: center;
    }

    footer .payment-menu li {
        margin-bottom: 0;
    }

    footer .footer__col {
        text-align: center;
        margin-bottom: 35px;
    }

    footer .footer__col .footer__col-title {
        margin-bottom: 20px;
    }

    footer .footer__col.copyright-col {
        order: 6;
        margin-bottom: 0;
    }

    footer .sep {
        margin-left: auto;
        margin-right: auto;
    }

    .btn.btn-app {
        margin-left: auto;
        margin-right: auto;
    }

    header .phone {
        font-size: 13px;
        margin-left: 0;
        color: #212121;
    }

    .event-main .event__images {
        width: 134px;
    }

    .event-main .event__images .event__thumbs a {
        width: 38px;
        height: 28px;
        margin: 0 5px;
    }

    .event-main .event__info {
        -webkit-box-shadow: none;
        -moz-box-shadow: none;
        -ms-box-shadow: none;
        box-shadow: none;
        padding: 0;
    }

    .event-main .event__info .info-list,
    .event-main .event__info .btn {
        margin-top: 15px;
    }

    .event-main .event__info .btn {
        width: 105px;
        height: 30px;
        font-size: 10px;
        line-height: 21px;
    }

    .tags-list {
        margin-top: 0;
    }

    .props-list li {
        flex-wrap: wrap;
        margin-top: 20px;
    }

    .props-list li:first-child {
        margin-top: 0;
    }

    .props-list li .label,
    .props-list li .text {
        display: block;
        width: 100%;
    }

    .props-list li div.text {
        margin-left: 0px;
        margin-top: 5px;
    }
}

@media screen and (max-width: 575px) {
    .mid-banners .mid-banners__col {
        margin-top: 15px;
    }

    .mid-banners .mid-banners__col:first-child {
        margin-top: 0;
    }

    .map {
        height: 440px;
        margin-left: -15px;
        margin-right: -15px;
    }

    .map img {
        width: 100%;
        height: 100%;
    }

    .form-control {
        margin: 10px 0px;
    }

    .form-control > .simple-select {
        margin-top: 10px;
    }
}

@media screen and (max-width: 479px) {
    .places-list-panel {
        height: 40px;
    }

    .places-list-panel li {
        padding-top: 5px;
        width: 105px;
    }

    .places-list-panel li a .place {
        font-size: 12px;
    }

    .places-list-panel li a .price {
        margin-top: 3px;
    }

    .poster .poster__content .poster__bottom {
        display: block;
    }

    .poster-slider .slider__btn {
        display: none;
    }
}

@media screen and (max-width: 320px) {
    .event-main .event__images {
        width: 100px;
    }

    .event-main .event__images .event__thumbs a {
        width: 30px;
        height: 20px;
        margin: 0 3px;
    }

    .tags-list li a {
        height: 25px;
        line-height: 23px;
        font-size: 11px;
        padding: 0 10px;
    }
}


#cld .dropdown {
    position: absolute;
    z-index: 10;
    margin: 20px 0 0 -160px;
    display: none;
}

#cld .box {
    background: #fff;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, .2);
    border-radius: 3px;
    overflow: hidden;
}

#cld .box:before {
    content: '';
    position: absolute;
    right: 123px;
    top: -10px;
    width: 0;
    height: 0;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-bottom: 15px solid #fff;
}

#cld .title {
    text-transform: uppercase;
    color: #8a96a4;
    font-size: 16px;
    padding: 20px 30px;
    text-align: left;
}

#cld .calendar a {
    line-height: 18px;
    color: #13102d;
}

#cld.opened > a {
    color: #e91e63;
}

#cld.opened > a:before {
    background-position: -106px -56px;
}

#cld.opened > a:after {
    background-position: -65px -121px;
}

#cld.opened .dropdown {
    display: block;
}

/* Календарь событий */
.calendar {
    width: 360px;
    height: 330px;
    background: #fff;
    text-align: center;
}

.calendar .header {
    line-height: 50px;
    background: #358bef;
    color: #fff;
    text-transform: uppercase;
    font-size: 17px;
}

.calendar .header a {
    width: 30px;
    height: 30px;
    display: block;
    float: left;
    margin: 10px;
    background: url(../images/sprite-desktop.png) no-repeat -125px -49px;
}

.calendar .header a:hover {
    opacity: .5;
}

.calendar .header a.next {
    float: right;
    background-position: -144px -49px;
}

.calendar .days {
    padding: 20px 0 8px 0;
}

.calendar .days span {
    font: 14px PTSansBold;
    width: 42px;
    display: inline-block;
}

.calendar .grid a,
.calendar .grid span {
    width: 42px;
    display: inline-block;
    padding: 9px 0;
    position: relative;
}

.calendar .grid a:hover {
    opacity: .5;
}

.calendar .grid span {
    color: #aaa;
}

.calendar .grid b {
    color: #fff;
    display: inline-block;
    position: absolute;
    width: 34px;
    line-height: 34px;
    background: #358bef;
    border-radius: 50%;
    margin: -14px 0 0 -18px;
}

aside .calendar {
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, .1);
    border-radius: 3px;
    overflow: hidden;
}


/* Постраничная навигация */
.pager {
    padding: 30px 0;
    text-align: center;
    width: 100%;
}

.pager * {
    width: 36px;
    line-height: 34px;
    display: inline-block;
    box-shadow: 0 0 6px 0 rgba(0, 0, 0, .1);
    border-radius: 3px;
    margin: 0 5px;
}

.pager b {
    background: #358bef;
    box-shadow: 0 0 6px 0 rgba(233, 30, 99, .1);
    color: #fff;
    font-weight: normal;
}

.pager a {
    color: #333;
}

.pager a:hover {
    opacity: .7;
}

/* Модальные окна */
#overlay {
    z-index: 10;
    position: fixed;
    background-color: #000;
    opacity: 0.8;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    cursor: pointer;
    display: none;
}

#modal {
    width: 390px;
    padding: 20px;
    border: 1px solid #8a96a4;
    outline: 1px solid #fff;
    background: #fff;
    position: fixed;
    top: 40%;
    left: 50%;
    margin-left: -210px;
    z-index: 15;
    opacity: 0;
    font-family: "Roboto", sans-serif !important;
}

#modal .title {
    font: 18px PTSans;
    text-transform: uppercase;
    text-align: center;
    padding-bottom: 20px;
    font-family: "Roboto", sans-serif;
}

#modal input {
    width: 350px;
    border: 1px solid #8a96a4;
    line-height: 34px;
    padding: 0 15px;
    border-radius: 3px;
    margin-bottom: 15px;
    font-size: 13px;
}

#modal .params {
    padding-top: 15px;
}

#modal a {
    color: #8a96a4;
    border-bottom: 1px dashed #8a96a4;
}

#modal a:hover {
    border-color: transparent;
}

#modal .error {
    font-size: 12px;
    color: #358bef;
    text-align: center;
    margin-bottom: 15px;
    display: none;
}

#modal button {
    background: #358bef;
    color: #fff;
    padding: 0 30px;
    border-radius: 3px;
    border: 0;
    margin-top: 10px;
    line-height: 40px;
    font-size: 13px;
    cursor: pointer;
}

#modal button:hover {
    opacity: .7;
}

#modal .center {
    text-align: center;
}

#modal .network {
    text-align: center;
    margin-top: 20px;
    border-top: 1px solid #911d4c;
    padding: 10px;
    color: #999;
}

#modal #uLogin {
    margin-top: 10px;
}

#modal .question {
    padding-bottom: 20px;
}

#modal .close {
    width: 20px;
    height: 20px;
    position: absolute;
    top: -10px;
    right: -50px;
    cursor: pointer;
    display: block;
    background: url(../images/sprite-desktop.png) no-repeat -236px -115px;
}

#modal.reg {
    height: 504px;
    margin-top: -252px;
}

#modal.auth {
    height: 386px;
    margin-top: -193px;
}

#modal.forgot {
    height: 280px;
    margin-top: -115px;
}

#modal.password .center,
#modal.forgot .center {
    padding-top: 15px;
}

#modal.password .question,
#modal.forgot .question {
    font-size: 12px;
}

#modal.password {
    height: 200px;
    margin-top: -100px;
}

#account input[type="radio"],
#cart input[type="radio"],
input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    z-index: -1;
}

#account input[type="radio"] + label,
#cart input[type="radio"] + label,
input[type="checkbox"] + label {
    display: block;
    cursor: pointer;
    margin: 0 0 15px 45px;
    position: relative;
}

#account input[type="radio"] + label:before,
#cart input[type="radio"] + label:before,
input[type="checkbox"] + label:before {
    content: '';
    position: absolute;
    display: block;
    width: 30px;
    height: 17px;
    top: 0;
    left: -45px;
    background: url(../images/sprite-desktop.png) no-repeat;
}

#account input[type="radio"]:not(checked) + label:before,
#cart input[type="radio"]:not(checked) + label:before,
input[type="checkbox"]:not(checked) + label:before {
    background-position: -374px -88px;
}

#account input[type="radio"]:checked + label:before,
#cart input[type="radio"]:checked + label:before,
input[type="checkbox"]:checked + label:before {
    background-position: -324px -88px;
}

#cart input[type="radio"]:disabled + label {
    opacity: .4;
}

/* Отзывы на странице */
.comments {
    margin-bottom: 60px;
}

.comments .comment {
    display: inline-block;
    width: 545px;
    box-sizing: border-box;
    margin: 0 40px 20px 0;
    vertical-align: top;
    font-size: 15px;
}

.comments .comment:nth-child(2n) {
    margin-right: 0;
}

.comment .name {
    font-family: PTSansBold, sans-serif;
    font-weight: normal;
}

.comment .date {
    float: right;
    font-size: 13px;
    margin-top: 5px;
}

.comment .text {
    color: #8a96a4;
    padding-top: 5px;
}

.comment .rate {
    margin-left: 20px;
    background: url(../images/sprite-desktop.png) no-repeat;
    display: inline-block;
    height: 15px;
    width: 88px;
    position: absolute;
    margin-top: 2px;
}

.comment .r1 {
    background-position: -87px -88px;
}

.comment .r2 {
    background-position: -69px -88px;
}

.comment .r3 {
    background-position: -51px -88px;
}

.comment .r4 {
    background-position: -33px -88px;
}

.comment .r5 {
    background-position: -15px -88px;
}

.comments .more a {
    text-transform: uppercase;
    color: #8a96a4;
    border-bottom: 1px dashed #8a96a4;
}

.comments .more a:hover {
    border-color: transparent;
}

.comments .form {
    padding-top: 20px;
    width: 550px;
}

.comments .form input {
    box-sizing: border-box;
    line-height: 30px;
    padding: 0 15px;
    width: 100%;
    border: 1px solid #8a96a4;
    color: #8a96a4;
    border-radius: 3px;
    background: transparent;
    font-size: 13px;
    margin-bottom: 15px;
}

.comments .form textarea {
    box-sizing: border-box;
    height: 85px;
    padding: 10px 15px;
    width: 100%;
    border: 1px solid #8a96a4;
    color: #8a96a4;
    border-radius: 3px;
    background: transparent;
    font-size: 13px;
    margin-bottom: 15px;
}

.comments .form button {
    border: 1px solid #358bef;
    color: #358bef;
    padding: 0 25px;
    line-height: 30px;
    background: transparent;
    border-radius: 3px;
    font-size: 12px;
}

.comments .form .rating {
    width: 200px;
    float: right;
}

.comments .form .rating b {
    background: url(../images/sprite-desktop.png) no-repeat -394px -53px;
    display: inline-block;
    height: 24px;
    width: 24px;
    cursor: pointer;
    float: right;
    margin-left: 7px;
}

.comments .form .rating b.s,
.comments .form .rating b:hover {
    background-position: -368px -53px;
}

.comments .confirm {
    color: #8a96a4;
    display: none;
    font-size: 16px;
}

.comments .confirm p {
    font-family: PTSansBold, sans-serif;
    margin-bottom: 5px;
    color: #333;
}

.comments .nothing {
    color: #8a96a4;
    font-size: 15px;
}

.comments .nothing div {
    padding-top: 10px;
}

.comments .nothing a {
    color: #8a96a4;
    border-bottom: 1px dashed #8a96a4;
}

.comments .nothing a:hover {
    border-color: transparent;
}

.age {
    font-size: 15px;
    padding: 0 0 20px 30px;
    position: relative;
}

.age:before {
    content: '';
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    background: url(../images/sprite-desktop.png) no-repeat -329px -54px;
    top: 0;
    left: 0;
}

#account .error {
    color: #358bef;
    padding: 10px 0;
    display: none;
}

/* Слайдер на главной странице */
#slider {
    margin: 0 0 80px 0;
    padding: 0;
    border-radius: 5px;
    box-shadow: 0 0 8px rgba(0, 0, 0, .1);
    overflow: hidden;
    height: 315px;
    list-style: none;
}

#slider .box {
    height: 350px;
    width: 1140px;
    background: #fff;
    overflow: hidden;
    margin: 0;
}

#slider .image {
    display: inline-block;
    float: right;
}

#slider .box img {
    width: 850px;
    height: 315px;
}

#slider .view {
    float: left;
    width: 290px;
    height: 350px;
    box-sizing: border-box;
    position: relative;
    padding: 5px;
}

#slider .title {
    font-size: 18px;
    line-height: 28px;
    font-weight: 500;
}

#slider .title:hover {
    opacity: .7;
}

#slider .buy {
    position: absolute;
    left: 34px;
    right: 30px;
    bottom: 60px;
}


#slider .date,
#slider .venue {
    margin: 15px 0 0 22px;
    position: relative;
}

#slider .date:before,
#slider .venue:before {
    content: '';
    position: absolute;
    display: block;
    background: url(../images/sprite-desktop.png) no-repeat;
    height: 14px;
    width: 14px;
    top: 2px;
    left: -22px;
}

#slider .date:before {
    background-position: -43px -56px;
}

#slider .venue:before {
    background-position: -85px -56px;
}

.main-banner__sidebar {
    padding: 28px 20px 29px 35px;
}

.info-list li {
    margin: 15px 0;
}

/* Схема мест */
#map {
    min-height: 200px;
    margin-top: -50px;
}

#map .box {
    margin: 0 auto;
}

#map .load {
    padding: 40px;
    text-align: center;
    line-height: 20px;
    display: none;
}

#map .legend {
    text-align: center;
    padding: 76px 0;
    font-size: 16px;
}

#map .legend span {
    display: block;
    width: 16px;
    height: 16px;
    position: relative;
    margin: 0 15px 0 15px;
    bottom: 7px;
    border: 1px solid #bbb;
    border-radius: 2px;
}

#map .legend div {
    display: inline-block;
    white-space: nowrap;
    margin-bottom: 10px;
}

#map .places {
    position: relative;
}

#map .places b {
    position: absolute;
    font-weight: normal;
}

#map .places .place {
    width: 16px;
    height: 16px;
    border: 1px solid #8a96a4;
    background-color: #f6f7fb;
    font-size: 8px;
    line-height: 16px;
    text-align: center;
    color: #777;
    border-radius: 2px;
}

#map .places .ticket {
    cursor: pointer;
}

#map .places .ticket img {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
}

#map .places .selected {
    background-color: #ec5959 !important;
    border: 1px solid #8d1d4b;
}


/* Подсказка при наведении на место */
#map .places span {
    display: none;
    position: absolute;
    z-index: 10;
    background: #000;
    padding: 8px 10px 10px 10px;
    color: #fff;
    opacity: .8;
    font-size: 12px;
    border-radius: 4px;
    white-space: nowrap;
    text-align: left;
}

#map .places span strong {
    font: 14px PTSansBold;
    font-weight: normal;
    display: block;
}

#map .places span div {
    font-size: 10px;
}

#map .places span:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
}

#map .places span.tr {
    bottom: 33px;
    left: -16px;
}

#map .places span.tr:after {
    left: 10px;
    bottom: -10px;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-top: 15px solid #000;
}

#map .places span.tl {
    bottom: 33px;
    right: -16px;
}

#map .places span.tl:after {
    right: 10px;
    bottom: -10px;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-top: 15px solid #000;
}

#map .places span.br {
    top: -16px;
    left: 43px;
}

#map .places span.br:after {
    left: -10px;
    top: 10px;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    border-right: 15px solid #000;
}

#map .places span.bl {
    top: -16px;
    right: 43px;
}

#map .places span.bl:after {
    right: -10px;
    top: 10px;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    border-left: 15px solid #000;
}


/* Входные места */
#map .admission {
    padding-bottom: 10px;
    text-align: center;
    width: 890px;
    margin: 0 auto;
    border: 1px solid #8a96a4;
    border-radius: 3px;
}

#map .admission .header {
    display: table;
    background: #8a96a4;
    margin-bottom: 10px;
}

#map .admission .header div {
    line-height: 50px;
    display: table-cell;
    vertical-align: middle;
    color: #fff;
    text-transform: uppercase;
}

#map .admission .name {
    width: 400px;
}

#map .admission .price {
    width: 170px;
}

#map .admission .count {
    width: 150px;
}

#map .admission .cart {
    width: 170px;
}

#map .admission .sector {
    overflow: hidden;
    display: table;
}

#map .admission .sector:hover {
    background: #edeff7;
}

#map .admission .sector div {
    padding: 0 15px;
    height: 50px;
    box-sizing: border-box;
    display: table-cell;
    vertical-align: middle;
}

#map .admission select {
    border: 1px solid #8a96a4;
    line-height: 30px;
    height: 30px;
    border-radius: 3px;
    padding: 0 15px;
    width: 70px;
}

#map .admission button {
    border: 0;
    background: #358bef;
    color: #fff;
    line-height: 30px;
    height: 30px;
    padding: 0 20px;
    border-radius: 3px;
}

#map .admission button:hover {
    opacity: .7;
}

#map .admission .cart span {
    display: none;
    color: #8a96a4;
}

#map .to-cart {
    text-align: center;
    padding: 40px 0 100px 0;
}

#map .to-cart a {
    background: #358bef;
    color: #fff;
    display: inline-block;
    line-height: 40px;
    padding: 0 20px;
    border-radius: 3px;
}

#map .to-cart a:hover {
    opacity: .7;
}

/* Скроллер схемы зала */
#scroller {
    width: 100%;
    overflow: hidden;
    position: relative;
}

#map .places {
    position: absolute;
    z-index: 1;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    min-width: 100%;
    box-sizing: border-box;
    padding: 20px;
}

/* Информация о покупке билетов */
.purchase {
    background: #fff;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, .1);
    padding: 30px;
    margin-bottom: 10px;
    margin-top: 22px;
    color: #8a96a4;
    position: relative;
}

.purchase .cart {
    position: absolute;
    background: #358bef;
    color: #fff;
    display: inline-block;
    line-height: 40px;
    padding: 0 20px;
    border-radius: 3px;
    top: 50%;
    right: 30px;
    margin-top: -20px;
}

.purchase .cart:hover {
    opacity: .7;
}

.purchase ol {
    margin: 0;
    padding: 0 20px;
    line-height: 22px;
    font-size: 15px;
}

/* Описание */
.description {
    color: #8a96a4;
    font-size: 15px;
}

.description p {
    margin: 0 0 20px 0;
}

.promocode_input {
    align-items: center;
    flex: 1;
    height: 50px;
}

input.invalid,
select.invalid,
textarea.invalid {
    border: 1px solid #e1778d !important;
    background-color: #f8dbdd !important;
}

input[type="checkbox"].invalid + label {
    border-bottom: 1px solid #e1778d !important;
    background: #f8dbdd !important;
}

input.valid,
select.valid,
textarea.valid {
    border: 1px solid #859b75 !important;
    background-color: #e0efd8 !important;
}

#total .discount {
    color: #e91e63;
    display: none;
}

#total .fee {
    display: none;
}

#order-form .retail,
#order-form .eticket {
    display: none;
}

#order-form .retail-link {
    display: none;
}

#order-form .retail-link a {
    border-bottom: 1px dashed #358bef;
    color: #358bef;
    opacity: .5;
}

#order-form .retail-link a:hover {
    border-bottom: 1px dashed #fff;
}

#order-form .g-radio__wrap input:checked + .g-radio__wrap .retail-link {
    display: block;
}

#order-form .form .delivery {
    display: none;
}

#order-form .form .delivery {
    display: none;
}

#order-form .form input,
#order-form .form textarea {
    width: 310px;
    border: 1px solid #8a96a4;
    padding: 7px 15px;
    border-radius: 3px;
    margin-bottom: 10px;
    background: transparent;
    font-size: 13px;
}

#order-form .form textarea {
    height: 40px;
}

#order-form a {
    color: #358bef;
    border-bottom: 1px dashed #358bef;
}

.cart_date {
    width: 205px !important;
    border: 1px solid #8a96a4;
    padding: 0 15px;
    border-radius: 3px;
    margin-bottom: 13px;
    float: right;
    line-height: 30px;
    height: 30px;
    font-size: 13px;
    margin-right: 27px;
    margin-top: -7px;
}

.cart_date {
    line-height: 30px;
}

.date {
    font-size: 13px;
    margin-top: 10px;
}

.cart_date span {
    width: 100% !important;
}

.cart_date:after {
    top: 0;
}

aside {
    float: right;
    width: 360px;
}

#left-block {
    width: 750px;
}

.events .event {
    height: 70px;
    box-shadow: 0 0 6px 0 rgba(0, 0, 0, .1);
    background: #fff;
    margin-bottom: 10px;
    overflow: hidden;
    border-radius: 3px;
    max-width: 900px;
}

.events .event + h4 {
    margin-top: 30px;
}

.events img {
    float: left;
    width: 144px;
}

.events .buy {
    float: right;
    width: 200px;
    height: 70px;
    position: relative;
}

.events .buy a {
    color: #fff;
    position: absolute;
    top: 10px;
    right: 20px;
    width: 130px;
    line-height: 30px;
    background-color: #358bef;
    text-align: center;
    border-radius: 3px;
    font-size: 12px;
    display: block;
}

.events .buy a:hover {
    opacity: .8;
}

.events .buy a span {
    position: relative;
    display: inline-block;
}

.events .fee {
    position: absolute;
    display: block;
    width: 22px;
    height: 22px;
    background: url(../images/sprite-desktop.png) no-repeat -428px -85px;
    right: 170px;
    top: 24px;
    box-shadow: 0 3px 10px 0 rgba(255, 152, 0, .5);
    border-radius: 50%;
}

.events .info {
    margin: 13px 210px 0 165px;
}

.events .title {
    font-weight: 500;
    font-size: 13px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.events .info a:hover {
    opacity: .7;
}

.events .details {
    color: #8a96a4;
    font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.events .details a {
    color: #8a96a4;
}

.events .details div {
    margin-right: 15px;
    padding-left: 15px;
    position: relative;
    display: inline-block;
    overflow: hidden;
}

.events .details div:last-child {
    margin-right: 0;
}

.events .details div.venue {
    width: 130px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.events .details div.venue:before {
    background-position: -434px -58px;
}

.events .details div.date {
    width: 90px;
}

.events .details div.date:before {
    background-position: -457px -58px;
}

.events .details div.price:before {
    background-position: -477px -58px;
}

.below {
    max-width: 900px;
    text-align: center;
    padding-top: 30px;
}

.info-card {
    display: flex;
}

.info-card li {
    margin-right: 15px;
    margin-top: 10px;
}

.info-card li span {
    margin-left: 5px !important;
}

.afisha_filters {
    margin-bottom: 25px;
}

.cartimer_custom {
    display: none !important;
}

/* Страница 404-й ошибки */
.error404 {
    min-height: 500px;
}

.error404 .title {
    font-size: 154px;
    text-align: center;
    padding: 50px 0 30px 0;
}

.error404 .note {
    width: 500px;
    margin: 0 auto;
    color: #8a96a4;
    text-align: center;
}

.error404 a {
    color: #358bef;
    border-bottom: 1px dashed #358bef;
}

.error404 a:hover {
    border-color: transparent;
}

#order-form div.checkout__methods div.form-controls div.form-control input:checked + label .retail-link {
    display: block;
}

#account input[type="radio"] + label,
#cart input[type="radio"] + label,
input[type="checkbox"] + label {
    display: block;
    cursor: pointer;
    margin: 0 0 15px 45px;
    position: relative;
}

#account input[type="radio"] + label:before,
#cart input[type="radio"] + label:before,
input[type="checkbox"] + label:before {
    content: '';
    position: absolute;
    display: block;
    width: 30px;
    height: 17px;
    top: 0;
    left: -45px;
    background: url(../images/sprite-desktop.png) no-repeat;
}

/* Форма подтверждения принятого заказа */
#cart .confirm {
    padding: 20px 0 50px 0;
    text-align: center;
}

#cart .confirm .title {
    color: #8a96a4;
    padding-bottom: 50px;
}

#cart .confirm .order {
    font-size: 20px;
    padding-bottom: 20px;
}

#cart .confirm .number {
    font-size: 28px;
}

#cart .details {
    border-top: 1px solid #ddd;
    width: 600px;
    margin: 0 auto;
    padding: 10px 0 250px 0;
}

#cart .details div {
    padding: 15px 40px;
    color: #8a96a4;
}

#cart .details div:before {
    content: '';
    background: url(../images/sprite-desktop.png) no-repeat;
    display: inline-block;
    width: 20px;
    height: 20px;
    position: absolute;
    margin: 0 0 0 -35px;
}

#cart .details .date:before {
    background-position: -152px -115px;
}

#cart .details .coast:before {
    background-position: -172px -115px;
}

#cart .details .mail:before {
    background-position: -192px -115px;
}

/* Пустой результат поиска */
.empty {
    background: url(../images/empty.png) no-repeat center 20px;
    max-width: 430px;
    padding: 200px 0 100px 0;
    text-align: center;
    font-size: 16px;
    color: #8a96a4;
    line-height: 21px;
    margin: auto;
}

.empty a {
    color: #358bef;
    border-bottom: 1px dashed #358bef;
}

.empty a:hover {
    border-color: transparent;
}

#payments {
    min-height: 500px;
}

#payments .result {
    box-shadow: 0 0 6px 0 rgba(0, 0, 0, .1);
    border-radius: 3px;
    padding: 30px;
    text-align: center;
    max-width: 600px;
    margin: 50px auto 40px auto;
    font-size: 15px;
    background: #fff;
}

#payments .result b {
    color: #333;
    font-size: 18px;
}

#payments .note {
    color: #8a96a4;
    padding-top: 30px;
}


/* Платежная форма */
.pay-form {
    box-shadow: 0 0 6px 0 rgba(0, 0, 0, .1);
    padding: 50px;
    text-align: center;
    max-width: 500px;
    margin: 50px auto 40px auto;
    color: #8a96a4;
    border-radius: 3px;
}

#centerButtom {
    border-radius: 3px;
    line-height: 40px;
    padding: 0 25px;
    color: #fff;
    font-size: 13px;
    border: 0;
    background: #358bef;
    margin-bottom: 20px;
    display: inline-block;
    cursor: pointer;
}

#centerButtom:hover {
    opacity: .7;
}

.pay-ssl,
.pay-mail {
    width: 500px;
    margin: 0 auto;
    padding: 15px 40px;
    color: #7f92a8;
}

.pay-ssl:before,
.pay-mail:before {
    content: '';
    background: url(../images/sprite-desktop.png) no-repeat;
    display: inline-block;
    width: 20px;
    height: 20px;
    position: absolute;
    margin: 0 0 0 -35px;
}

.pay-ssl:before {
    background-position: -172px -115px;
}

.pay-mail:before {
    background-position: -192px -115px;
}

.e-payment-form {
    display: block !important;
}

.topic {
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #212121;
    font-weight: 500;
}

input[type="checkbox"].invalid + label {
    border-bottom: 1px solid #e1778d !important;
    background: #f8dbdd !important;
}

input.valid,
select.valid,
textarea.valid {
    border: 1px solid #859b75 !important;
    background-color: #e0efd8 !important;
}

.confirm-pay {
    display: inline;
    margin-right: 10px;
}

#order-form .form-control .title {
    margin-bottom: 10px;
}

/* Список акций */
#promos #filter {
    padding: 21px 30px 11px 30px;
}

.promos .promo {
    height: 100px;
    box-shadow: 0 0 6px 0 rgba(0, 0, 0, .1);
    background: #fff;
    margin-bottom: 15px;
    overflow: hidden;
    border-radius: 3px;
}

.promo img {
    float: left;
    height: 100px;
    width: 205px;
}

.promo .info {
    margin: 10px 20px 0 230px;
    font-size: 13px;
}

.promo .title {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 16px;
}

.promo .info a:hover {
    opacity: .7;
}

.promo .note {
    color: #8a96a4;
    margin: 5px 0;
    overflow: hidden;
    height: 33px;
}

.promo .valid {
    color: #358bef;
}

.promo .novalid {
    color: #ccc;
}

.promo.notactive .title {
    opacity: .8;
}

.promo.notactive img {
    filter: grayscale(100%);
}

.promo-filter {
    height: 100px;
    box-shadow: 0 0 6px 0 rgba(0, 0, 0, .1);
    background: #fff;
    margin-bottom: 15px;
    overflow: hidden;
    border-radius: 3px;
}

.promo-filter .title {
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #212121;
    font-weight: 500;
    margin-bottom: 10px;
}

.promos-container {
    margin-top: 10px;
}

/* Сетка описания объекта */
.grid {
    overflow: hidden;
    margin-bottom: 40px;
}

.grid .left {
    float: left;
    width: 280px;
}

.grid .left .photo {
    width: 100%;
}

.grid .left img {
    border-radius: 3px;
}

.grid .left .photos {
    padding-top: 20px;
}

.grid .left .photos a {
    margin-right: 16px;
}

.grid .left .photos a:nth-child(3n) {
    margin-right: 0;
}

.grid .right {
    margin-left: 310px;
}

.grid .info {
    background: #fff;
    border-radius: 3px;
    box-shadow: 0 0 6px 0 rgba(0, 0, 0, .1);
    padding: 30px;
    position: relative;
    overflow: hidden;
}

.grid .info .address {
    position: relative;
    padding-left: 20px;
}

.grid .info .address:before {
    content: '';
    position: absolute;
    top: 2px;
    left: 0;
    display: block;
    width: 9px;
    height: 14px;
    background: url(../images/sprite-desktop.png) no-repeat -86px -56px;
}

.grid .info.map {
    min-height: 100px;
}

.grid .info.map h1,
.grid .info.map .address {
    margin-right: 300px;
}

.grid .y_map {
    position: absolute;
    width: 280px;
    top: 0;
    bottom: 0;
    right: 0;
}

.grid .info ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.grid .info li {
    display: inline-block;
    width: 360px;
    margin-right: 15px;
    vertical-align: top;
}

.grid .info .title {
    text-transform: uppercase;
    color: #8a96a4;
    font-size: 16px;
    padding-bottom: 20px;
}

.grid .info .age {
    font: 15px PTSansBold;
    padding: 0 0 20px 30px;
    position: relative;
}

.grid .info .age:before {
    content: '';
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    background: url(../images/sprite-desktop.png) no-repeat -329px -54px;
    top: 0;
    left: 0;
}

.grid .info .award {
    font: 15px PTSansBold;
    padding: 0 0 20px 30px;
    position: relative;
}

.grid .info .award:before {
    content: '';
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    background: url(../images/sprite-desktop.png) no-repeat -199px -53px;
    top: -1px;
    left: 0;
}

.grid .genres a {
    display: inline-block;
    line-height: 30px;
    font-size: 16px;
    padding: 0 15px;
    border-radius: 15px;
    box-shadow: 0 0 6px 0 rgba(0, 0, 0, .1);
    margin: 0 10px 15px 0;
    color: #8a96a4;
}

.grid .genres a:hover {
    opacity: .7;
}

.grid .info .venue {
    padding: 0 0 20px 30px;
    position: relative;
}

.grid .info .venue:before {
    content: '';
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    background: url(../images/sprite-desktop.png) no-repeat -202px -85px;
    top: 0;
    left: 0;
}

.grid .info .venue a {
    color: #333;
    font: 15px PTSansBold;
}

.grid .info .venue a:hover {
    opacity: .7;
}

.grid .info .price {
    font: 15px PTSansBold;
    padding: 0 0 20px 30px;
    position: relative;
}

.grid .info .price:before {
    content: '';
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    background: url(../images/sprite-desktop.png) no-repeat -258px -86px;
    top: 0;
    left: 0;
}

.grid .info .date {
    font: 15px PTSansBold;
    padding: 0 0 20px 30px;
    position: relative;
}

.grid .info .date:before {
    content: '';
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    background: url(../images/sprite-desktop.png) no-repeat -230px -85px;
    top: 0;
    left: 0;
}

.grid .info .close {
    padding: 12px 25px 0 25px;
    border-radius: 25px;
    box-shadow: 0 0 6px 0 rgba(0, 0, 0, .1);
    height: 50px;
    box-sizing: border-box;
    display: inline-block;
    text-align: center;
    font: 18px PTSansBold;
    line-height: 14px;
}

.grid .info .close span {
    display: inline-block;
    padding-right: 15px;
    margin-right: 15px;
    border-right: 1px solid #f6f7fb;
}

.grid .info .close span:last-child {
    padding-right: 0;
    margin-right: 0;
    border-right: none;
}

.grid .info .close small {
    color: #8a96a4;
    font: 10px PTSans;
    text-transform: uppercase;
}

.grid .info .buy {
    padding-top: 10px;
}

.grid .info .buy a,
.grid .info .buy button {
    line-height: 30px;
    padding: 0 40px 0 65px;
    background-color: #e91e63;
    border-radius: 3px;
    color: #fff;
    border: none;
    outline: 0;
    cursor: pointer;
    position: relative;
    box-shadow: 0 3px 10px 0 rgba(233, 30, 99, .5);
    font-size: 12px;
}

.grid .info .buy a:hover,
.grid .info .buy button:hover {
    opacity: .7;
}

.grid .info .buy a:before,
.grid .info .buy button:before {
    content: '';
    position: absolute;
    display: block;
    width: 16px;
    height: 14px;
    background: url(../images/sprite-desktop.png) no-repeat -15px -56px;
    top: 7px;
    left: 40px;
}

.grid .info .fee {
    position: absolute;
    width: 22px;
    height: 22px;
    background: url(../images/sprite-desktop.png) no-repeat -13px -12px;
    box-shadow: 0 1px 6px 0 rgba(170, 206, 55, .3);
    border-radius: 50%;
    top: 20px;
    right: 50px;
}

.grid .info .eticket {
    position: absolute;
    width: 22px;
    height: 22px;
    background: url(../images/sprite-desktop.png) no-repeat -460px -85px;
    box-shadow: 0 1px 6px 0 rgba(255, 152, 0, .3);
    border-radius: 50%;
    top: 20px;
    right: 20px;
}

/* Кнопки социальных сетей */
.uptolike-buttons {
    text-align: center;
    padding-top: 15px;
    height: 36px;
}

.uptolike-buttons a:hover {
    opacity: .5;
}

/* Список новостей */
#news .news {
    height: 100px;
    box-shadow: 0 0 6px 0 rgba(0, 0, 0, .1);
    background: #fff;
    margin-bottom: 15px;
    overflow: hidden;
    border-radius: 3px;
}

.news img {
    float: left;
    height: 100px;
    width: 205px;
}

.news .info {
    margin: 10px 20px 0 230px;
    font-size: 13px;
}

.news .title {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 16px;
}

.news .info a:hover {
    opacity: .7;
}

.news .note {
    color: #8a96a4;
    margin: 5px 0;
    overflow: hidden;
    height: 33px;
}

.news .date {
    color: #8a96a4;
    opacity: .5;
    font-size: 12px;
    margin-top: 7px;
}

.bx-viewport {
    height: 315px !important;
}

.genre-categories li {
    display: inline-block;
    padding-right: 40px;
}

.genre-categories li:last-child {
    padding-right: 0;
}

.genre-categories a {
    color: #13102d;
    line-height: 30px;
}

.genre-categories a:hover {
    opacity: .5;
}

.genre-categories .red a {
    color: #e91e63;
}

.genre-categories li:hover ul {
    display: block;
}

.genre-categories li ul {
    display: none;
    position: absolute;
    background: #fff;
    border: 1px solid #e7e8ef;
    z-index: 10;
    padding: 10px 0;
}

.genre-categories li li {
    display: block;
    padding: 0;
    margin-right: 0 !important;
}

.genre-categories li li a {
    display: block;
    padding: 0 35px 0 20px;
}

/* Блок выбора сектора */
.event-sectors {
    overflow: hidden;
    margin-top: 35px;
}

.hall-scheme {
    float: right;
    margin-right: 30px;
    width: 400px;
    text-align: center;
}

.hall-scheme img {
    cursor: pointer;
    width: 200px;
    border-radius: 3px;
}

#svg {
    float: right;
    margin-right: 30px;
    width: 400px;
}

#svg path {
    stroke: #922552;
    fill: #f6f7fb;
    stroke-width: 1px;
}

#svg path.active {
    fill: #dbdbdb;
    stroke: #922552;
    cursor: pointer;
}

#svg path.active:hover {
    opacity: .8;
}

#svg text {
    font-size: 10px;
    pointer-events: none;
}

#svg div {
    background: #000;
    padding: 10px;
    position: absolute;
    opacity: .9;
    color: #fff;
    border-radius: 5px;
    width: 200px;
    font-size: 12px;
    line-height: 18px;
    z-index: 10;
}

#svg div:after {
    content: '';
    position: absolute;
    right: -10px;
    top: 10px;
    width: 0;
    height: 0;
    border-top: 15px solid transparent;
    border-left: 15px solid #000;
    border-bottom: 15px solid transparent;
}

#svg div strong {
    font-size: 14px;
    font-weight: normal;
    display: block;
}

#svg div span {
    color: #bbb;
    display: block;
}

#sectors {
    border: 1px solid #8a96a4;
    border-radius: 3px;
    width: 700px;
    padding-bottom: 15px;
}

#sectors .title {
    line-height: 50px;
    text-align: center;
    color: #8a96a4;
    text-transform: uppercase;
}

#sectors .head {
    color: #fff;
    text-transform: uppercase;
    background: #8a96a4;
    overflow: hidden;
    margin-bottom: 10px;
}

#sectors .sector {
    overflow: hidden;
    font-size: 15px;
}

#sectors .sector:hover {
    background: #edeff7;
}

#sectors .head div,
#sectors .sector div {
    float: left;
    box-sizing: border-box;
    padding: 0 0 0 20px;
    line-height: 50px;
}

#sectors .name {
    width: 330px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#sectors .price {
    width: 160px;
}

#sectors .order {
    width: 190px;
}

#sectors button {
    line-height: 30px;
    padding: 0 40px 0 40px;
    background-color: #358bef;
    border-radius: 3px;
    color: #fff;
    border: none;
    outline: 0;
    cursor: pointer;
    position: relative;
    font-size: 12px;
}

#sectors button:hover {
    opacity: .8;
}

#sectors button:before {
    content: '';
    position: absolute;
    display: block;
    width: 16px;
    height: 14px;
    top: 7px;
    left: 15px;
}

.footer-content {
    justify-content: center;
}

#account .adaptive-table a.fade {
    color: #358bef;
}

#account .adaptive-table a.grey {
    color: #8a96a4;
}

#account .note {
    color: #8a96a4;
    padding-bottom: 20px;
}

#account .note b {
    color: #333;
    font-family: PTSansBold, sans-serif;
}

#account .form button {
    background: #358bef;
    color: #fff;
    line-height: 40px;
    padding: 0 25px;
    border-radius: 3px;
    border: 0;
    margin-top: 20px;
    cursor: pointer;
}

#account .form button:hover {
    opacity: .7;
}

#account .error {
    color: #358bef;
    padding: 10px 0;
    display: none;
}

.order-number {
    width: 140px;
    font-size: 18px;
}

.order-actions {
    font-size: 13px;
    color: #8a96a4;
    width: 250px;
}

.order-info {
    width: 380px;
    color: #8a96a4;
    font-size: 13px;
}

.order-info span {
    color: #333;
}

#map .legend ul {
    justify-content: center;
}

.logo img {
    width: 140px;
}

.events h2 {
    margin-bottom: 30px;
}

.event__info .y_map {
    position: absolute;
    width: 280px;
    top: 0;
    bottom: 0;
    right: 0;
}

#retail {
    padding-bottom: 50px;
}

#retail .map {
    height: 380px;
    display: none;
}

.retail-table {
    margin-top: 20px;
}

#banners2 {
    overflow: hidden;
    padding-bottom: 40px;
}

#banners2 .carusel {
    width: 570px;
    height: 200px;
    overflow: hidden;
    border: 1px solid #f5f5f5;
    margin-left: 10px;
    border-radius: 8px;
}

#banners2 .right {
    float: right;
}

#banners2 img {
    width: 570px;
    height: 200px;
}

/* Баннерокрутилка */
.carusel .rotate,
.carusel .box {
    display: block;
    width: 100%;
    height: 100%;
}

.carusel .rotate {
    position: relative;
}

.carusel .box {
    opacity: 0;
    display: none;
    position: absolute;
    top: 0;
    left: 0;
}

.carusel .box:first-child {
    opacity: 1;
    display: block;
}