:root {
  --background-color: #FDFFFC;
  /* padding: 20px 30px 30px 20px; */
  --main-color: #E40084;
  --main-yellow: #FFBE0B; 
  --main-blue: #390099; 
  --main-periwinkle: #AB87FF; 
  --main-violet: #520030; 
  --main-silver: #F3F3F3; 
  --main-lightgray: #CCCCCC; 
  --main-medgray: #757575; 
  --accent-pink: #FFEBF6; 
  --font-size: 18px; 

/* Yahoo Colors */
  --yahoo-purple: #7D2EFF; 
  --yahoo-yellow: #F2EB38; 
}
/* https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Selectors/:root */

/* Maybe effects? https://prismic.io/blog/css-hover-effects */


html {
  scroll-behavior: smooth;
}


html, body {
    padding: 0;
    margin: 0;
}

body {
  -webkit-font-smoothing: antialiased;
  background: var(--background-color);
  /* font-family: sofia-pro, sans-serif; */
  font-family: "Afacad", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;  
  cursor: url('Brand/White\ Cursor.png'), auto;
}

p {
  font-size: var(--font-size); 
}

hr {
  display: block;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  margin-left: auto;
  margin-right: auto;
  border-style: inset;
  border-width: 1px;
}

/* https://davidwalsh.name/css-custom-cursor */
/* https://www.freecodecamp.org/news/how-to-make-a-custom-mouse-cursor-with-css-and-javascript/ */
body a, button {
  cursor: url(Brand/Star\ Click\ Cursor.png), auto;
}

nav {
  display: flex; 
  flex-direction: row; 
  justify-content: space-between;
  padding: 45px 175px 45px 175px;
  align-items: center;  
  position: relative;
}

nav img {
 width: auto;
 height: 60px; 
 align-content: space-between;  
}

nav img:hover {
  transform: scale(1.1);
}

 nav ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  color: var(--main-violet);
  font-size: 22px;
  font-style: normal;
  font-weight: 500;
  line-height: normal; 
  display: flex; 
  gap: 70px; 
  align-items: center; /* Change from flex-end to center */
  flex-wrap: nowrap; 
}

ul li {
  float: left;
  gap: 100px; 
}

ul li a {
  display: block;
  color: var(--main-violet);
  text-align: center;
  padding: 14px 16px;
  
  text-decoration: none;
}

ul li a:hover {
  color: var(--main-color);
}

/* https://www.w3schools.com/css/css_border_shorthand.asp */
.active {
  color: var(--main-blue);
  border-bottom: 3px solid var(--main-blue);

}

/* Hamburger button - hidden on desktop */
.hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none !important;
    border: none !important;
    border-radius: 0;
    cursor: pointer;
    padding: 5px;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    margin: 0;
}

.hamburger span {
    display: block;
    width: 25px;
    height: 3px;
    background-color: var(--background-color);
    border-radius: 3px;
    transition: all 0.3s ease;
}

/* Hamburger animation when open */
.hamburger.open span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}

.hamburger.open span:nth-child(2) {
    opacity: 0;
}

.hamburger.open span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}

/* Draggable Div */
.draggable-objects {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 5px;
}

.draggable-objects p {
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  border-bottom: 1px solid var(--main-color);
  padding-bottom: 5px;
  justify-content: center;
  align-content: center;
}

.div-drag {
  position: relative;
  width: fit-content;
}

.box-container {
  position: relative;
  background-color: var(--main-silver);
  border-radius: 20px;
  width: 70px;
  height: 70px;
  border: 2px solid #ccc;
}

#first-object, #second-object, #third-object {
  position: absolute;
  z-index: 9;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* CSS selector syntax can be super tricky - that comma placement makes a huge difference.
Quick recap for future reference:

#first, #second img → selects #first AND any img anywhere
#first img, #second img → selects img inside #first AND img inside #second */
#first-objectheader img, #second-objectheader img, #third-objectheader img {
  width: 50px !important;
  height: auto !important;
  max-width: 50px;
}

#first-objectheader, #second-objectheader, #third-objectheader {
  padding: 10px;
  cursor: move;
  z-index: 10;
  cursor: url('Brand/Irichroma\ Drag.png'), grab;
}

#first-objectheader:active, 
#second-objectheader:active, 
#third-objectheader:active {
  cursor: url('Brand/Irichroma\ Drag.png'), grabbing;
}


/* About Me Header / About Me Section */
header {
  margin: 0px 175px 50px 175px;
  display: flex; 
  flex-direction: row;
  /* flex-wrap: wrap; */
  justify-content: space-between;
  align-items: center;
}

