/* Colors used: 
Dark Gray: #4d4d4d
Light Gray: #bebebe
Extra Light Gray: #dadada
Dark Green: #306844
Light Green: #7e9e85
*/

.title {
	font-weight: bold;
	font-size: 30px;

}

*{
	margin: 0px;
	box-sizing: border-box;
	font-family: Courier New, Courier, Lucida Sans Typewriter, Lucida Typewriter, monospace;
}

html {
	/*height: -webkit-fill-available;*/
}

body {
	display: flex; /**/
	flex-direction: column;
	background-image: url("Dark Topographic Flow_Teal Layered Depth.png");
	background-size: cover;
    background-position: center;
	padding-top: 70px;
}

/* This is the placement of the navbar*/
.header {
	/*position: -webkit-sticky;*/  /*This lets the header stick to the top of the webpage as you scroll- always being an option of being selected*/
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    padding: 20px 10%;
    background: transparent;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 1000;
    margin-bottom: 100px; 	/* Add margin to push content below the header */
}


.section{
	padding: 2em;
}

.logo {
	font-size: 25px;
	color: #FFFFFF; /* font color*/
	text-decoration: none;
	font-weight: 600;
	cursor: default;
	opacity: 0;
	animation: slideRight 1s ease forwards;
}

/*This customizes the navbar*/
.navbar a {
	display: inline-block;
	font-size: 22px;
	color: #FFFFFF; /* the navbar static color: white*/
	text-decoration: none;
	font-weight: 750;
	margin-left: 35px;
	transition: .3s;
	opacity: 0;
	animation: slideTop .5s ease forwards;
	animation-delay: calc(.2s * var(--i)); 
}


.navbar a.active {
	color: #4ecfcf;
}

.navbar a:hover{
	color: #4ecfcf;
}

/* This is for the Home Page*/
.home{
	position: relative;
	width: 100%;
	display: flex;
	/*flex-wrap: wrap;*/
	flex-direction: column;
	/*justify-content: space-between;*/
	justify-content: center;
	align-items: center;
	padding: 70px 10% 0;
	min-height: auto;
	background: transparent;
	border-radius: 0px;
	box-shadow: none;

	
}

.home-img img{
	max-width: 250px;
	max-height: 300px;
	margin-right 0;
	opacity: 0;
	animation: zoomIn 1s ease forwards;
	margin-bottom: 10px;
}

.home-content {
	width: 100%;
	text-align: center;
	margin: 0 auto;
	/*text-align: center; not sure about this one*/
}

.home-content h3 {
	font-size: 26px;
	font-weight: 700;
	color: #FFFFFF;
	opacity: 0;
	animation: slideBottom 1s ease forwards;
	animation-delay: .7s;
}

.home-content .greeting{
	margin-bottom: 5px;
}

.home-content h3:nth-of-type(2){
	margin-bottom: 30px;
	animation: slideTop 1s ease forwards;
	animation-delay: .7s;
	color: #FFFFFF;
	
}


/*.home-content h3 span {
	color: #FFFFFF;
	font-size: 35px;
	font-weight: 900;	
} */

.home-content h3 {
	line-height: 1.1;
	color: #FFFFFF;
	font-size: 25px;
	font-weight: 800;	
}

.home-content h3 .dynamic-wrap{
	display: inline-block;
	min-width: 20ch;
	height: 1em;
	overflow: hidden;
	vertical-align: baseline;
}

.home-content h3 #dynamic-text{
	display: inline-block;
	white-space: nowrap;
	transition: opacity 180ms ease;
}

.home-content h3 #dynamic-text.fade{
	opacity: 0;
}

.home-content h2 {
	color: white;
}

.home-content .name {
	font-size: 24px;
	font-weight: 700;
	color: #FFFFFF; /*text color*/
	margin: -3px 0;
	opacity: 0;
	animation: slideRight 1s ease forwards;
	animation-delay: 1s;
}

.home-content p {
	font-size: 20px;
	color: #FFFFFF;
	font-weight: 800;
	opacity: 0;
	animation: slideLeft 1s ease forwards;
	animation-delay: 1s;	
	margin-top: 15px;
}

.signature-img img{
	max-width: 200px;
	max-height: 250px;
	margin-right; 0
	opacity: 0;
	animation: zoomIn 1s ease forwards;
}

.skills, .certificates {
	margin-top: 20px;
}
.skills-list, .certificates-list {
	color: #FFFFFF;
	margin-left: -20px;
	font-size: 20px;
	font-weight: 600;
}

.certificates-link {
	color: #dadada;
	text-decoration: underline;
}


/* This is for the Contact Page*/                             
.contact{
	position: relative;
	width: 100%;
	height: 25vh;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 70px 10% 0;
	
}

Form{
	margin: 45px; /*this vertically pushes down the input fields in the contact content box*/
}	
.contact-content {
	max-width: 700px;
}

.contact-box{
	color: White;
	width: 500px;
	background-color: rgb(218,218,218,0.08);  /* Controls the transperancy of contact box*/
	top: 60%;
	left: 50%;
	transform: translate(-50%,-50%);
	position: relative;
	top: 60px;
	height: 40vh;
	border: 2px solid #dadada;
	border-radius: 5px;
	text-align: center;
	
}

.input-field{
	width: 400px;
	height: 100; 
	margin-top: 20px;
	padding-left: 10px;
	border: 2px solid #4d4d4d;
	border-radius: 5px;
	outline: none;
	font-size: 14px;
	
	
}

