/* 
Dark Green #3c8453
Sandy Beige #bcaa96
Dark Grey #222222
Light Gray #d3d4d6
Off-White $f6f6f6
Off-White #f6f4ed

*/

/* GLOBAL STYLE */

html {
   box-sizing: border-box;
   font-size: 62.5%;
   scroll-behavior: smooth;
}

*, *::before, *::after {
   box-sizing: inherit;
}

html, body {
   height: 100%;
}

@font-face {
   font-family: 'GT Super Ds Trial Bd';
   src: url('../fonts/GTSuperDsTrial-Bd.woff2') format('woff2'),
       url('../fonts/GTSuperDsTrial-Bd.woff') format('woff');
   font-weight: bold;
   font-style: normal;
   font-display: swap;
}

@font-face {
   font-family: 'Source Serif Pro';
   src: url('../fonts/SourceSerifPro-Regular.woff2') format('woff2'),
       url('../fonts/SourceSerifPro-Regular.woff') format('woff');
   font-weight: normal;
   font-style: normal;
   font-display: swap;
}

@font-face {
   font-family: 'So:hne';
   src: url('../fonts/Sohne-Buch.woff2') format('woff2'),
       url('../fonts/Sohne-Buch.woff') format('woff');
   font-weight: normal;
   font-style: normal;
   font-display: swap;
}


body {
   background: #FFFFF8;
   margin: 0;
   font-family: 'So:hne', sans-serif;
   font-size: 1.5rem;
   line-height: 1.4;
}

h2, h3 {
   font-family: 'GT Super Ds Trial Bd';
   margin: 0;
}

h1 {
   font-size: 3.2rem;
   line-height: 0.85;
   font-family: 'GT Super Ds Trial Bd', sans-serif;
}

h2 {
   font-size: 2.4rem;
}

h3 {
   font-size: 1.8rem;
}

/* NAV */

nav {
   background: #FFFFF8;
   color: black;
   display: flex;
   justify-content: space-between;
   padding: 0 20px;
   border-bottom: black 1px solid;
}

.nav-left {
   display: flex;
}

.nav-items {
   list-style-type: none;
   padding: 0;
   display: flex;
   align-content: space-around;
   flex-direction: row;
   justify-content: center;
   flex-wrap: wrap;
}

.nav-items li {
   display: inline-block;
   margin: 0 10px;
}

.nav-items a {
   font-weight: 900;
   transition: background-color 0.3s ease;
   padding: 8px 10px;
   border-radius: 5px;
}

nav li a:hover {
   background-color: #3c8453;
   cursor: pointer;
   color: #FFFFF8;
}

.nav-left img {
   width: 75px;
   margin-left: 10px;
}

/* links */
a {
   text-decoration: none;
   color:#3c8453
}
a:hover {
   color: #6b6b6b;
   text-decoration: none;
}
footer a {
   color: #3c8453;
   text-decoration: none;
}

.BTN {
   background: #3C8453;
   color: #f6f6f6;
   text-decoration: none;
   text-transform: uppercase;
   font-size: 1.2rem;
   display: inline-block;
   padding: 7px;
   letter-spacing: 0.05em;
   line-height: 1;
   border-radius: 4px;
}

.BTN:hover {
   background: #6b6b6b;
   color: #f6f6f6;
}

.content-wrapper {
   margin: 0 auto;
   padding: 20px;
   max-width: 900px;
}

@media screen and (max-width: 700px) {
   .nav-items {
      justify-content: flex-end;
      align-content: center;
   }
}

/* HOME 
---------------------------------*/

.home .nav-left img {
   transform: rotate(-10deg);
}

.home {
   background: url(../images/bluebonnet-2400px.jpg) center;
   background-size: cover;
   display: flex;
   flex-direction: column;
}

.home .content-wrapper {
   flex: 1 0 auto;
}

.content-bg {
   background: rgb(255 255 248 / 0.9);
   padding: 30px;
   display: flex;
}

.content-bg img {
   margin-left: 10px;
   width: 250px;
}

@media screen and (max-width: 650px) {
   .home .content-wrapper {
      padding: 10px
   }
   .content-bg {
      padding: 20px;
   }
}

@media screen and (max-width: 800px) {
   .home {
      background: url(../images/bluebonnet-2000px.jpg) top no-repeat;
   }
   .content-bg {
      flex-direction: column;
      align-items: center;
   }
   .content-bg img {
      margin-left: 0;
      margin-top: 20px;
   }
}

/* RESUME 
---------------------------------*/

.resume header::before {
   background: url(../images/campus-photo-2400px.jpg) center;
   background-size: cover;
   content: "";
   display: block;
   height: 400px;
   border-bottom: black 1px solid;
}

