/* ----- VARIABLES ----------------------------------------------- */
/* ----- Sizes ----- */
/* ----- Colours ----- */
/* ----- CSS easing ----- */
/* ----- Fonts ----- */
/* ----- Break points ----- */
/* ----- FUNCTIONS ----- */
/* ----- MIXINS -------------------------------------------------- */
/* ----- Responsive ----- */
/* ----- ANIMATIONS ---------------------------------------------- */
@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* ----- FONTS --------------------------------------------------- */
@font-face {
  font-family: "URWDIN";
  font-weight: normal;
  src: url("/fonts/35CA32_0_0.eot");
  src: url("/fonts/35CA32_0_0.eot?#iefix") format("embedded-opentype"), url("/fonts/35CA32_0_0.woff2") format("woff2"), url("/fonts/35CA32_0_0.woff") format("woff"), url("/fonts/35CA32_0_0.ttf") format("truetype");
}
@font-face {
  font-family: "URWDIN";
  font-weight: bold;
  src: url("/fonts/35CA32_1_0.eot");
  src: url("/fonts/35CA32_1_0.eot?#iefix") format("embedded-opentype"), url("/fonts/35CA32_1_0.woff2") format("woff2"), url("/fonts/35CA32_1_0.woff") format("woff"), url("/fonts/35CA32_1_0.ttf") format("truetype");
}
.svg-defs {
  position: absolute;
}

