body,
html {
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0
}

@font-face {
    font-family: 'EtelkaMediumPro';
    src: url('EtelkaProWeb/EtelkaMediumPro.eot');
    src: local('Etelka Medium Pro'),
        local('EtelkaMediumPro'),
        url('EtelkaProWeb/EtelkaMediumPro.eot?#iefix') format('embedded-opentype'),
        url('EtelkaProWeb/EtelkaMediumPro.woff') format('woff'),
        url('EtelkaProWeb/EtelkaMediumPro.ttf') format('truetype');
    font-weight: 500;
    font-style: normal
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

.incut-wrapper {
    width: 100%;
    height: 125px;
    overflow: hidden;
    position: relative;
    margin: 0 auto;
    background-position: center
}

.incut-container {
    position: relative;
    width: 100%;
    height: 125px;
    margin: 0 auto;
    max-width: 910px
}

i {
    display: block;
    position: absolute
}

i {
    opacity: 1;
    -webkit-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out
}

.ld i {
    opacity: 1
}

i,
i:after,
i:before {
    position: absolute;
    display: block;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%
}

.bg {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(bg-ret.png);
    background-position: center
}

.vedushi {
    width: 195px;
    height: 150%;
    position: absolute;
    left: 32px;
    top: 4px;
    z-index: 43;
    opacity: 1;
    -webkit-animation: 12s Sokolow cubic-bezier(.45, .05, .55, .95) infinite;
    animation: 12s Sokolow cubic-bezier(.46, .03, .52, .96) infinite;
    will-change: width, transform, filter;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

@-webkit-keyframes Sokolow {

    0%,
    20%,
    80%,
    100% {
        width: 94px;
        top: 0;
        left: 32px;
        opacity: 1;
        -webkit-filter: blur(0);
        filter: blur(0)
    }

    30%,
    70% {
        width: 200px;
        -webkit-filter: saturate(5) contrast(1.25);
        filter: saturate(5) contrast(1.25);
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0)
    }

    45%,
    55% {
        -webkit-transform: translate(-32px, 0);
        transform: translate(-32px, 0)
    }
}

@keyframes Sokolow {

    0%,
    20%,
    80%,
    100% {
        width: 80px;
        top: 4px;
        left: 32px;
        opacity: 1;
        -webkit-filter: blur(0);
        filter: saturate(1) contrast(1) brightness(1)
    }

    30%,
    70% {
        width: 200px;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        -webkit-filter: saturate(.9) contrast(1.2) brightness(1.25);
        filter: saturate(.9) contrast(1.2) brightness(1.25)
    }

    45%,
    55% {
        -webkit-transform: translate(-32px, 0);
        transform: translate(-32px, 0);
        -webkit-filter: saturate(1) contrast(1) brightness(1);
        filter: saturate(1) contrast(1) brightness(1)
    }
}

.vedushi:before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: url(sokolov2.png);
    z-index: 2;
    background-position: top;
    background-size: 100% auto;
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.logo {
    z-index: 43;
    right: 16px;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    height: 105px;
    width: 180px;
    -webkit-perspective: 200px;
    perspective: 200px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: transform
}

.logo::before {
    background-image: url(mos-ulicy.svg);
    -webkit-animation: logoR 6s ease-in-out infinite;
    animation: logoR 6s ease-in-out infinite;
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

@-webkit-keyframes logoR {

    0%,
    30%,
    70%,
    100% {
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg)
    }

    40% {
        -webkit-transform: rotateY(35deg);
        transform: rotateY(35deg)
    }

    60% {
        -webkit-transform: rotateY(-35deg);
        transform: rotateY(-35deg)
    }
}

@keyframes logoR {

    0%,
    30%,
    70%,
    100% {
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg)
    }

    40% {
        -webkit-transform: rotateY(35deg);
        transform: rotateY(35deg)
    }

    60% {
        -webkit-transform: rotateY(-35deg);
        transform: rotateY(-35deg)
    }
}

