html,
body {
    /* Disabling text selection */
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select:   none; /* Chrome/Safari/Opera */
    -khtml-user-select:    none; /* Konqueror */
    -moz-user-select:      none; /* Firefox */
    -ms-user-select:       none; /* IE/Edge */
    user-select:           none; /* non-prefixed version, currently not supported by any browser */
    cursor: default;
    height: 100%;
    background-color: white;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 14px;
    font-weight: 300;
}

body {
    padding: 25px;
}
body.banner-wide{
	padding:0px;
}
body.loading {
    cursor: wait;
}

body,
a {
    color: white;
}

a {
    text-decoration: none;
}

a.regular-font {
    font-family: Helvetica, Arial, sans-serif;
    font-size: 20px;
    text-transform: none;
}

a img {
    border: 0;
}

img {
    vertical-align: middle;
}

h1,
h2,
h3 {
    line-height: 100%;
    font-family: 'Helvetica Neue LT Std BlkCn', arial, sans-serif;
    text-transform: uppercase;
}

h1 {
    line-height: 85%;
    font-size: 40px;
}

h2 {
    margin-bottom: 25px;
    font-size: 30px;
    text-decoration: underline;
    color: black;
}

h3 {
    margin: 5px 0;
    line-height: 125%;
    font-size: 20px;
    text-decoration: underline;
}

iframe {
    display: block;
}

table {
    width: 100%;
    margin-top:    25px;
    margin-bottom: 25px;
    border: 5px solid white;
}

table td {
    padding: 5px 15px;
    font-family: 'Helvetica Neue LT Std BlkCn', arial, sans-serif;
    font-size: 27px;
    text-transform: uppercase;
}

table td.first {
    padding-top: 15px;
}

table td.last {
    padding-bottom: 15px;
}

table td,
table td a {
    color: white;
}

table td.inactive {
    color: #8f8f8e;
}

table td small {
    display: block;
    line-height: 125% !important;
    font-size: 18px;
    text-transform: none;
}

input[type=submit],
input[type=button],
button {
    -webkit-appearance: none;
    cursor: pointer;
    display: block;
    padding: 2px 25px;
    padding-top: 8px;
    margin: 5px auto;
    border-width:  0;
    border-radius: 0;
    background-color: #61bd52;
    font-family: 'Helvetica Neue LT Std BlkCn', arial, sans-serif;
    font-size: 20px;
    text-transform: uppercase;
    color: black;
}

input[type=text],
input[type=email] {
    width: 100%;
    border-width: 0;
    background-color: transparent;
    font-size: 20px;
    text-align: center;
    color: black;
}

input.visibleinput {
    display: block;
    padding: 4px 8px;
    margin: auto;
    margin-bottom: 5px;
    border: 2px solid #aaa;
    background-color: white;
    font-style: italic;
}
body.banner-wide input.visibleinput{
	border-radius:3px;
	border-width:1px;
	padding-top:10px;
	padding-bottom:10px;
	padding-left:10px;
	
	font-size:16px;
	font-family:helvetica, arial;
	font-weight:300;
}


input.visibleinput.small {
    width: auto;
}

input.whiteinput {
    width: 100% !important;
    border-bottom: 1px solid white;
    font-style: italic;
    text-align: left;
    color: white;
}

input[size] {
    width: auto;
}

input.whiteinput::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color: white;
}
input.whiteinput:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
   color: white;
   opacity: 1;
}
input.whiteinput::-moz-placeholder { /* Mozilla Firefox 19+ */
   color: white;
   opacity: 1;
}
input.whiteinput:-ms-input-placeholder { /* Internet Explorer 10-11 */
   color: white;
}

::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color: black;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
   color: black;
   opacity: 1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
   color: black;
   opacity: 1;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
   color: black;
}

input:focus,
textarea:focus{
    outline:            none;
    outline-style:      none;
    -webkit-box-shadow: none;
    box-shadow:         none;
}

.desktop {
    display: block !important;
}
img.desktop,
a.desktop,
span.desktop {
    display: inline-block !important;
}

.mobile {
    display: none !important;
}

