/*FONT*/
@font-face {
    font-family: codeFont;
    src: url(../fonts/SourceCodePro-Regular.ttf);
}

* 
{
	font-family: codeFont;
	box-sizing: border-box;
}

/*BASICS*/
footer
{
	background-color: #111111;
	overflow: hidden;
	position: fixed;
	width: 100%;
	height: 10%;
	padding: 0% 1% 0% 1%;
	bottom: 0px;
}

header 
{
	text-align: center;
}

header h1 
{
	color: #711988;
}

body 
{
	color: white;
	margin: 0;
	background: #3A035E no-repeat center center fixed;
	background-image: linear-gradient(rgba(2,0,36,1) 0%, rgba(58,10,132,1) 59%, rgba(115,58,247,1) 100%);
}

/*NAVIGATION BAR CSS*/
.header {
	background-color: #111111;
	color: white;
	box-shadow: 1px 1px 4px 0 rgba(0,0,0,.1);
	width: 100%;
	z-index: 3;
	text-transform: uppercase;
}

.header ul {
	margin: 0;
	padding: 0;
	list-style: none;
	overflow: hidden;
	background-color: #111111;
}

.header li a {
	display: block;
	padding: 20px 20px;
	text-decoration: none;
	color: white;
}

.header li a:hover,
.header .menu-btn:hover {
	background-color: #711988;
	color: white;
}

.header .menu {
		clear: both;
		max-height: 0;
		transition: max-height .2s ease-out;
		align-items: center;
		width: 100%;
	}

.header .menu-icon {
	cursor: pointer;
	display: inline-block;
	float: right;
	padding: 28px 20px;
	position: relative;
	user-select: none;
}

.header .menu-icon .navicon {
	background: #333;
	display: block;
	height: 2px;
	position: relative;
	transition: background .2s ease-out;
	width: 18px;
}

.header .menu-icon .navicon:before,
.header .menu-icon .navicon:after {
	background: #333;
	content: '';
	display: block;
	height: 100%;
	position: absolute;
	transition: all .2s ease-out;
	width: 100%;
}

.header .menu-icon .navicon:before {
	top: 5px;
}

.header .menu-icon .navicon:after {
	top: -5px;
}

.header .menu-btn {
	display: none;
}

.header .menu-btn:checked ~ .menu {
		max-height: 240px;
}

.header .menu-btn:checked ~ .menu-icon .navicon {
	background: transparent;
}

.header .menu-btn:checked ~ .menu-icon .navicon:before {
	transform: rotate(-45deg);
}

.header .menu-btn:checked ~ .menu-icon .navicon:after {
	transform: rotate(45deg);
}

.header .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before,
.header .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
	top: 0;
}

/*ABOUT ME PAGE*/
#Skills 
{
	padding: 1%;
	display: block;
	background-color: #222;
	height: 100%;
	width: 20%;
	border-radius: 25px;
	max-height: 100%;
}

#Info
{
	display: block;
	background-color: #222;
	width: 80%;
	border-radius: 25px;
	padding: 1%;
	margin: 0px 0px 0px 5px;
}

/*SHOWCASE PAGE*/
.tabNav
{
	background-color: #222;
	width: 15%;
	border-radius: 0px 50px 50px 0px;
	padding: 15px;
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
}

.tabNav button 
{
	background-color: inherit;
	color: white;
	padding: 15px;
	width: 100%;
	border: none;
	border-radius: 50px;
	outline: none;
	cursor: pointer;
	transition: 0.3s;
	font-size: 17px;
	margin: 5px 0px 5px 0px;
}

.tabNav button:hover 
{
	background-color: #2ca156;
}

.tabNav button.active 
{
	background-color: #1ed760;
	color: black;
	font-weight: bold;
}

.tabContent
{
	margin: 20px;
	padding: 0px 20px;
	width: 85%;
	overflow: scroll;
	overflow-x:hidden;
	scrollbar-width: none;
}

.navTable
{
	width: 100%;
	overflow: scroll;
	overflow-x: hidden;
	scrollbar-width: none;
}