.projects, .projects-gd {
  position: relative;
}

.project-view {
  position: relative;
}

.toggle-buttons {
  position: absolute;
  top: 20px;
  right: 20px;
  display: flex;
  gap: 0;
  z-index: 10;
}

.toggle-btn {
  border: 2px solid var(--main-blue);
  background: var(--background-color);
  padding: 1px; 
  width: 75px; 
  height: 45px; 
  font-family: "Afacad", sans-serif;
  color: var(--main-medgray); 
  font-size: 100%; 
  font-style: normal;
  font-weight: 600;
  text-align: center;
  margin-bottom: 15px; 
  text-decoration: none;
  align-content: center;
}

.toggle-btn1 {
  border-radius: 20px 0 0 20px; 
  border-right: none;

}

.toggle-btn2 {
  border-radius: 0 20px 20px 0; 
  border-left: none;

}

.toggle-btn--active {
  background-color: var(--main-blue);
  color: var(--background-color);
}

header img {
  max-width: 300px;
  width: 100%;
  height: auto;
}

header p {
  color: black;
  font-size: 17px;
}

.past-work {
  color: var(--main-medgray);
  font-size: 17px;
}

h1 {
  color: var(--main-color);
  font-size: 72px;
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
  text-align: left; 
  margin: 0;
}

.special-header {
  text-align: center !important; 
  width: 100%;
}

.about {
  display: flex;
  flex-direction: row;
  gap: 40px; 
  justify-content: center;
  align-content: center;
  align-items: center;
  padding: 45px 175px 50px 175px;
}

.best-projects, .learning {
  max-width: 1200px;
  margin: 0 auto;
  padding: 45px 175px 50px 175px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  text-align: center;
}

.art-gallery {
  display: flex;
  flex-direction: column;
  gap: 40px; 
  align-items: center;
  align-content: center;
  justify-content: center;
  padding: 45px 175px 45px 175px;
}

.about-header {
  color: var(--main-color);
  font-size: 64px;
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
  text-align: left; 
  margin: 0;
}

.aboutme-content {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}

h2 {
  color: var(--dark-violet); 
  text-align: left;
  font-family: Afacad;
  font-size: 22px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%; 
}

strong:not(.cstudy-strong, .strong-aboutpage) {
  border-bottom: 3px solid var(--main-violet);
  color: var(--main-violet);
  padding-bottom: 2px;
}

.strong-aboutpage {
  padding: 0; 
  color: #000;
  border: 0;
}

.subheader-aboutme {
  display: flex;
  flex-direction: column;
  align-content: center;
  text-align: center;
}

.emilie {
  max-width: 400px;
  width: 100%;
  height: auto;
}

.past-internships {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 50px; 
  justify-content: center;
  margin-top: 10px;
}

.past-internships img {
  height: 40px; 
}

.past-internships img:hover {
  transform: scale(1.1);
}

.featured {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  width: 100%; 
}

.featured-project {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: center;
  width: 360px; 
  height: auto;
  flex-shrink: 0;
}

.featured-project img {
  width: 300px; 
  height: auto; 
}

.featured-project img:hover {
  cursor: url(Brand/Star\ Cluster.png);
}

.about-project {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: center;
  text-align: center;
  margin: 0;
}

.project-title {
  margin-bottom: -10px;
}

.workshop-links {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 20px;
  align-items: center;
  justify-content: center;
}

.workshop-button {  
  /* padding: 1px;  */
  text-decoration: none;
  align-content: center;
  border: none; 
  border-radius: 20px; 
  padding: 10px 45px; 
  font-family: "Afacad", sans-serif;
  font-size: 120%; 
  font-style: normal;
  font-weight: 600;
  text-align: center;
  margin-bottom: 15px; 
}

.workshop-button:hover {
  background-color: var(--main-violet);
  color: var(--background-color);
}

.workshop-button:active {
  background-color: #000;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  grid-template-rows: repeat(6, 100px);
  gap: 1rem;
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;

  grid-template-areas:
    "item1 item1 item1 item5"
    "item1 item1 item1 item5"
    "item3 item4 item2 item2"
    "item3 item4 item2 item2"
    "item3 item6 item7 item7"
    "item3 item6 item7 item7"; 
}

.gallery-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
  object-fit: cover;
}

/* Assign areas */
.item1 { grid-area: item1; }
.item2 { grid-area: item2; }
.item3 { grid-area: item3; }
.item4 { grid-area: item4; }
.item5 { grid-area: item5; }
.item6 { grid-area: item6; }
.item7 { grid-area: item7; }


/* Project Gallery Section */
.view { 
  display: none !important; 
}

