/*
Theme Name: Музей Мусора
Theme URI:
Description: art-mumu.ru site theme.
Version: 2.0
*/

/******************************************************/
/*********************   STATIC   *********************/
/******************************************************/

html {
    font-size: 18px;
}

html, body {
    margin: 0;
    padding: 0;
    scroll-behavior: smooth;
}

body {
    font-family: 'Open Sans', sans-serif;
    letter-spacing: 0.3pt;
    line-height: 1.5;
    color: #38383E;
    overflow-x: hidden;
}

[class^="icon-"]:before, [class*=" icon-"]:before {
    margin-left: 0!important;
    margin-right: 0!important;
    width: auto!important;
}

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

ul, ol {

}

ul.clear, ol.clear {
    list-style: none;
    margin: 0;
    padding: 0;
}

ul.clear li:before, ol.clear li:before {
    display: none!important;
}

a {
    color: #007c3b;
    text-decoration: underline;
    outline: none;
}

a:hover {
    text-decoration: none;
}

a.tel-link,
a.tel-link:hover
{
    color: inherit;
    text-decoration: none!important;
    white-space: nowrap;
}

a.no-hover {
    color: inherit;
    text-decoration: none!important;
}

a.white
{
    color: #fff;
}

a.with-icon > span
{
    margin-right: 0.75rem;
    white-space: nowrap;
    font-size: 1.4rem;
    text-decoration: none!important;
}

a.with-icon > span:before
{
    display: inline-block;
    text-decoration: none!important;
}

h1, h2, h3, h4 {
    font-size: 2.5rem;
    text-transform: uppercase;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 1pt;
    margin: 1.25rem 0;
    color: #007C3B;
    text-align: center;
}

h3, h4 {
    font-size: 1.3rem;
    color: #333;
}

h4 {
    font-size: 1.125rem;
    font-weight: normal;
    text-transform: none;
}

.icon:before {
    color: inherit;
}

img {
    width: 100%;
    height: auto;
    display: block;
}

img.round {
    border-radius: 2rem;
    border: 7px solid #007c3b;
}

.container {
    width: 100%;
    max-width: 1200px;
    padding: 0 15px;
    margin: 0 auto;
    position: relative;
}

.container.wide {
    max-width: 1600px;
}

.row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.row-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.row.vertical {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

main {
    position: relative;
}

.btn {
    position: relative;
    display: inline-block;
}

.btn a {
    display: inline-block;
    padding: 1.75rem;
    text-transform: uppercase;
    font-weight: bold;
    background: #007c3b;
    color: #fff;
    line-height: 1;
    -webkit-transition: all .25s;
    -o-transition: all .25s;
    transition: all .25s;
}

.btn a:before {
    content: "";
    display: block;
    position: absolute;
    background: url(images/tickets-before.png) no-repeat center right;
    background-size: auto 100%;
    top: 0;
    left: calc(-2.55% + 1px);
    /* width: 5px; */
    height: 100%;
    padding-right: 2.6%;
}

.btn:hover a {
    text-decoration: none;
    -webkit-filter: grayscale(1) brightness(1.1);
    filter: grayscale(1) brightness(1.1);
}

.btn.btn-bw a {
    background: #fff;
    color: #000;
}

.btn.btn-bw a:before {
    background: url(images/tickets-before-bw.png) no-repeat center right;
    background-size: auto 100%;
}

dl.worktime {
    width: 100%;
    display: -ms-grid;
    display: grid;
    margin: -0.5em auto 1rem;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
}

dl.worktime dd {
    margin: 0 0 0.5rem 0.75rem;
    line-height: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: left;
}

dl.worktime dt {
    margin-bottom: 0.5rem;
    line-height: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: right;
}

.ya-counter {
    position: absolute;
    bottom: 0;
    right: 0;
    opacity: 0.1;
    -webkit-transition: opacity .2s;
    -o-transition: opacity .2s;
    transition: opacity .2s;
}

.ya-counter:hover {
    opacity: 1;
}

.social-panel a {
    position: relative;
    -webkit-transition: all .2s;
    -o-transition: all .2s;
    transition: all .2s;
}

.social-panel a:hover {
    -webkit-transform: translateY(-3px);
    -ms-transform: translateY(-3px);
    transform: translateY(-3px);
}

.content .video-wrap,
.content .video-gallery {
    position: relative;
    height: auto;
    width: 100%;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

.content .video-wrap iframe,
.content .video-gallery iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%!important;
    height: 100%!important;
    max-width: 700px;
    z-index: 10;
}

.content .video-wrap video,
.content .video-gallery video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%!important;
    height: 100%!important;
    max-width: 700px;
    z-index: 10;
}

.content .video-wrap:before,
.content .video-gallery:before {
    content: "";
    display: block;
    padding-top: 56.25%;
}

.wpap-loadmore-wrapper {
    margin: 3.7rem 0 3rem!important;
}

.wpap-loadmore-wrapper .wpap-loadmore-button {
    width: 100%!important;
    -webkit-box-shadow: none!important;
    box-shadow: none!important;
    height: auto!important;
    padding: 0.5rem 0!important;
    background-color: #007c3b!important;
    color: #fff!important;
}

.wpap-loadmore-button.wp-ajax-loading > span {
    position: relative;
}

.wpap-loadmore-button.wp-ajax-loading > span:before {
    content: "";
    display: block;
    height: 2rem;
    width: 2rem;
    position: absolute;
    top: -0.25rem;
    left: -2.5rem;
    color: transparent;
    background-image: url(images/load.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: auto 70%;
}

nav.navigation.pagination {
    text-align: center;
    margin: 1rem 0 0;
}

h2.screen-reader-text {
    display: none;
}

.page-numbers:not(.dots) {
    color: rgba(0,124,59,0.9);
    font-weight: 400;
    font-size: 14px;
    margin: 5px;
    padding: 5px 10px;
    background: rgba(255,255,255,0.5);
    -webkit-transition: all 250ms;
    -o-transition: all 250ms;
    transition: all 250ms;
    border: 1px solid rgba(0,124,59,0.8);
    text-decoration: none;
}

.page-numbers:not(.dots):hover {
    background: #007C3B;
    color: #fff;
    text-decoration: none
}

.page-numbers.current {
    background: rgba(0,124,59,0.075);
    color: rgba(0,124,59,0.9);
    font-weight: 600;
}

.page-numbers.dots {
    color: rgba(0,124,59,0.9);
    font-size: 14px;
    padding: 5px;
}

.more {
    text-align: right;
    margin-top: 2rem;
}

.more a {
    color: #007C3B;
    text-decoration: underline;
}

.more a:hover {
    text-decoration: none;
}

.small-property {
    line-height: 1.5;
    letter-spacing: 0;
    font-size: 0.8rem;
    color: #555;
    text-align: right;
    margin-top: 2.22rem;
}

.breadcramps {
    padding-top: 1.5rem;
    color: #007C3B;
}

.breadcramps ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.breadcramps ul li {
    display: inline-block;
    font-size: 0.75rem;
    line-height: normal!important;
}

.breadcramps ul li:not(:last-child):after {
    display: inline-block;
    content: ">";
    padding: 0 10px;
}

.breadcramps ul li a {
    color: #007C3B;
    letter-spacing: 0;
    font-weight: normal!important;
    text-decoration: underline;
}

.breadcramps ul li a:hover {
    text-decoration: none;
}

.breadcramps ul li span {
    text-decoration: none;
    font-style: italic;
}

.orderform {
    position: relative;
    background: #f5f7f8;
    padding: 1rem;
    max-width: 500px;
    margin: 2rem auto;
}

.orderform form {
    -webkit-transition: opacity .2s;
    -o-transition: opacity .2s;
    transition: opacity .2s;
}

.orderform form.hide {
    opacity: 0;
}

.orderform label.required:after{
    content: "*";
    color: red;
    display: inline-block;
    vertical-align: super;
}

.orderform input  {
    height: 2rem;
    font-size: 0.9rem;
    color: #38383E;
    width: 100%;
    padding: 0 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #339a69;
    margin: 0.25rem auto 1rem;
}

.orderform textarea  {
    font-size: 0.9rem;
    color: #38383E;
    width: 100%;
    padding: 0.2rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #339a69;
    margin: 0.25rem auto 1rem;
}

.orderform button.orderform-btn {
    display: block;
    border: none;
    width: 239px;
    padding: 0.25rem 1rem;
    margin: 2rem auto 1rem;
    background: rgba(0,129,67,0.8);
    color: #fff;
    font-family: 'Open Sans', sans-serif;
    text-transform: uppercase;
    font-size: 1.1rem;
    -webkit-transition: color .2s;
    -o-transition: color .2s;
    transition: color .2s;
}

.orderform .custom-checkbox {
    position: absolute;
    z-index: -1;
    opacity: 0;
}

.orderform  .custom-checkbox+label {
    display: inline-block;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.orderform  .custom-checkbox+label::before {
    content: '';
    display: inline-block;
    vertical-align: text-top;
    width: 1em;
    height: 1em;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    border: 2px solid #339a69;
    border-radius: 0.25em;
    margin-right: 0.5em;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 50% 50%;
    cursor: pointer;
    -webkit-transition: all .2s;
    -o-transition: all .2s;
    transition: all .2s;
}

.orderform .custom-checkbox:checked+label::before {
    border-color: #339a69;
    background-color: #339a69;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e");
    background-size: 75%;
    background-position: center;
    background-repeat: no-repeat;
}

/* стили при наведении курсора на checkbox */
.orderform  .custom-checkbox:not(:disabled):not(:checked)+label:hover::before {
    background-color: rgba(51, 154, 105, 0.2);
}
/* стили для активного состояния чекбокса (при нажатии на него) */
.orderform  .custom-checkbox:not(:disabled):active+label::before {
    border-color: rgba(51, 154, 105, 0.5);
    background-color: rgba(51, 154, 105, 0.2);
}
/* стили для чекбокса, находящегося в фокусе */
.orderform  .custom-checkbox:focus:hover+label::before {
    -webkit-box-shadow: 0 0 0 0.15rem rgba(51, 154, 105, 0.25);
    box-shadow: 0 0 0 0.15rem rgba(51, 154, 105, 0.25);
}
/* стили для чекбокса, находящегося в фокусе и не находящегося в состоянии checked */
.orderform  .custom-checkbox:focus:not(:checked)+label::before {
    border-color: rgba(51, 154, 105, 0.5);
}
/* стили для чекбокса, находящегося в состоянии disabled */
.orderform  .custom-checkbox:disabled+label::before {
    background-color: #e9ecef;
}


.orderform button.active {
    color: transparent;
    background-image: url(images/load.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: auto 70%;
}

.orderform #form-response {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #f5f7f8;
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
    padding: 1rem;
    line-height: 1.5;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transform: scaleY(0);
    -ms-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transition: -webkit-transform .2s;
    transition: -webkit-transform .2s;
    -o-transition: transform .2s;
    transition: transform .2s;
    transition: transform .2s, -webkit-transform .2s;
}

.orderform #form-response.active {
    -webkit-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1);
}

#ui-datepicker-div {
    display: none;
}
.ui-widget {
    font-size: 1em!important;
}

.grecaptcha-badge {
    visibility: hidden;
    pointer-events: none;
}

.style-404 {
    font-size: 10rem;
}

main > .fullscreen {
    height: calc(100vh - 5.7rem);
}

ul.ok-style {
    display: block;
    list-style: none;
    padding-left: 0;
    margin: 2rem auto;
}

ul.ok-style li {
    position: relative;
    padding-left: 3.5rem;
    line-height: 2.25rem;
    margin: 0 0 2rem;
}

ul.ok-style li:last-of-type {
    margin-bottom: 0!important;
}

ul.ok-style li:before {
    content: "";
    position: absolute;
    display: block;
    left: 0;
    top: 0;
    width: 2.25rem;
    height: 2.25rem;
    background: url(images/icons/ok-marker.svg) no-repeat;
    background-size: contain;
}

.recommend {
    position: relative;
    padding: 2rem 0;
    border-top: 1px solid #007c3b;
    border-bottom: 1px solid #007c3b;
}

.recommend .title {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-size: 1.5rem;
    padding: 0.5rem 2rem;
    background: #007c3b;
    color: #fff;
    text-transform: uppercase;
}

.options {
    text-align: center;
}

.options .options-items {
    display: inline-block;
    text-align: center;
}

.options .options-items .item {
    display: block;
    padding: 1rem 2rem;
    text-align: center;
    border-bottom: 1px solid rgba(0, 124, 59, 0.2);
}

.options .options-items .item:last-of-type {
    border-bottom: 0;
}

.b24-form {
    border: 1px solid #ccc;
    display: inline-block;
    box-shadow: 0 0 5px 1px rgba(30, 30, 30, 0.15);
    max-width: 600px;
    margin: 0 5px;
    text-align: left;
}

.b24-window-mounts {
    display: none;
}

/******************************************************/
/*********************   SEARCH   *********************/
/******************************************************/

.search-form {
    position: relative;
    -webkit-box-flex: 0;
    -ms-flex: 0;
    flex: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    justify-items: flex-end;
}

#search-form_form {
    position: relative;
}

