.button.grey:hover,
button.grey:hover {
    background: #f4f4f4;
    color:#e40000;
}
.button.grey,
button.grey {
    background: #e6e6e6;
    color:#d40000;
}
.button.purple:hover,
button.purple:hover {
    background: #786dca;
    color:#fff;
}
.button.purple,
button.purple {
    background: #6c54a8;
    color:#fff;
}
.button.black-opacity,
button.black-opacity {
    background: rgba(0,0,0,0.7);
    color:#fff;
}
.button.black-opacity:hover,
button.black-opacity:hover {
    background: rgba(0,0,0,0.9);
    text-shadow: 0 0 5px rgba(255,255,255,0.8);
}

body {
    text-align:center;
    line-height: 0;
    background:#efefef;
    scroll-behavior: smooth;
}
.main-container {
    background:white;
    display:inline-block;
    width:100%;
    overflow:hidden;
    margin:0;
    position:relative;
    line-height:1.2em;
}

.pad {
    padding-left:10% !important;
    padding-right:10% !important;
}
.pad-left {padding-left:10% !important;}
.pad-right {padding-right:10% !important;}
.pad-w {width:10% !important;}

.pobeda-arrow {
    background:url(../images/design/top-arrow.png) no-repeat 100% 100%;
    background-size:auto 60%;
    top:0;
    left:0; right:0;
    bottom:0;
    position: absolute;
    z-index: 10;
}
.pobeda {
    top:0;
    left:0; right:0;
    bottom:0;
    position: absolute;
    z-index: 30;
}

.odin-back {background:rgba(230,230,230,0.6);}
.odin-back,
.odin {
    padding-top:30px;
    top:0;
    margin-top:14%;
    height:100px;
    right:0px;
    position: absolute;
    z-index: 0;
    text-shadow: 2px 2px 0 white;
}

.top {
    background:url(../images/design/map.jpg) no-repeat;
    background-size:cover;
    height:70vh;
    min-height: 650px;
    max-height: 1000px;
    position: relative;
}
.top-short {
    height:120px !important;
    max-height:none !important;
    min-height: 0 !important;
}
.kdmks-cont {margin-top:5px;}
.top-short .odin-logo {height:80px;}
.top-short .cont {padding:15px 0;}
.top-short .lt-subtitle {font-size:20px;}
.top-short .lt-title {font-size:30px;}
.top-short .logo-odin-cont {
    margin:0;
    padding:15px 0px 15px 75px;
    /*background:rgba(255,255,255,0.9);
    box-shadow: 0 2px 15px rgba(255,255,255,0.8);*/
    border-radius: 50px;
}
.back-white {background:rgba(255,255,255,0.7);}
.top-short .logo-odin-cont img {
    width:62px;
    left:0px; top:10px;
}

.top-short .lt-line-1 {font-size:22px;}
.top-short .lt-line-2 {font-size:18px;}
.top-short .lt-line-3 {font-size:16.5px;}

.pushkin-cont {position: relative; height:100%;}
.logo-odin-cont img {
    position: absolute;
    left:0; top:0;
}

.pushkin {
    position: absolute;
    right:105%;
    top:0%;
}
.pushkin-line-1 {
    font-size:80%;
}
.pushkin-line-2 {
    font-size:60%;
    color:#c32624;
    padding-bottom: 30px;
}
.pushkin-date {
    font-size:50%;
}
.pushkin-time {
    font-size:50%;
}

.top-title {
    font:bold 65px Montserrat;
    text-transform: uppercase;
    line-height: 0.6em;
    color:#093566;
    position: absolute;
    left:30%;
    margin-bottom:20%;
    bottom:0;
}
.top-title small {
    font-size: 70%;
    display: block;
    margin:0 0 5px;
}
.logo {
    background:#c32624;
    padding:40px 25px 25px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 20px;
}

.logo-odin-cont {
    display: inline-block;
    padding:0px 0 0 100px;
    position: relative;
    margin-top:14%;
    font:bold 25px Montserrat;
    text-transform: uppercase;
    color:#093566;
    text-shadow: 2px 2px 0 white;
}
.lt-logo {width:80px; margin-top:8px;}
.lt-line-1 {font-size:28px;}
.lt-line-2 {font-size:23px;}
.lt-line-3 {font-size:21px;}



