@-webkit-keyframes materialise {
  0% {
    opacity: 1;
  }
  55% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes materialise {
  0% {
    opacity: 1;
  }
  55% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
:root {
  --hero-height: 542px;
  --hero-height-alt: 360px;
  --hero-height-half: 420px;
}
@media (min-width: 768px) {
  :root {
    --hero-height: 706px;
    --hero-height-alt: 500px;
    --hero-height-half: 353px;
  }
}
@media (min-width: 1500px) {
  :root {
    --hero-height: 970px;
    --hero-height-half: 485px;
  }
}

.hero {
  height: calc(var(--hero-height) - var(--header-height));
  max-height: 100vh;
  position: relative;
}
.hero .picture img {
  -o-object-fit: cover;
  object-fit: cover;
}
.hero .tns-outer,
.hero .tns-ovh,
.hero .tns-inner, .hero__items, .hero__items__item, .hero__items__item .container {
  height: 100%;
}
.hero__items__item {
  position: relative;
  color: var(--colour-neutral);
  height: 100% !important;
}
.hero__items__item .container {
  position: relative;
  z-index: 15;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
}
.hero__items__item .container .button {
  color: var(--colour-neutral);
  border-color: var(--colour-neutral);
  background: transparent;
}
.hero__items__item .container .button:after {
  background: var(--colour-neutral);
}
.hero__items__item .container .button:hover, .hero__items__item .container .button:focus {
  background: var(--colour-neutral);
  color: var(--colour-title);
}
.hero__items__item .container > * {
  max-width: 500px;
}
.hero__items__item__content {
  font-size: var(--font-size-body-var);
}
.hero__items__item__content > * + * {
  margin-top: 20px;
}
.hero__items__item .title__main, .hero__items__item .title__sub {
  color: inherit;
  font-weight: normal;
}
.hero__items__item.parallax-image > picture {
  bottom: -29%;
  z-index: 5;
}
.hero__items__item.parallax-image--static > picture {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.hero__items__item--has-overlay:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.25);
  pointer-events: none;
  z-index: 10;
}
.hero__items__item--large-title .title__main {
  font-size: 3.5rem;
}
@media (min-width: 768px) {
  .hero__items__item--large-title .title__main {
    font-size: 4rem;
  }
}
@media (min-width: 992px) {
  .hero__items__item--large-title .title__main {
    font-size: 5.5rem;
  }
}
@media (min-width: 1200px) {
  .hero__items__item--large-title .title__main {
    font-size: 6.5rem;
  }
}
@media (min-width: 1500px) {
  .hero__items__item--large-title .title__main {
    font-size: 6.5rem;
  }
}
.hero .slider-controls, .hero__navigation {
  cursor: pointer;
}
.hero .slider-controls {
  position: absolute;
  right: var(--section-spacing);
  bottom: var(--section-spacing);
  z-index: 2;
  display: -webkit-flex;
  display: flex;
  color: var(--colour-neutral);
}
.hero .slider-controls > div {
  height: auto;
  width: auto;
  min-width: 0;
  text-align: center;
  cursor: pointer;
  line-height: 1;
  padding-left: 0;
  padding-right: 0;
  font-size: 2rem;
}
@media (min-width: 768px) {
  .hero .slider-controls > div {
    font-size: 2rem;
  }
}
@media (min-width: 992px) {
  .hero .slider-controls > div {
    font-size: 2rem;
  }
}
@media (min-width: 1200px) {
  .hero .slider-controls > div {
    font-size: 2.4rem;
  }
}
.hero .slider-controls > div + div {
  margin-left: var(--spacing);
}
.hero .slider-controls > div:focus {
  outline: none;
}
.hero .slider-controls > div:hover {
  -webkit-animation: pulseBorder 0.6s forwards;
  animation: pulseBorder 0.6s forwards;
}
@-webkit-keyframes pulseBorder {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes pulseBorder {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.hero .slider-controls > div {
  transition: opacity 0.4s ease;
  background: transparent;
  color: var(--colour-neutral);
  padding: 0;
}
.hero__navigation {
  position: absolute;
  bottom: var(--section-spacing);
  left: 0;
  right: 0;
  z-index: 1;
}
.hero__navigation .container {
  display: -webkit-flex;
  display: flex;
}
.hero__navigation .container > div {
  width: 50px;
  height: 5px;
  background: var(--colour-neutral);
  opacity: 0.45;
  transition: opacity 0.4s ease;
}
.hero__navigation .container > div:before {
  width: 50px;
  border-radius: 0;
}
.hero__navigation .container > div.tns-nav-active {
  opacity: 1;
}
.hero__navigation .container > div + div {
  margin-left: 20px;
}
.hero__navigation .container > div:hover {
  -webkit-animation: pulseBorder 0.4s forwards;
  animation: pulseBorder 0.4s forwards;
  opacity: 1;
}
@keyframes pulseBorder {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.hero .tns-item {
  pointer-events: none;
}
.hero .tns-item.tns-slide-active {
  pointer-events: unset;
}
.hero--alt {
  height: calc(var(--hero-height-alt) - var(--header-height));
}
.hero--half {
  --hero-height: var(--hero-height-half) !important;
}
.hero__items__item--themed {
  position: relative;
  padding: var(--spacing);
  color: var(--text-color);
  -webkit-align-self: var(--box-align);
  align-self: var(--box-align);
  text-align: var(--content-align);
  width: calc(100% + 30px);
  margin-left: -15px;
  margin-right: -15px;
}
.hero__items__item--themed > .title,
.hero__items__item--themed > .hero__items__item__content__desc,
.hero__items__item--themed > .button-wrap {
  position: relative;
}
.hero__items__item--themed:before {
  position: absolute;
  inset: 0;
  content: "";
  opacity: var(--bg-opacity);
  background: var(--bg-color);
}
.hero__items__item--themed--button .button-wrap {
  display: -webkit-inline-flex;
  display: inline-flex;
}
.hero__items__item--themed--button .button-wrap .button {
  color: var(--button-color-text);
  background: var(--button-color-background);
  border-color: var(--button-color-border);
}
.hero__items__item--themed--button .button-wrap .button:after {
  background: var(--button-color-background-hover);
}
.hero__items__item--themed--button .button-wrap .button:hover, .hero__items__item--themed--button .button-wrap .button:focus {
  color: var(--button-color-text-hover);
  background: var(--button-color-background-hover);
  border-color: var(--button-color-border-hover);
}
main > .section:first-child .hero {
  margin-top: calc((var(--section-spacing) * -1) - var(--header-height)) !important;
}
@media (max-width: 767px) {
  .hero--full-height-mob {
    height: 100vh !important;
  }
  .hero--full-height-mob .hero__items__item {
    display: -webkit-flex !important;
    display: flex !important;
    -webkit-flex-direction: column !important;
    flex-direction: column !important;
  }
  .hero--full-height-mob .hero__items__item__content:before {
    opacity: 1;
  }
  .hero--full-height-mob .hero__items__item .picture {
    -webkit-flex: 1;
    flex: 1;
    position: static !important;
  }
  .hero--full-height-mob .hero__items__item .container {
    -webkit-flex: 0 0 auto;
    flex: 0 0 auto;
    height: auto !important;
    max-width: none;
  }
  .hero--full-height-mob .hero__items__item .container > * {
    max-width: none;
  }
  .hero__navigation {
    opacity: 0;
    pointer-events: none;
  }
}
@media (min-width: 768px) {
  .hero__items__item__card {
    padding-bottom: calc(1 * var(--spacing-mobile));
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .hero__items__item__card {
    padding-bottom: calc(1 * var(--spacing-tablet));
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .hero__items__item__card {
    padding-bottom: calc(1 * var(--spacing-desktop));
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .hero__items__item__card {
    padding-bottom: calc(1 * var(--spacing-large));
  }
}
@media (min-width: 768px) {
  .hero--themed .hero__items__item__content {
    width: 634px;
    margin-top: unset;
    margin-left: unset;
    margin-right: unset;
  }
}
@media (min-width: 992px) {
  .hero__items__item > .container > * {
    max-width: 580px;
  }
}
@media (min-width: 1200px) {
  .hero__items__item__card {
    max-width: 50% !important;
  }
}
@media (min-width: 1500px) {
  .hero__items__item > .container > * {
    max-width: 640px;
  }
}