.houses {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    height: calc(100% - 72px);
    position: absolute;
    width: calc(100% - 466px);
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    left: 50%;
    z-index: 5;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 50%;
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.houses .house {
    position: relative;
    width: 100%;
    height: 100%
}

.houses .house:nth-child(3) {
    padding: 0 64px
}

.h {
    position: absolute;
    width: 150%;
    height: 150%;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(calc(-50% - 32px), -50%);
    transform: translate(calc(-50% - 32px), -50%)
}

.h03 {
    z-index: 10;
    width: 180%;
    height: 180%
}

.h:before {
    -webkit-animation: 5s Sway linear infinite;
    animation: 5s Sway linear infinite;
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

@-webkit-keyframes Sway {

    0%,
    100%,
    25%,
    90% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    40% {
        -webkit-transform: rotate(5deg);
        transform: rotate(5deg)
    }

    60% {
        -webkit-transform: rotate(-20deg);
        transform: rotate(-20deg)
    }
}

@keyframes Sway {

    0%,
    100%,
    25%,
    90% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    40% {
        -webkit-transform: rotate(5deg);
        transform: rotate(5deg)
    }

    60% {
        -webkit-transform: rotate(-20deg);
        transform: rotate(-20deg)
    }
}

.h01::before {
    background-image: url(h01-min.png);
    -webkit-animation-delay: .2s;
    animation-delay: .2s
}

.h02::before {
    background-image: url(h02-min.png);
    -webkit-animation-delay: .4s;
    animation-delay: .4s
}

.h03::before {
    background-image: url(h03-min.png);
    -webkit-animation-delay: .6s;
    animation-delay: .6s
}

.h04::before {
    background-image: url(h04-min.png);
    -webkit-animation-delay: .8s;
    animation-delay: .8s
}

.h05::before {
    background-image: url(h05-min.png);
    -webkit-animation-delay: 1s;
    animation-delay: 1s
}

.houses svg {
    display: block;
    position: absolute;
    left: -32px;
    width: 100%
}

.houses svg#line-bottom {
    bottom: -42px
}

.houses svg#line-top {
    top: -45px
}

.line {
    stroke-dasharray: 5;
    stroke-width: 3;
    -webkit-animation: 60s Route linear infinite alternate;
    animation: 60s Route linear infinite alternate;
    stroke-linecap: round;
    will-change: stroke-dashoffset
}

.line.line-b {
    animation-direction: reverse
}

@-webkit-keyframes Route {
    0% {
        stroke-dashoffset: 1000px
    }

    100% {
        stroke-dashoffset: 0
    }
}

@keyframes Route {
    0% {
        stroke-dashoffset: 1000px
    }

    100% {
        stroke-dashoffset: 0
    }
}

@media(max-width:520px) {
    .houses {
        max-width: 100%;
        width: 100%
    }

    .houses .house {
        display: none
    }

    .houses .house:nth-child(3) {
        display: block;
        opacity: .5
    }

    .houses svg {
        width: 520px
    }

    .line {
        stroke-dasharray: 5;
        stroke-width: 2;
        -webkit-animation: 60s Route linear infinite alternate;
        animation: 60s Route linear infinite alternate;
        stroke-linecap: round
    }
}

.age {
    position: absolute;
    z-index: 44;
    right: 8px;
    top: 4px;
    width: 24px;
    height: 24px;
    font-size: 10px;
    line-height: 22px;
    text-align: center;
    font-style: normal;
    font-family: sans-serif;
    font-weight: 700;
    border: 1px solid;
    color: #e43364;
    border-radius: 50%
}

.incut-link {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 999;
    width: 100%;
    height: 100%
}

.premiere {
    font-family: EtelkaMediumPro, sans-serif;
    color: #fff;
    font-weight: 500;
    font-size: 22px;
    white-space: nowrap;
    position: absolute;
    bottom: 50%;
    z-index: 45;
    padding: .2em 1em .2em 1em;
    letter-spacing: 0;
    right: 50%;
    letter-spacing: 0;
    -webkit-transform: translate(50%, 50%);
    transform: translate(50%, 50%);
    line-height: 1em;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, .35);
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.premiere .flag {
    background-color: rgba(228, 51, 100, .85);
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 95% 50%, 100% 100%, 0% 100%, 5% 50%);
    clip-path: polygon(0% 0%, 100% 0%, 95% 50%, 100% 100%, 0% 100%, 5% 50%);
    position: absolute;
    top: 0;
    left: 0
}