.dropBtn
{
	display: block;
	max-height: 50px;
	max-width: 50px;
	text-align: center;
}

#primary table {
	width: 100%;
	text-align: left;
	border: double;
}
#primary td {
	width: 32%;
}

#poly table, tr{
	border: 5px solid white;
}
#poly table{
	width: 100%;
}
#poly td{
	width: 32%;
}

#topButton {
    background-color: black;
    color: white;
    text-decoration: none;
    text-transform: uppercase;
    padding: 15px;
}

/***LANDING CONFIGURATION***/
/*LANDING PAGE ANIMATION*/
#landing {
    background: #3A035E no-repeat center center fixed;
    /*Gradient of backhround*/
    background-image: linear-gradient(rgba(2,0,36,1) 0%, rgba(58,10,132,1) 59%, rgba(115,58,247,1) 100%);
    background-size: 120% auto;
    position: fixed;
    padding: 0;
    margin: 0;
    width: 100%;
    height: 100%;
}

#landing body:before {
	content: "";
	height: 0px;
	padding: 0px;
	border: 110em solid #292B32;
	position: absolute;
	left: 50%;
	top: 100%;
	z-index: 1;
	display: block;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	pointer-events: none;
	animation: puff_portrait 0.5s 1.8s cubic-bezier(0.55, 0.055, 0.675, 0.19) forwards, borderRadius 0.2s 2.3s linear forwards;
}

#landing nav {
	text-align: center;
	position: relative;
}

#landing nav > ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

#landing nav > ul > li {
	display: inline-block;
}

#landing nav > ul > li > a {
	text-decoration: none;
	text-transform: uppercase;
	background-color: black;
	color: white;
	display: inline-block;
	flex-direction: row;
}

#profile-card {
	display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
	overflow: hidden;
	background: #711988;
	width: 50%;
	height: auto;
	position: relative;
	left: 50%;
	top: 50%;
	z-index: 2;
	opacity: 0;
	margin-top: 100px;
	transform: translate(-50%, -50%);
	/*Changes roundness of ball & profile card*/
	border-radius: 50%;
	box-shadow: 0px 3px 30px rgba(0,0, 0, 0.5), 0px 3px 30px rgba(0, 0, 0, 0.5);
	animation: 
		init 0.5s 0.2s cubic-bezier(0.55, 0.055, 0.675, 0.19) forwards, 
		moveDown 1s 0.8s cubic-bezier(0.6, -0.28, 0.735, 0.045) forwards, 
		moveUp 1s 1.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards, 
		materia_portrait 0.5s 2.7s cubic-bezier(0.86, 0, 0.07, 1) forwards;
}

#profile-card #content {
		opacity: 0;
		color: white;
		animation: moveIn 1s 3.1s ease forwards;
	}

/*PROFILE PICTURE*/
#profile-card picture>img {
		border-radius: 100%;
		margin-left: auto;
		margin-right: auto;
		box-shadow: 0px 3px 30px rgba(0,0, 0, 0.5), 0px 3px 30px rgba(0, 0, 0, 0.5);
		animation: rotation 10s infinite linear;
	}

/*SOCIAL MEDIA LINKS*/
#profile-card #content a{
		text-decoration: none;
		max-width: 80px;
		display: inline-block;
	}

#profile-card #content a > img {
		width: 80px;
		margin: 0;
	}

/*NAVIGATION BAR*/
#profile-card nav a {
		flex-direction: column;
	}

#profile-card nav {
		text-align: center;
		display: flex;
		flex-direction: column;
		width: 100%;
	}

/*EDUCATION PAGE*/
#schools {
	list-style: none;
	padding: 0;
	margin: 0;
	display: inline-block;
	flex-direction: row;
	width: 100%;
	text-align: center;
}

#schools li {
		display: inline-block;
		width: 32%;
	}

#schools a {
		text-decoration: none;
		display: inline-block;
		flex-direction: row;
		text-align: center;
	}

