html, body {
  cursor: url('left_ptr.svg'), default;
  font-size: 2vh;
  margin: 0;
  padding: 0;
  background-color: #0F0E0F;
  color: #E6E1E3;
  scroll-behavior: smooth;
}
a, button, .clickable {
  cursor: url('hand2.svg'), pointer;
}
@font-face {
	font-family: "Montserrat";
	src: url('fonts/Montserrat-Regular.woff2') format('woff2');
	font-weight: 400;
	font-size: normal;
	font-display: swap;
}
@font-face {
	font-family: "Montserrat";
	src: url('fonts/Montserrat-Bold.woff2') format('woff2');
	font-weight: 700;
	font-size: bold;
	font-display: swap;
}


@font-face {
	font-family: "JetBrains Mono";
	src: url('fonts/JetBrainsMono-regular.woff2') format('woff2');
	font-weight: 400;
	font-size: normal;
	font-display: swap;
}
@font-face {
	font-family: "JetBrains Mono";
	src: url('fonts/JetBrainsMono-Bold.woff2') format('woff2');
	font-weight: 700;
	font-size: bold;
	font-display: swap;
}

@font-face {
	font-family: "NotoSansOdia";
	src: url('fonts/NotoSansOriya-Regular.woff2') format('woff2');
	font-weight: 400;
	font-size: normal;
	font-display: swap;
}
@font-face {
	font-family: "NotoSansOdia";
	src: url('fonts/NotoSansOriya-Bold.woff2') format('woff2');
	font-weight: 700;
	font-size: bold;
	font-display: swap;
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

@keyframes entry {
	0% {
		transform: translate(0px, 100px);
		opacity: 0;
	}
	100% {
		transform: translate(0, 0);
		opacity: 1;
	}
}

@keyframes img-hover {
	0% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.1);
	}
	100% {
		transform: scale(1.02);
	}
}


.top-container {
	margin: 5vh 2vw;
	animation: entry 0.75s ease-in-out both;
		animation-trigger: --t play-forward;
		timeline-trigger: --t view() entry 100% exit 0% ;
	display: grid;
	grid-template-columns: 5fr 1fr;
	gap: 10px;
	align-items: center;
	
	.port {
		background-color: transparent;

		height: 100%;
		
		border: transparent;
		border-radius: 50px;
		overflow: hidden;
		position: relative;
		animation: entry 0.75s ease-in-out both;
		animation: entry 0.75s ease-in-out both;
		animation-trigger: --t play-once;
		timeline-trigger: --t view() entry 100% exit 0% ;
		animation-fill-mode: forwards;
		transition: transform 0.3s ease;
	}
	
	.pic {
		margin: 0;
		background-color: #1C1B1D;
		background-image: url(profile.jpg);
		background-size: cover;
		background-position: center;
		object-fit: cover;
		height: 100%;
		
		
		
		
		
		transform: scale(1);
	}
	.pic:hover {
		animation-name: img-hover;
		animation-duration: 0.5s;
		transform: scale(1.02);
	}
	.nega {
		margin: 3vh 3vw;
		p{
			margin: 7vh 0;
		}
	}

	.desc {
		overflow: hidden;
		display: flex;
		flex-direction: column;
		font-family: "Montserrat", sans-serif;
		border: transparent;
		border-radius: 50px;
		height: 100%;
		
		background-color: #1C1B1D;
		color: #E6E1E3;
		h1 {
			font-size: 8vh;
		}
	}
	.btn {
		border: transparent;
		font-family: "Montserrat", sans-serif;
		border-radius: 100px;
		background-color: #FF8686;
		color: #560000;
		width: max-content;
		padding: 25px;
		text-decoration: none;
		font-weight: bold;
		animation-name: entry;
		position: relative;
		z-index: 2;
		animation-duration: 2s;
		animation-iteration-count: 1;
	}
	.btn:hover {
		outline: solid 2px #b5705c;
	}
	h1 {
		position: relative;
		z-index: 2;
	}
	p {
		position: relative;
		z-index: 2;
		
	}
}

.abit {
	padding: 0 5vw;
	margin-top: 5vh;
	font-family: "Montserrat", sans-serif;
	display: flex;
	animation: entry 0.75s ease-in-out both;
	animation-trigger: --t play-forwards play-backwards;
	timeline-trigger: --t view();
	align-items: center;
	flex-direction: column;
	text-align:  left;

	h2 {
		
		font-size: 6vh;
	}
	p {	
		margin-top: 3vh;
		text-align:justify;
		width: 100%;
		max-width: 1000px;
		position: relative;
		z-index: 2;
	}
}


.line-in {
	animation-name: entry;
		animation-duration: 2s;
	margin-top: 10vh;
	position: relative;
	width: 250px;
	height: 250px;
	margin-left: auto;
	margin-right: auto;
	
}

@keyframes limma {
	0% {
		stroke-dashoffset: 50.25392150878906;
	}
	
	25% {
		stroke-dashoffset: 0;
	}
	50% {
		stroke-dashoffset: -50.25392150878906;
	}
	75% {
		stroke-dashoffset: 0;
	}
	100% {
		stroke-dashoffset: 50.25392150878906;
	}
}


