/**** WEBSITE STYLING USING CSS ****/

/* Formatting the button */
.button {
	border: none;
	border-radius: 5px;
	/* Rounded corner feature (border-radius) shown on W3Schools */
	color: white;
	background-color: #FF4655;
	text-align: center;
	cursor: pointer;
	padding: 15px 50px;
	white-space: nowrap; 
	/* Prevents the text on the button from going across 2 or more lines */
	font-family: din-next;
	font-size: 18px;
	font-weight: bold;
}

/* Changes the text colour when hovered over with the cursor, code adapted from W3Schools */
.button:hover,.small-interactive-button:hover {
	color: #111111;
	transition: 0.3s;
}

/* Formatting a small button */
.small-button {
	border: none;
	border-radius: 5px;
	color: white;
	background-color: #FF4655;
	text-align: center;
	padding: 5px;
	margin-left: 12px;
	margin-bottom: 12px;
	width: 40%;
	white-space: nowrap; 
	font-family: din-next;
	font-size: 16px;
}

/* Formatting a small interactive button */
.small-interactive-button {
	border: none;
	border-radius: 5px;
	color: white;
	background-color: #FF4655;
	text-align: center;
	cursor: pointer;
	white-space: nowrap; 
	padding: 5px 15px;
	margin-left: 60px;
	margin-top: 20px;
	font-family: din-next;
	font-size: 16px;
	font-weight: bold;
}

/* Formatting for the back to top of page button */
.to-top-button {
	display: none;
	position: fixed;
	right: 0;
	bottom: 80px;
	color: white;
	background-color: #606060;
	border: none;
	text-align: center;
	cursor: pointer;
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
	padding: 0 10px;
	margin: 0;
	margin-top: 20px;
	font-size: 30px;
	font-weight: bold;
	font-family: din-next;
}

.to-top-button:hover {
	background-color: #FF4655;
	transition: 0.3s;
}




/* Formatting for the line across the page for content separation */
.page-line-with-spacing {
	align-content: center;
	width: 80%;
	margin: 40px auto;
}




/* Implementing custom fonts as shown on W3Schools */
/* Tungsten Bold font aquired from FontsFree.net */
@font-face {
	font-family: tungsten-bold;
	src: url(fonts/tungsten-bold.ttf);
}

/* Typo Grotesk font aquired from DaFont.com */
@font-face {
	font-family: typo-grotesk;
	src: url(fonts/typo-grotesk-demo.otf);
}

/* Din Next LT Pro Regular Font aquired from 8Font.com */
@font-face {
	font-family: din-next;
	src: url(fonts/din-next-lt-pro-regular.ttf);
}




/* Formatting all visible content using the <body> tag */
body {
	overflow-x: hidden; 
	/* To get rid of the horizontal scroll bar as it's unnecessary. Showcased on W3Schools*/
	background-color: #EAEAEA;
	margin: 0; 
	/* Gets rid of white lines along the edges of the page */
	width: 100%;
	min-height: 100vh; 
	/* Sets the height just high enough where a scrollbar is required */
}

/* <p> tag text formatting */
p {
	font-family: din-next, sans-serif;
}

/* Heading formatting */
h1 {
	font-family: tungsten-bold, monospace, sans-serif;
	font-size: 150px;
	color: white;
	text-align: center;
	margin: 0;
}

h2 {
	font-family: tungsten-bold, monospace, sans-serif;
	font-size: 130px;
	color: #202124;
	margin-left: 120px;
	margin-right: 120px;
	margin-top: 120px;
	margin-bottom: 60px;
}

h3 {
	font-family: typo-grotesk, monospace, sans-serif;
	color: #202124;
	font-size: 24px;
	margin-left: 60px;
	white-space: nowrap;
}

h4 {
	font-family: typo-grotesk, monospace, sans-serif;
	color: #202124;
	font-size: 22px;
	white-space: nowrap;
	text-align: left;
	margin: 0;
	margin-left: 12px;
	margin-top: 12px;
}

/* Formatting for the contact form */
form {
	padding: 30px;
	border: 1px solid #CCCCCC;
	background-color: #606060;
	border-radius: 10px;
}

/* Formatting for form labels */
label {
	font-family: din-next, sans-serif;
	font-size: 18px;
	color: white;
}