.search-form_input {
    background: url("data:image/svg+xml;base64,ICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTkuODU2IiBoZWlnaHQ9IjIwLjg0OCIgdmlld0JveD0iMCAwIDE5Ljg1NiAyMC44NDgiPgogICAgICAgIDxwYXRoIGQ9Ik05MS4xMTksMzEwLjU2N2wtNC43MTMtNC43MTNhOC44LDguOCwwLDAsMCwyLjUxLTYuMTQ3LDguNzA4LDguNzA4LDAsMSwwLTguNzA4LDguNzA4LDguOTgzLDguOTgzLDAsMCwwLDUuMDItMS41ODhsNC44MTUsNC44MTVhLjg3Ny44NzcsMCwwLDAsMS4xMjcsMEEuNzkyLjc5MiwwLDAsMCw5MS4xMTksMzEwLjU2N1pNNzMuMDM3LDI5OS43MDhhNy4xNzEsNy4xNzEsMCwxLDEsNy4xNzEsNy4xNzFBNy4xOTIsNy4xOTIsMCwwLDEsNzMuMDM3LDI5OS43MDhaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNzEuNSAtMjkxKSIgZmlsbD0iIzAwN2MzYiIgLz4KICAgIDwvc3ZnPg==") no-repeat;
    background-position: right center;
    background-size: auto 1.1rem;
    outline: none;
    width: 0;
    height: 1.5rem;
    font-size: 1.2rem;
    min-width: 0;
    z-index: 1;
    position: relative;
    padding: 0 4px;
    padding-right: 1.5rem;
    -webkit-appearance: none;
    border: 0;
    -webkit-transition: all .6s ease;
    -o-transition: all .6s ease;
    transition: all .6s ease;
    cursor: pointer;
}

.search-form_input:focus {
    width: 160px;
    cursor: text;
}

#search-form_form.__focus .search-form_input,
#search-form_form.__value .search-form_input {
    width: 160px;
}

.search-form_input:focus ~ .search-form_progress,
#search-form_form.__value .search-form_progress {
    opacity: 1!important;
}

.search-form_progress  {
    position: absolute;
    left: 0;
    bottom: 0;
    width: calc(100% - 1.5rem);
    opacity: 0;
    -webkit-transition: opacity .3s;
    -o-transition: opacity .3s;
    transition: opacity .3s;
}

.search-form_progress .progress-line {
    stroke-width: 2px;
    stroke: #007c3b;
}

.search-form_progress .bg-line {
    fill: transparent;
    stroke-width: 2px;
    stroke: transparent;
}

#search-form_form.__loading .search-form_progress .bg-line {
    -webkit-animation: 1s draw linear infinite;
    animation: 1s draw linear infinite;
    stroke: #69c48f;
}

@-webkit-keyframes draw {
    0% {
        stroke-dasharray: 0 100;
        stroke-dashoffset: 100;
    }
    100% {
        stroke-dasharray: 100 100;
        stroke-dashoffset: 100;
    }
}

@keyframes draw {
    0% {
        stroke-dasharray: 0 100;
        stroke-dashoffset: 100;
    }
    100% {
        stroke-dasharray: 100 100;
        stroke-dashoffset: 100;
    }
}

#search-form_form.__blur .ajax-search {
    opacity: 0;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-transform: scaleY(0);
    -ms-transform: scaleY(0);
    transform: scaleY(0);

}

.ajax-search {
    position: absolute;
    top: 100%;
    left: 0;
    width: 320px;
    right: 0;
    background: #fff;
    -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
    max-height: 230px;
    overflow-x: hidden;
    overflow-y: auto;
    z-index: 100;
    margin: 5px 0 0 0;
    padding: 0;
    font-size: 1rem;
    color: #424348;
    scrollbar-color: dark;
    scrollbar-width: thin;
    -ms-scroll-chaining: none;
    overscroll-behavior: contain;
    -webkit-transform-origin: center top;
    -ms-transform-origin: center top;
    transform-origin: center top;
    -webkit-transition: all .2s;
    -o-transition: all .2s;
    transition: all .2s;
}

.ajax-search::-webkit-scrollbar {
    width: 6px;
    background-color: #eff2f3;
}

.ajax-search::-webkit-scrollbar-thumb {
    background-color: #dddddd;
    border-radius: 4em;
}

.ajax-search__thumb {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 64px;
    flex: 1 0 64px;
    margin-right: 0.75rem;
}

/*.ajax-search__thumb img {
    width: 64px;
    height: auto;
}*/

.ajax-search__item {
    position: relative;
    border-top: 1px solid rgba(224, 229, 231, 0.5);
    padding: 0.75rem;
    cursor: pointer;
    list-style-type: none;
}

.ajax-search__link {
    margin-bottom: 0.5em;
    font-size: 0.75em;
    line-height: 1.4;
    display: block;
    overflow: hidden;
    text-decoration: none;
    height: 2rem;
    width: 100%
}

.ajax-search__link:hover {
    text-decoration: underline;
}

.ajax-search__link:after,
.ajax-search__excerpt:after {
    content: "...";
    display: inline;
}

.ajax-search__excerpt {
    cursor: default;
    font-size: 0.6em;
    overflow: hidden;
    height: 3em;
    color: #38383E;
}

.ajax-search__item.__more .ajax-search__link {
    text-align: center;
    height: auto;
    margin-bottom: 0;
}

.ajax-search__not-found {
    font-size: 0.9em;
}




/******************************************************/
/*********************   HEADER   *********************/
/******************************************************/

header {
    width: 100%;
    background: #fff;
    z-index: 100;
    padding-bottom: 0.5rem;
    position: relative;
    /*    box-shadow: inset 0 -0.5rem 0 0 #dcd4c7;*/
}

header .social-panel .social-icon:not(:last-of-type) {
    margin-right: 1rem;
}

header .social-panel .social-icon:not(:last-of-type) {
    margin-right: 1rem;
}
/*
header .top-header .social-panel {
    display: none;
}*/

.header {
    height: 2.6rem;
    background: #F5F7F8;
    color: #38383E;
}

.top-header {
    height: 2.6rem;
}

.top-header .container > div:not(:last-of-type) {
    margin-right: 1.33rem;
}

.header .container,
.top-header .container,
.header .container > .row {
    height: 100%;
}

.top-header .container {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.top-header .tel,
.top-header .short-worktime,
.top-header .group,
.top-header .admin {
    font-size: 0.89rem;
}

.top-header .icon {
    position: relative;
    top: 2px;
    margin-right: 0.3rem;
    color: #666;
}

.header .logo img {
    width: auto;
    height: 100%;
}

.header .logo {
    height: 100%;
    position: relative;
    padding: 0.35rem 0;
}

.header .logo .logo-short {
    display: none;
}
/*
.header nav ul {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}*/

.header nav {
    flex: 1;
    padding: 0 2rem;
}

.header nav li {
/*    margin: 0 3rem 0 0;*/
    font-size: 0.833rem;
    text-transform: uppercase;
    font-weight: bold;
}

.header nav li a {
    position: relative;
    color: inherit;
    padding: 0.1rem 0.5rem;
    -webkit-transition: background .2s;
    -o-transition: background .2s;
    transition: background .2s;
}

.header nav li a span {
    position: relative;
    display: inline-block;
}

.header nav li a span:before {
    content: "";
    background: #007C3B;
    height: 2px;
    width: calc(100% + 1rem);
    position: absolute;
    top: -2px;
    left: -0.5rem;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: top center;
    -ms-transform-origin: top center;
    transform-origin: top center;
    -webkit-transition: all .2s;
    -o-transition: all .2s;
    transition: all .2s;
    z-index: 2;
}

.header nav li a:hover {
    background: #fff;
}

.header nav li a:hover span:before {
    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
    transform: scaleX(1);
}

.header nav li:last-of-type {
    margin: 0;
}

.header a,
.footer-nav a {
    text-decoration: none;
    white-space: nowrap;
}

.header .button {
    flex: 0 0 7.5rem;
    height: 100%;
    width: 7.5rem;
    padding: 0.3rem 0;
}

.header .button .ticket,
.footer-nav .button .ticket {
    height: 100%;
    width: 100%;
    background: #007c3b;
    position: relative;
}

.header .button .ticket:before,
.footer-nav .button .ticket:before {
    content: "";
    display: block;
    position: absolute;
    background: url(images/tickets-before.png) no-repeat center right;
    background-size: auto 100%;
    top: 0;
    left: -4px;
    width: 5px;
    height: 100%;
}

.header .button .ticket:hover:before,
.footer-nav .button .ticket:hover:before {
    -webkit-filter: grayscale(1) brightness(1.1);
    filter: grayscale(1) brightness(1.1);
}

.header .button a,
.footer-nav .button a {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 0;
    overflow: hidden;
    font-size: 0.82rem;
}

.header .button span,
.footer-nav .button span {
    top: -100%;
    width: 100%;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    display: inline-block;
    text-align: center;
    position: absolute;
    overflow: hidden;
}

.header .button span.small-type {
    font-size: 0.6rem;
    padding: 4px 0;
    display: inline-block;
}

.header .button a span:nth-child(1),
.footer-nav .button a span:nth-child(1) {
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-animation: rotateWordStart 10s linear infinite;
    animation: rotateWordStart 10s linear infinite;
}

.header .button a span:nth-child(2),
.footer-nav .button a span:nth-child(2) {
    -webkit-animation: rotateWord 10s linear infinite;
    animation: rotateWord 10s linear infinite;
    -webkit-animation-delay: 4s;
    animation-delay: 4s;
}

@-webkit-keyframes rotateWordStart {
    0% { top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); opacity: 1;}
    38% { top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); opacity: 1;}
    45% { top: 100%; -webkit-transform: translateY(0); transform: translateY(0);opacity: 1;}
    46% { top: 100%; -webkit-transform: translateY(0); transform: translateY(0);opacity: 0;}
    47% { top: -100%; -webkit-transform: translateY(0); transform: translateY(0);opacity: 0;}
    48% { top: -100%; -webkit-transform: translateY(0); transform: translateY(0);opacity: 1;}
    90% { top: -100%; -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; }
    100% { top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); opacity: 1;}
}

@keyframes rotateWordStart {
    0% { top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); opacity: 1;}
    38% { top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); opacity: 1;}
    45% { top: 100%; -webkit-transform: translateY(0); transform: translateY(0);opacity: 1;}
    46% { top: 100%; -webkit-transform: translateY(0); transform: translateY(0);opacity: 0;}
    47% { top: -100%; -webkit-transform: translateY(0); transform: translateY(0);opacity: 0;}
    48% { top: -100%; -webkit-transform: translateY(0); transform: translateY(0);opacity: 1;}
    90% { top: -100%; -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; }
    100% { top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); opacity: 1;}
}

@-webkit-keyframes rotateWord {
    0% { top: -100%; -webkit-transform: translateY(0); transform: translateY(0); }
    10% { top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
    48% { top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%);}
    55% { top: 100%; -webkit-transform: translateY(0); transform: translateY(0); }
    100% { top: 100%; -webkit-transform: translateY(0); transform: translateY(0); }
}

@keyframes rotateWord {
    0% { top: -100%; -webkit-transform: translateY(0); transform: translateY(0); }
    10% { top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
    48% { top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%);}
    55% { top: 100%; -webkit-transform: translateY(0); transform: translateY(0); }
    100% { top: 100%; -webkit-transform: translateY(0); transform: translateY(0); }
}

nav li.current-menu-item > a,
nav > .nav li.current-menu-ancestor > a,
nav > .nav li.current-post-ancestor > a,
nav > .nav li.current-page-ancestor > a,
nav > .nav li.current-category-ancestor > a
{
    background: #fff;
}

.footer-nav > li.current-menu-item > a,
.footer-nav > li.current-menu-ancestor > a,
.footer-nav > li.current-post-ancestor > a,
.footer-nav >  li.current-page-ancestor > a,
.footer-nav >  li.current-category-ancestor > a
{
    font-weight: bold;
}



.mobile-panel {
    display: none;
}

.mobile-view {
    display: none;
}

.mobile-menu {
    display: none;
    background: #fff;
    height: 45px;
    padding: 0.25rem 0;
}

.mobile-menu .container {
    display: table;
}

.mobile-menu .toggleMenu {
    display: table-cell;
    font-size: 1.2rem;
    line-height: 45px;
    text-decoration: none;
    color: #333;
    height: 100%;
    white-space: nowrap;
    text-align: right;
}

.mobile-menu .menu-bar-line {
    position: relative;
    margin: 0 10px 0 0;
    display: inline-block;
    vertical-align: middle;
}

.mobile-menu .menu-bar-line .bar-line {
    display: block;
    width: 22px;
    height: 3px;
    margin: 0 0 3px;
    background-color: #333;
}

.mobile-menu .logo.mobile {
    height: 40px;
    display: table-cell;
    padding: 0;
    vertical-align: middle;
    text-align: left;
}

.mobile-menu .logo.mobile img {
    display: inline-block;
    height: 100%;
    width: auto;
    vertical-align: middle;
}

.group-menu {
    text-align: center;
    margin-top: 1rem;
}

