@font-face {
font-family: 'Proxima Nova';
src: url('../fonts/proxima_nova_bold-webfont.woff2') format('woff2'),
	 url('../fonts/proxima_nova_bold-webfont.woff') format('woff');
font-weight: 700;
font-style: normal;
}

@font-face {
font-family: 'Proxima Nova';
src: url('../fonts/proxima_nova_regular-webfont.woff2') format('woff2'),
	 url('../fonts/proxima_nova_regular-webfont.woff') format('woff');
font-weight: normal;
font-style: normal;
}

@font-face {
font-family: 'Proxima Nova';
src: url('../fonts/proxima_nova_extrabold-webfont.woff2') format('woff2'),
	 url('../fonts/proxima_nova_extrabold-webfont.woff') format('woff');
font-weight: 800;
font-style: normal;
}

body, html {
height: 100%;
min-height: 100%;
min-width: 320px;
}

body {
padding: 0px;
margin: 0px;
color: #fff;
line-height: 1.5;
font-size: 18px;
font-family: 'Proxima Nova', Arial, Helvetica, sans-serif;
background: #021573;
font-weight: 400;
}

img {
border-style: none;
}

* {
box-sizing: border-box;
}

*:hover,
*:focus,
*:active {
outline: none;
}

a {
text-decoration: underline;
color: inherit;
}

a:hover {
text-decoration: none;
}

b {
font-weight: 700;
}

p {
margin: 0 0 1.5em;
}

p:last-child {
margin-bottom: 0;
}

input::-ms-clear {
display: none;
}

.center {
text-align: center;
}

.main_frame {
width: 100%;
overflow: hidden;
position: relative;
height: 100vh;
min-height: 600px;
}

.main_width {
margin: 0 5.2%;
}

.nowrap {
white-space: nowrap;
}

.main_bg {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: #001566;
}

.main_bg:before,
.main_bg:after {
content: "";
display: block;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: url(../img/bg.jpg) no-repeat center center #001566;
background-size: auto 100%;
transition: opacity 0.3s;
opacity: 1;
}

.gaming .main_bg:before,
.gaming .main_bg:after,
.gaming .tree {
transition-duration: 0s;
}

.main_bg:after {
background-image: url(../img/bg_tree.jpg);
filter: blur(25px);
opacity: 0;
}

.main_bg.blur:before {
opacity: 0;
} 

.main_bg.blur:after {
opacity: 1;
} 

.tree {
position: absolute;
bottom: 7.1%;
height: 73.7%;
left: 0;
right: 0;
background: url(../img/tree.png) no-repeat center center transparent;
background-size: auto 100%;
transition: opacity 0.3s;
opacity: 1;
}

.main_bg.blur .tree {
opacity: 0;
} 

@keyframes g_light {
    0% { opacity: 1; }
    5% { opacity: 0; }
    10% { opacity: 1; }
    86% { opacity: 1; }
    88% { opacity: 0; }
    90% { opacity: 1; }
	92% { opacity: 0; }
	94% { opacity: 1; }
    100% { opacity: 1; }
}

@keyframes r_light {
    0% { opacity: 1; }
    25% { opacity: 1; }
    30% { opacity: 0; }
    35% { opacity: 1; }
    86% { opacity: 1; }
    88% { opacity: 0; }
    90% { opacity: 1; }
	92% { opacity: 0; }
	94% { opacity: 1; }
    100% { opacity: 1; }
}

@keyframes b_light {
    0% { opacity: 1; }
    50% { opacity: 1; }
    55% { opacity: 0; }
    60% { opacity: 1; }
    86% { opacity: 1; }
    88% { opacity: 0; }
    90% { opacity: 1; }
	92% { opacity: 0; }
	94% { opacity: 1; }
    100% { opacity: 1; }
}

.tree .lights {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url(../img/lamps_g.png) no-repeat center center transparent;
background-size: auto 100%;
opacity: 1;
}

.tree .lights_g {
animation: g_light 6000ms 0ms linear infinite;
}

.tree .lights_r {
background-image: url(../img/lamps_r.png);
animation: r_light 6000ms 0ms linear infinite;
}

