@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');
:root{
	--main-color:#e02f6b;
	--blue:#0000ff;
	--dark-blue:#18293c;
	--orange:#ffa500;
	--green-yellow:#cddc39;
	--pink-light:#efa2b4;
	--cyan-light:#aef1ee;
	--white:#ffffff;
	--white-alpha-40:rgba(255,255,255,0.40);
	--white-alpha-25:rgba(255,255,255,0.25);
	--backdrop-filter-blur:blur(5px);
}
*{
	box-sizing:border-box;
	padding:0;
	margin:0;
	outline:none;
}
::before,
::after{
	box-sizing:border-box;
}
body{
	min-height:100vh;
	background-image:linear-gradient(to bottom right, var(--pink-light), var(--cyan-light));
	color:var(--dark-blue);
	font-size:16px;
	overflow-x:hidden;
	font-family: 'Poppins', sans-serif;
	font-weight:300;
	background-attachment:fixed;
	line-height:1.5;
	-webkit-tap-highlight-color:transparent;
	padding:35px 15px;
}
body.hide-scrolling{
	overflow-y:hidden;
}
body::before{
	content:'';
	position:fixed;
	left:0;
	top:0;
	height:100%;
	width:100%;
	background-color:var(--green-yellow);
	z-index:-1;
	opacity:0.25;
}
a{
	text-decoration:none;
}
ul{
	list-style:none;
}
h1,h2{
	font-weight:600;
}
h3,h4,h5,h6{
	font-weight:500;
}
img{
	vertical-align:middle;
	max-width:100%;
}
section{
	background-color:var(--white-alpha-25);
	border:1px solid var(--white-alpha-40);
	min-height:calc(100vh - 70px);
	border-radius:30px;
	backdrop-filter:var(--backdrop-filter-blur);
	display:none;
}
section.active{
	display:block;
	animation:fadeIn 0.5s ease-in-out forwards;
}
section.fade-out{
	animation:fadeOut 0.5s ease-in-out forwards;
}

.main{
	max-width:1200px;
	margin:auto;
	transition:all 0.5s ease-in-out;
	position:relative;
}
.main.fade-out{
	opacity:0;
}
.container{
	padding:0 40px;
	width:100%;
}
.row{
	display:flex;
	flex-wrap:wrap;
}
.align-items-center{
	align-items:center;
}
.hidden{
	display:none !important;
}
.sec-padding{
	padding:80px 0px;
}
.flex-end{
	justify-content:flex-end;
}

/* Section Title */

.section-title{
	padding:0px 15px;
	width:100%;
	text-align:center;
	margin-bottom:40px;
}
.section-title h2{
	font-size:40px;
	text-transform:capitalize;
}

/* Custom Scrollbar */
::-webkit-scrollbar{
	width:5px;
}
::-webkit-scrollbar-track{
	background-color:var(--white);
}
::-webkit-scrollbar-thumb{
	background-color:var(--main-color);
}
button{
	font-family:inherit;
	user-select:none;
}
.btn{
	line-height:1.5;
	background-color:var(--white-alpha-25);
	padding:10px 28px;
	display:inline-block;
	border-radius:30px;
	color:var(--main-color);
	text-transform:capitalize;
	font-weight:500;
	cursor:pointer;
	font-size:16px;
	border:1px solid var(--white-alpha-40);
	font-family:inherit;
	user-select:none;
	position:relative;
	overflow:hidden;
	vertical-align:hidden;
	transition:color 0.3s ease;
}
.btn::before{
	content:'';
	position:absolute;
	left:0;
	top:0;
	height:100%;
	width:0%;
	background-color:var(--main-color);
	z-index:-1;
	transition:width 0.3s ease;
}
.btn:hover::before{
	width:100%;
}
.btn:hover{
	color:var(--white);
}

@Keyframes fadeIn{
	0%{
		opacity:0;
	}
	100%{
		opacity:1;
	}
}
@Keyframes fadeOut{
	0%{
		opacity:1;
	}
	100%{
		opacity:0;
	}
}
@Keyframes zoomInOut{
	0%,100%{
		transform:scale(0.5);
	}
	50%{
		transform:scale(1);	
	}
}
@Keyframes bounceTop{
	0%,100%{
		transform:translateY(-50px);
	}
	50%{
		transform:translateY(0px);	
	}	
}

