:root {
  color-scheme: light dark;
  /* Background color for page and base text color for page*/
  --bg: #ffffff;
  --text-color: #4c5c68;
  /* main color */
  --primary-color: #1985a1;
  /* color for card backgrounds*/
  --card-bg: #f1f1f1;
}

/*main body of resume file*/
body {
  /* set main font for the page */
  font-family: 'Trebuchet MS', 'Segoe UI', sans-serif;

  /*formatting, give lines room to breath and tighen margins*/
  line-height: 1.6;
  margin: 0 auto;

  /*set background color and text color of body elements*/
  background-color: var(--bg);
  color: var(--text-color);
}

/*main body of html file*/
html.dark-mode {
  /* Background color for page and base text color for page*/
  --bg: #515151;
  --text-color: #ffffff;
  /* main color */
  --primary-color: #1985a1;
  /* color for card backgrounds*/
  --card-bg: #5c5b5b;
}

header {
  text-align: center; 
  font-size: 1rem;
}

/*CLASSES*/

/*main container for resume body*/
.container {
  /*set max width of resume*/
  max-width: 900px;
  /*center resume on page (0 margin top and bottom, auto centered on sides)*/
  margin: 0 auto;
}

.theme-toggle {
  appearance: none;      
  -webkit-appearance: none; 
  background-color: transparent;
  border: 0;
  width: auto;
  height: auto;
}

/* light/dark mode button*/
.mode-icon {
  position: fixed;
  bottom: 20px;
  right: 15px;
  width: 50px; 
  height: auto; 
  
  z-index: 1000; /* Ensures it stays on top of other elements */
  transition: transform 0.2s ease;
}

.mode-icon:hover {
  transform: scale(1.1); 
}

/* back button*/
.back-icon {
  top: 20px;
  left: 15px;
  width: 50px; 
  height: auto; 
  position: fixed;
  
  z-index: 1000; /* Ensures it stays on top of other elements */
  transition: transform 0.2s ease;
}

.back-icon:hover {
  transform: scale(1.1); /* Subtle pop on hover */
}

/*contact info class*/
.contact-info {
  width: max-content;
  border: solid;
  border-color: var(--primary-color);
  border-radius: 10px;

  padding: 9px 5px 4px 5px;
  margin: auto auto 20px auto;
}

.contact-info img {
  max-width: 4rem;
  width: 100%;
  height: auto;
}

/*project cards*/
.project-card {
  /*set unique background color and color highlight*/
  background-color: var(--card-bg);
  border: 2px solid var(--primary-color);

  /*padding protecting div content from div*/
  padding: 10px;

  /*padding to come after div box, separating project cards*/
  margin-bottom: 20px;

  /*give the edges of the div a nice curve*/
  border-radius: 10px;

  transition: transform 0.3s, box-shadow 0.5s;
  cursor: pointer;
}

/*hover, build in function, change elements to this code when hover over project card*/
.project-card:hover {
  /*change how elements in project card look when they are hovered over*/
  transform: translateY(-5px);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

/*section cards*/
.section-card {
  /*set unique background color and color highlight*/
  background-color: var(--card-bg);
  border-top: 4px solid var(--primary-color);

  /*padding protecting div content from div*/
  padding: 10px;

  /*padding to come after div box, separating project cards*/
  margin-bottom: 20px;

  /*x offset / y offset / blur / spread 0 0 15 5 for center shadow*/
  box-shadow: 0 0 15px 5px rgba(0, 0, 0, 0.1);
}

/*table class*/
.table-class {
  border-collapse: separate;
  border-spacing: 5px;
  margin: 0 auto;
}

/*table item*/
.table-class td {
  padding: 10px;
}

/* PAGE: RESUME*/

/*general headers*/
.resume h2 {
  text-align: center;
}

.download {
  text-align: center;
  padding-bottom: 12px;
}

.download-resume-button {
  display: inline-block;
  padding: 10px 20px;
  border-radius: 5px;

  /*color styling*/
  background-color: var(--primary-color);
  color: white;

  /*remove underline*/
  text-decoration: none;

  transition: transform 0.3s ease;
}

.download-resume-button:hover {
  transform: scale(1.1);
}

/* PAGE: PROJECT DETAILS */
.project-page h1 {
  text-align: center;
  margin-bottom: 5px;
}

.project-page h1 + p {
  text-align: center;
  font-style: italic;
  margin-top: 0;
  margin-bottom: 40px;
  opacity: 0.8;
}

.project-page h2 {
  margin-top: 0;
  font-size: 1.4rem;
}

.project-layout {
  display: flex;
  gap: 30px;      
  align-items: flex-start;           
  flex-wrap: wrap;         
  max-width: 90vw;     /* Limits how wide your multi-column section can get */
  margin: 0 auto;        /* Centers the entire layout section on the screen */
  width: 100%;  
}

.project-column {
  flex: 1;                  
  min-width: 300px;         
}

.project-info-card {
  background-color: var(--card-bg);
  border-left: 4px solid var(--primary-color);
  padding: 20px;
  margin-bottom: 20px;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.group-pic {
  background-color: transparent;
  border-left: none;
  padding: 0;
  box-shadow: none;
}

.project-page ul {
  padding-left: 20px;
  margin-bottom: 0;
}

.project-page li {
  margin-bottom: 8px;
}

/* Project Details Image */
.group-pic img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
  border: 2px solid var(--primary-color);
  box-shadow: 0 0 15px 5px rgba(0, 0, 0, 0.1); /* The even 'glow' effect */
}

/*Back button for Project pages*/
#project-back {
  border: 1px solid var(--primary-color);

  color: var(--primary-color);
  background-color: var(--card-bg);

  text-align: center;
  text-decoration: none;

  cursor: pointer;
  font-size: 18px;

  margin-top: 20px;
}

/*MOVIE DB*/
body.movie_db {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.movie_db .container {
  display: flex;
  max-width: 600px;
  flex-direction: row;

  justify-content: center;
  width: max-content;

  border: solid;
  border-width: 6px;
  border-color: var(--primary-color);
  border-radius: 5px;

  padding: 10px;

  margin-top: 10px;
  margin-bottom: 20px;
}

.movie_db .col {
  padding: 5px;
}

.movie_db .col h3 {
  text-align: center;
}

.legal {
  text-align: center;
  margin-top: auto;
  bottom: 20px;
}