/* open-sans-regular - latin */
@font-face {
  font-display: swap; 
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/open-sans-v35-latin-regular.eot');
  src: url('../fonts/open-sans-v35-latin-regular.eot?#iefix') format('embedded-opentype'), 
       url('../fonts/open-sans-v35-latin-regular.woff2') format('woff2'), 
       url('../fonts/open-sans-v35-latin-regular.woff') format('woff'),
       url('../fonts/open-sans-v35-latin-regular.ttf') format('truetype'),
       url('../fonts/open-sans-v35-latin-regular.svg#OpenSans') format('svg');
}
/* open-sans-700 - latin */
@font-face {
  font-display: swap;
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/open-sans-v35-latin-700.eot');
  src: url('../fonts/open-sans-v35-latin-700.eot?#iefix') format('embedded-opentype'),
       url('../fonts/open-sans-v35-latin-700.woff2') format('woff2'), 
       url('../fonts/open-sans-v35-latin-700.woff') format('woff'),
       url('../fonts/open-sans-v35-latin-700.ttf') format('truetype'),
       url('../fonts/open-sans-v35-latin-700.svg#OpenSans') format('svg');
}


/* open-sans-800 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/open-sans-v35-latin-800.eot'); 
  src: url('../fonts/open-sans-v35-latin-800.eot?#iefix') format('embedded-opentype'), 
       url('../fonts/open-sans-v35-latin-800.woff2') format('woff2'), 
       url('../fonts/open-sans-v35-latin-800.woff') format('woff'), 
       url('../fonts/open-sans-v35-latin-800.ttf') format('truetype'),
       url('../fonts/open-sans-v35-latin-800.svg#OpenSans') format('svg');
}

/* montserrat-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/montserrat-v25-latin-regular.eot');
  src: url('../fonts/montserrat-v25-latin-regular.eot?#iefix') format('embedded-opentype'), 
       url('../fonts/montserrat-v25-latin-regular.woff2') format('woff2'), 
       url('../fonts/montserrat-v25-latin-regular.woff') format('woff'), 
       url('../fonts/montserrat-v25-latin-regular.ttf') format('truetype'), 
       url('../fonts/montserrat-v25-latin-regular.svg#Montserrat') format('svg');
}

/* lato-regular - latin */
@font-face {
  font-display: swap; 
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/lato-v24-latin-regular.eot'); 
  src: url('../fonts/lato-v24-latin-regular.eot?#iefix') format('embedded-opentype'), 
       url('../fonts/lato-v24-latin-regular.woff2') format('woff2'),
       url('../fonts/lato-v24-latin-regular.woff') format('woff'), 
       url('../fonts/lato-v24-latin-regular.ttf') format('truetype'), 
       url('../fonts/lato-v24-latin-regular.svg#Lato') format('svg');
}

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

@font-face{
	font-family:'FontAwesome';
	src:url('../fonts/fontawesome-webfont.eot?v=4.5.0');
	src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.5.0') format('embedded-opentype'),
	url('../fonts/fontawesome-webfont.woff2?v=4.5.0') format('woff2'),
	url('../fonts/fontawesome-webfont.woff?v=4.5.0') format('woff'),
	url('../fonts/fontawesome-webfont.ttf?v=4.5.0') format('truetype'),
	url('../fonts/fontawesome-webfont.svg?v=4.5.0#fontawesomeregular') format('svg');
	font-weight:normal;
	font-style:normal}
	

.clearBoth,
.clearLine {
    clear: both
}

select,
input {
    -webkit-appearance: none;
    -moz-appearance: none
}

a,
ins {
    text-decoration: none
}

a,
hr {
    padding: 0
}

 :focus {
    outline: 0
}

a,
sub,
sup {
    vertical-align: baseline
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
hr,
img,
menu,
nav,
section {
    display: block
}

abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: 0 0;
    box-sizing: border-box
}