#kenfettiburns {
    position: fixed;
    top:  0;
    left: 0;
    width:  100%;
    height: 100%;
    background-color: black;
    overflow: hidden;
}

.kb-slide {
    position: absolute;
    z-index: 1;
    opacity: 0;
}

.kb-slide img {
    position: relative;
    -webkit-transform: translate3d(0,0,0);
    -moz-transform: translate3d(0,0,0);
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
}

.bg,
.bg2,
.bg-banner-wide,
.bg-banner-tall {
    position: fixed;
    top:  0;
    left: 0;
    width:  100%;
    height: 100%;
    background-image: url(/img/bg.jpg);
    background-repeat: no-repeat;
    background-position: top center;
}

.bg2 {
    background-image: url(/img/bg2.jpg);
}

.bg-banner-wide {
    background-image: url(/img/sv-bg-banner-wide.jpg);
    background-position: top left;
    background-size:100% 100%;
    width:759px;
    height:306px;
}

.bg-banner-tall {
    background-image: url(/img/bg-banner-tall.jpg);
    background-position: top left;
}

.wrapper {
    z-index: 1;
    position: absolute;
    top:  0;
    left: 0;
    width:  100%;
    height: 100%;
}

.logo-konfetti {
    pointer-events: none;
    position: absolute;
    display: block;
    width: 100%;
    margin-top: 25px;
    text-align: center;
}

.logo-lenovo {
    position: absolute;
    top: 75px;
    left: 0;
}

.navigation {
    z-index: 5;
    position: fixed;
    left:   0;
    bottom: 0;
    width: 100%;
}

.navigation .inner-container {
    width:  420px;
    height:  59px;
    padding-top:  25px;
    padding-left: 15px;
    margin: auto;
}

.navigation.with-background .inner-container {
    background-image: url(/img/bg-navigation.png);
    background-repeat: no-repeat;
}

.navigation .inner-container a {
    display: inline-block;
    padding: 0 18px;
    font-family: 'Helvetica Neue LT Std Thin', arial, sans-serif;
    font-size: 20px;
    text-align: center;
    text-transform: uppercase;
}

.navigation .inner-container a.active {
    border-bottom: 1px solid white;
    font-family: 'Helvetica Neue LT Std Light', arial, sans-serif;
}

.content {
    width: 840px;
    padding-bottom: 45px;
    margin: 25px auto;
    margin-top:150px;
    
}

.content.wide {
    width: 960px;
}

body.banner-wide .content {
    width: 759px;
    height:306px;
    padding-bottom: 0px;
    margin: 0px;
    
}


.content.topaligned {
    padding-bottom: 0;
    margin-top: 0;
}

.frontpage-headlines {
    float: left;
    width: 48.5%;
    margin-top: 75px;
}

.frontpage-headlines h1 {
    font-size: 60px;
}

.frontpage-headlines h3 {
    font-size: 22px;
    text-transform:  none;
    text-decoration: none;
}

.frontpage-headlines .smaller {
    font-family: 'Helvetica Neue LT Std Light', Arial, sans-serif;
}

.upcoming-bands {
    float: right;
    width: 48.5%;
    margin-top: 60px;
}

.upcoming-bands .fb-icon {
    position: relative;
    top: -2px;
}

.lenovo-pc {
    float: right;
    margin-top:     -5px;
    margin-bottom: -10px;
}

/* .lenovo-pc.mobile {
    position: absolute;
    top: 30px;
    right: 0;
} */

.gameboy-error.error {
    z-index: 1;
    position: relative;
    top: 195px;
    font-size: 14px;
    color: #f00;
}

.gameboy {
    position: relative;
    top: 15px;
    width:  840px;
    height: 550px;
    background-image: url(/img/gameboy.png);
    background-repeat: no-repeat;
}

.gameboy .headlines {
    position: absolute;
    top: 8px;
    left: 0;
    width: 100%;
    line-height: 300%;
    font-family: 'Helvetica Neue LT Std BlkCn', arial, sans-serif;
    text-align: center;
    text-transform: uppercase;
    color: black;
}

.gameboy .headlines .headline {
    font-size: 45px;
}

.gameboy .headlines .subheadline {
    font-size: 35px;
}

