:root {
  --grad-angle:-135deg;
  --grad-angle2:35deg;
  --bg-color: #FFDD00;
  --svg-color:#D12023;
}

*:focus-visible {
    outline: none!important;
}


.step.btn-default {
    --svg-color:#D12023;
}

.alert font.errortext {
    color:#fff!important
}
.alert-danger.alert-dismissible .btn-close {
    filter:invert()!important;
}

body {
	background: #00B4D5 url("/images/cloud.png") top left no-repeat;
    background-size:700px;
    color:#fff;
    position: relative;
    z-index: -111;
    font-size:12px;
	line-height:normal;
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
    &:after {
        position: absolute;
        right:0;
        bottom:0;
        width:100%;
        height: 100%;
        pointer-events: none;
        background: url('/images/cloud2.png') bottom right no-repeat;
        content:"";
        background-size:580px;
        z-index:-111;
        bottom:250px;
    }
}

.btn:hover {
    box-shadow:0px 0px 30px 0px rgba(255, 255, 255,0.8);
}

.btn-glass {
    width: 45px !important;
    height: 45px !important;
    border-radius: 50%;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    &:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        border-radius: inherit;
        padding: 0.1rem;
        background:radial-gradient(82.74% 159.78% at 43.81% 66.37%, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%), radial-gradient(76.99% 233.34% at 70.79% 69.03%, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%);
        -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
        -webkit-mask-composite: xor;
        mask-composite: exclude;
        z-index: -1;
    }
}

#CODE_inpt {
	text-transform:uppercase;
}

.sticky-top {
	overflow:hidden;
}

::placeholder, input:focus ::placeholder {
	color:rgba(255,255,255,.7)!important;
}

.mainrow {
	border-radius: 100px;
	background: linear-gradient(107.8deg, rgba(255, 255, 255, 0.12) 4.48%, rgba(255, 255, 255, 0) 112.09%);
	background-origin: border-box;
	color:#fff;
	position: relative;
	backdrop-filter:blur(20px) saturate(1.1);
	&:before {
		content: "";
        padding:1px;
		position: absolute;
		z-index: -1;
		inset: 0;
		border-radius: 100px;
		background: linear-gradient(135deg, #fff, transparent 40%, #fff) border-box;
		mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
		mask-composite: exclude;
	}
}

button.nav-link {
	color:#fff;
	padding:10px 30px;
	border-radius:30px!important;
	font-size:14px;
	&:hover {
		background-color:rgba(255,255,255,.4);
		color:#fff;
	}
	&.active {
		color:#13076ECC;
	}
}

.white {
	color:#fff;
}

input.blurred {
	/*background: linear-gradient(334deg, rgba(255, 255, 255, 0.16) 4.48%, rgba(255, 255, 255, 0) 112.09%);*/
	background:none!important;
	position:relative;
}

.regdone p {
	font-size:20px;
}

.mainrow {
	position: relative;
}

.bx-auth-reg input.blurred {
	position: relative;
	border-radius: 30px;
	border-width: 0;
	color: #fff;
	padding: 60px 100px;
	position: relative;
	&:after {
		content: "";
        position: absolute;
        z-index: -1;
        inset: 0;
        border-radius: inherit;
        border: 1px solid #fff;
        background-origin: border-box;
        background-clip: padding-box, border-box;
        background-image: linear-gradient(-107.8deg, rgba(255, 255, 255, 0.06) 4.48%, rgba(255, 255, 255, 0) 112.09%);
	}
}

a.blurred {
	height:45px!important;
	line-height: 30px;
}

.btn.btn-outline-light {
	border-color:transparent;
}

a.blurred.btn-outline-light:hover i {
	filter:unset;
}

i.user.userpic {
	height:30px;
}

* {
	font-family:"Inter";
}

.fun {
	font-size:60px;
    font-family: "Kelper";
}

@font-face {
    font-family: "Kelper";
    src: url("../kelper.otf");
}

.row#flyer .flexslider {
	background: none;
	border: none;
}

.row#flyer .slide {
	padding:10px;
}

i.user {
	width:20px;
	height:20px;
	display:block;
}

#loginbtn:hover {
    background: var(--bg-color);
    & svg path {
        fill: var(--svg-color);
        transition: all 0.3s ease;
    }
}

#cabbtn {
    width:45px;
    height:45px;
    padding:0;
    line-height: 40px;
    & svg path {
        fill:var(--svg-color);
    }
}

.footer_text {color:#8A6E24;font-weight:400;}
.footer_text a:hover {color:gray;}

header .onlyfooter {display:none;}

.mainpic img {
	top:-100px;right:150px;max-height:60vh;min-height:600px;
}

.title2 {
	font-size:24px;
	font-weight:400;
}

.rule .desc {
	color:#9B9B9C;
}

.form-control input {
	color:silver;
}

#footer .title {
	font-size:16px;
	text-align:left;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
	font-weight:500;
}

.prize-desc {
	color:#4F4F4F;
	font-size:12px;
	font-weight:400;
}

.infocenter {
	font-size:18px;
}

.schedule {
	color:#fff;
	font-weight:400;
	display: block;
	font-size:12px;
}

.footer_only {
	display:none!important;
}

.footer_right .tel a {
	font-weight:300;
	padding:15px 0;
	display:block;
}

#footer .left-menu {
	flex-direction:row;
    gap:2.5rem;
}

#footer .footer_only {
	display:block!important;
	font-weight:500!important;
	margin-bottom:15px;
	font-size:16px;
	padding:0;
}

.bottom-menu {
	background:url('/images/border.svg') no-repeat center bottom;
	margin-bottom: 20px;
    mix-blend-mode: overlay;
	& a {
		color:#fff!important;
		margin-bottom:5px;
		font-size:16px!important;
	}
}

