/* --Hover Mixin.--*/
/* -- Cross browser opacity.--*/
/* -- Animation.--*/
/* ==========================================================================
   #Site Global Sizes
   ========================================================================== */
/**
 * This shall stop the z-index chaos
 */
/* ==========================================================================
   #Site Global Colours
   ========================================================================== */
/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.sr-only {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.sr-only:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #185571;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
  outline: 0;
}

.sr-only:not(:focus):not(:active) {
  clip: rect(0 0 0 0);
  clip-path: inset(100%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

/*--------------------------------------------------------------
# Animation Control
--------------------------------------------------------------*/
a, li,
a[href^=mailto] {
  -webkit-transition: all 450ms cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: all 450ms cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: all 450ms cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: all 450ms cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: all 450ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

@-webkit-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-15px);
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -o-transform: translateY(-15px);
    transform: translateY(-15px);
  }
  60% {
    -webkit-transform: translateY(-2px);
    -moz-transform: translateY(-2px);
    -ms-transform: translateY(-2px);
    -o-transform: translateY(-2px);
    transform: translateY(-2px);
  }
}
@-moz-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-15px);
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -o-transform: translateY(-15px);
    transform: translateY(-15px);
  }
  60% {
    -webkit-transform: translateY(-2px);
    -moz-transform: translateY(-2px);
    -ms-transform: translateY(-2px);
    -o-transform: translateY(-2px);
    transform: translateY(-2px);
  }
}
@-ms-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-15px);
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -o-transform: translateY(-15px);
    transform: translateY(-15px);
  }
  60% {
    -webkit-transform: translateY(-2px);
    -moz-transform: translateY(-2px);
    -ms-transform: translateY(-2px);
    -o-transform: translateY(-2px);
    transform: translateY(-2px);
  }
}
@-o-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-15px);
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -o-transform: translateY(-15px);
    transform: translateY(-15px);
  }
  60% {
    -webkit-transform: translateY(-2px);
    -moz-transform: translateY(-2px);
    -ms-transform: translateY(-2px);
    -o-transform: translateY(-2px);
    transform: translateY(-2px);
  }
}
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-15px);
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -o-transform: translateY(-15px);
    transform: translateY(-15px);
  }
  60% {
    -webkit-transform: translateY(-2px);
    -moz-transform: translateY(-2px);
    -ms-transform: translateY(-2px);
    -o-transform: translateY(-2px);
    transform: translateY(-2px);
  }
}
.arrow-down svg {
  -webkit-animation: bounce 3s infinite;
  -moz-animation: bounce 3s infinite;
  -ms-animation: bounce 3s infinite;
  -o-animation: bounce 3s infinite;
  animation: bounce 3s infinite;
}

