/*Start global*/
*{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	font-size: 10px;
	font-family: 'Roboto', sans-serif;
	color: #eee;
}

body {
	width: 100%;
	height: 100%;
	background: url("images/background-colour.jpg") no-repeat center fixed;
	background-size: cover;
}

section {
	padding: 6rem 0;
}

a {
	text-decoration: none;
	color: #eee;

}

p {
	font-size: 1.8rem;
	font-weight: 300;
}

img {
	width: 100%;
}



/*End global*/










/*Start reusable*/

.container {
	width: 90%;
	max-width: 120rem;
	height: 100%;
	margin:0 auto;
	position: relative;
}

.section-heading {
	text-align: center;
	margin-bottom: 10rem;

}

.section-heading h1 {
	font-size: 3.5rem;
	color: rgba(255, 255, 255, .3);
	text-transform:uppercase;
	font-weight: 300;
	position: relative;
	margin-bottom: 1rem;
	margin-top: 20rem;
}

.section-heading h1::before,
.section-heading h1::after {
	content: '';
	position: absolute;
	bottom: -.5rem;
	left: 50%;
	transform: translateX(-50%);
	background-color: rgba(255, 255, 255, 0.75);
}
	
.section-heading h1::before {
	width: 10rem;
	height: 3px;
	border-radius: 0.8rem;
}

.section-heading h1::after{
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 100%;
	bottom: -1.1rem;
	background-color: rgba(255, 255, 255, 0.9)

}

.section-heading h6 {
	font-size: 1.6rem;
	font-weight: 300;
}

.has-margin-right {
	margin-right: 5rem;
}




/*End reusable*/













/*Start header*/
header {
	width: 100%;
	height: 100vh;
}

