/* ==== SPEC SECTION ==== */
.spec {
  width: 60%;
  margin: 0 auto;
  padding: 5px 5px 89px 5px;
}

.spec-content-program p {
  color: #5A5D5A;
  font-size: 18px;
  font-weight: 300;
  margin: 17px 0 18px 0;
}

.spec h1 {
  font-size: 42px;
  color: #1e1e1e;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  line-height: 1.2;
  text-align: center;
}

.spec hr {
  margin: 40px 0 20px;
  border-bottom: 1px solid #eeeeee;
}

.spec .spec-description {
  font-family: "Nunito Sans", 'Roboto', sans-serif;
  margin: 30px auto 50px auto;
  width: 60%;
  font-weight: 300;
  font-size: 18px;
  color: #5A5D5A;
  text-align: center;
}

.spec-bottom {
  margin: 50px auto;
  border-left: solid 3px #ffd700;
  padding-left: 25px;
  line-height: 27px;
  max-width: 900px;
}

.spec-bottom p {
  color: #5A5D5A;
  font-size: 18px;
  font-weight: 300;
  margin: 17px 0 18px 0;
}

.spec-bottom h2 {
  color: #1E1E1E;
  font-size: 29px;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.spec-line {
  width: 3px;
  height: 183px;
  margin-top: 8px;
  background-color: #FFD700;
}

.spec-bottom a {
  text-decoration: none;
  color: black;
}

.spec-bottom a:hover {
  text-decoration: underline;
  color: #BE9252;
}

/* ==== RESPONSIVE ==== */

/* Tablets (≤1024px) */
@media (max-width: 1024px) {
    .breadcrumb {
    width: 91%;
}
  .spec {
    width: 80%;
    padding-bottom: 60px;
  }

  .spec h1 {
    font-size: 36px;
  }

  .spec .spec-description {
    width: 80%;
    font-size: 17px;
  }

  .spec-bottom {
    padding-left: 20px;
  }

  .spec-bottom h2 {
    font-size: 26px;
  }

  .spec-bottom p {
    font-size: 17px;
  }
}

/* Mobile landscape / small tablets (≤768px) */
@media (max-width: 768px) {
    .breadcrumb {
    width: 91%;
}
  .spec {
    width: 90%;
    padding-bottom: 50px;
  }

  .spec h1 {
    font-size: 30px;
    letter-spacing: 0.05em;
  }

  .spec .spec-description {
    width: 90%;
    font-size: 16px;
  }

  .spec-bottom {
    margin-top: 40px;
    margin-bottom: 40px;
    border-left: none;
    border-top: 3px solid #FFD700;
    padding-left: 0;
    padding-top: 20px;
    text-align: center;
  }

  .spec-bottom h2 {
    font-size: 24px;
  }

  .spec-bottom p {
    font-size: 16px;
  }

  .spec-line {
    display: none;
  }
}

/* Mobile portrait (≤480px) */
@media (max-width: 480px) {
    .breadcrumb {
    width: 91%;
}
  .spec {
    width: 95%;
    padding: 20px 5px 40px 5px;
  }

  .spec h1 {
    font-size: 26px;
    letter-spacing: 0.03em;
  }

  .spec .spec-description {
    width: 100%;
    font-size: 15px;
  }

  .spec-bottom {
    padding-top: 15px;
    margin: 30px 0;
  }

  .spec-bottom h2 {
    font-size: 20px;
    letter-spacing: 1px;
  }

  .spec-bottom p {
    font-size: 15px;
    line-height: 1.6;
  }
}
