@font-face {
        font-family: "stix";
        src: url(../font/stix.ttf);
}

html, body {
	scroll-behavior: smooth;
	overflow-x: hidden;
	width: 100%;
}

body{
	font-family: "stix";
	margin: 0;
	padding: 0;
}

a{
	text-decoration: none;
	color: black;
}

a:hover{
	color: black;
}

/* ── LANDING ─────────────────────────────────────────── */
#landing-container{
	height: 100vh;
	background: url(../images/slanding.jpg) center/cover no-repeat;
	color: white;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	position: relative;
}

#landing-overlay {
    position: absolute;
    inset: 0;
    z-index: 20;
    background-color: rgba(0, 0, 0, 0.55);
}

#landing-container .landing-content{
	z-index: 30;
	text-align: center;
	width: 100%;
	padding: 0 1rem;
}

#landing-header{
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
}

#heading-name{
	font-size: clamp(2.8rem, 8vw, 7rem);
	padding-bottom: 20px;
	margin-bottom: 0;
	line-height: 1.1;
	word-break: break-word;
	font-weight: 700;
	letter-spacing: -2px;
	text-shadow: 0 4px 12px rgba(0,0,0,0.4);
}

#heading-title{
	font-size: clamp(1rem, 2vw, 1.8rem);
	margin-bottom: 0;
	line-height: 1.6;
	font-weight: 300;
	opacity: 0.9;
	letter-spacing: 1px;
}

#landing-footer{
	padding-bottom: 4vh;
	z-index: 30;
}

#landing-footer span{
	font-size: 2rem;
	cursor: pointer;
}

#landing-footer .fa-chevron-down{
	font-size: 1.5rem;
	animation: pulse-infinite 3.5s infinite;
}

#landing-footer .fa-chevron-down:hover{
	animation: none;
	cursor: pointer;
}

@keyframes pulse-infinite {
  0%   { transform: scale(1);   }
  50%  { transform: scale(0.7); }
  100% { transform: scale(1);   }
}

/* ── DETAILS / LAYOUT ────────────────────────────────── */
#details-container{
	min-height: 100vh;
	background-color: #f8f8f9;
	overflow-x: hidden;
}

#details-container > .row {
	margin: 0;
}

#side-nav{
	height: 100vh;
	top: 0;
	padding-top: 50px;
	width: 100%;
	box-shadow: 20px 0px 40px -15px rgb(0 64 128 / 7%);
	background: white;
	padding-left: 1.5rem;
	padding-right: 1rem;
}

#main-content{
	padding: 0 15px;
}

#about{
	padding-left: 5vw;
	padding-right: 5vw;
	overflow-x: hidden;
}

#about p{
	text-align: justify;
}

#hobbies h3{
	height: 2rem;
}

.hobby-icon{
	text-align: center;
	vertical-align: middle;
	font-size: 2rem;
}

.hobby-helper{
	display: inline-block;
	height: 100%;
	vertical-align: middle;
}

/* ── SIDE NAV ────────────────────────────────────────── */
.side-nav-element{
	font-size: 1.1rem;
	margin: 15px 0;
	cursor: pointer;
	display: flex !important;
	flex-direction: row !important;
	align-items: center;
	transition: all 0.3s ease;
	width: 100%;
}

.side-nav-element i {
	width: 35px;
	font-size: 1.3rem;
	text-align: left;
	color: #555;
}

.nav-label {
	padding-left: 0;
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	width: auto;
	flex-shrink: 0;
}

.underbar{
	width: 0;
	border: 2px solid white;
	padding: 0px;
	height: 0px;
	transition-duration: 0.4s;
	align-self: flex-start;
}

.side-nav-element:hover .underbar{
	width: 100%;
	border: 2px solid black;
}

.side-nav-picture{
	margin-bottom: 20%;
	text-align: center;
}

.side-nav-picture h2{
	font-size: clamp(1.2rem, 2vw, 2.5rem);
	word-break: break-word;
}

.avatar{
	border-radius: 100%;
	width: 160px;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
}

.main-content-element{
	font-size: 1.1rem;
	text-align: center;
	margin-top: 10vh;
	padding: 25px;
	min-height: auto;
	padding-bottom: 5vh;
}

.main-content-element h1{
	margin-bottom: 30px;
}

.content-box{
	border-top: 1px solid #dcd9d9;
    border-bottom: 1px solid #dcd9d9;
    box-shadow: 0px 10px 40px -10px rgb(0 64 128 / 20%);
    padding: 25px;
    text-align: left;
    margin: 0 auto;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    border-radius: 8px; /* Slight rounding for a premium feel */
}

