/* Global styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

p {
  font-family: "Open Sans", sans-serif;
  font-size: 15px;
}

h1 {
  display: flex;
  justify-content: center;
  text-align: center;
  color: black;
  font-family: "Cal Sans", sans-serif;
  letter-spacing: 2px;
}

/* Nav menu */
nav {
  width: 100%;
}

/* Menu centered for mobile */
.menu {
  display: flex;
  justify-content: center; 
  align-items: center;
  gap: 15px;
  padding-bottom: 0px;
  padding-left: 10px;
  padding-right: 10px;
  padding-top: 10px;
}

.nav-links {
  display: flex;
  gap: 15px;
}

.logo {
  width: 65px;
  height: auto;
}

.menu a {
  text-decoration: none;
  color: black;
  font-size: 25px;
  font-family: "Cal Sans", sans-serif;
}

/* Intro video/gif at the top of the website */
.intro {
  height: calc(100vh - 60px);
  position: relative;
  padding: 10px;
}

.intro-gif {
  width: 100%;
  height: 97%;
  object-fit: cover;
  border: 5px solid #c1e5ff;;
  border-radius: 15px;
}

/* Portfolio, about and contact heading*/
.section-heading{
  margin-top: 100px;
  margin-bottom: 20px;
}

/* Mobile portfolio*/
.portfolio-container {
  display: flex;
  flex-direction: column; 
  height: 600px;
  width: 100%;
  position: relative;
  padding: 10px;
}

.left-panel, .right-panel {
  width: 100%;
  height: 50%; 
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
  border-radius: 15px;
}

.left-panel {
  background-color: #c1e5ff;
  color: #ffffff;
  text-align: center;
}

.left-panel h1 {
  font-size: 30px;
  color: #ffffff;
  margin-bottom: 10px;
}

.left-slide.content {
  display: flex;
  flex-direction: column; 
  align-items: center; 
  text-align: center; 
  background-color: #6ab0e3; 
  padding: 10px; 
  border-radius: 15px; 
  border: 5px solid #000000;
  max-width: 300px; 
}

.right-panel img{
  width: 225px;
  height: 225px;
  object-fit: cover; 
  border: 5px solid #000000;
  border-radius: 15px; 
}

.right-panel {
  background-color: #6ab0e3;
  color: #000000;
}

.content {
  position: absolute;
  opacity: 0;
  transition: opacity 1s ease; 
}

.show {
  opacity: 1;
}

/* Sliding pictures */
#gd-box, #wd-box, #sm-box, #resume-box {
  width: 225px;
  height: 225px;
  overflow: hidden;
  position: relative;
  border-radius: 15px;
}

#gd-slider, #wd-slider, #sm-slider {
  width: 675px;
  height: 225px;
  display: flex;
  transition: transform 0.5s ease;
}