@Keyframes spin{
	0%{
		transform:rotate(0deg);
	}
	100%{
		transform:rotate(360deg);	
	}	
}
.bg-circles{
	position:fixed;
	top:0;
	left:50%;
	height:100%;
	max-width:1200px;
	width:calc(100% - 30px);
	transform:translateX(-50%);
}
.bg-circles div{
	position:absolute;
	border-radius:50%;
}
.bg-circles .circle-1{
	height:60px;
	width:60px;
	background-color:var(--blue);
	left:5%;
	top:10%;
	opacity:0.3;
	animation:zoomInOut 8s linear infinite;
}
.bg-circles .circle-2{
	height:80px;
	width:80px;
	background-color:var(--main-color);
	left:30%;
	top:50%;
	opacity:0.4;
	animation:bounceTop 5s ease-in-out infinite;
}
.bg-circles .circle-3{
	height:120px;
	width:120px;
	background-color:var(--white);
	top:40%;
	right:-60px;
	opacity:0.6;
	animation:zoomInOut 8s linear infinite;
}
.bg-circles .circle-4{
	height:50px;
	width:50px;
	background-color:var(--orange);
	left:-30px;
	top:80%;
	opacity:0.6;
	animation:bounceTop 5s ease-in-out infinite;
}
.overlay{
	position:fixed;
	left:0;
	top:0;
	height:100%;
	width:100%;
	z-index:200;
	visibility:hidden;
	background-color:transparent;
	opacity:0.5;
}
.overlay.active{
	visibility:visible;
}



.header{
	padding:20px 0 0;
	position:absolute;
	left:0;
	top:0;
	width:100%;
	z-index:1;
}
.header.active{
	position:fixed;
	top:35px;
	padding:20px 15px;
}
.header.active .container{
	max-width:1200px;
	margin:auto;
}
.header .nav-toggle{
	width:50px;
	height:50px;
	border-radius:50%;
	cursor:pointer;
	border:none;
	background-color:var(--white-alpha-25);
	border:1px solid var(--white-alpha-40);
	display:flex;
	align-items:center;
	justify-content:center;
	margin:0px 15px;
	z-index:1;
	transition:opacity 0.5s ease-in-out;
}
.header .nav-toggle.hide{
	opacity:0;
}

.header .nav-toggle span{
	height:2px;
	width:24px;
	background-color:var(--main-color);
	position:relative;
	transition:background-color 0.3s ease;
}
.header.active .nav-toggle span{
	background-color:transparent;
}

.header .nav-toggle span::before,
.header .nav-toggle span::after{
	content:'';
	position:absolute;
	top:0;
	width:100%;
	height:100%;
	background-color:var(--main-color);
	transition:all 0.3s ease;
}
.header .nav-toggle span::before{
	left:0;
	transform:translateY(-8px);
}
.header.active .nav-toggle span::before{
	transform:rotate(45deg);
}
.header .nav-toggle span::after{
	right:0;
	transform:translateY(8px);
}
.header.active .nav-toggle span::after{
	transform:rotate(-45deg);
}

.header:not(.active) .nav-toggle:hover span::before,
.header:not(.active) .nav-toggle:hover span::after{
	width:50%;
}

.header .nav{
	position:fixed;
	left:0;
	top:0;
	height:100%;
	width:100%;
	padding:35px 15px;
	overflow-y:auto;
	visibility:hidden;
}
.header.active .nav{
	visibility:visible;
}
.header .nav-inner{
	min-height:calc(100vh - 70px);
	max-width:1200px;
	margin:auto;
	background-color:var(--white-alpha-25);
	border:1px solid var(--white-alpha-40);
	backdrop-filter:var(--backdrop-filter-blur);
	padding:50px 0;
	border-radius:30px;
	display:flex;
	align-items:center;
	justify-content:center;
	opacity:0;
	transition:all 0.5s ease;
}
.header.active .nav-inner{
	opacity:1;
}
.header .nav-inner ul{
	text-align:center;
}
.header .nav-inner ul li a{
	font-size:40px;
	color:var(--dark-blue);
	display:block;
	font-weight:500;
	padding:8px 15px;
	transition:color 0.3s ease;
	position:relative;
}
.header .nav-inner ul li a:hover{
	color:var(--main-color);
}
header .nav-inner ul li a::before{
	content:'';
	position:absolute;
	right:0;
	bottom:0;
	height:50%;
	width:0%;
	background-color:var(--white-alpha-25);
	z-index:-1;
	transition:width 0.5s ease;
}
header .nav-inner ul li a:hover::before{
	width:100%;
}