@media (max-width:680px) {
    .premiere {
        font-size: 13px;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        bottom: 10px;
        right: 60px
    }

    .logo {
        top: 40%
    }

    #line-bottom path {
        fill: #48c5ff
    }

    #line-bottom path.line {
        fill: transparent;
        stroke: #48c5ff
    }
}

.is-desktop {
    display: block !important
}

.is-mobile {
    display: none !important
}

@media (max-width:720px) {
    .is-desktop {
        display: none !important
    }

    .is-mobile {
        display: block !important
    }
}

.logos-mobile {
    width: 180px;
    height: 125px;
    position: absolute;
    right: 8px;
    top: 0;
    -webkit-perspective: 300px;
    perspective: 300px;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    z-index: 10;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: transform
}

.side1,
.side2 {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    display: block;
    background: transparent;
    top: 0;
    left: 0
}

.side1 {
    -webkit-transform: rotateY(0deg);
    transform: rotateY(0deg);
    z-index: 2
}

.side2 {
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
    z-index: 1
}

.side2 .premiere {
    display: block;
    position: absolute;
    top: 40%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    height: 32px;
    line-height: 28px;
    text-align: center;
    text-transform: uppercase;
    font-family: EtelkaMediumPro, sans-serif;
    color: rgba(255, 255, 255, .95);
    font-weight: 500;
    font-size: 22px;
    white-space: nowrap;
    padding: .2em 1em .2em 1em;
    letter-spacing: 0;
    font-size: 11px;
    font-style: normal;
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.side2 .premiere .flag {
    background-color: rgba(228, 51, 100, .85);
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 95% 50%, 100% 100%, 0% 100%, 5% 50%);
    clip-path: polygon(0% 0%, 100% 0%, 95% 50%, 100% 100%, 0% 100%, 5% 50%)
}

.logo-m {
    width: 180px;
    height: 100px;
    background: transparent url('mos-ulicy.svg') no-repeat center;
    background-size: contain;
    display: block;
    margin: 20px auto;
    position: relative;
}

@-webkit-keyframes flip {

    0%,
    20% {
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg)
    }

    35% {
        -webkit-transform: rotateY(-35deg);
        transform: rotateY(-35deg)
    }

    40%,
    60% {
        -webkit-transform: rotateY(180deg);
        transform: rotateY(180deg)
    }

    65% {
        -webkit-transform: rotateY(145deg);
        transform: rotateY(145deg)
    }

    80%,
    100% {
        -webkit-transform: rotateY(360deg);
        transform: rotateY(360deg)
    }
}

@keyframes flip {

    0%,
    20% {
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg)
    }

    35% {
        -webkit-transform: rotateY(-35deg);
        transform: rotateY(-35deg)
    }

    40%,
    60% {
        -webkit-transform: rotateY(180deg);
        transform: rotateY(180deg)
    }

    65% {
        -webkit-transform: rotateY(145deg);
        transform: rotateY(145deg)
    }

    80%,
    100% {
        -webkit-transform: rotateY(360deg);
        transform: rotateY(360deg)
    }
}

.logos-mobile {
    -webkit-animation: flip 10s infinite cubic-bezier(.65, .05, .36, 1);
    animation: flip 10s infinite cubic-bezier(.65, .05, .36, 1)
}

.incut-container {
    -webkit-perspective: 300px;
    perspective: 300px
}

.incut-wrapper {
    background-image: url(bg-ret.png);
    background-position: center;
    background-repeat: repeat-x;
    background-size: contain;
    background-color: #e7e7e7
}

.incut-container {
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
    will-change: opacity, visibility
}

.ld .incut-container {
    opacity: 1;
    visibility: visible;
    -webkit-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out
}