.roll header {
    position: fixed;
    left: 0;
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%);
    -webkit-transition: -webkit-transform .5s;
    transition: -webkit-transform .5s;
    -o-transition: transform .5s;
    transition: transform .5s;
    transition: transform .5s, -webkit-transform .5s;
}

.roll header .top-header {
    display: none;
}

.roll header {
    padding-top: 0.5rem;
}

/*
.roll .header .logo img {
    max-width: 9rem;
}
*/

/*.search {
    display: table;
}*/

/******************************************************/
/*********************   FOOTER   *********************/
/******************************************************/

footer {
    background: #1D1D1B;
    color: #fff;
    font-size: 0.667rem;
}

footer .footer-nav {
    height: 2.6rem;
}

footer .footer-nav a {
    color: #fff;
    font-weight: bold;
    text-transform: uppercase;
    text-decoration: none;
}

footer .footer-nav a:hover {
    text-decoration: underline;
}

footer .copyright {
    background: #484848;
    padding: 0.3rem 0;
    color: #aaa;
}

footer .informer {
    position: absolute;
    right: 10px;
    z-index: 100;
    top: 0.5rem;
    opacity: 0.25;
    -webkit-transition: opacity .3s;
    -o-transition: opacity .3s;
    transition: opacity .3s;
}

footer .informer:hover {
    opacity: 1;
}


/******************************************************/
/**********************   MAIN   **********************/
/******************************************************/

.home h3 {
    position: relative;
    display: block;
    margin: 0 auto;
    font-size: 2.5rem;
    color: #007C3B;
}

.home h4 {
    font-size: 1.7rem;
}

.head h3.decor.row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    margin: 0 4rem;
}

.head h3.decor:before {
    content: "";
    display: block;
    margin-bottom: 2rem;
    margin-left: auto;
    margin-right: auto;
    width: 13.5rem;
    height: 1.66rem;
    background: url(images/title-decoration.svg) no-repeat top center;
    background-size: contain;
}

.inverse .head h3.decor:before {
    background: url(images/title-decoration-white.svg) no-repeat top center;
    background-size: contain;
}

.with-head .head {
    height: 23rem;
}

.with-head .head:before,
.with-head .head:after {
    content: "";
    display: block;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    height: 100%;
    background: url(images/left-head-bg.svg) repeat-x center right;
    background-size: auto 10.3rem;
}

.with-head.inverse .head:before {
    background: url(images/left-head-bg-white.svg) repeat-x center right;
    background-size: auto 10.3rem;
}

.with-head .head:after {
    background: url(images/right-head-bg.svg) repeat-x center left;
    background-size: auto 10.3rem;
}

.with-head.inverse .head:after {
    background: url(images/right-head-bg-white.svg) repeat-x center left;
    background-size: auto 10.3rem;
}

.with-head .decor-img {
    display: none;
}

/*.with-head .decor-img {
    position: absolute;
    top: -4rem;
    left: 50%;
    transform: translateX(-50%);
}

.with-head .decor-img img {
    height: 10rem;
    width: auto;
}

.with-head .decor-img ~ div {
    padding-top: 7rem;
}*/

.home #info-panel {
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%);
    -webkit-transition: -webkit-transform 1s;
    transition: -webkit-transform 1s;
    -o-transition: transform 1s;
    transition: transform 1s;
    transition: transform 1s, -webkit-transform 1s;
    z-index: 15;
    width: 100%;
}

.home #info-panel.active {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
}

.home #info-panel .inner-content {
    background: #007c3b;
    padding: 0.5rem 1rem;
    color: #fff;
    font-size: 0.9rem;
    font-weight: bold;
    text-align: center;
    border-radius: 0 0 1rem 1rem;
}

.home .fullwidth {
    width: 100%;
    height: 62vh!important;
    min-height: 400px;
    position: relative;
}

.home .full-slider {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    background: #000;
    text-align: center;
    height: 100%;
    width: 100%;
    overflow: hidden;
    background-size: cover;
}

.home .full-slider video,
.home .full-slider img {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}


.home .full-slider:before {
    content: "";
    display: block;
    position: absolute;
    background: url(images/px.png);
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 10;
}

.home .slogan {
    color: #fff!important;
    position: absolute;
    top: 50%;
    left: 50%;
    text-align: center;
    max-width: 34rem;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-shadow: 0 0 3px rgba(0,0,0,0.8);
    z-index: 10;
    pointer-events: none;
}

.home .slogan .size1 {
    font-size: 2em;
}

.home .slogan .size2 {
    font-size: 1.6em;
}

.home .slogan .colorful {
    color: #fff;
    background: rgba(255, 255, 255, 1);
    background: -webkit-linear-gradient( left, #00ffff 0%, #97fba0 25%, #97b1fb 50%, #00ffff 100%) repeat;
    -webkit-background-clip: text;
    -moz-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    -ms-text-fill-color: transparent;
    -moz-text-fill-color: transparent;
    text-fill-color: transparent;
    -webkit-animation-name: masked-animation;
    -webkit-animation-duration: 50s;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    text-shadow: none;
}

.home .slogan a {
    color: #fff!important;
    pointer-events: auto;
}

.home .slogan a:hover {
    text-decoration: none;
}

@-webkit-keyframes masked-animation {
    0% {
        background-position: 0 0;
    }
    100% {
        background-position: -8000px -3000px;
    }
}

.home .slogan-buro {
    color: #fff;
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    text-align: center;
    font-size: 0.8rem;
    text-shadow: 0 0 3px rgba(0,0,0,0.8);
    z-index: 10;
}

.home .slogan > *,
.home .slogan-buro  {
    visibility: hidden;
}

.home .slogan hr {
    display: inline-block;
    border: 0;
    background: #fff;
    width: 15rem;
    height: 0.4rem;
}

.home .slogan h1 {
    color: #fff;
}

.home .main-video .video-wrap,
.home .main-video .video-wrap iframe {
    max-width: 100%;
    max-height: 41rem;
}

.home .main-logo {
    background: #F5F7F8;
    padding: 3.6rem 0;
}

.home .main-logo img {
    max-width: 50rem;
    margin: 0 auto;
}

.home .main-logo img {
    max-width: 50rem;
    margin: 0 auto;
}

.home .main-gallery.moved a.thumb,
.home .main-gallery.moved #show-img {
    -webkit-transition: all .25s;
    -o-transition: all .25s;
    transition: all .25s;
}

.home .main-gallery .link {
    text-align: right;
    margin: 3rem 1rem 0 0;
}

.home .full-absolute {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 0;
}

.title-small.month {
    letter-spacing: 4.8pt;
}

.time sup {
    font-size: 1.7rem;
    margin-left: 0.3rem;
}

.main-blocks .with-head .decor-img {
    top: -6rem;
}

/*.home .main-blocks .items {
    padding-top: 9rem;
}*/

.main-blocks .item {
    background: #F5F7F8;
    /*    max-height: 27rem;*/
    /*    margin-bottom: 4.5rem;*/
}

.main-blocks .item:last-of-type {
    margin-bottom: 0;
}

/*.home .main-blocks .item:nth-of-type(2n) {
    flex-direction: row-reverse;
}*/

.main-blocks .item > div {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 50%;
    flex: 1 0 50%;
}

.main-blocks .item h3 {
    font-size: 1.8rem;
    color: #38383E;
    text-align: left;
}

.main-blocks .item h3 > span {
    font-size: 1.8rem;
    color: #007C3B;
    -webkit-transition: color .2s;
    -o-transition: color .2s;
    transition: color .2s;
}

.main-blocks .item a > h3:hover > span {
    color: inherit;
}

.main-blocks .item > .bg {
    -ms-flex-item-align: stretch;
    -ms-grid-row-align: stretch;
    align-self: stretch;
    position: relative;
    width: 100%;
    /*    max-height: 27rem;*/
    overflow: hidden;
}

.main-blocks .item > .bg:before {
    content: "";
    width: 100%;
}

.main-blocks .item > .bg picture {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    overflow: hidden;
}

.main-blocks .item img  {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.main-blocks .item > .desc {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding: 3.2rem 15px 3.2rem 3.2rem;
}

/*.home .main-blocks .item:nth-of-type(2n) > .desc {
    justify-content:  flex-end;
    padding: 3.2rem 3.2rem 3.2rem 15px;
}*/

.main-blocks .item .desc > .wrap {
    max-width: 600px;
}

.main-blocks .item .inner-desc {
    padding: 2.22rem 0;
}

.main-blocks .item .inner-desc span.small-type {
    display: block;
    margin-top: 1rem;
    font-size: 0.8rem;
    text-align: right;
}

/*.home .main-blocks .item .link {
    white-space: nowrap;
}*/

/*.home .main-blocks .item .link .icon {
    margin-right: 0.75rem;
    font-size: 1.4rem;
}*/

.main-blocks .item .order-button {
    text-align: right;
    margin-top: 2.22rem;
}

.main-blocks .item .order-button a {
    font-size: 1.78rem;
}


/*.home .main-more .body {
    background: url(images/pattern-bg.png) center, #007C3B;
    background-size: 50rem auto;
}*/

.home .main-more .body .container {
    background: #fff;
}

.home .main-more .items {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding-bottom: 2rem;
}

.home .main-more .item {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 30%;
    flex: 1 0 30%;
    margin-bottom: 2rem;
}

.home .main-more .item .wrap {
    margin: 0 auto;
    /*    max-width: 25rem;*/
    padding: 1rem;
}

.home .main-more .item h4 {
    font-size: 1.4rem;
    font-weight: bold;
    text-transform: uppercase;
}

.home .main-more .item h4 span {
    color: #007C3B;
}

.home .main-more .item .desc {
    text-align: left;
    margin: 0 2rem;
}

.home .main-contacts .fullwidth {
    position: relative;
    height: 100%;
    max-height: 22rem;
}

.home .main-contacts #map {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.home .main-footer {
    font-size: 0.88rem;
    padding: 2.5rem 0;
    background: #007C3B;
    color: #fff;
}

.home .main-footer .container {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}
.home .main-footer .container > div {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 40%;
    flex: 1 0 40%;
    max-width: 40%;
}

.home .main-footer h5 {
    margin: 1rem 0;
    font-size: 1rem;
}

.home .main-footer .column h5:first-of-type {
    margin-top: 0;
}

.home .main-footer .column:last-of-type {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
}

.home .main-footer .column > span {
    font-weight: bold;
}