.showcase {
  position: relative;
  overflow: hidden;
  margin: 0 auto;
}
.showcase .constrained {
  max-width: 1180px;
  padding: 0 10px;
}
@media (min-width: 1025px) {
  .showcase {
    height: 520px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .showcase {
    height: 400px;
  }
}
@media (min-width: 1025px) and (max-width: 1179px) {
  .showcase {
    height: 435px;
  }
}
@media (min-width: 880px) and (max-width: 1024px) {
  .showcase {
    height: 395px;
  }
}
@media (min-width: 668px) and (max-width: 879px) {
  .showcase {
    height: 350px;
  }
}
@media (max-width: 667px) {
  .showcase {
    height: 133vw;
  }
}
.showcase.foreground-light .showcase-pager-button {
  border-color: white;
}
.showcase.foreground-light .showcase-pager-button:hover, .showcase.foreground-light .showcase-pager-button.is-active {
  background-color: white;
}
.showcase svg {
  display: block;
  position: relative;
  max-width: none;
}
.showcase li {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  transition: opacity 1s ease;
}
@media (min-width: 668px) {
  .showcase li.background-image {
    background-image: none !important;
  }
}
@media (max-width: 667px) {
  .showcase li.background-image {
    background-position: center bottom;
    background-size: cover;
  }
  .showcase li.background-image img {
    display: none;
  }
}
@media (max-width: 667px) {
  .showcase li.cutout > .constrained {
    display: flex;
    flex-direction: column;
  }
  .showcase li.cutout > .constrained .text-wrapper {
    height: auto;
  }
  .showcase li.cutout > .constrained .image-wrapper {
    flex: 1;
    padding: 2% 0;
    overflow: hidden;
  }
  .showcase li.cutout > .constrained .image-wrapper img {
    display: block;
    margin: 0 auto;
    width: auto;
    height: 100%;
    max-width: none;
  }
}
.showcase li:not(.is-active) {
  opacity: 0;
}
@media (max-width: 667px) {
  .showcase li.is-active {
    z-index: 9;
  }
}
.showcase .constrained {
  height: 100%;
}
.showcase .gradient-1 {
  background: linear-gradient(to right, #00859B, #002E5D) center top/120%;
}
@media (max-width: 667px) {
  .showcase .gradient-1 {
    background: linear-gradient(to top, #002E5D 0%, #00859B 70%) center top/120%;
  }
}
.showcase .gradient-2 {
  background: linear-gradient(to right, white, #A7BCD6);
}
@media (max-width: 667px) {
  .showcase .gradient-2 {
    background: linear-gradient(to bottom, #A7BCD6 30%, white 100%) center top/120%;
  }
}
@media (min-width: 668px) {
  .showcase .hero-bg-cover {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .showcase.bg-x-left .hero-bg-cover {
    left: 0;
    transform: translate(0, -50%);
    object-position: left center;
  }
  .showcase.bg-x-centre .hero-bg-cover {
    left: 50%;
    transform: translate(-50%, -50%);
    object-position: center center;
  }
  .showcase.bg-x-right .hero-bg-cover {
    right: 0;
    transform: translate(0, -50%);
    object-position: right center;
  }
}
.showcase .image-wrapper {
  /*
  		@include mobile {
  			height: 300px;
  			text-align: center;

  			img {
  				max-height: 100%;
  			}
  		}
  */
}
@media (min-width: 1025px) {
  .showcase .image-wrapper {
    float: right;
    margin-right: 40px;
  }
}
@media (min-width: 1025px) and (max-width: 1920px) {
  .showcase .image-wrapper {
    height: 100%;
  }
  .showcase .image-wrapper img {
    max-height: 100%;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .showcase .image-wrapper {
    position: relative;
    width: 50%;
    height: 100%;
    margin-left: 50%;
  }
  .showcase .image-wrapper img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    max-height: 100%;
  }
}
.showcase .clipped-image {
  /*
  		@include desktop-small {
  			right: -745px;
  		}

  		@include tablet-large {
  			//right: -58%;
  			right: -680px;
  		}

  		@include tablet-small {
  			//right: -58%;
  			right: -620px;
  		}
  */
}
@media (min-width: 668px) {
  .showcase .clipped-image {
    position: absolute;
    top: 0;
    height: 100%;
  }
}
@media (min-width: 1025px) {
  .showcase .clipped-image {
    right: -900px;
  }
}
@media (max-width: 667px) {
  .showcase .clipped-image {
    display: none;
  }
}
.showcase .clipped-image-mobile {
  position: absolute;
  top: 0;
  height: 80%;
  right: -710px;
}
@media (min-width: 668px) {
  .showcase .clipped-image-mobile {
    display: none;
  }
}
.showcase .text-wrapper-container {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9;
}
.showcase .text-wrapper-container .text-wrapper.is-active {
  z-index: 9;
}
.showcase .text-wrapper-container .text-wrapper:not(.is-active) {
  pointer-events: none;
}
@media (max-width: 667px) {
  .showcase .text-wrapper-container {
    display: none;
  }
}
.showcase .text-wrapper {
  z-index: 9;
  /*
  		@include desktop-small {
  			width: 390px;
  		}

  		@include tablet-large {
  			width: 320px;
  		}

  		@include tablet-small {
  			width: 35%;
  			max-width: 280px;
  		}
  */
  /*
  		.big-text {
  			margin-bottom: 10px;
  			font-weight: 700;
  			line-height: 1.13;

  			@include desktop {
  				font-size: 60px;
  			}

  			@include desktop-small {
  				font-size: 54px;
  			}

  			@include tablet {
  				font-size: 40px;
  			}

  			@include mobile {
  				font-size: 30px;
  			}

  		}

  		.small-text {
  			margin-bottom: 25px;
  			line-height: 1.2;

  			@include desktop {
  				font-size: 30px;
  			}

  			@include tablet {

  			}

  		}
  */
}
@media (min-width: 668px) {
  .showcase .text-wrapper {
    position: absolute;
    left: 50px;
    top: 50%;
    transition: opacity 1s ease;
    transform: translateY(-50%);
  }
}
@media (min-width: 1025px) {
  .showcase .text-wrapper {
    width: 410px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .showcase .text-wrapper {
    width: 35%;
    min-width: 290px;
    max-width: 390px;
  }
}
@media (max-width: 667px) {
  .showcase .text-wrapper {
    position: absolute;
    top: auto;
    bottom: 40px;
    left: 0;
    width: 100%;
    padding: 20px;
    height: auto;
  }
  .showcase .text-wrapper .hero-text-lower {
    display: flex;
    justify-content: space-between;
    gap: 10px;
  }
  .showcase .text-wrapper .hero-text-lower p:last-of-type {
    margin-bottom: 0;
  }
  .showcase .text-wrapper .hero-text-lower .icon-link {
    align-self: flex-end;
  }
}
@media (min-width: 668px) {
  .showcase .text-wrapper:not(.is-active) {
    opacity: 0;
  }
}
@media (min-width: 1025px) {
  .showcase .text-wrapper .heading1 {
    margin-bottom: 35px;
  }
}
@media (max-width: 1024px) {
  .showcase .text-wrapper .heading1 {
    margin-bottom: 20px;
  }
}
.showcase .spiral-overlay-wrapper {
  pointer-events: none;
}
@media (max-width: 667px) {
  .showcase .spiral-overlay-wrapper {
    display: none;
  }
}
.showcase .spiral-overlay {
  position: absolute;
  background-size: 100% 100%;
  pointer-events: none;
  transform-origin: center center;
  /*
  		@include desktop-small {
  			right: -1451px;
  			top: -1518px;
  			width: $smallDesktopOverlaySize;
  			height: $smallDesktopOverlaySize;
  		}

  		@include tablet-large {
  			right: -1318px;
  			top: -1379px;
  			width: $largeTabletOverlaySize;
  			height: $largeTabletOverlaySize;
  		}

  		@include tablet-small {
  			right: -1190px; // was -1210px, now -1190px
  			top: -1220px;
  			width: $smallTabletOverlaySize;
  			height: $smallTabletOverlaySize;
  		}
  */
}
@media (min-width: 668px) {
  .showcase .spiral-overlay {
    animation: rotate 20s linear infinite;
    background: transparent url(/images/showcase-overlay.svg) 0 0 no-repeat;
  }
}
@media (min-width: 1025px) {
  .showcase .spiral-overlay {
    right: -1735px;
    top: -1807px;
    width: 3292px;
    height: 3292px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .showcase .spiral-overlay {
    right: -1318px;
    top: -1379px;
    width: 2508px;
    height: 2508px;
  }
}
@media (max-width: 667px) {
  .showcase .spiral-overlay {
    top: -2080px;
    right: -1845px;
    width: 3400px;
    height: 3400px;
    background: transparent url(/images/showcase-overlay-mobile.svg) 0 0 no-repeat;
    transform: scale(1.2);
  }
}
.showcase .overlay-fade-wrapper {
  position: absolute;
  left: -1px;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
@media (max-width: 667px) {
  .showcase .overlay-fade-wrapper {
    display: none;
  }
}
.showcase .overlay-fade-wrapper .overlay-fade {
  transition: opacity 1s ease;
  mask-image: linear-gradient(to right, white 0%, white 20%, transparent 50%, transparent 100%);
}
@media (max-width: 667px) {
  .showcase .overlay-fade-wrapper .overlay-fade {
    display: none;
  }
}
.showcase .overlay-fade-wrapper .overlay-fade:not(.is-active) {
  opacity: 0;
}
.showcase .overlay-fade-wrapper .overlay-fade.gradient-1 {
  background: linear-gradient(to right, #00859B 0%, #002E5D 100%);
}
.showcase .overlay-fade-wrapper .overlay-fade.gradient-2 {
  background: linear-gradient(to right, white 0%, #8BBAD8 100%);
}
.showcase .showcase-pager {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 9;
  pointer-events: none;
}
@media (min-width: 668px) {
  .showcase .showcase-pager {
    top: 50%;
    transform: translateY(-50%);
  }
}
@media (max-width: 667px) {
  .showcase .showcase-pager {
    bottom: 15px;
    text-align: center;
  }
}
.showcase .showcase-pager-button {
  width: 15px;
  height: 15px;
  padding: 0;
  border: 1px solid #002E5D;
  border-radius: 50%;
  cursor: pointer;
  pointer-events: auto;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}
@media (min-width: 668px) {
  .showcase .showcase-pager-button {
    display: block;
  }
}
@media (max-width: 667px) {
  .showcase .showcase-pager-button {
    margin-left: 8px;
    margin-right: 8px;
  }
}
.showcase .showcase-pager-button:not(:last-of-type) {
  margin-bottom: 15px;
}
.showcase .showcase-pager-button:hover, .showcase .showcase-pager-button.is-active {
  background-color: #002E5D;
}