.social {
	display: flex;
	& a, a:hover {
		border:none;
	}
	& i {
		width:25px;
		height:25px;
		background-size:contain;
		display:inline-block;
        border-radius:100%;
	}
	& i.tt {
		background:url('/images/icons/tiktok.svg') center no-repeat;
    &:hover {
      background:url('/images/icons/tt_hover.svg') center no-repeat;
    }
	}
	& i.tg {
		background:url('/images/icons/tg.svg') center no-repeat;
    &:hover {
      background:url('/images/icons/tg_hover.svg') center no-repeat;
    }
	}
	& i.vb {
		background:url('/images/icons/viber.svg') center no-repeat;
    &:hover {
      background:url('/images/icons/vb_hover.svg') center no-repeat;
    }
	}
	& i.inst {
		background:url('/images/icons/inst.svg') center no-repeat;
    &:hover {
      background:url('/images/icons/inst_hover.svg') center no-repeat;
    }
	}
}

.footer_bottom_links {
	& span {
		font-size:12px!important;
		color:#fff;
		line-height: normal;
	}
	& .bottom-bottom a {
		font-size:12px!important;
		margin:0;
		font-weight:400;
		text-decoration: underline;
		border-bottom:none;
	}
}

#footer .footer_only a:hover {
	text-decoration:none;
}

#footer .footer_only a {
	font-weight:600!important;
	cursor:text;
}

body, p, div, span, b {
	font-size:16px;
	font-weight:400;
	color:#fff;
}

b {font-weight:800;}

@font-face {
  font-family: 'flexslider-icon1';
  src: url('/fonts/flexslider-icon.eot');
  src: url('/fonts/flexslider-icon.eot?#iefix') format('embedded-opentype'), url('/fonts/flexslider-icon.woff') format('woff'), url('/fonts/flexslider-icon.ttf') format('truetype'), url('/fonts/flexslider-icon.svg#flexslider-icon') format('svg');
  font-weight: 500;
  font-style: normal;
}

.alert-success {
    background: linear-gradient(127.18deg, rgba(51, 255, 0, 0.7) -13.17%, rgba(51, 255, 0, 0) 159.23%);
    color:#fff;
}

.alert-danger {
    background: linear-gradient(132.32deg, #FF0000 33.36%, rgba(255, 1, 1, 0) 247.95%);
    color:#fff!important;
}

.btn {
	border-radius:40px!important;
	font-weight:400;
}

p {
	font-weight:400;
}

#faq .title p {
	font-size:calc(1.375rem + 1.5vw);
}

.mainpic img {
	animation:2s zoomIn ease;
}

.mainpicmob img {
	animation:1s Opa ease;
	zoom:1.2;
}

@keyframes zoomIn {
  from {
    zoom:0.1;
  }
  to {
	zoom:1;
  }
}

@keyframes Opa {
  from {
	opacity:.1
  }
  to {
	opacity:1;
  }
}

.accordion-button:focus {
	box-shadow:none;
}

.shortrules {
	line-height:1.5;
	font-size:15px;
}

.lego_wrap {
	position:relative;
	overflow:hidden;
}

.hint--warning:after, .hint--warning:before {
	background-color: #FDCA26!important;
    color: #000!important;
    text-shadow: none !important;
    font-weight: 500;
    text-transform: uppercase;
    box-shadow: 5px 10px 10px -8px gray;
}

.bx-auth-reg .errors p {
	margin:0;
}

.offcanvas-header {
	padding:0;
}

div.title {
	font-size:calc(1.375rem + 1.5vw);
	font-weight:600;
}

i.logout {
	width:15px;
	height:20px;
	background:url('/images/icons/exit.svg') 50% 50% no-repeat;
	background-size:contain;
	display:block;
}

i.menu {
	width:20px;
	height:20px;
	background:url('/images/menu.svg') 50% 50% no-repeat;
	background-size:contain;
	display:block;
}

.btn-glass i.menu {
    filter:invert();
}

i.arrow-left {
	width:20px;
	height:30px;
	background:url('/images/arrow-left.svg') 50% 50% no-repeat;
	background-size:contain;
	display:block;
}
i.arrow-right {
	width:20px;
	height:30px;
	background:url('/images/arrow-right.svg') 50% 50% no-repeat;
	background-size:contain;
	display:block;
}

.disabled {
	filter:grayscale(1);
}

.form-control:focus {
	box-shadow:none;
	border-color:#FDCA15;
	background:rgba(255,255,255,.2);
}

div[id*="wait_comp"] {
	background:#fff!important;
	border-radius:10px;
}

.search form .input-group {
	position:relative;
	display:block;
}

.search form .input-group:after {
	content: "";
	position: absolute;
	left: 20px;
	width: 30px;
	height: 30px;
	background: url('/images/search.svg') no-repeat!important;
	top: 15px;
	background-size: cover!important;
	z-index:999;
}

.br20 {border-radius:20px!important;}

header.fixed {
	width:100%;
	z-index:111111;
	top:0;
}

header .slogan a {
	text-decoration:none;
	font-size:12px;
	border:none;
}
header .slogan a:hover {
	color:gray;
}

header .row {
	align-items:center;
}

.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
	max-width:1266px;
}

