* {
  box-sizing: border-box;
}
body {
  font-family: "Urbanist", sans-serif;
  font-weight: lighter;
}

.nav-bar {
  display: flex;
  justify-content: center; /* Align items in the center */
  list-style: none;
  padding: 0;
  margin-top: 5%;
}

.nav {
  margin-top: 10%;
  justify-content: center;
  text-align: center;
}

.logo {
  width: 150px;
  display: inline-block;
}

.nav-item {
  margin: 0 10px; /* Adds spacing between items */
}

.hero {
  text-align: center;
}

.title {
  align-items: center;
}

.title h1 {
  color: #127cba;
}

.nav-item a {
  text-decoration: none;
}

.nav-item a:hover {
  text-decoration: underline;
}

.container {
  margin-top: 5%;
  padding: 0 35% 0 35%;
  margin-bottom: 5%;
}

.container-3 {
  margin-top: 5%;
  padding: 0 10% 0 10%;
  margin-bottom: 5%;
}

.container-2 {
  margin-top: 5%;
  padding: 0 30% 0 30%;
  margin-bottom: 5%;
}

.section {
  width: 100%;
  display: flex;
  justify-content: center; /* Align items in the center */
}
.section .right {
  align-items: center;
  display: block;
  margin: auto;
  justify-content: center; /* Align items in the center */
  padding-left: 10%;
  padding-right: 10%;
}
.section .left {
}

.headshot {
  width: 600px;
  border-radius: 50%;
}
.headshot-1 {
  width: 400px;
  border-radius: 50%;
}

.scroll img {
  display: block;
  margin-top: 4%;
  margin-left: auto;
  margin-right: auto;
  width: 25%;
}

.animated-element {
  margin-top: 15%;
  animation: moveUpDown 1s ease-in-out infinite;
}
@keyframes moveUpDown {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-35px);
  }
}

.heading {
  text-align: center;
  color: #353535;
  font-size: 25px;
  font-weight: lighter;
}

.heading h1 {
  text-align: center;
  color: #353535;
  font-weight: lighter;
}
.heading-2 h1 {
  color: #127cba;
  font-weight: lighter;
  font-size: 60px;
}

.homepage-bg {
  max-width: 100vw;
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
}

.content {
  margin-top: 15%;
  position: relative; /* Keeps content on top of the image */
  z-index: 1; /* Make sure content appears above the image */
  padding: 15px;
}

.content h1 {
  margin-top: 15%;
  color: #127cba;
  font-weight: lighter;
  font-size: 60px;
}

.container-2 {
  padding: 0 22% 0 22%;
  position: relative; /* To position the content over the background image */
}

.top-section {
  width: 100%; /* Ensure it spans full width */
}

table {
  width: 100%; /* Table takes full width */
  border-collapse: collapse; /* Removes gaps between table cells */
}

td {
  width: 33.33%; /* Ensures equal width distribution */
  text-align: center; /* Centers text */
  vertical-align: top; /* Aligns text to the top */
  padding: 10px; /* Spacing inside cells */
}

.table-img {
  width: 100%; /* Image takes full cell width */
  max-width: 200px; /* Prevents it from getting too large */
}

.show-case-img {
  width: 100%; /* Ensures it matches the width of the top section */
  display: block; /* Removes unwanted gaps */
}
a {
  color: black; /* Set default link color */
  text-decoration: none; /* Remove underline if needed */
}

a:visited {
  color: black; /* Keep it the same as the default color */
}

.company-logo {
  width: 150px;
  height: 150px;
}

.company-logo:hover {
  width: 200px;
  height: 200px;
}

.resume {
  font-size: 20px;
  font-weight: lighter;
}

.container.resume {
  padding: 0% 33% 0% 33%;
  line-height: 1.75; /* Adjusts the line height (1.5 times the font size) */
}
.github-link {
  font-weight: normal;
}
.github-link:hover {
  text-decoration: underline;
}

.eisler-link {
  color: #127cba;
}

