* {
    padding:0;
    margin:0;
    box-sizing: border-box;
    line-height: 1.4em;
    scroll-behavior: smooth;
}
body {height:100%; font:300 16px Roboto;}
html {height:100%;}
td {vertical-align:top; text-align:left;}
img {border:none;}
table {border-collapse: collapse;}


body {
    background:#fff;
    text-align: left;
}

.pad {
    padding-left:40px !important;
    padding-right:40px !important;
}
.pad-left {padding-left:40px !important;}
.pad-right {padding-right:40px !important;}
.pad-w {width:15px !important;}

a {color:black;}
a:hover {color:#bf0000;}


.w100 {width:100% !important;}

.clear {clear:both;}

.text-left {text-align: left !important;}
.text-center {text-align: center !important;}
.text-right {text-align: right !important;}
.text-justify {text-align: justify !important;}

 @media (max-width: 1023px) {
    .lg-text-left {text-align: left !important;}
    .lg-text-center {text-align: center !important;}
    .lg-text-right {text-align: right !important;}
    .lg-text-justify {text-align: justify !important;}
 }
 @media (max-width: 767px) {
    .md-text-left {text-align: left !important;}
    .md-text-center {text-align: center !important;}
    .md-text-right {text-align: right !important;}
    .md-text-justify {text-align: justify !important;}
 }
 @media (max-width: 479px) {
    .sm-text-left {text-align: left !important;}
    .sm-text-center {text-align: center !important;}
    .sm-text-right {text-align: right !important;}
    .sm-text-justify {text-align: justify !important;}
 }


.va-top {vertical-align: top !important;}
.va-middle {vertical-align: middle !important;}
.va-bottom {vertical-align: bottom !important;}

.float-left {float:left;}
.float-right {float:right;}


.block {
    width:100%;
    text-align: center;
}
.block .cont {
    display:inline-block;
    width:100%;
    max-width:1300px;
    text-align:left;
}

.row {
    margin:0 -10px;
}
.row .col {
    display: inline-block;
    vertical-align: top;
    padding:0 10px;
}
.row.row-large {
    margin:0 -15px;
}
.row.row-large > .col {
    padding:0 15px;
}

.row .col.c1 {width:8.3333333%;}
.row .col.c2 {width:16.6666667%;}
.row .col.c3 {width:25%;}
.row .col.c4 {width:33.33333333%;}
.row .col.c5 {width:41.6666666%;}
.row .col.c6 {width:50%;}
.row .col.c7 {width:58.3333333%;}
.row .col.c8 {width:66.666667%;}
.row .col.c9 {width:75%;}
.row .col.c10 {width:83.333333%;}
.row .col.c11 {width:91.666667%;}
.row .col.c12 {width:100%;}

.row .col.c24 {width:20%;}

.single-row {display: block; width:100%;}
.single-col {display: inline-block; vertical-align: top;}

@media (max-width: 1023px) {.row .col.lg {display: block;width:100%;}}
@media (max-width: 767px) {.row .col.md {display: block;width:100%;}}
@media (max-width: 479px) {.row .col.sm {display: block;width:100%;}}


.mb-visible {display: none;}
@media (max-width: 1200px) {
    .row .col.xlg {display: block;width:100%;}
    .row .col.xlg-c1 {width:8.3333333%;}
    .row .col.xlg-c2 {width:16.6666667%;}
    .row .col.xlg-c3 {width:25%;}
    .row .col.xlg-c4 {width:33.33333333%;}
    .row .col.xlg-c5 {width:41.6666666%;}
    .row .col.xlg-c6 {width:50%;}
    .row .col.xlg-c7 {width:58.3333333%;}
    .row .col.xlg-c8 {width:66.666667%;}
    .row .col.xlg-c9 {width:75%;}
    .row .col.xlg-c10 {width:83.333333%;}
    .row .col.xlg-c11 {width:91.666667%;}
    .row .col.xlg-c12 {width:100%;}
}
@media (max-width: 1023px) {
    .row .col.lg {display: block;width:100%;}
    .row .col.lg-c1 {width:8.3333333%;}
    .row .col.lg-c2 {width:16.6666667%;}
    .row .col.lg-c3 {width:25%;}
    .row .col.lg-c4 {width:33.33333333%;}
    .row .col.lg-c5 {width:41.6666666%;}
    .row .col.lg-c6 {width:50%;}
    .row .col.lg-c7 {width:58.3333333%;}
    .row .col.lg-c8 {width:66.666667%;}
    .row .col.lg-c9 {width:75%;}
    .row .col.lg-c10 {width:83.333333%;}
    .row .col.lg-c11 {width:91.666667%;}
    .row .col.lg-c12 {width:100%;}
}

@media (min-width: 768px) {
    .md-visible {
        display: none !important;
    }
}
@media (max-width: 767px) {
    .md-hidden {display: none !important;}
    .row .col.md {display: block;width:100%;}
    .row .col.md-c1 {width:8.3333333%;}
    .row .col.md-c2 {width:16.6666667%;}
    .row .col.md-c3 {width:25%;}
    .row .col.md-c4 {width:33.33333333%;}
    .row .col.md-c5 {width:41.6666666%;}
    .row .col.md-c6 {width:50%;}
    .row .col.md-c7 {width:58.3333333%;}
    .row .col.md-c8 {width:66.666667%;}
    .row .col.md-c9 {width:75%;}
    .row .col.md-c10 {width:83.333333%;}
    .row .col.md-c11 {width:91.666667%;}
    .row .col.md-c12 {width:100%;}
}
@media (max-width: 479px) {
    .sm-hidden {display: none !important;}
    .mb-hidden {display: none;}
    .mb-visible {display: block;}
    .row .col.sm {display: block;width:100%;}
    .row .col.sm-c1 {width:8.3333333%;}
    .row .col.sm-c2 {width:16.6666667%;}
    .row .col.sm-c3 {width:25%;}
    .row .col.sm-c4 {width:33.33333333%;}
    .row .col.sm-c5 {width:41.6666666%;}
    .row .col.sm-c6 {width:50%;}
    .row .col.sm-c7 {width:58.3333333%;}
    .row .col.sm-c8 {width:66.666667%;}
    .row .col.sm-c9 {width:75%;}
    .row .col.sm-c10 {width:83.333333%;}
    .row .col.sm-c11 {width:91.666667%;}
    .row .col.sm-c12 {width:100%;}
}



h1 i.bullet:first-child,
h2 i.bullet:first-child,
h3 i.bullet:first-child {margin-left:0;margin-right:25px;}
h1 i.bullet,
h2 i.bullet,
h3 i.bullet {
    display: inline-block;
    background:#d40000;
    width: 6px;
    height:6px;
    border-radius: 50%;
    vertical-align: middle;
    margin-top:-5px;
    margin-left:25px;
}
.h1,.h2,.h3,
h1,h2,h3 {
    font:900 32px "PT Sans";
    text-align: left;
}
h1,.h1 {font-size:32px; margin:30px 0 25px;}
h2,.h2 {font-size:28px; margin:30px 0 20px;}
h3,.h3 {font-size:22px; margin:30px 0 15px;}
h4,.h4 {font-weight: 900; font-size:20px; margin:30px 0 15px;}
p {margin:10px 0 15px;}
p.large {font-size:113%;}
select,textarea,input {
    padding:0 20px;
    height:40px;
    line-height: 40px;
    font:400 16px Roboto;
    background: white;
    border: 1px solid #808080;
    border-radius: 20px;
    vertical-align: middle;
    width:100%;
}

ol,ul {margin:10px 0px 15px 40px;}
ul li {}

.button:hover, button:hover {color:white;}
.button *, button * {vertical-align: middle; display: inline-block;}
.button, button {
    font:900 18px Roboto;
    padding:0 20px;
    line-height: 40px;
    height:42px;
    vertical-align: middle;
    border:none;
    border-radius:20px;
    cursor:pointer;
    display: inline-block;
    text-decoration: none;
    background: #cc2f00;
    color:white;
    transition: 300ms all;
    text-align: center;
}
.button {
    line-height: 32px !important;
}
.button.white:hover,
button.white:hover {color:#a40000;}
.button.white,
button.white {
    background: white;
    border-color:white;
    color:black;
}
.button.notext,
button.notext {padding-right:6px;}

.button.green:hover,
button.green:hover {background:#96d05b;}
.button.green,
button.green {
    background:#5B9B5B;
    color:white;
    border-color:#76d01b;
}
.button.gold-back:hover,
button.gold-back:hover {background-size:200% 200%;}
.button.gold-back,
button.gold-back {
    background:url(../../images/banquet/back-light.png) no-repeat 50% 50%;
    background-size:100% 100%;
    color:black;
    border: none;
}
.button.grey:hover,
button.grey:hover {color:#777;}
.button.grey,
button.grey {
    background:#555;
    color:white;
}
.button.empty:hover,
button.empty:hover {color:#d40000;}
.button.empty,
button.empty {
    background:none;
    color:#000;
    border-color: transparent;
    padding:0;
}
.button.large {line-height: 48px !important;}
.button.large,
button.large {
    padding:0 20px;
    line-height: 34px;
    height:48px;
    font-size:18px;
    border-radius: 18px;
}
.button.border-grey:hover,
button.border-grey:hover {border-color:#aaa;}
.button.border-grey,
button.border-grey {
    background:none;
    color:#000;
    border:1px solid #ccc;
}

.button.border-gold:hover,
button.border-gold:hover {background-size:200% 200%;}
.button.border-gold > div,
button.border-gold > div {
    background: white;
    border-radius: 24px;
    padding:0 24px;
    height:48px;
    line-height:50px;
    display: block;
}
.button.border-gold,
button.border-gold {
    border:none;
    background:url(../../images/banquet/back-light.png) no-repeat 50% 50%;
    background-size:100% 100%;
    color:#000;
    padding:0 1px;
    line-height: normal;
}

input.large {
    padding:0 25px;
    line-height: 50px;
    height:50px;
    border-radius: 25px;
}
input.white {
    background: white;
    border-color:white;
    color:black;
}



.button.small * {line-height:inherit;}
.button.small {
    font-size:14px;
    padding:1px 5px;
    height:23px;
    line-height:23px;
    margin:0;
}

a.action:hover {color:#a90006;}
a.action {
    font-size:14px;
    color:#2d3339;
    margin:8px 15px 8px 0;
    text-decoration: none;
}
.ico {
    display:inline-block;
    background:url(../images/icons.png) no-repeat;
    background-size: 141px auto;
    width:25px;
    height:25px;
    vertical-align: middle;
}
.ico.afisha,
.ico.concerts {background-position:0 0; width:54px; height:50px;}
.ico.restran,
.ico.menu {background-position:-54px 0; width:57px; height:50px;}
.ico.contacts {background-position:-111px 0; width:30px; height:50px;}
.ico.sitemenu {background-position:0 -50px; width:32px; height:27px;}

.ico.problem {background-position:-32px -50px; width:24px; height:20px;}
.ico.address {background-position:-56px -50px; width:18px; height:27px;}
.ico.close {background-position:-74px -50px; width:27px; height:27px;}

.loader {
    background:url(../../images/banquet/loader2.gif) no-repeat 50% 50%;
}

.img img {display: none;}
.img {
    background:#eee url() no-repeat 50% 0%;
    background-size: cover;
    display: inline-block;
    width:100px;
    height: 100px;
}

.report tr.title td {font-weight: bold; border-bottom: 1px solid #777; color:black !important;}
.report {margin:15px 0;}
.report tr td:first-child {
    color:#777;
    min-width: 120px;
    padding-right:10px;
}
.report tr td .ico {width:18px; margin-right: 3px;}
.report tr td {
    padding:5px 0;
    border-bottom: 1px solid #ddd;
}
.report.small {font-size:14px;}

table.default tr.title td {font-weight: bold; border-bottom: 1px solid #777; color:black !important;}
table.default {margin:15px 0;}
table.default tr td .ico {width:18px; margin-right: 3px;}
table.default tr td:first-child {padding-left:0;}
table.default tr td {
    padding:5px 0 5px 15px;
    border-bottom: 1px solid #ddd;
}

/* чекбоксы */
.checkbox input {display: none;}
.checkbox {
    display:inline-block;
    width:20px;
    height:20px;
    vertical-align:middle;
    background:url(../../images/banquet/checkbox.png) no-repeat 0 100%;
    background-size:40px auto;
    cursor:pointer;
    margin:-2px 0px 0 0;
}
.checkbox:hover {background-position:100% 100%;}
.checkbox.checked {background-position:0 0;}
.checkbox.checked:hover {background-position:100% 0;}

.form .desc {
    vertical-align: middle;
    padding-right:10px;
    display: none;
}
.errors {
    color:#bf0000;
    padding:10px 15px;
    margin:5px 0 10px;
    background: white;
    border-radius: 4px;
    max-width: 300px;
}

.illust {margin:10px 20px;}
.illust.left {margin-left:0px; float:left;}
.illust.right {margin-right:0px; float:right;}
.illust.wide {margin:10px 0;}
.illust.wide img {
    width:100%;
}

.social0-b2,
.social0-b,
.social0-w,
.social0,
.social-b2,
.social-b,
.social-w,
.social {
    display:inline-block;
    width:30px;
    height:30px;
    vertical-align: middle;
    background:url(../images/socials.png) no-repeat 0 0;
    background-size:auto 288px;
}
.social.vk {background-position: -3px -3px;}
.social.fb {background-position: -39px -3px;}
.social.instagram {background-position: -75px -3px;}
.social.youtube {background-position: -111px -3px;}
.social.ok {background-position: -147px -3px;}
.social.twitter {background-position: -183px -3px;}
.social.pinterest {background-position: -219px -3px;}
.social.telegram {background-position: -255px -3px;}
.social.whatsapp {background-position: -291px -3px;}

.social-b.vk {background-position: -3px -75px;}
.social-b.fb {background-position: -39px -75px;}
.social-b.instagram {background-position: -75px -75px;}
.social-b.youtube {background-position: -111px -75px;}
.social-b.ok {background-position: -147px -75px;}
.social-b.twitter {background-position: -75px -75px;}
.social-b.pinterest {background-position: -219px -75px;}
.social-b.telegram {background-position: -255px -75px;}
.social-b.whatsapp {background-position: -291px -75px;}

.social-w.vk {background-position: -3px -183px;}
.social-w.fb {background-position: -39px -183px;}
.social-w.instagram {background-position: -75px -183px;}
.social-w.youtube {background-position: -111px -183px;}
.social-w.ok {background-position: -147px -183px;}
.social-w.twitter {background-position: -183px -183px;}
.social-w.pinterest {background-position: -219px -183px;}
.social-w.telegram {background-position: -255px -183px;}
.social-w.whatsapp {background-position: -291px -183px;}

.social-b2.vk {background-position: -3px -255px;}
.social-b2.fb {background-position: -39px -255px;}
.social-b2.instagram {background-position: -75px -255px;}
.social-b2.youtube {background-position: -111px -255px;}
.social-b2.ok {background-position: -147px -255px;}
.social-b2.twitter {background-position: -255px -255px;}
.social-b2.pinterest {background-position: -219px -255px;}
.social-b2.telegram {background-position: -255px -255px;}
.social-b2.whatsapp {background-position: -291px -255px;}


.tabs {
    margin: 2rem 0 0;
    text-align: center;
    border-radius: 10px;
    display: flex;
    gap: 1rem;
}

.tabs > div {
    flex-grow: 1;
    flex-shrink: 1;
    padding:10px 15px;
    font-size: 20px;
    font-weight: 500;
    color: black;
    border-radius: 10px;
    border: 1px solid #ddd;
    cursor: pointer;
    transition: all 300ms;
}

.tabs > div.sel {
    background: black;
    border-color: black;
    color: white;
}


.tabs-cont {}
.tabs-cont .tabs-cont-item {
    max-height: 1000px;
    overflow: hidden;
    transition: all 300ms;
    padding:10px 0 30px;
}
.tabs-cont .tabs-cont-item.hidden {
    max-height: 0;
    padding-top:0 !important;
    padding-bottom:0 !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
}

.popup-back.show {
    opacity:1;
}
.popup-back {
    transition:opacity 300ms;
    opacity:0;
    display:none;
    position:absolute;
    background:rgba(0,0,0,0.5);
    left:0;
    top:0;
    right:0;
    bottom:0;
    z-index: 100;
}

.popup-cont.show {
    opacity:1;
}
.popup-cont > table.report {margin:15px 0;}
.popup-cont p {margin:10px 0;}
.popup-cont input {
    width:100%;
    box-sizing: border-box;
    margin:0;
}
.popup-cont h3 i {
    cursor:pointer;
    margin-top:10px;
}
.popup-cont h3 {
    border-bottom:1px solid #ccc;
    padding:0 0 10px;
    margin:0 0 5px;
    text-align: left;
}
.popup-cont {
    transition:opacity 300ms;
    opacity:0;
    display:none;
    background:white;
    border-radius:0;
    box-shadow:0 2px 10px rgba(0,0,0,0.7);
    position:fixed;
    left:50%;
    margin-left:-150px;
    padding:20px;
    min-width:300px;
    top:30%;
    z-index: 101;
}
.popup-cont.wide {
    width:60%;
    margin-left:-30%;
    margin-top:10%;
    top:0;
    padding-left:15px;
    padding-right:15px;
    position:absolute;
}

.select-box-cont input,
.select-box-cont select {display: none;}
.select-box-cont > span {}
.select-box-cont > span > label {
    margin-right:5px;
    color:#777;
}
.select-box-cont > i {
    background:url(../../images/banquet/arrows.png) no-repeat 50% 0;
    background-size:18px auto;
    position: absolute;
    right:10px;
    width:18px;
    height:18px;
    top:50%;
    margin-top:-9px;
    cursor: pointer;
}
.select-box-cont.showed {
    border-radius:15px 15px 0 0;
    border-bottom-color: #fff;
}
.select-box-cont.showed .sb-list {
    max-height: 200px;
    opacity: 1;
    border:1px solid #808080;
    border-radius:0 0 15px 15px;
    padding:5px 5px;
    overflow: auto;
}
.select-box-cont .sb-list > span:hover {
    background:#eee5d9;
}

.select-box-cont .sb-list > span {
    display: block;
    line-height: 1.8em;
    white-space: nowrap;
    cursor: pointer;
    border-radius: 10px;
    padding:2px 15px;
}
.select-box-cont .sb-list {
    margin-left:-11px;
    overflow: hidden;
    max-height: 0;
    position: absolute;
    top:100%;
    transition: all 300ms;
    border:0 solid #808080;
    border-radius: 15px;
    padding:0 5px;
    left:10px;
    right:-1px;
    opacity: 1;
    background:white;
    z-index: 90;
}
.select-box-cont .close {
    display: none;
}
.select-box-cont {
    min-width: 50px;
    position: relative;
    display: inline-block;
    padding:5px 35px 5px 15px;
    height:33px;
    font:300 14px Roboto;
    background: white;
    border: 1px solid #808080;
    border-radius: 16px;
    vertical-align: middle;
    transition: all 300ms;
    text-align: left;
}
p.alert {color:#d40000;}

table.hidden {
    margin:10px 0 15px;
}
table.hidden td {
    padding:0 10px 5px 0;
}
table.alist tr td:nth-child(2) {
    font-weight: normal;
}
.table-cont {
    position: relative;
    overflow: auto;
}

.magnifier.hidden {
    max-width: 0;
    opacity: 0;
    box-shadow:none;
}
.magnifier img {
    position: absolute;
    transition: opacity 300ms;
}
.magnifier {
    max-width: 1000px;
    position: absolute;
    background:white url(../../images/banquet/loader.gif) no-repeat 50% 50%;
    transition: all 300ms;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
    overflow: hidden;
}


.feedback-form,
.feedback-loader,
.feedback-message {
    transition: all 300ms;
				max-height: 1000px;
}
.feedback-form.hidden,
.feedback-loader.hidden,
.feedback-message.hidden {
    max-height: 0;
    overflow: hidden;
}