/* Hide all tab contents by default, except the targeted tab and the last tab */
#tab-folder > .tab-content:target ~ .tab-content:last-child, 
#tab-folder > .tab-content {
	display: none;
}
/* Show the targeted tab and the last tab */
#tab-folder > :last-child, 
#tab-folder > .tab-content:target {
		display: block;
		text-align: center;
		color: white;
	}

/*Grid*/
.container {
	width: 100%;
	height: 83.5vh;
	display: flex;
	padding: 5px;
	overflow: scroll;
	overflow-x: hidden;
	scrollbar-width: none;
}
.feature {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
	grid-gap: 0.5rem;
	grid-column: 1/-1;
}
.feature h1, h2, h3 {
	color: #1ed760; /* Bright yellow for headers */
}
.item {
	padding: 6rem;
	color: white;
	font-size: 10px;
	border-radius: 0.2rem;
	display: flex;
	justify-content: center;
	align-items: center;
	box-shadow: 0 1rem 4rem rgba(0, 0, 0, 0.25);
	transition: all 0.2s;
}

/*Desktop*/
@media (min-width: 801px) {
	.header li {
		width: 100%;
	}

	.header li a {
			padding: 20px 30px;
		}

	.header .menu {
		clear: none;
		max-height: none;
		position: relative;
		text-align: center;
		display: flex;
	}

	.header .menu-icon {
		display: none;
	}

	#profile-card h1 {
		font-size: 30px;
		text-align: center;
	}

	#profile-card picture>img {
		border-radius: 100%;
		display: block;
	}

	#profile-card nav {
		width: 100%;
		height: 300px;
		display: flex;
		flex-direction: column;
	}

	#profile-card nav > ul {
			list-style: none;
			padding: 0;
			margin: 0;
			opacity: 0;
			animation: moveIn 1s 3.1s ease forwards;
			display: flex;
			flex-direction: row;
			width: 100%;
			height: 100%;
		}

	#profile-card nav > ul > li {
				width: 100%;
				text-align: center;
				margin: 0;
			}

	#profile-card nav > ul > li > a {
					width: 100%;
					padding: 50px 0px;
					background: #111111;
					text-transform: uppercase;
					text-decoration: none;
					font-size: 3vh;
					color: white;
				}

	#profile-card nav > ul > li > a:hover {
					background: #521787;
				}

	.item {
		font-size: 40px;
	}

	.navTable button 
	{
		display: block;
	}

	.dropBtn 
	{
		display: none;	
	}
}

/*Tablet*/
@media (min-width: 541px) and (max-width: 800px) {

	.header li {
		float: left;
	}

	.header li a {
			padding: 20px 30px;
		}

	.header .menu {
		clear: none;
		float: right;
		max-height: none;
	}

	.header .menu-icon {
		display: none;
	}
	
	#profile-card h1 {
		font-size: 30px;
		text-align: center;
	}

	#profile-card picture>img {
		border-radius: 100%;
		display: block;
		max-width: 172px;
	}

	#profile-card nav > ul {
		list-style: none;
		padding: 0;
		margin: 0;
		opacity: 0;
		animation: moveIn 1s 3.1s ease forwards;
	}

	#profile-card nav > ul > li {
			display: block;
			text-align: center;
			margin: 0;
		}

	#profile-card nav > ul > li > a {
				display: block;
				padding: 30px;
				background: #111111;
				text-transform: uppercase;
				text-decoration: none;
				font-size: 4vh;
				color: white;
			}

	#profile-card nav > ul > li > a:hover {
					background: #521787;
				}
	
	.item {
		font-size: 35px;
	}

	.tabNav 
	{
		background-color: #222;
		width: 15%;
		border-radius: 0px 50px 50px 0px;
		padding: 15px;
	}

	.tabNav button 
	{
		display: block;
		background-color: inherit;
		color: white;
		padding: 15px;
		width: 100%;
		border: none;
		border-radius: 50px;
		outline: none;
		text-align: left;
		cursor: pointer;
		transition: 0.3s;
		font-size: 10px;
		margin: 5px 0px 5px 0px;
	}

	.dropBtn 
	{
		display: none;	
	}
}