.view.view--visible { 
  display: block !important; 
}


.projects {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
  padding: 75px 50px 75px 50px;  
  background-color: var(--main-silver);
  align-items: center;
  gap: 50px;
}

.project-gallery {
  display: flex; 
  flex-direction: row;
  flex-wrap: wrap; 
  justify-content: center;
  align-content: center;
  align-items: center;
  gap: 20px; 
}

/* thanks to https://medium.com/@marknnjorogeh/horizontal-scroll-within-a-div-css-html-dcb83dbfbca5 */
.project-galleryscroll {
  display: flex; 
  flex-direction: row;
  justify-content: left;
  align-content: center;
  align-items: center;
  gap: 20px;    
  width: 100%;
    height: fit-content;
    overflow-x: scroll;
    overflow-y: hidden;
    /**keep scrolling when
      *finger or cursor scrolling*/
    -webkit-overflow-scrolling: touch; 
}

/*to hide the scrollbar*/
/* .project-galleryscroll::-webkit-scrollbar {
    display: none;
} */

/* https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Selectors/::-webkit-scrollbar */
@supports (scrollbar-color: auto) {
  .project-galleryscroll {
    scrollbar-color: var(--main-color) var(--main-silver)
  }
}

/* Otherwise, use `::-webkit-scrollbar-*` pseudo-elements */
/* @supports selector(::-webkit-scrollbar) {
  .project-galleryscroll::-webkit-scrollbar {
    background: aquamarine;
  }
  .project-galleryscroll::-webkit-scrollbar-thumb {
    background: cornflowerblue;
  }
} */

.project-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; 
  padding: 0rem 0.5rem 1rem; 
  margin: 0rem 1rem 1rem; 
  border-radius: 30px; 
  background: var(--background-color); 
  width: 325px;
  height: 650px; 
  flex-shrink: 0;
  box-shadow: 3px 3px rgba(57, 0, 153, 0.1); 
  /* border: 2px solid var(--main-violet) */
  /* box-shadow: 3px 3px rgba(57, 0, 153, 0.50); */
  /* box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25); */
}

.image-container {
  padding: 0.5rem; 
  width: 325px; 
  height: 300px; 
  border-radius: 30px 30px 0px 0px;
  align-items: center;
  margin: 0px 0px 0px 0px; 
  overflow: hidden;

}

.pink {
  background-color: var(--main-color); 
  color: white; 
}

.pink-outline {
  border: 2px solid var(--main-violet);
  border-color: var(--main-color);
}

.yellow {
  background-color: var(--main-yellow); 
  color: black; 
}

.yellow-outline {
  border: 2px solid var(--main-violet);
  border-color: var(--main-yellow);
}

.blue {
  background-color: var(--main-blue);
  color: white; 
}

.blue-outline {
  border: 2px solid var(--main-violet);
  border-color: var(--main-blue);
}

.violet {
  background-color: var(--main-violet);
  color: white;
}

.silver {
  background-color: var(--main-silver);
  color: white;
}

.website-image {
  margin-top: 15px;
  width: 380px;
  height: auto;
}

.app-image {
  margin-top: 10px;
  width: 330px;
  height: auto; 
 }

.product-image {
  margin-top: 15px;
  width: 350px;
  height: auto; 
}

.content-container {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap; 
  justify-content: center;
  padding: 0.8rem;  
  background: var(--background-color); 
  margin-top: 0rem; 
}

.header {
  font-style: bold;
  font-size: 1.8rem; 
  font-style: normal;
  font-weight: 500;
  line-height: 112%;
  margin-top: 0rem; 
}

.paragraph {
  margin-top: -1rem;
  font-size: 1.1rem; 
}

.tag-container {
  margin-top: 5px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap; 
  justify-content: space-between;
  padding: 0.8rem; 
  gap: 0.8rem; 
  align-items: center;
  align-self: stretch;
}

.tag {
  padding: 0.5rem;
  border-radius: 2rem; 
  display: flex; 
  width: 40%; 
  justify-content: center;
  align-content: center;
  align-items: center;
  font-weight: 500; 
  font-size: 14px;
}

.tag-containeralt {
  padding-top: 10px;
  display: flex;
  flex-direction: row;
  gap: 0.8rem; 
  align-items: center;
  align-self: stretch;
  margin: 0;
}

.tag-alt {
  padding: 0.5rem;
  border-radius: 2rem; 
  display: flex; 
  width: 100%; 
  justify-content: center;
  align-content: center;
  align-items: center;
  font-weight: 500; 
  font-size: 14px;
}