/* Formatting for the drop-down menu items, under <select> tag */
option {
	font-family: din-next, sans-serif;
}

/* Formatting the website's name title at the top of pages other than the homepage */
.main-title {
	margin: 0;
	margin-top: 60px;
	margin-left: 0;
	text-align: center;
}

/* Formatting of the agents title text */
.agents-title {
	margin-left: 60px;
	line-height: 110px;
}

/* Formatting of the maps title text */
.maps-title-homepage {
	white-space: normal;
	margin-top: 60px;
	line-height: 110px;
}

/* Formatting of the news title text */
.news-title-homepage {
	white-space: nowrap;
	margin-top: 0;
}

/* Formatting the subheading displayed on top of the video */
.subheading {
	font-family: din-next, "gill sans", monospace, sans-serif;
	font-size: 30px;
	font-weight: bold;
	color: white;
	white-space: nowrap;
	margin: 0;
}

/* Formatting the title text displayed on the maps and arsenal pages within the grid layout cards */
.map-title,.weapon-name {
	font-family: din-next, monospace, sans-serif;
	color: white;
	font-size: 22px;
	letter-spacing: 1px;
	/* Letter spacing property acquired from W3Schools */
	text-align: center;
	margin-left: 0;
	margin-top: 6px;
	font-weight: normal;
}

/* Formatting for the category of weapons titel, used in the arsenal page*/
.weapon-category-title {
	font-size: 24px;
	margin-left: 120px;
}

/* The text chunk formatting displayed on the homepage */
.content-text {
	line-height: 24px;
	font-size: 16px;
	color: #616462;
}

/* Formatting simple text hyperlink */
.link-text {
	margin-left: 60px;
}




/* Text overlayed on top of the video */
.overlay {
	position: absolute;
	z-index: 5; /* Sets the navigation bar on top of other elements, code adapted from  StackOverflow*/
	width: 100%;
	top: 30px;
}

/* #id Selector used to format a video */
#valorant_video {
	width: 100%;
	height: 100%;
	position: relative;
}





/* Navigation bar ideas obtained from W3Schools */
/* Represents the navigation bar block */
.navbar {
	background-color: #111111;
	width: 100%; 
	top:0;
	position: fixed;
	z-index: 10; 
}

/* Represents the individual item in the navigation bar */
.navbar a {
	float: left; 
	/* Moves navigation list items next to each other in a row instead of having them across separate lines */
	color: white;
	width: 20%;
	padding: 15px 0;
	font-family: din-next;
	text-align: center;
	text-decoration: none;
}

/* Changes colour of the navigation bar item when hovered over the inactive pages, code adapted from W3Schools */
.navbar a:hover:not(.active) {
	background-color: #333333;
}

/* Changes formatting of the current active page in the navigation bar */
.active {
	background-color: #FF4655;
	font-weight: bold;
}

/* Used to offset the navigation bar as it is floating above other content.
This means that no content will now be displayed below it at the top of the page */
.navbar-offset {
	width: 100%;
	top: 0;
	left: 0;
	height: 49px;
}