.pushkin-back-1a {
    background:url(../images/design/top-1a.png) no-repeat 100% 0;
    background-size:50% auto;
    height:100%;
}
.pushkin-back-1 {
    background:url(../images/design/top-1.png) no-repeat 0 0;
    background-size:100% auto;
    height:100%;
}
.pushkin-back-2a {
    background:url(../images/design/top-2a.png) no-repeat 100% 100%;
    background-size:70% auto;
    height:100%;
}
.pushkin-back-2 {
    background:url(../images/design/top-2.png) no-repeat 0 100%;
    background-size:70% auto;
    height:100%;
}
.pushkin-back-pattern {
    background:url(../images/design/top-pattern.png) no-repeat 0 100%;
    background-size:auto 100%;
    height:100%;
}

.odin-text,
.odin-logo {
    display: inline-block;
    vertical-align: middle;
}
.odin-text {
    color:#9d8951;
    font:18px FuturaMediumC;
    margin-left:15px;
}
.odin {z-index:30;}
.odin .row .col {vertical-align: middle;}
.odin .row .col:first-child,
.odin .row,
.odin-logo {height:100%;}
.odin-logo {
    background:url(../images/design/logo-odin.png) no-repeat 50% 50%;
    background-size: contain;
    width:83px;
}

.content {
    min-height: 200px;
}

.filter {margin:30px 0 60px;}
.filter label {
    display: block;
    height:35px;
    font-size:16px;
    padding-top:10px;
}

