/* TODO: IMPORT FONT */

:root {
	--primary-color: hsl(210, 29%, 22%);
	--secondary-color: rgb(226, 191, 31);
	--white: #f2f2f2;
}

*,
*::before,
*::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	font-size: 62.5%; /*equivalent to 10px */
	scroll-behavior: smooth;
}

body::-webkit-scrollbar {
	width: 1.5em;
}

body::-webkit-scrollbar-track {
	-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
	box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}
body::-webkit-scrollbar-thumb {
	background-color: darkgrey;
	outline: 1px solid slategrey;
}

body {
	font-family: 'Roboto', sans-serif;
	background-color: #F6F5F7;
}

.line-1,
.line-2,
.line-3 {
	width: 35px;
	height: 4px;
	background-color: var(--white);
	margin: 3px 0;
	transition: 0.4s;
}

/* Toggle class to  change the state of hambuger icon cross*/
.toggle .line-1 {
	transform: translateY(12px) rotate(135deg);
}

.toggle .line-2 {
	opacity: 0;
}

.toggle .line-3 {
	transform: translateY(-7.6px) rotate(-135deg);
}

.hamburger {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
	padding-right: 2.5%;
	cursor: pointer;
}

.name {
	font-size: 2.2rem;
	margin-bottom: 3rem;
}

ul {
	list-style: none;
}

ul li {
	padding: 1rem 0;
}
ul a {
	text-decoration: none;
	color: var(--white);
	font-size: 2rem;
}

.current {
	color: var(--secondary-color);
}

.social-icon ul li{
	opacity: 0.6;
}

.social-icon ul li:hover {
	opacity:0.7;
}



.social-icon ul {
	display: flex;
	justify-content: center;
	height: 100px;
}
.social-icon ul svg {
	display: flex;
	justify-content: center;
	width: 1.7rem;
	height: 1.7rem;
	fill: var(--primary-color);
}

.social-icon li {
	border-radius: 50%;
	background-color: var(--white);
	color: var(--primary-color);
	width: 3rem;
	height: 3rem;
	margin: 5rem 1rem 0 1rem;
	font-size: 1.8rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

.social-icon a {
	text-decoration: none;
}

.header {
	background-color: var(--primary-color);
	position: sticky;
	top: 0;
	width: 100%;
	height: 8vh;
	z-index: 1000;
}

.header .hamburger {
	height: 8vh;
}

.big-nav {
	text-align: center;
	color: var(--white);
}

.toggle {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background-color: hsl(210, 29%, 22%);
	z-index: 11;
}

header .img-container {
	display: flex;
	justify-content: center;
}

header .img-container > img {
	margin-bottom: 1rem;
	border-radius: 50%;
	width: 14rem;
	height: 13rem;
	border: 3px solid var(--white);
}


/*Utility classes*/

.center {
	text-align: center;
}

.right {
	text-align: right;
}

.left {
	text-align: left;
}

.px-small {
	padding: 1rem 0;
}
.p-small {
	padding: 0 2rem;
}

.m-small {
	margin: 1rem 0;
}

/* Main section starts from here */
.info + .text {
	max-width: 1200px;
}

#about .info {
	height: 60vh;
	width: 100%;
	position: relative;
	color: #fff;
}

#about .info::after {
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	background-color: hsla(210, 29%, 22%, 0.6);
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0.9;
	z-index: 1;
}

#about > .info * {
	position: relative;
	z-index: 10;
}
#about .info {
	display: flex;
	height: 50vh;
	justify-content: center;
	align-items: center;
	text-align: center;
	text-transform: uppercase;
}
#about h3{
	font-size: 2.5rem;
	letter-spacing: 1px;
	margin-bottom: 5px;
}

#about .info #typed {
	font-size: 1.54rem;
	color: var(--secondary-color);
}

/*Add custom cursor so it auto inherits font styles*/
#typed::after {
	content: '|';
	color: #fff;
	display: inline;
	-webkit-animation: blink 0.7s infinite;
	-moz-animation: blink 0.7s infinite;
	animation: blink 0.7s infinite;
}

/*Removes cursor that comes with typedjs*/
.typed-cursor{
	display: none;
}

#about > .text {
	display: flex;
	justify-content: center;
	margin: auto;
}

.text > p {
	line-height: 1.5;
	font-size: 1.8rem;
	text-align: justify;
}

.text > p span {
	font-weight: 700;
}

#capabilities,
#work,
#timeline,
#contact {
	max-width: 1200px;
	margin: 20px auto;
	font-size: 1.7rem;
}


#capabilities > h2,
#work > h2,
#timeline > h2,
#contact > h2 {
	text-transform: uppercase;
	text-align: center;
	margin-bottom: 1.5rem;
	letter-spacing: 3px;
}

