:root{
	--font-default: 'Nunito Sans', sans-serif;
}

html, body{
	font-family: var(--font-default);
}

.mobile-hidden{
	display: none;
}

.ul-inline{
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ul-inline li{
	margin-right: 2rem;
}


/* Navigation CSS */
.navigation{
	width: 100%;
}

.navigation-control-panel{
	padding: .5rem 0.75rem;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	z-index: 10000;
	width: 100%;
	background: #222;
}

.navigation-buttons button{
	margin: 0 .2rem;
	cursor: pointer;
}

.navigation-buttons button > *{
	pointer-events: none;
}

@media (min-width: 1200px){
	body{
		background: #e7e7e7;
	}

	.mobile-hidden{
		display: unset;
	}

	.navigation-control-panel{
		justify-content: flex-start;
		flex-direction: column;
		width: fit-content;
		background: #1e2a78;
	}

	.navigation-buttons{
		display: flex;
		flex-direction: column-reverse;
	}
	
	.navigation-buttons button{
		margin-bottom: 1rem;
	}
}

#button-navigation, #button-search{
	border: none;
	background: none;
	padding: 1rem;
	position: relative;
}

#button-navigation i, #button-navigation i::before, #button-navigation i::after{
	content: '';
	position: absolute;
	background: var(--color-nav);
	min-height: 1px;
	width: 100%;
	top: .25rem;
	right: 0;
}

#button-navigation i::before{
	top: .5rem;
	width: 75%;
}

#button-navigation i::after{
	top: 1rem;
	width: 50%;
}

@media (min-width: 1200px){
	
	#button-navigation i, #button-navigation i::before, #button-navigation i::after{
		background: var(--color-nav);
	}
	
	#button-navigation i{
		width: 100%;
		left: 0;
	}

	#button-navigation i::before{
		width: 75%;
		left: 0;
	}

	#button-navigation i::after{
		width: 50%;
		left: 0;
	}
	
	.nav-open{
		
	}
	
}

#button-search i, #button-search i::before{
	content: '';
	position: absolute;
	border-radius: 50%;
	width: 65%;
	height: 65%;
	border: 1px solid var(--color-nav);
	top: 0;
	left: 0;
}

#button-search i::before{
	border-radius: 0;
	background: var(--color-nav);
	height: 1px;
	width: 50%;
	top: auto;
	left: auto;
	bottom: -3px;
	right: -5px;
	transform: rotate(45deg) translate3d(0, 0, 0) translateZ(1px);
}

.navigation-content{
	position: fixed;
	z-index: 9999;
	width: 100%;
	top: 0;
	right: -100%;
	height: 100%;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: right .6s ease;
	background: #222;
}

.nav-open .navigation-content{
	right: 0;
}

#menu-content ul{
	list-style: none;
	font-weight: 900;
	font-size: 2rem;
	padding: 0;
}

#menu-content ul li{
	padding: .5rem 0;
}

#menu-content a{
	color: #ccc;
	text-decoration: none;
}

/* Rest of the content */

.content .row{
	flex-direction: column-reverse;
}

.intro, .profile{
	padding: 1rem;
	display: flex;	
	flex-direction: column;
	justify-content: center;
}

.profile{
	padding: 5rem 0;
	--color-dark: #eee;
}

.profile h1{
	font-size: 1.5rem;
}

.profile h4{
	font-size: 1.15rem;
}

.profile ul{
	padding: 0;
}

.profile .dp-wrapper{
	width: 160px;
	height: 160px;
}

.profile .dp-wrapper::after{
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background: url('../../static/resources/images/profile/dp_mobile.jpg') no-repeat;
	background-position: bottom;
	z-index: 1;
	border: 4px solid #ccc;
}

.intro h1{
	font-size: 1.75rem;
	font-weight: 900;
	margin: 0;
}

.intro h3{
	font-size: 1.25rem;
	font-weight: 200;
}