/*Mobile*/
@media (max-width: 540px) {
	nav > ul {
	}

	nav > ul > li {
			display: block;
		}

	nav > ul > li > a {
				display: block;
				padding: 30px;
				font-size: 3vh;
			}

	#profile-card h1 {
		font-size: 30px;
		text-align: center;
	}

	#profile-card picture>img {
		display: block;
		max-width: 172px;
	}

	#profile-card nav > ul {
		list-style: none;
		padding: 0;
		margin: 0;
		opacity: 0;
		animation: moveIn 1s 3.1s ease forwards;
	}

	#profile-card nav > ul > li {
			display: block;
			text-align: center;
			margin: 0;
		}

	#profile-card nav > ul > li > a {
				display: block;
				padding: 30px;
				background: #111111;
				text-transform: uppercase;
				text-decoration: none;
				font-size: 4vh;
				color: white;
			}

	#profile-card nav > ul > li > a:hover {
					background: #521787;
				}

	.item {
		font-size: 30px;
	}

	.container
	{
		flex-direction: column;
	}

	#Skills
	{
		width: 100%;
		height: 100%;
	}

	#Info
	{
		width: 100%;
	}

	.tabNav 
	{
		width: 100%;
		border-radius: 0px 0px 50px 50px;
	}

	.tabNav button 
	{

	}

	.tabNav button:hover 
	{
		background-color: #2ca156;
	}

	.tabNav button.active 
	{
		display: block;
		background-color: #1ed760;
		color: black;
		font-weight: bold;
	}

	.tabContent
	{
		display: block;
		margin: 0px;
	}

	.tabContent img
	{
		width: 100%;
	}

	footer
	{
		bottom: unset;
	}

	.dropBtn 
	{
		text-align: center;
	}
}

/*Initialise profile card*/
@keyframes init {
		0% {
			width: 0px;
			height: 0px;
		}

		100% {
			/*Change ball size*/
			width: 50px;
			height: 50px;
			margin-top: 0px;
			opacity: 1;
		}
	}

@keyframes puff_portrait {
		0% {
			top: 100%;
			height: 0px;
			padding: 0px;
		}

		100% {
			top: 50%;
			height: 100%;
			padding: 0px 100%;
		}
	}

@keyframes puff_landscape {
		0% {
			top: 100%;
			width: 0%;
			padding-bottom: 0%;
		}

		100% {
			top: 50%;
			width: 100%;
			padding-bottom: 100%;
		}
	}

@keyframes borderRadius {
		100% {
			border-radius: 0px;
		}
	}

@keyframes moveDown {
		0% {
			top: 50%;
		}

		50% {
			top: 40%;
		}

		100% {
			top: 100%;
		}
	}

@keyframes moveUp {
		0% {
			background: #711988;
			top: 100%;
		}

		50% {
			top: 40%;
		}

		100% {
			top: 50%;
			background: #E0E0E0;
		}
	}

@keyframes materia_landscape {
		0% {
			background: #711988;
		}

		50% {
			border-radius: 4px;
		}

		100% {
			width: 440px;
			height: 280px;
			background: #E0E0E0;
			border-radius: 4px;
		}
	}

@keyframes materia_portrait {
		0% {
			background: #E0E0E0;
		}

		50% {
			border-radius: 4px;
		}

		100% {
			z-index: 100;
			/*Changes profile card size*/
			width: 80%;
			height: 80%;
			/*Change profile card colour*/
			background: #181818;
			border-radius: 4px;
		}
	}

@keyframes moveIn {
		0% {
			margin-top: 50px;
			opacity: 0;
		}

		100% {
			opacity: 1;
		}
	}

@keyframes scaleIn {
		0% {
			transform: scale(0);
		}

		100% {
			transform: scale(1);
		}
	}

@keyframes ripple {
		0% {
			transform: scale3d(0, 0, 0);
		}

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

		100% {
			opacity: 0;
		}
	}

@keyframes rotation {
		from {
			transform: rotate(0deg);
		}

		to {
			transform: rotate(359deg);
		}
	}