.contact-btn{
	color: #4d4d4d;
	margin-top: 25px;
	padding: 10px;
	font-color: #4d4d4d;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	border: 2px solid #4d4d4d;
	border-radius: 40px;
	
}

.contact-btn:hover{
	background: #4ecfcf;
	color: #fff;
}

.social-media a {
	display: inline-flex;
	justify-content: center;
	align-items: center; 
	width: 40px;
	height: 40px;
	background: transparent;
	border: 2px solid #FFFFFF; /*This is for the icon border - dark green */
	border-radius: 50%;
	font-size: 20px;
	color: #FFFFFF; 
	text-decoration: none;
	margin: 30px 15px 30px 0;
	transition: .5s ease;
	opacity: 0;
	animation: slideLeft 1s ease forwards;
	animation-delay: 1s;
	opacity: 0;
	animation: slideLeft 1s ease forwards;
	animation-delay: calc(.2s * var(--i));
}

.social-media a:hover{
	background: #4ecfcf; /*this is for the background color when you hover over  */
	color: #fff; /* this is the icon color when you hoover over it*/
	
	
}

.btn {
	display: inline-block;
	padding: 12px 28px;
	background: transparent;
	border-radius: 40px;
	border: 2px solid #FFFFFF;
	font-size: 16px;
	color: #FFFFFF;
	letter-spacing: 1px;
	text-decoration: none; 
	font-weight: 650;
	opacity: 0;
	animation: slideTop 1s ease forwards;
	animation-delay: 2s;
}

.btn:hover{
	background: #4ecfcf; /*this is the background color for the 'donwload cv button*/
	color: #fff;

}

.footer {
    text-align: center;
    padding: 20px;
    margin-top: auto;
	color: #FFFFFF;

}

/* KEYFRAMES ANIMATION */
@keyframes slideTop {
	0% {
		transform: translateX(-100px);
		opacity: 0;
	}
	100% {
		transform: translateX(0);
		opacity: 1;
	}
}


@keyframes slideRight {
	0% {
		transform: translateX(100px);
		opacity: 0;
	}
	100% {
		transform: translateX(0);
		opacity: 1;
	}
}

@keyframes slideLeft {
	0% {
		transform: translateX(100px);
		opacity: 0;
	}
	100% {
		transform: translateX(0);
		opacity: 1;
	}
}

@keyframes slideBottom {
	0% {
		transform: translateY(-100px);
		opacity: 0;
	}
	100% {
		transform: translateY(0);
		opacity: 1;
	}
}

@keyframes slideTop {
	0% {
		transform: translateY(100px);
		opacity: 0;
	}
	100% {
		transform: translateY(0);
		opacity: 1;
	}
}

@keyframes zoomIn {
	0% {
		transform: scale(0);
		opacity: 0;
	}
	100% {
		transform: scale(1);
		opacity: 1;
	}
}

/* -----------------------------
   Responsive polish: mobile + ultrawide
   Paste at END of your CSS
------------------------------ */

/* Base layout improvements */
body{
  padding-top: 0; /* avoid extra vertical space with sticky header */
}

/* Keep a nice centered "content column" */
.home{
  padding: clamp(16px, 4vw, 48px);
  min-height: calc(100vh - 80px); /* adjusts for header height-ish */
  width: min(1100px, 100%);
  margin: 0 auto;
  text-align: center;
  gap: 14px;
}

/* Make sure image + content are centered */
.home-img{
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.home-img img{
  width: clamp(180px, 28vw, 260px);
  height: auto;
  margin: 0 0 10px 0;
  display: block;
}

/* Center text and control max line length */
.home-content{
  width: 100%;
  max-width: 60ch; /* readable line length */
  margin: 0 auto;
  padding: 0;
  text-align: center;
}

/* Fluid typography */
.home-content .name{
  font-size: clamp(20px, 2.5vw, 30px);
  margin: 6px 0;
}

.home-content h3{
  font-size: clamp(18px, 2.2vw, 28px);
  line-height: 1.15;
}

.home-content p{
  font-size: clamp(15px, 1.6vw, 20px);
  line-height: 1.5;
  margin-top: 12px;
}

/* Dynamic text: fixed box prevents layout shift */
.home-content h3 .dynamic-wrap{
  display: inline-block;
  min-width: 20ch;          /* set to your longest phrase */
  height: 1.1em;
  overflow: hidden;
  vertical-align: baseline;
}

.home-content h3 #dynamic-text{
  display: inline-block;
  white-space: nowrap;
  transition: opacity 180ms ease;
}

.home-content h3 #dynamic-text.fade{
  opacity: 0;
}

/* Lists: keep centered */
.skills-list, .certificates-list{
  margin: 0;
  padding: 0;
  list-style-position: inside;
  text-align: center;
}

/* Header: responsive spacing */
.header{
  padding: 14px clamp(16px, 4vw, 64px);
  margin-bottom: clamp(18px, 4vw, 40px);
}

/* NAV: avoid overflow on small screens */
.navbar{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 18px;
}

.navbar a{
  margin-left: 0; /* overrides your 35px */
  font-size: clamp(16px, 1.8vw, 22px);
}

/* -----------------------------
   Breakpoints
------------------------------ */

/* Small phones */
@media (max-width: 480px){
  .home{
    min-height: calc(100vh - 70px);
    border-radius: 12px;
  }

  /* If your background feels too busy on mobile, this helps legibility */
  .home{
    background: rgba(0,0,0,0.45);
  }
}

/* Ultrawide: keep content from stretching too far */
@media (min-width: 1400px){
  .home{
    width: min(1200px, 100%);
  }
}
