html {
	-ms-overflow-style: none;
    scrollbar-width: none;
	overflow-y: scroll;
	user-select: none;
}

html::-webkit-scrollbar {
    display: none;
}

body {
	-ms-overflow-style: none;
    scrollbar-width: none;
	overflow-y: scroll;
}

body::-webkit-scrollbar {
    display: none;
}

.holobutton {
	background-image: linear-gradient(
		45deg,
		rgba(255, 255, 255, 0) 25%,
		rgba(255, 255, 255, 0) 50%,
		rgba(255, 225, 255, 0) 75%
	);
	background-color: unset !important;
	color: #fff !important;
	text-shadow: 0px 0px 1px #000;
	font-weight: bold;
	border: 2px solid;
	border-color: #fff !important;
	padding: 10px 20px;
	font-size: 1.5rem;
	cursor: pointer;
	border-radius: 500px;
	transition: background-color 0.3s ease, scale 0.3s ease;
}

.holobutton:hover {
	background-image: linear-gradient(
		45deg,
		rgba(255, 255, 255, 0) 40%,
		rgba(255, 255, 255, 1) 50%,
		rgba(255, 225, 255, 0) 60%
	);
	background-color: unset !important;
	background-size: 200% 100%;
	border-color: #fff !important;
	scale: 1.05;
	color: #fff !important;
	text-shadow: 0px 0px 1px #000;
	animation: shimmer 1.6s linear infinite;
}

.holobutton:focus {
	background-image: linear-gradient(
		45deg,
		rgba(255, 255, 255, 0) 40%,
		rgba(255, 255, 255, 1) 50%,
		rgba(255, 225, 255, 0) 60%
	);
	background-color: unset !important;
	background-size: 200% 100%;
	border-color: #fff !important;
	scale: 1.05;
	color: #fff !important;
	text-shadow: 0px 0px 1px #000;
	animation: shimmer 1.6s linear infinite;
}

.golden-button {
	background-image: linear-gradient(
		45deg, 
		rgba(255, 215, 0, 1) 25%, 
		rgba(255, 255, 255, 1) 50%, 
		rgba(255, 215, 0, 1) 75%
	);
	background-color: unset !important;
	color: #614f00 !important;
	border: none;
	padding: 10px 20px;
	font-size: 1rem;
	cursor: pointer;
	border-radius: 500px;
	transition: background-color 0.3s ease, scale 0.3s ease;
}

.golden-button:hover {
	background-image: linear-gradient(
		45deg, 
		rgba(255, 215, 0, 1) 25%, 
		rgba(255, 255, 255, 1) 50%, 
		rgba(255, 215, 0, 1) 75%
	);
	background-color: unset !important;
	background-size: 200% 100%;
	scale: 1.05;
	color: #0a0800 !important;
	animation: shimmer 1.6s linear infinite;
}

.golden-button:focus {
	background-image: linear-gradient(
		45deg, 
		rgba(255, 215, 0, 1) 25%, 
		rgba(255, 255, 255, 1) 50%, 
		rgba(255, 215, 0, 1) 75%
	);
	background-color: unset !important;
	background-size: 200% 100%;
	scale: 1.05;
	color: #0a0800 !important;
	animation: shimmer 1.6s linear infinite;
}

@keyframes shimmer {
	from {
		background-position: -200% 0;
	}
	to {
		background-position: 200% 0;
	}
}

#sectioncontainer {
	opacity: 1;
	transition: opacity 0.2s ease;
}

.portfolio-grid {
	display: flex;
	width: 40vw;
	flex-wrap: wrap;
	gap: 16px;
	padding: 16px;
	justify-content: center;
}

.small-item {
	flex: 0 0 calc(50% - 16px);
}

.large-item {
	order: -1;
	flex: 0 0 100%;
}

@media (max-width: 1400px) {
    .portfolio-grid {
        width: 60vw;
    }
}

@media (max-width: 800px) {
    .portfolio-grid {
        width: 80vw;
    }
}

@media (max-width: 600px) {
    .portfolio-grid {
        width: 90vw;
    }
}

