html {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

*, *:before, *:after {
	-webkit-box-sizing: inherit;
	box-sizing: inherit;
	margin: 0;
	padding: 0;
}

body {
	font-family: 'Proxima Nova Bold';
	letter-spacing: 0.1px;
}

ul, li {
	list-style: none;
}

img, abbr, fieldset, iframe {
	border: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

a {
	color: #ffffff;
	text-decoration: none;
	-webkit-transition: background 0.35s ease 0s;
	-o-transition: background 0.35s ease 0s;
	transition: background 0.35s ease 0s;
	outline: 0;
}

@media (min-width: 821px) {
	.hidden-tablet-up {
		display: none !important;
	}
}

@media (max-width: 821px) {
	.hidden-tablet-down {
		display: none !important;
	}
}

.img-responsive {
	display: block;
	max-width: 100%;
	height: auto;
}

.center-block {
	margin-left: auto;
	margin-right: auto;
}

.hidden {
	display: none;
}

body {
	background: #030206 url(../images/bg.jpg) center center no-repeat;
	background-size: cover;
}

#beyond-cards-page {
	color: white;
	text-transform: uppercase;
	text-align: center;
	display: flex;
	align-items: center;
	align-content: center;
	min-height: 100dvh;
	justify-content: flex-start;
	padding-top: 2vw;
	padding-bottom: 1vw;
}

#beyond-cards-page > section {
	width: 100%;
}

.logo-lockup {
	margin-left: auto;
	margin-right: auto;
	width: 26%;
	padding-bottom: 1.6vw;
}

.beyond-cards-headline {
	color: #ffffff;
	text-align: center;
	text-transform: uppercase;
}

.beyond-cards-headline span {
	background: linear-gradient(to bottom, #f8f5f8 0%, #ffd4ff 40%, #c976e1 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	filter: drop-shadow(0px 4px 6px rgba(0, 0, 0, 0.7)) drop-shadow(0px 0px 12px rgba(235, 180, 245, 0.2));
}

.beyond-cards-subheader {
	font-size: 1.65vw;
	color: #ffffff;
	text-shadow: 10px 8px 20px #0057d987, -8px -6px 20px #0075ff54;
	line-height: 1.2;
}

#shuffle-deck {
	color: #ffffff;
	margin-left: auto;
	margin-right: auto;
	-ms-flex-line-pack: center;
	align-content: center;
	text-align: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	line-height: 1.1;
	padding: 0 0 0.6em;
	text-align: center;
}

#shuffle-deck > div {
	padding: 0 0.5em;
	width: 100%;
	-ms-flex-preferred-size: 0;
	flex-basis: 0;
	-webkit-box-flex: 1;
	-ms-flex-positive: 1;
	flex-grow: 1;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

#shuffle-deck .shuffle-deck {
	-webkit-box-flex: 0;
	-ms-flex-positive: 0;
	flex-grow: 0;
}

.btn-shuffle-deck {
	cursor: pointer;
	color: #ffffff;
	text-transform: uppercase;
	font-family: inherit;
	font-size: inherit;
	white-space: nowrap;
	padding: 0.45em 1em 0.35em;
	outline: 0;
	border: 0;
	transition: opacity .5s ease-in .1s;
	background-color: #1bafeb;
	line-height: 0.9;
}

.btn-shuffle-deck:hover, .btn-shuffle-deck.active {
	opacity: 0.85;
}

.btn-shuffle-deck[disabled] {
	cursor: not-allowed;
	background-color: #83d0ef;
}

.btn-shuffle-deck.animate {
	background-color: #83d0ef;
}

.beyond-cards-social {
	font-size: 1.9vw;
}

.beyond-cards-social .iconfont {
	font-size: inherit;
	color: #ffffff;
	display: inline-block;
	margin-left: 0.15em;
	margin-right: 0.15em;
}

.beyond-cards-social .iconfont:hover {
	color: #1bafeb;
	transition: all .3s ease-in .1s;
}

.reveal-coming, .share-tips {
	font-size: 1.1vw;
}

.share-tips {
	padding-top: 0.9em;
}

