@font-face {
    font-family: 'RotondaC';
    font-style: normal;
    font-weight: normal;
    src: local('RotondaC'),
        url(fonts/rotondac.woff) format('woff'),
        url(fonts/rotondac.ttf) format('truetype');
}
@font-face {
    font-family: 'RotondaC';
    font-style: bold;
	font-weight: 700;
    src: local('RotondaC Bold'),
        url(fonts/rotondac-bold.woff) format('woff'),
        url(fonts/rotondac-bold.ttf) format('truetype');
}
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: RotondaC;
}
body {
	display: flex;
    flex-direction: column;
    min-height: 100vh;
	position: relative;
}
body header .small-logo {
	display: none;
}
body.secondary header {
	height: 191px;
}
body.secondary header .small-logo {
	display: block;
	height: 216px;
	background: url(images/logo-big.png);
	flex-grow: 1;
	background-size: contain;
	margin-top: -25px;
	background-repeat: no-repeat;
}
a {
	text-decoration: none;
	color: inherit;
}
.container {
	margin: 0 auto;
}
.bg {
	height: 100%;
	position: absolute;
	top: 0;
	background-repeat: no-repeat;
	pointer-events: none;
	background-size: cover;
}
.bg-wrap {
	overflow-x: hidden;
	width: 100%;
	position: absolute;
	height: 100%;
	pointer-events: none;
}
.left-bg {
	background-image: url(images/left-bg.png);
	width: 14.125%;
	background-position-x: right;
}
.right-bg {
	background-image: url(images/right-bg.png);
	width: 9.8125%;
	background-position-x: left;
}
.pointer {
	cursor: pointer;
}
header {
	position: absolute;
	left: 0;
	right: 0;
	z-index: 1;
}