.tree .lights_b {
background-image: url(../img/lamps_b.png);
animation: b_light 6000ms 0ms linear infinite;
}

.header {
position: absolute;
top: 10%;
left: 0;
right: 0;
}

.header .main_width {
position: relative;
height: 0px;
z-index: 1050;
}

.header .logo {
display: block;
float: left;
width: 240px;
}

.header .logo img {
display: block;
width: 100%;
}

#sound {
display: block;
width: 48px;
height: 48px;
background: url(../img/sound.svg) no-repeat 0 0 transparent;
position: absolute;
right: 0;
top: 0;
}

#sound.muted {
background-image: url(../img/sound2.svg);
}

.btn {
display: inline-block;
vertical-align: top;
font-size: 18px;
color: #0348A8;
text-decoration: none;
padding: 22px 20px 23px;
line-height: 20px;
text-align: center;
white-space: nowrap;
border: 0 none;
margin: 0;
font-family: 'Proxima Nova', Arial, Helvetica, sans-serif;
font-weight: 400;
border-radius: 5px;
background: #fff;
min-width: 230px;
transition: top 0.15s, box-shadow 0.15s;
box-shadow: 0px 5px 0px #0348A8;
position: relative;
top: 0;
}

.btn:hover {
top: 3px;
box-shadow: 0px 2px 0px #0348A8;
}

.blue_btn {
color: #fff;
background: #0348A8;
box-shadow: 0px 5px 0px #113362;
}

.blue_btn:hover {
top: 3px;
box-shadow: 0px 2px 0px #113362;
}

.border_btn {
box-shadow: 0 0 0 rgba(255,255,255,0);
border: 1px solid #0348A8;
color: #0348A8;
background: #fff;
padding: 21px 19px 22px;
transition: background-color 0.15s, color 0.15s;
top: 0;
}

.border_btn:hover {
background-color: #0348A8;
color: #fff;
top: 0;
box-shadow: 0 0 0 rgba(255,255,255,0);
}

.border_btn.white {
border-color: #fff;
background: transparent;
color: #fff;
}

.border_btn.white:hover {
background-color: #fff;
color: #0348A8;
}

.header .btn {
display: none;
min-width: 150px;
position: absolute;
right: 90px;
top: -9px;
border: 1px solid #fff;
color: #fff;
padding: 21px 19px 22px;
box-shadow: 0 0 0 rgba(255,255,255,0);
background: transparent;
transition: background-color 0.15s, color 0.15s;
}

.gaming .header .btn {
display: inline-block;
}

.header .btn:hover {
background-color: #fff;
color: #0348A8;
}

.screen {
position: relative;
}

.start .main_width,
.dance_area .main_width {
position: relative;
height: 100vh;
min-height: 600px;
}

.main_width.align {
display: flex;
flex-flow: row nowrap;
align-items: center;
justify-content: center;
}

.align_inner {
flex: 1 1 auto;
}

.start_content {
position: absolute;
top: 50%;
left: 0;
transform: translateY(-50%);
max-width: 750px;
}

.h1 {
font-size: 96px;
line-height: 1.1;
font-weight: 800;
margin: 0 0 10px;
}

.start p {
max-width: 500px;
margin: 0 0 50px;
}

.big_moroz {
position: absolute;
top: 50%;
left: 45%;
width: 807px;
height: 1416px;
background: url(../img/moroz.png) no-repeat 0 0 transparent;
background-size: 100% auto;
margin-top: -350px;
}

.accept_popup {
position: absolute;
bottom: 10%;
width: 600px;
left: 5.2%;
z-index: 1050;
background: #0B154E;
box-shadow: 0px 15px 30px 6px rgba(0,0,0,0.15);
border-radius: 5px;
padding: 25px 100px 25px 30px;
text-align: left;
color: rgba(255,255,255,0.9);
font-size: 14px;
line-height: 1.5;
}

.accept_popup a {
font-weight: 700;
}

.accept_popup .close {
display: block;
position: absolute;
top: 50%;
right: 40px;
margin-top: -9px;
font-size: 18px;
line-height: 1;
font-weight: 700;
text-decoration: none;
}

.hidden_popup {
display: none;
}

