
body {
    background:#fff;
    text-align:center;
}
.main-container {
    background:#fff;
    display:inline-block;
    width:100%;
    /*max-width: 1600px;*/
    overflow:hidden;
    position:relative;
    min-height: 100vh;
}

.min-height {min-height:50vh;}

.top {}
.top-menu {
    background: #333;
    padding-top: 8px;
    padding-bottom: 8px;
}

.pc-menu {
    margin: 0 -16px;
}

.top-menu-item.sel {
    border-radius: 8px;
    border: 1px solid #8e6917;
    box-sizing: border-box;
    color: #faf2e0;
}
.top-menu-item:hover {
    color: #faf2e0;
}
.top-menu-item {
    display: inline-block;
    vertical-align: middle;
    text-decoration: none;
    text-align: center;
    font-weight: 400;
    padding: 5px 14px;
    margin: 0 2px;
    color: #edd192;
    border: 1px solid rgba(0,0,0,0);
    transition: color 300ms;
}

.popup-menu-button:hover {
    transform: scale(1.05);
}
.popup-menu-button {
    display: none;
    padding:3px;
    border-radius: 8px;
    border:1px solid #edd192;
    cursor: pointer;
    transition: all 300ms;
}
.popup-menu-button .ico.sitemenu {
    transform: scale(0.5);
}

.mob-menu .col {
    vertical-align: middle;
}

.top-back {
    background: url("../images/back-blur-2.jpg") no-repeat 50% 38%;
    background-size: cover;
}

.top-back .cont {
    text-align: center;
}
.top-back .logo {
    padding: 30px 0;
    display: inline-block;
}
.top-back .logo img {
    width: 100%;
    max-width: 380px;
}