/* Places content in the centre of the screen or container; vertically and horizontally */
.content-centre {
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

/* Horizontally centres the content on the page */
.horizontal-centre {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}

/* Places a button in the center horizontally */
.center-button {
	text-align: center;
}

/* Aligns an object to the left of the page or container */
.align-left {
	object-position: left;
}

/* Aligns text to the right of the page or container */
.align-right {
	text-align: right;
}

/* Aligns an object to the bottom of the page or container */
.align-bottom {
	position: absolute;
	bottom: 0;
}




/* Grid ('row' class and subclasses) properties acquired from W3Schools */
/* Grid layout with a text and an image showcased by Developer Hub on YouTube */
/* Repeat() function and the 'fr' (fraction) units also showcased by Developer Hub*/
.row {
	width: 90%;
	max-width: 1800px;
	display: grid;
	grid-template-columns: repeat(2, 1fr); 
	grid-gap: 30px 30px;
}

.row body {
	display: grid;
	place-items: center;
	width: 100%;
}

/* Formatting the left coloumn of the grid layout */
.row .left {
	overflow: hidden;
	display: flex;
}

/* Formatting the image in the left coloumn of the grid layout */
.row .left img {
	width: 100%;
	max-width: 90%;
	height: 100%;
	object-fit: cover;
	padding-left: 60px;
}

/* Formatting the text in the right coloumn of the grid layout */
.row .right {
	display: flex;
	align-items: center;
	padding-right: 60px;
}

.row .right .content-text {
	padding-left: 60px;
}





/* Displaying contents in the form of a grid, shown on W3Schools*/
/* Declaring multiple classes at the same time, shown on GeeksForGeeks website */
.grid-container,.grid-container-landscape,.grid-container-sidearms,.grid-container-smgs,.grid-container-shotguns,.grid-container-rifles,.grid-container-snipers,.grid-container-heavies,.grid-container-melee {
	width: 90%;
	display: grid;
	grid-template-columns: 310px 310px 310px;
	grid-template-rows: 340px 340px 340px 340px 340px 340px 340px;
	grid-gap: 30px;
	margin: 60px auto;
	justify-content: center; 
	/* Centering flexible container (grid) on page, shown on W3Schools */
	overflow: hidden;
}

/* Formatting for the grid of SMGs, shotguns, sniperss and heavy weapons on the arsenal page */
.grid-container-smgs,.grid-container-shotguns,.grid-container-snipers,.grid-container-heavies {
	margin-top: 30px;
	grid-template-columns: 300px 300px;
	grid-template-rows: 160px;
}

/* Formatting for the grid of sidearms & rifles on the arsenal page */
.grid-container-sidearms,.grid-container-rifles {
	margin-top: 30px;
	grid-template-columns: 300px 300px 300px;
	grid-template-rows: 160px 160px;
}

/* Formatting for the melee grid on the arsenal page */
.grid-container-melee {
	margin-top: 30px;
	grid-template-columns: 300px;
	grid-template-rows: 160px;
}

/* Formatting for the grid on the maps page */
.grid-container-landscape {
	margin-top: 30px;
	grid-template-columns: 300px 300px 300px;
	grid-template-rows: 215px 215px 215px;
}

/* Formatting for individual items of the maps grid */
.grid-item-landscape {
	border-radius: 10px;
	background-color: #606060;
}

.grid-item-landscape:hover {
	background-color: #FF4655;
	transition: 0.3s;
}

/* Formatting individual items of the grid */
.grid-item {
	border: 1px solid #111111;
	border-radius: 10px;
	position: relative;
}

/* Changes the background colour of the grid cell when hovered over with the cursor */
.grid-item:hover {
	background-color: #C4C4C4;
	transition: 0.5s;
}

/* Formatting the grid text */
.grid-item .content-text {
	margin-left: 12px;
	margin-right: 8px;
	margin-top: 8px;
}

/* Formatting the agent icons */
.agent-icon {
	margin-top: 12px;
	margin-left: 10px;
	height: 80px;
	width: 80px;
	border-radius: 50%;
}

/* Formatting the landscape images within a grid */
.landscape-image {
	margin: 0;
	width: 100%;
	border-top-left-radius: 9px;
	border-top-right-radius: 9px;
	/* Used 9px here instead of 10px as in .grid-item-landscape because some red (hover colour) was showing by the edges */
}

.standard-image {
	width: 90%;
	max-width: 90%;
	height: 100%;
	margin-left: 60px;
}




/* Formatting the container of each weapons category on the arsenal page */
.weapons-container {
	margin: 20px 0;
}

/* Formatting for the form container */
.form-container {
	display: flex;
	justify-content: center;
	/* Cuts of a small bit of the edge of the input boxes if set to -50% */
	padding-top: 30px;
	padding-bottom: 30px;
}

.form-item-container {
	margin: 0;
	padding: 20px 0;
}




/* Formatting for the footer block */
.footer-container {
	margin-top: 40px;
	width: 100%;
	display: block;
	text-align: center;
	position: relative;
	bottom: 0;
}




/* Using the @media rule to change the sizes of the images and text, and adjust the layout of the page */
/* Therefore, implementing responsive design, (showcased on W3Schools). */
@media (min-width: 1600px) {
	.weapon-category-title{
		margin-left: 360px;
	}
}

@media (min-width: 1300px) {
	.row .right {
		width: 60%;
		padding-left: 120px;
	}
	h2 {
		margin-left: 60px;
		margin-top: 50px;
	}
	h2 .maps-title-homepage {
		white-space: nowrap;
	}
	h3 .weapon-category-title {
		font-size: 26px;
		margin-left: 250px;
	}
}

@media (max-width: 1400px) {
	.overlay {
		top: 40px;
	}
	h1 {
		font-size: 95px;
	}
	h2 {
		margin-left: 60px;
		margin-top: 40px; 
		margin-bottom: 30px;
	}
	.subheading {
		font-size: 18px;
	}
	.maps-title-homepage {
		margin-left: 60px;

	}
}

@media (max-width: 1120px) {
	 .main-title {
		font-size: 100px;
		margin-bottom: 30px;
	}
	.grid-container {
		grid-template-columns: 310px 310px;
		grid-template-rows:340px 340px 340px 340px 340px 340px 340px 340px 340px 340px 340px;
	}
	.grid-container-landscape {
		grid-template-columns: 300px 300px;
		grid-template-rows: 215px 215px 215px 215px 215px;
	}
	.grid-container-sidearms {
		grid-template-columns: 300px 300px;
		grid-template-rows: 160px 160px 160px;
	}
	.grid-container-rifles {
		grid-template-columns: 300px 300px;
		grid-template-rows: 160px 160px;
	}
	h3 {
		font-size: 20px;
		margin-top: 0;
		margin-bottom: 0;
	}
	.weapon-category-title {
		margin-left: 80px;
	}
}

@media (max-width: 1000px) {
	.row {
		width: 90%;
		grid-template-columns: 1fr;
	}
	.row .left img {
		max-width: 87%;
	}
	.title-container {
		margin-bottom: 30px;
	}
	h1 {
		font-size: 70px;
	}
	h2 {
		font-size: 50px;
		margin-left: 60px;
		margin-bottom: 30px;
	}
	.agents-title {
		margin: 0 60px;
	}
	.maps-title-homepage {
		margin: 0 60px;
	}
	.subheading {
		font-size: 18px;
	}
	.overlay {
		top: 220px;
	}
	.navbar a {
	padding: 8px 0;
	}
}

@media (max-width: 750px) {
	.grid-container {
		grid-template-columns: 310px;
		grid-template-rows:340px 340px 340px 340px 340px 340px 340px 340px 340px 340px 340px 340px 340px 340px 340px 340px 340px 340px 340px 340px 340px;
	}
}

@media (max-width: 720px) {
	 .main-title {
		font-size: 60px;
		margin-bottom: 20px;
	}
	.grid-container-landscape {
		grid-template-columns: 300px;
		grid-template-rows: 215px 215px 215px 215px 215px 215px 215px 215px 215px;
	}
	.grid-container-sidearms {
		grid-template-columns: 300px;
		grid-template-rows: 160px 160px 160px 160px 160px;
	}
	.grid-container-smgs,.grid-container-shotguns,.grid-container-snipers,.grid-container-heavies {
		margin-top: 30px;
		grid-template-columns: 300px;
		grid-template-rows: 160px 160px;
	}
	.grid-container-rifles {
		margin-top: 30px;
		grid-template-columns: 300px;
		grid-template-rows: 160px 160px 160px 160px;
	}
	.weapon-category-title {
		margin-top: 70px;
		margin-left: 40px;
	}
}

@media (max-width: 600px) {
	.navbar a {
		padding: 5px 0;
		font-size: 14px;
	}
	.row .left img{
		max-width: 75%;
	}
	.title-container {
		margin-left: 60px;
		margin-bottom: 30px;
	}
	.overlay {
		top: 130px;
	}
	.agents-title {
		margin: 0 60px;
		white-space: nowrap;
	}
	.maps-title-homepage {
		white-space: nowrap;
	}
	h2 {
		white-space: nowrap;
	}
	h3 {
		margin-top: 0;
		margin-bottom: 0;
		white-space: normal;
	}
}

@media (max-width: 440px) {
	h1 {
		font-size: 50px;
	}
	.subheading {
		font-size: 14px;
	}
	.overlay {
		top: 100px;
	}
}


