@font-face {
    font-family: CyrillicOld;
    src: url("/fonts/CYRILLIC_OLD.eot");
    src: url("/fonts/CYRILLIC_OLD.eot?#iefix") format("embedded-opentype"),
    url("/fonts/CYRILLIC_OLD.woff") format("woff"),
    url("/fonts/CYRILLIC_OLD.ttf") format("truetype"),
    url("/fonts/CYRILLIC_OLD.svg#JournalRegular") format("svg");
}
* {
    -moz-text-size-adjust: none;
    -webkit-text-size-adjust: none;
    box-sizing: border-box;
}
html {
    font-size: 10px;
}
body {
    font: 16px Arial, sans-serif;
    line-height: 1.5;
	margin: 0;
    padding: 0;
    width: 100%;
}
body > div {
    padding: 15px;
    min-height: 100vh;
}
.content {
    min-height: calc(100vh - 70px);
}
h1, h2, h3 {
    font-family: CyrillicOld;
    font-weight: normal;
    line-height: 1.1;
    text-align: center;
    margin-top: 0;
}
h1 {
    font-size: 3.2rem;
}
h2 {
    font-size: 2.6rem;
}
h3 {
    font-size: 2.4rem;
}
/*h1+h2 {*/
    /*margin-top: -15px;*/
/*}*/
.wrap h1 {
    margin-top: 0.67em;
}
a {
    outline: none;
    color: #06f;
}
.button-box {
    display: flex;
    justify-content: space-between;
}
.align-items-center {
    align-items: center !important;
}
.d-flex {
    display: flex;
}
.d-inline-flex {
    display: inline-flex !important;
}
.video {
    width: 100%;
    position: relative;
}
.video .content-btn {
    display: none;
}
.video:fullscreen .content-btn {
    display: block;
    position: absolute;
    width: 56px;
    height: 51px;
    left: 10px;
    top: 10px;
    padding: 3px;
    margin: 0;
    background-color: rgba(255,255,255,0.25);
    z-index: 100;
}
.video .fullscreen-exit {
    display: none;
}
.video:fullscreen .fullscreen-exit {
    display: block;
    position: absolute;
    width: 38px;
    height: 38px;
    right: 10px;
    bottom: 10px;
    padding: 3px;
    margin: 0;
    background-color: rgba(255,255,255,0.25);
    z-index: 100;
}
video {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}
.video:fullscreen video {
    height: 100%;
}
.button.d-flex.setFullScreen {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    margin: 0;
    z-index: 100;
}
.box{
    background: rgba(110, 183, 224, 0.2);
    width: calc(100% + 30px);
    max-width: 450px;
    padding: 15px;
    display: block;
    margin: 0 -15px;
}
/* Оставить отзыв */
input[type="text"] {
    display: block;
    width: 100%;
    padding: 6px 12px;
    font-size: 16px;
    line-height: 1.5;
    color: #212529;
    border: 1px solid #ced4da;
    border-radius: 4px;
    margin-bottom: 6px;
}
.min-text {
    font-size: 14px;
    color: #666;
    margin-top: 0;
}
.text-center {
    text-align: center;
}
/* Загрузить файл */
.review {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 16px;
}
.download-file {
    display: flex;
    width: max-content;
    align-items: center;
    column-gap: 2px;
    position: relative;
    overflow: hidden;
    cursor: pointer;
}
.download-file input {
    position: absolute;
    right: 0;
    top: 0;
    cursor: pointer;
    opacity: 0;
}
/* Отзывы */
.reviews {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 20px;
}
.reviews > div {
    flex: 0 0 200px;
}
.reviews video {
    margin-bottom: 8px;
}
.review-time {
    font-size: 14px;
    color: #666;
    display: flex;
    height: 21px;
    align-items: center;
    justify-content: space-between;
}