.gameboy .coins-left {
    position: absolute;
    top:    65px;
    right: -55px;
    font-family: 'Helvetica Neue LT Std BlkCn', arial, sans-serif;
    font-size: 20px;
    text-transform: uppercase;
    color: black;
}

.slotmachines {
    padding-top:  132px;
    padding-left: 226px;
}

.slotmachines .slotmachine {
    overflow: hidden;
    display: inline-block;
    width:  125px;
    height: 200px;
    margin-right: 8px;
    font-weight: bold;
    text-align: center;
    color: black;
}

.slotmachines .slotmachine .symbol {
    width:  125px;
    height: 200px;
    padding: 70px 0;
}

.slotmachines .slotmachine .symbol .lenovo-symbol {
    display: block;
    margin: auto;
    margin-top: -20px;
}

.slotmachine-input,
.slotmachine-result {
    position: absolute;
    top:  119px;
    left: 209px;
    width:  433px;
    height: 233px;
    background-image: url(/img/bg-overlay-white.png);
}

.slotmachine-input,
.slotmachine-input a,
.slotmachine-result,
.slotmachine-result a {
    color: black;
}

.slotmachine-input a,
.slotmachine-result a {
    text-decoration: underline;
}

.slotmachine-input input[type=email] {
    margin-top: 95px;
    font-size: 20px;
    text-align: center;
}

.slotmachine-input input[type=submit] {
    width:  1px;
    height: 1px;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=1)";
    filter: alpha(opacity=1);
    -moz-opacity: 0.01;
    -khtml-opacity: 0.01;
    opacity: 0.01;
}

.slotmachine-result {
    display: none;
    padding: 30px 5px;
    font-size: 20px;
    text-align: center;
}

.gameboy .btn-submit {
    cursor: pointer;
    position: absolute;
    top:  289px;
    left: 299px;
}

.btn-noclick {
    cursor: default !important;
}

.terms-sections {
    position: relative;
    z-index: 1;
    width: 100%;
    font-family: 'Helvetica Neue LT Std BlkCn', arial, sans-serif;
    font-size: 14px;
    text-transform: uppercase;
    text-align: center;
}

.terms-sections a {
    color: black;
}

body.banner-wide .terms-sections a {
	color:black;
	font-family:helvetica,arial;
	font-weight:300;
	text-decoration:none;
	text-transform:none;
}

.intel-banner {
    pointer-events: none;
    position: fixed;
    left:   14px;
    bottom: 16px;
}

.bg-overlay {
    display: none;
    z-index: 0;
    position: fixed;
    top:  0;
    left: 0;
    width:  100%;
    height: 100%;
    background-image: url(/img/bg-overlay.png);
}

.overlay {
    display: none;
    z-index: 999999999;
    position: fixed;
    top:  0;
    left: 0;
    min-width:  300px;
    max-width:    80%;
    min-height: 300px;
    max-height:   80%;
    padding: 50px;
    padding-top: 25px;
    background-color: black;
    color: white;
}

.overlay .btn-close {
    cursor: pointer;
    float: right;
    padding: 25px;
    margin: -25px;
}

.overlay .overlay-content {
    -webkit-overflow-scrolling: touch;
    overflow: auto;
    width:  100%;
}

body.banner-wide .overlay .btn-close {
	padding:0px;
	margin:0px;
}
body.banner-wide .overlay .overlay-content{
	height:255px;
}

body.banner-wide .overlay .btn-close{
	color:white;
	font-size:26px;
}
body.banner-wide .overlay.terms{
	position:absolute;
	width:759px;
	height:306px;
	padding:25px;
	padding-top:5px;
}

.overlay .overlay-content h1 {
    padding-top: 5px;
}

.overlay .overlay-content p {
    margin: 10px 0;
}

.overlay .overlay-content a {
    text-decoration: underline;
}

.error {
    font-family: arial, sans-serif;
    font-size: 20px;
    font-style: italic;
    text-align: center;
    text-transform: none;
}

.black {
    color: black;
}

.left {
    float: left;
}

.right {
    float: right;
}

.center {
    display: block;
    margin: auto;
    text-align: center;
}

