#banner {
  width: 100%;
  height: 270px;
  object-fit: cover;
  margin-top: 10px;
}

.title {
  display: block;
  font-weight: bold;
  font-size: 16pt;
  margin-top: 15px;
}

p {
  font-size: 10pt;
  margin: 20px 0;
}

p:last-child {
  margin: 20px 0 10px 0;
}

p#special-deal-price {
  color: #e61919;
}

table {
  margin-top: 10px;
  width: 250px;
  border-collapse: collapse;
  font-size: 10pt;
}

table caption {
  font-weight: bold;
  border-bottom: 1px solid black;
  padding: 5px;
}

table td {
  padding: 5px;
}

table td:first-child {
  border-right: 1px solid black;
}

table td:last-child {
  text-align: right;
}

#conditions-availability-flexbox {
  display: flex;
}

#availability {
  align-self: center;
}

#availability-title {
  display: block;
  font-weight: bold;
  font-size: 16pt;
  text-align: center;
  margin-top: 15px;
}

#availability-calendar {
  margin: 10px;

  width: 400px;
}

@media screen and (max-width: 890px) {
  #conditions-availability-flexbox {
    flex-wrap: wrap;
    justify-content: center;
  }
}

@media screen and (max-width: 660px) {
  #banner {
    height: 200px;
  }
}

@media screen and (max-width: 490px) {
  #banner {
    height: 150px;
  }

  table {
    font-size: 8pt;
  }

  p {
    font-size: 8pt;
  }

  .title {
    font-size: 14pt;
  }

  #availability-title{
    font-size: 14pt;
  }

  #availability-calendar {
    width: 300px;
  }
}
