/* Hosting migration and small-screen resilience overrides. */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

/* Keep the main wordmark proportional within the 70px navigation bar. */
.brand:not(.home) {
  display: flex;
  align-items: center;
  height: 70px;
  max-width: calc(100vw - 140px);
}

.brand:not(.home) .image {
  float: none;
  width: auto;
  max-width: min(300px, calc(100vw - 160px));
  height: 50px;
  margin: 0;
  object-fit: contain;
}

/* Vertically centre the About page copy beside its paired photographs. */
.columns-2.about-us {
  align-items: center;
}

/* Remove the old viewport-height constraints that created empty space. */
#Contact-Us-END.section-div._3,
#Contact-Us-END .div-block-12,
#Contact-Us-END .div-block-11,
#Contact-Us-END .div-block-10 {
  height: auto;
  min-height: 0;
}

#Contact-Us-END .div-block-12,
#Contact-Us-END .div-block-11 {
  padding-top: 28px;
  padding-bottom: 28px;
}

#Contact-Us-END .div-block-11.or {
  padding-top: 12px;
  padding-bottom: 12px;
}

#Contact-Us-END .div-block-12.what-happened {
  display: flex;
  flex-direction: column;
}

#Contact-Us-END .div-block-12.what-happened > .div-block._2 {
  flex: none;
  align-self: flex-start;
  width: 12px;
  min-width: 12px;
  max-width: 12px;
  background-color: #333;
}

#Contact-Us-END .div-block-12.what-happened > .div-block-7 {
  align-self: flex-start;
  width: 100%;
  text-align: left;
}

#Contact-Us-END .grid-2 {
  flex: 1;
  align-content: space-evenly;
}

@media screen and (max-width: 991px) {
  #Contact-Us-END .div-block-12.what-happened {
    display: block;
  }

  #Contact-Us-END .grid-2 {
    align-content: start;
  }
}

@media screen and (max-width: 479px) {
  .container,
  .section-div,
  .section-div._3,
  .section-div-50 {
    width: 100%;
    min-width: 0;
  }

  .columns._2 {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  .div-block-3 {
    width: calc(100vw - 40px);
    max-width: calc(100vw - 40px);
  }

  .heading,
  .heading-2 {
    max-width: 100%;
    font-size: clamp(28px, 10vw, 40px);
    line-height: 1.08;
    overflow-wrap: anywhere;
  }

  .heading-2._2000.contact {
    line-height: 1.15;
  }

  .brand:not(.home) .image {
    width: auto;
    max-width: calc(100vw - 150px);
    height: 44px;
  }

  #Contact-Us-END .div-block-12,
  #Contact-Us-END .div-block-11 {
    padding-top: 24px;
    padding-bottom: 24px;
  }

  img,
  iframe,
  video {
    max-width: 100%;
  }
}