button:not(.clipboard, .special, .toggle-btn, .toggle-btn1, .toggle-btn2), .button:not(.special) {
  border: 2px solid var(--main-violet);  
  background: var(--background-color);
  border-radius: 20px; 
  padding: 1px; 
  width: 200px; 
  height: 45px; 
  font-family: "Afacad", sans-serif;
  color: var(--main-violet); 
  font-size: 120%; 
  font-style: normal;
  font-weight: 600;
  text-align: center;
  margin-bottom: 15px; 
  text-decoration: none;
  align-content: center;
  /* box-shadow: 2px 2px rgba(57, 0, 153, .5); */
}

.clipboard {
  background: none;
  color: inherit;
  border: none;
  padding: 0;
  margin: 0;
}

/* .clipboard {
    transition: background-color 0.2s ease, transform 0.1s ease;
}

.clipboard.copied {
    background-color: var(--main-blue);
    color: var(--background-color);
    transform: scale(0.95);
    padding: 5px 10px;
    border-radius: 20px;
    font-family: Afacad, sans-serif;
} */

.clipboard.copied  { 
  background-color: green; 
  color: var(--background-color); 
  padding: 1px 6px;
  border-radius: 10px;
}

.clipboard.error   { 
  background-color: red; 
  color: var(--background-color); 
  padding: 1px 6px;
  border-radius: 10px;
}


button:hover:not(.clipboard, .special), .button:hover, .cstudy-button:hover {
  background-color: var(--main-violet);
  color: #FDFFFC;
}

button:active:not(.clipboard), .button:active, .cstudy-button:active {
  background-color: #000;
  color: #FDFFFC;
}

.special {
  border-color: var(--main-blue); 
  background: var(--background-color);
  border-radius: 20px; 
  padding: 8px 20px; 
  width: fit-content;
  min-width: 18%;  
  height: auto; 
  min-height: 50px;
  font-family: "Afacad", sans-serif;
  color: var(--main-blue); 
  font-size: 120%; 
  font-style: normal;
  font-weight: 600;
  text-align: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 50px auto 0; 
  align-self: center;
  /* box-shadow: 2px 2px rgba(57, 0, 153, 0.5); */
}

.special:hover {
  background-color: var(--main-blue);
  color: var(--background-color);
  border-color: var(--main-blue); 
}

.special:active {
  background-color: #000;
  color: #FDFFFC; 
}

.special img {
  width: 30px;
}

/* Project Grid Section for GD */
/* https://coderpad.io/blog/development/a-very-very-in-depth-guide-on-css-grid/ */
.projects-gd {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  gap: 50px;
  padding: 0px 0px 0px 0px;  
  background-color: var(--main-silver);
}

.project-grid {
  position: relative;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-row: 1fr 1fr;
  grid-column-gap: 0;
  grid-row-gap: 0;
  box-sizing: border-box;
  justify-content: stretch;
  align-items: stretch;
}

.grid-item {
  position: relative;
  cursor: url(Brand/Star\ Click\ Cursor.png);
}

.overlay {
  z-index: 10;  
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-content: center;
  justify-content: center;
  align-items: center;
  margin: 0;
  text-decoration: none;
  background-color: rgba(0, 0, 0, 0.7);
  opacity: 0; 
  pointer-events: none; 
  transition: opacity 0.3s ease;
}

.overlay.show {
  opacity: 1 !important; 
  pointer-events: auto !important;
}

.overlay h2 {
  font-style: bold;
  font-size: 3rem; 
  font-style: normal;
  font-weight: 500;
  line-height: 100%; 
  color: #FDFFFC;
  /* position: absolute; */
  text-shadow: 3px 5px 8px rgba(0, 0, 0, 0.3);
  text-align: center;
  opacity: 100%;
  margin: 0;
}

.fa-lock {
  width: 30px;
  height: auto;
}

.image-grid {
  display:flex;
  align-items: stretch;
  position: relative;
  z-index: 1;
  max-width: 100%;
  height: stretch;
  overflow: hidden;
}

.image-grid img {
  max-width: 100%;
  align-items: stretch;
  width: auto; 
 }

/* .grid-special {
  -webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.grid-special:hover {
 --webkit-transform: scale(1.3);
	transform: scale(1.3);
} */


/* Special About Me Sections */
.about-2ndheader {
  color: var(--main-color);
  font-size: 48px;
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
  text-align: center; 
  margin: 0;
}

.aboutp-paragraph {
  font-size: 1.1rem;
}



/* UndocuTerps */

.header-img1 {
  width: 100%;
  height: 300px; 
  background-color: var(--main-blue);
}