.rules {
margin: 0 auto;
background: #fff;
border-radius: 10px;
max-width: 550px;
box-shadow: 0px 15px 30px rgba(0,0,0,0.25);
padding: 0 0 50px;
position: relative;
z-index: 600;
color: #000;
text-align: center;
overflow: hidden;
}

.rules img {
display: block;
max-width: 100%;
max-height: 335px;
margin: 0 auto 30px;
}

.rules_text {
padding: 0 9%;
}

.rules_text p {
margin: 0 0 35px;
}

.rules .btn {
display: block;
width: 100%;
}

.pause .dance_area {
opacity: 0;
}

.score_bar {
position: absolute;
top: 50%;
left: 0;
transform: translateY(-50%);
z-index: 50;
}

.score_bar .scb1,
.scores .scb1 {
font-weight: 800;
font-size: 96px;
line-height: 118px;
}

.score_bar .scb2,
.scores .scb2 {
font-weight: 800;
font-size: 24px;
line-height: 29px;
margin: -10px 0 35px;
}

.scores .scb2 {
margin-bottom: 45px;
}

@keyframes floor_light {
    0% { opacity: 1; }
    50% { opacity: 0.5; }
    100% { opacity: 1; } 
}

.dance_area:before {
content: "";
display: block;
position: absolute;
height: 8.6%;
width: 100%;
bottom: 4%;
left: 0;
background: url(../img/floor.png) no-repeat top center transparent;
background-size: auto 100%;
animation: floor_light 500ms 0ms linear infinite;
}

.discoball {
width: 14.72vh;
position: absolute;
bottom: 76.28%;
left: 50%;
transform: translateX(-50%);
z-index: 10;
}

.discoball:before {
content: "";
display: block;
position: absolute;
bottom: 90%;
width: 8px;
background: #05182f;
height: 1000px;
left: 50%;
margin-left: -4px;
}

.discoball:after {
content: "";
display: block;
padding-top: 115%;
position: relative;
background: url(../img/discoball3.png) no-repeat center center transparent;
background-size: 100% auto;
z-index: 50;
}

@keyframes ball_light {
    0% { transform: scale(1); }
    50% { transform: scale(0.8); }
    100% { transform: scale(1); } 
}

.discoball_light {
position: absolute;
top: -22vh;
left: 50%;
width: 132vh;
height: 107vh;
margin-left: -66vh;
background: url(../img/light.png) no-repeat 0 0 transparent;
background-size: auto 100%;
transform-origin: 50% 26.9%;
animation: ball_light 500ms 0ms linear infinite;
}

.hint {
position: absolute;
bottom: 8%;
left: 0%;
right: 0%;
z-index: 50;
text-align: center;
white-space: nowrap;
}

.m_hint {
display: none;
font-size: 16px;
line-height: 1;
margin: 0 15px;
background: rgba(11, 21, 78, 0.6);
border-radius: 5px;
padding: 15px 0;
}

.m_hint .h_img {
position: relative;
display: inline-block;
width: 20px;
margin: 0 2px;
}

.m_hint .h_img:before {
content: "";
display: block;
width: 20px;
height: 26px;
background: url(../img/tap.svg) no-repeat 0 0 transparent;
background-size: 100% auto;
position: absolute;
top: -17px;
left: 0;
}

.d_hint {
font-size: 24px;
line-height: 1;
}

.d_hint .h_img {
position: relative;
display: inline-block;
width: 158px;
margin: 0 5px;
}

.d_hint .h_img:before {
content: "";
display: block;
width: 158px;
height: 74px;
background: url(../img/space.svg) no-repeat 0 0 transparent;
position: absolute;
top: -20px;
left: 0;
}

.dance_moroz {
position: absolute;
bottom: 11%;
left: 50%;
margin-left: -32vh;
height: 64.815vh;
width: 64vh;
overflow: hidden;
background: url(../img/ded_shadow.png) no-repeat 35% 100% transparent;
background-size: 59% auto;
}

.dance_moroz:before {
content: "";
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url(../img/dance.png) no-repeat 0 0 transparent;
background-size: auto 100%;
}

.dance_moroz[data-type="2"]:before { background-position: 25% 0; }
.dance_moroz[data-type="3"]:before { background-position: 50% 0; }
.dance_moroz[data-type="4"]:before { background-position: 75% 0; }
.dance_moroz[data-type="5"]:before { background-position: 100% 0; }