#path2 {
	stroke-dasharray: 50.25392150878906;
	stroke-dashoffset: 50.25392150878906;
	animation: limma 2s ease-in-out infinite;
	animation-delay: 1s;
	
	
}

.sh {
	display: flex;
	justify-content: center;
	font-family: "Montserrat", sans-serif;
	align-items: center;
	margin-top: 0vh;
	font-size: 5vh;
	animation: entry 0.75s ease-in-out both;
		animation-trigger: --t play-once;
		timeline-trigger: --t view() entry 100% exit 0% ;
}


.ss {
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 100%;
	width: 250px;
	max-width: 100vw;
	margin-bottom: 10vh;
	
}

.showcase {
	margin-top: 2vh;
	
	display: grid;
	grid-template-columns: 1fr;
	gap: 50px;
	max-width: 1000px;
	width: 100%;
	
	align-items: center;
	font-family: "Montserrat", sans-serif;
	padding: 8vw;
	h2 {
		font-size: 6vh;
		max-width: 1000px;
		width: 100%;
	}
}
@keyframes capsule-hover {
	0% {
		transform: translate(0, 0);
		box-shadow:none;
	}
	100% {
		transform: translate(0, -5px);
		box-shadow: 0 5px 20px 2.5px rgba(255,255,255,0.2);
	}
}
@keyframes capsule-unhover {
	0% {
		transform: translate(0, -5px);
		box-shadow: 0 5px 20px 2.5px rgba(255,255,255,0.2);
	}
	100% {
		transform: translate(0, 0);
		box-shadow:none;
	}
	
}
.capsule:hover {
	animation: capsule-hover 0.25s ease-in-out;
	transform: translate(0, -5px);
	box-shadow: 0 5px 20px 2.5px rgba(255,255,255,0.2);
}

.capsule:not(:hover) {
	animation: capsule-unhover 0.25s ease-in-out;
	transform: translate(0, 0);
		box-shadow:none;
	
}
.capsule {
	
	background-color: #1C1B1D;
	border: transparent;
	border-radius: 50px;
	overflow: hidden;
	padding-bottom: 2vh;
	transform: translate(0, 0);
		box-shadow:none;
	height: max-content;
	

	.rote {
		margin: 3vh 3vw;
	}
	.card-image {
		min-width: 100%;
		width: 250px;
		max-height: auto;
		object-fit: cover;
		object-position: left;
	}
	.card-image:hover {
		animation-name: img-hover;
		animation-duration: 0.75s;
		transform: scale(1.02);
	}
	p {
		margin-bottom: 5vh;
		
	}
	h3 {
		margin-bottom: 1vh;
	}
	a {
		color: #563500;
		border: transparent;
		border-radius: 100px;
		width: max-content;
		padding: 25px;
		background-color: #FFD386;
		text-decoration: none;
		font-weight: bold;
		
	}
	a:hover {
		outline: solid 2px #77633d;
	}
	.add-more {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		font-size: 2.5vh;
		text-align: center;
		height: 35vh;
		padding-bottom: 15vh;
		animation: none;
		.plus {
			font-size: 20vh;
		}
	}
}

.tags {
	display: flex;
	p {
		font-family: "JetBrains Mono", monospace;
		font-weight: bold;
		margin-top: 0;
		margin-bottom: 0;
		background: rgba(167, 104, 22, 0.268);
		padding: 0.5vh 10px;
		border: transparent;
		border-radius: 100px;
		font-size: 1.5vh;
		margin-right: 10px;
	}
}

.bottom-bar {
	background-color: #21201FCC;
	 backdrop-filter: blur(20px);
  	-webkit-backdrop-filter: blur(20px);
	position: fixed;
	display: flex;
	align-items: center;
	justify-content: space-evenly;
	flex-direction: row;
	bottom: 0;
	width: 100%;
	z-index: 999;
	font-size: 1vh;
	font-weight: bold;
	padding: 1vh 0;
	animation-name: entry;
		animation-duration: 0.5s;
}

@keyframes entry-left {
	0% {
		transform: translate(-100px, 0px);
		opacity: 0;
	}
	100% {
		transform: translate(0, 0);
		opacity: 1;
	}
}



.button {
	display: flex;
	justify-content: center;
	flex-direction: column;
	font-family: "Montserrat", sans-serif;
	align-items: center;
	overflow: visible;
}
.button-icon:hover {
	animation-name: img-hover;
		animation-duration: 0.25s;
		transform: scale(1.02);
}
.button-shad {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #5A4D45;
	border: transparent;
	border-radius: 100px;
	width: 50px;
	padding: 0.75vh 0;
}
.button-shad:hover {
		outline: solid 2px #95954ecc;
	}
#icon-button0 {
	background-color: transparent;
	background-image: url("mail.svg");
	
	background-size:100%;
	background-position: center;
	overflow: visible;
	color: transparent;
	width: 16px;
	height: 16px;
	border: transparent;
	
}