.eisler-link:hover {
  text-decoration: underline;
}

.link:hover {
  text-decoration: underline;
}

.container.resume h2 {
  font-size: 40px;
  font-weight: lighter;
}

.flex-container {
  display: flex;
  width: 70%;
  padding: 5px 10% 5px 10%;
  flex-wrap: wrap;
  margin-left: 5%;
}

.lighthouse {
  width: 73%;
  height: 450px;
}

.waterfall {
  width: 25%;
  height: 200px;
}

.jc-sb {
  justify-content: space-between;
}

.ai-fe {
  align-items: flex-end;
}

.ai-fs {
  align-items: flex-start;
}

.tower {
  width: 25%;
  height: 200px;
  margin-left: 20%;
}

.cliff {
  width: 25%;
  height: 200px;
}

.mountain {
  width: 25%;
  height: 250px;
}

.container-row {
  padding: 5px;
  display: flex;
  flex-direction: row;
}

.container-col {
  padding: 5px;
  display: flex;
  flex-direction: column;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.headshot-1:hover {
  animation: spin 1s 1 ease;
}

.grid-container {
  margin: 0 100px 100px 100px;
  display: grid;
  grid-template-areas:
    "header header header"
    "tabs tabs tabs"
    "story1 story2 story3"
    "story4 story5 story5";
}

.header {
  grid-area: header;
  padding: 50px;
  display: flex;
  justify-content: center;
}
.header h1 {
  font-weight: light;
  font-size: 60px;
  color: black;
}
.tabs {
  grid-area: tabs;
  border: 3px solid black;
  padding: 50px;
}
.tabs p {
  font-size: 30px;
  font-weight: bolder;
}

.tabs p:hover {
  text-decoration: underline;
}
.tabs ul {
  display: flex;
  list-style: none;
  justify-content: space-around;
  align-items: center;
}
.story1 {
  grid-area: story1;
  border-width: 0 0 0 3px;
  border-style: solid;
  border-color: black;
  padding: 20px;
}

.story2 {
  grid-area: story2;
  padding: 20px;
  border-width: 0 0 0 3px;
  border-style: solid;
  border-color: black;
}

.center {
  justify-content: center;
  align-items: center;
}

.story3 {
  grid-area: story3;
  border-width: 0 3px 0 3px;
  border-style: solid;
  border-color: black;
  padding: 20px;
}

.story4 {
  grid-area: story4;
  border-width: 3px 0px 3px 3px;
  border-style: solid;
  border-color: black;
  padding: 20px;
}
.story5 {
  grid-area: story5;
  border-width: 3px 3px 3px 3px;
  border-style: solid;
  border-color: black;
  padding: 20px;
}

.headline {
  background-color: #412316;
  color: #d1c59b;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.ordrbtn {
  background-color: #deb994;
  border-radius: 10px;
  border-width: 0;
  padding: 1% 47% 1% 47%;
  transition: all 0.2s ease-in-out;
}
.ordrbtn:active {
  background-color: #c8a178; /* Darker shade for click effect */
  transform: scale(0.95); /* Slight shrink to show press effect */
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.3) inset; /* Adds a pressed-in shadow */
}
.coffee-colors {
  background-color: #ede1d5;
  color: #412316;
}

.form-body {
  background-color: #f0f0f0;
  padding: 10px;
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
  font-weight: normal;
}

.box1 {
  width: 45%;
  padding: 15px;
  border-radius: 10px;
  box-shadow: 0 3px 10px rgb(0 0 0 / 0.2);
  font-family: "Open Sans", sans-serif;
}

.second-col {
  width: 45%;
}

.first-row {
  justify-content: space-around;
}

.box2 {
  padding: 15px;
  border-radius: 10px;
  margin-bottom: 10px;
  box-shadow: 0 3px 10px rgb(0 0 0 / 0.2);
  font-family: "Open Sans", sans-serif;
}

.box3 {
  padding: 15px;
  border-radius: 10px;
  box-shadow: 0 3px 10px rgb(0 0 0 / 0.2);
}

