/* Author: Kyle Moore
	Date:10/17/2025
	File Name: style.css
	*/
	
/* CSS Reset*/
body, header, nav, main, footer, h1, div, img, ul, figure, figcaption, section, article, aside, audio, video {
		margin: 0;
		padding: 0;
		border: 0;
}

/* style rules for body and images */
body {
	  background-color: #6A5ACD;
}

img, video {
		max-width: 100%;
		display: block;
}

/* style rule for box sizing applies to all elements */
* {
	box-sizing: border-box;
}

.skip {
		position: absolute;
		left: -999px;
}

.skip:focus {
		color: #000;
		background-color: #fff;
		text-decoration: none;
		padding: 0.5%;
		top: auto;
		left: auto;
		right: 1px;
		z-index: 1;
}


/* Style rules for mobile viewport */

/* style rule for header */
header {
		top: 0;
		background-color: #6A5ACD;
		height: 190px;
}

header img {
		margin: 0 auto;
}

/* Style rules for hamburger menu*/

.mobile-nav a {
		color: #fff; 
		font-family: "Francois One", sans-serif;
		text-align: center;
		font-size: 2em;
		text-decoration: none;
		padding: 3%;
		display: block;
}

.mobile-nav a.menu-icon {
		display: block;
		position: absolute;
		right: 0;
		top: 0;
}

/* Show mobile class, hide tablet-desktop class and menu-linkks id */
.mobile {
		display: block;
}

.tablet-desktop, #menu-links {
		display: none;
}

/* style rules for main content */
main {
	background-color: #6A5ACD;
	padding: 2%;
	font-size: 1.15em;
	font-family: "Roboto Slab", serif;
}

video {
		margin: 0 auto 4%;
}

.mobile h3 {
		text-shadow: 5px 5px 8px  #ccc;
}

article {
		padding: 2%;
}

article h3 {
		text-align: center;
}

article img {
		margin: 0 auto;
}

article ul {
		margin-left: 10%;
}

article:nth-of-type(2) {
		background-color: rgba(204, 204, 204, 0.3);
}

.tel-link {
		background: #404040;
		padding: 2%;
		margin: 0 auto;
		width: 80%;
		text-align: center;
		border-radius: 5px;
}

.tel-link a {
		color: #fff;
		text-decoration: none;
		font-size: 1.5em;
		display: block;
}

.action {
		font-size: 1.35em;
		color: 	#7FFF00;
		font-weight: bold;
		text-shadow: 5px 5px 8px #ccc;
}

.frame {
		position: relative;
		max-width: 450px;
		margin: 2% auto;
}

.pic-text {
		position: absolute;
		bottom: 0;
		background: rgba(0, 0, 0, 0.5);
		color: #fff;
		width: 100%;
		padding: 20px;
		text-align: center;
		font-family: Verdana, Arial, sans-serif;
		font-size: 1.5em;
		font-weight: bold;
}

#games, #community, #explore {
		margin: 0 2%;
}

.round {
		border-radius: 8px;
}

.external-link {
		color: #000;
		font-weight: bold;
		text-decoration: none;
}

#contact {
		text-align: center;
}

#contact .contact-email-link {
		color: #666600;
		text-decoration: none;
}

#form {
		margin-top: 2%;
		background-color: #f2f2f2;
		padding: 1%;
}

#form h2 {
		text-align: center;
}
		
/* style rules for footer content */
footer .copyright {
		font-size: 0.75em;
		text-align: center;
		color: #000;
		padding: 2% 4%;
		float: left;
		width: 75%;
}

/* Style rules for form elements */
fieldset, input, select, textarea {
		margin-bottom: 2%;
}

fieldset legend {
		font-weight: bold;
		font-size: 1.25em;
}

label {
		display: block;
		padding-top: 3%;
}

form #submit {
		margin: 0 auto;
		border: none;
		display: block;
		padding: 2%;
		background-color: #b3b3b3;
		font-size: 1em;
		border-radius: 10px;
}

footer p a {
		color: #000;
		text-decoration: none;
}

.social {
		float: right;
		width: 20%;
		padding: 2%
}

.social img {
		display: inline-block;
		padding: 5%;
}