body.secondary header {
	position: initial;
}
header .container {
	display: flex;
	justify-content: flex-end;
}
header .login {
	background: #FF8C00;
	box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.25);
	font-size: 1.4375rem;
	text-transform: uppercase;
}
header .personal-link {
	margin: 0 0 0 40px;
	background: white;
	box-shadow: inset 0px 2px 4px rgba(0, 0, 0, 0.25);
	font-size: 1.25rem;
	color: #FF8C00;
	font-weight: bold;
	max-width: 300px;
	overflow: hidden;
	transition: height 0.25s ease;
	min-width: 13.3636%;
}
header .personal-link-header span {
	margin-right: 26.5%;
}
header .personal-link-inner {
	width: 100%;
	padding: 0 15px 15px 15px;
	position: relative;
}
header .personal-link-header {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
header .personal-link-inner > img {
	box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);
	border-radius: 60px;
	background: rgba(0, 0, 0, 0.25);
	position: absolute;
	top: 0;
	right: 0;
}
header .registred-codes {
	margin-top: 10px;
}
header .registred-codes .code {
	display: flex;
	justify-content: space-around;
	align-items: center;
	font-size: 1.875rem;
}
header .logout {
	color: #5B5B5B;
	margin-top: 15px;
	padding-top: 15px;
	border-top: 1px solid #FF8C00;
	text-align: center;
}
.workarea {
	flex-grow: 1;
}
.orange {
	color: #FF8C00 !important;
}
.white {
	color: white;
}
.green {
	color: #0E9244;
}
.text-center {
	text-align: center;
}
.text-left {
	text-align: left;
}
.text-right {
	text-align: right;
}
.hidden {
	display: none !important;
}
.invisible {
	opacity: 0;
}
h1 {
	text-transform: uppercase;
	font-weight: bold;
	text-align: center;
	font-size: 3.75rem;
}
.hover-underline:hover {
	text-decoration: underline;
}
.bold {
	font-weight: bold;
}
button {
	border: none;
	background-color: transparent;
	background-position-x: center;
	background-repeat: no-repeat;
	color: white;
	cursor: pointer;
	margin: 0 auto;
	display: inline-block;
	font-size: 1.875rem;
	font-weight: bold;
	outline: none;
}
button.register-code {
	background-image: url(/local/templates/Promo/images/register-button.svg);
	width: 23.874%;
	position: absolute;
	left: 7.435%;
	bottom: 25%;
}
button.logout {
	background-image: url(/local/templates/Promo/images/register-button.svg);
	height: 80px;
	width: 339px;
	margin: 0 auto;
	display: block;
}
button[disabled] {
	opacity: 0.5;
	cursor: default;
}
#about {
	margin: 65px 0 16px 0;
}
#rules {
	background-image: url(images/rules.svg);
	background-repeat: no-repeat;
	background-position: top center;
}
#rules .imgs-wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#rules .container {
	position: relative;
	height: 100%;
}
.rules-list {
	display: flex;
	position: absolute;
	justify-content: space-between;
	width: 100%;
}
.rules-list .rule {
	display: flex;
	align-items: flex-end;
}
.rules-list .rule > div {
	
}
.rules-list .rule .rule-num {
	display: flex;
}
.rules-list .rule .rule-text {
	font-size: 1.8125rem;
	margin-left: 9px;
}
.rules-list .rule span {
	font-size: 3.125rem;
}
.main-1 {
	background-image: url(images/main-1.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
.main-1 .container {
	height: 100%;
	position: relative;
}
.main-1 .container > img {
	display: block;
	width: 34.4545%;
}
#prizes .prize {
	position: relative;
	text-align: center;
	margin-bottom: 26px;
}
#prizes .prize img {
	width: 76.057%;
}
#prizes .prize span {
	position: absolute;
	text-align: left;
	font-size: 2.5rem;
}
#prizes .prize-1 span {
	top: 26%;
	left: 16%;
}
#prizes .prize-2 span {
	top: 31.528%;
	left: 45.5%;
}
#prizes .prize-3 span {
	top: 13.278%;
	left: 17.667%;
}
#winners {
	background-image: url(images/winners.svg);
	background-repeat: no-repeat;
	background-position: top center;
}
#winners .container {
	padding: 0 6.6667%;
}
#winners button {
	width: 17.653%;
	font-size: 1.5625rem;
	line-height: 1.75rem;
	margin: 0;
	background-position: center;
}
#winners .daily, #winners .monthly {
	background-image: url(images/prize-button.svg);
}
#winners .main-prize {
	background-image: url(images/main-prize-button.svg);
}
#winners .daily.active, #winners .monthly.active {
	background-image: url(images/prize-button-active.svg);
	color: #FF8C00;
}
#winners .main-prize.active {
	background-image: url(images/main-prize-button-active.svg);
	color: #FF8C00;
}
#winners .winners-header {
	display: flex;
	justify-content: space-between;
}
#winners .search {
	background-image: url(images/search-bg.svg);
	width: 34.975%;
	background-size: 100% 100%;
	display: flex;
}
#winners .search input, #winners .search input::placeholder, #winners .search input:focus {
	flex-grow: 1;
	font-size: 2.25rem;
	width: 100%;
	color: #535352;
	border: none;
	outline: none;
}
#winners .search img {
	height: 100%;
}
#winners .winners-table-wrap {
	background: white;
	box-shadow: inset 0px 2px 9px rgba(0, 0, 0, 0.45);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
#winners .winners-table-inner {
	height: 86%;
}
#winners table {
	border-collapse: collapse;
	width: 100%;
}
#winners .winners-table-inner table {
	display: none;
}
#winners .winners-table-inner table.table-daily {
	display: table;
}
#winners .winners-table-inner .os-scrollbar {
	border: 1px solid #FF8C00;
	padding: 0;
	right: 2.6%;
}
#winners .winners-table-inner .os-scrollbar-handle {
	background: none;
	cursor: grab;
}
#winners .winners-table-inner .os-scrollbar-handle::before {
	background-image: url(images/smile.svg);
	background-position: center;
	background-repeat: no-repeat;
}
#winners .winners-table-inner .os-scrollbar-handle .line {
	position: absolute;
	height: 2px;
	background: #FFD199;
	z-index: -1;
	cursor: default;
}
#winners table tbody {
	display: grid;
	grid-template-columns: 1fr 1.9fr 1.4fr 2.2fr;
	grid-gap: 0 5%;
	column-gap: 5%;
	padding-right: 9%;
	align-items: center;
}
#winners table tr {
	display: contents;
} 
#winners table th, #winners table td {
	
}
#winners table th {
	color: #FF8C00;
	font-size: 2.5rem;
}
#winners table td {
	color: #535352;
	font-size: 1.6rem;
}