@media (min-width: 1200px){
	.wrapper-main{
		padding: 4rem;
	}

	.wrapper-projects, .wrapper-contact{
		padding: 2rem 4rem;
	}

	.content .row{
		flex-direction: unset;
	}

	.intro{
		background: #f5f5f5;
		position: relative;
	}

	.intro, .profile{
		min-height: 80vh;
	}

	.intro, .profile, .projects, .project-previews{
		padding: 5rem;
	}

	.intro h1{
		font-size: 2.3rem;
	}

	.intro h3{
		font-size: 1.6rem;
	}
}

.intro h3 a{
	text-decoration: none;
	color: goldenrod;
}

.intro-buttons{
	margin-top: 1rem;
}

.intro-buttons button{
	background: none;
	font-family: var(--font-default);
	font-weight: 400;
	color: #111;
}

.intro-buttons button::after{
	background: #f6b93b;
	color: #222;
	display: flex;
	align-items: center;
	justify-content: center;
}

#button-about::after{
	content: 'GET TO KNOW ME';
}

#button-projects::after{
	content: 'MY WORK';
	background: #222;
	color: #ccc;
}

.text-slider{
	position: static;
	align-self: unset;
}

.text-slider ul{
	list-style: none;
	display: flex;
}

.text-slider ul li{
	font-size: 2.25rem;
	font-weight: 900;
	text-transform: uppercase;
}

.text-slider ul li::before{
	content: 'STUFF I DO';
	position: absolute;
	right: 0;
	top: -2rem;
	color: #333;
	font-weight: 200;
	font-size: 1.8rem;
}

.loader{
	background: rgba(230, 230, 230, 0.8);
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 200;
	font-size: 2.5rem;
	z-index: 1000;
}

.loader::before{
	content: '';
	width: 3rem;
	height: 3rem;
	border: 1px solid #555;
	/* border-top: none; */
	border-right: none;
	/* border-bottom: none; */
	border-radius: 50%;
	animation: orbit .4s ease-in-out infinite;
}

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

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

@media (min-width: 1200px){
	.text-slider{
		align-self: flex-end;
		position: absolute;
		bottom: 0;
	}

	.text-slider ul li{
		position: absolute;
		bottom: 0;
		right: 0;
		opacity: 0;
		visibility: hidden;
		transform: translateX(100%);	
		transition: transform .6s ease-in-out, opacity .4s ease;
	}

	.text-slider ul li::before{
		transition: none;
	}

	.text-slider ul li.current{
		position: relative;
		opacity: 1;
		visibility: visible;
		transform: translate(0);
	}
}

.profile{
	background: #222;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	color: #eee;
}

.profile h1{
	margin-top: 1rem;
	font-weight: 200;
}

.profile span{
	font-weight: 900;
}

.profile h4{
	font-weight: 200;
	margin: 0;
}

.dp-wrapper{
	border-radius: 4px;
	position: relative;
	z-index: 2;
	width: 260px;
	height: 260px;
}

.dp-wrapper::before{
	content: '';
	position: absolute;
	top: -1rem;
	left: -1rem;
	background: var(--color-gray);
	width: 100%;
	height: 100%;
	z-index: 1;
}

.profile ul{
	display: flex;
	list-style: none;
	margin: 0;
}

.profile ul li{
	padding: .2rem .25rem;
	color: #eee;
}

.social-links svg{
	width: 24px;
	fill: #eee;
}

@media (min-width: 1200px){
	.profile h1{
		font-size: 2rem;
	}
}

/* Projects */

.projects{
	padding: 1rem;
	position: relative;
}

ul.project-list{
	flex-direction: column;
	position: relative;
	z-index: 1;
	overflow: hidden;
}

ul.project-list li{
	margin: 0;
}

ul.project-filter{
	display: none;
}

ul.project-filter li >*{
	pointer-events: none;
}

.projects select.select-project-filter{
	padding: .35rem .5rem;
	border: 1px solid #ccc;
	border-radius: 3px;
}

.panel{
	margin: .5rem 0;
}