/***************CAPABILITIES SECTION*****************/
.card {
	background-color: #fff;
	box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.15);
	width: 98%;
	margin: 1.2rem auto;
	border-radius: 5px;
	padding: 1em;
	transition: all .3s cubic-bezier(0.7, 0.3, 0, 0);
}
.card-title > div {
	text-align: center;
}
.card-title svg{
	width: 50px;
	height: 50px;
}

.card:hover {
	background-color: var(--primary-color);
	color: var(--secondary-color);
	transform: translateY(-1rem) scale(1.02);
	fill: #fff;
}

.card:hover .card-body p{
	color: #fff;
}
.card-body > * {
	line-height: 1.7;
}

.card-body p {
	color: #575457;
}

/***************WORK SECTION*****************/

#work > h2,
#work{
	margin-bottom: 4rem;
}
.project-text{
	padding: 2.5rem 3.5rem;
}


.project{
	border: 1px solid rgba(0, 0, 0, 0.2);
	box-shadow: 0 6px 2rem rgba(0, 0, 0, 0.15);
	margin-bottom: 50px;
}

.project-image > img{
	max-width: 100%;
	position: relative;
	z-index: -1;
	border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.project-image > img:hover{
	transform: scale(0.9);
}

.project-title{
	font-size: 2rem;
	text-transform: uppercase;
}

.project-description{
	line-height: 1.5;
}

.project-link{
	margin: 1rem 0;
	display: inline-block;
	text-decoration: none;
	background-color: var(--primary-color);
	color: #fff;
	padding: 10px 20px;
	border: 2px solid transparent;
}

.project-link:hover{
	background-color: #fff;
	color: var(--primary-color);
	border-color: var(--primary-color);
}


/***************TIMELINE SECTION*****************/
.timeline ul {
	padding: 20px 0;
}

/* Line */
.timeline ul li{
	width: 6px;
	background-color: var(--primary-color);
	position: relative;
	padding-top: 50px;
}

/* Dots */
.timeline ul li::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 15px;
	background-color: var(--secondary-color);
	width: 16px;
	height: 16px;
	transform: translateX(-50%);
	border-radius: 50%;
	transition: all .3s cubic-bezier(0.7, 0.3, 0, 0);
}

/*Boxes plus hide*/
.timeline ul li div{
	position: relative;
	width: calc(100vw - 66px);
	background-color: var(--primary-color);
	padding: 1.3rem;
	box-shadow: 0 0.2px 40px rgba(0, 0, 0, .15);
	bottom: 0;
	left: 30px;
	line-height: 1.7;
	transition: all 0.5s ease-in-out;
	visibility: hidden;
	opacity: 0;
	transform: translateX(200px);
}


/* Show boxes*/
.timeline ul li.show div{
	visibility: visible;
	opacity: 1;
	transform: translate(0);
}

.timeline ul li.show::after{
	background-color: var(--primary-color);
}

/* Show left side div*/
	.timeline ul li.show:nth-child(even) div{
		transform: translateX(0);
}


/* Arrows Base */
.timeline div:before{
	content: '';
	position: absolute;
	bottom: 5px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 16px 8px 8px;
}

@media only screen and (max-width: 600px) {
	.timeline ul li:nth-child(even) div::before{
		border-color: transparent;
		border-right-color: var(--primary-color);
		left: -22px;
	}	
}

/* Right Side Arrows and Left Side Arrows*/
.timeline ul li:nth-child(odd) div::before
{
	border-color: transparent;
	border-right-color: var(--primary-color);
	left: -22px;
}

.timeline ul li div > h4{
	color: var(--secondary-color);
	margin-bottom: 3px;
}
.timeline ul li div > p{
	color: #fff;
}

/***************CONTACT SECTION*****************/
#timeline {
	overflow-x: hidden;
}

#contact .contact{
	display: flex;
	align-items: center;
}

.contact > div{
	flex: 1;
}

.contact-container{
	display: none;
}
.contact-img{
	max-width: 100%;
	border: 4px solid var(--primary-color);
}
.contact-text{
	padding: 20px;
	line-height: 1.6;
}

.contact-text > h2{
	font-size: 3rem;
	padding:10px 0;
}
.contact-text > p{
	font-size: 2.5rem;
	padding: 10px 0;
}

.contact-text > a{
	display: inline-block;
	background-color: var(--primary-color);
	color: #fff;
	text-decoration: none;
	padding: 10px 30px;
	margin-top: 10px;
}

@media only screen and (max-width: 767.9px) {
	#about .info {
		background: url('../img/Joshua\ Folorunsho\ mobile.webp') center center/cover
			no-repeat;
	}

	ul li {
		padding: 1.3rem 0;
	}

	.social-icon li {
		margin: 4rem 2rem 0 1rem;
	}
}

@media only screen and (min-width: 768px) and (max-width: 899.9px){

	.timeline ul li:nth-child(even) div::before{
		border-color: transparent;
		border-right-color: var(--primary-color);
		left: -22px;
	
	}	
}