.premiere span {
    display: block;
    position: relative;
    z-index: 5
}

.premiere .time {
    font-style: normal;
    display: block;
    position: absolute;
    font-size: 48px;
    height: 48px;
    line-height: 40px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    width: auto;
    text-align: center;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, .75);
    bottom: -52px;
    will-change: transform
}

.premiere.is-desktop {
    bottom: calc(50% + 8px)
}

.dots {
    -webkit-animation: 1s Dotz ease-in-out infinite;
    animation: 1s Dotz ease-in-out infinite;
    will-change: color
}

@-webkit-keyframes Dotz {

    0%,
    40%,
    100% {
        color: #fff
    }

    70% {
        color: rgba(228, 51, 100, .85)
    }
}

@keyframes Dotz {

    0%,
    40%,
    100% {
        color: #fff
    }

    70% {
        color: rgba(228, 51, 100, .85)
    }
}

.pr-notice {
    position: absolute;
    z-index: 10;
    color: rgba(228, 51, 100, .85);
    padding: .25em .75em;
    text-align: center;
    font-size: 16px;
    font-style: italic;
    font-weight: 700;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    white-space: nowrap;
    border-radius: 0;
    text-shadow: 0 0 6px rgb(255, 255, 255);
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

@media (max-width:520px) {
    .pr-notice {
        background: transparent;
        box-shadow: 0 0 0
    }
}

.size250 {
    height: 250px
}

.size250 .incut-container {
    height: 250px;
    max-width: 1200px;
}

.size250 .h {
    width: 120%
}

.size250 .vedushi {
    animation: 12s Sokolow2 cubic-bezier(.45,.05,.55,.95) infinite;
}
@keyframes Sokolow2 {
  0%,
  20%,
  80%,
  100% {
    width:180px;
    top:4px;
    left:32px;
    opacity:1;
    -webkit-filter:blur(0);
    filter:saturate(1) contrast(1) brightness(1)
  }
  30%,
  70% {
    width:320px;
    -webkit-transform:translate(0,0);
    transform:translate(0,0);
    -webkit-filter:saturate(.9) contrast(1.2) brightness(1.25);
    filter:saturate(.9) contrast(1.2) brightness(1.25)
  }
  45%,
  55% {
    -webkit-transform:translate(-32px,0);
    transform:translate(-32px,0);
    -webkit-filter:saturate(1) contrast(1) brightness(1);
    filter:saturate(1) contrast(1) brightness(1)
  }
}
.size250 .premiere.is-desktop {
    display: none !important;
}

.size250 .logos-mobile.is-mobile {
    display: block !important;
}

.size250 .logo.is-desktop {
    display: none !important;
}

.size250 .logos-mobile {
    animation: none;
    height: 100%;
}

.size250 .logos-mobile .side1,
.size250 .logos-mobile .side2 {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    height: 98px;
    clear: both;
    text-align: center;
    perspective: 300px;
}

.size250 .logos-mobile .side1 {
    background-color: transparent;
    height: 93px;
}

.size250 .logos-mobile {
    width: 240px;
    text-align: center;
}
.size250 .side1 .logo-m {
   animation:logoR 6s ease-in-out infinite
}

/* Additional styles for .size250 container */

/* For resolutions above 520px, make .logos-mobile visible and remove animation */
@media (min-width: 521px) {
    .size250 .logos-mobile.is-mobile {
        display: block !important;
    }
    .size250 .logos-mobile {
        animation: none !important;
    }
    /* Hide desktop premiere and logo inside .size250 when mobile logo is visible */
    .size250 .premiere.is-desktop {
        display: none !important;
    }
    .size250 .logo.is-desktop {
        display: none !important;
    }
}
.size250 .pr-notice {
    font-size: 22px;
}
.size250 .houses {
    height: 152px;
    margin-top: 20px
}
.size250 .houses {
   width: calc(100% - 466px)
}
.size250 .logo-m {
    width: 100%
}
.size250 .side2 .premiere {
    font-size: 16px
}