.panel-header{
	width: 100%;
	height: 100px;
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	background-size: 100%;
	background-position: center;
	transition: all .7s ease-in-out;
	cursor: pointer;
}

.panel-header:hover{
	background-size: 110%;
}

.panel-content{
	border: 1px solid #ccc;
	padding: .5rem;
}

.panel-content > *{
	line-height: 1;
}

.label-project-status{
	margin: 0;
	padding: 0;
	line-height: 1;
	background: var(--color-darkblue);
	color: #eee;
	padding: .45rem .35rem;
	border-radius: 3px;
	margin: .5rem 0;
	display: inline-block;
	font-size: .75rem !important;
}

.panel-content{
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-top: 0;
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	padding: .75rem;
}

.pc-right{
	text-align: right;
}

.pc-right a{
	text-decoration: none;
	color: #333;
	position: relative;
}

.pc-right a::before{
	content: '';
	position: absolute;
	left: -1.25rem;
	width: 1rem;
	min-height: 1px;
	background: #222;
	top: 50%;
	z-index: 5;
}

.pc-right a::after{
	content: '';
	position: absolute;
	left: -2rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.5rem;
	min-height: 1.5rem;
	border-radius: 50%;
	background: #f6b93b;
}

.projects h1{
	font-size: 1.75rem;
}

