/**Part 0: General Rules*/

html {
	background: linear-gradient(to bottom right, #39f 0, #0f9 100%);
	zoom: 0.98;
	-moz-transform: scale(0.98);
	-moz-transform-origin: 50% 0;
	overflow: hidden;
	/**important so it will always display one html page,
	it does not matter if you make it responsive. It shows only one.*/
	height: 100%;
}

body {
	/**important because it full the page*/
	height: 100%;
	overflow-y: auto;
	line-height: 1.5;
	background: white;
	/**top, right, bottom, left*/
	margin: 0 120px 0 120px;
}

div {
	text-align: center;
}

table {
	font-size: 1em;
	border: 3px solid black;
	width: 100%;
	border-collapse: collapse;
	margin: auto;
	color: black;
}

caption {
	background-color: white;
	font-style: italic;
	border: 3px solid black;
	border-bottom: 0;
}

thead {
	background-color: #9da3b0;
	border: 3px solid black;
	text-align: center;
}

tbody {
	text-align: center;
	border: 3px solid black;
}

th {
	letter-spacing: 2px;
	padding-left: 20px;
	padding-right: 20px;

}

td {
	letter-spacing: 1px;
	padding-left: 16px;
	padding-right: 16px;
}

tbody tr:nth-child(even) {
	background-color: #9da3b0;
}

tbody tr:nth-child(odd) {
	background-color: white;
}

button {
	text-align: center;
	background-color: white;
	color: black;
	font-size: 1.0em;
	cursor: pointer;
	/**top, right, bottom, left*/
	padding: 10px 20px 10px 20px;
	border: 0;
}

.big-font {
	background: -webkit-linear-gradient(#39f, #0f9);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font: 1.5em normal;
}

.hide {
	display: none;
}

footer {
	text-align: center;
	color: red;
}

/** Part 1: Header*/
h1 {
	font: 3.0em/1.4 normal;
	text-align: center;
	margin: 0;
	padding: 0;
}

h2 {
	font: 2.0em/1.3 normal;
	text-align: center;
	margin: 0;
	padding: 0;
}

/** Part 2: Rigth Below Header Upper Part Buttons*/
.btn-background {
	color: #39f;
}

.btn-hard-level {
	color: red;
}

.btn-easy-level {
	color: green;
}

/**zoom compatible with firefox browsers!!*/
.zoom-in {
	zoom: 1.2;
	-moz-transform: scale(1.2);
	-moz-transform-origin: 50% 0;
}

.zoom-out {
	zoom: 0.8;
	-moz-transform: scale(0.7);
	-moz-transform-origin: 50% 0;
}

.active {
	/**for the sound*/
	color: #39f;
	-webkit-touch-callout: none;
	/**iOS Safari*/
	-webkit-user-select: none;
	/**Safari*/
	-khtml-user-select: none;
	/**Konqueror HTML*/
	-moz-user-select: none;
	/**Firefox*/
	-ms-user-select: none;
	/**Internet Explorer/Edge*/
	user-select: none;
	/**Non-prefixed version, currently
  supported by Chrome and Opera */
}

.tool-tip {
	position: relative;
	display: block;
}

.tip .tip-text {
	visibility: hidden;
	width: auto;
	background-color: #39f;
	color: black;
	text-align: center;
	border-radius: 0;
	margin: 0;
	padding: 4px 4px 4px 4px;
	/**top, right, bottom, left*/
	font-size: 2em;
	/**Setting the position of the tip and effect */
	position: absolute;
	z-index: 1;
	opacity: 0;
	transition: opacity 0.3s;
}

.tip:hover .tip-text {
	top: 64px;
	visibility: visible;
	opacity: 0.8;
}

/** Part 3: Stars*/
.stars {
	text-align: center;
}

.stars>img {
	max-width: 48px;
	max-height: 48px;
}

/** Part 4: Grid Container, Cards*/
.grid-container {
	display: grid;
	grid-template-columns: auto auto auto auto;
	background: linear-gradient(to bottom right, #39f 0, #0f9 100%);
	grid-gap: 12px;
	/**top, right, bottom, left*/
	padding: 25px 10px 25px 10px;
	border-radius: 12px;
	max-width: 600px;
	justify-content: space-evenly;
	margin: auto;
	/** big grid stay at the center*/
	border: 1.5px solid;
}

.grid-container.wide {
	grid-template-columns: auto auto auto auto auto auto auto auto;
	max-width: 1000px;
}

.grid-container>div {
	background: linear-gradient(to bottom right, #566573 0, #9cf 100%);
	cursor: pointer;
	min-width: 64px;
	min-height: 64px;
	margin: auto;
	border-radius: 8px;
	/**top, right, bottom, left*/
	padding: 25px 10px 25px 10px;
	border: 1.5px solid;
	box-shadow: 6px 6px gray;
}

.material-icons {
	/**top, right, bottom, left*/
	padding: 8px 3px 3px 4px;
}

@-webkit-keyframes swing-error

/**for internet explorer*/
	{
	15% {
		-webkit-transform: translateX(15px);
		transform: translateX(15px);
	}

	30% {
		-webkit-transform: translateX(-10px);
		transform: translateX(-10px);
	}

	50% {
		-webkit-transform: translateX(6px);
		transform: translateX(6px);
	}

	65% {
		-webkit-transform: translateX(-3px);
		transform: translateX(-3px);
	}

	80% {
		-webkit-transform: translateX(1px);
		transform: translateX(1px);
	}

	100% {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
}

@keyframes swing-error

/**for other browsers*/
	{
	15% {
		-webkit-transform: translateX(15px);
		transform: translateX(15px);
	}

	30% {
		-webkit-transform: translateX(-10px);
		transform: translateX(-10px);
	}

	50% {
		-webkit-transform: translateX(6px);
		transform: translateX(6px);
	}

	65% {
		-webkit-transform: translateX(-3px);
		transform: translateX(-3px);
	}

	80% {
		-webkit-transform: translateX(1px);
		transform: translateX(1px);
	}

	100% {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
}

.grid-container .effect-error {
	background: red;
	-webkit-animation: swing-error 0.9s ease;
	animation: swing-error 0.9s ease;
	-webkit-animation-iteration-count: 1;
	animation-iteration-count: 1;
}

.grid-container .effect-correct {
	background: #58D68D;
	border: 2.5px solid;
}

.grid-container .effect-rotate {
	transform: rotateY(180deg);
	transition: transform 0.5s ease;
}

.material-icons {
	padding-top: 9px;
	padding-left: 4px;
}

.material-icons.icon-size {
	font-size: 48px;
}

.material-icons.button-size {
	font-size: 36px;
}

/** Part 5: sidenav */
.sidenav {
	top: 0;
	margin: 0;
	padding-top: 10%;
	width: 50%;
	height: 100%;
	position: fixed;
	/**NOT ABSOLUTE: very important because of the main:Y-Scroll*/
	transform: translate(0, -10000px);
	transition: transform 0.2s ease;
	z-index: +1;
}

.sidenav.open {
	top: 0;
	padding-top: 0;
	right: 25%;
	background: linear-gradient(to bottom right, #39f 0%, #0f9 100%);
	color: white;
	transform: translate(0, 0);
	transition: transform 0.3s ease;
	font-size: 2em;
	overflow-y: auto;
	overflow-x: auto;
}

.big-font-sidenav {
	color: red;
}

.button-sidenav {
	background-color: white;
	color: black;
	cursor: pointer;
	border-radius: 20px;
}

.button-sidenav:hover {
	background-color: red;
	color: white;
}

.sidenav a {
	/**top, right, bottom, left*/
	padding: 32px 8px 8px 32px;
	text-decoration: none;
	color: white;
	/**gray*/
	display: block;
	transition: 0.3s;
}

.sidenav a:hover {
	color: black;
	font-size: 2em;
}

.hamburger {
	color: black;
	font-size: 2.0em;
	cursor: pointer;
	z-index: +1;
}

.hamburger.open {
	display: none;
}

/** Part 6: Responsive Web Design*/
@media screen and (min-width: 1001px) {
	.id-hamburger-sidenav-2 {
		display: none;
	}

	.shortName,
	.shortName {
		display: none;
	}

}

@media screen and (max-width: 1000px) {

	.b-description,
	.longName {
		display: none;
	}

	h1 {
		font: 2.8em/1.3 normal;
		text-align: center;
	}

	h2 {
		font: 2.0em/1.3 normal;
		text-align: center;
	}

	body {
		height: 100%;
		/**top, right, bottom, left*/
		margin: 0 60px 0 60px;
		overflow-y: scroll;
		line-height: 2.0;
	}

	.container-stars>img {
		max-width: 48px;
		max-height: 48px;
	}

	.container-buttons {
		display: none;
	}

	.tip-text {
		display: none;
	}

	.grid-container {
		grid-gap: 6px;
		/**top, right, bottom, left*/
		padding: 6px 2px 6px 2px;
		border-radius: 6px;
		margin: auto;
	}

	.grid-container.wide {
		grid-template-columns: auto auto auto auto auto auto;
		max-width: 100%;
	}

	.grid-container>div {
		min-width: 64px;
		min-height: 76px;
		margin: auto;
		border-radius: 6px;
		padding: 3px 3px 3px 3px;
		/**top, right, bottom, left*/
		border: 0.7px solid;
		box-shadow: 5px 5px gray;
	}

	.material-icons {
		/**top, right, bottom, left*/
		padding: 14px 3px 3px 5px;
	}

	.music-background {
		max-width: 250px;
	}

	.sidenav.open {
		line-height: normal;
		font-size: 1.6em;
		right: 0;
		overflow-y: auto;
	}

	.sidenav {
		width: 100%;
	}

	.c-stars {
		max-width: 24px;
		max-height: 24px;
	}
}

@media screen and (max-width: 600px) {
	h1 {
		font: 2.3em/1.3 normal;
		text-align: center;
	}

	h2 {
		font: 1.3em normal;
		text-align: center;
	}

	body {
		height: 100%;
		margin: 0;
		overflow-y: scroll;
		line-height: 1.5;
	}

	.container-stars>img {
		max-width: 32px;
		max-height: 32px;
	}

	.grid-container {
		grid-gap: 6px;
		/**top, right, bottom, left*/
		padding: 6px 2px 6px 2px;
		border-radius: 6px;
		max-width: 100%;
	}

	.grid-container.wide {
		grid-template-columns: auto auto auto auto;
		max-width: 100%;
	}

	.grid-container>div {
		min-width: 64px;
		min-height: 64px;
		margin: auto;
		border-radius: 6px;
		/**top, right, bottom, left*/
		padding: 3px 3px 3px 3px;
		border: 0.7px solid;
		box-shadow: 3px 3px gray;
	}

	.material-icons {
		/**top, right, bottom, left*/
		padding: 8px 3px 3px 3px;
	}

}