.top-nav {
	width: 100%;
	height: 100vh;
	position: fixed;
	top: -100vh;  /*hiding the header */
	z-index: 50;
	background: linear-gradient(to top, #b48c0a, #ff3c00);
	border-bottom-right-radius: 100%;
	border-bottom-left-radius: 100%;
	transition: all 650ms cubic-bezier(1,0,0,1);
}

.nav-list {
	list-style:none;
	width:100%;
	height:100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

li {
	margin: 0 2rem;
}

.nav-link {
	font-family: 'Lobster', cursive, sans-serif;
	font-size: 5rem;
	padding: 1rem;
}

.nav-link:hover,
.nav-link:focus {
	background: linear-gradient(to top, #ffee00, #00ff9d);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.top-nav.open {
	top: 0;
	border-radius: initial;
}

.menu-toggler {
	position: fixed;
	top: 5rem;
	right: 5rem;
	height: 4rem;
	width: 5rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	cursor: pointer;
	z-index: 1500;
	transition: transform 650ms ease-out;
}

.menu-toggler.open {
	transform: rotate(-45deg);
}

.bar {
	background: linear-gradient(to top, #ffee00, #00ff9d);
	width: 100%;
	height: 4px;
	border-radius: .8rem;
}

.bar.half {
	width: 50%;
}

.bar.start {
	transform-origin: right;
	transition: transform 650ms cubic-bezier(0.54, -0.81, 0.57, 0.57);
}

.open .bar.start {
	transform: rotate(-450deg) translateX(.8rem);
}

.bar.end {
	align-self: flex-end;
	transform-origin: left;
	transition: transform 650ms cubic-bezier(0.54, -0.81, 0.57, 0.57);
}

.open .bar.end {
	transform: rotate(-450deg) translateX(-.8rem);
}

.landing-text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	text-align: center;
	z-index: 1;
}

.landing-text h1 {
	font-size: 15rem;
	font-family: 'Permanent Marker', cursive, sans-serif;
	background: linear-gradient(to top, #ffee00, #00ff9d);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	padding: 1rem;
	user-select: none;
}

.landing-text h6 {
	font-size: 2rem;
	font-weight: 300;
	font-family: 'Permanent Marker', cursive, sans-serif;
	background: linear-gradient(to top, #ffee00, #00ff9d);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

/*End header*/











/*Start about*/

.about .container {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 9px;
}

.about-heading {
	text-align: center;
	text-transform: uppercase;
	line-height: 0;
	margin-bottom: 6rem;
}

.about-heading h1 {
	font-size: 10rem;
	opacity: .3;
}

.about-heading h6 {
	font-size: 2rem;
	font-weight: 300;
}

.about-details p {
	font-size: 2rem;
	font-weight: 500;
}


.profile-img {
	flex: 1;
	margin-right: 5rem;
	
}

.profile-img img {
	border-radius: 50%;
}

.about-details {
	flex: 1;
}

.social-media {
	margin-top: 5rem;
}

.social-media i {
	font-size: 5rem;
	transition: color 650ms;
}

.fa-instagram:hover{
	background: #f09433; 
	background: -moz-linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); 
	background: -webkit-linear-gradient(45deg, #f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%); 
	background: linear-gradient(45deg, #f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%); 
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f09433', endColorstr='#bc1888',GradientType=1 );
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-size: 120%;
}

.fa-github:hover{
	background: rgb(0, 0, 0, 0.8);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.fa-file:hover {
	background: #003cff;
	cursor: pointer;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

/*End about*/










/* Start Technologies */

.my-skills {
	margin-top: 10rem;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
	grid-gap: 2.5rem;
	text-align: center;
	align-items: baseline;
	grid-auto-rows: 1fr;
}

.skill {
	display: flex;
	flex-direction: column;
	justify-content: center;
	
	align-items: center;
	padding: 2rem;
	grid-auto-rows: 1fr;
}

.skill h1 {
	
	text-transform: uppercase;
	letter-spacing: 2px;
	margin: 2rem -2px 2rem 0;
}

.icon-container {
	width: 10rem;
	height: 10rem;
	border: 3px solid #333;
	background-color: #d0ff00;
	margin-bottom: 2rem;
	display: flex;
	transform: rotate(45deg);
}


.icon-container i {
	color: #e6683c;
	font-size: 5rem;
	margin: auto;
	transform:rotate(-45deg);
	z-index: 1;
}




/* End Technologies */















/*Start portfolio*/

.portfolio-item {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 5rem;
	margin-top: 5rem;
}

.portfolio-item:last-child{
	margin-bottom: 0;
}

.profile-img{
	flex: 1;
	
}

.portfolio-description {
	flex: 1;
}

.portfolio-description h1 {
	font-size: 3rem;
	font-weight: 300;
	margin: 1rem 0;
	

}

.portfolio-description h6 {
	font-size: 1.5rem;
	text-transform: uppercase;
	font-weight: 300;
	opacity: 0.3;

}

.portfolio-description .cta {
	display: inline-block;
	margin-top: 2.5rem;
	font-size: 1.5rem;
	text-transform: uppercase;
	color:  #00ff9d;
	transition: color 650ms;
	padding: 1rem;
}

.portfolio-description .cta:hover {
	color: #0400ff;
}

.portfolio-img {
	all: none;
	display: inline-block;
	padding-top: 5rem;
  	overflow: hidden;
 	width: 450px;
	height: 450px;
	
}

.portfolio-img:hover {
	opacity: 0.6;
	transition: 400ms;
}

.portfolio-img-ios {
	all: none;
	display: inline-block;
	padding-top: 5rem;
  	overflow: hidden;
 	width: 200px;
	height: 500px;

}




/*End portfolio*/










/*Start timeline*/


.timeline ul {
	border-left: 4px solid #ffee00;
	border-radius: .8rem;
	background-color: rgba(0, 0, 0, 0.05);
	margin: 0 auto;
	position: relative;
	padding: 5rem;
	list-style: none;
	text-align: left;
	width:70%;
}

.timeline h1 {
	font-size: 2rem;
	text-transform: uppercase;
	font-weight: 300;
	margin-bottom: 1rem;
	opacity: 0.7;
	font-style: italic;
}

.timeline .date {
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	position: relative;
}

.timeline .date:last-of-type {
	padding-bottom: 0;
	margin-bottom: 0;
	border: none;
}

.timeline .date::before,
.timeline .date::after {
	position: absolute;
	display: block;
	top: 50%;
	transform: translateY(50%);
}

.timeline .date::before {
	content: attr(data-date);
	left: -21rem;
	text-align: right;
	min-width: 12rem;
	font-size: 1.5rem;
}

.timeline .date::after {
	content: '';
	box-shadow: 0 0 0 4px #00ff9d;
	border-radius: 100%;
	left: -7.95rem;
	height: 1.5rem;
	width: 1.5rem;
	background-color: #003cff;
}


/*End timeline*/












/*Start contact*/

.contact {
	background-color: rgba(0, 0, 0, 0);
	
}

.mailme {
	font-size: 2rem;
	font-weight: 300;
	font-family: 'Permanent Marker', cursive, sans-serif;
	background: linear-gradient(to top, #000000, #5900ff);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	text-align: center;
	
	animation: shadow-pulse 2s infinite;
}


/*End contact*/













/*Start footer*/

.footer {
	padding-top: 3rem;
}

.copyright {
	width: 100%;
	text-align: center;
	background-color: #ffbb00;
	padding: 2rem 0;
	position: relative;
	padding-top: 3rem;
}

.up {
	position: absolute;
	width: 5rem;
	height: 5rem;
	background-color: #eee;
	top: -2.5rem;
	right: 5rem;
	border-radius: 100%;
	display: flex;
	animation: shadow-pulse 5s infinite;
	cursor: pointer;
}

.up i {
	color: #00ff9d;
	font-size: 2rem;
	margin: auto;
}


.copyright p {
	font-size: 1.7rem;
	color: #003cff;
	font-weight: 300;
}


/*End footer*/






/*Start animations*/

@keyframes shadow-pulse
{
  0% {
    box-shadow: 0 0 0 0px rgba(0, 0, 0, 0.2);
  }
  100% {
    box-shadow: 0 0 0 35px rgba(0, 0, 0, 0);
  }
}



/*End animations*/








/*media queries begining*/


/*tablets and small ipads*/
@media screen and (max-width:768px) {
	
	* {
		text-align: center;
	}
	
	body {
		background: url("images/background-colour.jpg") no-repeat center fixed;
		background-size: cover;
		overflow-x: hidden;
	}

	.landing-text h1{
		font-size: 15rem;
	}

	.landing-text h6{
		font-size: 1.7rem;
	}

	.nav-list {
		flex-direction: column;
	}

	li {
		margin: 2rem 0;
	}

	.nav-link {
		font-size: 5.5rem;
	}

	.about-heading h1 {
		font-size: 8rem;
	}

	.section-heading h1 {
		font-size: 3rem;
	}

	.about-details .nav-list {
		flex-direction: initial;
	}

	.about-details li {
		margin: 0 2rem;
	}

	.icon-container {
		width: 7rem;
		height: 7rem;
	}

	.icon-container i {
		font-size: 4rem;
	}

	.timeline ul {
		margin: 0 0 0 auto;
	}

	.timeline .date::before {
		left: -20rem;
	}

	.timeline .date::after {
		left: -5.9rem;
	}

}







/*large tablets (ie - ipad pro) */
@media screen and (max-width:1025px) {

	.top-nav {
		width: 100%;
		height: 100%;
		position: fixed;
		top: -150vh;  /*hiding the header */
		z-index: 50;
		background: linear-gradient(to top, #ffee00, #ff8800);
		border-bottom-right-radius: 100%;
		border-bottom-left-radius: 100%;
		transition: all 650ms cubic-bezier(1,0,0,1);
	}

	
	* {
		text-align: center;
	}
	
	html, body {
		overflow-x: hidden;
	}

	body {
		background: url("images/background-colour.jpg") no-repeat center fixed;
		background-size: cover;
		overflow-x: hidden;
	}

	.landing-text h1{
		font-size: 15rem;
	}

	.landing-text h6{
		font-size: 1.7rem;
	}

	.nav-list {
		flex-direction: column;
	}

	li {
		margin: 2rem 0;
	}

	.nav-link {
		font-size: 5.5rem;
	}

	.about-heading h1 {
		font-size: 8rem;
	}

	.section-heading h1 {
		font-size: 3rem;
	}

	.about-details .nav-list {
		flex-direction: initial;
	}

	.about-details li {
		margin: 0 2rem;
	}

	.icon-container {
		width: 7rem;
		height: 7rem;
	}

	.icon-container i {
		font-size: 4rem;
	}

	.timeline ul {
		margin: 0 0 0 auto;
	}

	.timeline .date::before {
		left: -20rem;
	}

	.timeline .date::after {
		left: -5.9rem;
	}

	.experience .timeline {
		margin-right: 15rem;
	}


}







/*smartphones*/
@media screen and (max-width: 500px){
	
	html, body {
		overflow-x: hidden;
	  }
	 
	
	.menu-toggler{
		top: 2rem;
	 	right: 2rem;
	}

	.landing-text h1 {
		font-size: 5.5rem;
		
	}

	.landing-text h6 {
		font-size: 1.4rem;
	}

	.nav-link {
		font-size: 3.5rem;
	}

	.about .container {
		flex-direction: column;
	}

	.profile-img {
		margin: 0 0 7rem 0;
		all: none;
		display: inline-block;
		padding-top: 5rem;
		overflow: hidden;
		width: 300px;
		height: 300px;
		
	}

	.portfolio-item {
		flex-direction: column;
	}

	.portfolio-img {
		margin: 0 0 2rem 0;
		order: 1;
		all: none;
		display: inline-block;
		padding-top: 5rem;
		overflow: hidden;
		width: 300px;
		height: 300px;
	}

	.portfolio-description {
		margin: 0;
		order: 2;
	}

	.timeline p {
		font-size: 1.6rem;
	}

	.timeline .date::before{
		font-size: 1.4rem;
	}

	.form {
		width: 100%;
	}

	.up {
		right: 2rem;
	}

	.experience .timeline {
		all: none;
		margin: 0 0 0 0;
	}

}


/*media queries ending/