@media (max-width: 400px) {
    .portfolio-grid {
        width: 100vw;
    }
}

.portfolio-card {
	background-color: #000;
	border-radius: 12px;
	overflow: hidden;
	transition: transform .3s, box-shadow .3s, border .3s;
	display: flex;
	flex-direction: column;
	box-shadow: 0 4px 8px #000000;
	border: 2px solid #000000;
	color: #fff;
	cursor: pointer;
}

.portfolio-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 4px 8px #000000;
	border: 2px solid #000000;
}

.portfolio-card img {
	width: 100%;
	height: auto;
	border-top-left-radius: 12px;
	border-top-right-radius: 12px;
	flex-shrink: 0;
}

.portfolio-card h4, .portfolio-card p {
	padding: 16px;
	flex: 1;
}

.portfolio-card h4 {
	font-size: 1.5em;
	margin: 0;
	flex: 0 0 auto;
}

.portfolio-card a {
	font-weight: bold;
}

@media (max-width: 1000px) {
	.portfolio-card {
		flex: 1 1 calc(50% - 32px);
	}
}

@media (max-width: 600px) {
	.portfolio-card {
		flex: 1 1 100%;
	}
}

#homepagesection {
	display: flex;
	flex-direction: column;
	align-items: start;
	margin-left: 5rem;
	transform: translateY(-10rem);
	opacity: 0;
	transition: opacity 1s ease-in-out, transform 1s ease-in-out;
}

@media (max-width: 700px) {
	#homepagesection {
		margin-left: 0;
	}
}

.buttonwrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: max-content;
}

#overlay {
	transition: opacity 1s ease-in-out;
}

#projects {
	opacity: 0;
	transition: opacity 0.5s ease-in-out;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
    max-width: 1000px;
    padding: 0 1rem;
}

.projectscontainer {
    padding: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.projectpanel {
    border: 2px solid rgba(255, 255, 255, 0.05);
    border-radius: 24px;
    color: #fff;
    padding: 1rem;
    backdrop-filter: blur(20px);
    width: 12rem;
	height: auto;
	display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
	margin: 1rem;
	transition: all 0.3s ease-in-out;
}

.projecticon {
	width: 10rem;
	height: auto;
}

.projecttitle {
	font-weight: bold;
	font-size: 1.2rem;
	text-align: center;
	margin-top: 0.5rem;
}

.biowrapper {
	width: 100%;
    max-width: 1000px;
	padding: 0 1rem;
}

#bio {
	opacity: 0;
	transition: opacity 0.5s ease-in-out;
	z-index: 2;
    text-align: center;
    width: 100%;
    margin-top: 10rem;
    border: 2px solid rgba(255, 255, 255, 0.05);
    border-radius: 24px;
    color: #fff;
    padding: 1rem 2rem;
    backdrop-filter: blur(20px);
}

.skillscontainer {
    padding: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.skill {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin: 1rem;
	width: 12rem;
}

.skillicon {
	width: 10rem;
	height: auto;
	border-radius: 500px;
}

.skilltext {
	font-weight: bold;
	font-size: 1.2rem;
	text-align: center;
	margin-top: 0.5rem;
}

#socials {
	opacity: 0;
	transition: opacity 0.5s ease-in-out;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
    max-width: 1000px;
    padding: 0 1rem;
	margin-top: 10rem;
	margin-bottom: 10rem;
}

.socialbutton {
	width: 100%;
    border: 2px solid rgba(255, 255, 255, 0.05);
    border-radius: 24px;
    color: #fff;
    padding: 1rem 2rem;
    backdrop-filter: blur(20px);
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	margin: 0.5rem 0;
	transition: all 0.3s ease-in-out;
}

.socialicon {
	font-size: 2rem;
	color: #fff;
	margin-right: 1rem;
}

.socialtext {
	font-weight: bold;
	flex-grow: 1;
	color: #fff;
	font-size: 1.5rem;
	text-align: center;
}

.panehover:hover {
	scale: 1.05;
	border: 2px solid rgba(255, 255, 255, 0.5);
	box-shadow: 0px 1px 2px #ffffff99;
	cursor: pointer;
	color: #fff !important;
}