.blurred {
	border-radius:40px!important;
	position: relative;
	&::placeholder {
		color:#fff!important;
	}
	&:after {
		content: "";
		position: absolute;
		z-index: -1;
		inset: 0;
		border-radius: inherit;
		border: 1px solid transparent;
		background: linear-gradient(var(--grad-angle, -35deg), #62A2DB, transparent 40%, #fff) border-box;
		-webkit-mask: linear-gradient(-45deg,black, black) border-box,
		linear-gradient(43deg,black, black) padding-box;
		mask: linear-gradient(-45deg,black, black) border-box,
		linear-gradient(-45deg,black, black) padding-box;
		-webkit-mask-composite: source-out;
		mask-composite: subtract;
	}
	&.ccw:after {
		background: linear-gradient(var(--grad-angle, 177deg), rgba(98, 162, 219, 0), transparent 40%, #fff) border-box
	}
}

.flex-direction-nav a:before {
	font-family:"flexslider-icon1"!important;
}

.flex-direction-nav a {
	opacity:1!important;
}

#heroes .flex-disabled {
	opacity:0.5!important;
	z-index:1;
	pointer-events:none;
}

a {
	color:#fff;
	text-decoration: none;
	border-bottom:1px #fff solid;
	display: inline-block;
}

a:hover {
	color:#FDCA15;
	border-bottom:1px #FDCA15 solid;
	text-decoration: none!important;
}

.btn.btn-default, .btn.btn-outline-dark, .btn.btn-light {
	font-size:14px;
	padding: 7px 15px;
	border-radius: 10px;
}

.btn.btn-default.btn-close {
	background:url("/images/close.svg"), linear-gradient(133.69deg, #fff 31.42%, #fff 83.25%);
	background-position: center;
	background-repeat: no-repeat;
	width:20px;
	height:19px;
}

.btn.btn-default {
	color: #13076ECC;
	text-decoration:none;
	padding:9.5px 30px;
	border-radius:10px;
	position:relative;
	background: var(--bg-color);
	font-size:16px;
    font-weight:400;
	opacity:1;
    color:#D12023;
    position: relative;
    &:before {
        content:"";
        position: absolute;
        top:0;
        left:0;
        background:radial-gradient(82.74% 159.78% at 43.81% 66.37%, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%), radial-gradient(76.99% 233.34% at 70.79% 69.03%, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%);
        mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
        mask-composite:exclude;
        z-index:-1;
        width:100%;
        height:100%;
    }
}

i.arr_btn {
	width: 10px;
	height: 10px;
	background: url('/images/arr_btn.svg') no-repeat;
	background-size: contain;
	display: inline-block;
	margin: 0 5px;
}

#banner {
	position:relative;
	width:100%;
	background:#f4f4f4;
	overflow:hidden;
	min-height:810px;
	/* FIX
		background:#f4f4f4 url('/images/bgfirst.png') no-repeat bottom;
		background-size:contain;
	/* END FIX */
}

#banner ul {
	list-style-type:none;
	line-height:30px;
}

#banner h1 {
	font-size: min(max(22px, 7.6vw), 125px);
	line-height: normal;
	font-weight: 700;
	word-break: keep-all;
}

#character {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	text-align: center;
	pointer-events:none;
}

#character {
	max-width:96%;
}

img.arrow {
	max-width:200px;
	width:100%;
}

.rules_wrapp {
	gap:10px;
}

.rules_wrapp .rule {
	border-radius:20px;
	background:none;
	min-height:210px;
	padding: 30px;
	position:relative;
	font-size:14px;
	display:flex;
	flex-direction:column;
	flex:1;
	top:0;
	transition:all 0.3s ease;
}

.rules_wrapp .rule:before {
	content:"";
	left:30px;
	top:0px;
	background:#FBC92C;
	position:absolute;
	border-radius:50%;
	width:10px;
	height:10px;
}

.rules_wrapp .rule .title, .title {
	display:block;
	font-weight:500;
	font-size:calc(1.375rem + 1.5vw);
}

.rules_wrapp #rule_1 {
	justify-content: start;
}

.rules_wrapp .rule:hover .rulenum {
	background:#FBC92C!important;
	transition:all 0.3s ease;
}

.rules_wrapp #rule_1 .rulenum {
	position: absolute;
	right: 15px;
	bottom: 15px;
	z-index: 111;
	background: none;
	border:1px black solid;
	padding: 20px;
	border-radius: 50%;
	width: 50px;
	height: 50px;
	font-size: 20px;
	font-weight:500;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
}

.rules_wrapp #rule_2 {
	justify-content: start;
}

.rules_wrapp #rule_2 .rulenum {
	position: absolute;
	right: 15px;
	bottom: 15px;
	z-index: 111;
	background: none;
	padding: 20px;
	border-radius: 50%;
	width: 50px;
	height: 50px;
	font-size: 20px;
	font-weight:500;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	border:1px black solid;
}

.progress-container {
    width:100%;
    margin: 2em auto;
  }
  .progress-steps {
	position:relative;
  }
  .progress-steps li {
    list-style-type: none;
    width: 25%;
    float: left;
    font-size: 30px;
	font-weight:500;
    position: relative;
    text-align: center;
    text-transform: uppercase;
    color: #000;
	z-index:1;
  }
  .progress-steps li:before {
    width: 2em;
	height: 2em;
	counter-increment: step;
	line-height: 1.8em;
	border: 2px solid #000;
	display: block;
	text-align: center;
	margin: 0 auto;
	border-radius: 50%;
	background-color: transparent;
  }
  .progress-steps li:after, .progress-steps li.active:after {
    	width: 110%;
	height: 1.41px;
	content: ' '!important;
	position: absolute;
	background-color: #000;
	top: 1em;
	left: -10%;
	z-index: -59;
  }

  .progress-steps li span {font-size:13px;}

  .progress-steps li:first-child:after {
    content: none;
  }
  .progress-steps li.active {
	/* */
  }
  .progress-steps li.active:before {
		background:#FDCA15!important;
		border:2px solid #FDCA15!important;
  }

  .progress-steps li#first:before {
		content:"1";
		background:#F4F4F4;
	}

  .progress-steps li#second:before {
		content:"2";
		background:#F4F4F4;
	}
  .progress-steps li#third:before {
		content:"3";
		background:#F4F4F4;
	}
  .progress-steps li#super:before {
		content:"";
		background: #F4F4F4 url('/images/gift.svg') 50% no-repeat!important;
		background-size:50%;
	}

  .progress-steps li.active#super:before {
		content:"";
		background: #FDCA15 url('/images/gift.svg') 50% no-repeat!important;
		background-size:50%;
	}

.progress-steps li:hover:before {
	box-shadow:0 0 10px -5px #f6f6f6;
}


.stepgroup {
	position:relative;
	width:70%;
    & .step:not(.btn-default) svg path {
        fill:#fff!important;
    }
}

.pill {
	padding:5px 25px;
	display:inline-block;
	color:#E0E0E0;
	font-size:14px;
}
.etap-prize {
	display: grid;
	grid-template-columns: 1fr 1fr;
	max-height:200px;
}

.etap-prize img {
	max-height:130px;
}

#steps, #goods {
	background:#F4F4F4;
	background-size:contain;
}