.project-header{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

ul.project-list li{
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	z-index: -1;
	visibility: hidden;
	transform: scale(0.9);
	transition: transform .6s ease-in-out;
}

ul.project-list li.filtered--visible{
	position: relative;
	z-index: 1;
	opacity: 1;
	visibility: visible;
	transform: translate(0);
}

@media (min-width: 1200px){
	.projects{
		background: #f4f4f4;
		padding: 4rem;
	}

	ul.project-list{
		flex-direction: row;
	}
	
	ul.project-list li{
		margin: unset;
	}
	
	.projects ul.project-filter{
		display: flex;
	}

	
	
	.projects select.select-project-filter{
		display: none;
	}
	
	.panel{
		margin: 0;
		box-shadow: 1px 1px 4px rgb(10, 10, 10, .1);
	}
	
	.panel-content{
		border: 0;
		padding: .5rem;
	}
	
	.panel-content > *{
		line-height: unset;
	}

	.project-header{
		flex-direction: column;
		justify-content: unset;
		align-items: flex-start;
	}

	.projects h1{
		font-weight: 200;
		text-transform: uppercase;
		letter-spacing: 3px;
	}

	.project-filter li{
		cursor: pointer;
		position: relative;
	}

	.projects li.active::before{
		content: '';
		position: absolute;
		background: rgba(16, 202, 140, 0.3);
		min-height: .35rem;
		width: 100%;
		bottom: .35rem;
	}

	.projects p{
		font-weight: 400;
		font-size: .8rem;
		letter-spacing: 1px;
		text-transform: uppercase;
	}

	.project-list li{
		width: 25%;
		margin: 0;
		padding: 1rem 1rem 1rem 0;
	}

	.panel-header, .img-project{
		width: 100%;
		height: 280px;
		object-fit: cover;
	}

	.panel{
		background: #f7f7f7;
	}
}

/* Contact Form + Footer */

.form-contact .form-group{
	position: relative;
	padding: 1rem 0;
}

.form-contact input, .form-contact textarea{
	padding: 1rem;
	border: 1px solid #ccc;
	width: 100%;
	font-family: var(--font-default);
}

.form-contact .input:focus + label, .form-contact .input:valid + label{
	top: 0.1rem;
	left: 0;
	font-size: .8rem;
	color: var(--color-teal);
	font-weight: 400;
}

.form-contact .textarea:focus + label, .form-contact .textarea:valid + label{
	top: -.5rem;
}

.form-contact label{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 1rem;
	font-family: var(--font-default);
	font-weight: 200;
	color: #888;
	pointer-events: none;
	transition: top .3s ease-in-out, left .3s ease-in-out, font-size .3s ease-in-out, color .5s ease-in-out, font-weight .2s ease-in-out;
}

.fg-ta label{
	top: 1.5rem;
	transform: none;
}



@media (min-width: 1200px){
	.side-by-side{
		display: flex;
		justify-content: space-between;
	}
}

.side-by-side > .form-group{
	width: 100%;
	flex: 1;
}

.side-by-side > .form-group:nth-child(1){
	margin-right: 1rem;
}

.button-reset, .button-submit{
	padding: .75rem 1rem;
}

.button-reset::before, .button-submit::before{
	border-color: #ccc;
}

.button-reset::after{
	content: 'Clear';
	background: var(--color-light);
	color: #ccc;
	display: flex;
	align-items: center;
	justify-content: center;
}

.button-submit::after{
	content: 'Send Message';
	background: var(--color-blue);
	color: #f2f2f2;
	display: flex;
	align-items: center;
	justify-content: center;
}

.footer{
	background-color: var(--color-white);
	background: url(../resources/images/footer/humaan.png), #fff;
	background-size: 25%;
	background-position-x: -3rem;
	background-position-y: 103%;
	background-repeat: no-repeat;
	color: #222;
	padding: 1rem;
	position: relative
}

@media (min-width: 1200px){
	.footer{
		padding: 4rem;
		background-position-x: -3rem;
		background-position-y: bottom;
	}
}

.footer img{
	width: 160px;
	position: absolute;
	bottom: 0rem;
	right: 0rem;
}

.footer-social-links{
	display: flex;
	width: 100%;
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-social-links svg{
	width: 22px;
	margin-right: .5rem;
	fill:rgba(1, 32, 11, 0.87);
}

.business-card{
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 1rem;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.card-left, .card-right{
	width: 100%;
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.card-right{
	display: flex;
	width: 100%;
}

.business-card h4{
	margin: 0;
	line-height: 1;
	text-transform: uppercase;
}

.business-card h4 span{
	font-weight: 200;
}

.business-card h6{
	font-weight: 200;
}

.business-card label{
	display: flex;
	text-align: right;
	text-transform: uppercase;
	font-size: .75rem;
	width: 100%;
	letter-spacing: 1px;
	padding-bottom: .25rem;
	font-weight: 600;
	align-self: flex-end;
}

.business-card a{
	text-decoration: none;
	color: var(--color-purple)
}

.business-card a span{
	font-weight: 400;
	color: var(--color-green)
}

@media (min-width: 1200px){
	.business-card{
		flex-direction: row;
	}

	.business-card label{
		width: fit-content;
	}
	
	.card-right{
		text-align: right;
		padding-left: 1rem;
	}

	.footer-social-links{
		justify-content: flex-end;
	}

	.footer img{
		width: 480px;
		position: absolute;
		bottom: 1rem;
		right: 1rem;
	}
}

.footer-links{
	text-align: left;
	padding: 2rem;
}

.footer-links ul{
	list-style: none;
	padding: 0;
	padding-right: .75rem;
}

.footer-links li{
	padding: .25rem 1rem .25rem 0;
	position: relative;
}

.footer-links li::before{
	content: '';
	position: absolute;
	width: 1.5rem;
	height: 1px;
	background: #ccc;
	left: -2rem;
	top: 50%;
}

.footer-links a{
	text-decoration: none;
	font-weight: 200;
	font-size: 1.25rem;
}

@media (min-width: 1200px){
	.footer-links{
		text-align: right;
		padding: 2rem 0;
	}

	.footer-links li::before{
		right: -1rem;
		left: auto;
	}

	#modal-projects .project-slider{
		width: 100%;
		flex: 1.5;
		height: 365px;
		padding: 1rem;
		position: relative;
		overflow: hidden;
	}

	#modal-projects .project-slider span{
		display: block;
		width: 100%;
		height: 100%;
		background-size: 100%;
		background-repeat: no-repeat;
		position: absolute;
	}

	#modal-projects .project-stack{
		margin-top: .5rem;
	}

	#modal-projects .project-details{
		width: 100%;
		flex: 1;
		padding: 1rem;
	}
}