@media (min-width: 821px) {
	.btn-shuffle-deck {
		font-size: calc(1.5vw);
	}

	.beyond-cards-headline {
		font-size: 3.8vw;
	}

	.reveal-coming-box {
		display: inline-block;
		text-align: center;
	}

}

@media (min-width: 821px) {
	.reveal-coming-mobile, .share-tips-mobile {
		display: none;
	}
}

@media (max-width: 820px) {
	body {
		background: #030206 url(../images/bg_mobile.jpg) center top no-repeat;
		background-size: cover;
	}

	.reveal-coming-mobile, .share-tips-mobile {
		-webkit-text-stroke: 1px black;
	}

	#beyond-cards-page {
		font-size: 1.6em;
	}

	.reveal-coming, .share-tips, .beyond-cards-subheader {
		font-size: 3vw;
	}

	.reveal-coming-mobile {
		color: white;
		line-height: 1.1;
		display: block;
		padding-bottom: 0.5em;
	}

	#shuffle-deck {
		padding-top: 0;
	}

	.beyond-cards-social {
		font-size: 1.9em;
	}

	.share-tips-mobile {
		margin-top: 1em;
		margin-bottom: 0.9em;
	}

	.beyond-cards {
		margin: auto;
	}

	.logo-lockup {
		min-width: auto;
		width: 56%;
		padding-bottom: 2.8vw;
	}

	#beyond-cards-page {
		font-size: 1em;
	}

	.beyond-cards-headline {
		font-size: 7vw;
	}

	#beyond-cards-page {
		margin: auto;
		padding: 20px;
		padding-top: 8vw;
	}

	#shuffle-deck .shuffle-deck {
		font-size: 1.2em;
	}

	.btn-shuffle-deck {
		padding: 0.45em 0.8em 0.35em;
	}
}

/*card*/
.flipper, .flipper .back, .flipper .front, .socials a, .transform_holder .back, .transform_holder .front, .transform_holder .transform, .flipper .middle {
	-webkit-transition: all 1s cubic-bezier(0.68, -.55, .265, 1.55);
	-o-transition: all 1s cubic-bezier(0.68, -.55, .265, 1.55);
	transition: all 1s cubic-bezier(0.68, -.55, .265, 1.55);
}

.flipper {
	-webkit-perspective: 1000;
	-o-perspective: 1000;
	perspective: 1000;
	-ms-transform: perspective(1000px);
	-moz-transform: perspective(1000px);
	-ms-transform-style: preserve-3d;
	-moz-transform-style: preserve-3d;
}

.flipper .back, .flipper .front,
.flipper .middle {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
}

.flipper .front {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	-webkit-transform: rotateX(0deg);
	-ms-transform: rotateX(0deg);
	background: black url(../images/loading.gif) center center no-repeat;
}

.flipper .back {
	-webkit-transform: rotateX(180deg);
	-ms-transform: rotateX(180deg);
	transform: rotateX(180deg);
	z-index: 3;
	position: relative;
}

.flipper .middle {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	-webkit-transform: rotateX(0deg);
	-ms-transform: rotateX(0deg);
	visibility: hidden;
}


.k-ball-holder.shuffle .flipper .front, .k-ball-holder .currentback .flipper .front,
.k-ball-holder.shuffle .flipper .middle, .k-ball-holder .currentback .flipper .middle {
	-webkit-transform: rotateX(180deg);
	transform: rotateX(180deg);
}

.currentmiddle .flipper .front {
	animation-name: fadein;
	animation-duration: 4s;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}

.k-ball-holder.shuffle .flipper .back, .k-ball-holder .currentback .flipper .back {
	-webkit-transform: rotateX(0deg);
	-ms-transform: rotateX(0deg);
	transform: rotateX(0deg);
}

.currentmiddle .flipper .middle {
	visibility: visible;
}

@keyframes fadein {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
	}
}

.k-ball-holder {
	margin: 0;
	padding: 0;
	width: 100%;
	position: relative;
	list-style: none;
	display: flex;
	justify-content: space-between;
}

.k-ball-holder li {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 1.5%;
}

.k-ball-holder img {
	width: 100%;
	display: block;
}

.k-ball-holder.shuffle li {
	animation-delay: 1s;
	-webkit-animation-delay: 1s;
}