.resume header ul {
   list-style-type: none;
   padding: 0;
   display: flex;
   justify-content: flex-start;
}

.resume header ul li {
   margin-right: 20px;
}

.resume .content-wrapper {
   max-width: 1000px;
}

.resume-section {
   margin-bottom: 50px;
   margin-top: 25px;
}

.resume-section h2 {
   border-bottom: 2px dashed #d3d4d6;
}

.download-link {
   position: fixed;
   top: 90px;
   left: 5px;
   font-size: 1.5rem;
}

@media screen and (max-width: 1200px) {
   .download-link {
      position: absolute;
      top: 90px;
   }
}

@media screen and (max-width: 800px) {
   .resume header::before {
      background: url(../images/campus-photo-1200px.jpg) center;
   }
}

@media screen and (max-width: 570px) {
   .download-link {
      top: 90px;
   }   
}

@media screen and (max-width: 500px) {
   .resume header::before {
      background: url(../images/campus-photo-600px.jpg) center;
      height: 250px;
   }
   h1 {
      font-size: 2.5rem; 
   }
   h2 {
      font-size: 1.75rem;
   }
   .nav-left img {
      width: 6rem;
   }
   .resume header ul {
      flex-direction: column;
      li {
         margin: 0 0 5px 0;
      }
   }

}

/* Work Experience 
---------------------------------*/

.timeline {
   position: relative;
   max-width: 1200px;
   margin: 50px auto;
}

.container {
   padding: 10px 40px;
   position: relative;
   width: 50%;
   /* Remove: animation: movedown 1s linear forwards; */
   opacity: 0; /* Start invisible */
   transform: translateY(30px); /* Start positioned down */
   transition: all 0.6s ease-out; /* Smooth transition */
}

/* New class for when container should be visible */
.container.animate-in {
   opacity: 1;
   transform: translateY(0);
}

.timeline h2 {
   border-bottom: none;
}

.timeline p {
   margin: 0;
}

.container:nth-child(1) {
   animation-delay: 0;
}
.container:nth-child(2) {
   animation-delay: 1s;
}
.container:nth-child(3) {
   animation-delay: 2s;
}
.container:nth-child(4) {
   animation-delay: 3s;
}
.container:nth-child(5) {
   animation-delay: 4s;
}
.container:nth-child(6) {
   animation-delay: 5s;
}
.container:nth-child(7) {
   animation-delay: 6s;
}


.text-box {
   padding: 20px;
   background: #FFFFF8;
   position: relative;
   border-radius: 6px;
   font-size: 15px;
   box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
   border: 1px solid;
}

.container:nth-child(1) .text-box {
   border-color: #3C8453; /* Original green for UNT */
}

.container:nth-child(2) .text-box {
   border-color: #f59e0b; /* Original orange for Goldenroot */
}

.container:nth-child(3) .text-box {
   border-color: #6e8a55; /* Original olive green for Vestals */
}
.container:nth-child(4) .text-box {
   border-color: #3C8453; /* Original green */
}
.container:nth-child(5) .text-box {
   border-color: #920858; /* Original pink */
}
.container:nth-child(6) .text-box {
   border-color: #092d73; /* Original blue */
}
.container:nth-child(7) .text-box {
   border-color: #f10404; /* Original red */
}

.container:nth-child(1) .text-box h2 {
   color: #3C8453; /* Original green for UNT */
}

.container:nth-child(2) .text-box h2 {
   color: #f59e0b; /* Original orange for Goldenroot */
}

.container:nth-child(3) .text-box h2 {
   color: #6e8a55; /* Original olive green for Vestals */
}

.container:nth-child(4) .text-box h2 {
   color: #3C8453; /* Original green */
}

.container:nth-child(5) .text-box h2 {
   color: #920858; /* Original pink */
}

.container:nth-child(6) .text-box h2 {
   color: #092d73; /* Original blue */
}

.container:nth-child(7) .text-box h2 {
   color: #f10404; /* Original red */
}

.left-container {
   left: 0;
   padding-left: 0;
}
.right-container {
   left: 50%;
   padding-right:0;
}
.container img {
   position: absolute;
   width: 40px;
   border-radius: 50%;
   right: -20px;
   top: 30px;
   border: 3px solid;
}

.container:nth-child(1) img {
   border-color: #3C8453; /* Original green for UNT */
}

.container:nth-child(2) img {
   border-color: #f59e0b; /* Original orange for Goldenroot */
}