#icon-button1 {
	background-color: transparent;
	background-image: url("github.svg");
	
	background-size:100%;
	background-position: center;
	overflow: visible;
	color: transparent;
	width: 16px;
	height: 16px;
	border: transparent;
	
}

#icon-button2 {
	background-color: transparent;
	background-image: url("terms.svg");
	
	background-size:100%;
	background-position: center;
	overflow: visible;
	color: transparent;
	width: 16px;
	height: 16px;
	border: transparent;
	
}

#icon-button3 {
	background-color: transparent;
	background-image: url("about.svg");
	
	background-size:100%;
	background-position: center;
	overflow: visible;
	color: transparent;
	width: 16px;
	height: 16px;
	border: transparent;
	
}


.signature {
	position: relative;
	left: 25vw;
	width: 1px;
	height: 1px;
	transform: scale(1.2);
	z-index: 0;
	opacity: 0.75;
}

@keyframes draw {
	0% {
		stroke-dashoffset: 276.3114318847656;
	}
	50% {
		stroke-dashoffset: 0;
	}
	100% {
		stroke-dashoffset: -276.3114318847656
	}
}

#path1 {
	stroke-dasharray: 276.3114318847656;
	stroke-dashoffset: 276.3114318847656;
	animation: draw 5s ease-in-out infinite;
	animation-delay: 0.75s;
}

@keyframes star-rotate {
	0% {
		transform: rotate(10deg);
	}
	40% {
		transform: rotate(15deg);
	}
	
	100% {
		transform: rotate(10deg);
	} 
	
	
}
@keyframes draw1 {
	0% {
		stroke-dashoffset: 276.3114318847656;
	}
	100% {
		stroke-dashoffset: 0;
	}
	
}
.star {
	width: 100%;
	max-width: 1000px;
	height: 1px;
	position: relative;
	bottom: 15vh;
	transform: rotate(10deg);
	display: flex;
	justify-content: end;
	z-index: 0;
	transform: scale(5);
	animation: star-rotate 5s ease-in-out infinite;
}

#path3 {
	stroke-dasharray: 276.3114318847656;
	stroke-dashoffset: 276.3114318847656;
	animation: draw1 1s ease-in-out forwards;
	animation-trigger: --t play-forwards play-backwards;
		timeline-trigger: --t view() entry 100% exit 0% ;
	
}


.lol {
	display: flex;
	justify-content: center;
	align-items: center;
}
.pure {
	
	height: 20vh;
	animation: entry 0.75s ease-in-out both;
		animation-trigger: --t play-once;
		timeline-trigger: --t view() entry 100% exit 0% ;
	font-family: "Montserrat", sans-serif;
	background-color: #1d1c1b;
	margin: 0 2vw;
	
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 1000px;
	width: 100%;
	border: transparent;
	border-radius: 50px;
	font-weight: bold;
	font-size: 3vh;
	p {
		padding: 3vw;
	}
}
.copyright {
	height: 20vh;
	animation: entry 0.75s ease-in-out both;
		animation-trigger: --t play-once;
		timeline-trigger: --t view() entry 100% exit 0% / entry 0% exit 100%;
		animation-iteration-count: 1;
	font-family: "Montserrat", sans-serif;
	background-color: #1d1c1b;
	background-image: linear-gradient(45deg,rgba(255, 102, 0, 1) 2%, rgba(166, 0, 255, 1) 100%);
	overflow: hidden;
	margin: 2vh 2vw;
	margin-bottom: 15vh;
	border: 10px solid #FF006A;
	border-radius: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 1000px;
	width: 100%;
	font-weight: bold;
	font-size: 3vh;
	p {
		padding: 3vw;
	}
}
@media (min-width: 1200px) {
	.signature {
		transform: scale(2.5);
	}
	.card-image {
		width: 500px;
	}
	.bottom-bar {
		flex-direction: column;
		left: 0;
		height: 100vh;
		width: 75px;
		justify-content: center;
		padding: 0 0.7vw;
		animation-name: entry-left;
		font-size: 1.25vh;
	}
	#icon-button0 {
		width: 32px;
		height: 32px;
	}
	#icon-button1 {
		width: 32px;
		height: 32px;
	}
	#icon-button2 {
		width: 32px;
		height: 32px;
	}
	#icon-button3 {
		width: 32px;
		height: 32px;
	}
	.button {
		padding: 1vh 0;
	}
	.button-shad {
		width: 75px;
	}
	body {
		padding-left: 100px;
	}
	.top-container {
		margin-bottom: 14vh;
		grid-template-columns: 3fr 1fr;
	}
	.showcase {
		grid-template-columns: 1fr 1fr;
		padding: 2vw;
	}
	.capsule {
		height: 58vh;
		padding-bottom: 15vh;
	}
	.card-image {
		height: 35vh;
	}
	.add-more {
		height: 35vh;
	}
	.plus {
		font-size: 100vh;
	}
}