@media only screen and (min-width: 768px) {
	html {
		font-size: 65.625%; /*10.5px*/
	}

	#about .info {
		background: url('../img/Joshua\ Folorunsho\ desktop.webp') center center/cover
			no-repeat;
	}

	.container .header::-webkit-scrollbar {
		width: 1.5em;
	}
	.container .header::-webkit-scrollbar-track {
		-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
		box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
	}
	.container .header::-webkit-scrollbar-thumb {
		background-color: darkgrey;
		outline: 1px solid slategrey;
	}

	.container .header {
		width: 300px;
		height: 100%;
		position: fixed;
		overflow: auto;
		padding: 20px;
	}

	.container .header .hamburger {
		display: none;
	}

	header .img-container > img {
		margin-top: 6rem;
		margin-bottom: 2rem;
		width: 17rem;
		height: 15.6rem;
	}
	.big-nav > h1 {
		margin-bottom: 5rem;
	}

	.big-nav {
		display: block !important;
	}

	ul a:hover {
		color: var(--secondary-color);
	}

	main {
		margin-left: 300px;
	}

	/***************WORK SECTION*****************/
	.projects {
		padding: 1rem;
		display: grid;
		gap: 2rem;
		grid-template-columns: 1fr 1fr;
	}

	/*Timeline styling*/
	.timeline ul li{
		margin-left: 20px;
	}
	
	.timeline ul li div{
		width: calc(100vw - 400px);
		transform: translateX(200px);
	}

	/* Contact section */
	#contact .contact{
		margin-top: 25px;
	}

}
@media only screen and (min-width: 600px) and (max-width: 767.9px), (min-width: 1000px){
	/*Timeline styling*/
	.timeline ul li{
		margin:auto;
	}

	
	.timeline ul li div{
		width: 250px;
	}

	
	/* Right side boxes*/
	.timeline ul li:nth-child(odd) div{
		left: 30px;
	}
	/* Left side boxes*/
	.timeline ul li:nth-child(even) div{
		left : -275px;
		transform: translateX(-200px)
	}


	/*Left Side Arrows*/
	.timeline ul li:nth-child(even) div::before{
		border-color: transparent;
		border-width: 8px 8px 8px 16px;;
		border-left-color: var(--primary-color);
		right: -22px;
	}

}
	


@media only screen and (min-width: 500px) and (max-width: 767.9px),
	(min-width: 850px) {
	.card-container {
		display: flex;
	}

	.card {
		width: 46%;
	}

}


@media only screen and (min-width: 900px){
		/*Timeline styling*/
		.timeline ul li{
			margin: auto;
		}
		
		.timeline ul li div{
			width: 255px;
		}
		
		.timeline ul li:nth-child(even) div{
			transform: translateX(-200px);
		}

		/* Left side boxes*/
		.timeline ul li:nth-child(even) div{
			left : -275px;
		}

			/*Left Side Arrows*/
		.timeline ul li:nth-child(even) div::before{
			border-color: transparent;
			border-width: 8px 8px 8px 16px;;
			border-left-color: var(--primary-color);
			right: -22px;
		}

		.contact-container{
			display: block;
		}
		
}

@media only screen and (min-width: 1200px) {
	html {
		font-size: 68.75%; /*11px*/
	}

	#about .info {
		height: 65vh;
	}

	#about h3{
		font-size: 3.2rem;
		margin-bottom: 10px;
	}

	/*Timeline styling*/
	.timeline ul li div{
		width: 253px;
	}


}

@media only screen and (min-width: 1500px) {

	#capabilities > div{
		display: flex;
	}

	/*Timeline styling*/
	.timeline ul li div{
		width: 449px;
	}

	/* Left side boxes*/
	.timeline ul li:nth-child(even) div{
		left : -475px;
	}
}

@media only screen and (min-width: 1700px) {

	.container .header{
		width: 350px;
	}

	.info + .text,
	#capabilities,
	#work,
	#timeline,
	#contact {
		max-width: 1300px;
	}

	.card{
		width:45%;
		padding: .5em;
	}

	main {
		margin-left: 350px;
	}


}
@media only screen and (min-width: 2100px) {
	html {
		font-size: 93.75%; /*15px*/
	}
	
	.container .header{
		width: 500px;
	}
	
	main {
		margin-left: 500px;
	}

	.info + .text,
	#capabilities,
	#work,
	#timeline,
	#contact {
		max-width: 1400px;
	}
	
	.card{
		width:46%;
		padding: .3em;
	}

	/*Timeline styling*/
	.timeline ul li div{
		width: 637px;
	}

	/* Left side boxes*/
	.timeline ul li:nth-child(even) div{
		left : -662px;
	}
}

@media only screen and (min-height: 1000px){
	.container .header ul{
		margin: 50px 0;
	}
}