/* layout */
div.banner,
div.content {
  margin-top: 32px;
  margin-bottom: 32px;
  padding: 0;
}
@media (max-width: 767px) {
  div.banner,
  div.content {
    margin-top: 0;
    margin-bottom: 0;
  }
}
div.banner .container,
div.content .container {
  max-width: 814px;
}
/* banner */
div.banner {
  font-size: 14px;
}
div.banner .container {
  border-radius: 3px;
  background-color: #E1F4D0;
  padding-top: 16px;
  padding-right: 16px;
  padding-bottom: 16px;
  padding-left: 16px;
}
@media (max-width: 767px) {
  div.banner .container {
    border-radius: 0;
  }
}
div.banner p {
  text-align: center;
}
/* job listing */
div.content {
  background-color: transparent;
  box-shadow: none;
}
div.content .container {
  padding-top: 80px;
  padding-right: 80px;
  padding-bottom: 80px;
  padding-left: 80px;
  background-color: #FFF;
}
@media (max-width: 767px) {
  div.content .container {
    padding-top: 40px;
    padding-right: 40px;
    padding-bottom: 40px;
    padding-left: 40px;
    box-shadow: 0 1px 2px 0 rgba(175, 181, 188, 0.4);
  }
}
div.content section {
  margin-bottom: 48px;
}
@media (max-width: 767px) {
  div.content section {
    margin-bottom: 40px;
  }
}
div.content h2 {
  margin-bottom: 16px;
}
div.content h3 {
  margin-top: 24px;
}
div.content p {
  margin-bottom: 16px;
}
div.content ul {
  list-style: disc;
  padding-left: 24px;
}
div.expandable-breadcrumbs {
  margin-bottom: 16px;
}
div.job-logo {
  width: 180px;
  height: 136px;
  padding-right: 16px;
  background-color: #FFF;
}
div.job-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border: 1px solid #D9DCE0;
  padding-top: 4px;
  padding-right: 4px;
  padding-bottom: 4px;
  padding-left: 4px;
}
@media (max-width: 767px) {
  div.job-logo {
    width: 90px;
    height: 68px;
  }
}
section.job-title {
  display: flex;
}
section.job-title h1 {
  margin-bottom: 8px;
}
section.job-title p {
  margin-bottom: 4px;
  color: #56595D;
}
section.job-title span.material-icons {
  margin-right: 4px;
}
section.apply .app-closed {
  border-color: #D9DCE0;
  background-color: #D9DCE0;
  color: #DA3559;
}
section.apply .btn {
  border-radius: 100px;
}
@media (max-width: 767px) {
  section.apply .btn-primary {
    width: 100%;
  }
}
section.application p {
  margin-bottom: 0;
}
section.application fieldset {
  display: flex;
  flex-wrap: wrap;
  column-gap: 2%;
}
section.application fieldset div {
  flex-basis: 100%;
}
section.application fieldset .first_name,
section.application fieldset .last_name,
section.application fieldset .email,
section.application fieldset .phone {
  flex-basis: 49%;
}
@media (max-width: 767px) {
  section.application fieldset .first_name,
  section.application fieldset .last_name,
  section.application fieldset .email,
  section.application fieldset .phone {
    flex-basis: 100%;
  }
}
section.application div.button-container {
  margin-top: 8px;
  text-align: center;
}
section.application div.button-container button {
  margin: 0 auto;
}
section.application small.disclaimer {
  margin-top: 24px;
}
section.application small.disabled-form-help {
  margin-bottom: 8px;
  font-style: italic;
  color: #56595D;
}
section.job-details table {
  width: 100%;
  line-height: 18px;
}
section.job-details thead tr {
  border-bottom: 1px solid #5DCFFF;
  padding-top: 24px;
  padding-bottom: 24px;
}
section.job-details tbody > tr:last-child {
  border-bottom: none;
}
section.job-details tr {
  display: flex;
  align-items: center;
  max-height: 56px;
  border-bottom: 1px solid #D9DCE0;
  padding-top: 16px;
  padding-bottom: 16px;
}
section.job-details tr td:nth-child(even) {
  text-align: right;
  font-weight: 400;
}
section.job-details th,
section.job-details td {
  width: 100%;
  font-weight: 700;
}
section.job-location div.location-text {
  float: left;
  width: 50%;
  margin-bottom: 24px;
  padding-right: 16px;
}
@media (max-width: 813px) {
  section.job-location div.location-text {
    width: 50%;
  }
}
@media (max-width: 767px) {
  section.job-location div.location-text {
    float: none;
    width: auto;
    padding-right: 0;
  }
}
section.job-location div.map {
  float: right;
  width: 304px;
  height: 206px;
  margin-bottom: 24px;
  background-color: #AFB5BC;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media (max-width: 813px) {
  section.job-location div.map {
    width: 50%;
  }
}
@media (max-width: 767px) {
  section.job-location div.map {
    float: none;
    width: auto;
    height: 140px;
  }
}
section.job-location div.address {
  position: relative;
}
section.job-location div.address span.material-icons {
  position: absolute;
  top: 0;
  left: 8px;
}
section.job-location div.address address {
  margin-bottom: 0;
  padding-left: 36px;
}
section.job-location div.address p {
  margin-bottom: 0;
}
section.job-location h3 {
  clear: left;
}
.form-group.error.first_name span.error,
.form-group.error.last_name span.error {
  display: contents;
}
section.other-job-listings > div,
section.related > div {
  float: left;
  width: 50%;
}
@media (max-width: 767px) {
  section.other-job-listings > div,
  section.related > div {
    float: none;
    width: auto;
  }
}
section.other-job-listings h2,
section.related h2 {
  font-size: 16px;
}
@media (max-width: 767px) {
  section.other-job-listings ul,
  section.related ul {
    margin-bottom: 48px;
  }
}