input {
  border-width: 0.5;
  padding: 5px;
  margin: 3px;
  border-radius: 20px;
  border-color: #deb994;
  border-style: solid;
  background-color: #ede1d5;
}

.item {
  display: grid;
  grid-template-columns: 1fr 4fr 1fr;
  grid-template-areas:
    "qty productname price"
    ". notes .";
}

.qty {
  grid-area: qty;
  width: 10%;
}

.productname {
  grid-area: productname;
  width: 60%;
}

.productname p {
  color: black;
  font-weight: bold;
}

.price {
  grid-area: price;
}

.notes {
  grid-area: notes;
}

.notes .container-col {
  padding: 0;
}

.receipt {
  margin-top: 100px;
  width: 30%;
  justify-content: center;
  margin-bottom: 35px;
  font-family: "Open Sans", sans-serif;
}

.receipt .container-row {
  justify-content: space-between;
  width: 100%;
}

.strong p {
  font-weight: bolder;
  font-size: 15px;
}

.box1 hr {
  background-color: #deb994;
  border: none;
  height: 1px;
}

.input-group {
  position: relative;
  display: inline-block;
}

.input-group .input-label {
  background-color: #ede1d5;
  border-radius: 10px;
  font-size: 11px;
  position: absolute;
  left: 25px;
  top: -1px;
  padding: 0 2px;
}

.calculator {
  margin-top: 5%;
  padding: 0 33% 0 33%;
  display: grid;
  grid-template-areas:
    "display display display display"
    "clear clear back divide"
    "seven eight nine multiply"
    "four five six minus"
    "one two three plus"
    "zero zero zero equal";
}

.display {
  grid-area: display;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-right: 16px;
  background-color: black;
  color: white;
  height: 100px;
  font-size: 40px;
}

.one {
  grid-area: one;
}
.two {
  grid-area: two;
}
.three {
  grid-area: three;
}
.four {
  grid-area: four;
}
.five {
  grid-area: five;
}
.six {
  grid-area: six;
}
.seven {
  grid-area: seven;
}
.eight {
  grid-area: eight;
}
.nine {
  grid-area: nine;
}

.clear {
  grid-area: clear;
  height: 100px;
}
.back {
  grid-area: back;
  height: 100px;
}
.divide {
  grid-area: divide;
}
.multiply {
  grid-area: multiply;
}
.minus {
  grid-area: minus;
}
.plus {
  grid-area: plus;
}
.equal {
  grid-area: equal;
}
.zero {
  grid-area: zero;
}

.orange-btn {
  background-color: rgb(232, 151, 0);
  color: white;
  height: 100px;
  border-width: 1px;
  font-size: 40px;
  transition: all 0.2s ease-in-out;
}

.gray-btn {
  height: 100px;
  font-size: 40px;
  border-width: 1px;
  transition: all 0.2s ease-in-out;
  background-color: rgb(228, 228, 228);
}

.gray-btn:active {
  background-color: #c8c7c7; /* Darker shade for click effect */
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.3) inset; /* Adds a pressed-in shadow */
  border-width: 0;
}
.orange-btn:active {
  background-color: rgb(187, 121, 0); /* Darker shade for click effect */
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.3) inset; /* Adds a pressed-in shadow */
  border-width: 0;
}

.gray-btn:hover {
  background-color: #ffffff; /* lighter shade for hover effect */
}
.orange-btn:hover {
  background-color: rgb(246, 194, 97); /* lighter shade for hover effect */
}

.js-sb {
  justify-content: space-between;
}

.contact-label {
  color: #127cba;
  font-weight: bolder;
}

.contact-photo {
  height: 320px;
  width: 300px;
  border-radius: 50%;
}

.left-side {
  width: 350px;
}

.right-side {
  width: 50%;
  margin-left: auto;
  margin-right: 10%;
}

.right-side a:hover {
  text-decoration: underline;
}

.subHeader {
  color: rgb(240, 156, 0);
}