.clear {
    clear: both;
}

/* Banners */

body.banner .content {
    margin-top: 15px;
}
body.banner-wide .content {
    margin-top: 0px;
}
body.banner .logo-lenovo {
    top: 15px;
}

body.banner-wide .logo-lenovo{
	display:none;
}

body.banner .logo-lenovo.large {
    top: 35px;
}

body.banner h2 {
    width: 600px;
    padding-right: 60px;
    margin: auto;
    margin-bottom: 8px;
    font-size: 18px;
    text-align: center;
}

body.banner .gameboy-error.error {
    top: 0;
}

body.banner .gameboy {
    top: -10px;
    background-image: none;
}

body.banner .terms-sections {
    margin-top: 0px;
}
body.banner-wide .terms-sections {
    margin-top: 15px;
}

body.banner .gameboy .coins-left {
    top:   35px;
    left: 670px;
    font-size: 23px;
}

body.banner .gameboy .coins-left .number {
    display: block;
    width: 90px;
    padding-top:   10px;
    margin-bottom: 10px;
    background-color: black;
    font-size: 40px;
    text-align: center;
    color: white;
}

body.banner .slotmachine-input,
body.banner .slotmachine-result {
    top:   85px;
    left: 248px;
    width:  293px;
    height: 157px;
}

body.banner .slotmachine-input input[type=email] {
    margin-top: 60px;
}

body.banner .slotmachine-result {
    padding: 15px 5px;
    font-size: 12px;
    
}

body.banner .gameboy-error.error {
    z-index: 4;
    top:  170px;
    left: 0;
    padding-right: 53px;
    font-size: 13px;
}

body.banner .gameboy .btn-submit {
    top:  200px;
    left: 311px;
}

body.banner .slotmachines {
    padding-top:   66px;
    padding-left: 258px;
}

body.banner .slotmachines .slotmachine {
    width:   87px;
    height: 163px;
    padding-top: 35px;
    margin-right: 2px;
}
body.banner-wide .slotmachines .slotmachine {
 
    height: 160px;

}
body.banner .slotmachines .slotmachine .symbol {
    width:   92px;
    height: 197px;
    padding: 40px 0;
}

body.banner .overlay {
    width:      100%;
    min-width:  100%;
    max-width:  100%;
    height:     100%;
    min-height: 100%;
    max-height: 100%;
}

/* Banner wide */
body.banner-wide,
body.banner-wide .wrapper {
    overflow: hidden !important;
    width:  759px !important;
    height: 306px !important;
    margin-left: 0px;
}

body.banner-wide h2 {
    width: 100%;
    font-size: 28px;
}

body.banner-wide .gameboy {
    top: 0px;
}

body.banner-wide .terms-section {
    margin-top: 30px;
}

body.banner-wide .slotmachines {
    padding-top: 46px;
    padding-left: 250px;
}

body.banner-wide .slotmachines .slotmachine {
    width: 82px;
}

body.banner-wide .slotmachines .slotmachine .symbol {
    width: 82px;
}

body.banner-wide .slotmachine-input,
body.banner-wide .slotmachine-result {
    top:   0px;
    left: 0px;
    width:  759px;
    height: 308px;
    z-index:100;
    padding-top:50px;
    font-size:16px;
    padding-top:57px;
}

body.banner-wide .slotmachine-result .wide-space {
    display: block;
}

body.banner-wide .slotmachine-input input[type=email] {
    width: 250px;
    font-size: 16px;
}

body.banner-wide .gameboy .btn-submit {
    top:  221px;
    left: 318px;
}

body.banner-wide .gameboy-error.error {
    top: 40px;
    left:8px;
}

body.banner-wide .gameboy .coins-left {
    top: 25px;
}

body.banner-wide .logo-lenovo {
    left: 12px;
}

body.banner-wide .intel-banner-wide {
    left:   26px;
    bottom: 11px;
}

body.banner-wide .slotmachines.slow .symbol.slotMachineBlurFast{
	filter: blur(1px);
	-webkit-filter: blur(1px);
}

body.banner-wide .slotmachines .symbol img{
	margin-top:-12px;
}

