.active-link {
  background: #cacaca;
  font-weight: bold;
}

.title-section {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  height: 100vh;
  position: relative;
  margin-top: -50px;
}

.title-text {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 10%;
  color: white;
  z-index: 10;
  position: absolute;
  gap: 8%;
}

.title-text h1 {
  font-family: "Fira Sans", sans-serif;
  text-align: center;
  letter-spacing: 3px;
}

.button-me-apunto {
  padding: 0.3em;
  padding-left: 5%;
  padding-right: 5%;
  border-radius: 30px;
  cursor: pointer;
  color: white;
  cursor: pointer;
  font-size: 1.3em;
  font-weight: bold;
  letter-spacing: 2px;
}

.azul {
  border: 1px solid #768bd2;
  background-color: #768bd2;
}

.verde {
  border: 1px solid #70b37a;
  background-color: #70b37a;
}

.naranja {
  border: 1px solid #db936a;
  background-color: #db936a;
}

.amarillo {
  border: 1px solid #e6c75c;
  background-color: #e6c75c;
}

.image {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.image-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
}

.side-by-side-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr;
  /* height: 100vh; */ /* This will cause gray boxes with long text to overflow */
  height: 100%;
}

.left-subsection {
  grid-column: 1;
  grid-row: 1;
  height: 100%;
  padding: 20%;
  padding-right: 10%;
}

.right-subsection {
  grid-column: 2;
  grid-row: 1;
  height: 100%;
  padding: 20%;
  padding-left: 10%;
}

.full-subsection {
  grid-column-start: 1;
  grid-column-end: 3;
  grid-row: 1;
  height: 100%;
  padding: 20%;
  padding-right: 10%;
  padding-left: 10%;
}

.right-subsection {
  grid-column: 2;
  grid-row: 1;
  height: 100%;
  padding: 20%;
  padding-left: 10%;
}

.campa-logo {
  width: 250px;
  height: 250px;
  color: white;
}

.gray-content-box {
  background-color: rgba(237, 237, 237, 0.85);
  padding: 10%;
  display: block;
  overflow: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.content-image {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
}

/* Gallery CSS */

.gallery-section {
  margin: 0;
  padding-top: 5%;
  padding-bottom: 5%;
  box-sizing: border-box;
  background-color: black;
}

.gallery-container {
  padding: 2rem 5%;
}

/* End gallery */

h1 {
  font-size: 5em;
  font-weight: bolder;
}

h2 {
  font-size: 2em;
  font-weight: bolder;
}

h3 {
  font-size: 1.5em;
}

p {
  font-size: 1.2em;
  line-height: 2em;
}

li {
  font-size: 1.2em;
  line-height: 2em;
}

/* Middle sized screens (900px - 1200px wide) */
@media (min-width: 900px) and (max-width: 1200px) {
  p {
    font-size: 1em;
  }
  h2 {
    font-size: 1.8em;
  }
  ul {
    font-size: 1em;
  }
  li {
    font-size: 1em;
  }
  h3 {
    font-size: 1.3em;
  }
  .navbar-btn .navbar-link {
    font-size: 1em;
  }
  .button-me-apunto {
    font-size: 1.1em;
  }
}
/* Small Screens (< 900px wide) */
@media (max-width: 900px) {
  p {
    font-size: 0.9em;
  }
  h1 {
    font-size: 4em;
  }
  h2 {
    font-size: 1.5em;
  }
  ul {
    font-size: 0.9em;
  }
  li {
    font-size: 0.9em;
  }
  h3 {
    font-size: 1.1em;
  }
  .navbar-btn .navbar-link {
    font-size: 0.9em;
  }
  .button-me-apunto {
    font-size: 1.1em;
  }

  .campa-logo {
    width: 200px;
    height: 200px;
  }

  .side-by-side-section {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 1fr;
    height: auto;
  }

  .left-subsection {
    grid-column: 1;
    grid-row: 1;
    padding: 10%;
    padding-bottom: 5%;
  }

  .right-subsection {
    grid-column: 1;
    grid-row: 2;
    padding: 10%;
    padding-top: 5%;
  }
}

/* Turbine Page */

.title-section h1.turbine-title {
  max-width: 1100px;
}

.subtitle-text {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  margin: 0;
}

.full-subsection-container {
  grid-column-start: 1;
  grid-column-end: 3;
  grid-row: 1;
  height: 100%;
  width: 100%;
  padding: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
}

img.full-subsection-img {
  border-radius: 20px;
  max-height: 90vh;
  max-width: 90vw;
}

.image-fit {
  width: 100%;
  object-fit: fill;
}

.finance-text {
  font-size: 1.5em;
  text-align: center;
}

.gray-background {
  background-color: rgba(248, 248, 248, 0.85);
}