.home .main-footer .column > .item {
    margin: 1rem 0 0;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.home .main-footer .column .icon {
    font-size: 1.25rem;
    margin-right: 0.25rem;
    color: #fff;
}

.home .main-footer .column .icon:before {
    width: 2rem!important;
    display: inline-block;
}

/*.home .main-footer .map {
    margin: 0 1.6rem;
    flex: 1 0 calc(33.333% - 3.2rem)!important;
    max-width: calc(33.333% - 3.2rem)!important;
}

.home .main-footer .map a {
    font-weight: bold;
}

.home .main-footer .map #map {
    margin: 1.6rem 0 0;
    height: 17rem;
}*/


.home .main-footer .social-panel {
    margin: 2rem 0 0;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.home .main-footer .social-panel .social-icon{
    font-size: 1.25rem;
    margin-right: 1rem;
}

.modal-form {
    display: none;
    max-width: 500px!important;
    padding: 2rem!important;
}

.modal-form.page {
    max-width: 900px!important;
}

.modal-form .orderform {
    overflow-y: auto;
    background: #fff;
    padding: 0;
}

.modal-form .modal-body {
    font-size: 0.9rem;
}

.home .gallery {
    padding: 3.5rem 0 4.75rem;
    background: #dcd4c7; /* FF3.6-15 */ /* Chrome10-25,Safari5.1-6 */
    background: -webkit-gradient(linear,  left top, left bottom,  from(#dcd4c7),color-stop(57%, #eeeae4),to(#dcd4c7));
    background: -o-linear-gradient(top,  #dcd4c7 0%,#eeeae4 57%,#dcd4c7 100%);
    background: linear-gradient(to bottom,  #dcd4c7 0%,#eeeae4 57%,#dcd4c7 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dcd4c7', endColorstr='#dcd4c7',GradientType=0 ); /* IE6-9 */

}

.home .gallery .section-desc {
    text-align: center;
    margin: 0 0 2.5rem;
}

.home .gallery .btn-block {
    text-align: center;
}

.gallery.wideslider #main-slider {
    opacity: 0;
    width: 45rem!important;
    margin: 0 auto;
}

.gallery.wideslider .main-slider {
    width:100%;
    overflow: hidden;
}

.gallery.wideslider .main-slider .slider-wrap {

}

.base-slider .glide__track {
    overflow: visible!important;
}

.base-slider .glide__slide {
    position: relative;
    opacity: 0.25;
    /* margin: 0 0.625rem;*/
    -webkit-transition: opacity .25s;
    -o-transition: opacity .25s;
    transition: opacity .25s;
}

.base-slider .glide__slide.glide__slide--clone {
    pointer-events: none;
}

.base-slider .glide__slide a {
    display: block;
}

.base-slider .glide__slide a:before {
    content: "";
    display: block;
    padding-top: 56%;
}

.base-slider .item img {
    -webkit-filter: blur(5px);
    filter: blur(5px);
    opacity: 0.4;
    -webkit-transition: all 1s;
    -o-transition: all 1s;
    transition: all 1s;
}

.base-slider .glide__slide img {
    position:  absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.base-slider .glide__slide--active img {
    -webkit-filter: blur(0);
    filter: blur(0);
    opacity: 1;
    -webkit-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
}

.base-slider .glide__slide.video:before {
    content: "";
    display: block;
    background: url(images/icons/play.svg) no-repeat center;
    background-size: 68px 48px;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 5;
    pointer-events: none;
    -webkit-transition: opacity .2s;
    -o-transition: opacity .2s;
    transition: opacity .2s;
}

.glide-arrows {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    -webkit-transition: opacity 1s;
    -o-transition: opacity 1s;
    transition: opacity 1s;
}

.glide-arrows.action {
    -webkit-transition: opacity .1s;
    -o-transition: opacity .1s;
    transition: opacity .1s;
    opacity: 0;
}

.glide-arrow {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    background: url(images/icons/arrow-slider.svg) no-repeat transparent;
    opacity: 0.6;
    background-size: cover;
    width: 2rem;
    height: 2rem;
    border: 0;
    outline: 0;
    pointer-events: auto;
    cursor: pointer;
    -webkit-transition: opacity .2s;
    -o-transition: opacity .2s;
    transition: opacity .2s;
}

.glide-arrow:hover {
    opacity: 1;
}

.glide-arrow-left {
    left: 0;
}

.glide-arrow-right {
    right: 0;
    -webkit-transform: translateY(-50%) scaleX(-1);
    -ms-transform: translateY(-50%) scaleX(-1);
    transform: translateY(-50%) scaleX(-1);
}

/******************************************************/
/*****************   EXPO & AUTHORS   *****************/
/******************************************************/

.expo-type .image-block {
    position: relative;
    margin-top: 5rem;
}

.expo-type .image-block:before,
.expo-type .imagegllr-wrapper:before {
    content: "";
    display: block;
    background: #F5F7F8;
    position: absolute;
    width: 100vw;
    left: calc(-1*((100vw - 750px)/2));
    top: -2.5rem;
    height: 16rem;
    z-index: -1;
}

.pre-content {
    position: relative;
    z-index: 10;
}

.pre-content .thumb {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.pre-content .options {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    position: relative;
    text-align: left;
    -ms-flex-item-align: start;
    align-self: flex-start;
    margin-left: 2.5rem;
}

.pre-content .options p {
    margin: 0;
}

.pre-content .options:after {
    content: "";
    display: block;
    background: #F5F7F8;
    position: absolute;
    width: 100vw;
    left: calc(-1*((100vw - 1248px)/2 + (1200px - 100% + 15px)));
    top: -2.5rem;
    height: calc(100% + 5rem);
    min-height: 15rem;
    z-index: -1;
}

.pre-content .options ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.pre-content .options ul.authors li {
    position: relative;
    margin: 0.5rem 0;
    padding-left: 1.5rem;
}

.pre-content .options ul.authors li:last-of-type {
    margin-bottom: 0;
}

.pre-content .options ul.authors li:before {
    content: "";
    display: block;
    position: absolute;
    vertical-align: middle;
    left: 0;
    top: 0.45rem;
    width: 0.7rem;
    height: 0.7rem;
    background: url(images/icons/list-marker.svg) no-repeat center;
    background-size: contain;
}

.pre-content .options:before {
    content: "";
    display: block;
    height: 0.75rem;
    width: 1.5rem;
    background: url(images/icons/point-arrow.svg) no-repeat center;
    background-size: contain;
    margin-bottom: 2rem;
}

.pre-content li:not(:last-of-type) {
    margin-bottom: 0.5rem;
}

.pre-content li span:first-child,
.pre-content .list-title {
    font-size: 1.5rem;
    text-transform: uppercase;
    font-weight: bold;
}

.pre-content .list-title {
    display: inline-block;
    margin-top: 1rem;
}

.expo-type section.content {
    margin-top: 3.5rem;
}

/******************************************************/
/**********************   PAGE   **********************/
/******************************************************/

main.page,
main.category {
    padding: 0 0 4rem;
}

/*main.page .breadcramps {
    margin-left: auto;
    margin-right: auto;
}*/

main.page .fullwidth,
main.category .fullwidth {
    height: 22rem;
}

main.page .fullwidth img,
main.category .fullwidth img {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

main.category .title h1,
main.page .title h1 {
    position: relative;
    margin: 3.5rem auto;
    text-align: center;
    color: #1D1D1B;
}

main.category .title h1:before ,
main.page .title h1:before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    max-width: 15rem;
    top: -1rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    height: 0.4rem;
    background: #1D1D1B;
}


main .content {
    margin: 0 auto;
    line-height: 1.7;
}

main.page:not(.contacts) .content {
    max-width: 850px;
}

main.page .date {
    font-size: 0.9rem;
    font-style: italic;
    max-width: 850px;
    margin: 0 auto;
    text-align: right;
    color: #891516;
}


main.page:not(.expo-type) .imagegllr {
    margin-top: 2rem!important;
}

main .content h2,
main .content h3,
main .content h4 {
    font-size: 1.5rem;
    text-align: left;
    color: inherit;
}

main .content h3 {
    font-size: 1.2rem;
}

main .content h4 {
    font-size: 1.1rem;
    text-transform: none;
    font-weight: bold;
}

main .content a {
    text-decoration: underline;
}

main .content a:hover {
    text-decoration: none;
}


main .content .post-image {
    margin: 2rem 0;
    display: block;
}


main .content strong {

}

main .content .materials-note {
    line-height: 1.45;
    padding: 0.5rem 0 0.5rem 2rem;
    display: inline-block;
    border-left: 1px solid green;
    margin: 1rem 0 0 2rem;
}

main .content blockquote {
    color: #383838;
    font-family: Georgia,serif;
    font-size: 1rem;
    font-style: italic;
    line-height: 1.45;
    padding: 0.5rem 2.22rem 5px;
    position: relative;
}

main .content blockquote:before {
    color: #7A7A7A;
    content: "\201C";
    display: block;
    font-size: 4.5rem;
    left: -0.9rem;
    position: absolute;
    top: -0.9rem;
}

main .content .caption {
    font-size: 0.9rem;
    max-width: 600px;
    font-style: italic;
    margin-top: -1rem;
}

main .content ul {
    list-style: none;
}

main .content ul li,
main .content ol li {
    position: relative;
    margin: 0.5rem 0;
}

main .content ul > li:before {
    content: "";
    display: block;
    position: absolute;
    vertical-align: middle;
    left: -1.3rem;
    top: 0.45rem;
    width: 0.7rem;
    height: 0.7rem;
    background: url(images/icons/list-marker.svg) no-repeat center;
    background-size: contain;
}

.image-block {
    display: block;
    max-width: 750px;
    margin: 2rem auto;
}

.image-block .item {
    max-width: 100%!important;
}

.image-block .title {
    text-align: center;
    font-weight: normal;
    font-size: 0.9rem;
    font-style: italic;
    padding: 0.25rem 0;
    margin-bottom: -0.5rem;
}

.image-block .title span {

}

main .content .owl-carousel > .item:not(:first-of-type) {
    display: none;
}


/******************************************************/
/********************   CATEGORY   ********************/
/******************************************************/


.category .list-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin: 0 0 0 -2%;
}

.category .list-item > .item {
    position: relative;
    -webkit-box-flex: 0;
    -ms-flex: 0 1 21%;
    flex: 0 1 21%;
    margin: 0 1% 3% 3%;
}

.category .list-item > .item .thumb-item {
    position: relative;
    display: block;
    opacity: 0.85;
    -webkit-transition: opacity .4s;
    -o-transition: opacity .4s;
    transition: opacity .4s;
    text-decoration: none;
}

.category .list-item > .item .thumb-item:hover {
    opacity: 1;
}

.category .list-item > .item .thumb-item img {
    width: 100%;
    height: 100%;
    display: block;
    -o-object-fit: cover;
    object-fit: cover;
}

.category .list-item > .item .title-item {
    display: block;
    width: 100%;
    padding: 1rem 0;
    font-weight: bold;
    word-break: break-word;
    text-transform: uppercase;
    font-size: 1.1rem;
    color: #1D1D1B;
    line-height: 1.3;
    text-decoration: none!important;
    -webkit-transition: color .25s;
    -o-transition: color .25s;
    transition: color .25s;
}

.category .list-item > .item .title-item:hover {
    color: #007C3B;
}

.category .list-item > .item .title-item .date {
    display: none;
}

.category .list-item > .item .excerpt {
    display: block;
    width: 100%;
    font-size: 0.875rem;
    line-height: 1.3;
    color: #1D1D1B;
}

.category .list-item > .item .date {
    position: absolute;
    bottom: 0;
    right: 0;
    color: #007c3b;
    font-weight: normal;
    line-height: 1.7;
    padding: 0.1rem 0.5rem;
    font-size: 0.8rem;
    background: #fff;
}

/*.category .list-item .item {
    margin: 3rem 0;
}

.category .item .thumb-item {
    flex: 1 0 auto;
    max-width: 25.125rem;
    margin-right: 2rem;
    border-top: 0.5rem solid #007C3B;
}

.category .item .desc {
    align-self: center;
    flex: 1;
}

.category .item .date {
    display: none;
    color: #393e71;
}

.category .item hr {
    display: none;
    border: 0;
    height: 2px;
    background: #007c3b;
    margin: 1rem 0;
}

.category .item .desc.with-date .date,
.category .item .desc.with-date hr {
    display: block;
}

.category .item  .title-item {
    margin-top: 0;
    text-align: left;
    text-transform: none;
}

.category .item  .desc > a {
    text-decoration: none;
}*/

/******************************************************/
/*********************   GALLERY   *********************/
/******************************************************/

.gallery-page .content {
    max-width: 100%!important;
}

#justify-gallery {
    width: calc(100% + 30px);
    margin: -15px;
    opacity: 0;
}

.category.gallery .list-item {
    margin: 0 -3rem -3rem 0;
}

.category.gallery .list-item .item {
    -webkit-box-flex: 1!important;
    -ms-flex: 1 0 44%!important;
    flex: 1 0 44%!important;
    margin: 0 3rem 3rem 0;
}

.category.gallery .list-item .title {
    display: block;
    background: #007C3B;
    color: #fff;
    text-align: center;
    padding: 0 1rem;
}

.category.gallery .list-item .title h3 {
    display: inline-block;
    margin: 0.75rem 0;
}


/******************************************************/
/********************   CONTACTS   ********************/
/******************************************************/

main.page.contacts {
    padding: 0;
}

.contacts .map {
    width: 100%;
    height: 27rem;
    margin-top: 4rem;
}

.ticket-cost {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin: 2rem 0;
}

.ticket-cost .item {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    height: 100%;
}

.ticket-cost .item:last-of-type {
    margin-left: 1rem;
}

.ticket-cost .item h3 > span {
    color: #007C3B;
}

.ticket-cost .item .thumb {
    margin-top: 1.5rem;
    margin-right: 1.5rem;
    height: 4.25rem;
}

.ticket-cost .item .thumb img {
    height: 100%;
    width: auto;
}

.ticket-cost .item ul {
    padding-left: 1.5rem;
}

.ticket-cost .item .note {
    font-size: 0.9rem;
    color: #007C3B;
}

.ticket-cost .btn a {
    padding: 0.75rem 1.5rem;
}


/******************************************************/
/*********************   KVEST   *********************/
/******************************************************/

.kvest-button {
    position: relative;
    width: 45%;
    display: inline-block;
    line-height: 0;
    margin: 20px 0;
}
.kvest-button img {
    width: 100%;
}

.kvest-button .hover {
    position: relative;
}

.kvest-button .desc {
    position: absolute;
    display: block;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    bottom: 0;
    opacity: 0;
    height: 0;
    width: 100%;
    color: #000;
    -webkit-transition: all 400ms;
    -o-transition: all 400ms;
    transition: all 400ms;
    background: rgba(255, 255, 255, 0.9);
    overflow: auto;
}

.kvest-button .hover:hover .desc {
    opacity: 1;
    height: 100%;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
}

.kvest-button .desc .outer-desc {
    padding: 20px 30px;
    text-align: center;
    line-height: 1.5;
    font-size: 1rem;
    display: table;
    width: 100%;
    height: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.kvest-button .desc .inner-desc {
    display: table-cell;
    vertical-align: middle;
}


.kvest-button .title span {
    background: #00731e;
    color: #fff;
    text-decoration: none;
    font-size: 34px;
    line-height: 80px;
    text-align: center;
    font-weight: bold;
    display: block;
    position: relative;
    height: 80px;
    width: 100%;
    margin-top: -1px;
    letter-spacing: 1px;
}

.kvest-button .title a {
    text-decoration: none;
}

.kvest-button ul.panel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    width: auto;
    background: #fff;
    margin: 0;
    padding: 0;
}

.kvest-button ul.panel img {
    margin: 1.67rem 0;
    height: 2.67rem;
    width: auto;
}

.kvest-button ul.panel li {
    text-align: center;
    list-style: none;
    width: auto;
}

.kvest-button ul.panel li div {
    display: block;
    font-weight: bold;
    padding: 0 0 1.67rem;
    font-size: 1rem;
}

.kvest-button ul.panel li:first-of-type span {
    font-weight: normal;
}

.kvest-button ul.panel li:last-of-type span {
    padding: 0 0 1.67rem 0.67rem;
}

.kvest-desc {
    display: block;
    font-size: 1.2rem;
    font-weight: 400;
    width: 70%;
    margin: 1.67rem auto;
    text-align: center;
}

/******************************************************/
/*********************   VIDEO   *********************/
/******************************************************/

.video {
    position: relative;
}

.video:before {
    content: "";
    display: block;
    position: relative;
    padding-top: 56.6%;
}

.video iframe {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
}

.video-gallery {
    max-width: 100%;
}

/******************************************************/
/*********************   QUESTS   *********************/
/******************************************************/

.page-quests {
    padding-bottom: 0!important;
}

.page-quests .quests-list{
    position: relative;
}

.page-quests .quest-item {
    display: block;
    position: relative;
}

.page-quests .quest-item:before {
    content: "";
    background: rgba(0,0,0,0.6);
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
    z-index: 9;
    pointer-events: none;
    -webkit-transition: opacity 0.5s;
    -o-transition: opacity 0.5s;
    transition: opacity 0.5s;
}

.page-quests .quest-item .thumb {
    position: relative;
    z-index: 1;
}

.page-quests .quest-item .inner {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    -webkit-transform: translateY(calc(-50%));
    -ms-transform: translateY(calc(-50%));
    transform: translateY(calc(-50%));
    padding: 0 5rem;
    opacity: 1;
    z-index: 10;
    text-align: center;
    pointer-events: none;
    -webkit-transition: all 1s;
    -o-transition: all 1s;
    transition: all 1s;
}

.page-quests .quest-item .inner h3 {
    color: #fff;
    font-size: 1.75rem;
}

.page-quests .quest-item .inner .desc {
    color: #fff;
}

.page-quests .quest-item .btn {
    pointer-events: auto;
    margin-top: 1.25rem;
    text-align: center;
}

.page-quests .quest-item .btn a {
    padding: 1.25rem;
}

.page-quest .after-head {
    max-width: 760px;
    text-align: center;
    margin: 6rem auto 0;
    font-size: 1.5rem;
}

.page-quest .main-blocks {
    text-align: center;
    margin-top: 6rem;
}

.page-quest .main-blocks h3 {
    text-align: center;
    margin: 0 auto;
    font-size: 2rem;
}

.page-quest .main-blocks ul.ok-style {
    display: inline-block;
    text-align: left;
    margin: 2.5rem 0 0;
}

.page-quest .main-blocks ul.ok-style li {
    margin: 0 0 2.5rem;
    font-size: 1.1rem;
}

.page-quest .recommend {
    text-align: center;
    margin: 7.5rem auto 0;
    font-size: 1.5rem;
}

.page-quest .options {
    margin: 6rem auto 0;
    font-size: 1.1rem;
}

.page-quest .options .item:first-of-type {
    font-weight: bold;
    text-transform: uppercase;
}

.page-quest .options .item:last-of-type {
    font-weight: bold;
}

.formcode {
    margin-top: 6rem;
}

.formcode h3 {
    font-size: 1.5rem;
}

.formcode .desc {
    text-align: center;
    font-size: 1.1rem;
}

.formcode .bottom-desc {
    text-align: center;
    font-size: 1.5rem;
    margin: 6rem 0 2rem;
}

/******************************************************/
/*********************   MK   *********************/
/******************************************************/

.page-mk .title h1 {
    font-size: 2rem;
    margin-bottom: 1rem!important;
}

.page-mk .main-blocks {
    margin: 2rem 0;
}

.page-mk .main-blocks .item {
    background: #FFF;
    margin-bottom: 4rem;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

.main-blocks .item h3 {
    margin-top: 0!important;
}

.page-mk .main-blocks .price {
    margin-top: 2.22rem;
    font-weight: bold;
}

.page-mk .main-blocks .item .order-button {
    margin-top: 0;
}

.page-mk .main-blocks .item .order-button a {
    font-size: 1.1rem;
    text-align: center;
}

.page-mk .main-blocks .item > .desc {
    padding: 2.2rem 15px 2.2rem 3.2rem;
}

.page-mk .main-blocks .item:nth-of-type(2n) > .desc {
    padding: 2.2rem 3.2rem 2.2rem 15px;
}

.page-mk .main-blocks .thumb .bg {
    height: 100%;
}

.page-mk .main-blocks .noimage {
    position: relative;
    width: 100%;
    background: #f5f7f8;
}

.page-mk .main-blocks .noimage:before {
    content: "";
    display: block;
    width: 100%;
    padding-bottom: 66.6%;
}

.page-mk .main-blocks .noimage .thumb-date {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    text-align: center;
    color: #007c3b;
    font-weight: bold;
    font-size: 3rem;
    width: 100%;
    line-height: 1;
}

.page-mk .main-blocks .noimage .desc {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
}

.page-mk .main-blocks .noimage .bg {
    -webkit-box-flex: 1;
    -ms-flex: auto;
    flex: auto;
    overflow: visible;
    padding: 0 2.2rem;
}

/******************************************************/
/*********************   SHERP  *********************/
/******************************************************/


.page-sherp .after-head {
    font-size: 2.5rem;
    margin: 4rem 0;
    font-weight: bold;
    text-transform: uppercase;
    color: #007c3b;
}

.page-sherp .main-blocks {
    text-align: center;
    margin-bottom: 4.5rem;
}

.page-sherp .content {
    margin-bottom: 4.5rem;
}

.page-sherp .options {
    margin-bottom: 4.5rem;
}

.page-sherp .options-comment {
    font-size: 0.85rem;
    font-style: italic;
}

.page-sherp .main-blocks h3 {
    text-align: center;
    margin: 0 auto;
    font-size: 2rem;
}

.page-sherp .main-blocks ul.ok-style {
    display: inline-block;
    text-align: left;
    margin: 2.5rem 0 0;
}

.page-sherp .main-blocks ul.ok-style li {
    margin: 0 0 2.5rem;
    font-size: 1.1rem;
}

/******************************************************/
/***************   MEROPRIYATIYA   *******************/
/******************************************************/

.page-meropriyatiya .head h3 {
    font-size: 2.5rem;
    color: #007C3B;
}

.page-meropriyatiya .inverse .head h3 {
    color: #fff;
}

.page-meropriyatiya .form-btn {
    text-align: center;
}

.page-meropriyatiya .form-btn .btn a {
    font-size: 1.75rem;
}

.page-meropriyatiya .bottom-line {
    border-bottom: 1px solid rgba(0, 124, 59, 0.2);
    text-align: center;
    padding: 1rem;
}

.page-meropriyatiya .bottom-line span {
    color: #007C3B;
    font-weight: 700;
}

.page-meropriyatiya .note {
    opacity: 0.8;
}

.page-meropriyatiya .events-graduate,
.page-meropriyatiya .events-birthday {
    padding-bottom: 6rem;
}

.page-meropriyatiya .events-graduate .events-items,
.page-meropriyatiya .events-birthday .events-items {
    align-items: flex-start;
    justify-content: center;
    margin: 0 auto;
}

.page-meropriyatiya .events-graduate .item,
.page-meropriyatiya .events-birthday .item {
    flex: 1 0 30%;
    max-width: 30%;
    padding: 1rem;
}

.page-meropriyatiya .events-graduate .item .thumb,
.page-meropriyatiya .events-birthday .item .thumb {
    position: relative;
    display: block;
    -webkit-transition: opacity .4s;
    transition: opacity .4s;
    text-decoration: none;
}

.page-meropriyatiya .events-graduate .item .thumb .title,
.page-meropriyatiya .events-birthday .item .thumb .title {
    display: flex;
    align-items: center;
    position: absolute;
    bottom: 0;
    width: 100%;
    height: calc(1.2em * 1.2 * 3);
    overflow: hidden;
    padding: 0 0.5rem;
    font-size: 1.2rem;
    line-height: 1.2;
    text-transform: uppercase;
    font-weight: 700;
    -webkit-transition: background .4s;
    transition: background .4s;
    cursor: default;
}

.page-meropriyatiya .events-birthday .item .thumb .title {
    background: #007c3bc4;
    color: #fff;
}

.page-meropriyatiya .events-graduate .item .thumb .title {
    background: #ffffffde;
    color: #007C3B;
}

.page-meropriyatiya .events-birthday .item .thumb:hover .title {
    background: #007C3B;
}

.page-meropriyatiya .events-graduate .item .thumb:hover .title {
    background: #fff;
}

.page-meropriyatiya .events-graduate .item .desc,
.page-meropriyatiya .events-birthday .item .desc {
    font-size: 0.8rem;
    letter-spacing: 0.2pt;
    line-height: 1.3;
}

.page-meropriyatiya .events-graduate .item .desc {
    color: #fff;
}

.page-meropriyatiya .events-graduate {
    background: #007C3B;
}

.page-meropriyatiya .events-birthday-price,
.page-meropriyatiya .events-graduate-price {
    text-align: center;
    margin: 0 auto;
}

.page-meropriyatiya .events-birthday-price {
    max-width: 680px;
    position: relative;
}

.page-meropriyatiya .events-birthday-price .events-birthday-price-deco img {
    position: absolute;
    width: 15rem;
    top: -10rem;
    right: -12rem;
}

.page-meropriyatiya .events-graduate-price {
    max-width: 480px;
    position: relative;
    color: #fff;
}

.page-meropriyatiya .events-graduate-price .events-graduate-price-deco img {
    position: absolute;
    width: 15rem;
    top: -3rem;
    left: -15rem;
}

.page-meropriyatiya .events-birthday-price p,
.page-meropriyatiya .events-graduate-price p {
    display: block;
    padding: 1rem 2rem;
    text-align: center;
}

.page-meropriyatiya .events-birthday-price p {
    border-bottom: 1px solid rgba(0, 124, 59, 0.2);
}

.page-meropriyatiya .events-graduate-price p {
    border-bottom: 1px solid #fff;
}

.page-meropriyatiya .events-graduate .btn-bw a {
    color: #007C3B;
}

.page-meropriyatiya .events-birthday-rules,
.page-meropriyatiya .events-graduate-rules {
    margin: 0 auto;
    text-align: center;
    padding-bottom: 2rem;
    justify-content: center;
}

.page-meropriyatiya .events-birthday-rules {
    max-width: 680px;
}

.page-meropriyatiya .events-graduate-rules {
    max-width: 480px;
    color: #fff;
}

.page-meropriyatiya .events-birthday-rules .custom,
.page-meropriyatiya .events-graduate-rules .custom {
    position: relative;
    padding: 0.5rem 1rem 0.5rem 2.5rem;
}

.page-meropriyatiya .events-birthday-rules .custom:before,
.page-meropriyatiya .events-graduate-rules .custom:before {
    content: "";
    display: block;
    position: absolute;
    height: 100%;
    top: 0.2rem;
    left: -0.3rem;
    width: 3rem;
}

.page-meropriyatiya .events-birthday-rules .img-people:before {
    background: url(images/icons/icon-people-green.svg) no-repeat center;
    background-size: contain;
}

.page-meropriyatiya .events-birthday-rules .img-clock:before {
    background: url(images/icons/icon-clock-green.svg) no-repeat center;
    background-size: contain;
}

.page-meropriyatiya .events-birthday-rules .img-age:before {
    background: url(images/icons/icon-age-7-green.svg) no-repeat center;
    background-size: contain;
}

.page-meropriyatiya .events-graduate-rules .img-people:before {
    background: url(images/icons/icon-people-white.svg) no-repeat center;
    background-size: contain;
}

.page-meropriyatiya .events-graduate-rules .img-clock:before {
    background: url(images/icons/icon-clock-white.svg) no-repeat center;
    background-size: contain;
}

.page-meropriyatiya .events-graduate-rules .img-age:before {
    background: url(images/icons/icon-age-7-white.svg) no-repeat center;
    background-size: contain;
}

.page-meropriyatiya .events-tusozal-params {
    position: relative;
    text-align: center;
    max-width: 550px;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 4rem;
}

.page-meropriyatiya .events-tusozal-params .events-tusozal-params-deco img {
    position: absolute;
    width: 15rem;
    top: 3rem;
    right: -16rem;
}

.page-meropriyatiya .events-tusozal-price {
    padding: 4rem 1rem 2rem;
}

.page-meropriyatiya .events-tusozal-price .events-tusozal-deco img {
    width: 15rem;
    margin: 0 2rem;
}

.page-meropriyatiya .events-tusozal-desc {
    text-align: center;
    max-width: 860px;
    margin: 0 auto;
    padding-bottom: 2rem;
}

.page-meropriyatiya .events-more .title h4 {
    font-size: 1.4rem;
    font-weight: bold;
    text-transform: uppercase;
    color: #007C3B;
}

.page-meropriyatiya .form .desc {
    text-align: center;
    max-width: 860px;
    margin: 4rem auto 0;
    padding-bottom: 2rem;
}

@media all and (max-width: 1280px) {
    .page-meropriyatiya .events-graduate .item,
    .page-meropriyatiya .events-birthday .item {
        padding: 0.5rem
    }

    .page-meropriyatiya .events-graduate .item .thumb .title,
    .page-meropriyatiya .events-birthday .item .thumb .title {
        font-size: 1rem;
    }
}

@media all and (max-width: 941px) {
    section.with-head {
        padding-top: 4rem;
    }

    .page-meropriyatiya .events-graduate,
    .page-meropriyatiya .events-birthday {
        padding-bottom: 4rem;
    }

    .page-meropriyatiya .events-graduate .item,
    .page-meropriyatiya .events-birthday .item {
        max-width: 25rem;
        margin: 0 auto;
    }

    .page-meropriyatiya .events-birthday .item .thumb .title {
        background: #007C3B;
    }

    .page-meropriyatiya .events-graduate .item .thumb .title {
        background: #fff;
    }

    .page-meropriyatiya .events-birthday-price {
        max-width: 480px;
    }

    .page-meropriyatiya .events-graduate-rules,
    .page-meropriyatiya .events-birthday-rules {
        max-width: max-content;
        text-align: left;
    }

    .page-meropriyatiya .events-birthday-price-deco,
    .page-meropriyatiya .events-graduate-price-deco {
        display: none;
    }

    .page-meropriyatiya .events-tusozal-params-deco img {
        position: relative!important;
        top: 0 !important;
        right: unset !important;
        margin: 0 auto;
    }

    .page-meropriyatiya .events-tusozal-price .events-tusozal-deco img {
        margin: 0 auto;
        padding-top: 1.5rem;
    }
}

@media all and (max-width: 480px) {
    .page-meropriyatiya .events-graduate-rules,
    .page-meropriyatiya .events-birthday-rules {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

@media all and (max-width: 360px) {
    .page-meropriyatiya .events-graduate .item .thumb .title,
    .page-meropriyatiya .events-birthday .item .thumb .title {
        font-size: 0.9rem;
    }
}

/******************************************************/
/******************   MASTERCLASS   *******************/
/******************************************************/

.mc-blocks .mc-date {
    font-weight: bold;
    margin-bottom: 1rem;
}

.mc-blocks .mc-age,
.mc-blocks .mc-cost,
.mc-blocks .mc-duration {
    font-style: italic;
    margin-bottom: 0.2rem;
}

.mc-blocks .order-button {
    margin-top: 2rem!important;
}

.page-mk .mk-individual,
.page-mk .mk-regular {
    margin: 2rem 0 4rem;
}


.page-mk .mk-individual .mk-slider-wrap {
    background: #007C3B;
    padding: 4rem 0;
    margin: 4rem 0;
}

/******************************************************/
/****************   GALLERY GRID   ********************/
/******************************************************/

.page-gallery.gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.page-gallery.gallery a {
    position: relative;
    aspect-ratio: 750 / 500;
}

.page-gallery.gallery a:before {
    content:"";
    height: 100%;
    left: 0;
    width: 100%;
    position: absolute;
    z-index:-1;
    background: repeating-linear-gradient(to top, #eee, #ddd, #eee 100px);
    background-size: 100% 100px;
    animation: skeleton 2s linear infinite reverse;
    opacity: 0;
    transition: opacity .2s;
}

.page-gallery.gallery a img {
    height: 100%;
    object-fit: cover;
    opacity: 1;
    transition: opacity .2s;
}

.page-gallery.gallery a.imgLoading img,
.page-gallery.gallery a.imgLoading .caption {
    opacity: 0!important;
}

.page-gallery.gallery a.imgLoading:before {
    opacity: 1;
}
@keyframes skeleton {
    0% {
        background-position: 0 0;
    }
    100% {
        background-position: 0 100%;
    }
}

.page-gallery.gallery a .caption {
    position: absolute;
    bottom: 0;
    padding: 5px 10px;
    background-color: #000000;
    left: 0;
    right: 0;
    margin: 0;
    color: white;
    font-size: 0.75rem;
    font-weight: 300;
    opacity: 0;
    transform: scaleY(0);
    transform-origin: bottom;
    transition: opacity .2s, transform .5s, -webkit-transform .5s;
}

.page-gallery.gallery a:hover .caption {
    transform: scaleY(1);
    opacity: 0.7;
}

@media all and (max-width: 941px) {
    .page-gallery.gallery {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media all and (max-width: 681px) {
    .page-gallery.gallery {
        grid-template-columns: repeat(1, 1fr);
    }
}

/******************************************************/
/***************   GROUP VISIT v2   *******************/
/******************************************************/
.page.group-visit #with-deco1,
.page.group-visit #with-deco2,
.page.group-visit #with-deco3 {
    position: relative;
}

.page.group-visit #with-deco1:before {
    content: "";
    position: absolute;
    display: block;
    top: -2.5rem;
    right: 4rem;
    width: 8.9rem;
    height: 7.2rem;
    background: url(images/group-visit/deco1.png) no-repeat center;
    background-size: contain;
    z-index: 10;
}

.page.group-visit #with-deco2:before {
    content: "";
    position: absolute;
    display: block;
    top: -4.5rem;
    right: 29%;
    width: 11.4rem;
    height: 10rem;
    background: url(images/group-visit/deco2.png) no-repeat center;
    background-size: contain;
}

.page.group-visit #with-deco3:before {
    content: "";
    position: absolute;
    display: block;
    bottom: -1rem;
    right: -12rem;
    width: 11rem;
    height: 9.3rem;
    background: url(images/group-visit/deco3.png) no-repeat center;
    background-size: contain;
}

.page.group-visit .head {
    height: 12rem;
}

.page.group-visit .head h3 {
    position: relative;
    display: block;
    font-size: 2.5rem;
    color: #007C3B;
}

.page.group-visit .btn a {
    padding: 1rem 1.5rem;
    font-size: 1.5rem;
}

.page.group-visit .form-block .code {
    margin: 0 -15px;
}

.page.group-visit .form-block .code .inner-code {
    text-align: center;
}

.page.group-visit .block1 .row {
    -webkit-box-pack: stretch;
    -ms-flex-pack: stretch;
    justify-content: stretch;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    margin-top: 5rem;
}

.page.group-visit .block1 .row.row-2 > div {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 50%;
    flex: 1 0 50%;
}

.page.group-visit .block1 .thumb {
    width: 100%;
}

.page.group-visit .block1 .thumb img {
    width: 100%;
    height: calc(100% - 45px);
    -o-object-fit: cover;
    object-fit: cover;
}

.page.group-visit .block1 .form-block .desc {
    max-width: 579px;
    margin-bottom: 2rem;
    margin-left: auto!important;
    margin-right: auto!important;
}

.page.group-visit .block1 .form-block .desc p {
    margin-top: 0;
}

.page.group-visit .block1 .form-block .inner-code iframe{
    display: block;
    margin-left: auto!important;
    margin-right: auto!important;
}

.page.group-visit .block2 .desc {
    color: #007D48;
    font-size: 1.8rem;
    font-weight: bold;
    margin: 7rem 0 8rem;
}

.page.group-visit .block3 {
    margin-bottom: 8rem;
}

.page.group-visit .block3 .main-blocks .item {
    background: #007D48;
    color: #fff;
}

.page.group-visit .block3 .item > .desc {
    padding-top: 4.2rem;
    padding-bottom: 4.2rem;
}

.page.group-visit .block3 .item > .desc > .wrap {
    max-width: 700px;
}

.page.group-visit .block3 .item .inner-desc {
    padding: 3rem 0 4.2rem;
}

.page.group-visit .block3 .main-blocks .item .logo {
    display: block;
    margin: 0 auto;
    height: 4.2rem;
}

.page.group-visit .block3 .main-blocks .item .logo img {
    -o-object-fit: contain;
    object-fit: contain;
}

.page.group-visit .block3 .main-blocks .item .desc a {
    color: #fff;
}

.page.group-visit .block3 .main-blocks .item .link,
.page.group-visit .block3 .main-blocks .item .desc {
    text-align: center;
}

.page.group-visit .block4 .head {
    margin-bottom: 8rem;
}

.page.group-visit .block4 .desc > .item:not(:last-of-type) {
    margin-bottom: 4rem;
}

.page.group-visit .block4 .offer {
    text-align: center;
    max-width: 850px;
    margin-left: auto;
    margin-right: auto;
    text-transform: uppercase;
    font-weight: bold;
}

.page.group-visit .block4 .offer p {
    margin: 2rem auto;
}

.page.group-visit .block5 {
    background: #007D48;
    padding: 4rem 0;
    margin-top: 4rem;
    margin-bottom: 4rem;
}

.page.group-visit .block5 .title {
    margin-bottom: 4rem;
}

.page.group-visit .block5 .title h3 {
    color: #fff;
    margin: 0;
}

.page.group-visit .block5-2 {
    margin-bottom: 4rem;
}

.page.group-visit .block5-2 > .title {
    margin-bottom: 4rem;
}

.page.group-visit .block5-2 > .title h3 {
    color: #007D48!important;
}

.green-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
}

.green-cards .item {
    background: #007c3b;
}

.green-cards .item .inner-desc {
    padding: 0 1.5rem 2.75rem 1.5rem;
    font-size: 0.9rem;
    width: 100%;
    color: #fff;
}

.green-cards .item h4 {
    font-size: 1.25rem;
    text-transform: uppercase;
    text-align: left;
    font-weight: bold;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
    line-height: 1.3;
    color: #fff;
    text-align: center;
}

.green-cards .item .btn-block {
    text-align: center;
    margin-top: 1.25rem
}

.green-cards .item .btn a {
    color: #007c3b;
}

.page.group-visit .block6 {
    margin-bottom: 4rem;
}

.page.group-visit .block6 .items {
    margin-top: 8rem;
}

.page.group-visit .block6 .items .item {
    max-width: 750px;
}

.page.group-visit .block6 .items .item:not(:last-of-type) {
    margin-right: 4rem;
}

.page.group-visit .block6 .items .desc {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 1.75rem;
}

.page.group-visit .block6 .items .item h4 {
    font-size: 1.7rem;
    font-weight: bold;
    text-transform: uppercase;
    padding-left: 3rem;
    padding-right: 3rem;
    margin-top: 2.25rem;
}

.page.group-visit .block6 .items .item h4 span {
    color: #007C3B;
}

.mc-group-visit-slider .item {
    background: #fff;
}

.mc-group-visit-slider .item .desc {
    padding: 0 1.5rem 2.75rem 1.5rem;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    font-size: 0.9rem;
    -ms-flex-item-align: start;
    align-self: flex-start;
    width: 100%;
}

.mc-group-visit-slider .item .desc h4 {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    color: #000;
    font-size: 1.25rem;
    text-transform: uppercase;
    text-align: left;
    font-weight: bold;
    margin-top: 3rem;
    margin-bottom: 0.25rem;
    line-height: 1.3;
    -ms-flex-item-align: start;
    align-self: flex-start;
}

.mc-group-visit-slider .item .desc .mc-group-content {
    width: 100%;
}

.mc-group-visit-slider .item .desc .mc-group-comment {
    width: 100%;
    font-size: 1rem;
    line-height: 1.25;
    color: #007c3b;
    margin: 1rem 0;
    flex: 100;
}

.mc-group-visit-slider .item .desc .mc-group-comment p {
    margin: 0;
}

.mc-group-visit-slider .item .desc .mc-group-btn {
    margin-top: 1.25rem;
}

.mc-group-visit-slider .item .desc .btn a {
    /*    padding: 1.5rem;*/
}

.mc-group-visit-slider .splide__arrows {
    position: absolute;
    width: 100%;
    height: 100%;
}

.mc-group-visit-slider .splide__arrow {
    position: absolute;
    top: 43%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    background: url(images/group-visit/arrow.svg) center no-repeat, #007C3B;
    background-size: 50% auto;
    width: 6.1rem;
    height: 5rem;
    border: 0;
    z-index: 10;
    cursor: pointer;
    -webkit-transition: opacity .3s;
    -o-transition: opacity .3s;
    transition: opacity .3s;
}

.mc-group-visit-slider .splide__arrow svg {
    display: none;
}

.mc-group-visit-slider .splide__arrow.splide__arrow--next {
    right: 0;
}

.mc-group-visit-slider .splide__arrow.splide__arrow--prev {
    -webkit-transform: scaleX(-1) translateY(-50%);
    -ms-transform: scaleX(-1) translateY(-50%);
    transform: scaleX(-1) translateY(-50%);
}

.custom-table .wrap {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-shadow: 0 4px 12px 0 rgba(102,102,102,0.3);
    box-shadow: 0 4px 12px 0 rgba(102,102,102,0.3);
}

.custom-table .wrap > .scroll-table {
    overflow-x: auto;
}

.custom-table table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}

.custom-table table thead > tr {
    background: #F2EDD0;
    text-transform: uppercase;
    text-align: center;
    padding: 1rem;
}

.custom-table table thead > tr > td {
    color: #000;
    font-size: 0.8rem;
    font-weight: bold;
    padding: 1.4rem 0.75rem;
}

.custom-table table thead > tr > td:not(:last-of-type) {
    border-right: 3px solid #fff;
    /*    border-left: 1px solid #fff;*/
}

.custom-table table thead > tr:first-of-type {
    background: #007D48;
    text-align: left;
}

.custom-table table thead > tr:first-of-type > td {
    color: #fff;
    padding: 2.3rem;
    font-size: 1.3rem;
}

.custom-table table tbody td {
    border: 1px solid #F2EDD0;
    text-align: center;
    padding: 0.75rem;
    font-weight: bold;
}

.custom-table table tbody tr > td:first-of-type {
    border-left: 0;
}

.custom-table table tbody tr > td:last-of-type {
    border-right: 0;
}

.custom-table table tbody tr:last-of-type > td {
    border-bottom: 0;
}

.custom-table .border-top {
    border-top: var(--border-weight, 2px) solid var(--border-color, white);
}

.custom-table .border-bottom {
    border-bottom: var(--border-weight, 2px) solid var(--border-color, white);
}

.custom-table .border-right {
    border-right: var(--border-weight, 2px) solid var(--border-color, white);
}

.custom-table .border-left {
    border-left: var(--border-weight, 2px) solid var(--border-color, white);
}

.custom-table .small-padding {
    padding: 0.7rem 0.5rem;
}

.age-icon {
    border-radius: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 1.3rem;
    height: 1.3rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #000;
    background: #fff;
    -webkit-box-shadow: 0 0 0 14px #fff, 0 0 0 17px #007d48, 0 0 0 19px #fff;
    box-shadow: 0 0 0 14px #fff, 0 0 0 17px #007d48, 0 0 0 19px #fff;
}

@media all and (max-width: 1600px) {
    .header nav {
        flex: 1;
        padding: 0 1rem;
    }

    .mc-group-visit-slider .splide__arrow {
        top: calc((100vw / 5.2));
    }
}

@media all and (max-width: 1280px) {
    .page.group-visit .block1 .row {
        /*display: block;*/
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin-top: 2rem;
    }

    .page.group-visit .block1 .row.row-2 > div {
        -webkit-box-flex: unset;
        -ms-flex: unset;
        flex: unset;
    }

    .page.group-visit .block1 .thumb {
        display: none;
    }

    .page.group-visit .block2 .desc {
        font-size: 1.5rem;
        margin: 6rem 0;
    }

    .page.group-visit .block3 {
        margin-bottom: 6rem;
    }

    .page.group-visit .block4 .head {
        margin-bottom: 6rem;
    }

    .page.group-visit .block5 {
        margin-bottom: 4rem;
    }

    .page.group-visit .block6 .items {
        margin-top: 6rem;
    }

    .mc-group-visit-slider .splide__arrow {
        top: calc((100vw / 3.35));
    }

    .green-cards {
        gap: 2rem;
    }

}

@media all and (max-width: 1024px) {
    .mc-group-visit-slider .splide__arrow {
        width: 5.1rem;
        height: 4rem;
    }
}



@media all and (max-width: 940px) {
    .page.group-visit .head h3.decor.row {
        font-size: 1.8rem;
    }

    .page.group-visit .head {
        height: auto;
    }

    .page.group-visit .block1 .thumb {
        display: block;
        margin-left: auto;
        margin-right: auto;
        max-width: 640px;
        margin-bottom: 3rem;
    }

    .page.group-visit .block3 .item > .desc > .wrap {
        max-width: none;
    }

    .page.group-visit .block6 .items .item h4 {
        font-size: 1.5rem;
    }

    .page.group-visit .block6 .items .item {
        margin-left: auto!important;
        margin-right: auto!important;
    }

    .page.group-visit .block6 .items .item:not(:last-of-type) {
        margin-bottom: 4rem;
    }

    .green-cards {
        gap: 1rem;
    }
}

@media all and (max-width: 768px) {
    .mc-group-visit-slider .splide__arrow {
        top: calc((100vw / 1.7));
    }

    .green-cards {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}

@media all and (max-width: 480px) {
    .page.group-visit .block2 .desc {
        font-size: 1.3rem;
        margin: 5rem 0;
    }

    .page.group-visit .block6 .items .item h4 {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

@media all and (max-width: 400px) {
    .mc-group-visit-slider .splide__arrow {
        top: calc((100vw / 1.19));
    }
}

.group-visit .group-new-year  {
    margin: 5rem auto;
}

.group-visit .group-new-year hr {
    height: 2px;
    border: 0;
    margin: 0 auto;
    background: #007c3b;
}

.group-visit .group-new-year .row {
    margin: 0 auto!important;
    padding: 2rem 0;
    gap: 2rem;
    -webkit-box-align: center!important;
    -ms-flex-align: center!important;
    align-items: center!important;
    -webkit-box-pack: center!important;
    -ms-flex-pack: center!important;
    justify-content: center!important;
}

.group-visit .group-new-year .desc {
    text-align: center;
}

.group-visit .group-new-year .desc h2 {
    font-size: 1.75rem;
    margin: 0;
}

.group-visit .group-new-year .desc h4 {
    text-align: center;
    margin-top: 0.2rem;
    font-size: 1.3rem;
}

.group-visit .group-new-year .promo img {
    max-width: 400px;
}

.group-visit .group-new-year .desc .opts {
    max-width: 37rem;
    text-align: center;
    margin: auto;
}

.group-visit .group-new-year .desc .opts span {
    display: inline-block;
    background: #007c3b;
    color: #fff;
    padding: 2px 10px;
    text-align: center;
    margin-right: 1px;
    margin-bottom: 1px;
}

@media all and (max-width: 941px) {
    .group-visit .group-new-year .promo img {
        margin: 1rem auto 2rem;
    }
}

/******************************************************/
/********************   ADAPTIVE   ********************/
/******************************************************/

@media all and (max-width: 1600px) {

    /*    .container.wide {
            max-width: 1200px;
        }*/

    /*    header .header .social-panel {
            display: none;
        }

        header .top-header .social-panel {
            display: block;
        }*/

    .header nav {
        margin: 0 1rem;
    }

/*    .header nav li {
        margin: 0 1.5rem 0 0;
    }*/

    .page.group-visit #with-deco1:before {
        right: 0;
    }

}

@media all and (max-width: 1440px) {

    .header .logo .logo-big {
        display: none;
    }

    .header .logo  .logo-short {
        display: block;
    }
}

@media all and (max-width: 1280px) {

    .page.group-visit #with-deco1:before {
        right: -2rem;
    }

}

@media all and (max-width: 1200px) {
    html {
        font-size: 17px;
    }

    .header nav {
        margin: 0;
    }

    .header .logo {
        max-width: 11.5rem;
    }

    /*    .header nav {
            margin: 0 1.5rem;
        }*/

/*    .header nav li {
        margin: 0 0.75rem 0 0;
    }*/

    .grid-container {
        -ms-grid-columns: 1.5fr 2fr 2fr 1.5fr!important;
        grid-template-columns: 1.5fr 2fr 2fr 1.5fr!important;
    }

    .grid-container a.thumb:nth-of-type(2),
    .grid-container a.thumb:nth-of-type(7),
    .grid-container a.thumb:nth-of-type(8),
    .grid-container a.thumb:nth-of-type(13) {
        display: none;
    }

    .page-quests .quest-item .inner h3 {
        font-size: 1.5rem;
    }

    .page-quests .quest-item .btn a {
        padding: 1rem;
    }

    .pre-content .options:after {
        content: "";
        display: block;
        background: #F5F7F8;
        position: absolute;
        width: 100vw;
        left: calc(-50vw - 15px);
        top: -2.5rem;
        height: calc(100% + 5rem);
        z-index: -1;
    }

}

@media all and (max-width: 1080px) {
    html {
        font-size: 16px;
    }

    .page.group-visit #with-deco3:before {
        display: none;
    }
}

@media all and (max-width: 980px) {
    .header nav li {
        margin: 0 0.5rem 0 0;
    }

    .header nav li a {
        padding: 0.1rem 0;
    }
}

@media all and (min-width: 941px) {

    .header nav ul {
        justify-content: space-between;
    }

    #main-slider .glide-arrows {
        display: none;
    }

    .grid-container {
        position: relative;
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 1fr 1.5fr 2fr 2fr 1.5fr 1fr;
        grid-template-columns: 1fr 1.5fr 2fr 2fr 1.5fr 1fr;
        padding: 0 0.5rem;
    }

    .grid-container a.thumb {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        position: relative;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        -webkit-box-pack: stretch;
        -ms-flex-pack: stretch;
        justify-content: stretch;
        padding: 0.5rem;
        height: 100%;
    }

    .grid-container a.thumb:before {
        content: "";
        position: absolute;
        width: calc(100% - 1rem);
        height: calc(100% - 1rem);
        background: #000;
    }

    .grid-container a.thumb:nth-of-type(n-8) {
        -ms-flex-item-align: end;
        align-self: flex-end;
    }

    .grid-container a.thumb:nth-of-type(n+8) {
        -ms-flex-item-align: start;
        align-self: flex-start;
    }

    .grid-container a.thumb:nth-of-type(2),
    .grid-container a.thumb:nth-of-type(8),
    .grid-container a.thumb:nth-of-type(7),
    .grid-container a.thumb:nth-of-type(13) {
        height: 50%;
    }

    .grid-container a.thumb:nth-of-type(3),
    .grid-container a.thumb:nth-of-type(9),
    .grid-container a.thumb:nth-of-type(6),
    .grid-container a.thumb:nth-of-type(12) {
        height: 75%;
    }

    .grid-container a.thumb:nth-of-type(4),
    .grid-container a.thumb:nth-of-type(5),
    .grid-container a.thumb:nth-of-type(10),
    .grid-container a.thumb:nth-of-type(11) {
        min-height: 22rem;
    }

    .grid-container a.thumb:nth-of-type(4),
    .grid-container a.thumb:nth-of-type(10),
    .grid-container a.thumb:nth-of-type(6),
    .grid-container a.thumb:nth-of-type(12) {
        top: -2rem;
    }

    .grid-container a.thumb:nth-of-type(3),
    .grid-container a.thumb:nth-of-type(9),
    .grid-container a.thumb:nth-of-type(5),
    .grid-container a.thumb:nth-of-type(11) {
        top: 2rem;
    }

    .grid-container a.thumb img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: center;
        object-position: center;
        opacity: 0.5;
        position: relative;
        -webkit-transition: opacity .25s;
        -o-transition: opacity .25s;
        transition: opacity .25s;
        z-index: 10;
    }

    .grid-container a.thumb:hover img {
        opacity: 1;
    }

    .grid-container .gallery-img {
        position: absolute;
        left: 50%;
        top: 50%;
        width: 37rem;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        border: 1rem solid #fff;
        z-index: 20;
    }

    /*    .grid-container .gallery-img:before {
            content: "";
            display: block;
            padding-top: 66.666%;
        }*/

    .main-blocks .item:nth-of-type(2n) {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }

    .main-blocks .item:nth-of-type(2n) > .desc {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        padding: 3.2rem 3.2rem 3.2rem 15px;
    }

    /*.home .main-more .item:nth-of-type(2n) .wrap {
        margin-left: 2rem;
    }*/

    /*.home .main-more .item:nth-of-type(2n+1) .wrap {
        margin-right: 2rem;
    }*/

    .home .main-footer .left {
        margin-right: 2rem;
    }
    .home .main-footer .right {
        margin-left: 2rem;
    }

    .page-quests .quest-item:before {
        background: rgba(0,0,0,0.7);
        opacity: 0;
    }

    .page-quests .quest-item:hover:before {
        opacity: 1;
    }

    .page-quests .quest-item:hover .inner {
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        opacity: 1;
    }

    .page-quests .quest-item .inner {
        -webkit-transform: translateY(calc(-50% + 2rem));
        -ms-transform: translateY(calc(-50% + 2rem));
        transform: translateY(calc(-50% + 2rem));
        opacity: 0;
    }

    .page-quests .quests-list:after {
        display: block;
        content: "";
        position: relative;
        padding-bottom: calc(100vh - 50% - 14.9rem);
    }

    .category .list-item > .item:first-child,
    .category .list-item > .item:nth-child(6),
    .category .list-item > .item:nth-child(10n + 1),
    .category .list-item > .item:nth-child(10n + 6) {
        -webkit-box-flex: 0;
        -ms-flex: 0 1 46%;
        flex: 0 1 46%;
    }

    .category .list-item > .item:first-child .thumb-item,
    .category .list-item > .item:nth-child(6) .thumb-item,
    .category .list-item > .item:nth-child(10n + 1) .thumb-item,
    .category .list-item > .item:nth-child(10n + 6) .thumb-item {
        height: 100%;
        width: 100%;
    }

    .category .list-item > .item:first-child .thumb-item .date,
    .category .list-item > .item:nth-child(6) .thumb-item .date,
    .category .list-item > .item:nth-child(10n + 1) .thumb-item .date,
    .category .list-item > .item:nth-child(10n + 6) .thumb-item .date {
        display: none;
    }

    .category .list-item > .item:first-child .excerpt,
    .category .list-item > .item:nth-child(6) .excerpt,
    .category .list-item > .item:nth-child(10n + 1) .excerpt,
    .category .list-item > .item:nth-child(10n + 6) .excerpt {
        display: none;
    }

    .category .list-item > .item:first-child .title-item,
    .category .list-item > .item:nth-child(6) .title-item,
    .category .list-item > .item:nth-child(10n + 1) .title-item,
    .category .list-item > .item:nth-child(10n + 6) .title-item {
        display: block;
        position: absolute;
        bottom: 0;
        width: 100%;
        padding: 1.2rem;
        font-size: 1.2rem;
        background: rgba(0,0,0,0.5);
        min-height: calc(1.2rem + 1.2rem + 1.2rem*3*1.3);
        color: #fff;
        -webkit-transition: background .4s;
        -o-transition: background .4s;
        transition: background .4s;
    }

    .category .list-item > .item:first-child:hover .title-item,
    .category .list-item > .item:nth-child(6):hover .title-item,
    .category .list-item > .item:nth-child(10n + 1):hover .title-item,
    .category .list-item > .item:nth-child(10n + 6):hover .title-item {
        color: #fff;
        background: rgba(0,0,0,0.95);
    }

    .category .list-item > .item:first-child .title-item .date,
    .category .list-item > .item:nth-child(6) .title-item .date,
    .category .list-item > .item:nth-child(10n + 1) .title-item .date,
    .category .list-item > .item:nth-child(10n + 6) .title-item .date {
        display: block;
    }

    .footer-nav .button {
        display: none;
    }
}

@media all and (max-width: 941px) {

    h1, h2, h3, h4 {
        font-size: 1.5rem;
    }

    .row:not(.in-mobile),
    .row-wrap:not(.in-mobile) {
        display: block;
    }

    .mobile-menu {
        display: block;
    }

    .header .logo,
    header .top-header
    {
        display: none;
    }

    header .header {
        -webkit-transform: scaleY(0);
        -ms-transform: scaleY(0);
        transform: scaleY(0);
        position: absolute;
        z-index: 10;
        background: #fff;
        width: 100%;
        height: auto;
        margin-top: 0.5rem;
        padding: 0 0 2rem;
        -webkit-transform-origin: right top;
        -ms-transform-origin: right top;
        transform-origin: right top;
        -webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.5);
        box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.5);
        -webkit-transition: -webkit-transform .3s, -webkit-box-shadow .2s;
        transition: -webkit-transform .3s, -webkit-box-shadow .2s;
        -o-transition: transform .3s, box-shadow .2s;
        transition: transform .3s, box-shadow .2s;
        transition: transform .3s, box-shadow .2s, -webkit-transform .3s, -webkit-box-shadow .2s;
    }

    header .header.active {
        -webkit-box-shadow: 0 5px 5px -5px rgba(0, 0, 0, 0.5);
        box-shadow: 0 5px 5px -5px rgba(0, 0, 0, 0.5);
        -webkit-transform: scaleY(1);
        -ms-transform: scaleY(1);
        transform: scaleY(1);
        z-index: 100;
    }

    .header nav {
        font-size: 1rem;
        margin: 0 0 1rem;
    }

    header nav > ul.row {
        display: block;
    }

    .header nav li {
        margin: 0;
        padding: 1rem 0;
        text-align: center;
    }

    .header nav li a {
        display: block;
    }

    .header .button,
    .footer-nav .button {
        height: 2rem;
        width: 10rem;
        margin: 0 auto;
        padding: 0;
    }

    .footer-nav .button {
        margin-bottom: 1rem !important;
    }

    .footer-nav .button .ticket:before {

    }

    .header .button a,
    .footer-nav .button a {
        font-size: 1rem;
    }

    .header .button span.small-type {
        font-size: 0.8rem;
    }

    header {
        -webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.5);
        box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.5);
        -webkit-transition: -webkit-box-shadow .2s;
        transition: -webkit-box-shadow .2s;
        -o-transition: box-shadow .2s;
        transition: box-shadow .2s;
        transition: box-shadow .2s, -webkit-box-shadow .2s;
    }

    .roll header {
        padding-top: 0;
        -webkit-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.5);
        box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.5);
    }

    .mobile-view {
        display: block;
    }

    /*    footer {
            padding: 1rem;
        }*/

    footer .footer-nav {
        padding: 1rem 0.5rem;
        height: auto;
    }

    footer .footer-nav li {
        padding: 0.25rem 0;
    }

    footer .copyright {
        font-size: 0.7rem;
        padding: 0.3rem 0;
    }

    .grid-container {
        position: relative;
        display: block;
        padding: 0;
    }

    .grid-container a.thumb:nth-of-type(2),
    .grid-container a.thumb:nth-of-type(7),
    .grid-container a.thumb:nth-of-type(8),
    .grid-container a.thumb:nth-of-type(13) {
        display: block;
    }
    /*
        .grid-container > a {
            display: none!important;
        }*/

    /*    .grid-container .gallery-img {
            position: relative;
            max-width: 450rem;
        }

        .grid-container #show-img {
            position: static;
            width: 100%;
        }

        .grid-container #show-img > a {
            border: 0;
        }*/

    .base-slider .glide__track {
        overflow: hidden!important;
    }

    .base-slider .glide__slide--active img,
    .base-slider .item img {
        -webkit-filter: none!important;
        filter: none!important;
        opacity: 1;
    }

    .modal-form {
        padding: 2rem 1rem 1rem!important;
    }

    .title-big.date {
        display: inline-block!important;
    }

    .title-small.month {
        /*display: inline-block!important;*/
        margin-left: 0.5rem;
        font-size: 3.5rem!important;
        letter-spacing: 1pt!important;
    }

    .home .slogan h1 {
        font-size: 1.6rem;
    }

    .home .slogan .size1 {
        font-size: 1.5em;
    }

    .home .slogan .size2 {
        font-size: 1.25em;
    }

    .home .main-gallery {
        margin-bottom: 4.5rem;
    }

    .home .main-gallery .link {
        margin: 2.22rem 1rem 0 0;
    }

    .home .main-video {
        margin-bottom: 4.5rem;
    }

    .with-head .head {
        height: auto;
        margin-bottom: 2rem;
    }

    .head h3.decor.row {
        margin: 0;
    }

    .head h3.decor:before {
        margin-bottom: 1.5rem;
    }

    .home .fullwidth {
        height: 70vh!important;
    }

    .home .slogan {
        max-width: 100%;
        width: 90%;
        top: 55%;
    }

    .home .main-logo {
        background: #F5F7F8;
        padding: 4.5rem 0;
    }

    .with-head .head:before, .with-head .head:after {
        display: none;
    }

    .main-blocks {
        margin-top: 2rem;
    }

    .main-blocks .item > .desc {
        padding: 2.5rem 15px 4.5rem;
    }

    .pre-content .options:after {
        display: none;
    }

    .page-mk .main-blocks {
        margin: 3rem 0;
    }

    .page-mk .main-blocks .item > .desc,
    .page-mk .main-blocks .item:nth-of-type(2n) > .desc {
        padding: 1.5rem 0 2.5rem;
    }

    .page-mk .main-blocks .price {
        margin-top: 1.5rem;
    }

    .page-mk .main-blocks .item .inner-desc {
        padding: 1.5rem 0;
    }

    .page-mk .main-blocks .item {
        max-width: 500px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 2rem;
    }

    /*    .page-mk .main-blocks .noimage {
            background: transparent;
        }*/

    .page-mk .main-blocks .items .thumb-date {
        /*position: static;*/
        /*text-align: left;*/
        font-size: 2.2rem;
        /*        transform: none;*/
    }

    .page-mk .main-blocks .items .thumb-date br {
        content: "";
        width: 0.75rem;
        display: inline-block;
    }

    .main-blocks .item .inner-desc {
        padding: 2rem 0;
    }

    .main-blocks .item > .bg picture {
        position: relative;
    }

    .main-blocks .item .order-button {
        margin-top: 4.5rem;
    }

    .home .main-more .item {
        margin-bottom: 2.5rem;
    }
    .home .main-more .item .desc {
        margin: 0;
    }

    .home .main-more .item h4 {
        margin: 2.22rem 0;
    }

    .home .main-footer .container {
        display: block;
    }

    .home .main-footer .container > div {
        max-width: 100%;
        margin-bottom: 1rem;
    }

    .home .main-footer .container > div:last-of-type {
        margin-bottom: 0;
    }

    .home .main-footer .map #map {
        margin: 1rem 0 0;
    }

    .home .main-footer .map {
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1;
        margin: 0;
        width: 100%;
        -webkit-box-flex: 1!important;
        -ms-flex: 1 0 100%!important;
        flex: 1 0 100%!important;
        max-width: 100%!important;
    }

    .home .main-footer .social-panel {
        text-align: center;
    }

    main.page .fullwidth,
    main.category .fullwidth {
        height: 20rem!important;
    }

    main.category .title h1, main.page .title h1 {
        margin: 3rem auto 2rem;
    }

    .category .list-item > .item {
        -ms-flex: 0 1 46%;
        -webkit-box-flex: 0;
        flex: 0 1 46%;
    }

    /* main.page .title h1,
     .category .title h1 {
         margin: 1rem 0 1.5rem;
     }

     .category .item .thumb-item {
         display: block;
         margin: 0 auto;
         flex: 1 0 auto;
         max-width: 400px;
     }

     .category .item hr {
         display: none;
     }

     .category .item .date {
         margin: 0.5rem 0;
         text-align: right;
         font-size: 0.8rem;
     }

     .category .item .title-item {
         letter-spacing: 0.5pt;
         font-size: 1.4rem;
         margin-top: 1rem;
     }

     .category .item .more {
         margin-top: 1rem;
     }

     .category .list-item .item {
         margin: 2rem 0 0;
 !*        border-bottom: 2px solid #007C3B;*!
 !*        padding: 0 0 2rem;*!
     }

     .category .list-item .item:last-of-type {
         border: 0;
         padding-bottom: 0;
     }*/

    .ya-counter {
        display: none;
    }

    main.page:not(.contacts) .content {
        max-width: 100%;
    }

    .kvest-button {
        width: 100%;
        max-width: 450px;
        display: block;
        margin: 3rem auto 0;
    }

    .category.gallery .list-item {
        margin: 0;
    }

    .category.gallery .list-item .item {
        width: 100%;
        max-width: 400px;
        margin: 3rem auto 0;
    }

    .category.gallery .list-item .item:first-of-type {
        margin-top: 0;
    }

    .contacts .map {
        height: 20rem;
    }

    .expo-type .image-block:before,
    .expo-type .imagegllr-wrapper:before {
        display: none;
    }

    .expo-type .image-block {
        margin-top: 2rem;
    }

    .pre-content .options {
        margin-top: 2rem;
        margin-left: 0;
    }

    .pre-content .options ul:before {
        display: none;
    }

    .ticket-cost .item .thumb {
        margin-top: 2.5rem;
        margin-right: 0;
    }

    .ticket-cost .item {
        margin-left: 0!important;
    }

    .page-quests .quest-item .thumb {
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: 1;
    }

    .page-quests .quest-item .thumb img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        display: block;
    }

    .page-quests .quest-item .inner {
        position: relative;
        top: 0;
        left: 0;
        width: 100%;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
    }

    .page-quests .quest-item .inner {
        padding: 2rem;
    }

    .page-quests .quest-item {
        display: block;
        position: relative;
        max-width: 500px;
        margin: 0 auto 2rem;
    }

    .page.group-visit #with-deco1:before {
        right: calc((100vw / 2) - 22rem);
    }
}