/* Banner tall */
body.banner-tall,
body.banner-tall .wrapper {
    overflow: hidden !important;
    width:  320px !important;
    height: 450px !important;
}

body.banner-tall .content,
body.banner-tall .gameboy {
    width: 320px;
}

body.banner-tall h2 {
    width: 250px;
    padding-right: 0;
    font-size: 28px;
}

body.banner-tall .gameboy .coins-left {
    top:  0;
    left: 0;
    width: 100%;
    font-size: 20px;
    text-align: center;
}

body.banner-tall .gameboy .coins-left .number {
    width: 60px;
    margin: auto;
    margin-top: 10px;
    padding-top: 6px;
    margin-bottom: 5px;
    font-size: 20px;
}

body.banner-tall .terms-sections {
    position: absolute;
    top:  45px;
    left: 0;
    width: 100%;
    padding: 0;
    margin: 0;
    font-size: 10px;
}

body.banner-tall .slotmachine-input,
body.banner-tall .slotmachine-result {
    top: 146px;
    left: 73px;
    width: 178px;
    height: 95px;
}

body.banner-tall .slotmachine-input input[type=email] {
    width: 165px;
    margin-top: 20px;
    font-size: 12px;
}

body.banner-tall .slotmachine-result {
    padding: 30px 5px;
    font-size: 12px;
}



body.banner-tall .slotmachine-result {
    z-index: 10;
    top:  -105px;
    left: 0;
    width:  320px;
    height: 450px;
    padding: 25px;
    background-color: black;
    background-image: url(/img/bg-overlay-banner-tall.jpg);
    background-repeat: no-repeat;
    font-size: 16px;
}

body.banner-tall .slotmachine-result,
body.banner-tall .slotmachine-result a {
    color: white;
}

body.banner-tall .slotmachine-result .tall-space {
    display: block;
}

body.banner-tall .gameboy-error.error {
    top:  152px;
    left:  82px;
    width: 160px;
    height: 25px;
    padding-right: 0;
    margin-bottom: -16px;
    font-size: 8px;
}

body.banner-tall .gameboy .btn-submit {
    top:  212px;
    left: 110px;
}

body.banner-tall .slotmachines {
    padding-top: 150px;
    padding-left: 77px;
}

body.banner-tall .slotmachines .slotmachine {
    width:  51px;
    height: 87px;
    padding-top:  0;
    margin-right: 2px;
}

body.banner-tall .slotmachines .slotmachine .symbol {
    width:  51px;
    height: 88px;
    padding: 25px 0;
    margin-left: 3px;
}

body.banner-tall .slotmachines .slotmachine .symbol .lenovo-symbol {
    margin-top: -8px;
    margin-left: 0px;
}

body.banner-tall .intel-banner-tall {
    left:   14px;
    bottom: 11px;
}

@media only screen
and (min-width : 320px)
and (max-width : 1136px),
only screen and (min-device-width : 320px) and (max-device-width : 1136px) {
    
    .desktop,
    img.desktop,
    a.desktop,
    span.desktop {
        display: none !important;
    }
    
    .mobile {
        display: block !important;
    }
    
    img.mobile,
    a.mobile,
    span.mobile {
        display: inline-block !important;
    }
    
    body.narrow .wrapper,
    body.narrow .content {
        width: 100%;
    }
    
    .frontpage-headlines,
    .upcoming-bands {
        float: none;
        width: 350px;
        margin: auto;
    }
    
    .frontpage-headlines {
        margin-top: 215px;
    }
    
    .frontpage-headlines h1 {
        font-size: 45px;
    }
    
    .upcoming-bands {
        margin-top:    25px;
        margin-bottom: 0;
    }
    
    .upcoming-bands td {
        font-size: 24px;
    }
    
    .terms-box {
        margin: 15px 0;
    }
    
    body.narrow .content {
        margin-bottom: -35px;
    }
    
    body.narrow .intel-banner {
        position: static;
    }
    
    body.narrow .navigation {
        position: static;
        padding-bottom: 50px;
    }
    
}

@media only screen
and (max-width : 1200px) {
    
    .intel-banner.intel-default {
        bottom: 90px;
    }
    
}


