html {
	box-sizing: border-box;
}
*,
*::before,
*::after {
	box-sizing: inherit;
}
html,
body {
	width: 100%;
    font-style: normal!important;
    text-transform:uppercase!important;
}
.container {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
    width: 100%;
    padding: 0px!important;
}
h1 {
	font-family: 'Open Sans',serif;
    color: #868e96;
    font-size:calc(12px + 2vmin);
    line-height: calc(30px + 1vmin);
}
/*
 * Styles for the deck of cards
 */
i{
    font-style: normal;
}
.deck {
	width: 85%;
	background: #e6f7ff;
	padding: 1rem;
	border-radius: calc(1px + 1vmin);
	box-shadow: 5px 5px 45px 10px rgba(55, 55, 55, 0.85), inset -5px -5px 15px 5px rgba(55, 55, 55, 0.85);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: center;
	margin: 0 0 3em;
}
.deck .card {
	height: calc(12px + 12vmin);
	width: calc(12px + 12vmin);
	margin: 0.5vmin 0.5vmin;
	background: url(/img/pattern.png), #fff;
    -webkirt-background: url(/img/pattern.png), linear-gradient(to bottom, #fff 25%, #51e5fb 99.9%);
    background: url(/img/pattern.png), linear-gradient(to bottom, #fff 25%, #51e5fb 99.9%);
	font-size: 0;
	color: #fff;
	border-radius: calc(2px + 1.2vmin);
    border: none !important;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	box-shadow: 5px 2px 20px 0 rgba(55, 55, 55, 0.5), inset -5px -2px 20px 0 rgba(55, 55, 55, 0.8);
    text-align: center!important;
    font-family:'Open Sans',serif!important;
}
.deck .card.open {
	transform: rotateY(0);
	background: #02b3e4;
	cursor: default;
	animation-name: flipInY;
	-webkit-backface-visibility: visible !important;
	backface-visibility: visible !important;
	animation-duration: .75s;
}
.deck .card.show {
	font-size: calc(12px + 6vmin)!important;
    text-align: center!important;
    font-family:'Open Sans',serif!important;
}
.deck .card.match {
	cursor: default;
	background: #51e5fb;
	animation-name: rubberBand;
	-webkit-backface-visibility: visible !important;
	backface-visibility: visible !important;
	animation-duration: .75s;
    font-size: calc(12px + 6vmin)!important;
    text-align: center!important;
    font-family:'Open Sans',serif!important;
}
.deck .card.unmatched {
    background: #ffe6ff;
	animation-name: pulse;
	-webkit-backface-visibility: visible !important;
	backface-visibility: visible !important;
	animation-duration: .75s;
}
.deck .card.disabled {
	pointer-events: none;
	opacity: 0.9;
}
.deck .cardno {
    display: none
}
/*
 * Styles for the Score Panel
 */
.score-panel {
	text-align: left;
	margin-bottom: 10px;
    font-size: calc(5px + 1.4vmin);
}
.score-panel .stars {
	margin: 0;
	padding: 0;
	display: inline-block;
	margin: 0 5px 0 0;
}
.score-panel .stars li {
	list-style: none;
	display: inline-block;
}
.score-panel .restart {
	float: right;
	cursor: pointer;
}
.fa-star {
	color: #51e5fb !important;
}
.timer {
	display: inline-block;
	margin: 0 1rem;
}
/*
 * Styles for congratulations modal
 */
.overlay {
	position: absolute;
	top: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.7);
	transition: opacity 500ms;
	visibility: hidden;
	opacity: 0;
    z-index: -1;
}
.overlay:target {
	visibility: visible;
	opacity: 1;
}
.popup {
	margin: 70px auto;
	padding: 20px;
	background: #fff;
    -webkit-background-image: linear-gradient(to bottom, #fff 25%, #51e5fb 99.9%);
    background-image: linear-gradient(to bottom, #fff 25%, #51e5fb 99.9%);
	border-radius: calc(10px + 1vmin);
	width: 67%;
	position: relative;
	transition: all 5s ease-in-out;
    font-family: 'Saira Extra Condensed','Open Sans',serif;
    color: #343a40;
}
.popup h2 {
    text-align: center;
	margin-top: 0;
	color: #868e96;
	font-family: 'Open Sans',serif;
    font-size: calc(15px + 1vmin)!important;
}
.close {
	position: absolute;
	top: calc(4px + 0.4vmin);
	right: calc(6px + 1.2vmin);
	transition: all 200ms;
	font-size: calc(10px + 2.4vmin);
	font-weight: bold;
	text-decoration: none;
	color: #868e96;
}
.popup .close:hover {
	color: #51e5fb;
}
.show {
	visibility: visible !important;
	opacity: 100 !important;
    z-index: 2;
}
#starRating li {
	display: inline-block;
}
#play-again {
	background-color: #e6f7ff;
	padding: 0.7rem 1rem;
	font-size: calc(10px + 0.8vmin);
	display: block;
	margin: 0 auto;
	width: 50%;
	font-family: 'Saira Extra Condensed','Open Sans',serif;
	border-radius: calc(5px + 0.8vmin);
    outline: none;
    border: none;
}
.cardToggle {
	background-color: #e6f7ff;
	padding: 0.7rem 1rem;
	font-size: calc(10px + 0.8vmin);
	display: block;
	margin: 10px auto;
	width: 50%;
	font-family: 'Saira Extra Condensed','Open Sans',serif;
	border-radius: calc(5px + 0.8vmin);
    outline: none;
    border: none;
}
button{
    color: #343a40;
    -webkit-transition: box-shadow 1s, color 1s !important; /* Safari */
    transition: box-shadow 1s, color 1s!important;
}
button:hover{
    box-shadow: inset 0 0 20px 0 #fff !important;
    box-shadow: 0 0 20px 0 #fff !important;
    color: #51e5fb;
}
/* selector how many cards */
/*.c-2{
    display: flex ;
}
.c-3{
    display: none;
}
.c-4{
    display: none;
}
.c-5{
    display: none;
}
.c-6{
    display: none;
}
.c-7{
    display: none;
}
.c-8{
    display: none!important;
}*/
/* animations */
@keyframes flipInY {
	from {
		transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
		animation-timing-function: ease-in;
		opacity: 0;
	}

	40% {
		transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
		animation-timing-function: ease-in;
	}

	60% {
		transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
		opacity: 1;
	}

	80% {
		transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
	}

	to {
		transform: perspective(400px);
	}
}

@keyframes rubberBand {
	from {
		transform: scale3d(1, 1, 1);
	}

	30% {
		transform: scale3d(1.25, 0.75, 1);
	}

	40% {
		transform: scale3d(0.75, 1.25, 1);
	}

	50% {
		transform: scale3d(1.15, 0.85, 1);
	}

	65% {
		transform: scale3d(.95, 1.05, 1);
	}

	75% {
		transform: scale3d(1.05, .95, 1);
	}

	to {
		transform: scale3d(1, 1, 1);
	}
}

@keyframes pulse {
	from {
		transform: scale3d(1, 1, 1);
	}

	50% {
		transform: scale3d(1.2, 1.2, 1.2);
	}

	to {
		transform: scale3d(1, 1, 1);
	}
}