.smallprizes {
	display: flex;
	gap: 15px;
	padding: 0;
}

.smallprizes .smallprize {
	flex-direction:row-reverse;
	justify-content:space-between;
	background:#fff;
}

.smallprizes .prize-name {
	font-size:22px;
}

.smallprizes .step-prize .prize-img {
	width:100%;
}

.smallprizes .smallprize img {
	max-width:100px;
}

#prizeslisting .smallprizes .smallprize {
	border:1px black solid;
}

#prizeslisting .smallprizes .smallprize .prize-img {
	background:#F2F2F2;
	width:100%;
}

.superprize {
	gap:15px;
}

.superprize .step-prize .prize-img {
	padding:30px 30px 0;
}

.prizes_wrapp {
	gap:10px;
	display:flex;
	padding:0;
}

.superprize .prize-count {
	float:right;
}

.step-prize {
	background: #fff;
	border-radius: 20px;
	position:relative;
	display:flex;
	flex-direction:column;
	flex:1;
	justify-content:end;
	padding:0;
}

.step-prize .prize-inner {
	padding:30px;
	width:100%;
}

.step-prize:not(.smallprize) .prize-img, .step-prize:not(.smallprize) .prize-inner {
	flex:1;
}

.superprize .step-prize:not(.smallprize) .prize-img, .superprize .step-prize:not(.smallprize) .prize-inner {
	flex:auto;
}

.step-prize:not(.smallprize) .prize-img {
	min-height:320px;
}

.step-prize .prize-img {
	background:#FBC92C;
	padding:30px;
	border-radius:20px;
	align-items: center;
	display: flex;
	height:100%;
	justify-content: center;
}

.prize-name {
	font-size:22px;
	display:block;
	font-weight:500;
	position:relative;
}

.prize-count {
	padding: 5px 15px;
	background: #FBC92C;
	border-radius: 20px;
	display:block;
	width:73px;
	text-align:center;
}

.prize-cnt {
	position: absolute;
	right: 0;
	z-index: 999;
	top: 0;
	padding: 5px 15px;
	background: #FBC92C;
	border-radius: 30px;
	width: 73px;
	text-align: center;
	align-items: center;
	display: flex;
	justify-content: center;
	font-size:14px;
}

.contest {
	display:flex;
	gap:10px;
}

.superprize {display:none;}

.flexslider {margin:0!important;}


.hero-container {
	position:relative;
}


.flexslider .slides>li {
	display:grid!important;
	grid-template-columns:50% auto;
	gap:50px;
}

.slide_control {
	display: flex;
	align-items: end;
	position: absolute;
	bottom: 0;
	left: 55%;
	z-index:999;
	background:#fff;
}

.slide_control .flex-direction-nav li a {
	font-size:0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
}

.slide_control .flex-direction-nav a:before {
	font-size:15px;
}

.slide_control .flex-viewport li {
	background:#f2f2f2;
	padding:15px!important;
	border-radius:10px;
	min-width:120px;
	transition:all 0.3s ease;
	border:2px #f2f2f2 solid;
}

.slide_control .flex-viewport li:hover {
	border:2px #FDCA15 solid;;
	transition:all 0.3s ease;
}

.slide_control .flex-direction-nav {
	position: absolute;
	left: -30px;
	top: 0;
	height: 100%;
	display: block;
	width: 110%;
	z-index:-1;
}

.slide_control .flex-nav-prev {
	position: absolute;
	left: 0;
	width: 20px;
	height: 100%;
	background:#f2f2f2;
	border-radius:5px;
}

.slide_control .flex-nav-next {
	position: absolute;
	right: 0;
	width: 20px;
	height: 100%;
	background:#f2f2f2;
	border-radius:5px;
}

.flex-direction-nav .flex-next {
	right:0!important;
}

.flex-direction-nav .flex-prev {
	left:0!important;
}

p.flex-caption {z-index:0;}

p.flex-caption img {
	max-width:200px;
}

.slide_control li.flex-active-slide {
	background:#FDCA15;
}

.hero-image-wrapp {
	background:#FDCA15;
	border-radius:20px;
}

.custom-navigation {
	position:absolute;
	bottom:0;
	padding:10px;
	background:#fff;
	border-radius:0 10px;
	z-index:999;
}

.custom-navigation a {
	background:#F2F2F2;
	border-radius:50%;
}

#howtoplay {
	background:#F2F2F2;
}

.playrules {
	gap:15px;
}

.playitem {
	border-radius:20px;
	position:relative;
	display:flex;
	flex-direction:column;
	padding:30px;
	min-height:255px;
}

.playitem .playitem_inner {
	padding:30px;
}

#play_1, #play_5,#play_3 {
	justify-content:start;
}

#play_2,#play_4 {
	justify-content:end;
}

#play_1, #play_4, #play_5 {
	background:#FDCA15;
	overflow:hidden;
}

#play_2, #play_3 {
	background:#fff;
	overflow:hidden;
}

#play_1 .stepnum, #play_5 .stepnum {
	border: 10px #f2f2f2 solid;
	bottom: -10px;
	right: -10px;
	background: #FDCA15;
}

#play_2 .stepnum {
	background: #fff;
	border:10px #f2f2f2 solid;
	top: -5px;
	right: -5px;
}

#play_3 .stepnum {
	background: #fff;
	border:10px #f2f2f2 solid;
	bottom: -5px;
	right: -5px;
}

#play_4 .stepnum {
	background: #FDCA15;
	border:10px #f2f2f2 solid;
	top: -5px;
	right: -5px;
}

.stepnum {
	position: absolute;
	padding: 20px;
	border-radius: 30px;
	width: 60px;
	height: 60px;
	align-items: center;
	display: flex;
	font-size: 20px;
	text-align: center;
	justify-content: center;
}

#altrules {
	display:flex;
	line-height:1.5;
	gap:20px;
}

#altrules_wrapp {
	border:1px black solid;
	border-radius:20px;
	position:relative;
}

#prizeslisting .row {
	gap:15px;
}