.menu-bottom {
    background:white;
    border-radius: 0 0 38px 38px;
    margin-bottom: 30px;
}
.menu-bottom .cont {
    text-align: justify;
    text-align-last: justify;
    padding:25px 0;
}
.menu-bottom a {
    font-weight: normal;
    color:#cc2f00;
    display: inline-block;
}
.menu-popup-back.hidden {
    height:0;
    opacity: 0;
}
.menu-popup.hidden {
    max-height:0;
}
.menu-popup-back {
    background:rgba(0,0,0,0.3);
    position: fixed;
    left:0; right:0;
    top:0; height:200vh;
    z-index: 998;
}
.menu-popup {
    background:white;
    box-shadow: 0 5px 15px rgba(0,0,0,0.5);
    position: fixed;
    left:0; right:0;
    top:0;
    z-index: 999;
    transition: all 300ms;
    overflow: hidden;
    max-height:100vh;
}
.menu-popup .block {
    display: inline-block;
    max-width: 1600px;
    position: relative;
}
.menu-popup .ico.close {
    position: absolute;
    cursor: pointer;
    right:0;
    top:0;
    margin:20px 20px 0 0;
    z-index: 50;
}
.menu-popup-item {
    display: block;
    padding-top:7px;
    padding-bottom:7px;
    font-size:20px;
    font-weight: 400;
    position: relative;
}
.menu-popup-item a {
    text-decoration: none;
}
.menu-popup-item > i:first-child {
    position: absolute;
    right:100%;
    top:50%;
    margin-top:-16px;
    margin-right:10px;
    background:url(../images/icons.png) no-repeat 32px 32px;
    background-size: 141px auto;
    width:32px;
    height:32px;
}
.menu-popup-item > i.ico-home {background-position:0 -77px;}
.menu-popup-item > i.ico-afisha {background-position:-32px -77px;}
.menu-popup-item > i.ico-birthday {background-position:-64px -77px;}
.menu-popup-item.itm-birthday a {color:#cc2f00;}

.menu-small .menu-popup-item {font-size:18px;}
.menu-small {
    margin-top:0px;
    padding-top:30px;
    padding-bottom:40px;
    border-top:1px solid #ccc;
}
.menu-top {
    padding-top:30px;
    padding-bottom:30px;
}
.menu-small .row,
.menu-top .row {
    padding-left:42px;
}

.zal-icon {
    border-radius: 15px;
    background:#eee url() no-repeat;
    background-size:cover;
    display: inline-block;
    width:170px;
    height:110px;
    line-height: 110px;
    text-align: center;
    margin-bottom: 10px;
}
.zal-icon span {
    display: inline-block;
    border-radius: 12px;
    background:white;
    padding:6px 15px;
    font-weight: 500;
    font-size:16px;
}
.afisha-pagination {
    margin: 10px 0 20px;
    word-spacing: 10px;
}
.afisha-pagination > a {
    display: inline-block;
    background:#faf2e0;
    border-radius: 18px;
    font-size:18px;
    padding:6px 15px 8px;
    text-decoration: none;
    margin-bottom: 10px;
}


.top-button {
    display: inline-block;
    border-radius: 15px;
    font-size:14px;
    text-decoration: none;
    vertical-align: middle;
}
.tb-white {
    padding:6px 15px;
    background:white;
}
.top-socials {
    display: inline-block;
    vertical-align: middle;
}
.top {
    background:url(../images/top-grad.png) no-repeat;
    background-size:100% 100%;
    border-radius: 0 0 38px 38px;
}
.top-menu {

}

.banners-cont {
    margin:30px 0;
}

.footer {
    background:url(../images/top-grad.png) no-repeat;
    background-size:100% 100%;
}


.contacts {margin:5px 0 20px;}
.contacts .title {display: inline-block; font-size:14px; color:#777; margin-bottom: 5px;}
.contacts .phone {font-size:24px; font-weight: 500;}
.contacts .email {font-size:20px;}
.contacts .address {font-size:20px;}
.contacts .col {
    margin-bottom: 20px;
}


.socials-cont {}
.socials-cont a {
    margin:0 0 0 5px;
    padding:0;
}

.logo-bottom {
    height:45px;
}

.copyright .float-right {
    font-size:16px;
}
.copyright {
    font-size:14px;
    padding:20px 0 20px;
}

.content {padding-bottom: 40px;}

#afisha-head {padding-top:1px;}
.pagination-cont {
    word-spacing: 1px;
    position: relative;
    height:40px;
    margin-bottom: 20px;
}
.pag-list {
    position: absolute;
    left:0; width:100%;
    top:0; height:100%;
    z-index: 1;
}
span.pag-item {
    background:#edd192;
    color:#8e4917;
    font-weight: bold;
}
.pag-item:hover {
    color: #8e4917;
}
.pag-item {
    display: inline-block;
    font-size:20px;
    padding:0 14px;
    line-height: 40px;
    margin-bottom: 10px;
    height: 40px;
    border-radius: 10px;
    text-decoration: none;
}


.tickets-button:hover {
    color: white;
    box-shadow: 0 5px 20px rgba(250, 88, 0, 0.5);
}
.tickets-button {
    transition: all 300ms;
    display: inline-block;
    background:#8e5c17;
    color:white;
    text-shadow: 0 1px 10px #c36025;
    border-radius: 10px;
    height:46px;
    line-height: 46px;
    padding:0 15px;
    font-weight: 900;
    font-size:20px;
    text-align: center;
    cursor: pointer;
}

.event-cont {
    padding:10px 0;
}
.event-img {
    width:100%;
    border-radius: 22px;
    position: relative;
    overflow: hidden;
}
.event-img-link {
    position: absolute;
    left:0; top:0;
    bottom:0; right:0;
}
.event-img:hover .tickets-button {
    bottom:0;
    transform: scale(1);
}
.event-img .tickets-button {
    position: absolute;
    bottom:-54px;
    left:0; right:0;
    /*transform: scaleY(0);*/
    transition: all 200ms;
}
.event-time {
    display: inline-block;
    background: #333;
    color: white;
    font-size: 18px;
    font-weight: 700;
    border-radius: 6px;
    padding:5px 8px;
    margin-right: 8px;
    margin-bottom: 5px;
}
.event-title {
    margin-top: 15px;
    font-family: "PT Sans", serif;
    font-size: 26px;
    font-weight: normal;
    margin-bottom: 7px;
}
.event-title a {
    text-decoration: none;
    margin-right: 10px;
}
.event-desc {
    margin:10px 0 15px;
}
.event-info-1col {
    padding:5px 15px;
}
.event-info-2col {
    padding-top:15px;
    padding-bottom: 20px;
}
.events-list {
    margin:10px 0 30px;
}
.events-day-title span {
    color:#808080;
}
.events-day-title {
    font-size:24px;
    margin-top:30px;
}

.event-scheme {
    background:#3483a8;
    font-size:14px;
    padding:6px 12px;
    border-radius: 12px;
    display: inline-block;
    color:white;
    line-height: 1em;
    margin-bottom: 10px;
}


.events-selector small {
    display: inline-block;
    text-align: left;
    width:15px;
}
.events-selector div:hover > a {
    background:#efc699;
    border-radius:0 10px 10px 0;
}
.events-selector div > * {
    display:block;
    height:34px;
    line-height: 34px;
    font-size:18px;
    padding:0 20px;
}
.events-selector span {color:#aaa;}
.events-selector a {
    text-decoration: none;
}
.events-selector .past {}
.events-selector a:hover {color:black;}
.events-selector a.weekend:hover,
.events-selector a.weekend {color:#cc2f00;}
.events-selector {
    position: fixed;
    left:0;
    top:0;
    background:#fff;
    padding:10px 0;
    text-align: right;
    background:#fbf5e3;
    border-radius: 0 20px 20px 0;
    z-index: 50;
}

.bread-cont {
    padding:20px 0;
}
.bread-cont span,
.bread-cont a {
    font-size:18px;
    display: inline-block;
    vertical-align: middle;
}
.bread-cont span {color:#777;}
.date-bull,
.bread-bull {
    width:8px;
    height:8px;
    border-radius: 50%;
    background:#edc196;
    display: inline-block;
    vertical-align: middle;
    margin:0 15px;
}

.date-bull {
    width:6px;
    height:6px;
    margin:0 10px;
}

.event-head a {
    color:#cc2f00;
}
.event-head {
    border-radius: 38px;
    background:#f9f3e6;
    padding:40px 0;
}
.event-head h1 {
    margin:0 0 8px;
}
.event-head .event-scheme {
    font-size:16px;
    margin-right:15px;
}
.event-date span {
    font-weight: 300;
    color:#777;
}
.event-date {
    background:white;
    border-radius: 10px;
    line-height: 46px;
    height:46px;
    padding:0 20px;
    font-size:20px;
    font-weight: 400;
    display: inline-block;
    margin-right:20px;
}
.event-date-cont {
    margin:10px 0 25px;
}
.event-fulldate {
    display: inline-block;
    font-size:18px;
    font-weight: 400;
}
.event-fulldate .wday {
    font-weight: 300;
    color: #555;
}
.event-fulldate .time {
    display: inline-block;
    vertical-align: middle;
    border-radius: 13px;
    padding:1px 8px;
    border:1px solid #999;
    margin-left:8px;
}

.event-head .img {
    border-radius: 23px;
}
.event-shortdesc {
    margin-bottom:20px;
}
.event-audio {
    margin-bottom: 20px;
}
.event-head-info .tickets-button {
    display: inline-block;
    padding:0 30px;
    min-width:300px;
}

.event-afisha {
    overflow: hidden;
    border-radius: 38px;
    height:100vh;
    max-height:600px;
    background:black;
    position: relative;
    margin:15px 0;
}

.event-afisha-img {
    position: absolute;
    left:0; right:0;
    bottom:0; top:0;
    text-align: center;
    background:url() no-repeat 50% 50%;
    background-size:contain;
}
.event-afisha .blur {
    background:url() no-repeat 50% 50%;
    background-size:cover;
    opacity:0.7;
    position: absolute;
    left:0; right:0;
    bottom:0; top:0;
    transform: scaleX(-1);
    filter: blur(20px);
}

.event-photos {
    background: #50589b;
    background: linear-gradient(to right, #50589b, #523e85);
    border-radius: 38px;
    padding:40px 0 0;
    margin-bottom: 40px;
}
.event-photos .twister {
    margin-bottom: 70px;
}

.event-photos .img {
    border-radius: 15px;
    margin-bottom: 10px;
    display: block;
    width:100%;
    height:100%;
}
.event-photos .tw-round-pages span.sel {
    background:white;
}
.event-photos .tw-round-pages span {
    background:#b7ade3;
}

.event-videos {
    background:black;
    border-radius: 38px;
    color:white;
    padding:40px 0;
}

.event-recommend {
    margin:40px 0;
}

.artist-events {
    border-bottom: 1px solid #aaa;
    margin: 20px 0;
}
.artists-noevents {
    font-size:20px;
    margin:20px 0;
    padding:40px;
    background:#eee;
    border-radius: 38px;
}

.general-artists {
    margin:0 0 40px;
}

.general-contacts .general-address small {
    font-size:18px;
}
.general-contacts .general-address {
    line-height: 1.4em;
    font-size:26px;
}
.general-contacts .phones {
    font-weight: bold;
    line-height: 1.6em;
}
.general-contacts {
    font-size:22px;
    margin-bottom: 30px;
}
.event-photos .general-contacts {
    color:white;
}

.map-cont {
    margin:30px 0 40px;
}

.light-header {
    color:#f8edcc;
    margin:0 0 20px;
}
.header-date {
    font:300 18px Roboto;
}

.next-month-button a:hover {
    color: #8e4917;
}
.next-month-button a {
    line-height: 60px;
    display: inline-block;
    padding:0 40px;
    background:white;
    border-radius: 30px;
    font-size:22px;
    font-weight: bold;
    color: #edd192;
    text-decoration: none;
    transition: all 200ms;
}
.next-month-cont {
    position: relative;
    height:60px;
    margin-bottom: 40px;
}
.next-month-button {
    position: absolute;
    left:0; width:100%;
    top:0; height:100%;
    z-index: 1;
    text-align: center;
}
.next-month-line {
    background:#edd192;
    height:2px;
    position: absolute;
    left:0; right:0;
    top:50%;
    margin-top:-1px;
    z-index: 0;
}

.event-info-2col .tickets-message{
    height:40px;
}
.event-info-2col .tm-top,
.event-info-2col .tm-back {
    top:0px;
}
.tickets-message {
    font:500 14px "PT Sans";
    position: relative;
    height:60px;
    width:20px;
}
.tm-top, .tm-back {
    position: absolute;
    left:0; top:5px;
    border:2px solid black;
    padding:4px 12px 5px;
    border-radius: 12px;
    white-space: nowrap;
    z-index: 1;
}
.tm-top {
    text-shadow: 0 1px 0 white;
    box-shadow: 0 1px 0 white;
}
.tm-back {
    color:#aaa;
    border-color:#aaa;
    z-index: 0;
    filter: blur(2px);
}
.tm-red .tm-top a,
.tm-red .tm-top {color:#cc2f00; border-color:#cc2f00;}
.tm-red .tm-back a,
.tm-red .tm-back {color:#ebbe85; border-color:#ebbe85;}

.tm-blue .tm-top {color:#50589b; border-color:#50589b;}
.tm-blue .tm-back {color:#85daeb; border-color:#85daeb;}

.tm-grey {font-size:14px;}
.tm-grey .tm-top {color:#555; border-color:#777;}
.tm-grey .tm-back {color:#aaa; border-color:#eee;}

.tm-green {font-size:14px;}
.tm-green .tm-top {color:#51A059; border-color:#82CC49;}
.tm-green .tm-back {color:#D6FC3F; border-color:#E0FF68;}


.content .shift {margin-left:20px;}
.content .subtitle {font-size:18px; margin-top:20px;}
.content ul, .content ol {
    margin-bottom:15px;
    list-style: outside none none;
    margin-left:67px;
}
.content ul {list-style-type:square; margin-left:20px;}
.content ol li {
    margin-top:5px;
    margin-bottom:10px;
    text-indent:-25px;
    padding-left:25px;
}
.content ul > li {
    text-indent:0px;
    padding-left:0px;
}
.content ol li span {
    display:inline-block;
    width:25px;
}
.content p, .content ul, .content ol {
    margin-top:10px;
    text-align:justify;
}

@media(max-width:768px){
    .content .shift {
        margin-left:-25px;
    }
    .content ul, .content ol {
        margin-left:25px;
    }
}

.scheme-photos {margin-top:10px;}
.scheme-link {
    overflow: hidden;
    background-color:transparent;
}
.scheme-link > div {
    background:rgba(50,50,50,0.5);
    height:100%;
    display: flex;
    flex-direction: column;
    justify-content:center;
}
.scheme-link > div > div {
    text-align: center;
}
.scheme-link a {
    display: inline-block;
    background:#3b9f55;
    background:linear-gradient(to right,#3b9f55,#23b76d);
    color:#ffffd3;
    border-radius: 20px;
    height:40px;
    line-height: 40px;
    padding:0 25px;
    font-weight: 900;
    font-size:18px;
    text-decoration: none;
}

.wall-item {
    background:url() no-repeat 50% 50%;
    background-size:contain;
    margin-bottom: 200px;
    position: relative;
}
.wall-artist {
    position: absolute;
    background:url() no-repeat 50% 50%;
    background-size:cover;
    right:20px;
    bottom:-100px;
    width:120px;
    height:120px;
    border-radius: 50%;
}
.wall-artist-name {
    position: absolute;
    background:white;
    bottom:-35px;
    right:0;
    white-space: nowrap;
    border-radius: 20px;
    padding:10px 25px;
    box-shadow: 0 1px 30px rgba(0,0,0,0.3);
    font-weight: 500;
}

.input-form input {
    display: block;
    margin-bottom: 15px;
}
.directmail-form button,
.directmail-form input {
    border:none;
    font-size:20px;
    line-height: 50px;
    height:50px;
}
.directmail-form {
    background: #50589b;
    background: linear-gradient(to right, #50589b, #523e85);
    border-radius: 30px;
    padding:20px;
    margin-bottom: 40px;
}

.photos-item {
    margin-bottom: 20px;
    display: block;
    border-radius: 20px;
}

.scheme-cont {
    text-align: center;
    border-radius: 20px;
    background:#333;
    margin-bottom: 40px;
    overflow:hidden;
    position: relative;
}
.scheme {
    background:url() no-repeat 50% 50%;
    background-size: contain;
    width:100%;
    max-width:80vh;
    display: inline-block;
    position: relative;
}
.scheme-row {
    position: absolute;
    width:60px;
    height:40px;
    line-height: 40px;
    margin:-20px 0 0 -30px;
}

.popup-cont .popup-close {
    position: absolute;
    right:30px;
    top:30px;
    cursor: pointer;
}
.popup-cont .h3 {
    margin-top:0;
    margin-bottom: 30px;
}
.popup-cont textarea,
.popup-cont input {
    margin-bottom: 20px;
    background:#ddd url(../images/top-grad.png) no-repeat;
    background-size:100% 100%;
    border:none;
}
.popup-cont textarea {
    height:150px;
    padding-top:10px;
    padding-bottom:10px;
    resize:none;
}
.popup-cont {
    padding:30px;
    border-radius: 20px;
}

.age-rating {
    font-family: Roboto, Arial, sans-serif;
    font-weight: 200;
    color: #555;
    display: inline-block;
}

/* MENU */

.rm2-table {border-collapse:collapse; margin-top:10px; margin-bottom:20px; width: 100%;}
.rm2-weight {font-size:12px; color:#555; padding:13px 5px 0;}
.rm2-name-cont {padding:10px 0 15px 10px; width:100%;}
.rm2-name {
    font-size:16px; color:#000; font-weight:bold;
    margin-right: 1rem;
}
.rm2-desc {font-weight:normal; color:#555; display:inline-block; white-space:normal; margin:0;}
.rm2-price {font-size:16px; font-weight:900; color:#cc2f00; text-align:right; padding:15px 5px 0; white-space:nowrap;}
tr.cols td {padding:5px 10px 10px; color:#333; background:white; text-align:right;}
.rm2-header {
    background:#eee; font-size:18px; font-weight:bold;
    padding:10px 20px; text-align:center; border-radius:10px; text-transform: uppercase;
    margin-top: 20px;
}
.rm2-subheader {
    border-bottom:2px solid #eee; font-size:18px; font-weight:200; padding:10px 20px; text-align:center; border-radius:10px; text-transform: uppercase;
}

@media (max-width: 480px) {
    .rm2-desc {font-size: 12px;}
}

.rm2-image-cont {
    margin: 10px 0 0;
    word-spacing: 10px;
}
.rm2-image {
    display: inline-block;
    border-radius: 10px;
    width: 120px;
    height: 70px;
    box-shadow: 0 0 10px rgba(0, 0, 10, 0.2);
    background: #eee url() no-repeat 50% 90%;
    background-size: cover;
}
.rm2-image-large {
    padding: 10px 0 20px;
}
.rm2-image-large .row .col { margin-bottom: 10px; }
.rm2-image-large .rm2-image {
    display: block;
    width: auto;
    height: 200px;
}


.custom-paylink-button:hover {
    color: white;
    box-shadow: 0 5px 20px rgba(250, 88, 0, 0.5);
}
.custom-paylink-button {
    transition: all 300ms;
    display: inline-block;
    background:#8e5c17;
    color:white !important;
    text-shadow: 0 1px 10px #c36025;
    border-radius: 10px;
    height:46px;
    line-height: 46px;
    padding:0 15px;
    font-weight: 900;
    font-size:20px;
    text-align: center;
    cursor: pointer;
    text-decoration: none;
}

.event-head-info .custom-paylink-button {
    display: inline-block;
}