
@import url('https://fonts.googleapis.com/css2?family=Oleo+Script&display=swap');

@font-face {
    font-family: 'Mailartrubberstamp';
    src: url('/fonts/MailartRubberstamp-Oblique.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Mailartrubberstamp';
    src: url('/fonts/MailartRubberstamp-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Caroughrider webfont';
    src: url('/fonts/caroughrider%20webfont.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

html {scroll-behavior: smooth;}
h1, h2, p, b {font-family: 'Mailartrubberstamp', sans-serif;}
body {margin: 0;position: relative; font-size: 16px; background: white; font-family: 'Mailartrubberstamp', sans-serif; font-weight: 400; font-style: normal; color: #fff; min-height: 750px; display: flex; flex-direction: column;
	text-transform: uppercase !important;}
.bg{ background: url(../img/game-background-v2.jpg) no-repeat bottom center; background-attachment: fixed; background-size: cover; position: absolute; width: 100%; height: 100%; }
@media screen and (max-width: 600px) {
	body {min-height: 600px;}
}

input[type=text], select, textarea, button {font-family: 'Mailartrubberstamp', sans-serif; }
a {color: inherit; text-decoration: underline;}
select::-ms-expand {
    display: none;
}
.container {position: relative; width: 100%; max-width: 1000px; padding: 0 40px; margin: 0 auto; box-sizing: border-box;  }
.pb::before {content: ""; display:block; padding-top: 1px; margin-bottom: 30px; }
.pa::after {content: ""; display:block; padding-bottom: 1px; margin-top: 30px; }

@media screen and (max-width: 600px) {
	.container {padding: 0 20px; }
	.pb::before {margin-bottom: 20px; }
	.pa::after {margin-top: 20px; }
	.titleWritten {font-size: 40px;}
}

.alignL {text-align: left;}
.alignC {text-align: center;}
.alignR {text-align: right;}
.clear {display:block; clear: both;}
.title_XL {font-size: 56px; font-weight: 700; margin: 20px 0; line-height: 1.1 }
.title_L {font-size: 41px; font-weight: 700; margin: 20px 0; line-height: 1.1 }
.title_M{font-size: 27px; font-weight: 700; margin: 20px 0; line-height: 1.1 }
.title_S {font-size: 24px; font-weight: 700; margin: 20px 0; line-height: 1.1 }
.title_XS {font-size: 20px; font-weight: 700; margin: 20px 0; line-height: 1.1 }
.largeText {font-size: 1.3em; }
.smallText {font-size: 0.9em; }

header {position: relative; height: 65px;  background: #fff; }
header .logo {height: 100px; width: 90px; background: url(../img/logo.png) no-repeat center; background-size: contain; display: block; margin: 0 auto; position: relative; z-index: 1;}

a.navButton {position: absolute; top: 0; right: 0; padding: 21px 40px; z-index: 12 }
a.navButton b {position: relative; display: block; width: 40px; height: 23px; }
a.navButton b i {position: absolute; left: 0; width: 100%; height: 3px; border-radius: 2px; transition: all 0.3s; background: #fff; }
a.navButton b i:nth-child(1) {top: 0; }
a.navButton b i:nth-child(2) {top: 10px; }
a.navButton b i:nth-child(3) {top: 10px; }
a.navButton b i:nth-child(4) {bottom: 0; }
a.navButton:hover b i { background: #fff; }
a.navButton.open { position: fixed; }
a.navButton.open span { background: black; outline: none; }
a.navButton.open b i {background: #fff;}
a.navButton.open b i:nth-child(1) { top: 50%; width: 0; left: 50%; }
a.navButton.open b i:nth-child(2) { -webkit-transform: rotate(45deg); transform: rotate(45deg); }
a.navButton.open b i:nth-child(3) { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
a.navButton.open b i:nth-child(4) { bottom: 50%; width: 0; left: 50%; }

.nav {position: fixed; display: block; top: 0; height: 100%; width: 100%; z-index: 10; pointer-events: none; background: rgba(0,0,0,0); transition: all 0.3s;}
.nav > div {position: absolute; top: 0; right: 0; width: 0; height: 100%; overflow: hidden; transition: all 0.3s; }			
.nav > div > div {position: absolute; left: 0; top: 0; width: 300px; height: 100%; padding-top: 90px; background: #fff; box-sizing: border-box;  }
.nav > div > div .navContainer {position: absolute; top: 0; bottom: 55px; left: 0; width: 100%; overflow: auto; padding-top: 85px;  }
.nav > div > div .navContainer ul {padding: 0; margin: 0; width: 100%; list-style: none;border-bottom: 1px solid rgba(0,0,0,0.1);}
.nav > div > div .navContainer ul li {position: relative; padding: 0; margin: 0; border-top: 1px solid rgba(0,0,0,0.1);}
.nav > div > div .navContainer ul li a {position: relative; display: block; padding: 15px 20px; font-weight: 700; font-size: 20px; color: #fff; text-decoration: none; transition: all 0.3s; box-sizing: border-box; }
.nav > div > div .navContainer ul li a::after {content:""; position: absolute; right: 20px; top: 50%; width: 10px; height: 10px; margin-top: -5px; box-sizing: border-box; border-style: solid; border-color: #fff; border-width: 0 2px 2px 0; transform: rotate(-45deg); opacity: 0.5; transition: all 0.3s;}
.nav > div > div .navContainer ul li a:hover {padding-left: 25px; }			
.nav > div > div .navContainer ul li a:hover::after {opacity: 1;}		
.nav > div > div .socials {position: absolute; bottom: 0; left: 0; width: 100%; padding: 5px 0 20px 0; text-align: center; }
.nav > div > div .socials a {display: inline-block;  position: relative; font-size: 22px; color: #fff; padding: 15px 0; line-height: 0; width: 30px; vertical-align: middle; text-align:center; background: #222; border-radius: 3px; text-decoration: none; margin: 0 5px; transition: all 0.2s;}
.nav > div > div .socials a:hover {transform:scale(1.1); background: #111;}
.nav > div > div .socials a.fa-facebook:before {position: absolute; bottom: 9px; right: 5px; font-size: 26px; }
.nav.open > div {width: 300px;} 
.nav.open { pointer-events: all; cursor: pointer; background: rgba(0,0,0,0.6); }
@media screen and (max-width: 600px) {
	a.navButton {padding: 25px 20px;}
	.nav > div > div .navContainer {padding-top: 70px;}
}
@media screen and (max-height: 500px) {
	.nav > div > div .navContainer ul li a {padding: 10px 20px; }
}
@media screen and (max-height: 420px) {
	.nav > div > div .navContainer ul li a {padding: 8px 20px; font-size: 18px; }
}
.banner {position: relative; padding-bottom: 23.55%; background: url("../img/banner.jpg") center no-repeat #000; background-size: cover; }
@media screen and (max-width: 1000px) {
	.banner {padding-bottom: 59.7%; background-image: url("../img/banner2.jpg");  }	
}

.buttonContainer {position: relative; margin: 20px 0;}
.buttonContainer a, .buttonContainer button {display: inline-block; position: relative;  font-size: 18px; padding: 10px 20px; min-width: 160px; background: #000; color: #fff; text-align:center; border: none; outline: none; text-decoration: none; font-weight: 700; cursor: pointer;  text-transform: uppercase }
.buttonContainer a, .buttonContainer button:hover { background: #828282; }
.formContainer.waiting .buttonContainer button:after { border: 4px solid rgba(0,0,0,0.5); border-top: 4px solid #000;  }

.faqs {text-align: left; margin: 20px auto; max-width: 600px; }
.faqs .faq {margin: 10px 0; }
.faqs .faq > a {display:block; position: relative; background: #ffc20e ; border-radius: 3px;  padding: 30px 20px; color: #212121; text-decoration: none; font-weight: 700; }
.faqs .faq > div {position: relative; height: 0; overflow: hidden;}
.faqs .faq > div > div {position: absolute; left: 0; bottom: 0; width: 100%; padding: 0 20px; box-sizing: border-box; background: #f4f6f8; border-radius: 4px; }
.faqs .faq > div > div:before {content: ""; display:block; padding-top: 1px; margin-bottom: 20px; }
.faqs .faq > div > div:after {content: ""; display:block; padding-bottom: 1px; margin-top: 30px; }
.faqs .faq.open > div {height: auto; }
.faqs .faq.open > div > div {position: relative;}

footer {position: relative; background: #333; min-height: 150px; color: #fff; }
footer .legal {opacity: .85; font-size: 14px;}
footer ul {padding: 0; margin: 15px auto; text-align: center; margin-bottom: 0;}
footer ul li {list-style: none; margin: 0; padding: 0; display: inline-block; margin: 10px;}
footer ul li a{text-decoration: none; transition: all .3s; font-weight: 600; font-size: 15px;}
footer ul li a:hover {color: white;}

table {margin: 10px 0; border: 1px solid #ccc; border-collapse: collapse}
table td, table th {padding: 5px 10px; border: 1px solid #ccc; text-align: left;}
table th {font-weight: 700;}

.cookie {display:none; }
.cookie.active {position: fixed; z-index: 10; display: block; overflow: hidden; bottom: 0; right: 0; width: 100%; height:100%; background: rgb(0 0 0 / 40%)}
.cookie.active .cookieInner {position: absolute; right: 0; bottom: 100%; width: 100%; background: #333; pointer-events: all; color: #fff; font-size: 14px;}
.cookie.active .cookieInner .bottom {margin-top: 20px;}

.cookie.active .cookieInner:before {content: ""; padding-top: 1px; margin-bottom: 15px; display: block; }
.cookie.active .cookieInner:after {content: ""; padding-bottom: 1px; margin-top: 15px; display: block; }
.cookie.active .buttonContainer {margin: 20px 0;}
.cookie.active .cookieInner a {color: #fff; }
.cookie.active .cookieInner a.cookieCta {display: inline-block; position: relative; font-size: 17px; padding: 10px 20px; border-radius: 0; margin-top: 10px; background: transparent; border: 2px solid #fff; color: #fff; text-align: center; outline: none; text-decoration: none; font-weight: 700; cursor: pointer;margin-left: 10px; cursor: pointer;}

@media screen and (max-width: 450px) {
	.cookie.active .cookieInner:before {margin-bottom: 20px; }
	.cookie.active .cookieInner:after {margin-top: 20px;  }
}

#modal.cookies .inner {max-width: 900px;}
#modal.cookies .inner .formContainer{max-width: 100%;}
#modal.cookies .inner .formContainer label{font-size: 16px; margin-left: 10px; margin-top: -2px; padding-right: 15px;}


.formContainer .field.switch .checkboxContainer > a {width: 34px; height: 20px; border-radius: 10px; transition: all 0.2s; background: #cb3525; border: none; outline: none; box-shadow: none; }
.formContainer .field.switch .checkboxContainer > a i {position: absolute; top: 3px; left: 3px; background: #fff;width: 16px; height: 14px; border-radius: 7px; transition: all 0.2s;}
.formContainer .field.switch .checkboxContainer.checked > a {background: #7cab29 }
.formContainer .field.switch .checkboxContainer.checked > a i {left: 16px; }

.formContainer .field.switch .checkboxContainer > a i:before {display: none;}
.formContainer .field.switch .checkboxContainer > a i:after {display: none;}

.formContainer .field.field_cookiesEssential.switch .checkboxContainer {pointer-events: none;}
.formContainer .field.field_cookiesEssential.switch .checkboxContainer > a {border-color:  #c2c3c5; background: #c2c3c5; pointer-events: none;}
.formContainer .field.field_cookiesEssential.switch .checkboxContainer > a i {background: #fff;}
#modal.cookies .inner .formContainer label .concertina > div {display: flex; justify-content: space-between;}
#modal.cookies .inner .formContainer label .concertina > div > div{padding-right: 15px;}
#modal.cookies .inner .formContainer label .concertina a {pointer-events: all; white-space: nowrap; flex-grow: 0;}
#modal.cookies .inner .formContainer label .concertina .opener {position: relative; display:block; height: 0; overflow: hidden; }
#modal.cookies .inner .formContainer label .concertina .opener > div {position: absolute; bottom: 0; left: 0; width: 100%;}
#modal.cookies .inner .formContainer label .concertina.open .opener {height: auto;}
#modal.cookies .inner .formContainer label .concertina.open .opener > div {position: relative;}
@media screen and (max-width: 550px) {
	#modal.cookies .inner .formContainer label .concertina > div {flex-direction: column;}
	
}

.cookies .buttons {display:flex; justify-content: space-between; margin: 40px 0;}
.cookies .buttons > button {display:block; padding: 20px 5px; min-width: 48%; min-width: calc(50% - 15px); color: #333; border: 1px solid #1c2025; text-decoration: none; text-align:center; font-weight: 700; background: white; font-family: inherit; font-size: 18px; cursor: pointer;}
.cookies .buttons > button:last-child {background: #1c2025; color: #fff;}
@media screen and (max-width: 750px) {
	.cookies .buttons {display:block; }
	.cookies .buttons > button {width: 100%; min-width: 0; margin: 5px 0; padding: 10px 5px;  }
	
}

#modal.cookies .inner {max-width: 900px;}
#modal.cookies .inner .formContainer{max-width: 100%;}
.validationChecks {display: none !important;}


@keyframes shake {
	0% {
		transform: rotate(0deg);
   }
	20% {
		transform: rotate(-20deg);
   }
	40% {
		transform: rotate(20deg);
   }
	60% {
		transform: rotate(-10deg);
   }
	80% {
		transform: rotate(10deg);
   }
	100% {
		transform: rotate(0deg);
   }
}






.main {display: flex; flex-direction: column; justify-content: center; align-items: center; flex: 1;}



/*
.field.field_terms {text-align: center;}
.field.field_terms .checkboxContainer {display: flex; justify-content: center; padding: 0;}
.field.field_terms .checkboxContainer a {flex-shrink: 0; position: relative; }
.field.field_marketing {text-align: center;}
.field.field_marketing .checkboxContainer {display: flex; justify-content: center; padding: 0;}
.field.field_marketing .checkboxContainer a {flex-shrink: 0; position: relative; }
*/
.formContainer .checkboxContainer > a {border: 1px solid #fff;}
.formContainer .checkboxContainer label {padding-right: 0; padding-top: 3px; margin-bottom: 0;}

.termsBg {background: rgba(255, 255, 255, 0.5);}


@keyframes blink {
	0% {transform: scale(1);}
	100% {transform: scale(1.05);}
}

/*
.pulse {
  animation: pulse 3s infinite;
  animation-direction: alternate;
  -webkit-animation-name: pulse;
  animation-name: pulse;
}
    
@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
  }
}
    
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
*/



.termsBg li:not(:last-child) {margin-bottom: 5px; margin-top: 5px;}

.formContainer .error { color: #000; font-weight: 900; filter: drop-shadow(0 0 0.75rem #fff); }

#modal .inner { color: #000; }

.container {

}
.container .featured-card {
    margin: 0 0 25px;
}
.container .featured-card img,
.container .featured-card button {
    display: block;
    margin: auto;
}
.container .featured-card img {
    max-width: 50vw;
}
.container .deck {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    align-items: center;
}
.container .deck .card {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    margin: 1rem;
    max-width: 125px;
}
.container .deck .card img {
    max-width: 100%;
    overflow: hidden;
}
.container .deck .deck-card {
    filter: drop-shadow(0px 0px 6px rgba(0, 255, 0, 0.5));
}
.container .deck .deck-card.last-card {
    filter: drop-shadow(0px 0px 6px rgba(255, 0, 0, 0.5));
}
.container .controls {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    margin: 2rem;
    height: auto;
}
.container .controls button {
    margin: 0 2rem;
}
.container .progress,
.container .message {
    text-align: center;
}
.container .real-card {
    animation-name: cardFlip;
    animation-duration: 1s;
}
@keyframes cardFlip {
    0% {
        transform: rotateY(-90deg);
    }
    to {
        transform: rotateY(0);
    }
}
@media (max-width: 991px) {
    .container {
        padding: 1rem;
    }
    .container .controls {

        margin: 1rem;
        height: auto !important;
    }

    .container .deck .card {
        margin: 0.25rem;
    }
    .container .deck .card img {
        max-width: calc(20vw - 1.3rem);
    }
    .message {
        margin: 2rem 0;
    }
    .progress {
        margin: 5px 0;
        font-size: 25px;
    }
}
@media (max-width: 767px) {
    .controls {
        margin: 0.75rem;
    }
}
@media (max-width: 575px) {
    .controls {
        margin: 0.25rem;
    }
}

.hidden {
    display: none;
}

.pyro {
    overflow: hidden;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; pointer-events: none;
}
.pyro.hidden{
    display: none;
}

.pyro>.before,.pyro>.after {
    position: absolute;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    box-shadow: 0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff;
    animation: 1s bang ease-out infinite backwards,1s gravity ease-in infinite backwards,5s position linear infinite backwards
}

.pyro>.after {
    animation-delay: 1.25s,1.25s,1.25s;
    animation-duration: 1.25s,1.25s,6.25s
}

@keyframes bang {
    to {
        box-shadow: 82px 61.3333333333px #00ffa2,124px -63.6666666667px #00bfff,216px 68.3333333333px #0f7,49px -254.6666666667px #00ffbf,-148px -378.6666666667px #ffc400,-72px -142.6666666667px #ff00d5,13px -291.6666666667px #d0ff00,-213px 12.3333333333px #08f,55px -400.6666666667px #f700ff,104px -235.6666666667px #4000ff,166px -412.6666666667px #ff1e00,206px 55.3333333333px #ea00ff,243px -61.6666666667px #00ff8c,166px -70.6666666667px #c800ff,-17px 50.3333333333px #ff00f7,-32px -112.6666666667px #ff7300,-37px -327.6666666667px #f01,-91px 60.3333333333px #2600ff,33px 52.3333333333px #f03,-122px -291.6666666667px #ff6a00,-23px -24.6666666667px #00ff59,-144px -318.6666666667px #e100ff,-198px -364.6666666667px #ff005e,-226px 3.3333333333px #00ffa2,110px -135.6666666667px #8c00ff,-109px -136.6666666667px #ff00a2,184px -396.6666666667px #00ff1e,37px -314.6666666667px #e1ff00,240px 41.3333333333px #f02,201px -185.6666666667px #c400ff,53px .3333333333px #00f7ff,123px -383.6666666667px #ff00b3,55px -215.6666666667px #f7ff00,138px -143.6666666667px #00c4ff,204px 14.3333333333px #15ff00,-140px -106.6666666667px #62ff00,29px -282.6666666667px #1e00ff,-71px -43.6666666667px #ff001a,-201px -247.6666666667px #ff00b7,81px -11.6666666667px #9100ff,-96px -275.6666666667px #f0c,236px -85.6666666667px #8000ff,-225px -241.6666666667px #ff0095,33px -122.6666666667px #0009ff,236px -248.6666666667px #00ffc8,-67px -80.6666666667px #0f1,54px -201.6666666667px #001aff,189px 23.3333333333px #00ff95,-109px -193.6666666667px #1eff00,-1px -175.6666666667px #00ff95,213px -30.6666666667px #7f0
    }
}

@keyframes gravity {
    to {
        transform: translateY(200px);
        -moz-transform: translateY(200px);
        -webkit-transform: translateY(200px);
        -o-transform: translateY(200px);
        -ms-transform: translateY(200px);
        opacity: 0
    }
}

@keyframes position {
    0%,19.9% {
        margin-top: 10%;
        margin-left: 40%
    }

    20%,39.9% {
        margin-top: 40%;
        margin-left: 30%
    }

    40%,59.9% {
        margin-top: 20%;
        margin-left: 70%
    }

    60%,79.9% {
        margin-top: 30%;
        margin-left: 20%
    }

    80%,99.9% {
        margin-top: 30%;
        margin-left: 80%
    }
}


.controls button, .lose button, .winSec button {border: none; background-color: black; color: white; padding: 14px 30px; font-family: 'Mailartrubberstamp', sans-serif; font-size: 22px; cursor: pointer;}
.lose button, .winSec button {margin: 15px auto;}
.rosette {width: 100%; max-width: 190px; position: relative; margin: 15px auto;}
.rosette i {display: block; padding-bottom: 140%; background: url(../img/win-rosette.png) no-repeat center; background-size: contain;}
.winSec {display: none; flex-direction: column; justify-content: center; align-items: center; height: 100%;}
.gamePreview {width: 100%; max-width: 450px; margin: 0 auto; position: relative; margin-top: 15px;}
.gamePreview i {display: block; padding-bottom: 77%; background: url(../img/gamePreview_new.png) no-repeat center; background-size: contain;}