#prizecard {
	background:#fff;
	display:flex;
	flex-direction:column;
	padding:0;
	position:relative;
	border-radius:20px;
	flex:1;
	justify-content:start;
	border:1px black solid;
	transition:all 0.5s ease;
}

.prize-inner {
	padding:30px;
}

.prize-image {
	min-height: 514px;
	overflow:hidden;
	padding:30px;
	background:#F2F2F2;
	border-radius:20px;
	text-align:center;
	align-items: center;
	display: flex;
	justify-content: center;
}

.goods_wrapp {
	background:#fff;
	border-radius:30px;
	position:relative;
}

#prizeslisting .prize-cnt {
	position: relative;
	z-index: 9;
	padding: 5px 15px;
	background: #FBC92C;
	border-radius: 50px;
	width: 75px;
	text-align: center;
	font-size: 14px;
	float: right;
}

#winners table thead tr {
	background:#f2f2f2;
}

#winners table td {
	border-color:#f2f2f2;
	padding:30px 20px;
	font-size:15px;
	font-weight:400;
}

#winners table thead tr td:first-of-type {
	border-radius:20px 0px 0px 20px;
}

#winners table thead tr td:last-of-type {
	border-radius:0px 20px 20px 0px;
}

#winners table thead tr td {
	border:none;
	padding:40px 20px;
}

#faq {
	background:#F2F2F2;
}

#faq .container {
	position:relative;
}

.accordion-item, .accordion-button {
	border:0;
	background:none;
}

.accordion-button.collapsed {
	border-radius:20px!important;
}

.accordion-button:not(.collapsed)::after, .accordion-button::after {
	background:none;
}

.accordion-button {
	font-size:22px;
}

.accordion-button:not(.collapsed) {
	background-color:transparent;
	color:#000;
	box-shadow:none;
	padding:10px 25px 10px 20px!important;
	font-weight:600;
	font-size:22px;
}

.accordion-item {
	border-top:1px black solid!important;
	border-radius:0!important;
	position:relative;
}
.accordion-item:last-of-type {
	border-bottom:1px black solid;
}

.accordion-button {
	position:relative;
}

.accordion-button.collapsed:after {
	position:absolute;
	right:0;
	top:7px;
	content:"+";
	font-size:30px;
	z-index:11;
}

.accordion-button:after {
	position:absolute;
	right:0;
	top:25px;
	content:"-";
	font-size:30px;
	z-index:11;
}

.accordion-body {
	color:#9B9B9C;
	font-size:12px;
	line-height:1.5;
}

/* FOOTER */

.footer_right {
	text-align:left;
	display:flex;
	flex-direction:column;
	gap:15px;
}

.footer_right .tel a {
	text-decoration:none;
}

.footer_right .tel {
	font-size:32px;
}

.footer_right .tel a:hover {
	text-decoration:none;
	color:#000;
}

.mob_menu {display:none;}

input[type="checkbox"] {
	background: transparent;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    position: relative;
    top: 5px;
    border-radius: 5px;
    border:1px #fff solid;
	&:checked {
		background: url('/images/check.svg'), linear-gradient(133.69deg, #FFDD00 31.42%, #FFDD00 83.25%)!important;
		outline:2px #A53E3C transparent;
		background-position: center!important;
		background-repeat:no-repeat!important;
	}
}

.btn-check:focus+.btn, .btn:focus {
	box-shadow:none;
}

#prizeslisting #prizecard[data-type="super"] .prize-image {
    max-height: 540px;
    overflow: hidden;
    min-height: 540px;
}

#prizeslisting #prizecard .prize-image {
    max-height: 304px;
    overflow: hidden;
    min-height: 304px;
}

.contest-name, .contest-date {pointer-events:none;}

#auth-btns a {
	text-decoration: none;
	transition:all 0.5s ease;
	border-bottom:none;
    /*
	&:after {
		background:radial-gradient(82.74% 159.78% at 43.81% 66.37%, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%);
        border: 1px solid;
	}
    */
}

#auth-btns span {
	color:#fff;
	padding:0 5px;

}

.bx-system-auth-form input[type="text"], .bx-system-auth-form input[type="password"], input[name="phone"] {
	background:transparent;
	border:1px #fff solid;
	text-align: center;
	color:#fff;
    border-radius:30px;
    max-width:420px;
    margin:0 auto;
}

input[type="password"] {
	border-radius: inherit;
	border-image-width: 2px;
	border-image-slice: 1;
    border: 1px solid;
    border-image-source: radial-gradient(76.99% 233.34% at 70.79% 69.03%, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%), radial-gradient(82.74% 159.78% at 43.81% 66.37%, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 100%) /* warning: gradient uses a rotation that is not supported by CSS and may not behave as expected */;
	&::placeholder {
		color:rgba(255,255,255,.7)!important;
	}
}

button[value="RESTORE"] {
    max-width:420px;
    margin:0 auto;
}

.bx-system-auth-form.blurred {
	padding:0 0 30px;
}

/* MOBILE */

@media (max-width:768px) and (orientation:landscape) {

	#character, #arrow_div {
		display:none!important;
	}
	#banner h1 {
		font-size:min(max(22px, 5vw), 120px);
	}
	#banner {
		padding-top:30px!important;
		height:150vh!important;
	}
	#banner ul {
		line-height:normal;
	}
}

.stepgroup .steps-desc {
		top:0!important;
}

@media (max-width:960px) and (orientation: landscape) {
    div:not(.offcanvas.show) #cabbtn {
        line-height: 20px!important;
    }
}