#personal {
	background-image: url(images/personal-bg.svg);
	background-size: cover;
	background-repeat: no-repeat;
	margin-top: 45px;
}
#personal h1 {
	position: relative;
	top: -45px;
}
#personal .info {
	display: flex;
	padding-top: 100px;
	align-items: center;
}
#personal .container {
	padding-bottom: 120px;
}
#personal .logout {
	margin-top: 50px;
}
#personal .info > * {
	width: 50%;
	flex-shrink: 1;
}
#personal .personal-info > img {
	width: 216px;
}
#personal .personal-info {
	display: flex;
	flex-direction: column;
}
#personal .personal-info > * {
	margin: 16px 0;
}
#personal .personal-info > span {
	font-weight: bold;
	color: #535352;
	font-size: 1.8125rem;
}
#personal .personal-info span.small, #personal .personal-info span.edit {
	font-weight: normal;
	font-size: 1.375rem;
}
#personal .personal-info span.edit {
	color: #AEAEAE;
	display: flex;
	align-items: center;
}
#personal .personal-info .name {
	font-size: 2.75rem;
}
#personal .personal-info span.edit img {
	display: inline-block;
	padding: 2px;
	border: 1px solid #AEAEAE;
	border-radius: 3px;
	margin-right: 10px;
}
#personal .registred-codes > div {
	display: flex;
	align-items: center;
	background: white;
	box-shadow: inset 0px 1px 4px rgba(0, 0, 0, 0.25);
	border-radius: 20px;
	padding: 15px 7%;
	margin: 20px 0;
}
#personal .registred-codes .dots {
	white-space: nowrap;
	overflow: hidden;
	margin: 0 2%;
}
#personal .registred-codes .count {
	font-size: 3.125rem;
	font-weight: bold;
	white-space: nowrap;
}
#personal .registred-codes img {
	width: 18%;
}
#personal .codes .big {
	font-size: 2.25rem;
}
#personal .codes button {
	width: 339px;
	height: 80px;
	background-image: url(images/orange-button.svg);
	background-size: contain;
	margin: 0 auto;
	display: block;
	position: initial;
	max-width: 100%;
}

.hover-shadow-orange:not([disabled]):hover {
	filter: drop-shadow(0px 1px 15px #FF8C00);
}
.hover-shadow-green:not([disabled]):hover {
	filter: drop-shadow(0px 1px 15px #92EE1E);
}
.hover-shadow-white:not([disabled]):hover {
	filter: drop-shadow(0px 1px 9px #FFDEB7);
}

.http-error {
	text-align: center;
	position: relative;
	margin-top: -50px;
	margin-bottom: 100px;
}
.http-error img {
	width: 888px;
}
.http-error h1 {
	font-size: 15.625rem;
	line-height: 250px;
}
.http-error h2 {
	white-space: nowrap;
	font-size: 2.375rem;
	text-transform: uppercase;
}
.http-error .error-text {
	position: absolute;
	bottom: 40px;
	left: 50%;
	transform: translate(-50%, 0);
	height: 510px;
	display: flex;
	flex-direction: column;
	justify-content: space-around;
}
.http-error button, .http-error a {
	width: 339px;
	height: 80px;
	background-image: url(images/white-button.svg);
	background-size: cover;
	margin: 0 auto;
	font-size: 1.875rem;
    font-weight: bold;
	color: #FF8C00;
	display: flex;
	justify-content: center;
	align-items: center;
}

#users-table {
	background: white;
	margin: 27px 0;
	border: 1px solid rgba(0, 0, 0, 0.15);
	padding: 0 12px;
	font-size: 15px;
}
#users-table table {
	width: 100%;
	border-collapse: collapse;
}
#users-table table td, #users-table table th {
	border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}