.cstudy-header {
  display: flex;
  flex-direction: column;
  text-align: center;
  align-content: center;
  margin-top: 50px;
}

.cstudy-headline {
  display: flex;
  flex-direction: column;
  align-content: center;
}

.cstudy-headline h1, .cstudy-headline h2 {
  text-align: center;
  font-family: Afacad;
}

.cstag-container {
  margin-top: 5px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap; 
  justify-content: center;
  padding: 0.8rem; 
  gap: 1rem; 
  align-items: center;
  align-self: stretch;
}

.cstag {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  /* padding-left: 1rem;
  padding-right: 1rem; */
  width: 150px; 
  border-radius: 2rem; 
  display: flex;  
  justify-content: center;
  align-content: center;
  font-weight: 500; 
  font-size: 14px;
  }

.info-container {
  display: flex; 
  flex-direction: row;
  text-align: left;
  align-content: center;
  justify-content: center;
  width: 100%;
  gap: 1rem;
}

.category {
  width: 200px;
}

.casestudy-content {
  display: flex;
  position: relative;
  margin-bottom: 20px;
}

/* Side Nav */
.sidenav {
  width: 200px; /* Fixed width for sidebar */
  position: sticky; /* Sticks to viewport while scrolling */
  top: 20px; /* Distance from top when sticky */
  left: 0;
  height: fit-content; /* Only as tall as content */
  max-height: calc(100vh - 40px); /* Don't exceed viewport */
  border-radius: 0px 20px 20px 00px;
  border: 2px solid var(--main-lightgray);
  padding: 40px 20px 40px 40px;
  overflow-y: auto; /* Scroll if content is too long */
}

.sidenav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.sidenav li {
  display: block;
}

.sidenav a {
  text-decoration: none;
  font-size: 16px;
  color: var(--main-medgray);
  display: block;
  padding: 5px 10px;
  border-radius: 8px;
  transition: 0.3s;
  text-align: left;
}

.sidenav a:hover {
  /* background-color: var(--main-periwinkle); */
  color: var(--main-color) !important;
  border-left: 2px solid var(--main-color);
  border-bottom: none;
  font-weight: bold; 
  border-radius: 0;

}

#sidenav a.active {
  color: var(--main-blue);
  font-weight: bold;
  border-left: 2px solid var(--main-blue);
  border-bottom: none;
  border-radius: 0;
}

.main-content {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  flex: 1; /* Takes remaining space */
  padding: 20px 40px;
}

.cstudy-section {
  padding: 0 35px 50px 35px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  /* border: solid; */
}

/* https://stackoverflow.com/questions/7585561/how-to-do-not-apply-css-on-a-specific-tag */
.cstudy-section h3:not(.opening-statement) {
  color: var(--main-violet); 
  text-align: left; 
  font-family: Afacad;
  font-size: 32px;
  font-style: normal;
  font-weight: 450;
  line-height: 150%; 
  margin-top: 0; 
  border-left: 4px solid var(--main-violet);
  padding-left: 20px;
}

.cstudy-section h4 {
  color: var(--main-blue); 
  text-align: left; 
  font-family: Afacad;
  font-size: 24px;
  font-style: bold;
  font-weight: 500;
  line-height: 150%; 
  /* margin-top: 0;  */
  margin-bottom: 20px;
}

.opening-statement {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  border-radius: 15px;
  border-left: 15px solid var(--main-blue);
  padding: 20px;
  font-size: 35px; 
  font-weight: 550;
  margin-top: 25px; 
  margin-bottom: 25px;
  color: var(--main-violet);
  /* background-color: var(--background-color); */
}

.opening-statement a {
  font-size: 18px; 
  color: var(--main-violet);
  text-decoration: none;
}

.section-title {
  font-size: 18px;
  /* margin-top: 10px; */
}

.cstudy-section img {
  max-width: 1000px; 
  margin-top: 10px; 
  margin-bottom: 10px;
}

.cstudy-section h5 {
  color: var(--background-color); 
  font-size: 32px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
}

.cstudy-section h6 {
  color: var(--main-violet); 
  font-size: 18px;
  font-style: medium;
  font-weight: 500;
  border: none;
  margin-top: 20px;
  margin-bottom: -10px;
}

.cstudy-imgs {
  display: flex;
  flex-direction: row;
  gap: 20px;
  align-items: center;
}

.cstudy-imgs img {
  max-width: 500px; 
}

.cstudy-container {
  display: flex;
  flex-direction: row;
  gap: 20px; 
}

.button-container {
  display: flex;
  flex-direction: row;
  gap: 15px;
  margin-bottom: 20px;
}