.dates {
    background:#efefef;
    border-radius: 25px;
    height:50px;
    margin-top:50px;
    position: relative;
}
.dates .list {
    scroll-behavior: smooth;
    overflow: hidden;
    position: absolute;
    left:30px; right:30px;
    text-align: center;
    top:-22px; height:100%;
    padding-top:22px;
    box-sizing: content-box;
    white-space: nowrap;
}
.dates .list .dt.disabled {cursor: auto;}
.dates .list .dt.disabled div {color:#b3b3b3;}
.dates .list .dt.sel i {color:black;}
.dates .list .dt.sel div {
    background:#c32624;
    border-radius: 7px;
    color:white;
    font-family: FuturaMediumC;
}
.dates .list .dt div {
    height:100%;
    line-height: 2em;
}
.dates .list .dt {
    display: inline-block;
    position: relative;
    font-size:26px;
    text-align: center;
    height:100%;
    width:44px;
    cursor: pointer;
}
.dates .list .dt i.brd {border-right:1px solid #efefef;}
.dates .list .dt i {
    position: absolute;
    left:0; right:0;
    bottom:100%;
    font-size:18px;
    color:#999;
}
.dates .back:hover,
.dates .forward:hover {
    background:rgba(255,255,255,0.5);
}
.dates .back,
.dates .forward {
    position: absolute;
    top:0; bottom:0;
    width:30px;
    line-height: 50px;
    text-align: center;
    cursor: pointer;
    background:rgba(255,255,255,0.01);
    transition: all 200ms;
}
.dates .back {left:0;}
.dates .forward {right:0;}

.copyright {
    background:#efefef;
    color:#666;
    padding:50px 0 5px;
}


.nav-bottom {
    margin:20px 0;
    text-align: center;
    min-height: 50px;
}
.more-events:hover,
.next-day:hover,
.prev-day:hover {background:#f4f4f4;}
.more-events,
.next-day,
.prev-day {
    background:#efefef;
    border-radius: 25px;
    height:50px;
    display: inline-block;
    font:18px Montserrat;
    padding:0 20px;
    line-height: 52px;
    min-width: 200px;
    position: relative;
    cursor: pointer;
    transition: background 200ms;
}
.next-day .ico,
.prev-day .ico {
    position: absolute;
    top:50%;
    margin-top:-10px;
}
.prev-day .ico {left:12px;}
.next-day .ico {right:12px;}
.prev-day {
    float:left;
    text-align: right;
}
.next-day {
    float:right;
    text-align: left;
}

.found {color:#777; margin:-20px 0 10px; height:15px;}

.events {min-height: 300px;}
.events .item {
    min-height: 250px;
    margin-bottom: 20px;
    padding-left:23%;
    padding-right:10px;
    position: relative;
}
.events .item .img {
    left:0;
    width:23%;
    height:72px;
    background-color:#eee;
    background-position: 50% 10%;
    position: absolute;
}
.events .item .info .d .ico {margin-top:-2px;}
.events .item .info .d {
    font-size:16px;
    color:#555;
    margin:2px 0;
    text-indent: -23px;
    padding-left:23px;
} 
.events .item .info {
    padding-left:20px;
}
.events .item .info .desc {
    margin:0 0 15px;
    min-height: 0px;
    font-size:17px;
}
.events .item .info .title a {text-decoration: none;}
.events .item .info .title {
    display: block;
    font:21px Montserrat;
    text-decoration: none;
    color:black;
    padding-top:5px;
    padding-bottom:5px;
}

.attrs .col {
    margin:5px 0;
}
.attrs {
    font-size:18px;
}

.item-desc {
    font-size:16px;
    padding:10px 0 40px;
}

.item-share {margin-top:20px;}
.item-share > span {margin-right:10px;}
.item-share > * {
    display:inline-block;
    vertical-align: middle;
}

.back-button {
    margin-top:20px;
    font-size:18px;
}

.video-cont iframe {
    border:none;
    width:100%;
    height:100%;
}
.video-cont {
    width:100%;
    height:200px;
    margin:-10px 0 40px;
}


.footer-logo .row .col {vertical-align: middle;}
.footer-logo {
    background:#000;
}

.main-logo img {width:60px;}
.main-logo {
    float:left;
    margin-right:15px;
}

.footer-logo .main-logo {line-height: 1px; margin-right: 10px;}
.footer-logo .main-logo a {display:block;}
.footer-logo .main-logo img {width:43px;}
.footer-logo .main-subtitle {color:white; font-size:15px; margin-top:5px;}
.footer-logo .main-title {color:white; font:20px Montserrat;}
.footer-logo .bold {
    font:18px Montserrat;
}
.footer-logo a {
    color:white;
    text-decoration: none;
    font-size:16px;
}
.footer-logo {
    padding:20px 0 17px;
    color:white;
}
.footer-logo .cont-item a {
    text-decoration: none;
    color:white;
}
.footer-logo .cont-item {
    margin-top:2px;
    display: inline-block;
    font-size:14px;
    text-align: left;
    word-spacing: normal;
}
.footer-logo .cont-item .data > div:first-child {
    font:20px Montserrat;
    margin-bottom: -4px;
}
.footer-logo .cont-item .data {
    display:inline-block;
    vertical-align: middle;
    color:white;
}
.footer-logo .wsp {
    word-spacing: 40px;
}
.footer-logo .cont-item .icon {
    display:inline-block;
    width:27px;
    height:33px;
    background:url(../media/design/phone.png) no-repeat 50% 0;
    background-size:27px auto;
    vertical-align: middle;
    margin-right:5px;
}
.footer-logo .cont-item.odin .icon {
    background-image:url(../media/design/odin-admin.png);
    background-size:27px auto;
}


.attrs .col.c4 {font-weight: bold;}

.tabs {
    margin:20px 0 10px;
    text-align: center;
    padding:15px 25px;
    background:#eee;
    border-radius: 20px;
}
.tabs a.sel {
    color:white;
    background:#c32624;
    border-radius: 30px;
}
.tabs a {
    display: inline-block;
    padding:0 25px;
    height:60px;
    font:30px Montserrat;
    text-decoration: none;
    color:#c32624;
    line-height: 60px;
}

.video-link {
    background:#ddd;
    padding:40px;
    margin:10px 0 40px;
    text-align: center;
    font-size:18px;
}

.block.scheme {
    padding:50px 0;
    background:#eee;
}

.ac-name {
    font:500 20px Montserrat;
    margin-bottom: 15px;
}
.ac-desc {
    
}

.block.activity {
    padding:50px 0;
}