#users-table th {
	cursor: pointer;
	position: relative;
}
#users-table th:not([colspan]) {
	padding-right: 16px;
}
#users-table th:hover, #users-table .active {
	background: rgba(0, 0, 0, 0.1);
}
#users-table th.active::after {
	content: "";
	background-image: url(images/down-arrow.svg);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	display: inline-block;
	width: 12px;
	height: 12px;
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
}
#users-table .asc th.active::after {
	transform: translateY(-50%) rotate(180deg);
}
#users-table table tbody tr:last-child td {
	border-bottom: none;
}
#users-table .empty {
	border: none;
}
#users-table .with-borders {
	border: 1px solid rgba(0, 0, 0, 0.15);
}
#users-table tbody tr:not(:last-child):hover td {
	background: rgba(0, 0, 0, 0.1);
}
#users-table form.filter {
	display: inline-flex;
	flex-direction: column;
}
#users-table form.filter > * {
	margin: 5px 0;
}
#users-table tr.winner {
	background-color: green;
}
#users-table input[type="number"] {
	width: 40px;
}
#users-table .like-a {
	color: #134889;
}
#info-tables .export {
	background-image: url(images/orange-button.svg);
	width: 300px;
	height: 71px;
	display: block;
	margin: 0 auto 20px auto;
}
#info-tables .social-btn {
	width: 16px;
	height: 16px;
	background-size: contain;
	background-position: center;
	display: block;
	margin: 0 auto;
}
#info-tables .social-btn-vk {
	background-image: url(images/vk.svg);
}
#info-tables .social-btn-ok {
	background-image: url(images/ok.svg);
}
#info-tables .social-btn-fb {
	background-image: url(images/fb.svg);
}

#checks-table {
	background: white;
	margin: 27px 0;
	border: 1px solid rgba(0, 0, 0, 0.15);
	padding: 0 12px;
}
#checks-table table {
	width: 100%;
	border-collapse: collapse;
}
#checks-table table td, #checks-table table th {
	border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}
#checks-table th {
	cursor: pointer;
	position: relative;
}
#checks-table th:not(.not-sort) {
	padding-right: 16px;
}
#checks-table th:not(.not-sort):hover, #checks-table .active {
	background: rgba(0, 0, 0, 0.1);
}
#checks-table th.not-sort {
	cursor: default;
}
#checks-table th.active::after {
	content: "";
	background-image: url(images/down-arrow.svg);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	display: inline-block;
	width: 12px;
	height: 12px;
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
}
#checks-table .asc th.active::after {
	transform: translateY(-50%) rotate(180deg);
}
#checks-table table tbody tr:last-child td {
	border-bottom: none;
}
#checks-table .empty {
	border: none;
}
#checks-table a, #checks-table .like-a {
	color: #134889;
}
#checks-table a:hover {
	text-decoration: underline;
}
#checks-table .ok {
	color: green;
}
#checks-table .notok {
	color: red;
}
#checks-table input[type="button"] {
	width: 100%;
	cursor: pointer;
}
#checks-table tbody tr:hover td {
	background: rgba(0, 0, 0, 0.1);
}

footer img {
	width: 100%;
}
footer .social a {
	width: 18.6667%;
}
footer .contacts {
	display: flex;
	padding: 0 8.7312%;
	justify-content: space-between;
}
footer .social {
	width: 49.585%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
footer .phone {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	color: #535352;
	font-size: 2.25rem;
}
footer .disclaimer {
	border-top: 3px solid #FF8C00;
	font-size: 1.625rem;
	font-weight: bold;
	line-height: 2rem;
}
footer .support {
	background-image: url(images/green-button.svg);
	width: 23.874%;
	display: block;
	margin-top: 3.5%;
}

#finished {
	position: relative;
}
#finished .finished-message {
	position: absolute;
	z-index: 10001;
	text-align: center;
	display: block;
	font-size: 10rem;
	width: 100%;
	font-weight: bold;
	color: #FF8C00;
}
#finished::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	background-color: rgba(255, 255, 255, 0.8);
	z-index: 10000;
}