@media (max-width:960px) {

    header > div:not(.offcanvas) .btn-default {
        padding:11.5px!important;
    }

    body:after {
        bottom:350px;
        background-size:200px;
    }

    #myTab {
        flex-direction: column;
        border-radius:25px!important;
    }

	.nav-tabs {
		width:auto!important;
	}

	.schedule, #footer .tel {
		padding-top:10px;
		display: block;
	}

	#auth-btns span {
		display:none;
	}

	.cabinet {
		padding:30px!important;
	}

	.row.mainrow {
		justify-content: space-between;
	}

	h1, h1.fun {
		font-size:30px;
		text-align: center;
	}

	.cabinet .btn.btn-default {
		width:100%;
	}

	.footer_right .tel a {
		padding:5px 0;
	}

	#footer ul.left-menu li:not(.footer_only) {
		padding-top:0;
		padding-bottom:5px;
	}

	#footer ul.left-menu li:not(.footer_only) a {
		font-weight:400!important;
	}

	#footer .left-menu li.btn {
		display:none!important;
	}

	.footer_right .tel {text-align:center;}

	.superprize .step-prize:not(.smallprize) .prize-img {
		flex:1;
	}

	.title {
		text-align:center;        position: relative !important;
	        top: 0 !important;
	}

	#prizeslisting .row.smallprizes {padding:15px;}

	.prize-inner {flex:3;}

	.step-prize:not(.smallprize) .prize-img, .step-prize:not(.smallprize) .prize-inner {flex:auto;}
	.step-prize:not(.smallprize) .prize-img {min-height:auto;flex:1;}

	.prize-name, .smallprizes .prize-name {font-size:12px;font-weight:400;}

	.contest div {flex:auto;}

	.prizes_wrapp .prize-cnt {width:73px;}

	#faq .title p {font-size:24px;}

	.step-prize .prize-inner {padding:10px 20px;flex:3;}

	#prizecard .prize-image img {max-height:120px;}

	#prizeslisting .smallprizes .smallprize .prize-img {height:150px;}

	.rules_wrapp .rule:before {
		display:none;
	}

	.step-prize .prize-img {
		width:100%;
		flex:1;
	}

	.smallprizes {padding:0;}

	.prizes_wrapp, .smallprizes {
		flex-direction:column;
	}

	#banner {
		background:#f4f4f4;
		height:auto;
		min-height:unset;
	}

	#auth-btns {
		display:flex;
		align-items:center;
		justify-content:end;
		gap:5px;
	}

	[name="q"] {width:100%!important;}

	.slide_control .flex-viewport li {
		min-width:80px;
	}

	.contest {
		justify-content:space-between;
		align-items:center;
	}

	.contest div {
		padding:10px!important;
	}

	ol, ul {padding:10px 0;margin:10px 0;}

	.flexslider .slides>li {
		display:flex!important;
		flex-direction:column;
		gap:10px!important;
	}

	header .container {
		border-radius:10px;
	}

	#arrow_div {
		position:absolute;
		right:0;
		bottom:0;
		width:30%;
	}

	header.fixed {
		top:0;
	}

	.menu-sitemap-tree.opened {
	        background: linear-gradient(107.8deg, rgba(255, 255, 255, 0.3) 4.48%, rgba(255, 255, 255, 0) 112.09%);
	        padding: 17px 25px;
	        border-radius: 10px;
	        margin-top: 30px;
	        line-height: 30px;
	        font-size: 16px;
	}

	.menu-sitemap-tree.opened:after {
		content: "";
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		display: block;
		background: #f2f2f2;
		z-index: -1;
		overflow: hidden;
	}

	.menu-sitemap-tree.opened ul {
		flex-direction:column;
	}

	.menu-sitemap-tree ul li a:not(.btn) {
		text-align: right;
	}

	.menu-sitemap-tree ul li.btn a {text-align:center;}

	.menu-sitemap-tree ul li a.btn {
		margin-top:30px;
		text-align:center;
	}

	.rules_wrapp {
		gap:0;
	}

	.rules_wrapp .rule {
		border-radius:20px;
		background:#fff;
		min-height:250px;
		padding: 25px;
		position:relative;
		font-size:14px;
		display:flex;
		flex-direction:column;
		border:1px #000 solid;
	}

	#character {max-width:100%;margin:0;bottom:-50px;}

	#altrules {
		flex-direction:column;
	}

	.rules_wrapp .rule, .step-prize {
		flex:unset;
	}

	#prizecard {
		flex-direction:row-reverse;
		border-radius:20px;
		flex:unset;
		justify-content:space-between;
	}

	#prizecard .prize-image {width:100%;height:auto;border-radius:20px;flex:1;min-height:unset!important;}
	.prize-inner {width:100%;}

	#prizeslisting .prize-name {
		display: flex;
        	flex-direction: column;
	}

	#prizeslisting #prizecard .prize-cnt {
		position:relative;
		top:0!important;
		right:0!important;
		margin-bottom:10px;
	}
	.smallprizes .prize-count {
		margin-bottom:10px;
		display:inline-block;
	}

	#prizecard .prize-cnt {
		position: absolute;
		right: 15px !important;
		z-index: 999;
		padding: 10px;
		background: #FDCA26 !important;
		border-radius: 20px;
		width: 70px;
		height: 25px;
		text-align: center;
		align-items: center;
		display: flex;
		justify-content: center;
		font-size: 14px;
		top: 15px;
		border:none;
	}

	.contest div {font-size:12px;}

	.step-prize {
		flex-direction:row-reverse;
		align-items:center;
		justify-content:space-between;
		padding:0;
		display:flex;
		border:1px black solid;
	}
	.step-prize:after {content:unset;}
	.step-prize img {max-width:60px!important;}

	.prize-name {padding-top:0;}

	.prize-name .prize-desc {font-size:12px;}

	.prize-desc .prize-cnt {
		position:absolute!important;
		width:50px!important;
		height:25px!important;
		top:15px!important;
		right:15px!important;
	}

	.prize-desc .prize-name {
		padding:0!important;
		font-size:15px;
	}

	.progress-steps li:before {
		width:3em;
		height:3em;
		line-height:3em;
	}

	.progress-steps li:after, .progress-steps li.active:after {
		top:1.5em;
		left:-10%!important;
	}

	.progress-steps {
		padding:0;
	}

	.progress-steps li {
		font-size:12px;
	}

	.progress-steps li span {
		margin-top:15px;
		display:block;
	}

	.progress-steps li:after {
		left:-30%;
	}

	.prizes_wrapp .prize-cnt {
		position: relative;
		background: #FDCA15;
		width: 73px;
		padding: 5px;
		height: auto;
		margin-bottom:15px;
	}

	.slide_control .flex-direction-nav {
		display:none;
	}

	.slide_control .flex-viewport li {
		padding:5px!important;
	}

	.custom-navigation {display:none;}
	.slide_control {position:relative;left:0;}

	.hero-container {
		display:flex;
		flex-direction:column;
		gap:20px;
	}

	.accordion-button.collapsed {
		padding:10px 25px 10px 0;
	}

	#hero-thumbs {
		order:2;
	}

	.slide_control {
		order:1;
	}

	.playitem {
		min-height:150px;
	}

	.fa.fa-times {background:#FFE322;padding:3px;}

	.playrules {gap:unset;}

	#faq .container {
		background:none;
	}

	#faq .container:after {
		content:unset;
	}

	#faq .accordion-button, .accordion-item {
		background-color:transparent;
	}

	#footer .slogan {
		text-align:justify;
	}

	#footer .left-menu a {
		font-weight:600!important;
	}

	#footer .footer_only {display:none!important;}

	#footer .left-menu {
		display: grid;
		grid-template-columns: 1fr;
		gap: 10px;
		align-items: center;
		line-height:30px;
	}

	.flex-control-paging li a {
		background:silver!important;
		width:7px!important;
		height:7px!important;
	}

	.flex-control-paging li a.flex-active {
		background:#FDCA15!important
	}

	.flexsliders {position:relative;}

	.connected-steps {
		flex-direction:row!important;
		margin-bottom:30px;
		text-align:center;
	}
	.cabinet .steps {padding:10px;text-align:center;}
	.cabinet .steps-desc {
		bottom: -50px;
		top: unset;
		font-size: 10px;
		left: 0;
	}
	.connector {
		position: absolute;
		left: 40px;
		top: 20px;
		height: 1px;
		width: calc(100%/1.7);
	}
	.cabinet .stepgroup {
		margin:0 10px 30px;
	}
	.cabinet .step {
		width:10px;
		height:10px;
		padding:20px;
		font-size:15px;
	}

	.footer_only {
		display:none!important;
	}

	.contest-winners {
		text-align:center;
		border:1px black solid;
		border-radius:50px;
		width:100%;
		background:#fff;
	}


    /* Скрываем общую шапку */
    .codes-head {
        display: none !important;
    }

    /* Каждая строка становится отдельной карточкой */
    .code-item {
        display: block !important;
        margin-bottom: 15px;
        padding: 10px;
        border-radius: 8px;
    }

    /* Стилизуем ячейки внутри карточки */
    .code-item > div {
        display: flex;
        justify-content: space-between;
        align-items: start;
        padding: 8px 0;
        text-align: left;
        flex-direction: column;
    }

    .code-item > div:last-child {
        border-bottom: none;
    }

    /* Добавляем подпись из data-label слева */
    .code-item > div::before {
        content: attr(data-label);
        font-weight: bold;
        text-align: left;
        padding-right: 15px;
        flex-shrink: 0;
        color: #fff; /* Цвет подписей */
    }

    /* Если внутри ячейки есть ссылки или блоки (как в Призе),
       делаем их колонкой для компактности */
    .code-item div[data-label="Приз"] {
        flex-direction: column; /* Оставляем в строку, либо column если тесно */
        flex-wrap: wrap;
        justify-content: flex-end;
        align-items: start;
    }

}