.slide-work {
  width: 225px;
  height: 225px;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.resume-image {
  width: 200px;
  height: 200px;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Centered horizontal icons on mobile */
.center-icons {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: row; 
  gap: 20px;
  z-index: 10;
  pointer-events: auto;
}

.icon {
  font-size: 20px;
  opacity: 0.5;
  transition: transform 0.5s, opacity 0.5s;
  cursor: pointer;
}

.active-icon {
  transform: scale(1.8);
  opacity: 1;
}

/* About */
.about-container {
  display: flex;
  justify-content: center;
  padding: 10px;
}

.about-box {
  display: flex;
  flex-direction: column;
  background-color: #6ab0e3;
  border-radius: 15px;
  border: 5px solid #000000;
  padding: 10px;
  gap: 20px;
  width: 100%;;
}

.about-box img {
  width: 310px;
  height: 225px;
  border-radius: 10px;
  border: 5px solid #c1e5ff;;
  align-self: center;
}

.about-text {
  display: flex;
  flex-direction: column;
  color: white;
  text-align: left;
}

/* Buttons */
/* To go to work buttons  */
.button-container {
  display: flex;
  justify-content: center; 
  align-items: center; 
  gap: 15px; 
  padding:10px;
}

.portfolio-button {
  padding: 10px;
  background-color: #000000;
  color: #ffffff;
  text-decoration: none;
  border: none;
  border-radius: 15px;
  font-family: "Open Sans", sans-serif;
  font-size: 15px;
  display: inline-block;
  transition: background-color 0.3s ease;
  text-align: center;
  border: 5px solid #c1e5ff;
}

.portfolio-button:hover {
  background-color: #333333;
}

/* Resume and buttons on the gallery/work pages */
#small-button{
  font-size: 10px;
  margin-top: 10px;
}

/* Buttons on the gallery/work pages */
.bottom-buttons {
  margin-top: 50px;
  margin-bottom: 30px;
  flex-direction: row;
}

/* Linkedin link on resume page */
.linkedin-link {
  color: white;
}

/* Contact form style */
.contact-box {
  display: flex;
  flex-direction: column;
  background-color: #6ab0e3;
  border-radius: 15px;
  border: 5px solid #000000;
  padding: 10px;
  gap: 15px;
  margin: 0 auto;
  font-family: "Open Sans", sans-serif;
  width: 100%;
}

.contact-box label {
  color: white;
  font-size: 16px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.contact-box input,
.contact-box textarea {
  padding: 10px;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-family: "Open Sans", sans-serif;
}

.contact-box textarea {
  resize: vertical;
  min-height: 100px;
}

.contact-box button {
  padding: 10px;
  background-color: #000000;
  color: #ffffff;
  text-decoration: none;
  border: none;
  border-radius: 15px;
  font-family: "Open Sans", sans-serif;
  font-size: 15px;
  display: inline-block;
  transition: background-color 0.3s ease;
  text-align: center;
  border: 5px solid #c1e5ff;
}

.contact-box button:hover {
  background-color: #333333;
}

#gd-header{
  font-size: 40px;
}

.coursework-text {
  font-size: 8px;  
}
#coursework-header {
  font-size: 20px; 
}


/* Gallery grid on work pages */
#gallery-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 10px;
}

.gallery-card {
  margin: 10px;
  text-align: center;
  flex: 1 1 45%; 
  max-width: 80%;
}

.gallery-card img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 15px;
  border: 5px solid #c1e5ff;
}

.desc {
  font-family: "Open Sans", sans-serif;
  font-size: 12px;
  padding-top: 5px;
}

.ux-thumb {
  width: 70%;         
  max-width: 280px;   
  display: block;
  margin: 0 auto;      
}

.ux-desc {
  width: 70%;
  margin: 0 auto;
  text-align: center;
}

/* Webheader */
#web-header {
    font-size: 23px; 
  }

@media screen and (min-width: 1080px) {
  /* Desktop global */
  h1 {
    font-size: 70px;
  }

 /* Desktop move menu to corners */
 .menu {
  justify-content: space-between;
  }

  /* Desktop portfolio*/
  .portfolio-container {
    flex-direction: row; 
  }

  .left-panel, .right-panel {
    width: 50%;
    height: 100%;
  }

  .right-panel img{
    width: 400px;  
    height: 400px;
    object-fit: cover; 
  }


  .left-slide.content {
    max-width: 500px; 
  }

  .center-icons {
    position: absolute; 
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); 
    display: flex;
    flex-direction: column;  
    justify-content: center; 
    align-items: center; 
    gap: 30px; 
    pointer-events: none; 
  }
  
  .icon {
    pointer-events: auto; 
    font-size: 30px;
  }

  /* Desktop slide images in portfolio */
  #gd-box, #wd-box, #sm-box, #resume-box {
    width: 400px;
    height: 400px;
  }
  
  #gd-slider, #wd-slider, #sm-slider {
    width: 1200px;  
    height: 400px;
  }

  .slide-work {
    width: 400px;
    height: 400px;
}

.resume-image {
    width: 400px;
    height: 400px;
}

.portfolio-container { 
  height: 500px;
}

/* Desktop about */
.about-container p {
  font-size: 18px;
}

.about-box {
  flex-direction: row; 
  align-items: center;
  max-width: 1200px;
}

.about-box img {
  width: 410px;
  height: 300px;
}

/* Desktop contact */
.contact-box {
   max-width: 1200px;
}

/* Desktop buttons */
.button-container {
  gap: 30px; 
}

.portfolio-button {
  font-size: 20px;
}

.contact-box button {
 font-size: 20px;
}

#small-button{
  font-size: 15px;
}

/* Desktop work pages */
#gd-header{
  font-size: 70px;
}

.desc {
  font-size: 15px;
}

.coursework-text {
  font-size: 16px;  
}
#coursework-header {
  font-size: 25px; 
}

}