.home-section{
	padding:120px 0px;
}
.home-section.active{
	display:flex;
}
.home-text,
.home-img{
	width:50%;
	padding:15px;
}
.home-text p{
	font-size:18px;
}
.home-text h1{
	font-size:50px;
	text-transform:capitalize;
}
.home-text h2{
	font-size:20px;
	text-transform:capitalize;
	font-weight:300;
	margin:0 0 30px;
}
.home-text .btn{
	margin:0 15px 15px 0;
}
.home-img .img-box{
	max-width:360px;
	border-radius:50%;
	background-color:var(--white-alpha-25);
	border:8px solid var(--white-alpha-40);
	margin:auto;
}
.home-img .img-box img{
	width:100%;
	border-radius:50%;
}

.about-img{
	width:40%;
	padding:0 15px;
}
.about-text{
	width:60%;
	padding:0px 15px;
}
.about-img .img-box{
	background-color:var(--white-alpha-25);
	max-width:380px;
	border:3px solid var(--white-alpha-40);
	margin:auto;
	border-radius:10px;
}
.about-img .img-box img{
	border-radius:10px;
	width:100%;
}
.about-text h3{
	text-transform:capitalize;
	font-size:20px;
	margin:20px 0;
}
.about-text .skills{
	display:flex;
	flex-wrap:wrap;
}
.about-text .skill-items{
	background-color:var(--white-alpha-25);
	border:1px soid var(--white-alpha-40);
	padding:5px 15px;
	text-transform:capitalize;
	margin:0px 10px 10px 0;
	border-radius:20px;
}
.about-tabs{
	margin-top:20px;
}
.about-tabs .tab-items{
	padding:2px 0px;
	background-color:transparent;
	border:none;
	text-transform:capitalize;
	display:inline-block;
	font-size:20px;
	color:var(--dark-blue);
	cursor:pointer;
	font-weight:500;
	margin:0px 30px 0 0;
	position:relative;
	opacity:0.5;
	transition:all 0.3s ease;
}
.about-tabs .tab-items:last-child{
	margin:0;
}
.about-tabs .tab-items::before{
	content:'';
	position:absolute;
	left:0;
	bottom:0;
	width:0%;
	height:1px;
	background-color:var(--dark-blue);
	transition:width 0.3s ease;
}
.about-tabs .tab-items:hover::before{
	width:100%;
}
.about-tabs .tab-items.active::before{
	width:100%;
	background-color:var(--main-color);
}
.about-tabs .tab-items.active{
	color:var(--main-color);
	opacity:1;
	cursor:auto;
}
.about-text .timeline{
	position:relative;
}
.about-text .timeline::before{
	content:'';
	position:absolute;
	height:100%;
	width:1px;
	top:0;
	left:5px;
	background-color:var(--main-color);
}
.about-text .tab-content{
	padding:40px 0;
	display:none;
}
.about-text .tab-content.active{
	display:block;
}
.about-text .timeline-item{
	margin-bottom:30px;
	position:relative;
	padding:10px 0 0 40px;
}

.about-text .timeline-item::before{
	content:'';
	position:absolute;
	height:11px;
	width:11px;
	background-color:var(--main-color);
	left:0;
	top:16px;
	border-radius:50%;
}

.about-text .timeline-item:last-child{
	margin-bottom:0;
}
.about-text .timeline-item .date{
	display:block;
	color:var(--main-color);
	font-weight:400;
	margin:0px 0px 10px;
}
.about-text .timeline-item h4{
	font-size:18px;
	text-transform:capitalize;
	margin:0 0px 10px;
}

.about-text .timeline-item h4 span{
	font-weight:400;
}
.about-text .btn{
	margin:0 15px 15px 0;
}

.portfolio-section{
	padding-bottom:50px;
}
.portfolio-item{
	width:calc((100%/3) - 30px);
	margin:0 15px 30px;
}
.portfolio-item h3{
	font-size:20px;
	text-transform:capitalize;
	margin:20px 0px;
}
.portfolio-item-details{
	display:none;
}
.portfolio-item-thumbnail{
	padding:10px;
	background-color:var(--white-alpha-25);
	border-radius:10px;
	border:2px solid var(--white-alpha-40);
}
.portfolio-item-thumbnail img{
	width:100%;
	border-radius:10px;
}