.content-box:hover {
	transform: translateY(-8px);
	box-shadow: 0px 18px 45px -10px rgb(0 64 128 / 32%);
}

.logo-img{
	width: 90px;
	height: 90px;
	object-fit: contain;
	position: relative;
	z-index: 2;
}

.logo-container{
  width: 7rem;
  height: 7rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: auto;
  margin-top: 10px;
  background-color: #f0f0f0;
  border-radius: 50%;
  padding: 8px;
}

/*.logo-container:before{
	content: "";
  width: 0.2rem;
  background-color: #f9873b;
  position: absolute;
  margin-left: 2%;
  z-index: 1;
  height: 100%;
}

.last-logo:before{
	width: 0;
	height: 0;
}*/

.info-container{
	padding-top: 15px;
	padding-bottom: 10px;
	border-bottom: 1px solid #dcd9d9;
}

/* Shared bullet list style across all sections */
.section-list {
	padding-left: 1.4rem;    /* controls bullet indent */
	margin: 6px 0 4px 0;
}

.section-list li {
	text-align: justify;       /* Creates perfectly symmetrical text blocks */
	padding-right: 0.4rem;
	margin-bottom: 4px;
	line-height: 1.6;
}

/* Projects: offset content to align with logo-col start */
#projects .info-container {
	padding-left: 1.5rem;
}

.last-container{
	border-bottom:none;
}

.skill-item{
	text-align: center;
	padding: 20px 10px;
}

.skill-item img{
	display: block;
	margin: 0 auto 10px auto;
}

.skill-item i{
	display: block;
	margin: 0 auto 10px auto;
}

#skills-container p{
	font-weight: bold;
	font-size: 1rem;
	color: #5a5a5a;
}

#footer{
	background-color: #f9873b;
	padding: 5vh;
	color: white;
	text-align: center;
}

#footer h1{
	margin-bottom: 3rem;
	font-size: 5rem;
}

.footer-icon-container{
	background-color: rgba(0, 0, 0, 0.11);
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: auto;
  transition: background-color 0.35s ease-in-out;
}

#footer .icon{
  font-size: 4.25rem;
}

#linkedin:hover{
 background-color: #688199;
 cursor: pointer;
}
#footer a{
	color: white;
	text-decoration: none;
}

#footer p{
	margin-top: 1.2rem;
  text-align: center;
  font-size: 1.2rem;
  font-weight: bold;
}

#copyright {
	background-color: #3c3c3c;
	color: white;
	text-align: center;
	padding: 2vh 1rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 4px 12px;
	font-size: 0.9rem;
}

#copyright-date {
	opacity: 0.7;
	font-size: 0.82rem;
}

#uw-logo{
  width: 135px;
  margin-bottom: 25px;
}

#amazon-logo{
	width: 110px;
}

#resume-container{
	margin-top: 8vh;
	margin-bottom: 20px;
	text-align: center;
}

#internship-about{
	color: red;
	opacity: 1;
}

#internship-nav{
	color: red;
	opacity: 0;
}

.contact-icon a{
	font-size: 2rem;
	color: black;
	transition: all 0.4s ease;
	display: inline-block;
}

.contact-icon a:hover{
	transform: scale(1.15);
}

/* Specific brand colors on hover */
.contact-icon a:hover .fa-envelope {
	color: #D44638;
}
.contact-icon a:hover .fa-linkedin {
	color: #0077b5; /* LinkedIn Blue */
}
.contact-icon a:hover .fa-github {
	color: #6e5494; /* GitHub Purple */
}
.contact-icon a:hover .fa-medium {
	color: #00ab6c; /* Medium Green */
}

#resume-icon{
	width: 35px;
	margin-top: -10px;
	transition: all 0.4s ease;
}

#resume-icon:hover{
	transform: scale(1.15);
	/* Approx #f9873b Theme Orange */
	filter: invert(56%) sepia(88%) saturate(415%) hue-rotate(342deg) brightness(101%) contrast(97%);
}

#resume-button{
	width: 50%;
	border-radius: 25px;
	border: 1px solid blue;
	color: blue;
	font-style: italic;
}

.wave {
  animation-name: wave-animation;  /* Refers to the name of your @keyframes element below */
  animation-duration: 2.5s;        /* Change to speed up or slow down */
  animation-iteration-count: infinite;  /* Never stop waving :) */
  transform-origin: 70% 70%;       /* Pivot around the bottom-left palm */
  display: inline-block;
}