.content-btn {
    display: block;
    width: 50px;
    height: 45px;
    margin-right: 15px;
}
.payment-or-audio {
    width: calc(100% - 65px);
    min-width: calc(100% - 65px);
}
.black {
    color: #000;
    fill: #000;
}
.blue {
    color: #06f !important;
    opacity: 0.8;
}
audio {
    width: 0;
    height: 0;
    overflow: hidden;
    display: block;
    visibility: visible;
}
img {
    max-width: 100%;
    display: block;
    margin: 0 auto;
}
#map {
    width: 100%;
    height: 300px;
}
@media (orientation: portrait) {
    img {
        max-height: 50vh;
    }
    .button-box a {
        width: 25%;
    }
    .box1 {
        margin-bottom: 8px;
    }
}
@media (orientation: landscape) {
    .wrap {
        display: flex;
        align-items: center;
        column-gap: 20px;
    }
    .box1 {
        width: 50%;
        display: flex;
        justify-content: flex-end;
    }
    .mw-items-400 .box2 {
        width: 400px;
    }
    .mw-items-400 .box1 img, .mw-items-400 .box1 video {
        max-width: 400px;
        margin: 0;
    }
    h1 {
        margin-top: 0;
    }
    .button-box a {
        width: 12.5%;
    }
}
.box1 .button-box a {
    width: 25%;
}
.hide, .hidden {
    display: none !important;
}
/* Вход */
.b-login {
    margin: 0 auto;
    max-width: 460px;
    width: 100%;
    color: #333;
}
.clearfix::before, .clearfix::after, .row::before, .row::after{
    content: " ";
    display: table;
}
.clearfix::after, .row::after {
    clear: both;
}
.clear {
    clear: both;
    display: block;
}
.mt-50 {
    margin-top: 50px !important;
}
.mt-30 {
    margin-top: 30px !important;
}
.mt-20 {
    margin-top: 20px !important;
}
.mt-5 {
    margin-top: 5px !important;
}
.mb-70 {
    margin-bottom: 70px !important;
}
.mb-30 {
    margin-bottom: 30px !important;
}
.mb-20 {
    margin-bottom: 20px !important;
}
.mb-15 {
    margin-bottom: 15px !important;
}
.mb-10 {
    margin-bottom: 10px !important;
}
.mb-5 {
    margin-bottom: 5px !important;
}
.mr-5 {
    margin-right: 5px !important;
}
.fs-24 {
    font-size: 24px !important;
}
.soc-net {
    float: right;
    padding-top: 1.6rem;
    text-align: center;
    position: relative;
}
.soc-net a {
    display: block;
    height: 40px;
    margin: 10px auto 0;
    width: 40px;
    cursor: pointer;
    text-decoration: none!important;
    border-bottom-style: none!important;
}
h3 .icon-vk,
h3 .icon-facebook,
h3 .icon-googleplus,
h3 .qr {
    display: inline-block;
    height: 3rem;
    width: 3rem;
    margin-left: 1rem;
    vertical-align: middle;
}
.icon-vk {
    background: url(/images/svg/vk.svg) no-repeat center center;
}
.icon-facebook {
    background: url(/images/svg/facebook.svg) no-repeat center center;
}
.icon-googleplus {
    background: url(/images/svg/google-plus.svg) no-repeat center center;
}
.one-click {
    position: absolute;
    top: -40px;
    padding: 6px 95px 0 0;
    right: 10px;
    background: url("/images/one-click.png") no-repeat top right;
    height: 58px;
    text-align: right;
    font-size: 22px;
    font-style: italic;
    color: #06f;
    white-space: nowrap;
}
.auth-form {
    float: left;
    margin-top: 0.8rem;
    text-align: center;
    width: 380px;
}
.user {
    margin: 0 auto;
    font-size: 14px;
}
@media (min-width: 820px) {
    .user {
        width: 60%;
    }
}
@media (max-width: 819px) {
    .user {
        width: 100%;
    }
}
.auth-form hr {
    margin: 1rem 0;
    background-color: #39365a;
    border: medium none;
    height: 1px;
    width: 100%;
}
.user form p a,
.user form a.auth-link {
    border-bottom: 1px dotted #06f;
    color: #06f;
    text-decoration: none;
}
.user form a.auth-link.gray {
    border-color: #666;
    color: #666;
    font-size: 14px;
}
.user form a:hover,
.user form a:focus,
.user form a:active {
    text-decoration: none;
    border-bottom-style: solid;
}
.user a.auth-link {
    display: inline-block;
    margin: 5px 0;
}
.user label {
    display: block;
    font-size: 16px;
    color: #666;
    width: 100%;
}
.user label.login,
.user label.password,
.user label.check {
    padding: 8px 0;
}
.user label.check {
    /*    display: inline-block;*/
    vertical-align: middle;
    width: auto;
}
label[for] {
    padding-top: 20px !important;
    margin-bottom: 0 !important;
}
label[for="name"] {
    padding-top: 0;
}
.user label[for="tel"] {
    margin-bottom: 0.4rem;
}
.user input[type="text"],
.user input[type="email"],
.user input[type="number"],
.user input[type="float"],
.user input[type="tel"],
.user input[type="file"],
.user input[type="password"],
.user textarea,
.sprav select {
    border: 1px solid #6da4f4;
    border-radius: 4px;
    color: #39365a;
    /*display: block;*/
    font-family: Arial, sans-serif;
    font-size: 16px;
    margin-top: 4px;
    /*max-width: 460px;*/
    padding: 16px;
    width: 100%/* !important*/;
}
.user textarea {
    max-width: 100%;
    height: 15rem;
}
.user option {
    padding-left: 0.8rem;
}
.user input[placeholder] {
    margin: 0;
}
.user input[type="file"] {
    margin-bottom: 1.6rem;
}
.password {
    position: relative;
}
.password .eye {
    top: 15px;
}
label.password .eye {
    top: 19px;
}
.eye.hidden {
    background: url('/images/svg/hide_gray.svg') no-repeat left center;
    display: block !important;
}
.eye {
    background: url('/images/svg/show_gray.svg') no-repeat left center;
    cursor: pointer;
    position: absolute;
    right: 8px;
    top: 12px;
    display: block;
    height: 32px;
    width: 32px;
}
.aligncenter {
    display: block !important;
    margin: 5px auto !important;
}
.button:hover, .button:focus, .button:active {
    text-decoration: none !important;
    color: #fff !important;
    background: linear-gradient(to bottom, #06f, #6da4f4);
}
.button {
    width: auto;
    display: inline-block;
    text-align: center;
    border: none !important;
    border-radius: 4px;
    padding: 9px 15px !important;
    text-decoration: none;
    font-size: 16px;
    line-height: normal;
    cursor: pointer;
    color: #fff !important;
    background: linear-gradient(to bottom, #6da4f4, #06f);
    box-shadow: inset 0 1px 0 #dee8fd, inset 0 -2px 0 #06f, 0 0 1px #06f;
    text-shadow: 0 1px 0 #06f;
}
.button:disabled{
    background: linear-gradient(to bottom, #ccc, #aaa) !important;
    box-shadow: inset 0 1px 0 #dee8fd, inset 0 -2px 0 #ccc, 0 0 1px #aaa !important;
    text-shadow: 0 1px 0 #aaa !important;
}
.button.d-flex {
    display: flex;
    align-items: center;
    column-gap: 6px;
    margin: 20px auto;
    width: max-content;
}
.button.d-flex span {
    white-space: nowrap;
}

form[name="anketa"] .button.aligncenter{
    margin-top: 20px !important;
}
form[name="anketa"] .button.aligncenter.mb-20 {
    margin-bottom: 20px !important;
}
.g-recaptcha {
    margin-top: 20px !important;
}
@media (max-width: 1023px) {
    .soc-net,
    .auth-form {
        float: none;
        margin: 0 auto;
        padding: 0;
    }
    .soc-net a {
        display: inline-block;
        margin: 0;
    }
    .one-click {
        background: none;
        position: relative;
        right: auto;
        top: -1rem;
        display: inline-block;
        height: auto;
        padding-right: 1rem;
        white-space: normal;
    }
    .auth-form {
        width: 100%;
    }
}
@media (max-width: 719px) {
    .user {
        width: 100%;
    }
}
@media (max-width: 472px) {
    .one-click {
        position: static;
        display: block;
        margin: 0 auto 10px;
        text-align: center;
        padding: 0;
    }
}
.valid{
    box-shadow: 0 0 1px 1px #0A0;
}

.invalid{
    box-shadow: 0 0 1px 1px #F00;
}
/* Админка */
.fb-win1 .sprav input[type="text"],
.fb-win1 .sprav input[type="email"],
.fb-win1 .sprav input[type="number"],
.fb-win1 .sprav input[type="float"],
.fb-win1 .sprav input[type="tel"],
.fb-win1 .sprav input[type="file"],
.fb-win1 .sprav input[type="password"],
.fb-win1 .sprav select,
.fb-win1 .sprav textarea {
    display: inline-block;
    width: 450px/* !important нельзя, иначе я не могу тянуть textarea */;
}
.fr {
    float: right;
}
/*_Calendar*/
#Calendar {
    position: absolute;
    border-collapse: collapse;
    border: 1px solid rgb(96, 96, 96);
    background: #FFFFFF;
    font: 13px Arial, sans-serif;
    text-align: center;
    -moz-user-select: none;
    user-select: none;
    z-index: 9999999;
    box-shadow: 0 0 15px rgba(98, 98, 206, 1);
}
#Calendar td {
    vertical-align: middle;
    color: #333;
}
#Calendar tr:nth-of-type(1) td {
    padding: 4px 0 !important;
}
#Calendar tr:nth-of-type(2) td:first-of-type,
#Calendar tr:nth-of-type(2) td:last-of-type {
    cursor: pointer;
    font-size: 15px;
    font-weight: bold;
    vertical-align: top;
}
#Calendar tr:nth-of-type(2) td:first-of-type {
    padding-left: 3px !important;
}
#Calendar tr:nth-of-type(2) td:last-of-type {
    text-align: right;
    padding-right: 3px !important;
}
#Calendar input[type="time"] {
    width: 102px !important;
    height: 22px;
}
#Calendar select {
    margin-bottom: 4px;
    text-align: center;
    width: 102px !important;
    font-weight: bold;
    padding: 2px;
}
#Calendar tr:nth-of-type(3) td {
    background: #6eb7e0;
    text-align: center;
    font-size: 12px;
    color: #fff;
}
#Calendar td[id^='cv'] {
    width: 18px;
    height: 18px;
    font-size: 10px;
    text-align: center;
    text-decoration: none;
    border: 1px solid rgb(96, 96, 96);
    color: #333;
}
#Calendar td.CalendarToDay {
    color: #4c96e0;
}
#Calendar td[id^='cv']:not(:empty):hover {
    background-color: rgba(110, 183, 224, 0.21);
    cursor: pointer;
}
#Calendar tr:last-of-type td {
    cursor: pointer;
    font-size: 13px;
    background: #b3dff3;
    border: 1px solid rgb(96, 96, 96);
}