/* Media Query for Tablet Viewport */
@media screen and (min-width: 630px), print {
	
/* table Viewport: Show tablet-desktop class, hind mobile class */
.tablet-desktop {
		display: block;
}

.mobile, .mobile-nav {
		display: none;
}

/* Tablet Viewport: Style rules for table */
table {
		border: 1px solid #000;
		border-collapse: collapse;
		margin: 0 auto;
		width: 100%;
}

caption {
		font-size: 1.5em;
		font-weight: bold;
		padding: 1%;
}

th, td {
		border: 1px solid #000;
		padding: 2%;
}

th {
		background-color: #000;
		color: #fff;
		font-size: 1.15em;
}

tr:nth-child(odd) {
		background-color: #ccc;
}

/* Tablet Viewport: Style rule for form element */
form {
		width: 50%;
		margin: 0 auto;
}

/* Tablet Viewport Animation */
@-webkit-keyframes text-animation {
		0% { font-size: 1em; }
		50% { font-size: 2em; }
		100% { font-size: 1.35em; }
}

@keyframes text-animation {
		0% { font-size: 1em; }
		50% {font-size: 2em; }
		100% {font-size: 1.35em; }
}

figcaption {
		-webkit-animation-name: text-animation;
		animation-name: text-animation;
		-webkit-animation-delay: 3s;
		animation-delay: 3s;
		-webkit-animation-duration: 5s;
		animation-duration: 5s;
}
		
/* Tablet Viewport: Style rule for header */
header {
		padding-bottom: 2%;
}

/* Tablet Viewport: Style rules for nav area */
nav {
		padding: 1%;
		margin-bottom: 1%;	
}

nav ul {
		list-style-type: none;
		text-align: center;
}

nav li {
		font-size: 1.5em;
		font-family: "Francois One", sans-serif;
		display: inline-block;
		border-right: 1px solid #fff;
}

nav li:last-child {
		border-right: none;
}

nav li a {
		padding: 0.1em 0.75em;
		display: block;
		color: #fff;
		text-decoration: none;
}

/* Tablet Viewport: Style rules for main content area */
main ul {
		margin: 0 0 4% 10%;
}

.grid {
		display: grid;
		grid-template-columns: auto auto auto;
		grid-gap: 20px;
}

.pic-text {
		font-size: 1em;
		padding: 10px;
}

aside {
		text-align: center;
		font-size: 1.25em;
		font-style: italic;
		font-weight: bold;
		padding: 2%;
		background-color: rgba(204, 204, 204, 0.5);
		box-shadow: 5px 5px 8px #000;
		text-shadow: 5px 5px 5px #b3b3b3;
		border-radius: 0 15px;
}

.grid-item4 {
		grid-column: 1 / span 3;
}

#platform {
		border-top: 1px solid #0000FF;
		border-bottom: 1px solid #0000FF;
		background: linear-gradient(to right,  #c266ff, #e0b3ff);
		background-color: #F0F8FF;
		padding: 1% 2%;
}

#platform dt {
		font-weight: bold;
}

#platform dd {
		padding: 0.5% 1% 2% 0;
}

.viewex {
		font-weight: bold;
		cursor: pointer;
}

#example {
		display: none;
}

.tel-num {
		font-size: 1.25em;
}

}

/* Media Query for Desktop Viewport */
@media screen and (min-width: 1015px), print {
	
/* Desktop Viewport: Style rule for header */
header {
		width: 25%;
		float: left;
		padding-bottom: 0;
}

/* Desktop Viewport: Style rules for nav area */
nav {
		float: right;
		width: 70%;
		margin: 4em 1em 0 0;
}

nav ul {
		text-align: right;
}

nav li {
		border: none;
}

nav li a {
		padding: 0.5em 1em;
}

nav li a:hover {
		color: #000;
		background-color: #fff;
		transform: scale(1.3);
}

/* Desktop Viewport: Style Rules for main content */
main {
		clear: left;
}

main h1 {
		font-size: 1.8em;
}

article h3 {
		font-size: 1.75em;
}

.pic-text {
		font-size: 1.5em;
		padding: 20px;
}

.frame {
		opacity: 0.9;
}

.frame:hover {
		opacity: 1;
		box-shadow: 8px 8px #808080;
		transform: translateY(10px);
}

#games, #community, #explore {
		width: 29%;
		float: left;
		margin: 0 2%;
}

#platform {
		clear: left;
}

.offer:hover {
		transform: scale(1.25);
		cursor: pointer;
}

/* Desktop Viewport: Style rules for form elements */
form {
		width: auto;
}


.form-grid {
		display: grid;
		grid-template-columns: auto auto;
		grid-gap: 10px;
}

.btn {
		grid-column: 1 /span 2;
}

}

/* Media Query Large Desktop Viewports */
@media screen and (min-width: 1921px) {
	
#container {
		width: 1920px;
		margin: 0 auto;
}

table {
		width: 80%;
}

}

/* Media Query for Print */
@media print {
	
	body {
			background-color: #fff;
			color: #000;
	}


}