.portfolio-popup{
	position:fixed;
	left: 0;
	top:0;
	height:100%;
	visibility:hidden;
	width:100%;
	z-index: 200;
}
.portfolio-popup.open{
	visibility:visible;
	overflow-y:auto;
}
.pp-inner{
	background-color:100vh;
	padding:40px 15px;
	display:flex;
	align-items:center;
	justify-content:center;
}
.pp-content{
	background-color:var(--white-alpha-25);
	padding:30px;
	border-radius:30px;
	max-width:900px;
	width:100%;
	border:2px solid var(--white-alpha-40);
	backdrop-filter:var(--backdrop-filter-blur);
	opacity:0;
	transform:scale(0.8);
}
.portfolio-popup.open .pp-content{
	opacity:1;
	transition:all 0.5s ease-in-out;
	transform:scale(1);
}
.pp-header{
	position:relative;
}
.pp-header .btn{
	height:40px;
	width:40px;
	padding:0;
	display:flex;
	align-items:center;
	justify-content:center;
	position:absolute;
	right:-40px;
	top:-40px;
}
.pp-thumbnail img{
	border-radius:10px;
}
.pp-header h3{
	font-size:25px;
	text-transform:capitalize;
	margin:20px 0 15px;
}
.pp-body .description{
	margin-bottom:20px;
}
.pp-body .general-info li{
	margin-bottom:10px;
	font-weight:500;
}
.pp-body .general-info li span{
	font-weight:300;
}
.pp-body .general-info li a{
	color:var(--main-color);
	text-transform:lowercase;
}

.contact-form,
.contact-info{
	width:50%;
	padding:0 15px;
}
.contact-form .input-group{
	width:100%;
	margin-bottom:30px;
}
.contact-form .input-group::placeholder{
	color:var(--dark-blue);
	opacity:0.8;
	font-weight:300;
}
.contact-form .input-control{
	display:block;
	width:100%;
	height:50px;
	border-radius:25px;
	border:none;
	font-family:inherit;
	font-weight:400;
	font-size:16px;
	background-color:var(--white-alpha-25);
	padding:0px 20px;
	color:var(--dark-blue);
	border:1px solid transparent;
	transition:border-color 0.3s ease-in-out;
}
.contact-form .input-control:focus{
	border-color:var(--white-alpha-40);
}
.contact-form textarea.input-control{
	height:120px;
	resize:none;
	padding:15px;
}
.contact-info-item{
	margin:0 0 30px;
	padding:0 0 0 20px;
}
.contact-info-item h3{
	font-size:20px;
	text-transform:capitalize;
	margin:0 0 0 0px;
}
.contact-info-item .social-links a{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height:40px;
	width:40px;
	background-color:var(--white-alpha-25);
	color:var(--main-color);
	border-radius:50%;
	margin:6px 4px 0 0;
	border:1px solid var(--white-alpha-40);
	transition:all 0.3s ease;
}
.contact-info-item .social-links a:hover{
	color:var(--white);
	background-color:var(--main-color);
}

.timeline-item h4 span a{
	color:var(--main-color);
}

.timeline-item h4 span .domain{
	font-style: italic;
}

@media(max-width:991px){
	.container{
		padding:0;
	}
	.home-text,
	.home-img{
		width:100%;
	}
	.home-text{
		text-align:center;
	}
	.home-img{
		order:-1;
	}
	.home-img .img-box{
		max-width:300px;
	}
	.home-text .btn{
		margin:0 7px 15px;
	}
	.portfolio-item{
		width:calc(50% - 30px);
	}
}
@media(max-width: 767px){
	.about-text, .about-img, .contact-form, .contact-info{
		width:100%;
	}
	.about-text{
		margin-top:30px;
	}
	.portfolio-item{
		width:calc(100% - 30px);
	}
	.pp-inner{
		padding:30px 15px;
	}
	.contact-info{
		order:-1;
		margin-bottom:15px;
	}
	.contact-info-item{
		padding:0;
	}
}
@media(max-width: 575px){
	.section-title h2,
	.header .nav-inner ul li a{
		font-size:35px;
	}
	.home-text h1{
		font-size:30px;
	}
	.home-text h2{
		font-size:18px;
	}
	.timeline-item h4{
		font-size:16px;
	}
	.timeline-item h4 span{
		font-size:16px;
	}
	.pp-header h3{
		font-size:20px;
	}
}