/* Место сброса файлов */
.LoadFile {
    position: relative;
}
.LoadFile::after {
    display: block;
    content: "Перетащите сюда файлы";
    position: absolute;
    top: 0;
    left:0;
    width: 100%;
    height: 100%;
    text-align: center;
    padding-top: 120px;
    box-sizing: border-box;
    /*padding: 50px 50px 0 0;*/
    border: 1px solid #666;
    box-shadow: 0 0 5px #000;
    background-color: rgba(255, 255, 255, 0.75);
    font-size: 32px;
}

span.layer,
span.layerW,
span.layerS {
    cursor:pointer;
    text-decoration:none;
    border:1px solid #555555;
    border-bottom: 0;
    border-radius: 7px 7px 0 0;
    padding: 4px;
    font-size: 1.4rem;
    line-height: 1.8rem;
    text-align: justify;
    text-indent: 0;
}
span.layer:hover {
    background: rgba(179, 223, 243, 0.5);
}
span.act {
    font-weight:bold;
    background: rgba(179, 223, 243, 0.75);
}
a.layer {
    display: inline-block;
    margin-left: 7px;
    color: #333;
    font-size: 1.4rem;
    line-height: 1.8rem;
    text-decoration: none;
    padding: 4px;
}
a.layer:hover {
    text-decoration: underline;
}
div.layer,
div.layer0,
div.layerW,
div.layerS {
    border:1px solid #555555;
    /*margin: 0 -2px;*/
    color:#000;
    font-size: 1.4rem;
    padding:5px;
    display:none;
    line-height:20px;
    width:100%;
}
div.layerW{
    max-height: 400px;
    overflow-y: auto;
}
div.layer p,
div.layer h4 {
    padding: 10px 20px;
}
form.q {
    position: relative;
    margin-bottom: 10px;
    font-size: 14px;
}
.layer .w100 + div::after {
    content: "";
    display: table;
    width: 100%;
}
form.q input[name="q"] {
    height: 32px;
    padding: 0 30px 0 5px;
    width: 300px !important;
}
form.q input[type="submit"] {
    position: absolute;
    top: 0;
    right: 0;
    text-align: center;
    height: 32px;
    color: #fff;
    background: rgba(0, 102, 255, 0.8) url(/images/svg/zoom.svg) no-repeat 50% 50%;
    font-size: 20px;
    width: 32px;
    border: none;
    cursor: pointer;
}
select:not([onchange^="_Calendar"]) {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #fff url("/images/svg/select_arrow.svg")no-repeat right center;
    background-origin: content-box;
    height: 52px;
    min-width: 160px;
}
div.act{
    display:block
}
input:focus, textarea:focus {
    border: 1px solid #66afe9 !important;
}
.visual:hover, .visual:focus, .visual:active {
    background-color: #54769b;
}
.visual {
    cursor: pointer;
    padding: 0 10px;
    margin-left: 10px;
    color: #fff;
    font-weight: bold;
    background: #008bc5;
}
.sprav label {
    display: block;
    font-size: 1.5rem;
    color: #666;
}
/* Иконки */
@font-face {
    font-family: 'Glyphicons Halflings';
    src: url('/fonts/glyphicons-halflings-regular.eot');
    src: url('/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('/fonts/glyphicons-halflings-regular.woff') format('woff'), url('/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}
.icon {
    float: right;
    margin-left: 5px;
    width: 24px;
    height: 24px;
    position: relative;
    top: 1px;
    font-family: 'Glyphicons Halflings';
    font-size: 24px;
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    color: #06f !important;
    opacity: 0.8;
    text-decoration: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.icon:hover {
    opacity: 1;
    border-bottom: none !important;
}
.fb-win1 .icon.add {
    margin-right: 0;
    float: none;
    vertical-align: middle;
    display: inline-block;
}
.icon:hover, .icon:focus, .icon:active {
    text-decoration: none !important;
    border-bottom-style: none !important;
}
.icon.add::before {
    content: "\002b";
}
.icon.download::before {
    content: "\e166";
}
.icon.reload {
    background-image: url("/images/svg/reload.svg");
}
.icon.delete {
    background-image: url("images/svg/delete.svg");
}
.icon.del::before {
    content: "\e014";
}
.icon.edit::before {
    content: "\270f";
}
.icon.comment::before {
    content: "\e111";
}
.icon.men::before {
    content: "\1F468";
}
.icon.people::before {
    content: "\1F46B";
}
.icon.minus::before {
    content: "\2212";
}
.icon.headphones::before {
    content: "\e035";
}
.icon.rub::before {
    content: "\20bd";
}
.icon.qrcode::before {
    content: "\e039";
}
/* Таблица */
.client-table {
    width: 100%;
    border-collapse: collapse;
    margin: 5px 0;
}
.client-table tr {
    background-color: #fff;
}
.client-table thead tr {
    background: rgba(179, 223, 243, 0.75);
}
.client-table tr:hover {
    background: rgba(179, 223, 243, 0.5);
}
.client-table tr.new {
    background: rgba(179, 223, 243, 0.25);
}
.client-table th,
.client-table td {
    padding: 5px 10px !important;
    text-align: center;
    border: 1px solid #5e81a8;
}
.client-table th {
    cursor:pointer;
    vertical-align: middle;
}
.client-table th span {
    font-weight: normal;
    font-size: 10px;
    line-height: 14px;
}
.client-table td span{
    font-size: 10px;
    line-height: 14px;
}
.client-table td.left{
    text-align: left;
    float: none;
}
.client-table td.right, td.right,
.client-table td.num, td.num  {
    text-align: right;
    float: none;
}
.client-table td.num, td.num  {
    white-space:nowrap;
}
.client-table tr td:hover input,
.client-table tr td:hover select{
    background-color:#BBCCBB;
    outline: 1px solid #555555;
}
.client-table tr td:hover select{
    background-color:#BBCCBB;
    outline: 1px solid #555555;
    -webkit-appearance: listbox;
    -moz-appearance: listbox;
    appearance: listbox;
}
.client-table td.edit-del {
    height: 20px;
    width: 50px;
    opacity: 0;
    transition: all 0.5s linear;
}
.client-table .row_over td.edit-del {
    opacity: 1;
}
.client-table td.i {
    font-style:italic;
    text-align:right;
}

/* Модальное окно */
.wait{
    position: fixed;
    height: 100%;
    width: 100%;
    z-index: 3000;
    cursor: wait;
}
.fb-win {}
.fb-win0 { /* тень */
    background-color: #000;
    position: fixed;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
    z-index: 2000;
    opacity: 0.85;
}
.fb-win1 {
    margin: 3px 0 3px;
    background: #fff;
    padding: 10px;
    position: absolute;
    top: 30%;
    z-index: 999999;
    width: 0;
    box-shadow: 0 0 21px 0 #333;
    overflow: visible;
}
.fb-win + .fb-win .fb-win0 {
    opacity: 0;
}
.fb-win2 .fb-win1 {
    z-index: 1999 !important;
}
.fb-fix{ /* для фиксации основы под окном */
    overflow:hidden;
    position:fixed;
    top:0;
}
.fb-win1 .container {
    padding-bottom: 20px;
}
.fb-win .sprav {
    width: auto;
    margin: 15px;
}
.dragbar {
    left:0;
    top:0;
    width: 480px;
    height: 22px;
    position:absolute;
    cursor:move;
    -moz-user-select:none;
    user-select:none;
}
.fb-win1 .content.user.bg-blue.modal-blue {
    width: 100%;
}
.dotted {
    text-decoration: none;
    border-bottom: 1px dotted #06f;
}
a.ajax:not([class*="icon"]) {
    text-decoration: none;
    /*border-bottom: 1px dotted #555555;*/
}
label .dotted {
    cursor: pointer;
}
.sprav label.button {
    color: #fff;
    padding: 10px !important;
    text-align: center;
    margin-left: 0;
    font-weight: bold;
    line-height: 30px;
}
label.button[for="file"] {
    width: 300px;
    margin: 10px 0 !important;
}
#upload_frame {
    border: 0;
    width: 100%;
    height: 30px;
}
.tac {
    text-align: center;
}
.fb-win1 .sprav input.reset {
    background-color: #e0e0e0;
    border: 1px solid #ccc !important;
    color: #333 !important;
    border-radius: 4px;
    font-size: 16px;
}
.fb-win1 .sprav input[type="button"] {
    width: 200px;
    padding: 0 20px;
    display: inline-block;
    height: 5rem;
}
.fb-win1 .ol {
    margin-top: 32px;
}
.fb-win1 ul {
    padding-left: 10px;
    margin: 24px 10px;
    color: #005bff;
}
.fb-win1 ul li+li {
    margin-top: 10px;
}
.fb-win1 a {
    color: #005bff;
    text-decoration: none;
}
/* Закрывалка модального окна */
a.modal_close,
.fb-win1 > a:first-child {
    background: #fff url("images/svg/modal_close.svg");
    width: 23px;
    height: 23px;
    position:absolute;
    right: 11px;
    top: 11px;
    border: 2px solid #fff;
    border-radius: 50%;
}
/* Главная */
.ol {
    counter-reset: li;
    list-style: none;
    padding: 0 0 0 12px;
    text-shadow: 0 1px 0 rgba(255,255,255,.5);
}
.ol li a {
    position: relative;
    display: block;
    padding: .4em .4em .4em 2em;
    margin: .5em 0;
    background: #c3ddff;
    color: #333;
    text-decoration: none;
    border-radius: .3em;
    transition: .3s ease-out;
}
.ol li a:hover {
    background: #cce5ff;
}
.ol li a:before {
    content: counter(li);
    counter-increment: li;
    position: absolute;
    left: -1.3em;
    top: 50%;
    margin-top: -1.3em;
    background: #ff0;
    height: 2em;
    width: 2em;
    line-height: 2em;
    border: .3em solid white;
    text-align: center;
    font-weight: bold;
    border-radius: 2em;
    transition: all .3s ease-out;
}
.ol.ul li a:before {
    content: '';
}
.ol li a span.fr {
    line-height: 0;
}
.ol li a span.fr .icon {
    float: none;
    display: inline-block;
    top: 0; 
}
/* Оплатите */
a.payment {
    display: block;
    margin: auto;
    border-radius: 4px;
    max-width: 400px !important;
    width: 100% !important;
    text-align: center;
    color: #fff;
    background-color: #005bff;
    font-size: 18px;
    font-weight: bold;
    padding: 10px 24px;
    text-decoration: none;
}
a.payment:hover {
    background-color: #003ead;
}
a.payment.fixed {
    max-width: 400px;
    width: calc(100% - 30px) !important;
    position: fixed;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
}

/* Информационные блоки */
.error,
.message {
    font-size: 14px;
}
div.error,
div.message {
    font-size: 16px;
    padding: 16px;
    font-weight: bold;
    overflow: auto;
    margin: 1rem 0;
    width: max-content;
    max-width: 100%;
}
.message {
    color: #0a5eda;
}
div.message {
    border-left: 4px solid #0a5eda;
    background-color: rgba(159, 189, 221, 0.2);
}
.error {
    color: #cd2122;
}
div.error {
    border-left: 4px solid #ed0101;
    background-color: rgba(237, 1, 1, 0.1);
}
.error a {
    color: #cd2122;
}
.message a {
    color: #0a5eda;
}
/* Контакты */
.menu {
    position: absolute;
    top: 15px;
    left: 15px;
    width: 50px;
    height: 50px;
}
.row {
    margin-left: -15px;
    margin-right: -15px;
}
.col-6, .col-sm-6 {
    position: relative;
    min-height: 1px;
    padding-left: 15px;
    padding-right: 15px;
}
.col-6 {
    float: left;
    width: 50%;
}
@media (min-width: 768px) {
    .col-sm-6 {
        float: left;
        width: 50%;
    }
}
.contacts img {
    width: 40px;
    display: inline-block;
    vertical-align: middle;
}
.contacts a {
    color: #000;
    text-decoration: none;
}
.contacts a:hover {
    text-decoration: underline;
}
/* Футер */
.footer {
    font-size: 13px;
    color: #666;
    margin-top: 15px;
}
.footer .button-box div:last-child {
    text-align: right;
}
.footer a {
    color: #666;
    text-decoration: none;
}
/* Модальное окно */
.shadow {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0,0,0,0.25);
    z-index: 100;
    display: flex;
    justify-content: center;
    align-items: center;
}
.shadow .modal1 {
    width: 100%;
    max-width: 350px;
    background-color: #fff;
    padding: 30px 10px 10px;
    border-radius: 4px;
    box-shadow: 0 0 20px rgba(0,0,0,0.5);
    text-align: center;
    position: relative;
}
/* Просьба о помощи */
img.help {
    width: 300px;
    height: 300px;
}
video.help {
    width: 100%;
    max-width: 100%;
    height: auto;
}
.box1 .help {
    display: block;
}
.box2 .help {
    display: none;
}
@media (orientation: landscape) {
    .box1 .help {
        display: none;
    }
    .box2 .help {
        display: block;
        margin: 0;
    }
}
table.my_tickets {
    border-spacing: 6px;
    margin: 40px 0 20px;
}
table.my_tickets tbody tr td:nth-last-child(-n+2) {
    text-align: right;
}
/* Кнопки над видео */
#messages {
    position: relative;
}
#messages .buttons {
    position: absolute;
    top: 5px;
    left: 5px;
    z-index: 1000;
}
.fb-win a{
    z-index: 1000;
}
#rec {
    position: absolute;
    bottom: 5px;
    left: 5px;
    text-shadow: -1px -1px 0 #fff,
    0 -1px 0 #fff,
    1px -1px 0 #fff,
    1px 0 0 #fff,
    1px 1px 0 #fff,
    0 1px 0 #fff,
    -1px 1px 0 #fff,
    -1px 0 0 #fff;
}

#rec0 {
    position: absolute;
    top: 5px;
    left: 5px;
    text-shadow: -1px -1px 0 #fff,
    0 -1px 0 #fff,
    1px -1px 0 #fff,
    1px 0 0 #fff,
    1px 1px 0 #fff,
    0 1px 0 #fff,
    -1px 1px 0 #fff,
    -1px 0 0 #fff;
}