.yahoo-style {
  background-color: var(--yahoo-purple);
  color: white; 
}

.yahoo-emphasis {
  color: var(--yahoo-yellow); 
  margin: 0; 
  padding: 0; 
}

.block-container {
  padding: 20px;
  width: 300px; 
  height: auto;
  border-radius: 20px;
}

.block-containerL {
  padding: 20px;
  width: auto; 
  border-radius: 20px;
  margin-top: 25px;
  margin-bottom: 25px;
}

.block-container h5, .block-containerL h5 {
  color: inherit;
}

.block-containerL h5 {
  font-size: 24px;
}

.block-containerL p {
  margin-bottom: 0;
}

.redesign-img {
  height: 450px; 
}

.nextstep-img {
  height: 350px; 
}

.cstudy-button {  
  border: none;
  border-radius: 20px; 
  padding: 1px; 
  width: 200px; 
  height: 45px; 
  font-family: "Afacad", sans-serif;
  color: var(--background-color); 
  font-size: 120%; 
  font-style: normal;
  font-weight: 600;
  text-align: center;
  justify-content: center;
  align-content: center;
  text-decoration: none;
}

/* .cstudy-button {
  background: var(--main-color);
}

.cstudy-button2 {  
  background: var(--main-blue); 
} */

.nextback-selector {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding: 45px 75px 45px 75px;
  background-color: var(--accent-pink);
  color: var(--main-violet);
}

.option1 a {
  align-items: flex-start;
}

.option2 a {
  align-items: flex-end;
}

.option1 a:hover, .option2 a:hover {
  color: var(--main-blue);
}

.option1 a:hover {
  padding-left: 20px; 
  border-left: 3px solid var(--main-periwinkle);
}

.option2 a:hover {
  padding-right: 20px; 
  border-right: 3px solid var(--main-periwinkle);
}

.option1 h1, .option2 h1 {
  margin-top: 0;
  color: inherit; 
}

.option1 a, .option2 a {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: var(--main-violet);
}











/* Footer */
footer {
  padding: 35px 150px 35px 150px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px; 
}

.footer-content {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
  vertical-align: top;
  gap: 120px; 
}

.firstfooter-container {
  display: flex; 
  flex-direction: column;
  flex-wrap: wrap;
  gap: 10px;
}

.secondfooter-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 0;
  gap: 50px; 
}

h5 {
  color: var(--main-color); 
  font-size: 32px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  margin: 0;
  padding: 0;
}

h6 {
  border-bottom: 3px solid var(--main-silver);
  color: var(--main-violet);
  font-family: Afacad;
  font-size: 25px;
  font-style: normal;
  font-weight: 450;
  line-height: normal;
  margin: 0; 
}

.links {
  color: #000;
  font-family: Afacad;
  font-size: 22px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 0; 
  gap: 10px; 
  text-decoration: none;
  justify-content: center;
  /* border: solid; */
}

.links a, .links p {
  margin: 0; 
  text-decoration: none;
  color: inherit
}

.links a:hover, .clipboard:hover {
  color: var(--main-color)
}

.links a:active, .clipboard:active {
  color: var(--main-blue);
}

footer img {
  width: 35px; 
  height: 35px; 
}

footer img:hover {
  transform: scale(1.1);
  cursor: url(Brand/Star\ Click\ Cursor.png), auto;
}

.copyright {
  color: var(--main-violet)
}



@media (width < 1440px) {
  nav {
    padding: 45px 140px 45px 140px;

 }
}

@media (max-width: 1280px) {
 nav {
    padding: 45px 50px 45px 50px;

 }
}


@media (width < 1280px) {
/* Nav Hamburger Menu */
    nav {
        padding: 50px 60px; /* Reduce padding on mobile */
        flex-wrap: nowrap; /* Add this - stops items wrapping to next line */
        justify-content: space-between;
    }

    .hamburger {
        display: flex;
        background: none !important;
        flex-shrink: 0;
        order: 2;
        align-items: flex-end;
    }

    nav a:first-child {
        order: 1;
    }

    .hamburger span {
        background-color: var(--main-violet); 
        width: 30px;
  
    }

    nav ul {
        display: none;
    }

    nav ul.open {
        display: flex;
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        width: 100%;
        background-color: #FDFFFC;
        padding: 15px 60px;
        gap: 15px;
        box-shadow: 0 5px 10px rgba(0,0,0,0.1);
        z-index: 100;
        box-sizing: border-box;
        align-items: flex-end;
    }

    nav ul li a {
        padding: 8px 0; /* Reduce padding in dropdown */
        text-align: right; /* Left align links in dropdown */
    }

    ul {
        gap: 15px; /* Override the 70px gap on mobile */
    }

    ul li {
        float: none; /* Remove float on mobile */
    }
  
    header {
    margin: 0px 120px 50px 120px;
    }

    .sidenav {
    display: none;
  }

  .project-galleryscroll {
    display: flex; 
  flex-direction: row;
  flex-wrap: wrap; 
  justify-content: center;
  align-content: center;
  align-items: center;
  gap: 20px;
  }

  /* .main-content {
    padding: 20px 25px;
  }

  .cstudy-section {
    padding: 0 20px 40px 20px;
  }

  .cstudy-section img {
    max-width: 65%;
  }

  .cstudy-imgs img {
    max-height: 500px;
    min-height: 290px;
    width: auto;
  }

  .opening-statement {
    font-size: 28px;
  }

  iframe {
    width: 50%;
  } */


}

