html,
body {
	background-color: #fff9f9;
	margin: 0;
	padding: 0;
	/* overflow-x: hidden; */

	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	user-select: none;
}

div {
	padding: 0;
	margin: 0;
}

#nav {
	color: black;
	background-color: #b6cca1;
	display: flex;
	flex-direction: row;
	align-items: center;
	height: 8vh;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

#links {
	margin-left: auto;
}

#links,
ul {
	color: black;
	display: flex;
}

#links ul li {
	padding: 0 20px 0 20px;
	color: black;
	list-style: none;
}

a {
	color: rgb(74, 73, 73);
	font-weight: 700;
	font-size: 1rem;
	text-decoration: none;
}

a:hover {
	color: black;
	text-decoration: underline;
}

#hero {
	display: flex;
	height: 65vh;
	width: 100%;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

#hero-error {
	display: flex;
	height: 88vh;
	width: 100%;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

#hero h2 {
	font-size: 2rem;
}

#pfp {
	width: 15vw;
	height: 15vw;
	border-radius: 12%;
	/* border: 2px solid black; */
	box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.8);
	transform: rotateZ(1deg);
}

#about {
	background-color: #b6cca1;
	padding: 20px;
	height: calc(100vh - (65vh + 8vh));
	display: flex;
	flex-direction: column;
}

#about>h3 {
	font-size: xx-large;
}

.social-icon {
	font-size: xx-large;
}

#social-links {
	margin: auto;
	display: flex;
	gap: 1rem;
}

#footer {
	height: 50px;
	/* text-align: center; */
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: rgb(62, 62, 37);
	width: 100%;
}

#footer p {
	padding: 0;
	margin: 0;
	color: white;
}


#search-container {
	height: 20vh;
	display: grid;
	grid-template-columns: 1fr 0.5fr 1fr;
	padding: 2rem 4rem 2rem 4rem;
	gap: 2rem;
	align-items: center;
}

#search-bar-cont {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

#search-bar-cont {
    position: relative;
    display: inline-block;
    width: 100%; /* Adjust as needed */
}

#search-bar {
    width: 80%;
    height: 30%;
    border: 2px solid black;
    border-radius: 1rem;
    font-size: xx-large;
    box-shadow: 0px 4px 10px rgba(95, 95, 95, 0.2);
    padding: 1rem;
    padding-right: 4rem;
    box-sizing: border-box;
}

#search-bar-cont svg {
    position: absolute;
    right: calc(20% + 1.5rem);
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    pointer-events: none;
    fill: #64748b;
    transition: fill 0.2s;
}

#search-filters-internal {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(4, 1fr);
    gap: 1rem;
    padding: 1rem;

    width: auto;
    height: 80%;
    border-radius: 1rem;
    border: 2px solid black;
    box-shadow: 0px 4px 10px rgba(95, 95, 95, 0.2);
    box-sizing: border-box;
    user-select: none;
	overflow-y: scroll;
}

#search-filters label {
    font-size: 1rem;
    display: flex;
	gap: 0.5rem;
    align-items: center;
    cursor: pointer;
}

#search-fields {
	display: flex;
	flex-direction: column;
}

.projects {
    display: grid;
	min-height: 65vh;
    grid-template-columns: repeat(5, minmax(0, 1fr));

    width: 100%;
    margin: 0 auto;
    padding: 3vh 3vw;

    gap: 2rem;

    background-color: #829e67;
    box-sizing: border-box;
}

.card {
    display: grid;
    grid-template-rows: 30vh 8vh 12vh;

    width: 100%;
    height: 50vh;

    background-color: whitesmoke;
    text-align: center;

    overflow: hidden;
    border-radius: 12px;

    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);

    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.card_img {
    width: 100%;
    height: 30vh;
    object-fit: cover;
}

.card_title {
    display: flex;
    margin: 0;
    padding: 0.5rem;

    font-weight: bold;
    font-size: clamp(1rem, 1.5vw, 1.5rem);
    line-height: 1.15;
    overflow-wrap: anywhere;

    background-color: wheat;
}

.card_desc {
    margin: 0;
    padding: 1rem;

    font-size: 0.95rem;
    line-height: 1.4;

    display: flex;
}

#project {
	display: grid;
    grid-template-columns: 3.5fr 1fr;
}

#info-container {
	height: 92vh;
	box-sizing: border-box;

	padding: 5rem;

	display: flex;
	justify-content: center;
	flex-direction: column;
	gap: 2rem;
}

#info-image-big {
    width: 100%;
    max-width: 80vw;
    height: auto;
    max-height: 400px;
    object-fit: cover;
    border-radius: 1rem;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

#info-image-small {
    width: 100%;
    max-width: 400px;
    height: auto;      
    max-height: 300px;
    object-fit: cover;
    border-radius: 1rem;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
	margin-left: auto;
}

#info-content {
	width: auto;
	flex-grow: 1;
}

#info-content {
	display: flex;
	flex-direction: row;
	gap: 2rem;
}

#sidebar-container {
	background-color: #829e67;
	height: 92vh;
	box-sizing: border-box;
	padding: 2rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}


::-webkit-scrollbar {
	width: 12px;
}

::-webkit-scrollbar-track {
	background: #fff9f9;
}

::-webkit-scrollbar-thumb {
	background: #829e67;
	border: 3px solid #fff9f9;
	border-radius: 999px;
}

::-webkit-scrollbar-thumb:hover {
	background: #617b4b;
}

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {
	.projects{
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {
	.projects{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {    
	.projects{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
	.projects{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {
	.projects{
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}