@keyframes wave-animation {
    0% { transform: rotate( 0.0deg) }
   10% { transform: rotate(14.0deg) }  /* The following five values can be played with to make the waving more or less extreme */
   20% { transform: rotate(-8.0deg) }
   30% { transform: rotate(14.0deg) }
   40% { transform: rotate(-4.0deg) }
   50% { transform: rotate(10.0deg) }
   60% { transform: rotate( 0.0deg) }  /* Reset for the last half to pause */
  100% { transform: rotate( 0.0deg) }
}

#achievements .container{
	width: 80%;
}

.achievement-title{
	text-align: left;
}
.achievement-date{
	text-align: right;
}
.achievement-content{
	text-align: left;
}

.cert-validation {
	margin-top: 4px;
	margin-bottom: 4px;
	font-size: 0.92rem;
	color: #555;
}

/* ── PROJECT CARDS ───────────────────────────────────── */
.project-summary {
	margin-top: 8px;
	margin-bottom: 6px;
	margin-left: 0;
	font-style: italic;
	color: #444;
	text-align: justify;
}

.project-result {
	margin-top: 10px;
	margin-bottom: 4px;
	font-weight: bold;
	color: #1a6b3c;
	text-align: left;
}

#love{
	animation: pulse 1.5s infinite;
}

#landing-footer .fa-chevron-down:hover{
	animation: none;
	cursor: pointer;
}

@keyframes pulse {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
  100% {
  	opacity: 1;
  }
}

/* ── RESPONSIVE: TABLET (≤ 992px) ───────────────────── */
@media (max-width: 992px) {
	#side-nav {
		height: auto;
		padding: 10px 5px;
		width: 100%;
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		justify-content: flex-start;
		align-items: center;
		position: sticky !important;
		top: 0;
		box-shadow: 0 2px 10px rgba(0,0,0,0.1);
		border-bottom: 1px solid #ddd;
		background: white;
		z-index: 1000;
	}

	#side-nav::-webkit-scrollbar {
		display: none;
	}

	.side-nav-picture {
		display: none;
	}

	.side-nav-element {
		font-size: 0.9rem;
		margin: 4px 6px;
		flex: 0 0 auto;
		display: flex !important;
		flex-direction: column !important;
		align-items: center;
		justify-content: center;
		text-align: center;
		gap: 3px;
	}

	.side-nav-element i {
		width: auto;
		margin: 0;
	}

	.nav-label {
		align-items: center;   /* centre underbar under text in mobile */
	}

	.side-nav-element .row {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}

	.side-nav-element .col-3 {
		width: 100%;
		margin-bottom: 2px;
	}

	#main-content {
		width: 100% !important;
		padding: 0 10px;
	}

	.main-content-element {
		margin-top: 2rem;
		padding: 1rem;
	}

	.content-box {
		width: 95%;
		margin: 0 auto;
		padding: 1rem;
	}

	.logo-container {
		margin: 0 auto 1rem auto;
	}

	#contact-icons-container {
		display: none; /* hidden in mobile nav bar — icons live in desktop side panel only */
	}

	#resume-container {
		display: none;
	}
}

/* ── RESPONSIVE: MOBILE (≤ 576px) ───────────────────── */
@media (max-width: 576px) {
	#heading-name {
		font-size: clamp(2.2rem, 12vw, 3.5rem);
		letter-spacing: -1px;
	}

	#heading-title {
		font-size: 0.9rem;
		line-height: 1.4;
		padding: 0 10px;
	}

	.side-nav-element {
		font-size: 0.75rem;
		margin: 5px 4px;
	}

	.side-nav-element i {
		font-size: 1rem;
	}

	.main-content-element h1 {
		font-size: 1.7rem;
	}

	.skill-item {
		flex: 0 0 calc(33.33% - 15px);
		padding: 10px 5px;
		margin-bottom: 10px;
	}

	.skill-item img, .skill-item i {
		height: 45px !important;
		font-size: 45px !important;
	}

	#skills-container p {
		font-size: 0.8rem;
	}

	.info-container h4 {
		font-size: 1rem;
	}

	.info-container h5 {
		font-size: 0.85rem;
	}

	.info-container li {
		font-size: 0.85rem;
	}

	#footer h1 {
		font-size: 2.5rem;
	}

	.footer-icon-container {
		width: 5rem;
		height: 5rem;
	}

	#footer .icon {
		font-size: 2.5rem;
	}
}