/*
.site-header {
	 @include menu-animation;
	    animation-duration: 0.5s;
	    animation-fill-mode: both;
	    will-change: transform, opacity;

		&.floating-head-fixed_scrolled,
	  	&.header-up {
	    animation-name: slideDown;
	  }

	  &.header-down {
	    animation-name: slideUp;
	  }
}*/
@-webkit-keyframes slideDown {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}
@-moz-keyframes slideDown {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}
@-ms-keyframes slideDown {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}
@-o-keyframes slideDown {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes slideDown {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}
@-webkit-keyframes slideUp {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}
@-moz-keyframes slideUp {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}
@-ms-keyframes slideUp {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}
@-o-keyframes slideUp {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}
@keyframes slideUp {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}
/* Lazy Loading
   ===========================================================*/
/* fade image in after load */
.lazyload,
.lazyloading {
  opacity: 0;
}

.lazyloaded {
  opacity: 1;
  -webkit-transition: all 450ms cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: all 450ms cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: all 450ms cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: all 450ms cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: all 450ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

@-webkit-keyframes fadein {
  to {
    opacity: 1;
  }
}
@-moz-keyframes fadein {
  to {
    opacity: 1;
  }
}
@-ms-keyframes fadein {
  to {
    opacity: 1;
  }
}
@-o-keyframes fadein {
  to {
    opacity: 1;
  }
}
@keyframes fadein {
  to {
    opacity: 1;
  }
}
.swiper-slide-active .hero-slider__desc,
.element-fadein {
  opacity: 0;
  -webkit-animation: fadein 450ms .5s ease forwards;
  -moz-animation: fadein 450ms .5s ease forwards;
  -ms-animation: fadein 450ms .5s ease forwards;
  -o-animation: fadein 450ms .5s ease forwards;
  animation: fadein 450ms .5s ease forwards;
}

/*--------------------------------------------------------------
# Images
--------------------------------------------------------------*/
/**
 * 1. Fluid images for responsive purposes.
 * 2. Offset `alt` text from surrounding copy.
 * 3. Setting `vertical-align` removes the whitespace that appears under `img`
 *    elements when they are dropped into a page as-is. Safer alternative to
 *    using `display: block;`.
 * 4. Rezise height for responsive images.
 */
img {
  max-width: 100%; /* [1] */
  font-style: italic; /* [2] */
  vertical-align: middle; /* [3] */
  height: auto; /* [3] */
}

.no-squish {
  flex: none;
}

.media img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

svg {
  fill: currentColor;
}

.main-btn svg {
  pointer-events: none;
}

.filled-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.curved-image {
  border-radius: 0.75rem;
}

.no-shrink {
  flex-shrink: 0;
}

/* SVG Sizing
========================================================================== */
.inline-text-icon {
  display: inline-block;
}

/* Hide SVG Region
   ========================================================================== */
.svg-region {
  display: none;
}

.icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.svg-icon {
  width: 1em;
  height: 1em;
  position: relative;
  top: 0;
}

/*--------------------------------------------------------------
# Clearing
--------------------------------------------------------------*/
.clear::after {
  display: block;
  content: "";
  clear: both;
}

/*--------------------------------------------------------------
# Useful Classes
--------------------------------------------------------------*/
.f-width {
  width: 100%;
}

.f-height {
  height: 100%;
}

.pos-rel {
  position: relative;
}

.is-block {
  display: block;
}

.no-list {
  list-style: none;
}

.index-z-1 {
  z-index: 1;
}

.has-text-c {
  text-align: center;
}

/* BLOCK: Content + Image --------------------------------- */
.legal-detail-box {
  overflow: hidden;
}

.legal-detail-box .site-m-i__inner {
  border-radius: 0.5625rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  padding-left: 1.875rem;
  padding-right: 1.875rem;
  background-color: #f4f5f7;
  color: #627e8f;
}
@media (min-width: 46.25em) {
  .legal-detail-box .site-m-i__inner {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }
}
@media (min-width: 61.25em) {
  .legal-detail-box .site-m-i__inner {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    padding-left: 3.75rem;
    padding-right: 3.75rem;
  }
}

.site-m-i__inner__padding {
  padding-left: 0;
  padding-right: 0;
}
@media (min-width: 46.25em) {
  .site-m-i__inner__padding {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }
}
@media (min-width: 61.25em) {
  .site-m-i__inner__padding {
    padding-left: 3.75rem;
    padding-right: 3.75rem;
  }
}

.legal-detail-box .site-m-i__inner h3,
.legal-detail-box .site-m-i__inner .body-copy {
  color: #627e8f;
}

.legal-detail-box .row-content {
  justify-content: flex-start;
}
@media (min-width: 46.25em) {
  .legal-detail-box .row-content {
    grid-column: span 12;
  }
}
@media (min-width: 61.25em) {
  .legal-detail-box .row-content {
    grid-column: 1/5;
  }
}

.legal-detail-box .legal-wrap {
  order: 2;
}
@media (min-width: 46.25em) {
  .legal-detail-box .legal-wrap {
    grid-column: span 12;
  }
}
@media (min-width: 61.25em) {
  .legal-detail-box .legal-wrap {
    grid-column: 5/11;
  }
}

/* Style for the accordion */