@media all and (max-width: 768px) {
    .pre-content .options:before {
        display: none;
    }
}

@media all and (max-width: 768px) {
    .gallery.wideslider .base-slider {
        width: 100%!important;
        padding: 0 10px;
    }

    .gallery.wideslider .base-slider .glide__track {
        overflow: hidden!important;
    }

    .gallery.wideslider .base-slider .glide__slide {
        margin: 0;
    }

    .category .list-item {
        margin: 0;
        display: block;
    }

    .category .list-item > .item {
        margin: 0 0 3rem 0;
    }

    .category .list-item > .item .thumb-item {
        max-width: 450px;
    }

    .page.group-visit #with-deco1:before {
        display: none;
    }
}

@media all and (max-width: 540px) {

    .title-small.month {
        font-size: 2.7rem!important;
    }

    .title-small.time {
        font-size: 2.5rem!important;
    }

    .time sup {
        font-size: 1.5rem;
        margin-left: 0.2rem;
    }
}

@media all and (max-width: 480px) {
    .ticket-cost .item .thumb img {
        margin: 0 auto;
    }

    .ticket-cost .order-button {
        text-align: center;
    }

    .page.group-visit #with-deco2:before {
        top: -5.5rem;
        right: 29%;
        width: 9.4rem;
        height: 8rem;
    }
}

@media all and (max-width: 400px) {
    .page-mk .main-blocks .noimage:before {
        padding-bottom: 100%;
    }
}

@media all and (max-width: 359px) {
    .home .dos .circle .inner-wrapper {
        padding: 2rem 1rem 3rem;
    }

    .home .dos .circle .inner-wrapper h3 {
        font-size: 1.3rem;
    }

    .options .options-items .item {
        padding: 1rem 0;
    }
}