#game_figure {
position: absolute;
left: 50%;
margin-left: -32vh;
height: 64.815vh;
width: 64vh;
background: url(../img/round.png) no-repeat 0 0 transparent;
background-size: auto 100%;
opacity: 0.6;
/*transition: transform 0s linear, bottom 0s linear;*/

transform: scale(0.2);
bottom: 52%;
}

#game_figure[data-type="2"] { background-position: 25% 0; }
#game_figure[data-type="3"] { background-position: 50% 0; }
#game_figure[data-type="4"] { background-position: 75% 0; }
#game_figure[data-type="5"] { background-position: 100% 0; }

@keyframes move {
    0% {bottom: 52%; transform: scale(0.2);}
    100% {bottom: 11%; transform: scale(1);}
}

#game_figure.move {
animation: move 0ms cubic-bezier(.55,.06,.68,.19) 0ms forwards;
}

@keyframes right {
    0% {transform: scale(1); opacity: 0.6;}
    100% {transform: scale(1.2); opacity: 0;}
}

#game_figure.right {
animation: right 300ms cubic-bezier(.55,.06,.68,.19) 0ms forwards !important;
bottom: 11%;
transform: scale(1);
}

.results {
text-align: center;
position: relative;
z-index: 10;
}

.result_title {
font-weight: 800;
font-size: 48px;
line-height: 59px;
margin: 0 0 30px;
display: none;
}

.result_title.active {
display: block;
}

.results .btn {
width: 260px;
margin: 0 15px 20px;
}

.btn .gift,
.btn .more {
display: inline-block;
position: relative;
padding-left: 33px;
}

.btn .gift:before {
content: "";
display: block;
width: 24px;
height: 24px;
background: url(../img/gift.svg) no-repeat 0 0 transparent;
position: absolute;
top: 50%;
left: 0;
margin-top: -12px;
}

.btn .more:before,
.btn .more:after {
content: "";
display: block;
width: 24px;
height: 24px;
background: url(../img/repeat.svg) no-repeat 0 0 transparent;
position: absolute;
top: 50%;
left: 0;
margin-top: -12px;
}

.btn .more:after {
transition: opacity 0.15s;
opacity: 0;
background-image: url(../img/repeat2.svg);
}

.btn:hover .more:after {
opacity: 1;
}

.border_btn.white .more:before {
background-image: url(../img/repeat2.svg);
}

.border_btn.white .more:after {
background-image: url(../img/repeat.svg);
}

.results .with_email,
.sended .results .no_email {
display: none;
}

.sended .results .with_email {
display: block;
}

.results .with_email p {
margin: 30px 0 30px;
font-size: 24px;
}

.results .with_email .sc_block {
margin: 0 auto;
max-width: 285px;
}

.result_form {
text-align: center;
position: relative;
z-index: 10;
}

.white_bg {
max-width: 550px;
margin: 0 auto;
background: #FFFFFF;
box-shadow: 0px 15px 30px rgba(0,0,0,0.25);
border-radius: 10px;
padding: 35px 50px 50px;
color: #000;
}

.form_title {
font-weight: 800;
font-size: 24px;
line-height: 29px;
color: #0348A8;
margin: 0 0 20px;
padding: 15px 0 0;
}

.form_text {
margin: 0 0 35px;
}

.input_hld {
margin: 0 0 30px;
position: relative;
}

.text_input {
display: block;
box-sizing: border-box;
width: 100%;
background: transparent;
padding: 15px 16px 15px 16px;
font-size: 18px;
line-height: 22px;
font-family: 'Proxima Nova', Arial, Helvetica, sans-serif;
font-weight: 400;
color: #000;
margin: 0;
border: 2px solid #E6EAF0;
}

.text_input::-webkit-input-placeholder {
color: #E6EAF0;
}
.text_input:-moz-placeholder,
.text_input::-moz-placeholder {
color: #E6EAF0;
opacity: 1;
}
.text_input:-ms-input-placeholder {
color: #E6EAF0;
}

.text_input.error {
border-color: #c84f4f;
}