a {
    margin: 0;
    font-size: 100%;
    background: 0 0
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

hr {
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0
}

input,
select {
    vertical-align: middle;
    border-radius: 0;
    -webkit-border-radius: 0
}

sub,
sup {
    font-size: 55%;
    line-height: 0;
    position: relative
}

sup {
    top: -.5em
}

sub {
    bottom: -.25em
}

* {
    box-sizing: border-box
}

 ::selection {
    background: #3d3d3d;
    color: #fff
}

 ::-moz-selection {
    background: #3d3d3d;
    color: #fff
}

html {
    overflow-y: scroll
}

figure {
    overflow: hidden
}

img {
    display: block;
    max-width: 100%;
    height: auto;
    border: 0;
}

body,
html {
    line-height: 1;
    background: #000;
    color: #ca9434;
    font-size: 1em;
    font-family: 'Open Sans', sans-serif
}


label {position: absolute; left: -10000px;}
h1 {font-size: 22px; line-height: 26px; margin-bottom: 24px;}
h2 {font-size: 18px; line-height: 20px; margin-bottom: 24px;}
h3 {font-size: 16px; line-height: 18x; margin-bottom: 20px;}
p {font-size: 14px; line-height: 16px; margin-bottom: 20px;}
p a {color: #ff3333;}

#pageWrapper {position: relative; min-height: 100vh; margin: 0 auto; max-width: 600px; padding: 0 20px 100px 20px;}
#pageWrapper.customerPage {max-width: 900px;}
#headerBox img {display: block; margin: 0 auto; width: 300px;}
#footerBox {position: absolute; bottom: 10px; left: 0; width: 100%; padding: 0 20px; text-align: center; font-size: 14px;}

.clearLine {clear: both;}
.buttonLine {text-align: center}
.formLine {margin-bottom: 15px;}
.formLine p {padding: 0 0 10px 0; margin: 0;}
.formLine input {width: 100%; font-family: 'Open Sans', sans-serif; color: #000; font-size: 14px; padding: 10px; border: 2px solid #673614; border-radius: 0; outline: 0; -webkit-appearance: none;}
	.formLine input.error {border-color: #cc0000;}
.formLine button {display: inline-block; width: 190px; font-family: 'Open Sans', sans-serif; color: #fff; background: #ca9434; font-size: 14px; padding: 10px 40px; border: 2px solid #673614; border-radius: 0; outline: 0; -webkit-appearance: none; cursor: pointer;}
#formInfo {text-align: center;}
.infoError {color: #fff; background: #cc0000; padding: 15px;}
.infoOK {color: #fff; background: green; padding: 15px;}
#confirmWinner {display: none; width: 104px;}
.row {position: relative; height: 100%; overflow: hidden;}	
.row div {float: left; padding: 15px; font-size: 14px; text-align: left;}
.col1 {width: 11%;}
.col3 {width: 30%}
.col2 {width: 22%}
.colorRow {background: #333;}
.winnerItem {color: #cc0000;}
.winnerItem .marCol {text-decoration-line: line-through;}
.winnerItem.winnerConfirmed {font-weight: bold; color: #cc0000; text-decoration: none;}
.winnerItem.winnerConfirmed .marCol {text-decoration-line: none;}
.titleRow {background: #ca9434; color: #fff;}
.newNumber {display: none; transition: all 1s ease-in-out .2s;}
.newNumber.looser {transform: translate(-50%,-50%) scale(0) rotate(-360deg)!important;}
.newNumber.winner {transition: all .5s ease-in-out .2s; transform: translate(-50%,-50%) scale(1.4)!important;}

.leftPhoneLine {float: left; width: 30%;}
.rightPhoneLine {float: left; width: 70%; padding-left: 20px;}
.leftPhoneLine {position: relative;}
.leftPhoneLine::before {position: absolute; top: 35px; left: 8px; width: 10px; height: 20px; text-align: center; line-height: 20px; content: '+';}
.leftPhoneLine input {padding-left: 22px;}
.leftPhoneLine input, .rightPhoneLine input {-moz-appearance: textfield;}
.leftPhoneLine input::-webkit-outer-spin-button, .rightPhoneLine input::-webkit-outer-spin-button, .leftPhoneLine input::-webkit-inner-spin-button, .rightPhoneLine input::-webkit-inner-spin-button {margin: 0; -webkit-appearance: none;}

.buttonBox {text-align: center;}
.buttonBox a {display: inline-block; margin: 20px 10px; padding: 15px 30px; -webkit-appearance: none; border: 0; border-radius: 0; background: #f9f9f9; color: #000; cursor: pointer;}

.deleteCol {position: relative;}
	.deleteCol span {position: absolute; top: 50%; left: 50%; margin: -10px 0 0 -10px; width: 20px; height: 20px; display: block; border: 1px solid #ca9434; border-radius: 2px; cursor: pointer;}
	.deleteCol span::before {position: absolute; top: 50%; left: 3px; width: 12px; height: 2px; background: #ca9434; transform: rotate(45deg); content: '';}
	.deleteCol span::after {position: absolute; top: 50%; left: 3px; width: 12px; height: 2px; background: #ca9434; transform: rotate(-45deg); content: '';}

@media (max-width: 439px){
	.leftPhoneLine {width: 40%;}
	.rightPhoneLine {width: 60%;}
}

.ball {
  display: inline-block;
  width: 100%;
  height: 100%;
  margin: 0;
  border-radius: 50%;
  position: relative;
  background: radial-gradient(circle at 50% 40%, #fcfcfc, #efeff1 66%, #9b5050 100%);
  overflow: hidden;
  animation: ballGrow 2s ease-out forwards;
  transform: scale(0.5);
}
.ball2 {
  display: inline-block;
  width: 100%;
  height: 100%;
  margin: 0;
  border-radius: 50%;
  position: relative;
  background: radial-gradient(circle at 50% 40%, #fcfcfc, #efeff1 66%, #9b5050 100%);
  overflow: hidden;

}
.ball:after {
  content: "";
  position: absolute;
  top: 5%;
  left: 10%;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.8) 14%, rgba(255, 255, 255, 0) 24%);
  -webkit-transform: translateX(-80px) translateY(-90px) skewX(-20deg);
  -moz-transform: translateX(-80px) translateY(-90px) skewX(-20deg);
  -ms-transform: translateX(-80px) translateY(-90px) skewX(-20deg);
  -o-transform: translateX(-80px) translateY(-90px) skewX(-20deg);
  transform: translateX(-80px) translateY(-90px) skewX(-20deg);
}

.stage {
  width: 300px;
  height: 300px;
  display: inline-block;
  text-align: left;
  margin: 20px;
  -webkit-perspective: 1200px;
  -moz-perspective: 1200px;
  -ms-perspective: 1200px;
  -o-perspective: 1200px;
  perspective: 1200px;
  -webkit-perspective-origin: 50% 50%;
  -moz-perspective-origin: 50% 50%;
  -ms-perspective-origin: 50% 50%;
  -o-perspective-origin: 50% 50%;
  perspective-origin: 50% 50%;
}

.number {
  position: absolute;
  width: 100%;
  text-align: center;
  line-height: 300px;
  font-size: 160px;
  color: #cc0000;
  font-family: 'Open Sans', sans-serif;
  animation: ballRoll 2s ease-out; font-weight: 700;
}

.number2 {
  position: absolute;
  width: 100%;
  text-align: center;
  line-height: 300px;
  font-size: 160px;
  color: #cc0000;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
}
.number2:after {
  content: attr(data-number);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  font-size: 120px;
}

.number:after {
  content: attr(data-number);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0; font-size: 120px;
  animation: numberReveal 0.1s 1.5s reverse forwards;
}

.number:before {
  content: '?';
  position: absolute;
  transform: translateX(-25%);
  animation: numberReveal 0.1s 1.5s forwards;
}

@keyframes ballRoll {
  0%, 20%, 50% {
    opacity: 1;
    transform: translateY(0) rotateX(0) scale(1);
  }
  10%, 35%, 75% {
    transform: translateY(100%) rotateX(170deg) scale(0.4);
  }
  11%, 36%, 76% {
    transform: translateY(-100%) rotateX(-170deg) scale(0.3);
    opacity: 0;
  }
  
}

@keyframes ballGrow {
  0% {
    transform: scale(0.5);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes numberReveal {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}


.stage:nth-child(2) .ball,
.stage:nth-child(2) .number {
  animation-delay: 0.3s;
}

.stage:nth-child(2) .number:after,
.stage:nth-child(2) .number:before {
  animation-delay: 1.8s;
}

.stage:nth-child(3) .ball,
.stage:nth-child(3) .number {
  animation-delay: 0.6s;
}

.stage:nth-child(3) .number:after,
.stage:nth-child(3) .number:before {
  animation-delay: 2.1s;
}

.stage:nth-child(4) .ball,
.stage:nth-child(4) .number {
  animation-delay: 0.9s;
}

.stage:nth-child(4) .number:after,
.stage:nth-child(4) .number:before {
  animation-delay: 2.4s;
}