.container:nth-child(3) img {
   border-color: #6e8a55; /* Original olive green for Vestals */
}
.container:nth-child(4) img {
   border-color: #3C8453; /* Original green */
}
.container:nth-child(5) img {
   border-color: #920858; /* Original pink */
}
.container:nth-child(6) img {
   border-color: #092d73; /* Original blue */
}
.container:nth-child(7) img {
   border-color: #f10404; /* Original red */
}

.right-container img {
   left: -20px;
}

.timeline {
   --timeline-progress: 0%; /* CSS variable for progress */
}

.timeline::after {
  content: '';
  position: absolute;
  width: 3px;
  height: var(--timeline-progress); /* Use CSS variable instead of 100% */
  top: 0;
  left: 50%;
  margin-left: -3px;
  z-index: -1;
  /* Remove: animation: moveline 6s linear forwards; */
  background: linear-gradient(to bottom, 
  #3C8453 0%, #3C8453 5%, 
  #f59e0b 10%, #ab7c39 20%,
  #6e8a55 25%, #6e8a55 35%,
  #3C8453 40%, #3C8453 45%, 
  #920858 55%, #920858 65%,
  #092d73 70%, #092d73 75%,
  #f10404 85%, #f10404 100%);
  transition: height 0.1s ease-out; /* Smooth scroll updates */
}

/* Keep your original keyframe if needed elsewhere */
@keyframes moveline {
  0% {
     height: 0;
  }
  100% {
     height: 100%;
  }
}
.text-box h2 {
   font-weight: 600;
}

.text-box small {
   display: inline-block;
   margin-bottom: 15px;
}
.left-container-arrow {
   height: 0;
   width: 0;
   position: absolute;
   top: 28px;
   z-index: 1;
   border-top: 15px solid transparent;
   border-bottom: 15px solid transparent;
   border-left: 15px solid black;
   right: -15px;
}
.right-container-arrow {
   height: 0;
   width: 0;
   position: absolute;
   top: 28px;
   z-index: 1;
   border-top: 15px solid transparent;
   border-bottom: 15px solid transparent;
   border-right: 15px solid black;
   left: -15px;
}

@media screen and (max-width:600px) {
   .timeline {
      margin: 50px auto;
   }
   .timeline::after {
      left: 31px;
   }
   .container {
      width: 100%;
      padding-left: 80px;
      padding-right: 25px;
   }
   .text-box {
      font-size: 13px;
   }
   .text-box small {
      margin-bottom: 10px;
   }
   .right-container {
      left: 0;
   }
   .left-container img, .right-container img {
      left: 10px;
   }
   .left-container-arrow, .right-container-arrow {
      border-right: 15px solid #fff;
      border-left: 0;
      left: -15px;
   }
}

/* Projects 
---------------------------------*/

.project-wrapper {
   display: flex;
   gap: 2rem;
   margin-top: 2rem;
   justify-items:center;
 }
 
 .project-card {
   background: #FFFFF8;
   border-radius: 12px;
   box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
   overflow: hidden;
   transition: transform 0.3s ease, box-shadow 0.3s ease;
   width: 350px;
   border: 1px solid;
 }
 
 .project-card:hover {
   transform: translateY(-5px);
   box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
 }
 
 .project-card img {
   width: 100%;
   height: 200px;
   object-fit: cover;
   display: block;
 }
 
 .card-content {
   padding: 1.5rem;
 }
 
 .card-content h3 {
   margin: 0 0 1rem 0;
   color: #333;
 }
 
 .card-content p {
   margin: 0 0 1.5rem 0;
   color: #666;
   line-height: 1.6;
 }
 
 .card-content .BTN {
   display: inline-block;
   padding: 0.75rem 1.5rem;
   color: white;
   text-decoration: none;
   border-radius: 6px;
   transition: background 0.1s ease;
   font-weight: 500;
 }
 
 /* Responsive adjustments */
 @media (max-width: 768px) {
   .project-wrapper {
     grid-template-columns: 1fr;
     gap: 1.5rem;
   }
   
   .card-content {
     padding: 1rem;
   }
 }




/* FOOTER 
---------------------------------*/
footer {
   background: #FFFFF8;
   color: #6b6b6b;
   border-top: black 1px solid;
}

footer p {
   align-content: space-around;
}

.socials {
   list-style-type: none;
   padding: 0;
}

.socials li {
   display: inline-block;
   margin-left: 10px;
}

.socials img {
   width: 32px;
   opacity: 0.75;
}

.socials img:hover {
   opacity: 0.5;
}

@media screen and (min-width: 860px) {
   footer {
      display: flex;
      justify-content: space-between;
      padding: 0 20px;
   }
}

@media screen and (max-width: 859px) {
   footer {
      text-align: center;
      padding: 10px
   }
}