@media (min-width:768px) {

	lab {display:block;}

	[name="regform"] .btn.btn-default {
		grid-column:1/2;
		width:200px;
	}
	.custom-controls-container {display:none;}

	.footer-flex {
		display:flex;
		flex-direction:row-reverse;
	}
	.footer-flex ul.left-menu {
		flex-direction: column;
		flex: 1;
	}
	.footer-flex .footer_text {
		flex:3;
		color:#8A6E24;
		font-size:14px;
		font-weight:400;
	}
	.footer_text .title {
		font-size:calc(1.375rem + 1.5vw);
	}
}



	.steps-desc {left:80px!important;right:unset;}

	@media (max-width:1024px) {

        body {
            background-image:none;
        }

		.stepgroup .steps-desc {
			left: -3px !important;
			right: unset;
			position: absolute;
			padding: 0;
			top: 50px!important;
			color: #E0E0E0;
			font-size: 10px!important;
			line-height: 35px;
			width: 100%;
		}

		.connected-steps {
			display: flex;
			width: 100%;
			align-items: flex-start;
			flex-direction: column;
			position: relative;
			justify-content:space-between;
			margin-bottom:50px;
            &:before {
                width:100%;
                height:2px;
                background:#fff;
                position: absolute;
                top:50%;
                left:0;
                content:"";
            }
		}

		.stepgroup {
			position: relative;
			width:auto;
		}

		.stepgroup .steps-desc a {
			font-size:10px!important;
		}

		.step {
			color: white;
			display: block;
			border-radius: 100%;
			width: 50px;
			height: 50px;
			text-align: center;
			line-height: normal;
			align-items: center;
			justify-content: center;
			display: flex;
			font-size: 30px;
			font-weight: 600;
			padding: 20px;
			cursor: pointer;
            border: 1px solid #fff;
            background:#00B4D5;
		}

		.step i {font-size:16px;display:block;}
		.step.btn.btn-default a i {
			mix-blend-mode: color-burn!important;
		}

		.steps-desc {
			/* display:none; */
		}

		.connector {
			flex-grow: 1;
			content: "";
			display: none;
			height: 1px;
			background-color: #fff;
			width: 10px;
			position: relative;
			left: 100%;
			top: -35px;
			z-index: -1;
		}

		#footer .left-menu {
			gap:0;
		}

		.bottom-menu a {
			margin-bottom:0;
		}

	}
	.numbers a {text-decoration:none;font-weight:600;}
	.cabinet {
		border: double 1em transparent;
  		border-radius: 40px;
  		background-image: linear-gradient(-107.8deg, rgba(255, 255, 255, 0.24) 4.48%, rgba(255, 255, 255, 0) 112.09%);
  		background-origin: border-box;
  		border-image-slice: 1;
  		border-width: 0;
		color:#fff;
		padding:60px 100px;
		position: relative;
		box-shadow:0 0 100px rgba(90, 193, 254, 0.15), inset 0 0 1000px rgba(90, 193, 254, 0.01);
		&:after {
            content: "";
            position: absolute;
            z-index: -1;
            inset: 0;
            border-radius: inherit;
            border: 1px solid transparent;
            background: linear-gradient(var(--grad-angle2, 170deg), #ffffff59, transparent 40%, #ffffff59) border-box;
            mask: linear-gradient(321deg, black, black) border-box, linear-gradient(-45deg, black, black) padding-box;
            -webkit-mask-composite: source-out;
            mask-composite: subtract;
		}
	}
	.blurred {
        border:1px transparent solid;
		border-image-source: radial-gradient(76.99% 233.34% at 70.79% 69.03%, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%), radial-gradient(82.74% 159.78% at 43.81% 66.37%, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 100%);
		position: relative;
		color:#fff!important;
	}
	.blurred-res {
        border:1px transparent solid;
		border-image-source: radial-gradient(76.99% 233.34% at 70.79% 69.03%, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%), radial-gradient(82.74% 159.78% at 43.81% 66.37%, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 100%);
		border:none;
		&:after {
			content: "";
			position: absolute;
			z-index: -1;
			inset: 0;
			border-radius: inherit;
			border: 1px solid transparent;
			background: linear-gradient(-35deg, #62A2DB, transparent 40%, #ECA8CE) border-box;
			mask: linear-gradient(321deg, black, black) border-box, linear-gradient(-45deg, black, black) padding-box;
			-webkit-mask-composite: source-out;
			mask-composite: subtract;
		}
	}

	.stepgroup .steps-desc a {
		text-decoration:none;
		line-height:normal;
		font-size:16px;
		font-weight: 400;
	}

	.step.active {
		background: linear-gradient(96.55deg, #FEC42C 3.39%, #FD9C00 59.74%);
	}

@media (min-width:800px) and (max-width:1024px) {
  .stepgroup .steps-desc {
    left:80px!important;
    top:20px!important
  }
}

@media (min-width:768px) {

	.profile-links {position:relative;min-height:600px;}

		.connected-steps {
			display: block;
			width: auto;
			align-items: center;
			flex-direction: column;
			position: absolute;
			bottom:0;
			justify-content:space-between;
			margin-top:50px;
		}

		.stepgroup {
			position: relative;
			width:auto;
			background:transparent;
		}

		.step {
			color: white;
			display: block;
			border-radius: 100%;
			width: 70px;
			height: 70px;
			text-align: center;
			line-height: normal;
			align-items: center;
			justify-content: center;
			display: flex;
			font-size: 30px;
			font-weight: 600;
			padding: 25px;
			cursor: pointer;
            position: relative;
            &:before {
                content: "";
                position: absolute;
                background: radial-gradient(82.74% 159.78% at 43.81% 66.37%, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%), radial-gradient(76.99% 233.34% at 70.79% 69.03%, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%);
                border-radius: 100%;
                padding: 0.1rem;
                -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
                -webkit-mask-composite: xor;
                mask-composite: exclude;
                z-index: -1;
                width:100%;
                height:100%;
            }
		}

		.step i {font-size:20px;display:block;}

		.steps-desc {
			left: 80px!important;
			right: unset;
			position: absolute;
			padding: 6px 0;
			top: 0;
			color: #E0E0E0;
			font-size: 14px;
			line-height: 35px;
		}

		.connector {
			flex-grow: 1;
			content: "";
			display: block;
			height: 40px;
            background:linear-gradient(90deg, rgba(0, 134, 205, 0.8) -3.48%, rgba(255, 255, 255, 0.8) 51.44%, rgba(0, 134, 205, 0.8) 103.28%);
			width: 1px;
			position: relative;
			left: 35px;
			top: 0px;
			z-index: 1;
		}
}

.step i:before {
	content:"";
}
.step i {
    width: 30px;
    height: 30px;
    background-size: contain;
}

.step i.scan {
	background:url('/images/icons/qr.svg') 50% 50% no-repeat;
}
.step i.user {
	background:url('/images/icons/user.svg') 50% 50% no-repeat;
}
.step i.hands {
	background:url('/images/icons/hands.svg') 50% 50% no-repeat;
}
.step i.gift {
	background:url('/images/icons/gift.svg') 50% 50% no-repeat;
}
.step i.logout {
	background:url('/images/icons/exit.svg') 50% 50% no-repeat;
}

.cabinet .codes {
	& .codes-head {
		display: grid;
		grid-template-columns: repeat(4,1fr);
		padding:10px;
		justify-content: space-between;
		align-items: center;
		text-align: center;
        border: 1px solid transparent;
        background: linear-gradient(107.8deg, rgba(255, 255, 255, 0.3) 4.48%, rgba(255, 255, 255, 0) 112.09%);
        border-image-source: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.2) 136.11%),linear-gradient(144.02deg, rgba(90, 193, 254, 0) 55.17%, rgba(90, 193, 254, 0.8) 128.62%),linear-gradient(329.07deg, rgba(90, 193, 254, 0) 61.63%, rgba(90, 193, 254, 0.8) 112.74%);
        & div:not(:last-of-type) {
            border-right:2px #fff solid;
            padding:0 10px;
        }
        & div:last-of-type {
            padding-left:10px;
        }
	}
	& .code-item {
		display: grid;
		grid-template-columns: repeat(4,1fr);
		justify-content: space-between;
		text-align: center;
		padding:10px;
		background: url('/images/border.svg') no-repeat bottom;
		align-items: center;
	}
}

.offcanvas-top {
	width:100%;
	background:#00B4D5;
	background-size: cover;
	background-position: 50% 0;
    height:max-content;
}
.modal-backdrop.show {
    opacity:0.8;
}

.logout_btn {
	width:45px;
	height:30px;
    & svg path {
        fill:#fff
    }
    &:hover svg path {
        fill:var(--svg-color);
    }
}