.k-ball-holder .shuffle-first {
	animation-delay: 0s !important;
	-webkit-animation-delay: 0s !important;
}

.k-ball-holder.shuffle li:nth-child(1) {
	border: 0;
	margin: 0;
	-webkit-animation: k-card-a 2s ease infinite;
	animation: k-card-a 2s ease infinite;
	animation-delay: 1s;
	-webkit-animation-delay: 1s;
}

.k-ball-holder.shuffle li:nth-child(2) {
	border: 0;
	margin: 0;
	-webkit-animation: k-card-b 2s ease infinite;
	animation: k-card-b 2s ease infinite;
	animation-delay: 1s;
	-webkit-animation-delay: 1s;
}

.k-ball-holder li {
	width: 47%;
}

@-webkit-keyframes k-card-a {
	0%, 100% {
		-webkit-transform: translate(0);
		transform: translate(0)
	}
	25% {
		-webkit-transform: translate(120%) translate3d(0, 0, 0);
		transform: translate(120%);
	}
	50% {
		-webkit-transform: translate(0%);
		transform: translate(0%);
		z-index: 2;
		position: relative;
	}
	75% {
		-webkit-transform: translate(120%);
		transform: translate(120%);
	}
}

@keyframes k-card-a {
	0%, 100% {
		-webkit-transform: translate(0);
		transform: translate(0)
	}
	25% {
		-webkit-transform: translate(120%) translate3d(0, 0, 0);
		transform: translate(120%);
	}
	50% {
		-webkit-transform: translate(0%);
		transform: translate(0%);
		z-index: 2;
		position: relative;
	}
	75% {
		-webkit-transform: translate(120%);
		transform: translate(120%);
	}
}

@-webkit-keyframes k-card-b {
	0%, 100% {
		-webkit-transform: translate(0);
		transform: translate(0)
	}
	25% {
		-webkit-transform: translate(-120%);
		transform: translate(-120%);
	}
	50% {
		-webkit-transform: translate(0%);
		transform: translate(0%)
	}
	75% {
		-webkit-transform: translate(-120%);
		transform: translate(-120%);
	}
}

@keyframes k-card-b {
	0%, 100% {
		-webkit-transform: translate(0);
		transform: translate(0)
	}
	25% {
		-webkit-transform: translate(-120%);
		transform: translate(-120%)
	}
	50% {
		-webkit-transform: translate(0%);
		transform: translate(0%)
	}
	75% {
		-webkit-transform: translate(-120%);
		transform: translate(-120%)
	}
}

#beyond-cards-page {
	text-align: center;
}

.deck-container {
	aspect-ratio: 60 / 75;
	margin: 2vw auto;
	min-width: 140px;
	position: relative;
	width: 20vw;
}

@media (max-width: 820px) {
	.deck-container {
		width: 38vw;
		margin: 5vw auto;
	}
}

.deck {
	height: 100%;
	position: relative;
	width: 100%;
}

.card {
	box-sizing: border-box;
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.card img {
	display: block;
	height: 100%;
	left: 0;
	object-fit: cover;
	position: absolute;
	top: 0;
	transition: opacity 0.4s ease;
	width: 100%;
}

.img-back {
	opacity: 1;
	z-index: 10;
}

.card-scanner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 20;
	pointer-events: none;
	display: none;
}

.img-intermediate {
	opacity: 0;
	z-index: 30;
}

.img-final {
	opacity: 0;
	z-index: 40;
}

.card.scanning .card-scanner {
	display: block;
}

.card-scanner::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	animation: animateScan 2s ease-in-out infinite;
}

.card-scanner::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 6px;
	background: #1bafeb;
	border-radius: 8px;
	z-index: 25;
	box-shadow: 0 0 10px #1bafeb,
	0 0 25px #1bafeb;
	animation: animateLines 2s ease-in-out infinite;
}

@keyframes animateScan {
	0%, 100% {
		height: 0%;
	}
	50% {
		height: 100%;
	}
}

@keyframes animateLines {
	0%, 100% {
		top: 0%;
	}
	50% {
		top: 100%;
	}
}

.card.show-intermediate .img-intermediate {
	opacity: 1;
}

.card.show-final .img-final {
	opacity: 1;
}