.input_hld label.error {
position: absolute;
top: 100%;
left: 0;
right: 0;
color: #c84f4f;
font-size: 12px;
line-height: 1;
margin: 3px 0 0;
text-align: left;
}

.input_box {
text-align: left;
}

.input_box + .input_box {
margin-top: 20px;
}

.checkbox_hld {
font-size: 0px;
position: relative;
}

.checkbox {
display: inline-block;
vertical-align: top;
padding-left: 30px;
font-size: 14px;
line-height: 1.5;
}

.checkbox  input {
display: none;
}

.checkbox span:before {
content: "";
display: block;
width: 20px;
height: 20px;
box-sizing: border-box;
border: 2px solid #E6EAF0;
border-radius: 3px;
position: absolute;
top: 0;
left: 0;
}

.checkbox a {
color: #0348A8;
}

.checkbox input.error ~ span:before{
border-color: #c84f4f;
}

/*.checkbox input.error ~ span{
padding-bottom: 25px;
}*/

.checkbox input ~ span:after {
content: "";
display: block;
width: 20px;
height: 20px;
position: absolute;
top: 0;
left: 0;
background: url(../img/check.svg) no-repeat center center transparent;
opacity: 0;
}

.checkbox input:checked ~ span:after {
opacity: 1;
}

.form .btn_hld .btn {
display: block;
width: 100%;
}

.thanks i {
display: block;
width: 105px;
margin: 0 auto 30px;
}

.thanks i img {
display: block;
width: 179px;
margin-left: -22px;
}

.thanks .form_title {
padding-top: 0;
}

.sc_block {
margin: 0 -15px 30px;
font-size: 0px;
white-space: nowrap;
}

.sc_block > div {
display: inline-block;
vertical-align: top;
width: 33.333%;
padding: 0 15px;
}

.sc_block a {
display: block;
height: 65px;
border: 1px solid #0348A8;
border-radius: 5px;
background: #fff;
position: relative;
transition: background-color 0.15s;
}

.sc_block a:hover {
background-color: #0348A8;
}

.sc_block a:before,
.sc_block a:after {
content: "";
display: block;
width: 30px;
height: 30px;
background: url(../img/sc-fb-1.svg) no-repeat center center transparent;
position: absolute;
top: 50%;
left: 50%;
margin: -15px 0 0 -15px;
}

.sc_block a:after {
opacity: 0;
transition: opacity 0.15s;
background-image: url(../img/sc-fb-2.svg);
}

.sc_block a:hover:after {
opacity: 1;
}

.sc_block a.sc_vk:before {
background-image: url(../img/sc-vk-1.svg);
}

.sc_block a.sc_vk:after {
background-image: url(../img/sc-vk-2.svg);
}

.sc_block a.sc_ok:before {
background-image: url(../img/sc-ok-1.svg);
}

.sc_block a.sc_ok:after {
background-image: url(../img/sc-ok-2.svg);
}

.results .sc_block a {
border-color: #fff;
background: transparent;
}

.results .sc_block a:hover {
background: #fff;
}

.results .sc_block a:before {
background-image: url(../img/sc-fb-2.svg);
}

.results .sc_block a:after {
background-image: url(../img/sc-fb-1.svg);
}

.results .sc_block a.sc_vk:before {
background-image: url(../img/sc-vk-2.svg);
}

.results .sc_block a.sc_vk:after {
background-image: url(../img/sc-vk-1.svg);
}

.results .sc_block a.sc_ok:before {
background-image: url(../img/sc-ok-2.svg);
}

.results .sc_block a.sc_ok:after {
background-image: url(../img/sc-ok-1.svg);
}

.thanks .btn {
display: block;
width: 100%;
}

#mobile_detect {
width: 1px;
height: 1px;
position: fixed;
top: -10px;
left: -10px;
display: none;
}

.mfp-bg {
background: rgba(255,255,255,0);
}

#sounds {
display: none;
}
#Recaptcha{
	margin-bottom: 10px;
}

/*

#Recaptcha {
width: 304px;
margin-left: -17px;
}

#Recaptcha label.error{
font-size: 11px;
line-height: 13px;
color: #C84F4F;
display: block;
margin-top: -10px;
}

*/