@media (max-width: 1120px) {
.project-gallery, .project-galleryscroll {
  justify-content: center;
}

 .sidenav {
    width: 140px;
    padding: 25px 10px 25px 15px;
  }

  .sidenav a {
    font-size: 13px;
  }

  /* .cstudy-imgs {
    flex-direction: column;
    align-items: flex-start;
  }

  .cstudy-imgs img {
    max-width: 100%;
  }

  .cstudy-container {
    flex-direction: column;
  }

  .block-container {
    width: auto;
  }

  .cstudy-button,
  .cstudy-button2 {
    width: auto;
    min-width: 140px;
  }

  .nextback-selector {
    padding: 35px 40px;
  }

  iframe {
    width: 50%;
    height: 500px;
  } */

}

@media (max-width: 1100px) {
.about {
  flex-wrap: wrap;
}

.emilie {
        max-width: 300px;
        width: 100%;
        height: auto;
  }

/* Footer */
.footer-content {
  flex-direction: column;
  gap: 50px; 
  }

.gallery-grid {
  grid-template-columns: 1fr;
  grid-template-rows: repeat(7, 350px);
  gap: 1rem;
  max-width: 500px;
  width: 100%;
  height: auto; 
  margin: 0 auto;

  grid-template-areas:
    "item1"
    "item2"
    "item3"
    "item4"
    "item5"
    "item6"
    "item7";  
}

  .casestudy-content {
    flex-direction: column;
  }

  .sidenav {
    display: none;
  }

  .main-content {
    padding: 20px 30px;
  }

  .info-container {
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  .category {
    width: auto;
    min-width: 140px;
  }

}

@media (max-width: 801px) {

  /* Main Page */
  header {
        margin: 0px 70px 50px 70px;
        display: flex; 
        flex-direction: column;
    }

  header img {
        max-width: 150px;
        width: 100%;
        height: auto;
  }

  h1 {
        color: var(--main-color);
        font-size: 72px;
        font-style: normal;
        font-weight: 500;
        line-height: 100%;
        text-align: center; 
        margin: 0;
    }
  
  .projects {
  gap: 50px;
  padding: 75px 20px 75px 20px;  
  background-color: var(--main-silver);
  align-items: center;
  }  

  .project-gallery, .project-galleryscroll {
    justify-content: center;
  }

  .special {
    width: fit-content;
    min-width: unset;
    font-size: 100%; 
    padding: 8px 15px; 
  }

  .project-grid {
  grid-template-columns: 1fr;
  grid-row: 1fr;
  }

  .sidenav {
    display: none;
  }
  
  /* .main-content {
    padding: 20px;
  } */

   /* Header
  .header-img1 {
    height: 180px;
    object-fit: cover;
  }

  .cstudy-header {
    margin-top: 25px;
    padding: 0 16px;
  }

  .cstudy-headline h1 {
    font-size: 1.6rem;
  }

  .cstudy-headline h2 {
    font-size: 1.1rem;
  }

  .cstag {
    width: auto;
    padding: 0.4rem 0.8rem;
    font-size: 11px;
  }

  .info-container {
    flex-direction: column;
    padding: 0 8px;
  }

  .category {
    width: 100%;
  }

  /* Main content */
  /* .main-content {
    padding: 15px 16px;
  }

  .cstudy-section {
    padding: 0 0 30px 0;
  }

  .cstudy-section h3:not(.opening-statement) {
    font-size: 22px;
  }

  .cstudy-section h4 {
    font-size: 20px;
  }

  .cstudy-section h5 {
    font-size: 24px;
  }

  /* Opening statement block */
  /* .opening-statement {
    font-size: 20px;
    border-left-width: 8px;
    padding: 15px;
    margin-top: 15px;
    margin-bottom: 15px;
  }

  .opening-statement a {
    font-size: 14px;
  }

  /* Buttons */
  /* .button-container {
    flex-wrap: wrap;
  }

  .cstudy-button,
  .cstudy-button2 {
    width: 100%;
    font-size: 105%;
  }

  
  .redesign-img,
  .nextstep-img {
    height: auto;
    width: 100%;
  } */

  /* Figma embed */
  /* iframe {
    width: 100%;
    height: 400px;
  } */

  /* Block containers */
  /* .block-containerL {
    margin-top: 15px;
    margin-bottom: 15px;
  }

  .block-containerL h5 {
    font-size: 20px;
  } */

  /* Next/Back footer */
  /* .nextback-selector {
    flex-direction: column;
    gap: 25px;
    padding: 25px 20px;
  }

  .option1 a:hover {
    padding-left: 10px;
  }

  .option2 a:hover {
    padding-right: 10px;
    border-right: none;
  } */


}  

@media (max-width: 600px) {
  
  .about, .best-projects, .learning, .art-gallery {
    padding: 45px 60px 50px 60px;
    flex-wrap: wrap;
  }  

  .about-header {
  text-align: center;
}

  .aboutme-content {
    text-align: center;
  }
  
    .emilie {
    width: 200px;
    height: auto;
  }

  .project-gallery, .project-galleryscroll {
    justify-content: center;
  }

  .project-container {
  width: 275px;
  height: 650px; 
  }

.image-container { 
  width: 275px; 
  height: 300px; 
  }  

  .about-project {
  padding: 0px 60px 0px 60px;
}

.gallery-grid {
    grid-template-columns: 1fr; /* Single column */
    grid-template-rows: auto; /* Let rows size naturally */
    gap: 1rem;
    align-items: center;
    align-content: center;
    
    /* Remove the complex grid-template-areas, just stack */
    grid-template-areas:
      "item1"
      "item2"
      "item3"
      "item4"
      "item5"
      "item6"
      "item7";
  }
  
  .gallery-grid img {
    height: 250px;
    width: 100%;
    object-fit: cover;
  }

  .tag-container {
  margin-top: 5px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap; 
  justify-content: space-between;
  padding: 0.8rem; 
  gap: 0.8rem; 
  align-items: center;
  align-self: stretch;
}

  .tag {
  padding: 0.5rem;
  border-radius: 2rem; 
  display: flex; 
  width: 42%; 
  justify-content: center;
  align-content: center;
  font-weight: 500; 
  font-size: 12px;
  }

  footer {
  padding: 35px 70px 35px 70px;
  display: flex;
  flex-direction: column;
  align-content: center;
  }

  .footer-content {
    display: flex;
    flex-direction: column;
    align-content: center;
  }

  .firstfooter-container {
    display: flex;
    flex-direction: column;
    align-content: center;
    align-items: center;
    text-align: center;
  }

  .secondfooter-container {
    display: flex;
    flex-direction: column;
    align-content: center;
    align-items: center;
  }

    /* .cstudy-headline h1 {
    font-size: 1.3rem;
  }

  .cstudy-headline h2 {
    font-size: 1rem;
  }

  .cstag-container {
    gap: 0.5rem;
    padding: 0.5rem;
  }

  .cstag {
    font-size: 10px;
    padding: 0.3rem 0.6rem;
  }

  .info-container {
    padding: 0 4px;
  }

  .cstudy-section h3:not(.opening-statement) {
    font-size: 19px;
  }

  .cstudy-section h4 {
    font-size: 17px;
  }

  .cstudy-section h5 {
    font-size: 20px;
  }

  .opening-statement {
    font-size: 17px;
    border-left-width: 6px;
    padding: 12px;
  }

  .opening-statement a {
    font-size: 13px;
  }

  .block-containerL h5 {
    font-size: 17px;
  }

  .cstudy-button,
  .cstudy-button2 {
    height: auto;
    padding: 10px 16px;
    font-size: 100%;
  }

  iframe {
    height: 320px;
  }

  .nextback-selector {
    padding: 20px 16px;
  }

  .option1 h1,
  .option2 h1 {
    font-size: 1.3rem;
  } */

  .option2 {
    text-align: right;
  }


}

@media (max-width: 768px), (hover: none) and (pointer: coarse) {
  .draggable-objects {
    display: none;
  }
}

@media (max-width: 320px) {
  .button {
    padding: 2px;
    height: 10%;
    font-size: 100%;
  }
}








/* .status {
  padding: 50 175 50 175px;
  font-size: 150%;
  background-color: var(--main-blue);
  color: white;
} */