.main {
  width: 50%;
  justify-content: center;
  margin: auto;
}

.heading {
  text-align: center;
}

.jc-sa {
  justify-content: space-around;
}

.play-again-btn {
  display: none;
}

.show {
  display: block;
}

/* General Styles */
.wordle-container {
  font-family: "Press Start 2P", cursive;
  background-color: #1a1a1a;
  color: #ffffff;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

.main {
  width: 50%;
  max-width: 600px;
  background-color: #2d2d2d;
  padding: 20px;
  border-radius: 15px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
  text-align: center;
}

.heading-wordle {
  font-size: 2.5rem;
  color: #ffcc00;
  text-shadow: 2px 2px #ff0000;
  margin-bottom: 20px;
}

.guess-container {
  margin-bottom: 20px;
  justify-content: center;
  align-items: center;
  display: flex;
}

.guess1 {
  width: 80%;
  padding: 10px;
  font-size: 1.2rem;
  text-align: center;
  border: 2px solid #ffcc00;
  border-radius: 10px;
  background-color: #1a1a1a;
  color: #ffffff;
  outline: none;
  margin: 10px;
}
.guess2 {
  width: 80%;
  padding: 10px;
  font-size: 1.2rem;
  text-align: center;
  border: 2px solid #ffcc00;
  border-radius: 10px;
  background-color: #1a1a1a;
  color: #ffffff;
  outline: none;
  margin: 10px;
}
.guess3 {
  width: 80%;
  padding: 10px;
  font-size: 1.2rem;
  text-align: center;
  border: 2px solid #ffcc00;
  border-radius: 10px;
  background-color: #1a1a1a;
  color: #ffffff;
  outline: none;
  margin: 10px;
}
.guess4 {
  width: 80%;
  padding: 10px;
  font-size: 1.2rem;
  text-align: center;
  border: 2px solid #ffcc00;
  border-radius: 10px;
  background-color: #1a1a1a;
  color: #ffffff;
  outline: none;
  margin: 10px;
}
.guess5 {
  width: 80%;
  padding: 10px;
  font-size: 1.2rem;
  text-align: center;
  border: 2px solid #ffcc00;
  border-radius: 10px;
  background-color: #1a1a1a;
  color: #ffffff;
  outline: none;
  margin: 10px;
}
.guess6 {
  width: 80%;
  padding: 10px;
  font-size: 1.2rem;
  text-align: center;
  border: 2px solid #ffcc00;
  border-radius: 10px;
  background-color: #1a1a1a;
  color: #ffffff;
  outline: none;
  margin: 10px;
}

.submit-btn,
.play-again-btn {
  padding: 10px 20px;
  font-size: 2rem;
  font-weight: bold;
  color: #f3e7b6;
  background-color: #ff0000;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: background-color 0.3s ease;
  margin: 15px;
}

.submit-btn:hover,
.play-again-btn:hover {
  background-color: #cc0000;
}

.play-again-btn {
  display: none;
  margin-top: 20px;
}

.secret-word {
  font-size: 1.5rem;
  color: #ffcc00;
  margin-top: 20px;
}

.message-board {
  font-size: 1.2rem;
  color: #ffcc00;
  margin-top: 20px;
}
.guess-box {
  width: 40px; /* Set to a fixed width */
  height: 40px; /* Set to a fixed height */
  padding: 10px;
  margin: 0 10px 0 10px;
  font-size: 1.2rem;
  text-align: center;
  border: 2px solid white;
  border-radius: 10px;
  background-color: #1a1a1a;
  color: #ffffff;
  outline: none;
}
.guess-input {
  margin-top: 10px;
}

.correct {
  border: 2px solid green;
}
.incorrect {
  border: 2px solid red;
}

.misplaced {
  border: 2px solid #ffcc00;
}

/* Mobile Optimization */
@media only screen and (max-width: 768px) {
  body {
    font-size: 16px; /* Adjust base font size for readability */
  }
  table {
    width: 100%;
    border-collapse: collapse;
  }

  tbody,
  tr {
    display: block;
    width: 100%;
  }

  td {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 10px;
  }

  .rut1 {
    max-width: 100%;
    height: auto;
  }
  .keyboard {
    display: none;
  }
  .nav-bar {
    flex-direction: column; /* Stack nav items vertically */
    align-items: center; /* Center align items */
    margin-top: 10%; /* Adjust margin for mobile */
  }

  .nav-item {
    margin: 10px 0; /* Add vertical spacing between nav items */
  }

  .logo {
    width: 100px; /* Reduce logo size for mobile */
  }

  .container,
  .container-2,
  .container-3,
  .container.resume {
    padding: 0 10% 0 10%; /* Reduce padding for smaller screens */
  }

  .content h1 {
    font-size: 40px; /* Reduce font size for mobile */
    margin-top: 10%; /* Adjust margin for mobile */
  }

  .heading-2 h1 {
    font-size: 40px; /* Reduce font size for mobile */
  }

  .section {
    flex-direction: column; /* Stack section content vertically */
  }

  .section .right,
  .section .left {
    padding: 0; /* Remove padding for mobile */
  }

  .headshot,
  .headshot-1 {
    width: 100%; /* Make images responsive */
    max-width: 300px; /* Limit maximum width */
  }

  .scroll img {
    width: 50%; /* Adjust scroll image size */
  }

  .animated-element {
    margin-top: 10%; /* Adjust margin for mobile */
  }

  .grid-container {
    margin: 0 20px 20px 20px; /* Reduce margin for mobile */
    grid-template-areas:
      "header"
      "tabs"
      "story1"
      "story2"
      "story3"
      "story4"
      "story5"; /* Stack grid areas vertically */
  }

  .header h1 {
    font-size: 40px; /* Reduce font size for mobile */
    color: black;
  }

  .tabs {
    padding: 20px; /* Reduce padding for mobile */
  }

  .tabs p {
    font-size: 20px; /* Reduce font size for mobile */
  }

  .story1,
  .story2,
  .story3,
  .story4,
  .story5 {
    border-width: 3px; /* Simplify borders for mobile */
    padding: 10px; /* Reduce padding for mobile */
  }

  .flex-container {
    width: 100%; /* Full width for mobile */
    padding: 5px; /* Reduce padding for mobile */
    margin-left: 0; /* Remove margin for mobile */
  }

  .lighthouse,
  .waterfall,
  .tower,
  .cliff,
  .mountain {
    width: 100%; /* Make images responsive */
    height: auto; /* Adjust height automatically */
    margin-left: 0; /* Remove margin for mobile */
  }

  .box1,
  .second-col {
    width: 100%; /* Full width for mobile */
  }

  .ordrbtn {
    padding: 1% 30% 1% 30%; /* Adjust button padding for mobile */
  }

  .receipt {
    width: 100%; /* Full width for mobile */
  }

  .item {
    grid-template-columns: 1fr; /* Stack grid items vertically */
    grid-template-areas:
      "qty"
      "productname"
      "price"
      "notes";
  }

  .qty,
  .productname,
  .price,
  .notes {
    width: 100%; /* Full width for mobile */
  }

  .input-group .input-label {
    font-size: 10px; /* Reduce label font size for mobile */
    left: 10px; /* Adjust label position */
  }
  .left-side,
  .right-side {
    width: 100%;
    text-align: center;
  }

  .contact-photo {
    max-width: 80%;
    height: auto;
  }

  .jc-sb {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .contact-label {
    font-weight: bold;
    margin-bottom: 5px;
  }

  .right-side a {
    word-break: break-word;
  }
  .container-row {
    flex-direction: column;
    align-items: center;
  }
  .main {
    width: 90%;
  }

  .heading {
    font-size: 2rem;
  }

  .guess1 {
    width: 90%;
  }

  .guess-box {
    width: 50px; /* Increase input size for smaller screens */
    height: 50px;
  }

  .submit-btn,
  .play-again-btn {
    width: 100%;
  }
}
