/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./.yarn/__virtual__/css-loader-virtual-bf286824a5/6/AppData/Local/Yarn/Berry/cache/css-loader-npm-6.7.3-63aa933400-10.zip/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./.yarn/__virtual__/postcss-loader-virtual-1b7e30ecb8/6/AppData/Local/Yarn/Berry/cache/postcss-loader-npm-7.3.0-788d8ed604-10.zip/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!../../../../../AppData/Local/Yarn/Berry/cache/resolve-url-loader-npm-5.0.0-9b441067c9-10.zip/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[1].use[3]!./.yarn/__virtual__/sass-loader-virtual-51a5632b47/6/AppData/Local/Yarn/Berry/cache/sass-loader-npm-13.2.2-b5bbed2dce-10.zip/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[4]!../../../../../AppData/Local/Yarn/Berry/cache/@splidejs-splide-npm-4.1.4-574032679c-10.zip/node_modules/@splidejs/splide/dist/css/splide.min.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__arrow {
  -ms-flex-align: center;
  align-items: center;
  background: #ccc;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: -ms-flexbox;
  display: flex;
  height: 2em;
  -ms-flex-pack: center;
  justify-content: center;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2em;
  z-index: 1;
}

.splide__arrow svg {
  fill: #000;
  height: 1.2em;
  width: 1.2em;
}

.splide__arrow:hover:not(:disabled) {
  opacity: 0.9;
}

.splide__arrow:disabled {
  opacity: 0.3;
}

.splide__arrow:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__arrow--prev {
  left: 1em;
}

.splide__arrow--prev svg {
  transform: scaleX(-1);
}

.splide__arrow--next {
  right: 1em;
}

.splide.is-focus-in .splide__arrow:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__pagination {
  bottom: 0.5em;
  left: 0;
  padding: 0 1em;
  position: absolute;
  right: 0;
  z-index: 1;
}

.splide__pagination__page {
  background: #ccc;
  border: 0;
  border-radius: 50%;
  display: inline-block;
  height: 8px;
  margin: 3px;
  opacity: 0.7;
  padding: 0;
  position: relative;
  transition: transform 0.2s linear;
  width: 8px;
}

.splide__pagination__page.is-active {
  background: #fff;
  transform: scale(1.4);
  z-index: 1;
}

.splide__pagination__page:hover {
  cursor: pointer;
  opacity: 0.9;
}

.splide__pagination__page:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__pagination__page:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__progress__bar {
  background: #ccc;
  height: 3px;
}

.splide__slide {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.splide__slide:focus {
  outline: 0;
}

@supports (outline-offset: -3px) {
  .splide__slide:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide__slide:focus-visible {
    border: 3px solid #0bf;
  }
}
@supports (outline-offset: -3px) {
  .splide.is-focus-in .splide__slide:focus {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide.is-focus-in .splide__slide:focus {
    border: 3px solid #0bf;
  }

  .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
    border-color: #0bf;
  }
}
.splide__toggle {
  cursor: pointer;
}

.splide__toggle:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__toggle:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__track--nav > .splide__list > .splide__slide {
  border: 3px solid transparent;
  cursor: pointer;
}

.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 3px solid #000;
}

.splide__arrows--rtl .splide__arrow--prev {
  left: auto;
  right: 1em;
}

.splide__arrows--rtl .splide__arrow--prev svg {
  transform: scaleX(1);
}

.splide__arrows--rtl .splide__arrow--next {
  left: 1em;
  right: auto;
}

.splide__arrows--rtl .splide__arrow--next svg {
  transform: scaleX(-1);
}

.splide__arrows--ttb .splide__arrow {
  left: 50%;
  transform: translate(-50%);
}

.splide__arrows--ttb .splide__arrow--prev {
  top: 1em;
}

.splide__arrows--ttb .splide__arrow--prev svg {
  transform: rotate(-90deg);
}

.splide__arrows--ttb .splide__arrow--next {
  bottom: 1em;
  top: auto;
}

.splide__arrows--ttb .splide__arrow--next svg {
  transform: rotate(90deg);
}

.splide__pagination--ttb {
  bottom: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  left: auto;
  padding: 1em 0;
  right: 0.5em;
  top: 0;
}
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./.yarn/__virtual__/css-loader-virtual-bf286824a5/6/AppData/Local/Yarn/Berry/cache/css-loader-npm-6.7.3-63aa933400-10.zip/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./.yarn/__virtual__/postcss-loader-virtual-1b7e30ecb8/6/AppData/Local/Yarn/Berry/cache/postcss-loader-npm-7.3.0-788d8ed604-10.zip/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!../../../../../AppData/Local/Yarn/Berry/cache/resolve-url-loader-npm-5.0.0-9b441067c9-10.zip/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[1].use[3]!./.yarn/__virtual__/sass-loader-virtual-51a5632b47/6/AppData/Local/Yarn/Berry/cache/sass-loader-npm-13.2.2-b5bbed2dce-10.zip/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[4]!../../../../../AppData/Local/Yarn/Berry/cache/@splidejs-splide-npm-4.1.4-574032679c-10.zip/node_modules/@splidejs/splide/dist/css/themes/splide-default.min.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__arrow {
  -ms-flex-align: center;
  align-items: center;
  background: #ccc;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: -ms-flexbox;
  display: flex;
  height: 2em;
  -ms-flex-pack: center;
  justify-content: center;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2em;
  z-index: 1;
}

.splide__arrow svg {
  fill: #000;
  height: 1.2em;
  width: 1.2em;
}

.splide__arrow:hover:not(:disabled) {
  opacity: 0.9;
}

.splide__arrow:disabled {
  opacity: 0.3;
}

.splide__arrow:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__arrow--prev {
  left: 1em;
}

.splide__arrow--prev svg {
  transform: scaleX(-1);
}

.splide__arrow--next {
  right: 1em;
}

.splide.is-focus-in .splide__arrow:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__pagination {
  bottom: 0.5em;
  left: 0;
  padding: 0 1em;
  position: absolute;
  right: 0;
  z-index: 1;
}

.splide__pagination__page {
  background: #ccc;
  border: 0;
  border-radius: 50%;
  display: inline-block;
  height: 8px;
  margin: 3px;
  opacity: 0.7;
  padding: 0;
  position: relative;
  transition: transform 0.2s linear;
  width: 8px;
}

.splide__pagination__page.is-active {
  background: #fff;
  transform: scale(1.4);
  z-index: 1;
}

.splide__pagination__page:hover {
  cursor: pointer;
  opacity: 0.9;
}

.splide__pagination__page:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__pagination__page:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__progress__bar {
  background: #ccc;
  height: 3px;
}

.splide__slide {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.splide__slide:focus {
  outline: 0;
}

@supports (outline-offset: -3px) {
  .splide__slide:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide__slide:focus-visible {
    border: 3px solid #0bf;
  }
}
@supports (outline-offset: -3px) {
  .splide.is-focus-in .splide__slide:focus {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide.is-focus-in .splide__slide:focus {
    border: 3px solid #0bf;
  }

  .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
    border-color: #0bf;
  }
}
.splide__toggle {
  cursor: pointer;
}

.splide__toggle:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__toggle:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__track--nav > .splide__list > .splide__slide {
  border: 3px solid transparent;
  cursor: pointer;
}

.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 3px solid #000;
}

.splide__arrows--rtl .splide__arrow--prev {
  left: auto;
  right: 1em;
}

.splide__arrows--rtl .splide__arrow--prev svg {
  transform: scaleX(1);
}

.splide__arrows--rtl .splide__arrow--next {
  left: 1em;
  right: auto;
}

.splide__arrows--rtl .splide__arrow--next svg {
  transform: scaleX(-1);
}

.splide__arrows--ttb .splide__arrow {
  left: 50%;
  transform: translate(-50%);
}

.splide__arrows--ttb .splide__arrow--prev {
  top: 1em;
}

.splide__arrows--ttb .splide__arrow--prev svg {
  transform: rotate(-90deg);
}

.splide__arrows--ttb .splide__arrow--next {
  bottom: 1em;
  top: auto;
}

.splide__arrows--ttb .splide__arrow--next svg {
  transform: rotate(90deg);
}

.splide__pagination--ttb {
  bottom: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  left: auto;
  padding: 1em 0;
  right: 0.5em;
  top: 0;
}
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./.yarn/__virtual__/css-loader-virtual-bf286824a5/6/AppData/Local/Yarn/Berry/cache/css-loader-npm-6.7.3-63aa933400-10.zip/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./.yarn/__virtual__/postcss-loader-virtual-1b7e30ecb8/6/AppData/Local/Yarn/Berry/cache/postcss-loader-npm-7.3.0-788d8ed604-10.zip/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!../../../../../AppData/Local/Yarn/Berry/cache/resolve-url-loader-npm-5.0.0-9b441067c9-10.zip/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[1].use[3]!./.yarn/__virtual__/sass-loader-virtual-51a5632b47/6/AppData/Local/Yarn/Berry/cache/sass-loader-npm-13.2.2-b5bbed2dce-10.zip/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[4]!./src/styles/master.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* ### Bullets */
/* XXS Mobile (min width) */
/* XS Mobile (min width) */
/* XS Mobile (max width) */
/* Mobile (min width) */
/* Mobile (max width) */
/* Mobile (max width) */
/* Tablets (min width) */
/* Tablets (max width) */
/* Small Desktop  (min width) */
/* Small Desktop (max width) */
/* Large Desktop (min width) */
/* Large Desktop (max width) */
/* Extra-Large Desktop (min width) */
/* Extra-Large Desktop (max width) */
/* High Definition (HD) - THIS IS THE LEVEL OF OUR DEFAULT STYLES */
/* Containers - PLEASE USE REMS */
/* Container Padding */
/* Whitespace */
/* Subheader FluidTypeSizes */
/*$subheader-xs-min: 18px;
$subheader-s-min: 20px;
$subheader-m-min: 22px;
$subheader-l-min: 26px;
$subheader-xl-min: 34px;
$subheader-xxl-min: 45px;
$subheader-xs: 20px;
$subheader-s:  25px;
$subheader-m: 30px;
$subheader-l: 45px;
$subheader-xl: 60px;
$subheader-xxl: 80px;*/
/* Base unit used for spacing gutters */
/* Buttons */
/* hover styles*/
/****************************************************************************************************/
/* #region Buttons */
/****************************************************************************************************/
/*
    Button styles were moved from placeholders to here to reduce generated CSS selector length.
    Ideally you should always either use a real <button> or add the .button class(es) where you needed,
    BUT if you really need it (perhaps to override some 3rd-party styles) you can always do this:

    #specific_selector .my-custom-button {
        @include button; // default styles
        // or
        @include button("secondary", true); // predefined styles WITH base button styles
    }

    You can also "extend" button classes defined in global.scss if you need to (similar to the old way).
    This keeps the css nice and light AS LONG as it's not super-nested beneath some comma-separated parents

    #specific_selector .my-custom-button {
        @extend .button.secondary;
    }
*/
/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Link Styler */
/****************************************************************************************************/
/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Functions */
/****************************************************************************************************/
/* Remove units from a value */
/* Convert pixels to rems */
/* Convert rems to pixels */
/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Shortcut Selectors */
/****************************************************************************************************/
/*
    Set focus styles ONLY for users that need it.
    Will not work on older browsers (see base focus styles for example of overriding).
*/
/*  Just an alias for focusVisible */
/*
    Focus AND Hover
    A shortcut for when you need to share styles between focus and hover.
    Most of the time styles should go into separate focusVisible and/or :hover rules as needed.
*/
/* Select all FontAwesome icons */
/* Shortcut for writing out h1-h6 */
/* Cross-browser placeholders */
/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Font Styless & Fluid Type */
/****************************************************************************************************/
/*
$min_width: 320px;
$max_width: 1200px;
$min_font: 16px;
$max_font: 24px;
@include fluid-type($min_width, $max_width, $min_font, $max_font);
*/
/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Grid Mixins */
/****************************************************************************************************/
/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Size & Position */
/****************************************************************************************************/
/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Overlays & Gradients */
/****************************************************************************************************/
/*background-image: linear-gradient(120deg, scrim-gradient($primaryColour));*/
/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Whitespace  */
/* You shouldn't ever need to use this directly - it's just used to generate our whitespace classes */
/* based on: https://styleguide.pivotal.io/modifiers/whitespace/#classes */
/****************************************************************************************************/
/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Modifiers  */
/* You shouldn't ever need to use this directly - it's just used to generate our subheader classes */
/* Based content https://frontstuff.io/generate-all-your-utility-classes-with-sass-maps            */
/****************************************************************************************************/
/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Misc */
/****************************************************************************************************/
/* shared outline styles for focus */
/* #endregion */
/****************************************************************************************************/
.subheader-xxl, .subheader-xl, .subheader-l, .subheader-m, .cmsContent.highlightFirstElement > :first-child, .subheader-s, .subheader-xs {
  font-family: "Tiempos-Headline-SemiBold", "Times New Roman", serif !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  margin: 0 0 1rem 0 !important;
}

/* Force text to wrap with hyphen if to long (example long email) */
a[href^=mailto] {
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-all;
  word-break: break-word;
  -webkit-hyphens: auto;
          hyphens: auto;
  white-space: unset;
}

.borderTopBefore, .cardView.publication, .cardView.testimonial cite, blockquote p:nth-last-child(1) {
  position: relative;
}
.borderTopBefore:before, .cardView.publication:before, .cardView.testimonial cite:before, blockquote p:nth-last-child(1):before {
  content: "";
  display: block;
  margin-bottom: 1.5rem;
  width: 100%;
  height: 1px;
  background-color: #BA0C2F;
}

.borderTopShortBefore {
  position: relative;
}
.borderTopShortBefore:before {
  content: "";
  display: block;
  margin-bottom: 1.5rem;
  width: 35%;
  height: 1px;
  background-color: #BA0C2F;
}

div.relatedPagesWrapper nav.relatedPages, .borderTopLongBefore, .listView.featuredcontentitems.numberedCards li .cardView.featuredcontentitem .cardContent .top h2 {
  position: relative;
}
div.relatedPagesWrapper nav.relatedPages:before, .borderTopLongBefore:before, .listView.featuredcontentitems.numberedCards li .cardView.featuredcontentitem .cardContent .top h2:before {
  content: "";
  display: block;
  margin-bottom: 1.5rem;
  width: 85%;
  height: 1px;
  background-color: #BA0C2F;
}

.borderBottomAfter {
  position: relative;
}
.borderBottomAfter:after {
  content: " ";
  display: block;
  margin-top: 1.5rem;
  width: 100%;
  height: 1px;
  background-color: #BA0C2F;
}

.borderBottomShortAfter {
  position: relative;
}
.borderBottomShortAfter:after {
  content: " ";
  display: block;
  margin-top: 1.5rem;
  width: 35%;
  height: 1px;
  background-color: #BA0C2F;
}

.borderBottomLongAfter {
  position: relative;
}
.borderBottomLongAfter:after {
  content: " ";
  display: block;
  margin-top: 1.5rem;
  width: 85%;
  height: 1px;
  background-color: #BA0C2F;
}

.container.edge *.container.full, .container.full {
  padding-left: 5rem;
  padding-right: 5rem;
  /*        @media(max-width:$XL_Max) {
          padding-left: $desktopPadding;
          padding-right: $desktopPadding;
      }*/
}
@media (max-width: 1599px) {
  .container.edge *.container.full, .container.full {
    padding-left: 4rem;
    padding-right: 4rem;
  }
}
@media (max-width: 1299px) {
  .container.edge *.container.full, .container.full {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}
@media (max-width: 1024px) {
  .container.edge *.container.full, .container.full {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}
@media (max-width: 767px) {
  .container.edge *.container.full, .container.full {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (max-width: 500px) {
  .container.edge *.container.full, .container.full {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.coverImg {
  inset: 0;
  display: block;
  position: absolute;
}

/****************************************************************************************************/
/* #region Flex Grid */
/****************************************************************************************************/
.grid {
  /*width: 100%;*/
  width: initial;
  box-sizing: border-box;
  display: flex;
  flex: 0 1 auto;
  flex-wrap: wrap;
  flex-direction: row;
  margin: 0 -1rem 0 -1rem;
}
.grid.col {
  width: auto;
}
.grid.grid-nogutter {
  margin: 0;
}
.grid.grid-nogutter > .col {
  margin: 0;
}
.grid.grid-nowrap {
  flex-wrap: nowrap;
}
.grid.featureFirst > .col:first-child {
  flex: 0 0 auto;
  /*order: 0;*/
  width: initial;
  max-width: 100%;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  vertical-align: top;
  /*width: calc((1 / 1) * 100% - 1rem);*/
  flex-basis: calc((1 / 1) * 100% - 1rem);
}
.grid:not(.col) {
  flex-grow: 1;
}
.grid > .col {
  margin: 0 1rem 0 1rem;
}

.col {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Grid + Column Alignment */
/****************************************************************************************************/
/* Justify Content Classes */
.grid-start,
.col-top {
  justify-content: flex-start;
}

.grid-end,
.col-bottom {
  justify-content: flex-end;
}

.grid-center,
.col-middle {
  justify-content: center;
}

.grid-evenly,
.col-evenly {
  justify-content: space-evenly;
}

.grid-around,
.col-around {
  justify-content: space-around;
}

.grid-between,
.col-between {
  justify-content: space-between;
}

/* Align Items Classes */
.col-align-start,
.grid-align-start {
  align-items: flex-start;
}

.col-align-end,
.grid-align-end {
  align-items: flex-end;
}

.col-align-center,
.grid-align-center {
  align-items: center;
}

.col-align-stretch,
.grid-align-stretch {
  align-items: stretch;
}

.col-align-baseline,
.grid-align-baseline {
  align-items: baseline;
}

/* Column Self-Alignment Classes */
.col-align-top {
  align-self: flex-start;
}

.col-align-bottom {
  align-self: flex-end;
}

.col-align-middle {
  align-self: center;
}

/* Reordering Columns */
.col-first {
  order: -1;
}

.col-last {
  order: 1;
}

.grid-reverse-columns {
  flex-direction: column-reverse;
}

.grid-reverse-rows {
  flex-direction: row-reverse;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Column Sizing */
/****************************************************************************************************/
.col-fixed {
  flex: initial;
  flex-shrink: 0;
}

.col-auto-width {
  flex: 0 1 auto;
}

.col-grow-2,
.grid.col-grow-2 {
  flex-grow: 2;
}

.col-grow-3,
.grid.col-grow-3 {
  flex-grow: 3;
}

.col-grow-4,
.grid.col-grow-4 {
  flex-grow: 4;
}

.col-grow-5,
.grid.col-grow-5 {
  flex-grow: 5;
}

.col-grow-6,
.grid.col-grow-6 {
  flex-grow: 6;
}

.col-grow-7,
.grid.col-grow-7 {
  flex-grow: 7;
}

.col-grow-8,
.grid.col-grow-8 {
  flex-grow: 8;
}

.col-grow-9,
.grid.col-grow-9 {
  flex-grow: 9;
}

.col-grow-10,
.grid.col-grow-10 {
  flex-grow: 10;
}

.col-grow-11,
.grid.col-grow-11 {
  flex-grow: 11;
}

.col-1 {
  flex-basis: 8.3333333333%;
  max-width: 8.3333333333%;
}

.col-2 {
  flex-basis: 16.6666666667%;
  max-width: 16.6666666667%;
}

.col-3 {
  flex-basis: 25%;
  max-width: 25%;
}

.col-4 {
  flex-basis: 33.3333333333%;
  max-width: 33.3333333333%;
}

.col-5 {
  flex-basis: 41.6666666667%;
  max-width: 41.6666666667%;
}

.col-6 {
  flex-basis: 50%;
  max-width: 50%;
}

.col-7 {
  flex-basis: 58.3333333333%;
  max-width: 58.3333333333%;
}

.col-8 {
  flex-basis: 66.6666666667%;
  max-width: 66.6666666667%;
}

.col-9 {
  flex-basis: 75%;
  max-width: 75%;
}

.col-10 {
  flex-basis: 83.3333333333%;
  max-width: 83.3333333333%;
}

.col-11 {
  flex-basis: 91.6666666667%;
  max-width: 91.6666666667%;
}

.col-12 {
  flex-basis: 100%;
  max-width: 100%;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Responsive Grids */
/****************************************************************************************************/
.grid[data-gutter-width] {
  flex-wrap: nowrap;
}
.sfPageEditor .grid[data-gutter-width] > .col {
  flex-grow: 1 !important;
  flex-shrink: 0 !important;
  flex-basis: 0 !important;
}
.grid[data-gutter-width]:not([data-media-breakpoint]) {
  /*@media (max-width: $M_Max) {
      @extend %colStackedStyles;
  }*/
}
@media (max-width: 1299px) {
  .grid[data-gutter-width][data-media-breakpoint="1299px"], .grid[data-gutter-width][data-media-breakpoint="1300px"] {
    flex-wrap: wrap;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .grid[data-gutter-width][data-media-breakpoint="1299px"] > .col, .grid[data-gutter-width][data-media-breakpoint="1300px"] > .col {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: initial !important;
    flex-basis: initial !important;
  }
}
@media (max-width: 1024px) {
  .grid[data-gutter-width][data-media-breakpoint="1024px"] {
    flex-wrap: wrap;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .grid[data-gutter-width][data-media-breakpoint="1024px"] > .col {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: initial !important;
    flex-basis: initial !important;
  }
}
@media (max-width: 767px) {
  .grid[data-gutter-width][data-media-breakpoint="767px"] {
    flex-wrap: wrap;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .grid[data-gutter-width][data-media-breakpoint="767px"] > .col {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: initial !important;
    flex-basis: initial !important;
  }
}
@media (max-width: 500px) {
  .grid[data-gutter-width][data-media-breakpoint="500px"] {
    flex-wrap: wrap;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .grid[data-gutter-width][data-media-breakpoint="500px"] > .col {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: initial !important;
    flex-basis: initial !important;
  }
}

/*
@media only screen and (max-width: $M_Max) {
    .grid {
        &:not([data-gutter-width]):not(.grid-nowrap) { // only apply to NON-resizable grids
            .col {
                flex: 100%;
                max-width: 100%;
            }
        }
    }
}
*/
/* #endregion */
/****************************************************************************************************/
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(100%);
  }
  30% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: translateY(0%);
  }
}
@keyframes slide-in-from-top {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0%);
  }
}
@keyframes slide-in-from-left {
  0% {
    opacity: 0;
    transform: translateX(-200%);
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes slide-in-from-right {
  0% {
    opacity: 0;
    transform: translateX(50%);
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes slide-and-rotate180 {
  0% {
    transform: translateX(-9999px);
  }
  100% {
    transform: rotate(180deg);
  }
}
@keyframes slide-and-rotate270 {
  0% {
    transform: translateX(-9999px);
  }
  100% {
    transform: rotate(270deg);
  }
}
@keyframes cinematic {
  0% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes cinematic-reverse {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
  }
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.8);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes focus {
  0% {
    filter: blur(8px);
  }
  100% {
    filter: blur(0px);
  }
}
@keyframes slideIn {
  0% {
    opacity: 0;
    transform: translateX(-50%);
  }
  70% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: translateX(0%);
  }
}
@keyframes slideInRight {
  0% {
    opacity: 0;
    transform: translateX(50%);
  }
  70% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: translateX(0%);
  }
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Remove Italic styling */
address {
  font-style: normal;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
  display: block;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* ### Bullets */
/* XXS Mobile (min width) */
/* XS Mobile (min width) */
/* XS Mobile (max width) */
/* Mobile (min width) */
/* Mobile (max width) */
/* Mobile (max width) */
/* Tablets (min width) */
/* Tablets (max width) */
/* Small Desktop  (min width) */
/* Small Desktop (max width) */
/* Large Desktop (min width) */
/* Large Desktop (max width) */
/* Extra-Large Desktop (min width) */
/* Extra-Large Desktop (max width) */
/* High Definition (HD) - THIS IS THE LEVEL OF OUR DEFAULT STYLES */
/* Containers - PLEASE USE REMS */
/* Container Padding */
/* Whitespace */
/* Subheader FluidTypeSizes */
/*$subheader-xs-min: 18px;
$subheader-s-min: 20px;
$subheader-m-min: 22px;
$subheader-l-min: 26px;
$subheader-xl-min: 34px;
$subheader-xxl-min: 45px;
$subheader-xs: 20px;
$subheader-s:  25px;
$subheader-m: 30px;
$subheader-l: 45px;
$subheader-xl: 60px;
$subheader-xxl: 80px;*/
/* Base unit used for spacing gutters */
/* Buttons */
/* hover styles*/
/* these need to be here for intellisense and go-to-definition to work */
/****************************************************************************************************/
/* #region Document */
/****************************************************************************************************/
::selection {
  background: #00427E;
  color: white;
}

::-webkit-input-placeholder {
  color: #606060;
  text-transform: none;
}

:-moz-placeholder {
  color: #606060;
  text-transform: none;
}

::-moz-placeholder {
  color: #606060;
  text-transform: none;
}

:-ms-input-placeholder {
  color: #606060;
  text-transform: none;
}

* {
  box-sizing: border-box;
}

:root {
  --scrollbar-width: 16px;
  --card-width: 16rem;
  --column-count: 3;
  --card-gap: 1.5rem;
  color-scheme: normal !important;
  /* For Images */
  --image-width: 0;
  --image-height: 0;
  --image-aspectratio: 1.5;
  --containerPadding: 5rem;
  --sideBarPadding: 420px;
  /* For Header */
  --total-header-height: 7rem;
  --header-height: 7rem;
  --primary-color: #BA0C2F;
  --site-padding: 5rem;
}
@media (max-width: 1299px) {
  :root {
    --site-padding: 3rem !important;
  }
}
@media (max-width: 1024px) {
  :root {
    --site-padding: 3rem !important;
  }
}
@media (max-width: 767px) {
  :root {
    --site-padding: 25px !important;
  }
}
@media (max-width: 500px) {
  :root {
    --site-padding: 1rem !important;
  }
}

html {
  min-height: auto;
  font-style: normal;
  font-family: "AvenirLTStd-Medium", sans-serif;
  font-weight: 400;
  line-height: 1.4;
  font-kerning: auto;
  scroll-behavior: smooth;
}
html {
  font-size: 16px;
}
@media screen and (min-width: 1025px) {
  html {
    font-size: calc(16px + 4 * ((100vw - 1025px) / 275));
  }
}
@media screen and (min-width: 1300px) {
  html {
    font-size: 20px;
  }
}

body {
  min-height: 100vh;
  color: #53565A;
  font-style: normal;
  font-family: "AvenirLTStd-Medium", sans-serif;
  font-weight: 400;
  background-color: white;
}

/* Custom Scrollbar Styles (only works in the latest browsers) */
::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(241, 241, 241, 0.5);
  background-color: #F5F5F5;
}

::-webkit-scrollbar {
  width: 10px;
  background-color: #F1F1F1;
}

::-webkit-scrollbar-thumb {
  background-color: #E6E6E6;
  border: 2px solid #E6E6E6;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Focus Styles */
/****************************************************************************************************/
* {
  outline-offset: 0;
}

*:focus {
  /* simple focus styles (for older browsers without support for :focus-visible */
  outline: 2px solid #00427E;
}

*:focus:not(:focus-visible) {
  /* undo all the above focused button styles */
  outline: none;
}

*:focus-visible {
  /* focus styles for modern browsers */
  outline: 2px solid #00427E;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Text-level Semantics */
/****************************************************************************************************/
p {
  margin: 0 0 1rem 0;
  padding: 0;
  font-size: 1rem;
  font-style: normal;
  line-height: 1.4;
}

strong, b {
  /*font-weight: $fontWeightSemiBold;*/
  font-weight: 700;
  font-style: normal;
}

em, i {
  font-style: italic;
}

sup {
  vertical-align: super;
  font-size: 50% !important;
  font-style: normal;
}

sub {
  vertical-align: sub;
  font-size: 50% !important;
  font-style: normal;
}

/*@keyframes blockquote-circle-entrance {
    0% {
        opacity: 0;
        //transform: translateX(-200%) translateY(-50%);
        transform: translateX(-200%);
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
        //transform: translateX(0) translateY(-50%);
        transform: translateX(0);
    }
}*/
/*
blockquote {
    position: relative;
    //display: flex;
    //flex-direction: column;
    //justify-content: center;
    width: $M_Max;
    max-width: 85%;
    margin: 4rem auto;
    font-family: $secondaryFont;
    @include fluid-type($XS_Min, $L_Max, 18px, 26px);
    line-height: 1.2;
    color: $primaryColour;
    text-align: left;
    z-index: 0;
    --circle-size: 18rem;
    --line-padding: 1.5em;
    padding: var(--line-padding) 0 0;
    min-height: 11.8rem;
    margin-bottom: 1.4rem;
    padding-top: 1.3rem;
    // The circle
    &.observed {
        opacity: 0;

        &.inViewport {
            animation: fadeIn 400ms ease-in 400ms;
            animation-fill-mode: both;

            &:after {
                //animation: slide-in-from-left;
                animation: blockquote-circle-entrance;
                //animation: slideIn;
                animation-duration: 1s;
                animation-fill-mode: forwards;
                opacity: 0.5;
            }
        }
    }
    // the circle
    //&:after {
    //    content: ' ';
    //    position: absolute;
    //    left: -4rem;
    //    z-index: -1;
    //    content: "";
    //    display: block;
    //width: var(--circle-size);
    //max-width: 65%;
    //    opacity: 0;
    //    aspect-ratio: 1;
    //    background-color: $greyXXLight;
    //    height: var(--circle-size);
    //    width: auto;
    //top: 50%;
    //transform: translateY(-50%);
    //    border-radius: 999px;
    //    top: 50%;
    //
    //    display: none;
    //}

    &:after {
        //content: ' ';
        //position: absolute;
        //left: -4rem;
        //z-index: -1;
        //content: "";
        //display: block;
        //opacity: 0;
        //aspect-ratio: 1;
        //background-color: $greyXXLight;
        //height: var(--circle-size);
        //width: auto;
        //border-radius: 999px;
        //top: 50%;
        //display: none;
        position: absolute;
        content: ' ';
        border-radius: 999px;
        background-color: $greyXXLight;
        top: 0;
        left: 0;
        z-index: -1;
        display: block;
        aspect-ratio: 1;
        //height: 100%;
        inset: auto;
        top: -3rem;
        //left: -2rem;
        //width: 18rem;
        //height: 18rem;
        //width: 250px;
        //left: -3.7rem;
        top: -2.5rem;
        width: 250px;
        left: -2.3rem;
    }
    // the line
    &:before {
        content: "";
        display: block;
        margin-bottom: var(--line-padding);
        //width: 1px;
        //height: calc(var(--circle-size) * .65);
        background-color: $primaryColour;
        position: absolute;
        top: 0;
        //transform: rotate(-90deg);
        //transform-origin: 0% 0%;
        //width: calc(var(--circle-size) * .60);
        width: 160px;
        height: 1px;
        // display: none;
    }
    //&:before {
    //    content: "";
    //    display: block;
    //margin-bottom: var(--line-padding);
    //width: 1px;
    //height: calc(var(--circle-size) * .65);
    //background-color: $primaryColour;
    //position: absolute;
    //top: 0;
    //transform: rotate(-90deg);
    //transform-origin: 0% 0%;
    //    position: absolute;
    //    border: 1px solid red;
    //    width: auto;
    //    aspect-ratio: 1;
    //    height: calc(var(--circle-size) * .85);
    //    left: 0;
    //    top: 50%;
    //    transform: translateY(-50%);
    //}

    p {
        font-size: inherit;

        &:nth-last-child(1) {
            color: $grey !important;
        }
    }
}
*/
/* Same styles as .cardView.Testimonial */
blockquote {
  position: relative;
  background-color: rgba(0, 156, 182, 0.1);
  /*  background-image: url(/CFImages/Backgrounds/testimonialBG.svg);
  background-repeat: no-repeat;
  background-size: 50%;
  background-position: bottom right;*/
  margin: 2rem auto;
  padding: clamp(1rem, 10vw, 2rem) clamp(2rem, 5vw, 4rem);
  border-radius: 1.5rem;
  justify-content: center;
  font-family: "Tiempos-Headline-Medium", "Times New Roman", serif;
  font-size: 1.1rem;
  color: #BA0C2F;
}
blockquote > * {
  opacity: 1;
}
blockquote p {
  max-width: 90%;
  font-family: "Tiempos-Headline-Medium", "Times New Roman", serif;
  font-size: 1.1rem;
  color: #BA0C2F;
  margin-bottom: 1.2rem;
}
blockquote p:nth-last-child(1) {
  color: #53565A !important;
  font-size: 0.9rem;
  text-transform: uppercase;
  font-style: normal;
  font-family: "AvenirLTStd-Medium", sans-serif;
}
blockquote p:nth-last-child(1):before {
  width: 100px;
  margin-bottom: 0.5rem;
}

/* Testimonial CardView */
.cardView.testimonial {
  background-color: rgba(0, 156, 182, 0.1);
  background-repeat: no-repeat;
  background-size: 50%;
  background-position: bottom right;
  margin: 1rem auto;
  padding: clamp(1rem, 10vw, 2rem) clamp(2rem, 5vw, 4rem);
  border-radius: 1.5rem;
  justify-content: center;
  font-family: "Tiempos-Headline-Medium", "Times New Roman", serif;
}
.cardView.testimonial > * {
  opacity: 1;
}
.cardView.testimonial p {
  font-size: 1.1rem;
  color: #BA0C2F;
  font-family: "Tiempos-Headline-Medium", "Times New Roman", serif;
  margin: 0;
}
.cardView.testimonial .quote {
  max-width: 90%;
  font-family: "Tiempos-Headline-Medium", "Times New Roman", serif;
  font-size: 1.1rem;
  color: #BA0C2F;
  margin-bottom: 1.2rem;
}
.cardView.testimonial cite {
  color: #606060;
  font-size: 0.9rem;
  text-transform: uppercase;
  font-style: normal;
  font-family: "AvenirLTStd-Medium", sans-serif;
}
.cardView.testimonial cite:before {
  width: 100px;
  margin-bottom: 0.5rem;
}

.detailView .related.testimonialsWrapper .cardView.testimonial {
  margin-top: 0;
}

a {
  color: #BA0C2F;
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  text-decoration: none;
}

a:hover {
  color: #009CB6;
  text-decoration: underline;
}

a:active {
  color: #BA0C2F;
  text-decoration: none;
}

hr {
  border: none;
  height: 1px;
  margin: 2rem 0;
  background-color: #E6E6E6;
}

li {
  list-style: none;
  font-size: 1em;
  font-style: normal;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
ul li,
ol li {
  list-style: none;
}
/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Headings */
/****************************************************************************************************/
span.seperator, span.separator {
  padding: 0 7px;
  color: #A3A3A3;
}

/* Headings */
h1, h2, h3, h4, h5, h6, .h {
  font-style: normal;
  font-family: "Tiempos-Headline-SemiBold", "Times New Roman", serif;
  font-weight: 500;
  line-height: 1.4;
  color: #BA0C2F;
  margin: 1rem 0 1.38rem;
  padding: 0;
  display: block;
  letter-spacing: 1px;
}
h1.centered, h2.centered, h3.centered, h4.centered, h5.centered, h6.centered, .h.centered {
  text-align: center;
}

:is(h1, h2, h3, h4, h5, h6, .h) + :is(h1, h2, h3, h4, h5, h6, .h) {
  margin-top: 0;
}

h1 {
  font-size: 32px;
}
@media screen and (min-width: 768px) {
  h1 {
    font-size: calc(32px + 18 * ((100vw - 768px) / 532));
  }
}
@media screen and (min-width: 1300px) {
  h1 {
    font-size: 50px;
  }
}

h2 {
  font-size: 24px;
}
@media screen and (min-width: 768px) {
  h2 {
    font-size: calc(24px + 16 * ((100vw - 768px) / 532));
  }
}
@media screen and (min-width: 1300px) {
  h2 {
    font-size: 40px;
  }
}

h3 {
  font-size: 20px;
}
@media screen and (min-width: 768px) {
  h3 {
    font-size: calc(20px + 16 * ((100vw - 768px) / 532));
  }
}
@media screen and (min-width: 1300px) {
  h3 {
    font-size: 36px;
  }
}

h4 {
  font-size: 18px;
}
@media screen and (min-width: 768px) {
  h4 {
    font-size: calc(18px + 14 * ((100vw - 768px) / 532));
  }
}
@media screen and (min-width: 1300px) {
  h4 {
    font-size: 32px;
  }
}

h5 {
  font-size: 1.125rem;
}

h6 {
  font-size: 1rem;
}

/* special side title */
.sideTitle {
  position: absolute;
  top: auto;
  left: -5rem;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  flex: 1 1 auto;
  font-family: "AvenirLTStd-Medium", sans-serif;
  writing-mode: vertical-lr;
  text-transform: uppercase;
  letter-spacing: 0.1rem;
  white-space: nowrap;
  font-size: 0.8rem;
  height: 100%;
  transform: rotate(180deg);
  color: #BA0C2F !important;
  margin: 0;
}
@media (max-width: 1700px) {
  .sideTitle {
    left: -2.5rem !important;
  }
}
@media (max-width: 1024px) {
  .sideTitle {
    position: relative;
    display: block;
    left: 0 !important;
    transform: initial;
    writing-mode: initial;
    height: auto;
    margin: 0 0 1rem 0;
  }
}

/* special small heading */
.smallHeading {
  font-family: "AvenirLTStd-Medium", sans-serif !important;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 0.8rem !important;
  margin: 0.65rem 0 1rem 0 !important;
}

/* fake headings (turn any element into a heading, basically). These need to match the above. */
.h2 {
  font-size: 1.602rem !important;
  color: #53565A;
}

.h3 {
  font-size: 1.424rem !important;
  color: #53565A;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Buttons */
/****************************************************************************************************/
.multipleButtons {
  display: flex;
  flex-wrap: wrap;
  gap: 0 2rem;
  /* when there in content blocks */
}
.multipleButtons .cmsContent, .multipleButtons .cmsContent p {
  display: flex;
  flex-wrap: wrap;
  gap: 0 2rem;
}

.button:not(a.sf-button),
button:not(.sf-button), button:not(.cky-btn) {
  /* Default / Base button styles - only include these when you really need them */
  /* This is what you'll get when you just call @include button; (but you should avoid using this mixin altogether if you can) */
  color: #BA0C2F;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0.6rem 2rem;
  margin-top: 1rem;
  font-size: 0.9rem;
  font-weight: 400;
  font-family: "AvenirLTStd-Medium", sans-serif;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none !important;
  border: 1px solid #BA0C2F;
  border-radius: 2rem;
  background-color: #fff;
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  position: relative;
  z-index: 1;
  letter-spacing: 0.1em;
  height: auto;
  width: -moz-fit-content;
  width: fit-content;
  overflow: hidden;
  /* FontAwesome Icons in markup */
  /* Reverse (flip the colours of the standard button */
  /* reverse */
}
.button:not(a.sf-button):after,
button:not(.sf-button):after, button:not(.cky-btn):after {
  width: 1rem;
  height: 1rem;
  display: inline-block;
  content: initial;
  position: relative;
  background-repeat: no-repeat;
  background-position: center;
  margin-left: 0.6rem;
  position: absolute;
  z-index: -2;
  border-radius: 4px;
  background-color: #BA0C2F;
}
.button:not(a.sf-button):before,
button:not(.sf-button):before, button:not(.cky-btn):before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background-color: #BA0C2F;
  transition: all 0.3s;
  border-radius: 10rem;
  z-index: -1;
}
.button:not(a.sf-button) [class*=fa-],
button:not(.sf-button) [class*=fa-], button:not(.cky-btn) [class*=fa-] {
  margin-left: 0.6rem;
}
.button:not(a.sf-button):hover, .button:not(a.sf-button):focus, .button:not(a.sf-button).active,
button:not(.sf-button):hover,
button:not(.sf-button):focus,
button:not(.sf-button).active, button:not(.cky-btn):hover, button:not(.cky-btn):focus, button:not(.cky-btn).active {
  color: #fff;
  text-decoration: none !important;
}
.button:not(a.sf-button):hover:before, .button:not(a.sf-button):focus:before, .button:not(a.sf-button).active:before,
button:not(.sf-button):hover:before,
button:not(.sf-button):focus:before,
button:not(.sf-button).active:before, button:not(.cky-btn):hover:before, button:not(.cky-btn):focus:before, button:not(.cky-btn).active:before {
  background-color: #BA0C2F;
  width: 100%;
}
.button:not(a.sf-button):active,
button:not(.sf-button):active, button:not(.cky-btn):active {
  color: #fff;
  text-decoration: none !important;
}
.button:not(a.sf-button):active:before,
button:not(.sf-button):active:before, button:not(.cky-btn):active:before {
  background-color: #8a0923;
  width: 100%;
}
.button:not(a.sf-button).reverse,
button:not(.sf-button).reverse, button:not(.cky-btn).reverse {
  /* Default / Base button styles - only include these when you really need them */
  /* This is what you'll get when you just call @include button; (but you should avoid using this mixin altogether if you can) */
  color: #BA0C2F;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0.6rem 2rem;
  margin-top: 1rem;
  font-size: 0.9rem;
  font-weight: 400;
  font-family: "AvenirLTStd-Medium", sans-serif;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none !important;
  border: 1px solid #BA0C2F;
  border-radius: 2rem;
  background-color: #fff;
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  position: relative;
  z-index: 1;
  letter-spacing: 0.1em;
  height: auto;
  width: -moz-fit-content;
  width: fit-content;
  overflow: hidden;
  /* FontAwesome Icons in markup */
  /* Reverse (flip the colours of the standard button */
  background-color: #BA0C2F;
  color: white;
  border: 1px solid #BA0C2F;
}
.button:not(a.sf-button).reverse:after,
button:not(.sf-button).reverse:after, button:not(.cky-btn).reverse:after {
  width: 1rem;
  height: 1rem;
  display: inline-block;
  content: initial;
  position: relative;
  background-repeat: no-repeat;
  background-position: center;
  margin-left: 0.6rem;
  position: absolute;
  z-index: -2;
  border-radius: 4px;
  background-color: #BA0C2F;
}
.button:not(a.sf-button).reverse:before,
button:not(.sf-button).reverse:before, button:not(.cky-btn).reverse:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background-color: #BA0C2F;
  transition: all 0.3s;
  border-radius: 10rem;
  z-index: -1;
}
.button:not(a.sf-button).reverse [class*=fa-],
button:not(.sf-button).reverse [class*=fa-], button:not(.cky-btn).reverse [class*=fa-] {
  margin-left: 0.6rem;
}
.button:not(a.sf-button).reverse:hover, .button:not(a.sf-button).reverse:focus, .button:not(a.sf-button).reverse.active,
button:not(.sf-button).reverse:hover,
button:not(.sf-button).reverse:focus,
button:not(.sf-button).reverse.active, button:not(.cky-btn).reverse:hover, button:not(.cky-btn).reverse:focus, button:not(.cky-btn).reverse.active {
  color: #fff;
  text-decoration: none !important;
}
.button:not(a.sf-button).reverse:hover:before, .button:not(a.sf-button).reverse:focus:before, .button:not(a.sf-button).reverse.active:before,
button:not(.sf-button).reverse:hover:before,
button:not(.sf-button).reverse:focus:before,
button:not(.sf-button).reverse.active:before, button:not(.cky-btn).reverse:hover:before, button:not(.cky-btn).reverse:focus:before, button:not(.cky-btn).reverse.active:before {
  background-color: #BA0C2F;
  width: 100%;
}
.button:not(a.sf-button).reverse:active,
button:not(.sf-button).reverse:active, button:not(.cky-btn).reverse:active {
  color: #fff;
  text-decoration: none !important;
}
.button:not(a.sf-button).reverse:active:before,
button:not(.sf-button).reverse:active:before, button:not(.cky-btn).reverse:active:before {
  background-color: #8a0923;
  width: 100%;
}
.button:not(a.sf-button).reverse:before,
button:not(.sf-button).reverse:before, button:not(.cky-btn).reverse:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background-color: #BA0C2F;
  transition: all 0.3s;
  border-radius: 10rem;
  z-index: -1;
}
.button:not(a.sf-button).reverse:hover, .button:not(a.sf-button).reverse:focus,
button:not(.sf-button).reverse:hover,
button:not(.sf-button).reverse:focus, button:not(.cky-btn).reverse:hover, button:not(.cky-btn).reverse:focus {
  color: #BA0C2F;
  text-decoration: none !important;
}
.button:not(a.sf-button).reverse:hover:before, .button:not(a.sf-button).reverse:focus:before,
button:not(.sf-button).reverse:hover:before,
button:not(.sf-button).reverse:focus:before, button:not(.cky-btn).reverse:hover:before, button:not(.cky-btn).reverse:focus:before {
  background-color: #fff;
  width: 100%;
}
.button:not(a.sf-button).reverse:active,
button:not(.sf-button).reverse:active, button:not(.cky-btn).reverse:active {
  color: #BA0C2F;
  text-decoration: none !important;
}
.button:not(a.sf-button).reverse:active:before,
button:not(.sf-button).reverse:active:before, button:not(.cky-btn).reverse:active:before {
  background-color: #fff;
  width: 100%;
}

.dark a.button, .dark .button, .dark button, .dark .cmsContent a.button, .dark .cmsContent .button, .dark .cmsContent button {
  /* Default / Base button styles - only include these when you really need them */
  /* This is what you'll get when you just call @include button; (but you should avoid using this mixin altogether if you can) */
  color: #BA0C2F;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0.6rem 2rem;
  margin-top: 1rem;
  font-size: 0.9rem;
  font-weight: 400;
  font-family: "AvenirLTStd-Medium", sans-serif;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none !important;
  border: 1px solid #BA0C2F;
  border-radius: 2rem;
  background-color: #fff;
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  position: relative;
  z-index: 1;
  letter-spacing: 0.1em;
  height: auto;
  width: -moz-fit-content;
  width: fit-content;
  overflow: hidden;
  /* FontAwesome Icons in markup */
  /* Reverse (flip the colours of the standard button */
  background-color: transparent;
  color: white;
  border: 1px solid white;
}
.dark a.button:after, .dark .button:after, .dark button:after, .dark .cmsContent a.button:after, .dark .cmsContent .button:after, .dark .cmsContent button:after {
  width: 1rem;
  height: 1rem;
  display: inline-block;
  content: initial;
  position: relative;
  background-repeat: no-repeat;
  background-position: center;
  margin-left: 0.6rem;
  position: absolute;
  z-index: -2;
  border-radius: 4px;
  background-color: #BA0C2F;
}
.dark a.button:before, .dark .button:before, .dark button:before, .dark .cmsContent a.button:before, .dark .cmsContent .button:before, .dark .cmsContent button:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background-color: #BA0C2F;
  transition: all 0.3s;
  border-radius: 10rem;
  z-index: -1;
}
.dark a.button [class*=fa-], .dark .button [class*=fa-], .dark button [class*=fa-], .dark .cmsContent a.button [class*=fa-], .dark .cmsContent .button [class*=fa-], .dark .cmsContent button [class*=fa-] {
  margin-left: 0.6rem;
}
.dark a.button:hover, .dark a.button:focus, .dark a.button.active, .dark .button:hover, .dark .button:focus, .dark .button.active, .dark button:hover, .dark button:focus, .dark button.active, .dark .cmsContent a.button:hover, .dark .cmsContent a.button:focus, .dark .cmsContent a.button.active, .dark .cmsContent .button:hover, .dark .cmsContent .button:focus, .dark .cmsContent .button.active, .dark .cmsContent button:hover, .dark .cmsContent button:focus, .dark .cmsContent button.active {
  color: #fff;
  text-decoration: none !important;
}
.dark a.button:hover:before, .dark a.button:focus:before, .dark a.button.active:before, .dark .button:hover:before, .dark .button:focus:before, .dark .button.active:before, .dark button:hover:before, .dark button:focus:before, .dark button.active:before, .dark .cmsContent a.button:hover:before, .dark .cmsContent a.button:focus:before, .dark .cmsContent a.button.active:before, .dark .cmsContent .button:hover:before, .dark .cmsContent .button:focus:before, .dark .cmsContent .button.active:before, .dark .cmsContent button:hover:before, .dark .cmsContent button:focus:before, .dark .cmsContent button.active:before {
  background-color: #BA0C2F;
  width: 100%;
}
.dark a.button:active, .dark .button:active, .dark button:active, .dark .cmsContent a.button:active, .dark .cmsContent .button:active, .dark .cmsContent button:active {
  color: #fff;
  text-decoration: none !important;
}
.dark a.button:active:before, .dark .button:active:before, .dark button:active:before, .dark .cmsContent a.button:active:before, .dark .cmsContent .button:active:before, .dark .cmsContent button:active:before {
  background-color: #8a0923;
  width: 100%;
}
.dark a.button:before, .dark .button:before, .dark button:before, .dark .cmsContent a.button:before, .dark .cmsContent .button:before, .dark .cmsContent button:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background-color: inherit;
  transition: all 0.3s;
  border-radius: 10rem;
  z-index: -1;
}
.dark a.button:hover, .dark a.button:focus, .dark .button:hover, .dark .button:focus, .dark button:hover, .dark button:focus, .dark .cmsContent a.button:hover, .dark .cmsContent a.button:focus, .dark .cmsContent .button:hover, .dark .cmsContent .button:focus, .dark .cmsContent button:hover, .dark .cmsContent button:focus {
  color: #BA0C2F !important;
  text-decoration: none !important;
}
.dark a.button:hover:before, .dark a.button:focus:before, .dark .button:hover:before, .dark .button:focus:before, .dark button:hover:before, .dark button:focus:before, .dark .cmsContent a.button:hover:before, .dark .cmsContent a.button:focus:before, .dark .cmsContent .button:hover:before, .dark .cmsContent .button:focus:before, .dark .cmsContent button:hover:before, .dark .cmsContent button:focus:before {
  background-color: white;
  width: 100%;
}
.dark a.button:active, .dark .button:active, .dark button:active, .dark .cmsContent a.button:active, .dark .cmsContent .button:active, .dark .cmsContent button:active {
  color: #BA0C2F !important;
  text-decoration: none !important;
}
.dark a.button:active:before, .dark .button:active:before, .dark button:active:before, .dark .cmsContent a.button:active:before, .dark .cmsContent .button:active:before, .dark .cmsContent button:active:before {
  background-color: white;
  width: 100%;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Hyperlinks + Special Links */
/****************************************************************************************************/
/* Special Links */
/* Non-link elements with onclick functionality */
.clickable {
  cursor: pointer;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Images */
/****************************************************************************************************/
img {
  width: auto;
  height: auto;
  max-width: 100%;
}

/* As a NATIVE picture img */
.imgWrapper {
  width: 100%;
  /* if wrapped in hyperlink */
}
.imgWrapper img {
  max-width: 100%;
  height: 100%;
  width: 100%;
  aspect-ratio: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.imgWrapper a img {
  max-width: 100%;
}

/* As BACKGROUND image */
.bgImgWrapper {
  max-width: 100%;
  z-index: 0;
  overflow: hidden;
  position: relative;
}
.bgImgWrapper:before {
  /* sets the height and then effectively removes itself from flow so as not to interfere with siblings */
  float: left;
  width: 1px;
  height: 0;
  content: "";
  margin-left: -1px;
  padding-top: 56.25%;
}
.bgImgWrapper:after {
  /* to clear float */
  content: "";
  display: table;
  clear: both;
}
.bgImgWrapper .bgImg {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  position: absolute;
}
.bgImgWrapper .bgImg {
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
.bgImgWrapper a {
  width: 100%;
  height: 100%;
  display: block;
}

/* As fullscreenimage */
.backstretch .overlay {
  inset: 0;
  position: absolute;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/*#region TYPOGRAPHY CMS Content Styles */
/****************************************************************************************************/
.cmsContent {
  color: #53565A;
  font-size: 1em;
  line-height: 1.4;
  /* Headings */
  /* Links */
  /*    a[1="_blank"]:not(.button):after {
      content: " ";
      position: relative;
      display: inline-block;
      font-size: .6em;
      padding-left: .5rem;
  }*/
  /* Paragraphs */
  /* SHARED list styles */
  /* Unordered Lists Styles ONLY */
  /* Make sure what you're adding belongs here, and not in the SHARED list styles above */
  /* Ordered Lists */
  /* Make sure what you're adding belongs here, and not in the SHARED list styles above */
  /* Misc content elements */
  /* last child selector */
  /*
  > :last-child {
  }
  */
}
.cmsContent font {
  color: inherit;
  font-size: inherit;
}
.cmsContent strong, .cmsContent b {
  font-family: "AvenirLTStd-Bold", sans-serif;
}
.cmsContent img {
  max-width: 100%;
}
.cmsContent em, .cmsContent i {
  font-style: italic;
}
.cmsContent a:not(.button) {
  color: #BA0C2F;
  text-decoration: none;
}
.cmsContent a:not(.button):hover, .cmsContent a:not(.button):focus {
  text-decoration: underline;
}
.cmsContent a:not(.button):active {
  color: #007083;
  text-decoration: underline;
}
.cmsContent .socialLinks a[target=_blank]:after {
  content: none;
}
.cmsContent p {
  line-height: 1.4;
}
.cmsContent ul,
.cmsContent ol {
  margin: 1rem 0;
  /* SHARED list item styles */
  /* SHARED nested list styles */
  /* Special lists:   Alpha & Roman Numerals */
}
.cmsContent ul li,
.cmsContent ol li {
  margin: 0 0 1rem 0;
  position: relative;
  padding: 0 0 0 1.75rem;
}
.cmsContent ul ol,
.cmsContent ul ul,
.cmsContent ol ol,
.cmsContent ol ul {
  margin: 0.4rem 0;
}
.cmsContent ul ol > li,
.cmsContent ul ul > li,
.cmsContent ol ol > li,
.cmsContent ol ul > li {
  background: none;
}
.cmsContent ul ol > li:before,
.cmsContent ul ul > li:before,
.cmsContent ol ol > li:before,
.cmsContent ol ul > li:before {
  color: #BA0C2F;
}
.cmsContent ul.roman > li,
.cmsContent ol.roman > li {
  padding-left: 2rem;
}
.cmsContent ul.roman > li:before,
.cmsContent ol.roman > li:before {
  content: counter(customListCounter, lower-roman) ".";
}
.cmsContent ul.alpha > li:before, .cmsContent ul.lettered > li:before,
.cmsContent ol.alpha > li:before,
.cmsContent ol.lettered > li:before {
  content: counter(customListCounter, lower-alpha) ".";
}
.cmsContent ul.upper > li:before, .cmsContent ul.uppercase > li:before,
.cmsContent ol.upper > li:before,
.cmsContent ol.uppercase > li:before {
  text-transform: uppercase;
}
.cmsContent ul.reset li,
.cmsContent ol.reset li {
  padding-left: 0;
}
.cmsContent ul.reset li:before,
.cmsContent ol.reset li:before {
  display: none;
}
.cmsContent ul {
  list-style-type: none;
}
.cmsContent ul > li {
  list-style-type: none;
  font-size: 1rem;
  position: relative;
  /* bullet icon */
}
.cmsContent ul > li:before {
  content: "";
  top: initial;
  left: 0;
  width: 1em;
  height: 1.4em;
  color: #BA0C2F;
  display: block;
  position: absolute;
  line-height: inherit;
  background-image: url(/CFImages/Icons/circle-primary.svg);
  background-size: 0.4em auto;
  background-repeat: no-repeat;
  background-position: center;
}
.cmsContent ol {
  counter-reset: customListCounter 0;
  list-style-position: outside;
}
.cmsContent ol > li {
  list-style-type: none;
  list-style-position: inside;
  counter-increment: customListCounter;
}
.cmsContent ol > li:before {
  top: initial;
  left: 0.4rem;
  content: counter(customListCounter) ".";
  color: #BA0C2F;
  position: absolute;
  font-weight: 400;
}
.cmsContent address {
  margin: 0.5rem 0 1rem;
}
.cmsContent mark {
  color: white;
  background-color: #00427E;
}
.cmsContent pre {
  white-space: pre-wrap;
  background-color: #efefef;
  padding: 2rem;
}
.cmsContent.highlight > p:nth-of-type(1) {
  font-size: 1.266rem;
  font-weight: 500;
  line-height: 1.2;
  margin: 0 0 1.38rem;
}
.cmsContent.highlightFirstElement > :first-child > * {
  line-height: inherit;
}

.dark, .dark .cmsContent {
  color: white;
  /* SHARED list styles */
  /* Unordered Lists Styles ONLY */
  /* Make sure what you're adding belongs here, and not in the SHARED list styles above */
  /* Ordered Lists */
  /* Make sure what you're adding belongs here, and not in the SHARED list styles above */
}
.dark .cardView, .dark .cmsContent .cardView {
  border-color: white !important;
}
.dark .meta, .dark .cmsContent .meta {
  color: #fff;
}
.dark .borderTopLongBefore:before, .dark .borderTopShortBefore:before, .dark .borderTopBefore:before, .dark .cmsContent .borderTopLongBefore:before, .dark .cmsContent .borderTopShortBefore:before, .dark .cmsContent .borderTopBefore:before {
  background-color: #fff;
}
.dark .borderBottomLongAfter:after, .dark .borderBottomShortAfter:after, .dark .borderBottomAfter:after, .dark .cmsContent .borderBottomLongAfter:after, .dark .cmsContent .borderBottomShortAfter:after, .dark .cmsContent .borderBottomAfter:after {
  background-color: #fff;
}
.dark ::selection, .dark .cmsContent ::selection {
  background: #1057AD;
  color: white;
}
.dark h1, .dark h2, .dark h3, .dark h4, .dark h5, .dark h6, .dark p, .dark ul li, .dark address, .dark .cmsContent h1, .dark .cmsContent h2, .dark .cmsContent h3, .dark .cmsContent h4, .dark .cmsContent h5, .dark .cmsContent h6, .dark .cmsContent p, .dark .cmsContent ul li, .dark .cmsContent address {
  color: white;
}
.dark a:link, .dark a:visited, .dark .cmsContent a:link, .dark .cmsContent a:visited {
  color: white !important;
}
.dark a:not(.button), .dark .cmsContent a:not(.button) {
  color: white !important;
}
.dark a:not(.button):focus:focus-visible, .dark .cmsContent a:not(.button):focus:focus-visible {
  color: #fff !important;
  text-decoration: underline;
}
.dark a:not(.button):hover, .dark .cmsContent a:not(.button):hover {
  color: #fff !important;
  text-decoration: underline;
}
.dark ul,
.dark ol, .dark .cmsContent ul,
.dark .cmsContent ol {
  /* SHARED nested list styles */
}
.dark ul ol > li:before,
.dark ul ul > li:before,
.dark ol ol > li:before,
.dark ol ul > li:before, .dark .cmsContent ul ol > li:before,
.dark .cmsContent ul ul > li:before,
.dark .cmsContent ol ol > li:before,
.dark .cmsContent ol ul > li:before {
  color: white;
}
.dark ul > li, .dark .cmsContent ul > li {
  /* bullet icon */
}
.dark ul > li:before, .dark .cmsContent ul > li:before {
  color: white;
  background-image: url(/CFImages/Icons/circle-white.svg);
}
.dark ol > li:before, .dark .cmsContent ol > li:before {
  color: white;
}
.dark mark, .dark .cmsContent mark {
  color: white;
  background-color: #1057AD;
}
.dark pre, .dark .cmsContent pre {
  background-color: #8a0923;
  color: white;
}
.dark blockquote, .dark .cmsContent blockquote {
  background-color: #8a0923;
  color: white;
}
.dark blockquote p, .dark .cmsContent blockquote p {
  color: white;
}
.dark .sideTitle, .dark .cmsContent .sideTitle {
  color: white !important;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Icons / FontAwesome / Kendo Icons */
/****************************************************************************************************/
/* Any and all FontAwesome icons */
[class^=fa-], [class*=" fa-"] {
  color: inherit;
}

/* shared Kendo widget icon styles (works with navigation css file) */
.k-icon {
  width: 1.4rem;
  height: 1.4rem;
  /* Expand / Collapse Arrows */
}
.k-icon:before {
  content: " ";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.6rem;
}
.k-icon.k-menu-expand-arrow:before, .k-icon.k-i-expand:before {
  background-image: url(/CFImages/Icons/plus.svg);
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
}
.k-state-active .k-icon.k-menu-expand-arrow:before, .k-state-active .k-icon.k-i-expand:before {
  transform: rotate(360deg);
  background-image: url(/CFImages/Icons/minus.svg);
}
.k-icon.k-i-collapse:before {
  background-image: url(/CFImages/Icons/minus.svg);
}
.k-state-active .k-icon.k-i-collapse:before {
  background-image: url(/CFImages/Icons/plus-white.svg);
}

/* selected element icon (needs to be white because dark background */
li.k-item.selected > div .k-icon:first-of-type.k-i-expand:before {
  background-image: url(/CFImages/Icons/plus-white.svg);
}
li.k-item.selected > div .k-icon:first-of-type.k-i-collapse:before {
  background-image: url(/CFImages/Icons/minus-white.svg);
}

/* Custom icons element with background svgs*/
.icon {
  display: inline-block;
  font-size: 1em;
}
.icon:before {
  content: " ";
  width: 1.4em;
  height: 1.4em;
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.icon.audio:before {
  background-image: url(/CFImages/Icons/audio.svg);
}
.icon.print:before {
  background-image: url(/CFImages/Icons/print.svg);
}
.icon.bookmark:before {
  background-image: url(/CFImages/Icons/bookmark.svg);
}
.icon.share:before {
  background-image: url(/CFImages/Icons/share.svg);
}
.icon.vcard:before {
  background-image: url(/CFImages/Icons/vcard.svg);
}
.icon.video:before {
  background-image: url(/CFImages/Icons/video.svg);
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Skip-to-Content + Sticky Links */
/****************************************************************************************************/
#skiptocontent a {
  left: -999px;
  position: absolute;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  z-index: -999;
}
#skiptocontent a:focus, #skiptocontent a:active {
  top: auto;
  left: auto;
  width: 30%;
  height: auto;
  z-index: 999;
  overflow: auto;
  margin: 10px 35%;
  padding: 5px;
  color: white;
  font-size: 1.2rem;
  text-align: center;
  border: 4px solid #00427E;
  border-radius: 15px;
  background-color: black;
}

/* #endregion */
/**

/****************************************************************************************************/
/* #region Layout / Structure */
/****************************************************************************************************/
/*Sticky Footer Items */
body {
  display: flex;
  flex-direction: column;
}

#wrapper {
  height: auto !important;
  flex: 1 0 auto;
}
.k-ie11 #wrapper {
  flex: inherit;
}

.pageWrapper {
  position: relative;
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  left: 0;
}

.sfPageEditor .wrapper > * {
  opacity: 1 !important;
  transform: translatey(0) !important;
}

.wrapper {
  z-index: 1;
  /*    > * {
      opacity: 0;
      transform: translatey(10%);
      transition: opacity 1s, transform .5s;
  }

  &.inViewport {
      > * {
          opacity: 1;
          transform: translatey(0);
      }

      h2 {
          &:after {
              width: 3rem;
          }
      }
  }*/
}

.wrapperPadding {
  padding: 4rem 0rem 5rem 0;
}

.minHeight {
  min-height: 460px;
}

.relative {
  position: relative;
}

a.backendEditLink {
  display: flex;
  margin: 0.5rem 0;
  position: absolute;
  z-index: 5;
  border: 1px solid #BA0C2F;
  border-radius: 0.5rem;
  background: white;
  justify-content: center;
  align-items: center;
  align-content: flex-end;
  width: auto;
  height: auto;
  right: 1rem;
  top: 0;
  padding: 0.5rem;
  color: #BA0C2F !important;
  font-size: 0.8rem;
  gap: 0.4em;
}
a.backendEditLink:hover {
  color: #BA0C2F !important;
}

.wrapperWithImage {
  position: relative;
  --backgroundImage: url("/CFImages/Backgrounds/background-dots-default.svg");
  z-index: 0;
  overflow: initial;
  /* Image placement */
}
.wrapperWithImage:after {
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  position: absolute;
  background-size: initial;
  background-repeat: no-repeat;
  background-image: var(--backgroundImage);
  background-position: 100% 0;
  z-index: 1;
}
.wrapperWithImage.twoImages:after {
  background-position: 100% 0 !important;
  background-size: 45% !important;
}
.wrapperWithImage.twoImages:before {
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  position: absolute;
  background-position: 0 80% !important;
  background-size: 45% !important;
  background-repeat: no-repeat;
  background-image: var(--backgroundImage);
  z-index: 1;
}
.wrapperWithImage div, .wrapperWithImage > * {
  z-index: 2;
}
.wrapperWithImage.allowOverflow {
  overflow: initial;
}
.wrapperWithImage.sizeIntial:after {
  background-size: initial;
}
.wrapperWithImage.sizeContain:after {
  background-size: contain;
}
.wrapperWithImage.sizeCover:after {
  background-size: contain;
}
.wrapperWithImage.size50:after {
  background-size: 50%;
}
.wrapperWithImage.size75:after {
  background-size: 70%;
}
.wrapperWithImage.rotate90:after {
  transform: rotate(90deg);
}
.wrapperWithImage.rotate180:after {
  transform: rotate(180deg);
}
.wrapperWithImage.rotate270:after {
  transform: rotate(270deg);
}
.wrapperWithImage.leftTop:after {
  background-position: 0 0;
}
.wrapperWithImage.leftMiddle:after {
  background-position: 0 50%;
}
.wrapperWithImage.leftBottom:after {
  background-position: 0 100%;
}
.wrapperWithImage.rightTop:after {
  background-position: 100% 0;
}
.wrapperWithImage.rightMiddle:after {
  background-position: 100% 50%;
}
.wrapperWithImage.rightBottom:after {
  background-position: 100% 100%;
}
.wrapperWithImage.experience {
  --backgroundImage: url("/CFImages/Backgrounds/teamExperienceBG.svg");
}
.wrapperWithImage.homeInsights {
  --backgroundImage: url("/CFImages/Backgrounds/homeInsights.svg");
  padding: 4rem 0rem 1rem 0;
}
.wrapperWithImage.homeJoin {
  --backgroundImage: url("/images/default-source/siteimages/pattern-backgrounds/background-dots-homepage-left-less.svg");
}
.wrapperWithImage.homeTeam {
  --backgroundImage: url("/CFImages/Backgrounds/relatedTeam.svg");
}
.wrapperWithImage.expertise, .wrapperWithImage.keyContacts {
  --backgroundImage: url("/CFImages/Backgrounds/teamExpertiseBG.svg");
}
.wrapperWithImage.teamBioTop {
  --backgroundImage: url("/CFImages/Backgrounds/teamBioContactBG.svg");
}
.wrapperWithImage.teamInsights {
  --backgroundImage: url("/CFImages/Backgrounds/teamInsightsBG.svg");
}
.wrapperWithImage.relatedTeam {
  --backgroundImage: url("/CFImages/Backgrounds/relatedTeam.svg");
}
.wrapperWithImage.publication {
  --backgroundImage: url("/CFImages/Backgrounds/publicationTopBG.svg");
}
.wrapperWithImage.publication:after {
  background-position: 100% 0 !important;
}
.wrapperWithImage.publication.twoImages {
  --backgroundImage: url("/CFImages/Backgrounds/publicationTopBG.svg");
}
.wrapperWithImage.publication.twoImages:before {
  background-Image: url("/CFImages/Backgrounds/publicationBottomBG.svg");
  background-position: 0 1800px !important;
}
.wrapperWithImage.publication.twoImages:after {
  background-position: 100% 0 !important;
}

/* Page specific Background based on the body class */
body.aboutPage .wrapperWithImage {
  --backgroundImage: url("/images/default-source/siteimages/pattern-backgrounds/background-dots-row-triple-square.svg");
}
body.aboutPage .wrapperWithImage:after {
  content: none;
}
body.peoplePage .wrapperWithImage {
  --backgroundImage: url("/images/default-source/siteimages/pattern-backgrounds/background-dots-row-triple-rectangle.svg");
}
body.peoplePage .wrapperWithImage:after {
  display: none !important;
  background-position: 0 100% !important;
}
body.twoImages .wrapperWithImage:after {
  background-position: 100% 0 !important;
  background-size: 45% !important;
}
body.twoImages .wrapperWithImage:before {
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  position: absolute;
  background-position: 0 80% !important;
  background-size: 45% !important;
  background-repeat: no-repeat;
  background-image: var(--backgroundImage);
  z-index: 1;
}

/* Page specific Background based on the body class (title and properties of the page) */
body {
  /* Illustration of circles in random pattern alternate */
  /* Illustration of circles in a 3 row rectangle */
  /* Illustration of circles in a 3 row square */
  /* Illustration of circles single row */
  /* Illustration of circles in random pattern with overlapping colour */
  /* Illustration of circles in a random 3 row pattern */
  /* Illustration of 3 circles with overlapping colour */
  /* Illustration of circles in a 2 column rectangle */
}
body.randomPattern .wrapperWithImage {
  --backgroundImage: url("/images/default-source/siteimages/pattern-backgrounds/background-dots-homepage-left.svg");
}
body.randomPatternAlt .wrapperWithImage {
  --backgroundImage: url("/images/default-source/siteimages/pattern-backgrounds/background-dots-homepage-right.svg");
}
body.tripleRectangle .wrapperWithImage {
  --backgroundImage: url("/images/default-source/siteimages/pattern-backgrounds/background-dots-row-triple-rectangle.svg");
}
body.tripleSquare .wrapperWithImage {
  --backgroundImage: url("/images/default-source/siteimages/pattern-backgrounds/background-dots-row-triple-square.svg");
}
body.singleRow .wrapperWithImage {
  --backgroundImage: url("/images/default-source/siteimages/pattern-backgrounds/background-dots-row-single.svg");
}
body.randomDots .wrapperWithImage {
  --backgroundImage: url("/images/default-source/siteimages/pattern-backgrounds/background-dots-random.svg");
}
body.randomDotsAlt .wrapperWithImage {
  --backgroundImage: url("/images/default-source/siteimages/pattern-backgrounds/background-dots-random-alternate.svg");
}
body.overlapCircles .wrapperWithImage {
  --backgroundImage: url("/images/default-source/siteimages/pattern-backgrounds/background-dots-pages.svg");
}
body.doubleRectangle .wrapperWithImage {
  --backgroundImage: url("/images/default-source/siteimages/pattern-backgrounds/background-dots-row-double.svg");
}

/* special layout classes for redgrave */
.twoToneWrapper {
  background: linear-gradient(to right, transparent 50%, #2b2b2b 50%);
}

.mobileImgGrid {
  position: relative;
}
.mobileImgGrid picture {
  padding: 0 2rem;
}
@media (max-width: 1024px) {
  .mobileImgGrid[data-media-breakpoint="1024px"] {
    flex-direction: column-reverse;
  }
  .mobileImgGrid[data-media-breakpoint="1024px"] picture {
    width: 50%;
    z-index: -1;
    opacity: 0.3;
    position: absolute;
    top: 3rem;
    right: 0px;
  }
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Containers */
/****************************************************************************************************/
.container {
  width: 76rem;
  max-width: 100%;
  margin: 0 auto;
  position: relative;
  max-width: calc(100vw - (5rem * 2) - var(--scrollbar-width));
}
@media (max-width: 1299px) {
  .container {
    max-width: calc(100vw - (5rem * 2) - var(--scrollbar-width));
  }
}
@media (max-width: 1024px) {
  .container {
    max-width: calc(100vw - (3rem * 2) - var(--scrollbar-width));
  }
}
@media (max-width: 767px) {
  .container {
    max-width: calc(100vw - (25px * 2) - var(--scrollbar-width));
  }
}
@media (max-width: 500px) {
  .container {
    max-width: calc(100vw - (1rem * 2) - var(--scrollbar-width));
  }
}
.container .container {
  padding-left: 0;
  padding-right: 0;
}
.container.wide {
  width: calc(80rem);
}
.container.narrow {
  width: calc(40rem);
}
.container.full {
  width: 100%;
  max-width: 100%;
}
.container.full > .container.full:not(.force) {
  padding-left: 0;
  padding-right: 0;
}
.container.full.force {
  width: calc(100vw - var(--scrollbar-width));
}
.container.edge {
  width: 100vw;
  max-width: calc(100vw);
  max-width: calc(100vw - var(--scrollbar-width));
  left: 50%;
  position: relative;
  transform: translateX(-50%);
  margin-left: 0;
  margin-right: 0;
}
.container.edge.full {
  width: 100vw;
  max-width: 100vw;
}
.container.force {
  max-width: 100vw;
  left: 50%;
  position: relative;
  transform: translateX(-50%);
  margin-left: 0;
  margin-right: 0;
}

/* pad an element, pushing content in to align with the main container - this needs to be updated to match global padding settings*/
.padLeft, .detailView.case .related.casesWrapper.splide .splide__arrows, .featuredCasesSlider .splide .splide__arrows {
  padding-left: calc((100vw - 76rem) / 2) !important;
  padding-left: calc((100vw - 76rem - var(--scrollbar-width)) / 2) !important;
}
@media (max-width: 1574px) {
  .padLeft, .detailView.case .related.casesWrapper.splide .splide__arrows, .featuredCasesSlider .splide .splide__arrows {
    padding-left: 4rem !important;
  }
}
@media (max-width: 1299px) {
  .padLeft, .detailView.case .related.casesWrapper.splide .splide__arrows, .featuredCasesSlider .splide .splide__arrows {
    padding-left: 5rem !important;
  }
}
@media (max-width: 1024px) {
  .padLeft, .detailView.case .related.casesWrapper.splide .splide__arrows, .featuredCasesSlider .splide .splide__arrows {
    padding-left: 3rem !important;
  }
}
@media (max-width: 767px) {
  .padLeft, .detailView.case .related.casesWrapper.splide .splide__arrows, .featuredCasesSlider .splide .splide__arrows {
    padding-left: 25px !important;
  }
}
@media (max-width: 500px) {
  .padLeft, .detailView.case .related.casesWrapper.splide .splide__arrows, .featuredCasesSlider .splide .splide__arrows {
    padding-left: 1rem !important;
  }
}

.padRight {
  padding-right: calc((100vw - 76rem) / 2) !important;
  padding-right: calc((100vw - 76rem - var(--scrollbar-width)) / 2) !important;
}
@media (max-width: 1574px) {
  .padRight {
    padding-right: 4rem !important;
  }
}
@media (max-width: 1299px) {
  .padRight {
    padding-right: 5rem !important;
  }
}
@media (max-width: 1024px) {
  .padRight {
    padding-right: 3rem !important;
  }
}
@media (max-width: 767px) {
  .padRight {
    padding-right: 25px !important;
  }
}
@media (max-width: 500px) {
  .padRight {
    padding-right: 1rem !important;
  }
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/*#region Site Header */
/****************************************************************************************************/
/* Sitemap page*/
body.sitemap .siteMapComplete {
  padding-left: 3rem;
  margin: 2rem 0;
}
body.sitemap .siteMapComplete li.rootMenuItem {
  margin-bottom: 2.25rem;
}
body.sitemap .siteMapComplete li.rootMenuItem > a:first-child {
  margin-bottom: 0.5rem;
  font-size: 1rem;
}
body.sitemap .siteMapComplete li {
  page-break-inside: avoid;
  text-transform: uppercase;
}
body.sitemap .siteMapComplete li a {
  display: block;
  margin-bottom: 0;
}
body.sitemap .siteMapComplete li ul li {
  text-transform: initial;
  margin-left: 1.25rem;
  margin-bottom: 0.5rem;
}

#header {
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
  position: fixed;
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  border-bottom: 1px solid #F1F1F1;
  box-shadow: 0px 4px 14px 0px rgba(0, 0, 0, 0.4);
}
#header .searchHiddenWrapper {
  display: none;
}
#header .topHeader {
  position: relative;
  overflow: hidden;
  padding: 0;
  background-color: #fff;
}
#header .topHeader p {
  margin: 0;
}
#header .header {
  position: relative;
  height: var(--header-height);
  padding: 0;
  z-index: 100;
  color: white;
  padding: 0rem;
  position: relative;
  background-color: white;
  z-index: 1001;
  padding: 1rem 0;
}
.homePageAlt #header .header {
  background: transparent;
}
#header .header .logo {
  justify-content: center !important;
}
#header .header .logo img {
  width: 100%;
  height: auto;
}
#header .header .menu {
  display: flex;
  justify-content: center;
  flex-direction: row;
  align-items: flex-end;
}
#header .header .headerGrid {
  display: grid !important;
  grid-template-areas: "logo topNav" "logo bottomNav";
  grid-template-columns: 16rem 1fr;
  grid-template-rows: auto;
  gap: 0 1rem;
}
@media (max-width: 1299px) {
  #header .header .headerGrid {
    grid-template-columns: 14rem 1fr;
  }
}
#header .header .headerGrid .logo {
  grid-area: logo;
}
#header .header .headerGrid .topNav {
  grid-area: topNav;
  padding-top: 0.4rem;
}
#header .header .headerGrid .topNav .socialLinks {
  justify-content: flex-end;
}
#header .header .headerGrid .bottomNav {
  grid-area: bottomNav;
  padding: 0.75rem 0 1rem 0;
}
@media (max-width: 1024px) {
  #header .header .headerGrid {
    grid-template-areas: "logo topNav";
    grid-template-columns: 16rem 1fr;
    grid-template-rows: initial;
    padding: 1rem 0;
  }
  #header .header .headerGrid .bottomNav {
    display: none;
  }
  #header .header .headerGrid .topNav {
    padding: 0;
    padding-right: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
@media (max-width: 767px) {
  #header .header .headerGrid .topNav {
    padding-right: 4rem;
  }
}
@media (max-width: 500px) {
  #header .header .headerGrid {
    padding: 1.5rem 0 1rem 0;
  }
  #header .header .headerGrid .topNav {
    padding-right: 4.6rem;
  }
}
#header .header .cmsContent a:not(.button) {
  color: #BA0C2F;
}
#header .header .cmsContent a:not(.button):focus:focus-visible {
  color: #009CB6;
}
#header .header .cmsContent a:not(.button):hover {
  color: #009CB6;
}
#header .header .cmsContent ul.socialLinks {
  gap: 0 1.5rem;
  justify-content: flex-end;
  align-items: center;
}
#header .header .cmsContent ul.socialLinks li a {
  border: none;
  justify-content: flex-end;
  border-radius: 0;
  color: #BA0C2F !important;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 16px;
  width: auto;
  aspect-ratio: initial;
}
@media only screen and (max-width: 767px) {
  #header .header .cmsContent ul.socialLinks {
    position: absolute;
    top: -0.5rem;
    right: 0rem;
  }
}

/* #endregion */
/****************************************************************************************************/
/********  ********************************************************************************************/
/*#region Site Main Content */
/****************************************************************************************************/
main {
  padding-top: var(--total-header-height);
}
main .bd .breadCrumb {
  position: relative;
  z-index: 5;
}
main .bd .breadCrumbInner {
  padding: 2rem 0;
  font-size: 14px;
  display: flex;
  flex-wrap: wrap;
}
main .bd .breadCrumbInner a {
  color: #606060;
  text-decoration: none;
  font-weight: 400;
}
main .bd .breadCrumbInner > *:last-child {
  color: #BA0C2F;
}
main .bd .breadCrumbInner > *:not(:last-child) {
  color: #606060;
  font-weight: 400;
}
main .bd .breadCrumbInner > *:not(:last-child):hover, main .bd .breadCrumbInner > *:not(:last-child):focus {
  text-decoration: underline;
}
main .bd .breadCrumbInner span.separator {
  margin: 0 0.6em;
}
main .bd .mainContent {
  padding: 0 0 2rem 0;
}
main .bd .mainContent .sfContentBlock img {
  max-width: 100%;
}
main .bd .sideContent {
  padding: 2rem 0;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/*#region Site Footer */
/****************************************************************************************************/
/* all footer sections */
/* NOTE USE mixin utility classes of mvxl or pvxl etc on Templates to contol padding and margins */
.siteFooter {
  position: relative;
  z-index: 1;
  border-top: 1px solid white;
}

.mainFooter {
  --footerMinHeight: 26rem;
  background-color: #BA0C2F;
  background-image: url(/CFImages/Redgrave-R.svg);
  background-position: left 3rem;
  background-size: 125px;
  font-size: 0.8rem;
  background-repeat: no-repeat;
}
.mainFooter .mainFooterGrid .mainFooterLeft {
  padding-top: 4rem;
  justify-content: flex-start;
  gap: 2rem;
}
.mainFooter .mainFooterGrid .mainFooterLeft div.footerImageSwap {
  width: 100%;
  max-width: 300px;
}
.mainFooter .mainFooterGrid .mainFooterLeft div.footerImageSwap a img.wordmarkOnly {
  display: block;
}
.mainFooter .mainFooterGrid .mainFooterLeft div.footerImageSwap a img.wordmarkAndIcon {
  display: none;
}
.mainFooter .mainFooterGrid .followUs {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1rem;
  text-transform: uppercase;
  align-items: center;
}
.mainFooter .mainFooterGrid .mainFooterRight {
  background-color: #2B2B2B;
  padding-top: 2rem !important;
  /* sitemap navs */
}
.mainFooter .mainFooterGrid .mainFooterRight .siteMapFooter {
  padding-left: 3rem;
  column-count: 3;
  column-gap: 4rem;
  margin: 2rem 0;
}
.mainFooter .mainFooterGrid .mainFooterRight .siteMapFooter li.rootMenuItem {
  margin-bottom: 2.25rem;
}
.mainFooter .mainFooterGrid .mainFooterRight .siteMapFooter li.rootMenuItem > a:first-child {
  margin-bottom: 0.5rem;
  font-size: 1rem;
}
.mainFooter .mainFooterGrid .mainFooterRight .siteMapFooter li {
  page-break-inside: avoid;
  text-transform: uppercase;
}
.mainFooter .mainFooterGrid .mainFooterRight .siteMapFooter li a {
  display: block;
  margin-bottom: 0.5rem;
}
.mainFooter .mainFooterGrid .mainFooterRight .siteMapFooter li ul li {
  text-transform: initial;
}
@media (max-width: 1650px) {
  .mainFooter {
    background-image: none;
  }
  .mainFooter .mainFooterGrid .mainFooterLeft div.footerImageSwap a img.wordmarkOnly {
    display: none !important;
  }
  .mainFooter .mainFooterGrid .mainFooterLeft div.footerImageSwap a img.wordmarkAndIcon {
    display: block !important;
    width: 100%;
  }
}
@media (max-width: 767px) {
  .mainFooter .mainFooterGrid .mainFooterRight {
    background-color: transparent !important;
    min-height: initial;
  }
  .mainFooter .mainFooterGrid .mainFooterRight .siteMapFooter {
    column-count: initial;
    column-gap: 0;
    margin: 0;
    padding: 0 2rem;
  }
}

.copyrightFooter {
  font-size: 0.7rem;
}
.copyrightFooter .cmsContent {
  font-size: 0.7rem;
}
.copyrightFooter .container {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.copyrightFooter a {
  color: #53565A;
}
/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Jump Menu Sticky Sidebar (Scroll Nav) */
/****************************************************************************************************/
.wrapperForSticky {
  position: relative;
}

.jumpMenuWrapper {
  position: absolute;
  top: 0;
  height: 100%;
  padding-bottom: 3rem;
  left: calc((100vw - 76rem) / 2);
  z-index: 5;
}
@media (max-width: 1599px) {
  .jumpMenuWrapper {
    left: var(--containerPadding);
  }
}
.jumpMenuWrapper ul.jumpMenu {
  width: var(--sideBarPadding);
}
.jumpMenuWrapper ul.jumpMenu li {
  position: relative;
  padding: 0.3rem 0;
}
.jumpMenuWrapper ul.jumpMenu li a {
  font-family: "Tiempos-Headline-SemiBold", "Times New Roman", serif;
  padding: 0;
  font-size: 1.5rem;
  letter-spacing: 1px;
  font-weight: 400;
  opacity: 0.7;
  color: #53565A;
  text-decoration: none;
  display: block;
  width: 100%;
}
.jumpMenuWrapper ul.jumpMenu li a:focus, .jumpMenuWrapper ul.jumpMenu li a:hover, .jumpMenuWrapper ul.jumpMenu li a:active {
  color: #BA0C2F;
  opacity: 1;
}
.jumpMenuWrapper ul.jumpMenu li a.white {
  color: #d3d3de;
}
.jumpMenuWrapper ul.jumpMenu.sticky {
  position: sticky;
  top: calc(7rem + 2rem);
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Universal Styles - Shared across cardViews and detailViews */
/****************************************************************************************************/
.viewMoreOuter {
  margin: 0rem auto 3rem;
  text-align: center;
}

/* #region Dates */
span.dates {
  /*text-transform: uppercase;*/
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
}
span.dates time {
  font-size: inherit;
  /*text-transform: uppercase;*/
}

/* #endregion */
/* #region Content Type Labels */
.contentTypeLabels {
  display: inline-block;
  font-family: "AvenirLTStd-Medium", sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: 0.7rem;
  color: #BA0C2F;
  margin-bottom: 0.4rem;
}
.contentTypeLabels span.labelValuesSeperator:before {
  content: ": ";
}
.contentTypeLabels a {
  color: inherit;
  text-decoration: none;
}
.contentTypeLabels span.subType {
  display: inline-block;
}

.meta {
  color: #BA0C2F;
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.15em;
  margin-bottom: 0.6rem;
}
.meta .separator {
  color: inherit;
  margin: 0 0.2rem;
}

/* #endregion */
/* #region Iframes + Videos + Embeds */
.embedWrapper {
  margin: 1rem 0;
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
}
.embedWrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  box-shadow: none;
}
.embedWrapper.video {
  padding-bottom: 56.25%;
  /* 16:9 */
}
.embedWrapper.audio {
  padding-bottom: inherit;
}
.embedWrapper.audio iframe {
  position: relative;
  width: 100%;
  min-height: 250px;
}

/* #endregion */
/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Social & Sharing Links */
/****************************************************************************************************/
.printAndShare {
  display: flex;
}

a.searchExpand {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #fff;
  border-radius: 50%;
  font-size: 20px;
  width: 2rem;
  aspect-ratio: 1;
  cursor: pointer;
}

ul.socialLinks,
.cmsContent ul.socialLinks {
  font-size: 1.2rem;
  flex-wrap: nowrap;
  justify-content: flex-start;
  list-style: none;
  margin: 0;
  display: flex;
  gap: 1rem;
}
ul.socialLinks li,
.cmsContent ul.socialLinks li {
  list-style: none;
  margin-bottom: 0;
  display: flex;
  align-items: center;
}
ul.socialLinks li:first-child,
.cmsContent ul.socialLinks li:first-child {
  margin-left: 0;
}
ul.socialLinks a,
.cmsContent ul.socialLinks a {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #fff;
  border-radius: 50%;
  font-size: 20px;
  width: 2rem;
  aspect-ratio: 1;
}

.siteFooter .dark .cmsContent ul.socialLinks a:focus:focus-visible {
  background-color: #2B2B2B;
}
.siteFooter .dark .cmsContent ul.socialLinks a:hover {
  background-color: #2B2B2B;
}

.topHeader.dark .cmsContent ul.socialLinks a:focus:focus-visible {
  background-color: #BA0C2F;
}
.topHeader.dark .cmsContent ul.socialLinks a:hover {
  background-color: #BA0C2F;
}

/** ShareThis (social sharing links) *****************************************************************/
ul.sharingLinks {
  display: none;
}
ul.sharingLinks.popup_content {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  border: 1px solid #2B2B2B;
  background-color: #fff;
  border-radius: 4px;
  padding: 1rem;
}
ul.sharingLinks.popup_content li.sharingLink button {
  justify-content: flex-start;
  margin-top: 0;
  padding: 1rem 0.5rem;
  font-size: 0.75rem;
  width: 100%;
}
ul.sharingLinks.popup_content li.sharingLink button svg {
  font-size: 1rem;
  margin-right: 0.5rem;
}
ul.sharingLinks.popup_content li.sharingLink button i {
  color: inherit;
}
ul.sharingLinks.popup_content li.sharingLink button:hover, ul.sharingLinks.popup_content li.sharingLink button:focus ul.sharingLinks.popup_content li.sharingLink button:active {
  color: white;
  background-color: transparent;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Sliders - .sliderView  Currently using SPLIDE */
/****************************************************************************************************/
/* Splide sliders */
.splide {
  visibility: visible;
  /* Show only the first slide ONLY until the slider is initialized */
  /* slider initialized */
  /* Arrows */
}
.splide:not(.is-active) .splide__list {
  width: 100%;
}
.splide:not(.is-active) .splide__slide {
  width: 100%;
  display: flex;
}
.splide:not(.is-active) .splide__slide:not(:first-child) {
  display: none;
}
.splide:not(.is-active) .splide__arrow {
  display: none;
}
.splide.is-active .splide__slide {
  display: flex;
}
.splide .splide__list.sliderView > li.splide__slide {
  margin: 0;
  width: auto;
}
.splide .splide__arrows {
  position: relative;
  top: initial;
  left: initial;
  bottom: initial;
  right: initial;
  margin: 2rem 0 0 0;
  padding: 0;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  gap: 1rem;
}
.splide .splide__arrows.hiddenArrows {
  display: none !important;
}
.splide .splide__arrow {
  position: relative;
  left: initial;
  right: initial;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: transparent;
  color: #BA0C2F;
  padding: 0.5rem;
  border-radius: 50%;
}
.splide .splide__arrow:before {
  width: 100%;
  background-color: white;
}
.splide .splide__arrow svg {
  margin-left: 0;
}
.splide .viewMoreAndArrows {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 0;
}
.splide .viewMoreAndArrows .splide__arrows {
  width: auto;
}
.splide .viewMoreAndArrows .splide__arrow {
  color: #BA0C2F;
}
.splide .viewMoreAndArrows .splide__arrow:before {
  background-color: #fff;
}
.splide .viewMoreAndArrows .splide__arrow:focus:focus-visible {
  color: white;
}
.splide .viewMoreAndArrows .splide__arrow:focus:focus-visible:before {
  background-color: #BA0C2F;
}
.splide .viewMoreAndArrows .splide__arrow:hover {
  color: white;
}
.splide .viewMoreAndArrows .splide__arrow:hover:before {
  background-color: #BA0C2F;
}
.splide .viewMoreAndArrows .viewAllMoreWrapper button {
  background-color: white;
}

.slider .slide {
  min-height: 500px;
}

.related.splide .splide__arrows {
  position: absolute;
  top: initial;
  left: initial;
  bottom: 2rem;
  right: calc((100vw - 76rem) / 2);
}
@media (max-width: 1599px) {
  .related.splide .splide__arrows {
    right: var(--containerPadding);
  }
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Single Slide Styles */
/****************************************************************************************************/
.slide article .innerContent {
  position: relative;
  height: 100%;
}
.slide article .innerContent .itemImage {
  position: relative;
}
.slide article .innerContent .itemImage .bgImgWrapper:before {
  /* sets the height and then effectively removes itself from flow so as not to interfere with siblings */
  float: left;
  width: 1px;
  height: 0;
  content: "";
  margin-left: -1px;
  padding-top: 56.25%;
}
.slide article .innerContent .itemImage .bgImgWrapper:after {
  /* to clear float */
  content: "";
  display: table;
  clear: both;
}
.slide article .innerContent .itemImage .bgImgWrapper a {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  position: absolute;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Home Slider Only */
/****************************************************************************************************/
.homeSlideshow {
  position: relative;
  padding-top: 4rem;
  padding-bottom: 3rem;
  min-height: 43vh;
  background-color: #BA0C2F;
  /*    .splide__arrows {
      display: none;
  }*/
}
.homeSlideshow .videoWrapper {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: right center;
     object-position: right center;
  position: absolute;
  inset: 2rem 0 0 0;
  z-index: 0;
  left: 60%;
  /* &:after { // TEMPORARY FIX for the line at the bottom of the video
              content: ' ';
              height: 2px;
              background: white;
              display: block;
              width: 100%;
              position: absolute;
              bottom: 0;
              left: 0;
              //background: red;
          }
  */
  /*@media(max-width: $S_Max) {
              &:after { // video overlay (used on mobile)
                  content: ' ';
                  display: block;
                  inset: 0;
                  position: absolute;
                  background: white;
                  opacity: 0.6;
                  z-index: 1;
              }
          }
  */
}
@media (max-width: 767px) {
  .homeSlideshow .videoWrapper {
    left: 0;
  }
}
.homeSlideshow .videoWrapper video {
  z-index: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: right center;
     object-position: right center;
}
.homeSlideshow .videoWrapper .bodymovin {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.homeSlideshow ul.splide__pagination {
  width: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  right: initial;
  bottom: initial;
  transform: translateX(-50%) translateY(-50%);
  display: flex;
  flex-direction: column;
  width: 76rem;
  align-items: flex-end;
  max-width: calc(100% - 4rem);
  display: none;
}
.homeSlideshow ul.splide__pagination li button.splide__pagination__page {
  width: 1rem;
  aspect-ratio: 1;
  margin: 0.5rem 0;
  background-color: #A3A3A3;
  padding: 0.25rem;
}
.homeSlideshow ul.splide__pagination li button.splide__pagination__page.is-active {
  transform: scale(1);
  background-color: #BA0C2F;
}
.homeSlideshow .splide__slide {
  position: relative;
  /*min-height: 30rem;*/
  /*padding: 3rem 0;*/
  padding: 0;
  /*        height: 70vh;
  min-height: 30rem;*/
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.homeSlideshow .splide__slide .cardContent {
  width: 60%;
  display: flex;
  position: relative;
  flex-direction: column;
  opacity: 0;
  max-width: 60%;
  width: 36rem;
}
@media (max-width: 767px) {
  .homeSlideshow .splide__slide .cardContent {
    width: 100%;
    max-width: 100%;
  }
}
.homeSlideshow .splide__slide .cardContent h1 {
  opacity: 0;
  position: absolute;
}
.homeSlideshow .splide__slide .cardContent h2 {
  font-size: 1rem;
  font-weight: 500;
  text-align: left;
  font-family: "AvenirLTStd-Medium", sans-serif;
  letter-spacing: initial;
}
.homeSlideshow .splide__slide .cardContent .content {
  -webkit-user-select: none;
          user-select: none;
}
.homeSlideshow .splide__slide .cardContent .content p {
  font-size: 0.9rem;
  line-height: 1.5;
}
.homeSlideshow .splide__slide .cardContent .summary {
  font-size: 1.4rem;
  font-weight: 100;
  width: 50rem;
  text-align: center;
}
.homeSlideshow .splide__slide .cardContent .button {
  display: inline-block;
  margin-top: 1rem;
}
.homeSlideshow .splide__slide .cardContent a span {
  text-decoration: underline;
}
.homeSlideshow .splide__slide .cardContent a:focus, .homeSlideshow .splide__slide .cardContent a:hover {
  text-decoration: none;
  text-decoration-color: white !important;
}
.homeSlideshow .splide__slide .cardContent a:focus span, .homeSlideshow .splide__slide .cardContent a:hover span {
  color: white;
  text-decoration: underline;
}
.homeSlideshow .splide__slide .container {
  position: relative;
  z-index: 1;
}
.homeSlideshow .splide__slide.transition-out h1 span span:nth-child(1) {
  opacity: 0;
}

#animatedTitle,
.splide__slide .cardContent h1 {
  font-size: 70px;
  display: flex;
  gap: 0.2em;
  -webkit-user-select: none;
          user-select: none;
  z-index: 20;
  font-size: 3.7rem;
}
#animatedTitle,
.splide__slide .cardContent h1 {
  font-size: 24px;
}
@media screen and (min-width: 320px) {
  #animatedTitle,
.splide__slide .cardContent h1 {
    font-size: calc(24px + 46 * ((100vw - 320px) / 1600));
  }
}
@media screen and (min-width: 1920px) {
  #animatedTitle,
.splide__slide .cardContent h1 {
    font-size: 70px;
  }
}
#animatedTitle span,
.splide__slide .cardContent h1 span {
  display: inline-block;
}
#animatedTitle span:nth-child(2),
.splide__slide .cardContent h1 span:nth-child(2) {
  color: white;
}
#animatedTitle .focus,
.splide__slide .cardContent h1 .focus {
  animation: focus 1s ease 0 normal;
  animation-fill-mode: both;
  animation-iteration-count: 1;
}

#animatedTitle {
  opacity: 0;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region LIST VIEWS - .listView THIS ONLY CONTROL THE GRIDS and number of ITEMS - NOT THE CARDS */
/****************************************************************************************************/
.listView {
  display: grid;
  position: relative;
  grid-template-columns: repeat(auto-fill, minmax(min(var(--card-width), 100%), 1fr));
  gap: var(--card-gap);
  margin-bottom: 2rem;
  --listViewArticleIndex: none;
}

.listView.expertises {
  gap: 0 1rem;
  /* only add the border to the last child and the 2nd last child if even */
}
.listView.expertises.gridCols {
  gap: 0 1rem;
}
.listView.expertises li {
  border-top: 1px solid #BA0C2F;
}
.listView.expertises li:last-child {
  border-bottom: 1px solid #BA0C2F;
}
.listView.expertises.twoCol li:nth-last-child(2) {
  border-bottom: 1px solid #BA0C2F;
}
@media only screen and (max-width: 767px) {
  .listView.expertises.twoCol li:nth-last-child(2) {
    border-bottom: none;
  }
}
.listView.expertises .cardView.expertise {
  padding: 1rem 0 0.75rem 0;
  margin: 0;
}
.listView.expertises .cardView.expertise h3 {
  margin: 0;
  color: #BA0C2F;
  text-decoration: none;
  font-size: 1.2rem;
  padding-right: 2rem;
}
.listView.expertises .cardView.expertise h3 a {
  color: inherit;
  text-decoration: none;
}
.listView.expertises .cardView.expertise h3:after {
  content: "";
  width: 1.4rem;
  background-image: url(/CFImages/Icons/arrow-right.svg);
  background-repeat: no-repeat;
  background-color: #fff;
  border-radius: 50%;
  background-size: 40%;
  background-position: center center;
  position: absolute;
  right: 0.5rem;
  top: 1rem;
  aspect-ratio: 1;
}
.listView.expertises .cardView.expertise:focus:focus-visible h3:after {
  background-image: url(/CFImages/Icons/arrow-right-white.svg);
  background-color: #BA0C2F;
}
.listView.expertises .cardView.expertise:hover h3:after {
  background-image: url(/CFImages/Icons/arrow-right-white.svg);
  background-color: #BA0C2F;
}

.featuredCasesSlider {
  height: 100%;
  min-height: unset;
  position: relative;
}
.featuredCasesSlider .casesWrapper.splide {
  height: inherit;
}
.featuredCasesSlider .cardView.imageOverlayCard.case {
  aspect-ratio: unset;
  width: 100%;
  border-top: none;
  position: relative;
}
.featuredCasesSlider .cardView.imageOverlayCard.case .imgWrapper {
  position: absolute;
}
.featuredCasesSlider .cardView.imageOverlayCard.case .cardContent {
  position: relative;
}
.featuredCasesSlider .cardView.imageOverlayCard.case .cardContent .container .sideTitle {
  top: 3.4rem;
}
@media (max-width: 1024px) {
  .featuredCasesSlider .cardView.imageOverlayCard.case .cardContent .container .sideTitle {
    top: 0;
  }
}
.featuredCasesSlider .cardView.imageOverlayCard.case .cardContent .contentWrapper {
  padding: 1rem 0 5rem 0;
}
.featuredCasesSlider .cardView.imageOverlayCard.case .cardContent .contentWrapper .multipleButtons {
  margin-top: 1rem;
}
.featuredCasesSlider .splide__track {
  height: inherit;
}
.featuredCasesSlider .splide .splide__arrows {
  justify-content: flex-start;
  margin: 0;
  max-width: 100%;
  position: absolute;
  bottom: 1.5rem;
}
.featuredCasesSlider .splide .splide__arrows button.splide__arrow {
  margin: 0;
}

.homePage .listView.expertises {
  /* this undos the only add the border to the last child and the 2nd last child if even (from the main expertise page) */
}
.homePage .listView.expertises li {
  border-top: 1px solid #BA0C2F;
  border-bottom: none;
  margin-top: 0;
}
.homePage .listView.expertises li:nth-last-child(2):nth-child(even) {
  border-bottom: none;
}
.homePage .listView.expertises li:last-child {
  border-bottom: 1px solid #BA0C2F;
}

.dark .listView.expertises li {
  border-top-color: #fff;
  border-bottom-color: #fff;
}
.dark .listView.expertises .cardView.expertise.subType-capability h3 {
  font-size: 1rem;
  opacity: 0.6;
}
.dark .listView.expertises .cardView.expertise.subType-capability:focus:focus-visible h3 {
  opacity: 1;
}
.dark .listView.expertises .cardView.expertise.subType-capability:hover h3 {
  opacity: 1;
}

/* ### Content Specific Sizing of Grids if required exact dimensions can be paired with default or fixedSizeScales or .fixedSize ### */
.listView.teammembers {
  --card-width: 18rem;
}

/* fixedSize class is a card that has a fixed pixel width that never scales and only wraps (should always be less than 320px) */
.listView.fixedSize {
  grid-template-columns: repeat(auto-fill, minmax(var(--card-width), var(--card-width)));
}

.listView.fixedSizeScales {
  grid-template-columns: repeat(auto-fit, minmax(min(var(--card-width), 100%), 1fr));
}

/* defined number of columns class */
.listView.gridCols {
  grid-template-columns: repeat(var(--column-count), 1fr);
  gap: 4rem 2rem;
}
.listView.gridCols.testimonials {
  gap: 2rem;
}

.listView.gridCols.oneCol {
  --column-count: 1;
}

.listView.gridCols.twoCol {
  --column-count: 2;
}

.listView.gridCols.threeCol {
  --column-count: 3;
}

.listView.gridCols.fourCol {
  --column-count: 4;
}

.listView.gridCols.fiveCol {
  --column-count: 5;
}

.listView.gridCols.sixCol {
  --column-count: 6;
}

/* Responsive resizing of gridsCols */
@media (max-width: 1299px) {
  .listView.gridCols {
    /* Go down to 4 */
    /* Go down to 3 */
  }
  .listView.gridCols.fiveCol, .listView.gridCols.sixCol {
    --column-count: 4;
  }
  .listView.gridCols.fourCol {
    --column-count: 3;
  }
}
@media (max-width: 1024px) {
  /* Go down to 3 */
  .listView.gridCols.fiveCol, .listView.gridCols.sixCol {
    --column-count: 3;
  }

  /* Go down to 2 */
  .listView.gridCols.fourCol, .listView.gridCols.threeCol {
    --column-count: 2;
  }
}
@media (max-width: 767px) {
  /* Go down to 2 */
  .listView.gridCols.fiveCol, .listView.gridCols.sixCol {
    --column-count: 2;
  }

  /* Go down to 1 */
  .listView.gridCols.twoCol, .listView.gridCols.threeCol {
    --column-count: 1;
  }
}
@media (max-width: 600px) {
  /* Go down to 1 */
  .listView.gridCols.fourCol, .listView.gridCols.fiveCol, .listView.gridCols.sixCol {
    --column-count: 1;
  }
}
.listView.testimonials {
  grid-template-columns: repeat(auto-fill, minmax(min(26rem, 100%), 1fr));
}

/* Related Content Lists (if different) */
/*
.related .listView.related {
}
*/
/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region CARDS - .cardView */
/****************************************************************************************************/
/* Card View Animations */
.listView .cardView {
  /*    animation: fadeInUp;
  animation-duration: .4s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(.86,0,.07,1);
  animation-delay: calc(var(--listViewArticleIndex)*150ms);
  opacity: 0;*/
}

/* Shared/Common Card Views Styles */
.cardView {
  height: 100%;
  display: flex;
  position: relative;
  flex-direction: column;
  /* Title */
  /* Dates */
  /* Authors */
  /* Summary */
}
.cardView h3 {
  font-size: 1.2rem;
  margin: 0;
}
.cardView span.dates {
  color: #53565A;
  font-size: 0.7rem;
  text-transform: uppercase;
}
.cardView .cardContent {
  padding: 1.5rem;
}
.cardView .cardContent .summary {
  margin-top: 0.5rem;
}

.cardView.imageCard {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border-radius: 4px;
  box-shadow: 1px 3px 6px 1px rgba(96, 96, 96, 0.1);
  aspect-ratio: initial;
}
.cardView.imageCard .imgWrapper {
  position: relative;
  max-height: 250px;
  overflow: hidden;
}
.cardView.imageCard .imgWrapper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1.4;
}
.cardView.imageCard span.featured {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  padding: 4px 8px;
  border-radius: 0.25rem;
  background-color: #BA0C2F;
  font-size: 0.9rem;
  color: #fff;
  text-transform: uppercase;
}
.cardView.imageCard .cardContent {
  position: relative;
  padding: 1.5rem 1.5rem 3.5rem 1.5rem;
}
.cardView.imageCard .cardContent h3 {
  font-size: 1.5rem;
  margin-bottom: 1rem;
}
.cardView.imageCard .cardContent h3 a {
  color: #BA0C2F;
}
.cardView.imageCard .cardContent a.readMore {
  position: absolute;
  font-size: 0.9rem;
  display: flex;
  flex-direction: row;
  padding-bottom: 0.5rem;
  bottom: 1.5rem;
  text-transform: uppercase;
  border-bottom: 1px solid #BA0C2F;
  text-decoration: none;
}
.cardView.imageCard .cardContent a.readMore.withArrow:after {
  content: "";
  width: 1rem;
  height: 1rem;
  display: inline-block;
  position: relative;
  margin-left: 3rem;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(/CFImages/Icons/arrow-right-primary.svg);
}
.cardView.imageCard.withScrollbar {
  /* scrollbar option*/
}
.cardView.imageCard.withScrollbar .cardContent {
  margin: 1.5rem 0.75rem 1.5rem 0.25rem;
  padding-top: 0;
  max-height: 400px;
  overflow-y: scroll;
}
.cardView.imageCard.withScrollbar .cardContent::-webkit-scrollbar {
  width: 0.375rem;
}
.cardView.imageCard.withScrollbar .cardContent::-webkit-scrollbar-track {
  box-shadow: 0;
  border-radius: 1rem;
}
.cardView.imageCard.withScrollbar .cardContent::-webkit-scrollbar-thumb {
  background: #D3D3D3;
  border-radius: 1rem;
}
.cardView.imageCard:hover .imgWrapper img {
  transition: all 0.6s ease;
  transform: scale(1.2);
}
.cardView.imageCard:hover .cardContent {
  color: #fff;
  background-color: #BA0C2F;
}
.cardView.imageCard:hover .cardContent h3 a {
  color: #fff;
}
.cardView.imageCard:hover .cardContent a.readMore {
  color: #fff;
  border-bottom: 1px solid #fff;
}
.cardView.imageCard:hover .cardContent a.readMore.withArrow:after {
  background-image: url(/CFImages/Icons/arrow-right-white.svg);
}

.cardView.imageCard.roundedImage {
  border: none;
  overflow: initial;
  box-shadow: none;
  align-items: center;
}
.cardView.imageCard.roundedImage .imgWrapper {
  width: 80%;
  border-radius: 50%;
  max-height: initial;
}
.cardView.imageCard.roundedImage .imgWrapper img {
  aspect-ratio: 1;
}
.cardView.imageCard.roundedImage .cardContent {
  margin-top: 1rem;
  padding: 1.5rem;
  border: 1px solid #F1F1F1;
  border-radius: 1.5rem;
  box-shadow: 1px 3px 6px 1px rgba(96, 96, 96, 0.1);
  aspect-ratio: 1;
}

.cardView.imageOverlayCard {
  position: relative;
  height: 100%;
  min-height: 200px;
  aspect-ratio: initial;
  background-color: #000;
  overflow: hidden;
  border-top: 1px solid white;
  /* zoom in the image */
}
.cardView.imageOverlayCard .imgWrapper {
  width: 100%;
  height: 100%;
  opacity: 0.4;
}
.cardView.imageOverlayCard .imgWrapper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 0%;
     object-position: 50% 0%;
  transform: scale(1.2);
  transition-duration: 1.5s;
}
.cardView.imageOverlayCard .cardContent {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  position: absolute;
  overflow: hidden;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.cardView.imageOverlayCard:hover .imgWrapper img {
  transform: scale(1);
}

/* Content Specfic Card Views Styles */
/* Team Card View */
.cardView.teammember {
  --offset-height: 150px;
  border-radius: 0.5rem;
  box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;
  background-color: #F1F1F1;
  overflow: hidden;
  position: relative;
  aspect-ratio: 0.9;
  justify-content: flex-end;
  max-width: 400px;
  margin: 0 auto;
}
.cardView.teammember .hoverContent {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  position: absolute;
  top: calc(100% - var(--offset-height));
  padding: 1rem 1.5rem;
  opacity: 1;
  z-index: 2;
  background: rgba(43, 43, 43, 0.6);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: var(--offset-height);
  transition: all 0.4s ease;
  /* position */
  /* email & phone etc */
}
.cardView.teammember .hoverContent .position {
  display: block;
  margin: 0.15rem 0 0 0;
  font-weight: 400;
  font-size: 0.9rem;
}
.cardView.teammember .hoverContent .top {
  height: var(--offset-height);
  margin-bottom: 2rem;
}
.cardView.teammember .hoverContent .top h3 {
  display: flex;
  font-weight: 400;
  margin: 0.5rem 0 0 0;
}
.cardView.teammember .hoverContent .top:before {
  margin-bottom: 0.5rem;
}
.cardView.teammember .hoverContent .contactInfo {
  display: flex;
  height: 0;
  opacity: 0;
  flex-direction: row;
  width: 100%;
  justify-content: space-between;
}
.cardView.teammember .hoverContent .contactInfo .flexStart {
  display: flex;
  gap: 0.5rem;
}
.cardView.teammember .hoverContent .contactInfo .flexStart .prefixLabel {
  padding-right: 0.4rem;
}
.cardView.teammember .hoverContent .contactInfo .flexStart span.seperator.pipe {
  color: inherit;
  line-height: 1;
  padding: 0;
}
.cardView.teammember .hoverContent .contactInfo .flexStart span.seperator.pipe:before {
  content: "|";
}
.cardView.teammember .hoverContent .contactInfo .flexEnd .svg-inline--fa {
  font-size: 1.4rem;
}
.cardView.teammember .imgWrapper img {
  aspect-ratio: 1;
  transform: scale(1.2);
}
.cardView.teammember:hover .hoverContent {
  top: 0;
  justify-content: flex-end;
  height: 100%;
}
.cardView.teammember:hover .hoverContent .top {
  height: auto;
}
.cardView.teammember:hover .hoverContent .contactInfo {
  height: auto;
  opacity: 1;
}

.cardView.teammember.keyContact {
  border-radius: initial;
  box-shadow: none;
  background-color: transparent;
  overflow: hidden;
  position: relative;
  aspect-ratio: initial;
  justify-content: flex-start;
}
.cardView.teammember.keyContact h3 {
  font-size: 1.2rem;
}
.cardView.teammember.keyContact h3 br {
  display: none;
}
.cardView.teamQRCode {
  display: flex;
  flex-direction: row;
  gap: 2rem;
  padding: 1rem;
  border: 1px solid #000;
  background-color: #fff;
  color: #53565A;
  justify-content: space-between;
  align-items: flex-start;
}
.cardView.teamQRCode a {
  color: #53565A;
}
.cardView.teamQRCode .imgWrapper {
  width: 150px;
}
.cardView.teamQRCode .imgWrapper img {
  -o-object-fit: contain;
     object-fit: contain;
}
.cardView.teamQRCode .QRCodes {
  width: 70%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.cardView.teamQRCode .QRCodes .biolink h3, .cardView.teamQRCode .QRCodes .biocardlink h3 {
  font-size: 1.1rem;
  margin: 0.5rem 0;
  color: inherit;
}
.cardView.teamQRCode .QRCodes .biolink img, .cardView.teamQRCode .QRCodes .biocardlink img {
  width: 200px;
  margin: 1rem 0 0 0;
}

.listWrapper .currentOpportunities {
  margin: 2rem 0;
}

.cardView.currentopportunity {
  padding: 2rem 1rem 0 1rem;
  margin: 1rem 0 0 0;
  border-top: 1px solid #BA0C2F;
  border-bottom: 1px solid #BA0C2F;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.cardView.currentopportunity h3 {
  color: #53565A;
}
.cardView.currentopportunity .cardContent {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 8rem;
}
.cardView.currentopportunity .cardContent a.button {
  margin: 0;
}
@media only screen and (max-width: 767px) {
  .cardView.currentopportunity .cardContent {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 2rem;
  }
}

/* Insight CardView */
/* featuredOnly listViews Card Styles */
.listView.featuredOnly {
  gap: 0 !important;
}
.listView.featuredOnly.insights li {
  padding: 1.5rem 0 1.5rem 0;
  border-bottom: 1px solid #A3A3A3;
}
.listView.featuredOnly.insights li .cardView.insight.titleOnly h3 {
  font-size: 1rem;
}
.listView.featuredOnly.insights li:nth-child(1) {
  padding: 0 0 1.5rem 0;
}
.listView.featuredOnly.insights li:nth-child(1) .cardView.insight.titleOnly h3 {
  font-size: 1.5rem;
}

.cardView.publication {
  padding: 1.5rem 1.5rem;
  background-color: #fff;
  border: 1px solid #E6E6E6;
  border-radius: 1.5rem;
  box-shadow: 1px 3px 6px 1px rgba(96, 96, 96, 0.1);
  width: 100%;
  min-height: 350px;
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
}
.sliderView .cardView.publication {
  box-shadow: none;
}
.cardView.publication:before {
  margin-bottom: 1rem;
}
.cardView.publication h3 {
  font-size: 1rem;
  font-weight: 500;
}
.cardView.publication h3 a {
  color: #53565A;
}
.cardView.publication h3 a:focus:focus-visible {
  color: #BA0C2F;
}
.cardView.publication h3 a:hover {
  color: #BA0C2F;
}
.cardView.publication .flexSpaceBetween {
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: space-between;
}
.cardView.publication .fixedBottom {
  display: flex;
  color: #53565A;
  font-size: 0.7rem;
  text-transform: uppercase;
  padding-top: 2rem;
}
.cardView.publication .fixedBottom span.dates {
  white-space: nowrap;
}
.cardView.publication .fixedBottom span.separator {
  padding: 0 0.25rem;
}
.cardView.publication.titleOnly {
  margin: 1.5rem 0 0 0;
  padding: 0;
  background-color: initial;
  aspect-ratio: initial;
  border-radius: initial;
  border: none;
  border-bottom: 1px solid;
  box-shadow: none;
}
.cardView.publication.titleOnly:before {
  content: none;
}
.cardView.publication:hover {
  background-color: #BA0C2F;
  color: #fff;
}
.cardView.publication:hover:before {
  background-color: #fff;
}
.cardView.publication:hover a:not(.backendEditLink) {
  color: #fff !important;
}
.cardView.publication:hover span.dates {
  color: #fff;
}

.cardView.imageOverlayCard.case {
  aspect-ratio: 3;
  width: 100%;
}
@media (max-width: 1024px) {
  .cardView.imageOverlayCard.case {
    aspect-ratio: 2.25;
  }
}
@media (max-width: 650px) {
  .cardView.imageOverlayCard.case {
    aspect-ratio: 1;
  }
}
@media (max-width: 500px) {
  .cardView.imageOverlayCard.case {
    aspect-ratio: 0.8;
  }
}
.cardView.imageOverlayCard.case .meta {
  text-transform: uppercase;
}

.detailView.case .cardView.imageOverlayCard.case {
  aspect-ratio: 3;
  width: 100%;
}
@media (max-width: 1700px) {
  .detailView.case .cardView.imageOverlayCard.case {
    aspect-ratio: 2;
  }
}
@media (max-width: 1299px) {
  .detailView.case .cardView.imageOverlayCard.case {
    aspect-ratio: 1.5;
  }
}
@media (max-width: 1024px) {
  .detailView.case .cardView.imageOverlayCard.case {
    aspect-ratio: 1.25;
  }
}
@media (max-width: 767px) {
  .detailView.case .cardView.imageOverlayCard.case {
    aspect-ratio: 0.8;
  }
}
@media (max-width: 500px) {
  .detailView.case .cardView.imageOverlayCard.case {
    aspect-ratio: 0.65;
  }
}
.detailView.case .cardView.imageOverlayCard.case .meta {
  text-transform: uppercase;
}

/* Ranking CardView */
.cardView.ranking {
  position: relative;
  justify-content: flex-start;
  margin: 0;
  padding: 2rem;
  border: 1px solid #D3D3D3;
  border-radius: 1.5rem;
  box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;
}
.cardView.ranking .imgWrapper.awardBadge {
  width: 60%;
  max-width: 240px;
  margin: 0 auto;
}
.cardView.ranking .cardContent {
  display: flex;
  height: 100%;
  min-height: 180px;
  flex-direction: column;
  justify-content: space-between;
  align-content: center;
  padding: 0;
  text-align: center;
}
.cardView.ranking .cardContent span {
  display: block;
  margin-top: 0.3rem;
}
.cardView.ranking .cardContent span.rankingPublisher {
  font-size: 0.7rem;
  font-weight: 500;
}
.cardView.ranking .cardContent span.awardRecipient {
  font-family: "Tiempos-Headline-SemiBold", "Times New Roman", serif;
  color: #BA0C2F;
  font-weight: 500;
  font-size: 1.5rem;
}
.cardView.ranking .cardContent span.awardSummary {
  margin: 1rem 0;
}
.cardView.ranking .cardContent span.awardDetails {
  color: #BA0C2F;
  text-transform: uppercase;
  font-weight: 300;
  font-size: 16px;
  margin-top: 1rem;
}
.cardView.ranking .cardContent span.awardDetails p {
  margin: 0;
  font-size: 16px;
  color: #BA0C2F;
  text-transform: uppercase;
  font-weight: 300;
}

/* FeaturedContent CardView */
/* Standard (with Image) */
.listView.featuredcontentitems {
  gap: 3rem 2rem;
  margin-bottom: 0;
  margin-top: 3rem;
}
.listView.featuredcontentitems li:nth-child(2n) .cardView.featuredcontentitem {
  grid-template-areas: "content image";
  grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr);
}
.listView.featuredcontentitems li:nth-child(2n) .cardView.featuredcontentitem .cardContent {
  --animation-name: "slideIn";
}

.cardView.featuredcontentitem {
  position: relative;
  flex-direction: row-reverse;
  gap: 0;
  display: grid;
  grid-template-areas: "image content";
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.8fr);
}
@media (max-width: 767px) {
  .cardView.featuredcontentitem {
    grid-template-areas: "image" "content" !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
.cardView.featuredcontentitem .cardContent {
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 100%;
  grid-area: content;
}
.cardView.featuredcontentitem .cardContent.observed.inViewport {
  --animation-name: "slideInRight";
  animation: var(--animation-name) 1s ease-out;
  animation-delay: 0;
  /*animation-timing-function: cubic-bezier(.28,.87,.77,1);*/
  animation-timing-function: ease-out;
  animation-fill-mode: both;
}
.cardView.featuredcontentitem .image {
  grid-area: image;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.cardView.featuredcontentitem .imgWrapper {
  padding: 0 3rem;
}
.cardView.featuredcontentitem .imgWrapper img {
  -o-object-fit: contain;
     object-fit: contain;
}
.cardView.featuredcontentitem .animation {
  position: relative;
  max-width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.cardView.featuredcontentitem .animation .bodymovin {
  width: 18rem;
  height: 18rem;
}
@media (max-width: 767px) {
  .cardView.featuredcontentitem .animation .bodymovin {
    width: 14rem;
    height: 14rem;
  }
}
.cardView.featuredcontentitem.inViewport.spinMe .imgWrapper img {
  animation: spin;
  animation-duration: 24s;
}
.cardView.featuredcontentitem.inViewport.pulseMe .imgWrapper img {
  animation: pulse;
  animation-duration: 3s;
  animation-iteration-count: 2;
}
.cardView.featuredcontentitem.inViewport.fadeMe .imgWrapper img {
  animation: fadeIn;
  animation-duration: 4s;
  animation-iteration-count: 2;
}
@media (max-width: 1024px) {
  .cardView.featuredcontentitem {
    flex-direction: column;
  }
  .cardView.featuredcontentitem .cardContent {
    width: 100%;
  }
  .cardView.featuredcontentitem .imgWrapper {
    position: absolute;
    top: 3rem;
    right: 0px;
    width: 40%;
    padding: 0;
    z-index: -1;
    opacity: 0.3;
  }
}

/* Numbered (no image) */
.listView.featuredcontentitems.numberedCards {
  margin-top: 2rem;
  /* odd cards left and right */
}
.listView.featuredcontentitems.numberedCards li {
  margin-top: -10rem;
}
.listView.featuredcontentitems.numberedCards li .cardView.featuredcontentitem {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
}
.listView.featuredcontentitems.numberedCards li .cardView.featuredcontentitem .cardContent {
  width: 50%;
}
.listView.featuredcontentitems.numberedCards li .cardView.featuredcontentitem .cardContent .top {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  margin-bottom: 0.5rem;
}
.listView.featuredcontentitems.numberedCards li .cardView.featuredcontentitem .cardContent .top span.largeNumber {
  display: block;
  padding-right: 1rem;
  color: #BA0C2F;
  font-family: "Tiempos-Headline-SemiBold", "Times New Roman", serif;
  line-height: 1;
  opacity: 0.1;
  transform: scale(20%);
}
.listView.featuredcontentitems.numberedCards li .cardView.featuredcontentitem .cardContent .top span.largeNumber {
  font-size: 80px;
}
@media screen and (min-width: 501px) {
  .listView.featuredcontentitems.numberedCards li .cardView.featuredcontentitem .cardContent .top span.largeNumber {
    font-size: calc(80px + 30 * ((100vw - 501px) / 799));
  }
}
@media screen and (min-width: 1300px) {
  .listView.featuredcontentitems.numberedCards li .cardView.featuredcontentitem .cardContent .top span.largeNumber {
    font-size: 110px;
  }
}
.listView.featuredcontentitems.numberedCards li .cardView.featuredcontentitem .cardContent .top h2 {
  margin: 0;
  margin-top: 0.4em;
  font-size: 1.3em;
  line-height: 1.3;
}
.listView.featuredcontentitems.numberedCards li .cardView.featuredcontentitem .cardContent .top h2:before {
  margin-bottom: 0.8em;
}
.listView.featuredcontentitems.numberedCards li .cardView.featuredcontentitem.inViewport .cardContent .top span.largeNumber {
  opacity: 1;
  transform: scale(100%);
  transition: all 0.8s ease;
}
.listView.featuredcontentitems.numberedCards li:nth-child(1) {
  margin-top: 0;
}
.listView.featuredcontentitems.numberedCards li:nth-child(2n) .cardView.featuredcontentitem {
  justify-content: flex-end;
}
@media only screen and (max-width: 767px) {
  .listView.featuredcontentitems.numberedCards li {
    margin-top: 0rem !important;
  }
  .listView.featuredcontentitems.numberedCards li .cardView.featuredcontentitem .cardContent {
    width: 100%;
  }
}

/* Global Alert CardView */
.cardView.globalalert {
  padding: 0.5rem 0;
  position: relative;
  display: flex;
  align-items: center;
}
.cardView.globalalert .alertIcon {
  padding-right: 1rem;
}
.cardView.globalalert .alertIcon svg {
  font-size: 1.2rem;
  color: white;
}
.cardView.globalalert .alertContent a.alertLabelLink {
  text-decoration: underline;
  display: block;
  margin-bottom: 0.25rem;
  font-size: 0.9rem;
}
.cardView.globalalert .alertContent .optionalContent {
  font-size: 0.8rem;
}
.cardView.globalalert .alertContent .optionalContent p {
  margin: 0;
  font-size: 0.8rem;
}
.cardView.globalalert .alertContent .optionalContent a {
  text-decoration: underline;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region DETAIL VIEWS - .detailView */
/****************************************************************************************************/
/* Shared detailView Styles */
.detailView {
  position: relative;
  /* Social */
}
.detailView .listView.testimonials {
  grid-template-columns: minmax(0, 1fr);
}
.detailView #keyContacts {
  font-size: 1.3rem;
}
.detailView section {
  scroll-margin-top: calc(var(--total-header-height) + 1rem);
}
.detailView .topperSection {
  position: relative;
  margin: 0 0 2rem 0;
  padding: 0;
  /* print / share buttons */
}
.detailView .topperSection h1 {
  color: #BA0C2F;
  margin: 0 0 0.5rem 0;
  line-height: 1.2;
}
.detailView .topperSection.imageTopper {
  width: 100%;
  background-color: #000;
  overflow: hidden;
  margin: 0;
}
.detailView .topperSection.imageTopper .imgWrapper {
  position: absolute;
  height: 100%;
  opacity: 0.4;
}
.detailView .topperSection.imageTopper .imgWrapper img {
  animation: cinematic;
  animation-duration: 5s;
  animation-fill-mode: forwards;
  -o-object-position: center center;
     object-position: center center;
}
.detailView .topperSection.imageTopper .topperContent {
  position: relative;
  min-height: 500px;
  color: white;
  display: flex;
  z-index: 4;
  height: 100%;
  flex-direction: column;
  justify-content: flex-start;
  padding: 3rem 0;
}
.detailView .topperSection.imageTopper .topperContent * {
  color: inherit;
}
@media (max-width: 1299px) {
  .detailView .topperSection.imageTopper .topperContent {
    min-height: 250px;
  }
}
.detailView .topperSection .meta {
  display: flex;
  flex-wrap: wrap;
  text-transform: uppercase;
  color: #606060;
}
.detailView .topperSection .meta span.separator {
  color: #BA0C2F;
}
.detailView .topperSection .authorTeam a {
  color: #606060;
}
.detailView .topperSection .authorTeam a:hover, .detailView .topperSection .authorTeam a:focus {
  color: #009CB6;
}
.detailView .printAndShare {
  display: flex;
  gap: 0.5rem;
  font-size: 1rem;
  margin: 0 0 1rem 0;
}
.detailView .printAndShare a {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #fff;
  border-radius: 50%;
  font-size: 1rem;
  width: 2rem;
  aspect-ratio: 1;
}
.detailView .printAndShare a:hover {
  color: white;
  background-color: #BA0C2F;
  cursor: pointer;
}
.detailView .printAndShare button {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 0.5rem;
  border: 1px solid #fff;
  border-radius: 50%;
  font-size: 1rem;
  width: 2rem;
  aspect-ratio: 1;
  background-color: transparent;
  padding: 0;
  margin: 0;
}
.detailView .printAndShare button svg[class*=fa-] {
  margin-left: 0;
}
.detailView .mainContent {
  padding: 0 0 4rem 0;
}
.detailView .overview {
  margin: 0 0 4rem 0;
}
.detailView .cmsContent ul.listView.testimonials li {
  padding: 0;
}
.detailView .cmsContent ul.listView.testimonials li:before {
  content: none;
}
.detailView div.socialAndSharing {
  display: flex;
  display: flex;
  flex: 0 1 auto;
  flex-wrap: wrap;
  flex-direction: row;
  margin-left: -0.5rem;
  margin-right: -0.5rem;
  box-sizing: border-box;
  padding: 1rem 0;
}
.detailView div.socialAndSharing > ul {
  flex: 0 0 auto;
  /*order: 0;*/
  width: initial;
  max-width: 100%;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  vertical-align: top;
  flex: 0 1 auto;
  width: auto;
}
.detailView div.socialAndSharing ul.socialLinks {
  font-size: 1.8rem;
}
.detailView div.socialAndSharing ul.socialLinks li {
  align-items: flex-end;
}
.detailView div.socialAndSharing ul.sharingLinks {
  font-size: 1.8rem;
}
.detailView div.socialAndSharing ul.sharingLinks li {
  align-items: flex-end;
}
.detailView .wrapperWithImage.expertise, .detailView .wrapperWithImage.keyContacts {
  min-height: 500px;
}
.detailView .sideBarPadding {
  padding-left: var(--sideBarPadding);
}
.detailView .related.casesWrapper.splide {
  position: relative;
}
.detailView .related.casesWrapper.splide .sideTitle {
  z-index: 10;
  left: var(--containerPadding);
}

/* Content Specfic detailView Styles */
.detailView.expertise .printAndShare a, .detailView.expertise .printAndShare button {
  border-color: #BA0C2F;
}
.detailView.expertise .related.expertises {
  grid-template-columns: minmax(0, 1fr);
}
.detailView.expertise .related.expertises .cardView.expertise h3 {
  font-size: 1.1rem;
}
.detailView.expertise .related.expertises .cardView.expertise h3 a:hover, .detailView.expertise .related.expertises .cardView.expertise h3 a:focus {
  color: #8a0923;
}
.detailView.expertise .related.publications {
  grid-template-columns: repeat(auto-fill, minmax(min(20rem, 100%), 1fr));
}
.detailView.expertise .keyContacts .related.teammembers {
  border-top: 1px solid #BA0C2F;
  padding-top: 2rem;
}
.detailView.expertise .casesWrapper.related.splide {
  height: inherit;
}
.detailView.expertise .casesWrapper.related.splide .cardView.imageOverlayCard.case {
  aspect-ratio: unset;
  width: 100%;
  border-top: none;
  position: relative;
}
.detailView.expertise .casesWrapper.related.splide .cardView.imageOverlayCard.case .imgWrapper {
  position: absolute;
}
.detailView.expertise .casesWrapper.related.splide .cardView.imageOverlayCard.case .cardContent {
  position: relative;
}
.detailView.expertise .casesWrapper.related.splide .cardView.imageOverlayCard.case .cardContent .container {
  max-width: 100%;
}
.detailView.expertise .casesWrapper.related.splide .cardView.imageOverlayCard.case .cardContent .container .sideTitle {
  top: 3.4rem;
}
@media (max-width: 1024px) {
  .detailView.expertise .casesWrapper.related.splide .cardView.imageOverlayCard.case .cardContent .container .sideTitle {
    top: 0;
  }
}
.detailView.expertise .casesWrapper.related.splide .cardView.imageOverlayCard.case .cardContent .contentWrapper {
  padding: 1rem 0 5rem 0;
}
.detailView.expertise .casesWrapper.related.splide .cardView.imageOverlayCard.case .cardContent .contentWrapper .multipleButtons {
  margin-top: 1rem;
}
.detailView.expertise .casesWrapper.related.splide .splide__track {
  height: inherit;
}
.detailView.expertise .casesWrapper.related.splide .splide__arrows {
  justify-content: flex-start;
  position: absolute;
  right: initial;
  width: auto;
  left: 2rem;
  top: initial;
  bottom: 4rem;
}
.detailView.expertise .accordionGroup {
  margin-top: 2rem;
}
.detailView.expertise .keyContacts .related.teammembers {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(14rem, 100%), 1fr));
}
.detailView.expertise section.overview.wrapper .cmsContent.highlightFirstElement {
  display: grid;
  grid-template-rows: 1fr;
}
.detailView.expertise section.overview.wrapper .cmsContent.highlightFirstElement > * {
  order: 4;
}
.detailView.expertise section.overview.wrapper .cmsContent.highlightFirstElement > :nth-child(1) {
  order: 1;
}
.detailView.expertise section.overview.wrapper .cmsContent.highlightFirstElement > :nth-child(2) {
  order: 2;
}
.detailView.expertise section.overview.wrapper .cmsContent.highlightFirstElement section.wrapper.related.testimonialsWrapper {
  order: 3;
}

.detailView #relatedTabStrip {
  margin-bottom: 2rem;
  margin-top: 2rem;
  /* The Tabs */
  /* The Tab Content*/
}
.detailView #relatedTabStrip ul.relatedTabs.k-tabstrip-items {
  flex-direction: column;
  width: 20rem;
  width: clamp(15rem, 21vw, 18rem);
}
.detailView #relatedTabStrip ul.relatedTabs.k-tabstrip-items li.k-tabstrip-item {
  border: none;
  background-color: transparent;
  /* active tab */
}
.detailView #relatedTabStrip ul.relatedTabs.k-tabstrip-items li.k-tabstrip-item .k-link {
  font-family: "Tiempos-Headline-SemiBold", "Times New Roman", serif;
  font-size: 1.3rem;
  font-weight: 400;
  padding: 0.4em 0;
  color: #A3A3A3;
  text-decoration-thickness: 0.1em !important;
}
.detailView #relatedTabStrip ul.relatedTabs.k-tabstrip-items li.k-tabstrip-item .k-link:focus, .detailView #relatedTabStrip ul.relatedTabs.k-tabstrip-items li.k-tabstrip-item .k-link:hover {
  text-decoration: underline;
}
.detailView #relatedTabStrip ul.relatedTabs.k-tabstrip-items li.k-tabstrip-item.k-state-active .k-link {
  color: #BA0C2F;
}
.detailView #relatedTabStrip .tabContent.k-tabstrip-content.k-content {
  padding: 0;
  border: none;
  background: transparent;
}
.detailView #relatedTabStrip .tabContent.k-tabstrip-content.k-content .overview {
  margin-bottom: 0;
}
.detailView #relatedTabStrip .k-tabstrip-content.k-state-focused, .detailView #relatedTabStrip .k-tabstrip-content:focus, .detailView #relatedTabStrip .k-tabstrip > .k-content.k-state-focused, .detailView #relatedTabStrip .k-tabstrip > .k-content:focus {
  outline: none;
}
@media (max-width: 767px) {
  .detailView #relatedTabStrip {
    display: flex;
    flex-direction: column;
  }
  .detailView #relatedTabStrip ul.relatedTabs.k-tabstrip-items {
    flex-direction: row;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    gap: 0 1.5rem;
    width: 100%;
  }
}

/* Team Detail View */
.detailView.teammember {
  /* This is for the Tab version */
}
.detailView.teammember .bioTopContent {
  position: relative;
  width: 100%;
  display: block;
  color: #fff;
  overflow: hidden;
  z-index: 2;
}
.detailView.teammember .bioTopContent .bioTopGrid {
  display: flex;
}
.detailView.teammember .bioTopContent .bioPhotoWrapper {
  position: relative;
  width: 50%;
  display: flex;
  justify-content: flex-end;
}
.detailView.teammember .bioTopContent .bioPhotoWrapper .imgWrapper img {
  aspect-ratio: 1;
}
.detailView.teammember .bioTopContent .bioContact {
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1rem 0;
}
.detailView.teammember .bioTopContent .bioContact .nameDesignationsPronunciation {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  margin: 1rem 0 0 0;
  padding: 0.25rem 0;
  /* title */
  /* designations */
  /* audio */
}
.detailView.teammember .bioTopContent .bioContact .nameDesignationsPronunciation h1 {
  position: relative;
  font-size: 3em;
  margin: 0;
  line-height: 1.2;
}
.detailView.teammember .bioTopContent .bioContact .nameDesignationsPronunciation h1 span {
  font-size: 60%;
  font-weight: 300;
}
.detailView.teammember .bioTopContent .bioContact .nameDesignationsPronunciation h1:after {
  content: none;
}
.detailView.teammember .bioTopContent .bioContact .nameDesignationsPronunciation .designations {
  color: #00427E;
  display: block;
  margin: 0;
}
.detailView.teammember .bioTopContent .bioContact .nameDesignationsPronunciation .audioFile {
  display: flex;
  height: 100%;
  align-items: flex-end;
  margin: 0 0 1.5rem 0;
  padding-left: 2rem;
}
.detailView.teammember .bioTopContent .bioContact .nameDesignationsPronunciation .audioFile a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  border: 1px solid #BA0C2F;
  border-radius: 50%;
  font-size: 1rem;
  width: 2rem;
  aspect-ratio: 1;
}
.detailView.teammember .bioTopContent .bioContact .nameDesignationsPronunciation .audioFile:hover a {
  color: white;
  background-color: #BA0C2F;
  cursor: pointer;
}
.detailView.teammember .bioTopContent .bioContact .pronounsWrapper {
  display: block;
  font-family: "Tiempos-Headline-SemiBold", "Times New Roman", serif;
  font-size: 1rem;
  color: #53565A;
  margin: 0.25rem 0 0 0;
}
.detailView.teammember .bioTopContent .bioContact span.position {
  display: block;
  margin-top: 2rem;
  font-size: 0.9rem;
  color: #53565A;
}
.detailView.teammember .bioTopContent .bioContact .listView.offices.simple {
  margin: 0;
}
.detailView.teammember .bioTopContent .bioContact .listView.offices.simple li a {
  font-size: 0.9rem;
  color: #53565A;
}
.detailView.teammember .bioTopContent .bioContact ul.contactInfo {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin: 1.25rem 0 0 0;
  font-size: 0.9rem;
}
.detailView.teammember .bioTopContent .bioContact ul.contactInfo li {
  margin-bottom: 0.25rem;
}
.detailView.teammember .bioTopContent .bioContact ul.contactInfo .prefixLabel {
  color: #53565A;
  padding-right: 5px;
}
.detailView.teammember .bioTopContent .bioContact .printAndShare a, .detailView.teammember .bioTopContent .bioContact .printAndShare button {
  border-color: #BA0C2F;
}
.detailView.teammember .bioTopContent .bioContact .printShareQRCode {
  display: flex;
  align-items: flex-end;
  margin-top: 2rem;
}
.detailView.teammember .bioTopContent .bioContact #openQRModal {
  margin-right: 100px;
  cursor: pointer;
}
.detailView.teammember .bioTopContent .bioContact #openQRModal svg {
  width: 3rem;
  height: 3rem;
}
.detailView.teammember .mainContent {
  min-height: 300px;
}
.detailView.teammember section.overview.wrapper .mainBio {
  display: flex;
  flex-direction: column;
}
.detailView.teammember section.overview.wrapper .mainBio > * {
  order: 4;
}
.detailView.teammember section.overview.wrapper .mainBio > :nth-child(1) {
  order: 1;
}
.detailView.teammember section.overview.wrapper .mainBio > :nth-child(2) {
  order: 2;
}
.detailView.teammember section.overview.wrapper .mainBio section.wrapper.related.testimonialsWrapper {
  order: 3;
  margin: 1rem 0;
}
.detailView.teammember section.overview.wrapper .mainBio section.wrapper.related.testimonialsWrapper.noSliderNeeded {
  margin-bottom: 2rem !important;
}
.detailView.teammember section.overview.wrapper .mainBio section.wrapper.related.testimonialsWrapper .splide__track ul.sliderView.related.testimonials {
  max-width: 100%;
  position: relative;
}
.detailView.teammember section.overview.wrapper .mainBio section.wrapper.related.testimonialsWrapper .splide__track ul.sliderView.related.testimonials li.slide {
  margin: 0;
  padding: 0;
}
.detailView.teammember section.overview.wrapper .mainBio section.wrapper.related.testimonialsWrapper .splide__track ul.sliderView.related.testimonials li.slide:before {
  content: none;
}
.detailView.teammember section.overview.wrapper .mainBio section.wrapper.related.testimonialsWrapper .splide__track ul.sliderView.related.testimonials li.slide .cardView.testimonial {
  width: 100%;
}
.detailView.teammember section.overview.wrapper .mainBio section.wrapper.related.testimonialsWrapper .splide__arrows {
  position: relative;
  top: initial;
  left: initial;
  bottom: initial;
  right: initial;
}
.detailView.teammember .mainBio div.fademe {
  position: relative;
  -webkit-mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
          mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
}
.detailView.teammember .personalQuote {
  font-size: 2.5rem !important;
  margin-bottom: 0 !important;
  padding: 1rem;
  border-top: solid 1px #00427E;
  text-align: center;
}
.detailView.teammember .listView.insights {
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 650px) {
  .detailView.teammember .listView.insights {
    grid-template-columns: 1fr;
  }
}
.detailView.teammember .mainContent.tabVersion .cardView.testimonial {
  background-image: none;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region QR Codes and Online Business Card */
/****************************************************************************************************/
/* The QRCode Image itself */
span.QRCodeWrapper {
  display: flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  flex-direction: column;
  border: 1px solid black;
  background: #fff;
  margin: 1rem 0;
  padding: 0.5rem;
}
span.QRCodeWrapper a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
span.QRCodeWrapper img {
  width: 100px;
}
span.QRCodeWrapper span.QRCodeLabel {
  font-size: 0.8rem;
}

/* Modal version */
#QRModal {
  display: none;
}

#QRModalMobile {
  display: none;
}

#QRModal {
  max-width: 100%;
  background-color: white;
  padding: 1rem;
  border: 1px solid #F1F1F1;
  border-radius: 1rem;
}
#QRModal span.QRCodeWrapper {
  border: none;
  margin: 0;
  padding: 0;
}
#QRModal span.QRCodeWrapper img {
  width: 280px;
}

/****************************************************************************************************/
/* Insight Detail View */
.footnotes {
  font-size: 12px;
}
.footnotes p, .footnotes ul, .footnotes li, .footnotes a {
  font-size: inherit;
}

.detailView.insight .topperSection.imageTopper .topperContent .printAndShare a, .detailView.insight .topperSection.imageTopper .topperContent .printAndShare button {
  border-color: white;
  color: white !important;
}
.detailView.insight .topperSection.imageTopper .topperContent .topperTitle h1 {
  margin-top: 0;
}
.detailView.insight .topperSection .topperContent .topperTitle h1 {
  margin-top: 0;
}
.detailView.insight .cmsContent.footnotes {
  margin: 1rem 0;
  padding-top: 1rem;
  border-top: 1px solid #D3D3D3;
  font-size: 12px;
}
.detailView.insight .cmsContent.footnotes p, .detailView.insight .cmsContent.footnotes ul, .detailView.insight .cmsContent.footnotes li, .detailView.insight .cmsContent.footnotes a {
  font-size: inherit;
}
.detailView.insight .printAndShare a, .detailView.insight .printAndShare button {
  border-color: #BA0C2F;
}

/* #endregion */
/****************************************************************************************************/
.detailView.case .topperSection .topperContent .meta {
  display: block;
}
.detailView.case .related.casesWrapper.splide .splide__arrows {
  right: initial;
}
.detailView.case .related.casesWrapper.splide .sideTitle {
  left: -5rem;
}

/****************************************************************************************************/
/* #region QR Codes and Online Business Card */
/****************************************************************************************************/
/* The QRCode Image itself */
span.QRCodeWrapper {
  display: flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  flex-direction: column;
  border: 1px solid black;
  background: #fff;
  margin: 1rem 0;
  padding: 0.5rem;
}
span.QRCodeWrapper a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
span.QRCodeWrapper img {
  width: 100px;
}
span.QRCodeWrapper span.QRCodeLabel {
  font-size: 0.8rem;
}

/* Modal version */
#QRModal {
  display: none;
}

#QRModalMobile {
  display: none;
}

#QRModal {
  max-width: 100%;
  background-color: white;
  padding: 1rem;
  border: 1px solid #F1F1F1;
  border-radius: 1rem;
}
#QRModal span.QRCodeWrapper {
  border: none;
  margin: 0;
  padding: 0;
}
#QRModal span.QRCodeWrapper img {
  width: 280px;
}

/* THE BIO CARD (Online Business Card) */
.bioCardTemplate a {
  text-decoration: none;
}
.bioCardTemplate header .bioCardHeader .container.narrow {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.bioCardTemplate main {
  padding-top: 0;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard {
  --busCardImageWidth: 180px;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .busCard {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 1rem;
  padding: 0;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .busCard .busCardLogo {
  display: block;
  justify-content: flex-start;
  height: 80px;
  width: 200px;
  background-image: url(/CFImages/logo.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center right;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .busCard .busCardHeader {
  display: flex;
  justify-content: flex-start;
  width: 100%;
  position: relative;
  z-index: 1;
  padding: 1rem 0 1rem 2rem;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .busCard .busCardHeader .busCardImage {
  width: var(--busCardImageWidth);
  border: 3px solid #fff;
  border-radius: 100%;
  overflow: hidden;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .busCard .busCardContent {
  padding: 0.5rem 1.5rem;
  width: calc(100% - var(--busCardImageWidth)/2);
  position: relative;
  z-index: 0;
  /* Call To Action Links (View Full Bio, Download Contact) */
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .busCard .busCardContent h3 {
  margin: 0;
  font-size: 1rem;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .busCard .busCardContent .fullTitle .nameAndPronunciation {
  margin-top: 1rem;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .busCard .busCardContent .fullTitle .nameAndPronunciation h1 {
  font-size: 1.5rem;
  font-weight: 500;
  color: #BA0C2F;
  margin: 0;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .busCard .busCardContent .fullTitle .nameAndPronunciation h1:after {
  content: none;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .busCard .busCardContent .fullTitle .nameAndPronunciation span.audioFile {
  padding-left: 1rem;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .busCard .busCardContent .fullTitle .designationsAndPronouns span.designations {
  font-size: 1rem;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .busCard .busCardContent .fullTitle .designationsAndPronouns .pronounsWrapper ul li {
  font-size: 1rem;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .busCard .busCardContent .callToActionWrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
  margin-top: 1.5rem;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .busCard .busCardContent .callToActionWrapper .socialLinks {
  font-size: 1.5rem;
  display: flex;
  gap: 1rem;
  align-items: center;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .busCard .busCardContent .callToActionWrapper .button {
  margin: 0;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .busCard .busCardContent .contactInfo {
  border-top: solid 1px #D3D3D3;
  padding-top: 1.5rem;
  margin: 1.5rem 0 1rem 0;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .busCard .busCardContent .contactInfo li {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .busCard .busCardContent .contactInfo li .icon {
  background-color: #BA0C2F;
  border-radius: 100%;
  height: 3rem;
  width: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .busCard .busCardContent .contactInfo li .icon:before {
  content: none;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .busCard .busCardContent .contactInfo li .icon svg {
  color: #fff;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .additionalInformation {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  /* ShortBio */
  /* Languages Spoken*/
  /* Location */
  /* Assistants */
  /* Social Media */
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .additionalInformation div.shortBio {
  width: 80%;
  text-align: center;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .additionalInformation .languagesSpoken {
  display: flex;
  flex-direction: row;
  gap: 0.25rem;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .additionalInformation .languagesSpoken p {
  font-weight: bold;
  margin: 0;
  text-align: right;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .additionalInformation .related.wrapper {
  border: 1px solid #F1F1F1;
  border-radius: 1rem;
  box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;
  padding: 2rem;
  width: 100%;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .additionalInformation .related.wrapper h2.listViewTitle {
  margin: 0 0 0.5rem 0;
  font-size: 1.2rem;
  text-transform: uppercase;
  color: #53565A;
  font-weight: 500;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .additionalInformation .related.teammembersWrapper.assistant .cardView.teammember .itemContent {
  padding: 0;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard .additionalInformation .socialLinks {
  font-size: 1.5rem;
  display: flex;
  gap: 1.5rem;
}
.bioCardTemplate main .bd .detailView.teammember.bioCard span.QRCodeWrapper img {
  width: 150px;
}
@media only screen and (max-width: 650px) {
  .bioCardTemplate main .bd .detailView.teammember.bioCard .busCard {
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
  }
  .bioCardTemplate main .bd .detailView.teammember.bioCard .busCard .busCardImage {
    position: relative;
    left: initial;
    width: var(--busCardImageWidth);
  }
  .bioCardTemplate main .bd .detailView.teammember.bioCard .busCard .busCardContent {
    width: 100%;
  }
}
.bioCardTemplate footer .bioCardFooter {
  text-align: center;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Documents */
/****************************************************************************************************/
.listView.documents {
  margin: 1rem 0;
  --card-width: 24rem;
  --card-gap: 2rem;
}
.listView.documents li {
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
}

.cardView.document {
  width: 100%;
  padding: 3rem 1.5rem 1.5rem 0;
  border-radius: 1.5rem;
  min-height: 275px;
}
.cardView.document a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
}
.cardView.document a span.redgraveIcon {
  display: flex;
  height: 120px;
  background-image: url(/CFImages/Redgrave-R.svg);
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 0.88;
}
.cardView.document a .titleLink {
  padding: 0 2rem;
  font-family: "Tiempos-Headline-SemiBold", "Times New Roman", serif;
  font-size: 1.2rem;
}
.cardView.document a .documentDetails {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  margin: 0;
  padding: 0;
  width: 200px;
  height: 100%;
}
.cardView.document a .documentDetails svg {
  color: inherit;
  font-size: 4rem;
  opacity: 0.4;
}
.cardView.document a .documentDetails .typeIcon {
  display: flex;
}
.cardView.document a .documentDetails .hoverIcon {
  opacity: 0;
  display: none;
}
.cardView.document a .documentDetails .textExtension {
  display: none;
}
.cardView.document a .documentDetails span.size {
  padding-top: 0.5rem;
  text-decoration: none;
  font-size: 0.8rem;
  opacity: 0.4;
}
.cardView.document:focus:focus-visible {
  background-color: #2B2B2B !important;
}
.cardView.document:focus:focus-visible a {
  text-decoration: none !important;
}
.cardView.document:focus:focus-visible a .documentDetails .typeIcon {
  opacity: 0;
  display: none;
}
.cardView.document:focus:focus-visible a .documentDetails .hoverIcon {
  opacity: 0.4;
  display: flex;
}
.cardView.document:hover {
  background-color: #2B2B2B !important;
}
.cardView.document:hover a {
  text-decoration: none !important;
}
.cardView.document:hover a .documentDetails .typeIcon {
  opacity: 0;
  display: none;
}
.cardView.document:hover a .documentDetails .hoverIcon {
  opacity: 0.4;
  display: flex;
}
@media only screen and (max-width: 767px) {
  .cardView.document a {
    flex-direction: column;
  }
  .cardView.document a span.titleLink {
    padding: 1rem 1.5rem;
  }
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Filtered Content Items */
/****************************************************************************************************/
.k-animation-container {
  border: none;
  /*> .k-popup {
      height: 100%;
      background-color: white;
      border-radius: $borderRadiusLarge;
      border: none;
      padding: 1rem;
  }*/
}
.k-animation-container .k-list {
  border: none;
  border-top: 1px solid #E6E6E6;
}
.k-animation-container .k-list .k-item {
  font-size: 1rem;
  color: #53565A;
  position: relative;
  padding: 0.5rem 2rem 0.5rem 1rem;
  border-bottom: 1px solid #E6E6E6;
  margin: 0 0.5rem;
}
.k-animation-container .k-list .k-item span.indented {
  padding-left: 1rem;
}
.k-animation-container .k-list .k-item.k-state-selected {
  background-color: transparent;
  color: #BA0C2F;
  box-shadow: none;
}
.k-animation-container .k-list .k-item.k-state-selected:after {
  background-color: #BA0C2F;
}
.k-animation-container .k-list .k-item:after {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1px solid #BA0C2F;
  background-color: white;
  position: absolute;
  top: calc(50% - 5px);
  right: 20px;
}
.k-animation-container .k-list .k-item:focus:focus-visible.k-state-selected, .k-animation-container .k-list .k-item:focus:focus-visible.k-state-focused {
  background-color: #E6E6E6;
}
.k-animation-container .k-list .k-item:focus:focus-visible:after {
  color: #BA0C2F;
  background-color: #BA0C2F;
}
.k-animation-container .k-list .k-item:hover.k-state-selected, .k-animation-container .k-list .k-item:hover.k-state-focused {
  background-color: #E6E6E6;
}
.k-animation-container .k-list .k-item:hover:after {
  color: #BA0C2F;
  background-color: #BA0C2F;
}

/* wraps the keyword and filters */
.contentFilters .fieldGroups {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(min(16rem, 100%), 1fr));
}
.peoplePage .contentFilters .fieldGroups {
  grid-template-columns: repeat(auto-fill, minmax(min(19rem, 100%), 1fr));
}
.contentFilters .fieldGroups fieldset {
  flex: 1 1 0;
}

.advancedFiltersContainer {
  margin: 0 auto;
  display: block !important;
  width: 100%;
}
.advancedFiltersContainer .fieldGroups {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
}
.advancedFiltersContainer .fieldGroups > fieldset {
  margin: 0;
  padding: 0;
}
.advancedFiltersContainer .fieldGroups > fieldset legend {
  clip: rect(0, 0, 0, 0);
  width: 1px;
  height: 1px;
  border: 0;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  position: absolute;
  background-color: #fff;
  color: #000;
}
.advancedFiltersContainer .fieldGroups.dropdowns .k-dropdown {
  width: 100%;
}
.advancedFiltersContainer .fieldGroups.dropdowns .k-dropdown:hover .k-dropdown-wrap, .advancedFiltersContainer .fieldGroups.dropdowns .k-dropdown.k-state-border-down .k-dropdown-wrap {
  border-color: #D3D3D3;
}
.advancedFiltersContainer .fieldGroups.dropdowns .k-dropdown .k-dropdown-wrap {
  border: 1px solid #D3D3D3;
  border-radius: 2rem;
  background-color: white;
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  background-image: none;
}
.advancedFiltersContainer .fieldGroups.dropdowns .k-dropdown .k-dropdown-wrap .k-input {
  padding: 1.6rem 2.5rem;
  font-size: 1rem;
  text-transform: uppercase;
  color: #606060;
  -webkit-user-select: none;
          user-select: none;
  white-space: normal;
  font-size: 0.8rem;
}
.advancedFiltersContainer .fieldGroups.dropdowns .k-dropdown .k-dropdown-wrap .k-select {
  padding-right: 1.5rem;
}
.advancedFiltersContainer .fieldGroups.dropdowns .k-dropdown .k-dropdown-wrap .k-select .k-icon {
  width: 0.8rem;
  height: 0.8rem;
  background-color: #BA0C2F;
  border-radius: 50%;
}
.advancedFiltersContainer .fieldGroups.dropdowns .k-dropdown .k-dropdown-wrap .k-select .k-icon:before {
  background-image: url(/CFImages/Icons/plus-white.svg);
  background-size: 0.4rem auto;
}
.advancedFiltersContainer .fieldGroups.dropdowns .k-dropdown .k-dropdown-wrap.k-state-hover, .advancedFiltersContainer .fieldGroups.dropdowns .k-dropdown .k-dropdown-wrap .k-state-focused, .advancedFiltersContainer .fieldGroups.dropdowns .k-dropdown .k-dropdown-wrap.k-state-active {
  background-color: #BA0C2F;
  color: #fff;
}
.advancedFiltersContainer .fieldGroups.dropdowns .k-dropdown .k-dropdown-wrap.k-state-hover .k-input, .advancedFiltersContainer .fieldGroups.dropdowns .k-dropdown .k-dropdown-wrap .k-state-focused .k-input, .advancedFiltersContainer .fieldGroups.dropdowns .k-dropdown .k-dropdown-wrap.k-state-active .k-input {
  color: #fff;
}
.advancedFiltersContainer .fieldGroups.dropdowns .k-dropdown .k-dropdown-wrap.k-state-hover .k-select .k-icon, .advancedFiltersContainer .fieldGroups.dropdowns .k-dropdown .k-dropdown-wrap .k-state-focused .k-select .k-icon, .advancedFiltersContainer .fieldGroups.dropdowns .k-dropdown .k-dropdown-wrap.k-state-active .k-select .k-icon {
  background-color: #fff;
}
.advancedFiltersContainer .fieldGroups.dropdowns .k-dropdown .k-dropdown-wrap.k-state-hover .k-select .k-icon:before, .advancedFiltersContainer .fieldGroups.dropdowns .k-dropdown .k-dropdown-wrap .k-state-focused .k-select .k-icon:before, .advancedFiltersContainer .fieldGroups.dropdowns .k-dropdown .k-dropdown-wrap.k-state-active .k-select .k-icon:before {
  background-image: url(/CFImages/Icons/plus-primary.svg);
}

.k-list-container {
  border: 1px solid #A3A3A3;
  border-top-width: 0;
}

.k-list-optionlabel,
.k-list .k-item {
  padding: 0.8rem 0.6rem;
}
.k-list-optionlabel.k-state-selected,
.k-list .k-item.k-state-selected {
  background-color: #009CB6;
}
.k-list-optionlabel.k-state-selected:hover,
.k-list .k-item.k-state-selected:hover {
  background-color: #00869d;
}

/* Filters */
.filtersContainer {
  display: block;
  margin: 0 auto;
  margin: 2rem auto;
}
.filtersContainer fieldset legend {
  clip: rect(0, 0, 0, 0);
  width: 1px;
  height: 1px;
  border: 0;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  position: absolute;
  background-color: #fff;
  color: #000;
}

/* Keyword Search */
.keywordSearchWrapper {
  margin-bottom: 0.5rem;
  position: relative;
}
.keywordSearchWrapper input[type=search] {
  border: 1px solid #D3D3D3;
  border-radius: 2rem;
  background-color: white;
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  padding: 0.5rem 2.5rem;
  box-sizing: border-box;
  height: 3.15rem;
  font-size: 0.8rem;
  /* the animated underline */
}
.keywordSearchWrapper input[type=search] + .textFieldUnderline {
  width: 100%;
  height: 1px;
  display: block;
  margin: 0;
  margin-top: -1px;
  background-size: 200%;
  background-position: 100% 0%;
  /*background-image: linear-gradient(to right, #BA0C2F, #BA0C2F 50%, transparent 50%, transparent 75%);*/
  background-image: linear-gradient(to right, #A3A3A3, #A3A3A3 50%, transparent 50%, transparent 75%);
  position: relative;
  z-index: 10;
}
.keywordSearchWrapper input[type=search]:focus, .keywordSearchWrapper input[type=search]:active, .keywordSearchWrapper input[type=search]:hover {
  outline: none !important;
  /*border-bottom: 2px solid $primaryColour;*/
}
.keywordSearchWrapper input[type=search]:focus + .textFieldUnderline, .keywordSearchWrapper input[type=search]:active + .textFieldUnderline, .keywordSearchWrapper input[type=search]:hover + .textFieldUnderline {
  background-position: 0% 0%;
  transition: all 0.2s cubic-bezier(0.86, 0, 0.07, 1), font-size 0s linear, padding 0s linear, margin 0s linear;
  transition-duration: 250ms;
}
.keywordSearchWrapper .buttons {
  position: absolute;
  right: 1rem;
  top: 0;
  left: auto;
  bottom: 1px;
  display: flex;
  align-items: stretch;
}
.keywordSearchWrapper .buttons .clearSearch {
  display: none;
  opacity: 0;
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
}
.keywordSearchWrapper .buttons .clearSearch .icon:before {
  background-size: 1rem auto;
}
.keywordSearchWrapper .buttons .button {
  /* border: none;
  padding: 0;
  background-color: transparent;
  width: 2.6rem;
  margin: 0;*/
  border: none;
  padding: 0 0.5rem 0 0;
  background-color: transparent;
  width: 3.2rem;
  margin: 0;
  margin-right: -1rem;
}

/* Search by initial (alphabet) */
.searchByInitialContainer {
  margin: 2rem 0;
}
.searchByInitialContainer a.initialFilter {
  cursor: pointer;
  text-decoration: none;
}
.searchByInitialContainer a.initialFilter.selected {
  color: #009CB6;
}

/* Filtered Content Wrapper */
:is(.filteredContent, .resultsWrapper) {
  padding-bottom: 0;
}
:is(.filteredContent, .resultsWrapper) .sortOptions {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0 1rem;
  margin: 1rem 0;
  justify-content: flex-start;
}
:is(.filteredContent, .resultsWrapper) .sortOptions .button {
  margin: 0;
  height: 3.15rem;
  text-align: center;
  padding-left: 1rem;
  padding-right: 1rem;
  justify-content: center;
  flex-grow: 1;
}
@media only screen and (max-width: 767px) {
  :is(.filteredContent, .resultsWrapper) .sortOptions {
    flex-wrap: wrap;
    gap: 1rem 1rem;
  }
}
:is(.filteredContent, .resultsWrapper) button.sortOrder span {
  display: none;
}
:is(.filteredContent, .resultsWrapper) button.sortOrder[data-sort-order=Asc] .asc {
  display: initial;
}
:is(.filteredContent, .resultsWrapper) button.sortOrder[data-sort-order=Desc] .desc {
  display: initial;
}
:is(.filteredContent, .resultsWrapper) .buttonsContainer .button i {
  margin-left: 2rem;
}
:is(.filteredContent, .resultsWrapper) .buttonsContainer .button:not(:last-child) {
  margin-right: 1rem;
}
:is(.filteredContent, .resultsWrapper) .loadMoreContainer {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 2rem 0;
}
:is(.filteredContent, .resultsWrapper) .loadMoreContainer button .icon {
  font-size: 0.8rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 0.6rem;
  margin-right: 0.6rem;
}
:is(.filteredContent, .resultsWrapper) .permanentLinkField {
  display: flex;
}
:is(.filteredContent, .resultsWrapper) .permanentLinkField button {
  padding: 0.6rem 1rem;
  margin: 0;
}
:is(.filteredContent, .resultsWrapper) .permanentLinkField button svg {
  margin: 0;
}

/* Active filters tags/pills */
#activeFilters {
  display: none;
  height: 0;
}
#activeFilters .activeFilterGroup {
  display: inline-flex;
  flex-wrap: wrap;
}
#activeFilters .activeFilterGroup .activeFilterTag {
  border: 1px solid #E6E6E6;
  padding: 0.4rem 1rem;
  cursor: pointer;
  position: relative;
  padding-right: 2.4rem;
  margin-bottom: 0.6rem;
  -webkit-user-select: none;
          user-select: none;
  margin-right: 1rem;
  color: #53565A;
}
#activeFilters .activeFilterGroup .activeFilterTag:not(:last-of-type) {
  margin-right: 0.6rem;
}
#activeFilters .activeFilterGroup .activeFilterTag:after {
  top: 50%;
  content: " ";
  right: 0.8rem;
  color: #009CB6;
  background-image: url(/CFImages/Icons/plus.svg);
  background-size: 0.6rem auto;
  background-position: center;
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
  transform-origin: center;
  width: 0.6rem;
  height: 0.6rem;
  position: absolute;
}
#activeFilters .activeFilterGroup .activeFilterTag:hover, #activeFilters .activeFilterGroup .activeFilterTag:focus {
  border-color: #A3A3A3;
}
#activeFilters .activeFilterGroup .activeFilterTag:active {
  border-color: #A3A3A3;
}

.filtersPopupWrapper {
  width: 100%;
  left: 0 !important;
}

#loadingIndicator {
  height: 200px;
  display: none;
  margin-top: 2rem;
}
#loadingIndicator svg {
  margin: 0 auto;
}
#loadingIndicator.loading {
  content: "loading";
  line-height: 200px;
  text-align: center;
  display: block;
}

#loadingCounter {
  margin: 2rem 0 2rem;
  color: #53565A;
  font-style: italic;
}

#filteredContentResult li.noResults {
  color: #53565A;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0;
  flex: initial;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#filteredContentResult li.noResults .message {
  font-style: italic;
}
/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/*#region Popups / Modals (SHARED) */
/****************************************************************************************************/
.popup_wrapper .button.close {
  top: -2rem;
  right: 0;
  width: 2rem;
  height: 2rem;
  position: absolute;
  border: none;
  padding: 0;
  border-radius: 0;
  background-color: white;
  border: 1px solid #F1F1F1;
}
.popup_wrapper .button.close:before {
  background-image: url(/CFImages/Icons/plus.svg);
  background-size: 1rem auto;
  background-position: center;
  background-repeat: no-repeat;
  transform: rotate(45deg);
  transform-origin: center;
  content: " ";
  display: inline-block;
  position: absolute;
  inset: 0;
}
.popup_wrapper .button.close:focus, .popup_wrapper .button.close:hover {
  background-color: transparent;
}
.popup_wrapper .button.close:focus:before, .popup_wrapper .button.close:hover:before {
  /*background-image: url(/CFImages/Icons/plus-white.svg);*/
}
.popup_wrapper .button.close:active {
  background-color: transparent;
}
.popup_wrapper .button.close:active:before {
  /*background-image: url(/CFImages/Icons/plus-white.svg);*/
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Forms + Inputs / Fields */
/****************************************************************************************************/
label {
  cursor: pointer;
}

/* Text Fields */
input {
  color: #606060;
  width: 100%;
  height: 3.15rem;
  max-width: 100%;
  padding: 0.2rem 1rem;
  padding-right: 3rem;
  text-overflow: ellipsis;
  border: 1px solid #F1F1F1;
  background-color: white;
  font-weight: 100;
  transition: all 0.2s cubic-bezier(0.86, 0, 0.07, 1), font-size 0s linear, padding 0s linear, margin 0s linear;
  /*    &:hover, &:focus {
      @include placeholder {
          opacity: 0.4;
      }
  }*/
}
input::-webkit-input-placeholder {
  opacity: 1;
  -webkit-transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  text-transform: uppercase;
}
input:-moz-placeholder {
  opacity: 1;
  -moz-transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  text-transform: uppercase;
}
input::-moz-placeholder {
  opacity: 1;
  -moz-transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  text-transform: uppercase;
}
input:-ms-input-placeholder {
  opacity: 1;
  -ms-transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  text-transform: uppercase;
}
input:focus:focus-visible {
  outline: 1px solid #009CB6;
  outline-offset: 0;
}
textarea {
  width: 100%;
  min-height: 5rem;
  display: block;
  border: 1px solid #F1F1F1;
  font-weight: 100;
}
textarea:hover::-webkit-input-placeholder, textarea:focus::-webkit-input-placeholder {
  opacity: 0.4;
}
textarea:hover:-moz-placeholder, textarea:focus:-moz-placeholder {
  opacity: 0.4;
}
textarea:hover::-moz-placeholder, textarea:focus::-moz-placeholder {
  opacity: 0.4;
}
textarea:hover:-ms-input-placeholder, textarea:focus:-ms-input-placeholder {
  opacity: 0.4;
}
textarea:focus {
  outline: 1px solid #009CB6;
  outline-offset: 0;
}

/* Select Lists */
select {
  width: 100%;
  height: 3.15rem;
  max-width: 100%;
  color: #606060;
  cursor: pointer;
  border: 1px solid #F1F1F1;
  padding: 0.2rem 1rem;
  padding-right: 1.6rem;
  font-size: 1rem;
  font-weight: 100;
  line-height: 1;
  /* Firefox */
  -webkit-appearance: none;
  /* Safari and Chrome */
  appearance: none;
  background-size: 0.8rem auto;
  background-image: url(/CFImages/Icons/plus.svg);
  background-repeat: no-repeat;
  background-position: right 1rem center;
  transition: all 0.2s cubic-bezier(0.86, 0, 0.07, 1), font-size 0s linear, padding 0s linear, margin 0s linear;
}
select:hover {
  border-color: rgba(186, 12, 47, 0.7);
}
select:focus {
  outline: none;
  outline: 1px solid #009CB6;
  outline-offset: 0;
}
select > option {
  text-transform: none;
}
select > option:checked, select > option:hover {
  background-color: #E6E6E6;
}

/* Radio Buttons */
input[type=radio] {
  height: 1em;
  cursor: pointer;
  display: inline-block;
  width: auto;
}

/*  */
form {
  /* Form-only Buttons */
}
form label {
  cursor: pointer;
}
form fieldset {
  padding: 0;
  border: none;
}
/* clears the ‘X’ from Internet Explorer */
input[type=search]::-ms-clear {
  display: none;
  width: 0;
  height: 0;
}

input[type=search]::-ms-reveal {
  display: none;
  width: 0;
  height: 0;
}

/* clears the ‘X’ from Chrome */
input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
  display: none;
}

.hiddenForHumans {
  position: absolute !important;
  z-index: -10 !important;
  pointer-events: none !important;
  visibility: hidden !important;
  width: 0;
  height: 0;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Sitefinity Forms Only */
/****************************************************************************************************/
[data-sf-role=form-container] fieldset {
  margin: 1rem 0;
}
[data-sf-role=form-container] fieldset legend {
  padding: 0 0.4rem;
}

/* Sitefinity File Upload field */
[data-sf-role=file-field-inputs] {
  cursor: pointer;
}
[data-sf-role=file-field-inputs] input[type=file] {
  /* Default / Base button styles - only include these when you really need them */
  /* This is what you'll get when you just call @include button; (but you should avoid using this mixin altogether if you can) */
  color: #BA0C2F;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0.6rem 2rem;
  margin-top: 1rem;
  font-size: 0.9rem;
  font-weight: 400;
  font-family: "AvenirLTStd-Medium", sans-serif;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none !important;
  border: 1px solid #BA0C2F;
  border-radius: 2rem;
  background-color: #fff;
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  position: relative;
  z-index: 1;
  letter-spacing: 0.1em;
  height: auto;
  width: -moz-fit-content;
  width: fit-content;
  overflow: hidden;
  /* FontAwesome Icons in markup */
  /* Reverse (flip the colours of the standard button */
}
[data-sf-role=file-field-inputs] input[type=file]:after {
  width: 1rem;
  height: 1rem;
  display: inline-block;
  content: initial;
  position: relative;
  background-repeat: no-repeat;
  background-position: center;
  margin-left: 0.6rem;
  position: absolute;
  z-index: -2;
  border-radius: 4px;
  background-color: #BA0C2F;
}
[data-sf-role=file-field-inputs] input[type=file]:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background-color: #BA0C2F;
  transition: all 0.3s;
  border-radius: 10rem;
  z-index: -1;
}
[data-sf-role=file-field-inputs] input[type=file] [class*=fa-] {
  margin-left: 0.6rem;
}
[data-sf-role=file-field-inputs] input[type=file]:hover, [data-sf-role=file-field-inputs] input[type=file]:focus, [data-sf-role=file-field-inputs] input[type=file].active {
  color: #fff;
  text-decoration: none !important;
}
[data-sf-role=file-field-inputs] input[type=file]:hover:before, [data-sf-role=file-field-inputs] input[type=file]:focus:before, [data-sf-role=file-field-inputs] input[type=file].active:before {
  background-color: #BA0C2F;
  width: 100%;
}
[data-sf-role=file-field-inputs] input[type=file]:active {
  color: #fff;
  text-decoration: none !important;
}
[data-sf-role=file-field-inputs] input[type=file]:active:before {
  background-color: #8a0923;
  width: 100%;
}
[data-sf-role=file-field-inputs] input[type=file]::-webkit-file-upload-button {
  visibility: hidden;
  clip: rect(0, 0, 0, 0);
  width: 1px;
  height: 1px;
  border: 0;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  position: absolute;
  background-color: #fff;
  color: #000;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Insightly Forms Only */
/****************************************************************************************************/
/* Sitefinity Forms */
[data-sf-role=form-container] {
  background-color: #efefef;
  padding: 3rem;
  border-radius: 0.5rem;
  max-width: 100%;
  width: 40rem;
  display: inline-block;
}
[data-sf-role=form-container] label {
  text-transform: uppercase;
  margin-bottom: 3px;
  display: block;
  font-size: 14px;
  padding-left: 1.4rem;
}
[data-sf-role=form-container] input {
  margin-bottom: 0;
  display: block;
  border-color: #53565A;
  border-radius: 3.15rem;
  height: 3.15rem;
  border: 1px solid #F1F1F1;
  border-color: lightgrey;
}
[data-sf-role=form-container] textarea {
  margin-bottom: 0;
  display: block;
  border-color: #53565A;
  border-radius: 1.5rem;
  min-height: 8rem;
  border: 1px solid #F1F1F1;
  border-color: lightgrey;
  max-width: 100%;
  padding: 15px 30px;
  color: #606060;
}
[data-sf-role=form-container] input[type=submit] {
  width: 200px;
  margin-top: 2rem;
}
[data-sf-role=form-container] input[type=submit]:focus, [data-sf-role=form-container] input[type=submit]:hover {
  background-color: #BA0C2F;
}
@media (max-width: 767px) {
  [data-sf-role=form-container] {
    padding: 1rem;
  }
}

/* Insightly Forms */
form[name=insightly_form] {
  padding: 3rem;
  border-radius: 0.5rem;
  max-width: 100%;
  width: 40rem;
  display: inline-block;
}
form[name=insightly_form] label {
  text-transform: uppercase;
  margin-bottom: 3px;
  display: block;
  font-size: 14px;
  padding-left: 1.4rem;
}
form[name=insightly_form] input {
  margin-bottom: 0;
  display: block;
  border-color: #53565A;
  border-radius: 3.15rem;
  height: 3.15rem;
  border: 1px solid #F1F1F1;
  border-color: lightgrey;
}
form[name=insightly_form] input[type=submit] {
  width: 200px;
  margin-top: 2rem;
}
form[name=insightly_form] input[type=submit]:focus, form[name=insightly_form] input[type=submit]:hover {
  background-color: #BA0C2F;
}
form[name=insightly_form].withBackground {
  background-color: #efefef;
}
@media (max-width: 767px) {
  form[name=insightly_form] {
    padding: 1rem;
  }
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/*#region Site Search */
/****************************************************************************************************/
.searchHiddenWrapper {
  background-color: white;
  padding: 0.5rem 0;
}
.searchHiddenWrapper .form-inline {
  width: 100%;
}
.searchHiddenWrapper .searchHidden {
  display: flex;
  align-items: center;
  justify-content: center;
}
.searchHiddenWrapper .searchHidden .formGroup {
  display: flex;
  width: 100%;
}
.searchHiddenWrapper .searchHidden .formGroup input[type=search] {
  border: 1px solid #D3D3D3;
  border-radius: 2rem;
  background-color: white;
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  padding: 0.5rem 2rem;
  box-sizing: border-box;
  height: 3.15rem;
}
.searchHiddenWrapper .searchHidden .formGroup input[type=search]::-webkit-input-placeholder {
  opacity: 1;
  -webkit-transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  color: #BA0C2F;
  text-transform: none;
}
.searchHiddenWrapper .searchHidden .formGroup input[type=search]:-moz-placeholder {
  opacity: 1;
  -moz-transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  color: #BA0C2F;
  text-transform: none;
}
.searchHiddenWrapper .searchHidden .formGroup input[type=search]::-moz-placeholder {
  opacity: 1;
  -moz-transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  color: #BA0C2F;
  text-transform: none;
}
.searchHiddenWrapper .searchHidden .formGroup input[type=search]:-ms-input-placeholder {
  opacity: 1;
  -ms-transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  color: #BA0C2F;
  text-transform: none;
}
.searchHiddenWrapper .searchHidden .formGroup input[type=search]:hover::-webkit-input-placeholder, .searchHiddenWrapper .searchHidden .formGroup input[type=search]:focus::-webkit-input-placeholder {
  opacity: 0.4;
}
.searchHiddenWrapper .searchHidden .formGroup input[type=search]:hover:-moz-placeholder, .searchHiddenWrapper .searchHidden .formGroup input[type=search]:focus:-moz-placeholder {
  opacity: 0.4;
}
.searchHiddenWrapper .searchHidden .formGroup input[type=search]:hover::-moz-placeholder, .searchHiddenWrapper .searchHidden .formGroup input[type=search]:focus::-moz-placeholder {
  opacity: 0.4;
}
.searchHiddenWrapper .searchHidden .formGroup input[type=search]:hover:-ms-input-placeholder, .searchHiddenWrapper .searchHidden .formGroup input[type=search]:focus:-ms-input-placeholder {
  opacity: 0.4;
}
.searchHiddenWrapper .searchHidden .formGroup input[type=search]:focus {
  outline: 2px solid #00427E;
}
.searchHiddenWrapper .searchHidden .formGroup button.sfsearchSubmit {
  color: #BA0C2F;
  background: transparent;
  margin: 0 0 0 -2.5rem;
  padding: 0;
  font-size: 1.1rem;
  border: none;
}
.searchHiddenWrapper .searchHidden .formGroup button.sfsearchSubmit:before {
  content: none;
}
.searchHiddenWrapper .searchHidden .formGroup button.sfsearchSubmit svg {
  margin: 0;
}
.searchHiddenWrapper .searchHidden .formGroup button.sfsearchSubmit:hover {
  background: none;
  color: #606060;
}
.searchHiddenWrapper .searchHidden .formGroup button.sfsearchSubmit:hover:before {
  content: none;
}
.searchHiddenWrapper button.searchCollapse {
  width: 2rem;
  aspect-ratio: 1;
  margin: 0 0 0 1rem;
  padding: 0.5rem;
}
.searchHiddenWrapper button.searchCollapse [class*=fa-] {
  margin-left: 0;
}

.searchSorting {
  width: 400px;
  max-width: 100%;
  padding-bottom: 2rem;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 1rem;
  justify-content: flex-start;
  align-items: center;
}
.searchSorting label {
  font-size: 1rem;
}
.searchSorting select {
  width: 200px;
}

.searchResults .searchResult {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #D3D3D3;
  margin-bottom: 1.5rem;
}
.searchResults .searchResult h3 a {
  color: #BA0C2F;
}
.searchResults .searchResult h3 a:visited {
  color: #009CB6;
}

em.resultTotal {
  display: block;
  font-size: 1rem;
  font-weight: bold;
  margin-top: 2rem;
  text-align: center;
  font-style: normal;
}

ul.pagination {
  display: flex;
  flex: 0 1 auto;
  flex-wrap: wrap;
  flex-direction: row;
  margin-left: -0.5rem;
  margin-right: -0.5rem;
  box-sizing: border-box;
  justify-content: center;
}
ul.pagination > li {
  flex: 0 0 auto;
  /*order: 0;*/
  width: initial;
  max-width: 100%;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  vertical-align: top;
  flex: 0 1 auto;
  width: auto;
}
ul.pagination li {
  margin-top: 1rem;
}
ul.pagination li.active a {
  color: var(--secondaryColour);
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Global Alerts */
/****************************************************************************************************/
/* refer to class .dark for a lot of the styles */
.alertsHeader {
  height: auto;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Accordions + FAQs */
/****************************************************************************************************/
.k-treeview .accordionGroup.k-group {
  border-bottom: 1px solid #D3D3D3;
}
.k-treeview .accordionGroup.k-group .k-item {
  width: 100%;
  background-color: transparent;
  margin: 0;
  /* opened */
}
.k-treeview .accordionGroup.k-group .k-item h3 {
  font-family: "Tiempos-Headline-SemiBold", "Times New Roman", serif;
  color: #53565A;
  font-size: 1.5rem;
  margin: 0.75rem 0;
  font-weight: 500;
  letter-spacing: 2px;
}
.k-treeview .accordionGroup.k-group .k-item[data-expanded=true] h3 {
  color: #BA0C2F;
}
.k-treeview .accordionGroup.k-group .k-item .k-in {
  width: 100%;
  border-top: 1px solid #D3D3D3;
  padding: 0;
  background-color: transparent;
  white-space: normal;
}
.k-treeview .accordionGroup.k-group .k-item .k-in.k-state-focused {
  box-shadow: none;
}
.k-treeview .accordionGroup.k-group .k-item .k-top, .k-treeview .accordionGroup.k-group .k-item .k-mid, .k-treeview .accordionGroup.k-group .k-item .k-bot {
  padding: 0;
}
.k-treeview .accordionGroup.k-group .k-item .k-top .k-icon, .k-treeview .accordionGroup.k-group .k-item .k-mid .k-icon, .k-treeview .accordionGroup.k-group .k-item .k-bot .k-icon {
  border: 1px solid #000;
  border-radius: 50%;
}
.k-treeview .accordionGroup.k-group .k-item .k-top .k-icon:before, .k-treeview .accordionGroup.k-group .k-item .k-mid .k-icon:before, .k-treeview .accordionGroup.k-group .k-item .k-bot .k-icon:before {
  background-image: url(/CFImages/Icons/plus.svg);
}
.k-treeview .accordionGroup.k-group .k-item .k-top .k-icon.k-i-collapse, .k-treeview .accordionGroup.k-group .k-item .k-mid .k-icon.k-i-collapse, .k-treeview .accordionGroup.k-group .k-item .k-bot .k-icon.k-i-collapse {
  border-color: #BA0C2F;
}
.k-treeview .accordionGroup.k-group .k-item .k-top .k-icon.k-i-collapse:before, .k-treeview .accordionGroup.k-group .k-item .k-mid .k-icon.k-i-collapse:before, .k-treeview .accordionGroup.k-group .k-item .k-bot .k-icon.k-i-collapse:before {
  background-image: url(/CFImages/Icons/minus-primary.svg);
}
.k-treeview .accordionGroup.k-group .k-item .k-content.accordion-body {
  display: block;
  padding: 0.5rem 1.5rem 0.5rem 1.5rem;
  white-space: normal;
}
.k-treeview .accordionGroup.k-group .k-item .k-content.accordion-body .k-in {
  display: none;
}
.k-treeview .accordionGroup.k-group .k-item[data-expanded=true] .k-in {
  border-color: #BA0C2F;
}

.accordionGroup .accordionTop {
  width: 100%;
  background-color: transparent;
  margin: 0;
  border-top: 1px solid #D3D3D3;
  position: relative;
}
.accordionGroup .accordionTop:before {
  content: "";
  border: 1px solid #000;
  border-radius: 50%;
  position: absolute;
  height: 1.4rem;
  width: 1.4rem;
  right: 5%;
  top: 35%;
  z-index: 3;
  background-image: url(/CFImages/Icons/plus.svg);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 0.6rem;
}
.accordionGroup .accordionTop h2, .accordionGroup .accordionTop h3 {
  font-family: "Tiempos-Headline-SemiBold", "Times New Roman", serif;
  color: #53565A;
  font-size: 1.3rem;
  margin: 0.75rem 0;
  font-weight: 500;
  letter-spacing: 2px;
}
.accordionGroup .accordionTop.active {
  border-top: 1px solid #BA0C2F;
}
.accordionGroup .accordionTop.active h2, .accordionGroup .accordionTop.active h3 {
  color: #BA0C2F;
}
.accordionGroup .accordionTop.active:before {
  background-image: url(/CFImages/Icons/minus-primary.svg);
  border: 1px solid #BA0C2F;
}
.accordionGroup .accordionBottom {
  display: none;
  padding: 0.5rem 1.5rem 1rem 1.5rem;
  white-space: normal;
}
.accordionGroup .accordionBottom.active {
  display: block;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Toggle Sections */
/****************************************************************************************************/
.toggleContent {
  display: none;
}
.toggleContent:active {
  display: block;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Image Galleries */
/****************************************************************************************************/
.imageGallery.slider {
  max-width: 100%;
}
.imageGallery.slider .gallerySlider .splide__arrows {
  opacity: 0;
}
.imageGallery.slider .gallerySlider:hover .splide__arrows {
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  opacity: 1;
}
.imageGallery.slider .gallerySlider .splide__slide {
  min-height: 600px;
  height: 70vh;
  max-height: 700px;
  max-width: 100vw;
  /*            &:hover {
      .descriptionWrapper {
          opacity: 1;
          .description {
          }
      }
  }*/
}
.imageGallery.slider .gallerySlider .splide__slide > a {
  cursor: zoom-in;
  position: absolute;
  inset: 0;
}
.imageGallery.slider .gallerySlider .splide__slide img {
  -o-object-fit: scale-down;
     object-fit: scale-down;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 13%;
     object-position: 50% 13%;
  height: 100%;
  width: 100%;
}
.imageGallery.slider .gallerySlider .splide__slide .descriptionWrapper {
  position: absolute;
  top: auto;
  left: 0;
  right: 0;
  width: 100%;
  bottom: 0;
  z-index: 2;
  color: black;
  max-width: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  /*                opacity: 0;
      transition: $transitionQuint;*/
}
.imageGallery.slider .gallerySlider .splide__slide .descriptionWrapper .description {
  font-size: 0.9rem;
  padding: 2rem;
  display: inline-block;
}
.imageGallery.slider .gallerySlider .splide__slide .descriptionWrapper .description > :last-child {
  margin-bottom: 0;
}
.imageGallery.slider .gallerySlider,
.imageGallery.slider .gallerySliderNav {
  padding-top: 1rem;
}
@media (max-width: 767px) {
  .imageGallery.slider .gallerySliderNav {
    display: none;
  }
}
.imageGallery.slider .gallerySliderNav .splide__slide {
  /*opacity: 0.8;*/
  border: 2px solid white;
  /*            .bgImgWrapper {
      position: relative;
      @include aspectRatioBox(4 3);
      opacity: 0.9;

      div.bgImg {
      }
  }

  img {
      opacity: 0.8;
  }*/
}
.imageGallery.slider .gallerySliderNav .splide__slide.is-active {
  border: 2px solid #009CB6;
}
.imageGallery.slider .gallerySliderNav .splide__slide:before {
  content: " ";
  background-color: #F1F1F1;
  position: absolute;
  inset: 0;
  z-index: -1;
}
.imageGallery.slider .gallerySliderNav .splide__slide:after {
  content: " ";
  position: absolute;
  inset: 0;
  z-index: 10;
  background-color: rgba(255, 255, 255, 0.1);
  pointer-events: none;
  transition: all 0.2s cubic-bezier(0.86, 0, 0.07, 1), font-size 0s linear, padding 0s linear, margin 0s linear;
}
.imageGallery.slider .gallerySliderNav .splide__slide:focus:focus-visible {
  /*opacity: 1;*/
  /*                img,
  .bgImgWrapper {
      opacity: 1;
  }*/
}
.imageGallery.slider .gallerySliderNav .splide__slide:focus:focus-visible:after {
  background-color: rgba(255, 255, 255, 0);
}
.imageGallery.slider .gallerySliderNav .splide__slide:hover {
  /*opacity: 1;*/
  /*                img,
  .bgImgWrapper {
      opacity: 1;
  }*/
}
.imageGallery.slider .gallerySliderNav .splide__slide:hover:after {
  background-color: rgba(255, 255, 255, 0);
}

.fancybox-caption {
  display: none !important;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Page - Home Page */
/****************************************************************************************************/
.homePage .homeJoin {
  background: white;
}
.homePage .homeJoin:after {
  opacity: 0.3;
}
.homePage .homeJoin .buttons {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.homePage ul.listView.expertises {
  margin: 0;
}

/* Lawyer Search (FindASearch) */
.findASearch {
  margin: 0 auto 9em;
  text-align: center;
  width: 28rem;
  max-width: 100%;
}
.findASearch input[type=text] {
  color: #53565A;
  width: 100%;
  height: 3.15rem;
  max-width: 100%;
  padding: 0.2rem 1rem;
  padding-right: 3rem;
  text-overflow: ellipsis;
  background-color: white;
  font-size: 1.2rem;
  font-weight: 300;
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  background-image: url(/CFImages/Icons/search.svg);
  background-repeat: no-repeat;
  background-position: center right 1rem;
  outline-offset: -2px;
  border: none;
  padding-left: 0;
  box-sizing: border-box;
  height: 3.4rem;
}
.findASearch input[type=text]:focus {
  outline: none !important;
}
.findASearch .k-widget {
  /* the animated underline */
}
.findASearch .k-widget + .textFieldUnderline {
  width: 100%;
  height: 1px;
  display: block;
  margin: 0;
  margin-top: -1px;
  background-size: 200%;
  background-position: 100% 0%;
  /*background-image: linear-gradient(to right, #BA0C2F, #BA0C2F 50%, transparent 50%, transparent 75%);*/
  background-image: linear-gradient(to right, #A3A3A3, #A3A3A3 50%, transparent 50%, transparent 75%);
  position: relative;
  z-index: 10;
}
.findASearch .k-widget:focus, .findASearch .k-widget:active, .findASearch .k-widget:hover, .findASearch .k-widget.k-state-focused {
  outline: none !important;
  /*border-bottom: 2px solid $primaryColour;*/
}
.findASearch .k-widget:focus + .textFieldUnderline, .findASearch .k-widget:active + .textFieldUnderline, .findASearch .k-widget:hover + .textFieldUnderline, .findASearch .k-widget.k-state-focused + .textFieldUnderline {
  background-position: 0% 0%;
  transition: all 0.2s cubic-bezier(0.86, 0, 0.07, 1), font-size 0s linear, padding 0s linear, margin 0s linear;
  transition-duration: 250ms;
}
.findASearch .k-widget.k-autocomplete {
  width: 100%;
  color: #53565A;
  border: none;
  border-bottom: 1px solid #F1F1F1;
  box-shadow: none;
}
.findASearch #findALawyerDropdownContainer .k-list .k-item:first-of-type {
  display: none !important;
}
.findAnything {
  min-width: 600px;
}
.findAnything .fieldGroups {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
}
.findAnything fieldset {
  border: none;
  padding: 0;
}
.findAnything fieldset .k-dropdown {
  width: 100%;
}
.findAnything fieldset .k-dropdown .k-dropdown-wrap .k-input {
  font-size: 0.7rem;
  height: 50px;
  line-height: 1;
  text-transform: uppercase;
}
.findAnything fieldset .k-select {
  padding-right: 1rem;
}
.findAnything fieldset .k-select .k-icon {
  width: 0.8rem;
  height: 0.8rem;
  background-color: #BA0C2F;
  border-radius: 50%;
}
.findAnything fieldset .k-select .k-icon:before {
  background-image: url(/CFImages/Icons/plus-white.svg);
  background-size: 0.4rem auto;
}
.findAnything fieldset .filterToggle {
  display: none;
}
.findAnything .keywordSearchWrapper {
  margin-bottom: 0.5rem;
}
.findAnything .keywordSearchWrapper .keywordSearch {
  height: 50px;
  padding: 0.5rem;
  border-radius: 0;
  font-size: 0.7rem;
}

/* #endregion */
/****************************************************************************************************/
/* #region Page - About Page */
.aboutPage .aboutRedgraveGrid .left {
  display: flex;
  justify-content: center;
}
.aboutPage .aboutRedgraveGrid .right {
  min-width: 600px;
  margin: -2rem 0 !important;
  transform: scale(0.9);
}
@media (max-width: 650px) {
  .aboutPage .aboutRedgraveGrid .right {
    min-width: 0;
    background-position: center center;
  }
  .aboutPage .aboutRedgraveGrid .right p.replaceDiagramWrapper {
    display: block;
    width: 100%;
    text-align: center;
    padding: 3rem 0;
  }
  .aboutPage .aboutRedgraveGrid .right .diagramWrapper {
    display: none;
  }
}

.contactPage .listView.offices {
  --card-gap: 0;
  --card-width: 350px;
  position: relative;
  overflow: visible;
}
.contactPage .listView.offices li.circle {
  position: relative;
  aspect-ratio: 1;
  height: -moz-fit-content;
  height: fit-content;
  padding: 1.5rem;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.contactPage .listView.offices li.circle.location {
  background-color: #BA0C2F !important;
}
.contactPage .listView.offices li.circle.empty {
  opacity: 0.2;
  background-color: #BA0C2F;
}
.contactPage .listView.offices li.circle:nth-child(1) {
  background-color: #009CB6;
  background-image: none;
}
.contactPage .listView.offices li.circle:nth-child(8) {
  background-color: #00427E;
  background-image: none;
}
.contactPage .listView.offices .cardView.office .cardContent {
  font-size: 15px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  text-align: center;
  height: 100%;
}
.contactPage .listView.offices .cardView.office .cardContent p {
  font-size: 15px;
}
.contactPage .listView.offices .cardView.office .cardContent a {
  font-size: 15px;
}
.contactPage .listView.offices .cardView.office .cardContent .officeTitle {
  font-size: 20px;
  font-family: "Tiempos-Headline-SemiBold", "Times New Roman", serif;
  max-width: 75%;
  text-align: center;
}
.contactPage .listView.offices .cardView.office .cardContent address {
  margin: 1rem 0 1rem 0;
}
.contactPage .listView.offices .cardView.office .cardContent .contactInfo .prefixLabel {
  padding-right: 0.25rem;
}
.contactPage .listView.offices .cardView.office .cardContent a.directionsLink {
  margin-top: 1.5rem;
  text-transform: uppercase;
  font-size: 14px;
}
@media (max-width: 807px) {
  .contactPage .listView.offices {
    display: block;
  }
  .contactPage .listView.offices li.circle {
    max-width: 400px;
    margin: 0.5rem auto;
    padding: 0;
  }
  .contactPage .listView.offices li.circle.empty {
    display: none;
  }
  .contactPage .listView.offices .cardView.office .cardContent {
    font-size: 16px;
  }
  .contactPage .listView.offices .cardView.office .cardContent p {
    font-size: 14px;
  }
  .contactPage .listView.offices .cardView.office .cardContent a {
    font-size: 14px;
  }
  .contactPage .listView.offices .cardView.office .cardContent .officeTitle {
    font-size: 18px;
  }
  .contactPage .listView.offices .cardView.office .cardContent a.directionsLink {
    margin-top: 1rem;
    font-size: 12px;
  }
  .contactPage:before {
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - (var(--containerPadding) * 2));
    max-width: 400px;
  }
}

.servicesPage section.experienceWrapper {
  position: relative;
  border-top: 1px solid white;
}
.servicesPage section.experienceWrapper img {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  position: absolute;
  opacity: 0.4;
  mix-blend-mode: hard-light;
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}
.servicesPage section.experienceWrapper .container {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  min-height: 600px;
}
.servicesPage section.experienceWrapper .container .cardContent {
  max-width: 75%;
  height: 100%;
}

/****************************************************************************************************/
/* #region Page - Careers (and child pages) */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Insights (shared styles) - Cards and Detail View  */
/****************************************************************************************************/
.wrapper.careersWrapper .k-treeview .listView.careers {
  --card-width: 100%;
}
.wrapper.careersWrapper .k-treeview .listView.careers .k-item {
  margin-bottom: 0.5rem;
}
.wrapper.careersWrapper .k-treeview .listView.careers .k-item .k-icon:before {
  background-image: url(/CFImages/Icons/plus-white.svg);
}
.wrapper.careersWrapper .k-treeview .listView.careers .k-item .k-icon.k-i-collapse:before {
  background-image: url(/CFImages/Icons/minus-white.svg);
}
.wrapper.careersWrapper .k-treeview .listView.careers .k-item .k-in {
  width: 100%;
  background-color: #009CB6;
  padding: 1rem 2rem;
  white-space: normal;
}
.wrapper.careersWrapper .k-treeview .listView.careers .k-item .k-in h4 {
  margin: 0;
  padding: 0;
  color: #fff;
}
.wrapper.careersWrapper .k-treeview .listView.careers .k-item .k-content {
  display: block;
  background-color: #E6E6E6;
  padding: 2rem;
  white-space: normal;
}
.wrapper.careersWrapper .k-treeview .listView.careers .k-item .k-content .k-in {
  display: none;
}

/* #endregion */
/****************************************************************************************************/
/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region PDF Generation (Printable Bios) */
/****************************************************************************************************/
#printModal_background, #printWordModal_background {
  background: none !important;
}

#printModal, #printWordModal {
  display: none;
}

.printModalWrapper #printModal, .printModalWrapper #printWordModal {
  display: block;
}

#printModal, #printWordModal {
  width: 400px;
  max-width: 80%;
  background-color: white;
  padding: 2rem;
  border: 1px solid #F1F1F1;
  border-radius: 1rem;
}
#printModal .top h2, #printWordModal .top h2 {
  margin: 0 0 0.5rem 0;
}
#printModal .bottom, #printWordModal .bottom {
  margin: 1.4rem 0 1.1rem;
}
#printModal .bottom .options, #printWordModal .bottom .options {
  margin-bottom: 1rem;
}
#printModal .bottom .options ul li, #printWordModal .bottom .options ul li {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  align-content: flex-start;
  height: 30px;
  gap: 1rem;
}
#printModal .bottom .options ul li input[type=checkbox], #printWordModal .bottom .options ul li input[type=checkbox] {
  width: 22px;
  height: 30px;
  accent-color: #BA0C2F;
}
#printModal .label, #printWordModal .label {
  font-family: "AvenirLTStd-Medium", sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  font-size: 0.7rem;
  color: #BA0C2F;
  margin-top: 0;
}
#printModal h3, #printWordModal h3 {
  color: #009CB6;
  margin-top: 0;
  margin-bottom: 0.6rem;
}
#printModal .button.close, #printWordModal .button.close {
  inset: initial;
  top: 2.6rem;
  right: 2.6rem;
  margin: 0;
}
#printModal button[type=submit], #printWordModal button[type=submit] {
  margin-left: auto;
  padding: 0.8em 2em 0.8em 1.6em;
}
#printModal button[type=submit] .icon, #printModal button[type=submit] svg, #printWordModal button[type=submit] .icon, #printWordModal button[type=submit] svg {
  margin-right: 1rem;
  font-size: 1.5rem;
}
#printModal button[type=submit] .fa-file-download, #printWordModal button[type=submit] .fa-file-download {
  display: none;
}
#printModal button[type=submit]:focus .fa-file-pdf, #printModal button[type=submit]:hover .fa-file-pdf, #printWordModal button[type=submit]:focus .fa-file-pdf, #printWordModal button[type=submit]:hover .fa-file-pdf {
  display: none;
}
#printModal button[type=submit]:focus .fa-file-download, #printModal button[type=submit]:hover .fa-file-download, #printWordModal button[type=submit]:focus .fa-file-download, #printWordModal button[type=submit]:hover .fa-file-download {
  display: inline-block;
}

@keyframes fadeToGreyscaleWhite {
  0% {
    filter: grayscale(0) brightness(1);
  }
  1% {
    filter: grayscale(1) brightness(1);
  }
  100% {
    filter: grayscale(1) brightness(200);
  }
}
html.popup_visible_printModal #wrapper > main {
  filter: blur(5px);
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Utility Classes - Visibility */
/****************************************************************************************************/
.sr-only {
  clip: rect(0, 0, 0, 0);
  width: 1px;
  height: 1px;
  border: 0;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  position: absolute;
  background-color: #fff;
  color: #000;
}

.hidden {
  display: none !important;
}

.forcedHide {
  display: none !important;
}

.hideOnDesktop {
  display: none !important;
}

.hideOnMobile {
  display: inline-block;
}

.printOnly {
  display: none;
}

.mobileOnly {
  display: none;
  height: 0;
  width: 0;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Utility Classes - Position, Display, Float */
/****************************************************************************************************/
/* Floating */
.float-none {
  float: none;
}

.float-left {
  float: left;
}

.float-right {
  float: right;
}

/* Positioning */
.position-absolute {
  position: absolute;
}

.position-relative {
  position: relative;
}

.position-fixed {
  position: fixed;
}

/* Display */
.display-flex {
  display: flex;
}

.display-block {
  display: block;
}

.display-inline-block {
  display: inline-block;
}

.display-inline {
  display: inline;
}

.display-none {
  display: none;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Utility Classes - Text Alignment */
/****************************************************************************************************/
.txt-c, table .txt-c, table tr .txt-c, table tr td.txt-c {
  text-align: center !important;
}

.txt-l, table .txt-l, table tr .txt-l, table tr td.txt-l {
  text-align: left !important;
}

.txt-r, table .txt-r, table tr .txt-r, table tr td.txt-r {
  text-align: right !important;
}

.txt-t, table .txt-t, table tr .txt-t, table tr td.txt-t, table tr th.txt-t {
  vertical-align: top !important;
}

.txt-b, table .txt-b, table tr .txt-b, table tr td.txt-b, table tr th.txt-b {
  vertical-align: bottom !important;
}

.txt-m, table .txt-m, table tr .txt-m, table tr td.txt-m, table tr th.txt-m {
  vertical-align: middle !important;
}

/* Table cell content alignment */
/* horizontal alignment */
/* vertical alignment */
/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Utility Classes */
/****************************************************************************************************/
/* ##### Whitespace (padding + margin) ##### */
/*    Examples:
    .mtxl - margin-top-extra-large (add an extra large margin-top)
    .pan  - padding-all-none       (remove padding on all sides)
    .mvs  - margin-vertical-small  (add small margins on the top and bottom)
*/
.pan {
  padding: 0 !important;
}

.man {
  margin: 0 !important;
}

.pvn {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.mvn {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.phn {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.mhn {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.ptn {
  padding-top: 0 !important;
}

.mtn {
  margin-top: 0 !important;
}

.prn {
  padding-right: 0 !important;
}

.mrn {
  margin-right: 0 !important;
}

.pbn {
  padding-bottom: 0 !important;
}

.mbn {
  margin-bottom: 0 !important;
}

.pln {
  padding-left: 0 !important;
}

.mln {
  margin-left: 0 !important;
}

.paxs {
  padding: 0.25rem !important;
}

.maxs {
  margin: 0.25rem !important;
}

.pvxs {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.mvxs {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.phxs {
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important;
}

.mhxs {
  margin-left: 0.25rem !important;
  margin-right: 0.25rem !important;
}

.ptxs {
  padding-top: 0.25rem !important;
}

.mtxs {
  margin-top: 0.25rem !important;
}

.prxs {
  padding-right: 0.25rem !important;
}

.mrxs {
  margin-right: 0.25rem !important;
}

.pbxs {
  padding-bottom: 0.25rem !important;
}

.mbxs {
  margin-bottom: 0.25rem !important;
}

.plxs {
  padding-left: 0.25rem !important;
}

.mlxs {
  margin-left: 0.25rem !important;
}

.pas {
  padding: 0.5rem !important;
}

.mas {
  margin: 0.5rem !important;
}

.pvs {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.mvs {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.phs {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}

.mhs {
  margin-left: 0.5rem !important;
  margin-right: 0.5rem !important;
}

.pts {
  padding-top: 0.5rem !important;
}

.mts {
  margin-top: 0.5rem !important;
}

.prs {
  padding-right: 0.5rem !important;
}

.mrs {
  margin-right: 0.5rem !important;
}

.pbs {
  padding-bottom: 0.5rem !important;
}

.mbs {
  margin-bottom: 0.5rem !important;
}

.pls {
  padding-left: 0.5rem !important;
}

.mls {
  margin-left: 0.5rem !important;
}

.pam {
  padding: 1rem !important;
}

.mam {
  margin: 1rem !important;
}

.pvm {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.mvm {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.phm {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.mhm {
  margin-left: 1rem !important;
  margin-right: 1rem !important;
}

.ptm {
  padding-top: 1rem !important;
}

.mtm {
  margin-top: 1rem !important;
}

.prm {
  padding-right: 1rem !important;
}

.mrm {
  margin-right: 1rem !important;
}

.pbm {
  padding-bottom: 1rem !important;
}

.mbm {
  margin-bottom: 1rem !important;
}

.plm {
  padding-left: 1rem !important;
}

.mlm {
  margin-left: 1rem !important;
}

.pal {
  padding: 2rem !important;
}

.mal {
  margin: 2rem !important;
}

.pvl {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.mvl {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

.phl {
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

.mhl {
  margin-left: 2rem !important;
  margin-right: 2rem !important;
}

.ptl {
  padding-top: 2rem !important;
}

.mtl {
  margin-top: 2rem !important;
}

.prl {
  padding-right: 2rem !important;
}

.mrl {
  margin-right: 2rem !important;
}

.pbl {
  padding-bottom: 2rem !important;
}

.mbl {
  margin-bottom: 2rem !important;
}

.pll {
  padding-left: 2rem !important;
}

.mll {
  margin-left: 2rem !important;
}

.paxl {
  padding: 3rem !important;
}

.maxl {
  margin: 3rem !important;
}

.pvxl {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.mvxl {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.phxl {
  padding-left: 3rem !important;
  padding-right: 3rem !important;
}

.mhxl {
  margin-left: 3rem !important;
  margin-right: 3rem !important;
}

.ptxl {
  padding-top: 3rem !important;
}

.mtxl {
  margin-top: 3rem !important;
}

.prxl {
  padding-right: 3rem !important;
}

.mrxl {
  margin-right: 3rem !important;
}

.pbxl {
  padding-bottom: 3rem !important;
}

.mbxl {
  margin-bottom: 3rem !important;
}

.plxl {
  padding-left: 3rem !important;
}

.mlxl {
  margin-left: 3rem !important;
}

.paxxl {
  padding: 5rem !important;
}

.maxxl {
  margin: 5rem !important;
}

.pvxxl {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}

.mvxxl {
  margin-top: 5rem !important;
  margin-bottom: 5rem !important;
}

.phxxl {
  padding-left: 5rem !important;
  padding-right: 5rem !important;
}

.mhxxl {
  margin-left: 5rem !important;
  margin-right: 5rem !important;
}

.ptxxl {
  padding-top: 5rem !important;
}

.mtxxl {
  margin-top: 5rem !important;
}

.prxxl {
  padding-right: 5rem !important;
}

.mrxxl {
  margin-right: 5rem !important;
}

.pbxxl {
  padding-bottom: 5rem !important;
}

.mbxxl {
  margin-bottom: 5rem !important;
}

.plxxl {
  padding-left: 5rem !important;
}

.mlxxl {
  margin-left: 5rem !important;
}

.paxxxl {
  padding: 7rem !important;
}

.maxxxl {
  margin: 7rem !important;
}

.pvxxxl {
  padding-top: 7rem !important;
  padding-bottom: 7rem !important;
}

.mvxxxl {
  margin-top: 7rem !important;
  margin-bottom: 7rem !important;
}

.phxxxl {
  padding-left: 7rem !important;
  padding-right: 7rem !important;
}

.mhxxxl {
  margin-left: 7rem !important;
  margin-right: 7rem !important;
}

.ptxxxl {
  padding-top: 7rem !important;
}

.mtxxxl {
  margin-top: 7rem !important;
}

.prxxxl {
  padding-right: 7rem !important;
}

.mrxxxl {
  margin-right: 7rem !important;
}

.pbxxxl {
  padding-bottom: 7rem !important;
}

.mbxxxl {
  margin-bottom: 7rem !important;
}

.plxxxl {
  padding-left: 7rem !important;
}

.mlxxxl {
  margin-left: 7rem !important;
}

.paxxxxl {
  padding: 9rem !important;
}

.maxxxxl {
  margin: 9rem !important;
}

.pvxxxxl {
  padding-top: 9rem !important;
  padding-bottom: 9rem !important;
}

.mvxxxxl {
  margin-top: 9rem !important;
  margin-bottom: 9rem !important;
}

.phxxxxl {
  padding-left: 9rem !important;
  padding-right: 9rem !important;
}

.mhxxxxl {
  margin-left: 9rem !important;
  margin-right: 9rem !important;
}

.ptxxxxl {
  padding-top: 9rem !important;
}

.mtxxxxl {
  margin-top: 9rem !important;
}

.prxxxxl {
  padding-right: 9rem !important;
}

.mrxxxxl {
  margin-right: 9rem !important;
}

.pbxxxxl {
  padding-bottom: 9rem !important;
}

.mbxxxxl {
  margin-bottom: 9rem !important;
}

.plxxxxl {
  padding-left: 9rem !important;
}

.mlxxxxl {
  margin-left: 9rem !important;
}

/* ##### subheaders ##### */
/*    Examples: .subheader-s .subheader-m .subheader-l */
.subheader-xs {
  font-size: 16px !important;
}
.subheader-s {
  font-size: 20px !important;
}
.subheader-m, .cmsContent.highlightFirstElement > :first-child {
  font-size: 24px !important;
}
.subheader-l {
  font-size: 32px !important;
}
.subheader-xl {
  font-size: 48px !important;
}
.subheader-xxl {
  font-size: 60px !important;
}

@media (max-width: 1024px) {
  .subheader-xs {
    font-size: 14px !important;
  }
  .subheader-s {
    font-size: 16px !important;
  }
  .subheader-m, .cmsContent.highlightFirstElement > :first-child {
    font-size: 18px !important;
  }
  .subheader-l {
    font-size: 22px !important;
  }
  .subheader-xl {
    font-size: 30px !important;
  }
  .subheader-xxl {
    font-size: 40px !important;
  }
}
/* ##### txt colours ##### */
/*    Examples: .txt-primary .txt-secondary .txt-grey .txt-grey-dark */
.txt-white {
  color: #fff !important;
}
.txt-black {
  color: #000 !important;
}
.txt-primary {
  color: #BA0C2F !important;
}
.txt-primary-light {
  color: #ea0f3b !important;
}
.txt-primary-dark {
  color: #8a0923 !important;
}
.txt-secondary {
  color: #009CB6 !important;
}
.txt-secondary-light {
  color: #00c8e9 !important;
}
.txt-secondary-dark {
  color: #007083 !important;
}
.txt-tertiary {
  color: #00427E !important;
}
.txt-tertiary-light {
  color: #005db1 !important;
}
.txt-tertiary-dark {
  color: #00274b !important;
}
.txt-grey {
  color: #53565A !important;
}
.txt-grey-dark {
  color: #606060 !important;
}
.txt-grey-xdark {
  color: #2B2B2B !important;
}
.txt-grey-light {
  color: #A3A3A3 !important;
}
.txt-grey-xlight {
  color: #D3D3D3 !important;
}
.txt-grey-xxlight {
  color: #E6E6E6 !important;
}
.txt-grey-xxxlight {
  color: #F1F1F1 !important;
}

/* ##### bg colours ##### */
/*    Examples: .bg-primary .bg-secondary .bg-dark .bg-light .bg-grey .bg-grey-dark .bg-grey-xdark */
.bg-white {
  background-color: #fff !important;
}
.bg-black {
  background-color: #000 !important;
}
.bg-dark {
  background-color: #2B2B2B !important;
}
.bg-light {
  background-color: #F7F7F7 !important;
}
.bg-offwhite {
  background-color: #F7F7F7 !important;
}
.bg-primary {
  background-color: #BA0C2F !important;
}
.bg-primary-light {
  background-color: #ea0f3b !important;
}
.bg-primary-dark {
  background-color: #8a0923 !important;
}
.bg-secondary {
  background-color: #009CB6 !important;
}
.bg-secondary-light {
  background-color: #00c8e9 !important;
}
.bg-secondary-dark {
  background-color: #007083 !important;
}
.bg-tertiary {
  background-color: #00427E !important;
}
.bg-tertiary-light {
  background-color: #005db1 !important;
}
.bg-tertiary-dark {
  background-color: #00274b !important;
}
.bg-grey {
  background-color: #53565A !important;
}
.bg-grey-dark {
  background-color: #606060 !important;
}
.bg-grey-xdark {
  background-color: #2B2B2B !important;
}
.bg-grey-light {
  background-color: #A3A3A3 !important;
}
.bg-grey-xlight {
  background-color: #D3D3D3 !important;
}
.bg-grey-xxlight {
  background-color: #E6E6E6 !important;
}
.bg-grey-xxxlight {
  background-color: #F1F1F1 !important;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Utility Classes - Misc */
/****************************************************************************************************/
/* (simple, single-purpose classes intended for use in Siteifnity editors, etc) */
.border {
  border: 1px solid #F1F1F1;
}

.equalTopMargins > :first-child {
  margin-top: 1rem;
}

.pullQuote {
  padding: 30px 50px;
  border-top: 1px solid black;
  border-bottom: 1px solid black;
  font-size: 1.3em;
  font-weight: 500;
}

.subtle {
  color: #f1224b;
  font-size: 0.8em;
}

/* #endregion */
/****************************************************************************************************/
/*Filtered content*/
.pagination-page {
  color: #BA0C2F;
}
.pagination-page .selected {
  color: #ffffff;
  background-color: #940e14;
  padding: 4px;
  text-align: center;
  width: 30px;
  height: 30px;
  border-radius: 90px;
  display: inline-block;
  line-height: 100%;
}

#ClearFiltersWrapper {
  position: fixed;
  z-index: 10000;
  display: flex;
  align-content: center;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  right: 5%;
  bottom: 10%;
  background: #BA0C2F;
  border: solid #fff 1px;
  border-radius: 40px;
  box-shadow: 5px 5px 15px 5px rgba(0, 0, 0, 0.2);
  color: #fff;
  opacity: 0.45;
  transition: all linear 0.15s;
  cursor: pointer;
}
#ClearFiltersWrapper span.horizontal-slash {
  position: absolute;
  transform: rotate(35deg);
  height: 3px;
  width: 100%;
  background: #fff;
}

#ClearFiltersWrapper:hover {
  opacity: 1;
}

.goToPageLbl {
  display: block;
  max-width: 100px;
  padding: 3px;
  border-radius: 5px;
  text-align: center;
  margin: 15px auto;
  position: relative;
  transition: all linear 0.15s;
}
.goToPageLbl select {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  z-index: 999;
  margin: 0 auto;
  height: auto;
}
.goToPageLbl .goToDropdown {
  height: 0px;
  max-width: 80px;
  margin: 0 auto;
  overflow-x: hidden;
  overflow-y: hidden;
}
.goToPageLbl .goToDropdown.active {
  height: 140px;
  border: solid #BA0C2F 1px;
  border-radius: 6px;
  overflow-y: auto;
}
.goToPageLbl li {
  margin-right: 3px;
}
.goToPageLbl li.selected {
  background: #F1F1F1;
}

.goToPageLbl:hover {
  color: #BA0C2F;
}

/* #endregion */
/****************************************************************************************************/
.animationWrapper {
  overflow: hidden;
  position: relative;
  aspect-ratio: 16/11;
}
.animationWrapper video {
  /*        width: 100%;
  height: 100%;
  object-fit: cover;*/
  width: 200%;
  height: auto;
  position: absolute;
  top: -44%;
  right: 0;
}

.standaloneAnimationWrapper {
  display: flex;
  justify-content: center;
  align-items: center;
}
.standaloneAnimationWrapper .bodymovin {
  width: 20rem;
  max-width: 100%;
}
@media (max-width: 1024px) {
  .standaloneAnimationWrapper .bodymovin {
    width: 16rem;
    height: 16rem;
  }
}

.scrollVideoWrapper video {
  outline: 1px solid white;
  outline-offset: -1px;
}
.scrollVideoWrapper.widget {
  width: 28rem;
  max-width: 100%;
}
.scrollVideoWrapper.widget video {
  width: auto;
  height: 100%;
  max-width: 100%;
}
@media (max-width: 1024px) {
  .scrollVideoWrapper.widget {
    height: auto;
    align-self: center;
  }
}

@keyframes circleIn {
  0% {
    -webkit-clip-path: circle(0% at 25% 50%);
            clip-path: circle(0% at 25% 50%);
  }
  100% {
    -webkit-clip-path: circle(100% at 25% 50%);
            clip-path: circle(100% at 25% 50%);
  }
}
.homePageAlt .button.arrowOnly {
  color: var(--hero-color) !important;
}
.homePageAlt #wrapper {
  height: inherit;
}
.homePageAlt #wrapper main {
  padding-top: 0 !important;
}
.homePageAlt #header {
  box-shadow: none;
  border: none;
  box-shadow: 0px 4px 14px 0px rgba(0, 0, 0, 0.4);
}
.homePageAlt #header .header {
  background: white !important;
}
.homePageAlt #header .header .logo a {
  display: block;
  background-color: #BA0C2F;
  -webkit-mask-image: url(/CFImages/logo-mask-redgrave.svg);
          mask-image: url(/CFImages/logo-mask-redgrave.svg);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  transition: all 1s ease;
}
.homePageAlt #header .header .logo a img {
  opacity: 0;
}
.homePageAlt .homeSlideshowAlt {
  position: relative;
  display: block;
}
.homePageAlt .homeSlideshowAlt .button.arrowOnly {
  aspect-ratio: 1/1;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 3rem;
}
.homePageAlt .homeSlideshowAlt .button.arrowOnly svg {
  margin: 0;
}
.homePageAlt .homeSlideshowAlt .titleContainer {
  display: none;
}
.homePageAlt .homeSlideshowAlt .videoWrapper {
  -webkit-user-select: none;
          user-select: none;
  pointer-events: none;
  z-index: 0;
}
.homePageAlt .homeSlideshowAlt.splide .splide__pagination {
  /*                right: initial;
  left: var(--containerPadding);*/
  bottom: 2rem;
  gap: 1rem;
}
.homePageAlt .homeSlideshowAlt.splide .splide__pagination .splide__pagination__page {
  padding: 0.2rem;
  border-color: var(--hero-color) !important;
  opacity: 1;
  background: var(--hero-color);
  margin: 0;
}
.homePageAlt .homeSlideshowAlt.splide .splide__pagination .splide__pagination__page:before {
  display: none !important;
}
.homePageAlt .homeSlideshowAlt.splide .splide__pagination .splide__pagination__page.is-active {
  background-color: var(--hero-color);
}
.homePageAlt .homeSlideshowAlt.splide .lottieAnimationWrapper {
  position: absolute;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .homePageAlt .homeSlideshowAlt.splide .lottieAnimationWrapper {
    bottom: 0;
  }
}
.homePageAlt .homeSlideshowAlt.splide .splide__list {
  height: inherit;
  height: 100vh;
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide {
  /*height: calc(100vh - 141px);*/
  height: 100%;
  background: transparent;
  /*background-color: white;*/
  background-color: #BA0C2F;
  transition: none !important;
  opacity: 1 !important;
  transform: none !important;
  position: absolute;
  inset: 0;
  /*                    .slideInner {
      background: purple!important;
  }*/
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide.red {
  background-color: white;
  --text-color: white;
  --bg-color: #BA0C2F;
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide.red .slideInner {
  background-color: #BA0C2F;
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide.red .redCircles {
  display: none !important;
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide.red .cardContent h1 {
  color: white !important;
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide.red .cardContent .content {
  color: white !important;
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide.white {
  background-color: #BA0C2F;
  --text-color: #BA0C2F;
  --bg-color: white;
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide.white .slideInner {
  background-color: white;
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide.white .blueCircles {
  display: none !important;
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide.white .cardContent h1 {
  color: #BA0C2F !important;
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide.white .cardContent .content {
  color: #BA0C2F !important;
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide .slideInner {
  position: relative;
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  padding-top: var(--header-height);
}
@media (max-width: 1024px) {
  .homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide .slideInner {
    padding-top: 1rem;
  }
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide .container {
  align-content: center;
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide .cardContent {
  opacity: 1;
  gap: 1rem 5rem;
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1.5fr;
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide .cardContent .leftSide {
  flex-basis: 50%;
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide .cardContent h1 {
  color: var(--text-color);
  color: white !important;
  overflow: hidden;
  transition: all 0.2s ease 0.5s;
  margin-top: -1rem;
  animation: none !important;
  transition: none !important;
  line-height: 1.2;
  font-size: 4rem;
  display: flex;
  justify-content: flex-start;
}
@media (max-width: 1024px) {
  .homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide .cardContent h1 {
    justify-content: flex-start;
  }
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide .cardContent h1 span {
  margin: 0;
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide .cardContent h1 span span {
  margin: 0;
  display: block;
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide .cardContent h1 span.up {
  color: inherit;
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide .cardContent span.clip {
  overflow: hidden;
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide .cardContent span {
  display: block;
  margin-top: 1rem;
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide .cardContent .content {
  flex-basis: 50%;
  transition: all 0.2s ease 1.5s;
  color: var(--text-color);
  color: white;
  transition: none !important;
  margin-bottom: 3rem;
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide .cardContent .content p {
  color: inherit;
  font-size: 1.2rem;
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide .cardContent .content a {
  color: var(--hero-color) !important;
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide .cardContent .content a.button {
  color: var(--hero-color) !important;
  border-color: var(--hero-color) !important;
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide .cardContent .content a.button:before {
  background-color: var(--hero-color) !important;
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide .cardContent .content a.button:hover, .homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide .cardContent .content a.button:focus {
  color: var(--hero-bg-color) !important;
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide .cardContent .content span {
  font-style: italic;
}
@media (max-width: 1024px) {
  .homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide .cardContent {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 767px) {
  .homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide .cardContent h1 {
    font-size: 2.5rem;
  }
}
.homePageAlt .homeSlideshowAlt.splide .splide__list .splide__slide.is-active .slideInner {
  animation: circleIn 1s ease;
  animation-fill-mode: forwards;
}
.homePageAlt .homeSlideshowAlt.splide .splide__arrows {
  display: none;
  position: absolute;
  z-index: 5;
  top: calc(50% - 75px);
  transform: translateY(-50%);
  justify-content: space-between;
}
.homePageAlt .homeSlideshowAlt .button.arrowOnly {
  animation-delay: 0s;
  animation-duration: 3s;
  animation-fill-mode: both;
  animation-iteration-count: infinite;
  animation-name: bounceInSmall;
  animation-timing-function: ease;
  backface-visibility: hidden;
  border: none;
  bottom: 4rem;
  font-size: 2rem;
  left: auto;
  padding: 0;
  position: absolute;
  right: var(--site-padding);
}
@keyframes slide-up {
  0% {
    transform: translateY(1000px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes bounceInSmall {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    transform: translateY(-5px);
  }
  30% {
    opacity: 1;
    transform: translateY(10px);
  }
  40% {
    opacity: 1;
    transform: translateY(0);
  }
}

body.homePageAlt.red .homeSlideshowAlt {
  background-color: #BA0C2F;
}

body.homePageAlt.white .homeSlideshowAlt {
  background-color: white;
}

:root {
  --hero-color: white;
  --hero-bg-color: #BA0C2F;
}

body.homePageAlt.white {
  --hero-color: #BA0C2F;
  --hero-bg-color: white;
}
body.homePageAlt.red {
  --hero-color: white;
  --hero-bg-color: #BA0C2F;
}
body.homePageAlt #header {
  background: white !important;
}

body.white .homeSlideshowAlt .button.arrowOnly:before {
  background: #BA0C2F;
}
body.white .homeSlideshowAlt .button.arrowOnly:focus:focus-visible {
  color: white !important;
}
body.white .homeSlideshowAlt .button.arrowOnly:hover {
  color: white !important;
}

#dropdown-sort-options-2 {
  border: 1px solid #F1F1F1;
  border-color: lightgrey;
  border-radius: 2rem;
  display: flex;
  align-items: center;
  height: 3.15rem;
}
#dropdown-sort-options-2 span {
  padding: 0 1rem;
  text-transform: uppercase;
  font-size: 0.8rem;
}
#dropdown-sort-options-2 button {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  color: #606060;
  border-radius: 0;
  overflow: visible;
  text-decoration-thickness: 0.1em !important;
  text-underline-offset: 0.2em !important;
}
#dropdown-sort-options-2 button.active {
  color: #BA0C2F;
  -webkit-text-decoration: underline 0.1em !important;
          text-decoration: underline 0.1em !important;
}
#dropdown-sort-options-2 button:before {
  display: none;
}
#dropdown-sort-options-2 button:focus, #dropdown-sort-options-2 button:hover {
  -webkit-text-decoration: underline 0.1em !important;
          text-decoration: underline 0.1em !important;
}

#dropdown-sort-options-3 {
  border: 1px solid #F1F1F1;
  border-color: lightgrey;
  border-radius: 2rem;
  display: flex;
  align-items: center;
}
#dropdown-sort-options-3 span {
  padding: 0 2.5rem;
  text-transform: uppercase;
  font-size: 0.8rem;
}
#dropdown-sort-options-3 button {
  background: none;
  color: #BA0C2F;
  border: none;
  padding: 0.4em;
  margin: 0;
}
#dropdown-sort-options-3 button.active {
  background: #BA0C2F;
  color: white;
}
#dropdown-sort-options-3 button:before {
  display: none;
}

#dropdown-sort-options-list {
  border: none;
  background: transparent;
}
#dropdown-sort-options-list .k-list-optionlabel {
  display: none !important;
}
#dropdown-sort-options-list .k-list-scroller {
  width: calc(100% - 4rem);
}
.k-animation-container:has(#dropdown-sort-options-list) {
  background: transparent;
}

.matchNewsCardHeight {
  min-height: calc(350px + 0.6rem);
}

/****************************************************************************************************/
/* #region Related Pages */
div.relatedPagesWrapper {
  padding: 1rem 0 3rem 0;
  overflow: hidden;
  position: relative;
}
div.relatedPagesWrapper:before {
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  position: absolute;
  z-index: -3;
  background-image: url(/CFImages/Backgrounds/teamInsightsBG.svg);
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: contain;
  opacity: 0.4;
}
div.relatedPagesWrapper nav.relatedPages:before {
  margin: 0 !important;
  transform: translateY(2px);
}
div.relatedPagesWrapper nav.relatedPages ul {
  position: relative;
  display: flex;
  flex-direction: row;
  z-index: 1;
  gap: 1rem;
  gap: clamp(1rem, 3vw, 3rem);
  padding-top: 2rem;
}
div.relatedPagesWrapper nav.relatedPages ul li {
  position: relative;
  aspect-ratio: 1;
  width: 250px;
}
div.relatedPagesWrapper nav.relatedPages ul li a {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  color: #BA0C2F;
  font-family: "Tiempos-Headline-Medium", "Times New Roman", serif;
  text-align: center;
}
div.relatedPagesWrapper nav.relatedPages ul li a {
  font-size: 18px;
}
@media screen and (min-width: 501px) {
  div.relatedPagesWrapper nav.relatedPages ul li a {
    font-size: calc(18px + 8 * ((100vw - 501px) / 2059));
  }
}
@media screen and (min-width: 2560px) {
  div.relatedPagesWrapper nav.relatedPages ul li a {
    font-size: 26px;
  }
}
div.relatedPagesWrapper nav.relatedPages ul li a:before {
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  content: "";
  display: block;
  width: 100%;
  opacity: 0.1;
  aspect-ratio: 1;
  background-color: #ea0f3b;
  border-radius: 50%;
}
div.relatedPagesWrapper nav.relatedPages ul li a:focus:focus-visible {
  color: #fff !important;
  text-decoration: none;
}
div.relatedPagesWrapper nav.relatedPages ul li a:focus:focus-visible:before {
  background-color: #BA0C2F !important;
  opacity: 1 !important;
}
div.relatedPagesWrapper nav.relatedPages ul li a:hover {
  color: #fff !important;
  text-decoration: none;
}
div.relatedPagesWrapper nav.relatedPages ul li a:hover:before {
  background-color: #BA0C2F !important;
  opacity: 1 !important;
}
div.relatedPagesWrapper nav.relatedPages ul li:nth-child(2n) a:before {
  background-color: #009CB6;
}
div.relatedPagesWrapper nav.relatedPages ul li:nth-child(3n) a:before {
  background-color: #009CB6;
  opacity: 0.2;
}
div.relatedPagesWrapper nav.relatedPages.inViewport ul {
  animation: slide-in-from-left;
  animation-duration: 1.2s;
  animation-fill-mode: forwards;
  opacity: 1;
}
@media only screen and (max-width: 1024px) {
  div.relatedPagesWrapper nav.relatedPages:before {
    margin-bottom: 1.5rem !important;
  }
}
@media only screen and (max-width: 500px) {
  div.relatedPagesWrapper nav.relatedPages ul {
    flex-direction: column;
    align-items: center;
  }
  div.relatedPagesWrapper nav.relatedPages ul li {
    width: 60%;
  }
}

/* #endregion  */
/****************************************************************************************************/
/* #region Kendo Navigation top-level widget overrides */
/****************************************************************************************************/
/****************************************************************************************************/
/* Kendo Menu Widget */
.k-menu.k-menu-horizontal {
  border: none;
  background: none;
}
.k-menu .k-item .k-link:focus {
  outline: none;
}
.k-menu .k-item .k-link:focus-visible {
  outline: 2px solid red;
}
.k-menu:not(.k-context-menu) > .k-item.k-state-focused {
  outline: none;
  box-shadow: none;
}
.k-menu:not(.k-context-menu) > .k-item > a.k-state-active {
  color: white;
}
.k-menu:not(.k-context-menu) > .k-item .k-group {
  visibility: visible !important;
}
.k-menu:not(.k-context-menu):focus > .k-item.k-state-focused {
  outline: none;
  box-shadow: none;
}
.k-menu:not(.k-context-menu):focus:focus-visible {
  outline: 1px dashed #A3A3A3;
  outline-offset: 0;
}
.k-menu:not(.k-context-menu):focus:focus-visible > .k-item.k-state-focused {
  outline: 2px solid #00427E;
  box-shadow: none;
}

/****************************************************************************************************/
/* Kendo Treeview (shared, general treeview styles) */
/* remember - these styles will affect ANY kendo treeview. So if you're making heavy changes then you probably want to target your specific treeview */
.k-treeview {
  padding: 0;
  /*    overflow-y: auto;
  overflow-x: hidden;*/
}
.k-treeview .k-item {
  color: inherit;
  position: relative;
  padding: 0;
  font-size: 1rem;
  border: none;
}
.k-treeview .k-item .k-icon {
  right: 5%;
  position: absolute;
  z-index: 3;
}
.k-treeview .k-item .k-icon:before {
  color: #fff;
  content: " ";
  font-size: 1rem;
}
.k-treeview .k-link {
  color: inherit;
  width: 100%;
  font-size: inherit;
  padding: 0;
  white-space: initial;
}
.k-treeview .k-link.k-state-hover, .k-treeview .k-link.k-state-active, .k-treeview .k-link.k-state-selected, .k-treeview .k-link.k-state-focused {
  background: none;
  box-shadow: none;
  text-decoration: none;
}
.k-treeview:focus:focus-visible .k-state-focused {
  outline: 2px solid #00427E;
  outline-offset: 0;
}

/* #endregion */
/****************************************************************************************************/
/* CF Default Menu */
nav.mainNavWrapper .rootMenuItem > ul {
  display: none;
}
nav.mainNavWrapper ul.mainNav {
  display: none;
}
nav.mainNavWrapper ul.mainNav.initialized {
  display: flex;
}
nav.mainNavWrapper ul.mainNav.k-menu, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu) {
  display: flex;
  flex-wrap: nowrap;
  gap: 1.25rem;
  z-index: 2;
  margin-top: 0;
  justify-content: flex-end;
  /* Sub elements */
  /* selected states (CFAdded selected or childSelected classes) */
  /*.k-group .k-item.childSelected {

  }*/
}
nav.mainNavWrapper ul.mainNav.k-menu:not(.k-widget) ul, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu):not(.k-widget) ul {
  position: absolute;
  visibility: hidden;
  pointer-events: none;
}
nav.mainNavWrapper ul.mainNav.k-menu li.rootMenuItem, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu) li.rootMenuItem {
  border: none;
  background: none;
  text-align: left;
  font-size: 0.8rem;
  /* hover state */
}
nav.mainNavWrapper ul.mainNav.k-menu li.rootMenuItem:after, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu) li.rootMenuItem:after {
  width: 36px;
  height: 2px;
  left: 50%;
  bottom: 0;
  opacity: 1;
  content: "";
  position: absolute;
  transform: translateX(-50%);
  background-color: #BA0C2F;
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  border-radius: 5px;
}
nav.mainNavWrapper ul.mainNav.k-menu li.rootMenuItem > a.k-menu-link, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu) li.rootMenuItem > a.k-menu-link {
  color: #606060;
  /*padding: 0 1rem;*/
  border: none;
  background: none;
  text-transform: uppercase;
  padding: 6px 0;
  /* The down icons */
}
nav.mainNavWrapper ul.mainNav.k-menu li.rootMenuItem > a.k-menu-link:focus, nav.mainNavWrapper ul.mainNav.k-menu li.rootMenuItem > a.k-menu-link:active, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu) li.rootMenuItem > a.k-menu-link:focus, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu) li.rootMenuItem > a.k-menu-link:active {
  /*outline: 2px solid $focusColour;
  outline-offset: 2px;*/
}
nav.mainNavWrapper ul.mainNav.k-menu li.rootMenuItem > a.k-menu-link .k-icon, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu) li.rootMenuItem > a.k-menu-link .k-icon {
  margin: -2px -5px 0 4px;
  width: 0.5rem;
  height: auto;
  aspect-ratio: 1;
  display: none !important;
}
nav.mainNavWrapper ul.mainNav.k-menu li.rootMenuItem > a.k-menu-link .k-icon:before, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu) li.rootMenuItem > a.k-menu-link .k-icon:before {
  color: #fff;
  background-size: 0.4rem;
}
nav.mainNavWrapper ul.mainNav.k-menu li.rootMenuItem > a.k-menu-link.k-state-active, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu) li.rootMenuItem > a.k-menu-link.k-state-active {
  background: none;
  color: #BA0C2F;
}
nav.mainNavWrapper ul.mainNav.k-menu li.rootMenuItem.k-state-hover > a, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu) li.rootMenuItem.k-state-hover > a {
  color: #009CB6;
}
nav.mainNavWrapper ul.mainNav.k-menu li.rootMenuItem.k-state-hover:after, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu) li.rootMenuItem.k-state-hover:after {
  width: calc(100% - 1rem);
  background-color: #009CB6;
}
nav.mainNavWrapper ul.mainNav.k-menu ul.k-group, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu) ul.k-group {
  border: none;
  border-radius: 0.5rem;
  padding: 0.5rem;
  background-color: #fff;
}
nav.mainNavWrapper ul.mainNav.k-menu ul.k-group > li, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu) ul.k-group > li {
  border: none;
  background: none;
  /* hover state */
}
nav.mainNavWrapper ul.mainNav.k-menu ul.k-group > li > a.k-link, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu) ul.k-group > li > a.k-link {
  min-width: 180px;
  color: #53565A;
  border: none;
  padding: 0.5rem 2rem 0.5rem 1rem;
  background: none;
  font-weight: 700;
  font-size: 0.7rem;
  text-transform: none;
  border-bottom: 1px solid #E6E6E6;
  /* The down icons */
}
nav.mainNavWrapper ul.mainNav.k-menu ul.k-group > li > a.k-link .k-icon, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu) ul.k-group > li > a.k-link .k-icon {
  margin: 0;
}
nav.mainNavWrapper ul.mainNav.k-menu ul.k-group > li > a.k-link:after, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu) ul.k-group > li > a.k-link:after {
  content: "";
  position: absolute;
  width: 0.8rem;
  background-image: url(/CFImages/Icons/arrow-right-white.svg);
  background-repeat: no-repeat;
  background-color: #BA0C2F;
  border-radius: 50%;
  background-size: 50%;
  background-position: center center;
  right: 0.5rem;
  top: 0.5rem;
  aspect-ratio: 1;
  color: #E3EABA;
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  opacity: 0;
  transform: translateX(-1rem);
}
nav.mainNavWrapper ul.mainNav.k-menu ul.k-group > li.indented > a.k-link, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu) ul.k-group > li.indented > a.k-link {
  padding-left: 1.75rem;
}
nav.mainNavWrapper ul.mainNav.k-menu ul.k-group > li:hover a.k-link, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu) ul.k-group > li:hover a.k-link {
  color: #BA0C2F;
}
nav.mainNavWrapper ul.mainNav.k-menu ul.k-group > li:hover a.k-link:after, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu) ul.k-group > li:hover a.k-link:after {
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  opacity: 1;
  transform: translateX(0);
}
nav.mainNavWrapper ul.mainNav.k-menu ul.k-group > li.k-last > a, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu) ul.k-group > li.k-last > a {
  border-bottom: none;
}
nav.mainNavWrapper ul.mainNav.k-menu ul.k-group ul, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu) ul.k-group ul {
  margin-left: 5px;
  margin-top: -5px;
}
nav.mainNavWrapper ul.mainNav.k-menu .rootMenuItem.k-item.selected:after, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu) .rootMenuItem.k-item.selected:after {
  opacity: 1;
}
nav.mainNavWrapper ul.mainNav.k-menu .rootMenuItem.childSelected:after, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu) .rootMenuItem.childSelected:after {
  opacity: 1;
}
nav.mainNavWrapper ul.mainNav.k-menu li.selected a.selected, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu) li.selected a.selected {
  color: #BA0C2F;
}
nav.mainNavWrapper ul.mainNav.k-menu .k-animation-container, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu) .k-animation-container {
  min-width: 200px;
  margin-top: 0.5rem;
}
nav.mainNavWrapper ul.mainNav.k-menu .k-animation-container > ul.k-group, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu) .k-animation-container > ul.k-group {
  padding: 1.5rem;
}
nav.mainNavWrapper ul.mainNav.k-menu .k-animation-container .teammembers .k-content, nav.mainNavWrapper ul.mainNav.k-menu:not(.k-context-menu) .k-animation-container .teammembers .k-content {
  padding-bottom: 1rem;
  border-bottom: solid 1px #E6E6E6;
  margin-bottom: 0.5rem;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Hamburger */
/****************************************************************************************************/
button.hamburger {
  top: 58px;
  right: 2rem;
  width: 35px;
  height: 35px;
  border: none;
  padding: 12px;
  margin: 0;
  position: absolute;
  z-index: 500;
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear;
  display: none;
  transform: translateY(-50%);
}
button.hamburger:before {
  background-color: transparent !important;
}
button.hamburger:hover {
  cursor: pointer;
}
button.hamburger .hamburger-inner, button.hamburger .hamburger-inner:after, button.hamburger .hamburger-inner:before {
  position: absolute;
  width: 34px;
  height: 3px;
  transition-timing-function: ease;
  transition-duration: 0.15s;
  transition-property: transform;
  background-color: #BA0C2F;
}
button.hamburger .hamburger-inner {
  top: 50%;
  left: 50%;
  display: block;
  transform: translate(-50%, -50%) rotate(0deg);
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition-duration: 75ms;
}
button.hamburger .hamburger-inner:before {
  top: -10px;
  transition: top 75ms ease 0.12s, opacity 75ms ease;
}
button.hamburger .hamburger-inner:after {
  bottom: -10px;
}
button.hamburger .hamburger-inner:after, button.hamburger .hamburger-inner:before {
  display: block;
  content: "";
}
button.hamburger.open {
  z-index: 10000;
}
button.hamburger.open .hamburger-inner {
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: translate(-50%, -50%) rotate(45deg);
}
button.hamburger.open .hamburger-inner:before {
  top: 0;
  transition: top 75ms ease, opacity 75ms ease 0.12s, color 75ms ease-in;
  opacity: 0;
}
button.hamburger.open .hamburger-inner:after {
  bottom: 0;
  transition: bottom 75ms ease, transform 75ms cubic-bezier(0.215, 0.61, 0.355, 1) 0.12s;
  transform: rotate(-90deg);
}
button.hamburger:focus:focus-visible .hamburger-inner, button.hamburger:focus:focus-visible .hamburger-inner:after, button.hamburger:focus:focus-visible .hamburger-inner:before {
  background-color: #009CB6;
}
button.hamburger:hover .hamburger-inner, button.hamburger:hover .hamburger-inner:after, button.hamburger:hover .hamburger-inner:before {
  background-color: #009CB6;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Mobile Menu */
/****************************************************************************************************/
/* sometimes a duplicate of the header, sometimes just a container for the mobile nav */
.mobileHeader {
  position: fixed;
  z-index: 1000;
}
/* tweak other elements when the mobile nav is open */
body.withNavOpen #header {
  top: 0;
  left: 0;
  right: 0;
  bottom: initial;
  position: fixed;
}
body.withNavOpen .topHeader {
  border-bottom: 1px solid white;
}

/* the mobile nav menu */
nav.mobileNav {
  top: 0;
  right: 0;
  width: 100%;
  max-width: 100%;
  height: 100%;
  position: fixed;
  padding: calc(var(--header-height) + 4rem) 2rem 2rem 2rem;
  overflow-x: hidden;
  overflow-y: auto;
  min-height: 100vh;
  transform: translateX(100%);
  transition: all 0.2s ease, font-size 0s linear, padding 0s linear, margin 0s linear, outline 0s linear, visibility linear 0s;
  visibility: hidden;
  background-color: #2B2B2B;
}
nav.mobileNav.open {
  transform: translateX(0%);
  visibility: visible;
}
nav.mobileNav .k-treeview {
  color: white;
  height: 100%;
  overflow: visible;
}
nav.mobileNav .k-icon {
  /* Expand / Collapse Arrows */
}
nav.mobileNav .k-icon:before {
  background-size: 1rem;
}
nav.mobileNav .k-icon.k-menu-expand-arrow:before, nav.mobileNav .k-icon.k-i-expand:before {
  background-image: url(/CFImages/Icons/plus-white.svg);
}
nav.mobileNav .k-icon.k-menu-collapse-arrow:before, nav.mobileNav .k-icon.k-i-collapse:before {
  background-image: url(/CFImages/Icons/minus-white.svg);
}
nav.mobileNav li.rootMenuItem.k-item {
  margin-bottom: 1.75rem;
}
nav.mobileNav li.rootMenuItem.k-item > a:first-child {
  margin-bottom: 1.75rem;
}
nav.mobileNav li {
  page-break-inside: avoid;
  text-transform: uppercase;
}
nav.mobileNav li a {
  display: block;
  margin-bottom: 0.25rem;
}
nav.mobileNav li ul li.k-item {
  text-transform: initial;
  padding: 1rem 1.5rem 0 0;
  border-bottom: 1px solid #A3A3A3;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Kendo TreeView inside sideContent */
/****************************************************************************************************/
.sideContent nav {
  width: 100%;
  max-width: 300px;
}

.k-treeview ul.mainTreeView {
  border-top: 1px solid #009CB6;
  border-bottom: 1px solid #009CB6;
  padding: 0;
}
.k-treeview ul.mainTreeView li.k-item {
  /* above the link */
  /* link styles */
  /* These are any nested groups */
  /* The selected li */
  /* This is the expanded li item */
  /* expand collapse icons */
}
.k-treeview ul.mainTreeView li.k-item .k-top, .k-treeview ul.mainTreeView li.k-item .k-mid, .k-treeview ul.mainTreeView li.k-item .k-bot {
  padding: 2px;
}
.k-treeview ul.mainTreeView li.k-item a.k-link {
  color: #606060;
  font-size: 1rem;
  padding: 0.5rem 2rem 0.5rem 2rem;
  border: 2px solid transparent;
}
.k-treeview ul.mainTreeView li.k-item a.k-link:focus:focus-visible {
  border: 2px rgba(0, 156, 182, 0.5) solid;
}
.k-treeview ul.mainTreeView li.k-item a.k-link:hover {
  border: 2px rgba(0, 156, 182, 0.5) solid;
}
.k-treeview ul.mainTreeView li.k-item ul.k-group {
  background-color: #F7F7F7;
}
.k-treeview ul.mainTreeView li.k-item ul.k-group li.k-item {
  /* Level 2 Nest */
}
.k-treeview ul.mainTreeView li.k-item ul.k-group li.k-item a.k-link {
  padding-left: 3rem;
  font-size: 0.9rem;
}
.k-treeview ul.mainTreeView li.k-item ul.k-group li.k-item a.k-link:after {
  width: 8px;
  height: 8px;
}
.k-treeview ul.mainTreeView li.k-item ul.k-group li.k-item ul.k-group li.k-item a.k-link {
  padding-left: 4rem;
}
.k-treeview ul.mainTreeView li.k-item.selected {
  background-color: #00427E !important;
  /* link styles (both the li and a have class of selected on them) */
}
.k-treeview ul.mainTreeView li.k-item.selected a.k-link.selected {
  color: white !important;
}
.k-treeview ul.mainTreeView li.k-item[aria-expanded=true] {
  background-color: #A3A3A3;
}
.k-treeview ul.mainTreeView li.k-item span.k-icon {
  right: initial;
  left: 1.5rem;
}
.k-treeview ul.mainTreeView li.k-item:focus:focus-visible {
  background-color: #A3A3A3;
}
.k-treeview ul.mainTreeView li.k-item:hover {
  background-color: #A3A3A3;
}

/* #endregion */
/****************************************************************************************************/
/* #region Top Level Simple */
/****************************************************************************************************/
nav.topLevelSimple {
  width: 100%;
}
nav.topLevelSimple ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
nav.topLevelSimple ul a {
  text-decoration: none;
  text-transform: uppercase;
  color: #fff !important;
  opacity: 0.9;
}
nav.topLevelSimple ul a:hover {
  color: #00427E !important;
}

/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Mega Menu - Disabled by default */
/****************************************************************************************************/
/* .k-animation-container {
        display: block !important;
        overflow: visible !important;

        .k-menu-group {
            display: block !important;
            transform: translateY(0) !important;
        }
    }*/
/*nav ul.megaNav {*/
/* (The Mega Dropdown) */
/*.megaContainer {
        display: none; //hide until initialized
    }

    .k-animation-container {
        width: calc(60vw) !important;
        max-height: 750px !important;
        display: none;*/
/*top: 65px !important;*/
/*top: calc(100% + 3px) !important;
        border: none !important;*/
/*transform: translatex(-50%) !important;
        left: 50% !important;

        .k-item.k-state-default {
            white-space: normal !important;
        }

        .k-group.megaContainer { //individual megamenu container
            width: 100% !important;*/
/* border: solid 2px red;*/
/*box-shadow: 0px 5px 27px 7px rgba(0,0,0,0.12);
            display: flex !important;
            flex-direction: row;
            flex-wrap: wrap;
            padding: 2.5rem;

            a {
                padding-bottom: .3rem;
                padding-left: 0;

                &:after {
                    transition: $transitionMenuItem;
                }

                &:hover {
                    @extend %borderBottomShort;
                }
            }

            > li.k-item {
                display: inline-block;
                width: 100%;
                font-size: .9rem;
                padding-bottom: .5rem;

                &:hover {
                    background-color: transparent;
                }

                h4 {
                    margin-top: 0;
                }

                .k-content {
                    background-color: transparent;

                    .level1 {
                        li {
                            padding-bottom: .5rem;
                        }
                    }

                    .button {
                        white-space: normal;
                        text-align: left;

                        a:hover {
                            color: #fff;
                        }
                    }
                }
            }

            &.commonPanel {
                column-count: 2;
                display: block !important;
            }

            &.expertises {
                display: flex;

                ul {
                    margin: 0;
                }

                .k-first {
                    flex-basis: 70%;
                }

                .k-last {
                    flex-basis: 30%;
                }

                .k-content {
                    &.megaLeft {
                        margin-right: 2rem;

                        .level1 {
                            column-count: 2;
                            column-gap: 2rem;

                            li {
                                display: inline-block;
                                width: 100%;
                            }
                        }
                    }
                }
            }

            &.teammembers {
                flex-direction: column;
            }

            &.insights {
                padding: 0;

                ul.level1 {
                    column-count: 2;
                }

                .k-content {
                    flex-direction: column;
                }

                > li {
                    padding: 2.5rem;
                }

                li:first-of-type {
                    background-color: $greyXXXLight !important;
                }

                li.k-item + li.k-item {
                    padding-top: 1rem;
                }
            }
        }
    }
}*/
/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Nav - Description List */
/****************************************************************************************************/
/*nav.descriptionList {
    margin: 5rem 0 4.5rem !important;

    h2 {
        color: $primaryColour;
        font-size: 1rem;
        font-family: $primaryFont;
        margin-bottom: 2rem;
    }

    ul.menuItems.listView {
        @include grid(4, 2rem, "li");
        margin-top: 4rem;

        li.menuItem {
            position: relative;
            margin-bottom: 2.4rem;*/
/*flex-basis: 25%;*/
/*margin: 0;*/
/*&:before {
                content: ' ';
                position: absolute;
                inset: -1rem;
                background-color: rgba($secondaryColour, .1);
                z-index: 1;
                opacity: 0;
                display: block;
                transition: $transition;
            }

            > {
                position: relative;
                z-index: 2;
            }

            &.selected {
                //background-color: $secondaryColourTransparent;

                h3:after {
                    background-color: $secondaryColour;
                }
            }

            &:hover {
                &:before {
                    opacity: 1;
                }
            }

            .navItemInner {*/
/*padding: 1rem;*/
/*position: relative;
                z-index: 9;

                .bgImgWrapper {
                    @include aspectRatioBox(1 1, ".bgImg");
                }

                a {
                    text-decoration: none;
                    color: inherit;
                    display: block;
                }

                h3 {
                    margin: 0;
                    position: relative;
                    padding-bottom: 1.5rem;
                    color: $grey;

                    &:after {
                        content: ' ';
                        position: absolute;
                        background-color: $primaryColour;
                        height: 1px;
                        width: calc(50% - 1.5rem);
                        left: 0;
                        bottom: 0;
                    }
                }
            }
        }
    }
}*/
/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Nav - Thumbnail List */
/****************************************************************************************************/
/*nav.thumbnailList {

    ul.menuItems {*/
/*@include grid(4, 0.2rem, "li.menuItem");*/
/*display: flex;
        flex-wrap: nowrap;

        li.menuItem {
            flex: 1 1 0;
            margin: 0;

            &:hover {
                .navItemInner {*/
/*padding: 2px;*/
/*text-align: center;

                    .bgImgWrapper {
                        .bgImg {
                            transform: scale(1.1);
                        }
                    }
                }
            }

            .navItemInner {
                padding: 2px;
                text-align: center;

                .bgImgWrapper {
                    @include aspectRatioBox(1 1, ".bgImg");

                    .bgImg {
                        transition: $transition;
                    }
                }

                a {
                    text-decoration: none;
                    color: inherit;
                    display: block;
                }

                h3 {
                    padding-bottom: 1.5rem;
                    color: $secondaryColour;
                    margin: 1rem auto;
                }
            }
        }
    }

}*/
/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Sitemap */
/****************************************************************************************************/
/*nav {
    ul.siteMapComplete {
        padding-left: 2em;

        li {
            padding: 0.35em 0 0 0.25em;
            list-style-type: disc;
            text-transform: none;
        }

        li.rootMenuItem {
            list-style-type: square;
            text-transform: uppercase;

            ul {
                padding-left: 2em;
            }

            ul.level2 {
                padding-left: 4em;
            }

            ul.level3 {
                padding-left: 6em;
            }

            ul.level4 {
                padding-left: 8em;
            }
        }

        li.reset {
            padding: 0;
            margin: 0;
            list-style-type: none;
        }

        li a.toggleAction.button {
            margin: 0.5em 0 0 0;
        }
        // FAQ Toggle
        li a.toggleAction.withPlusMinus {
            .openIcon {
                display: inline-block;
            }

            .closeIcon {
                display: none;
            }
        }
        // Active FAQ Toggle
        li.active {
            a.toggleAction.withPlusMinus {
                .openIcon {
                    display: none;
                }

                .closeIcon {
                    display: inline-block;
                }
            }
        }

        div.toggleContent {
            display: none;

            &.active {
                display: block;
            }
        }
    }
}*/
/* #endregion */
/****************************************************************************************************/
/****************************************************************************************************/
/* #region Tabs / Tabstrip */
/****************************************************************************************************/
.tabstrip {
  display: none;
}

.tabstrip.k-widget {
  display: block;
}
.tabstrip.k-widget .button .k-flat {
  display: none;
}
.tabstrip.k-widget.k-tabstrip {
  background: none;
  border: none;
  font-size: inherit;
  padding-top: 1rem;
}
.tabstrip.k-widget.k-tabstrip .k-tabstrip-items {
  border: none;
  background: none;
  text-transform: uppercase;
}
.tabstrip.k-widget.k-tabstrip .k-tabstrip-items .k-item {
  border: none;
  background: none;
  border-radius: 0;
}
.tabstrip.k-widget.k-tabstrip .k-tabstrip-items .k-item .k-loading {
  border: none;
}
.tabstrip.k-widget.k-tabstrip .k-tabstrip-items .k-item .k-link {
  color: #00427E;
  padding: 0 2rem 0;
  font-size: 1.4rem;
  background: none;
  text-transform: none;
  border-right: solid 1px #00427E;
}
.tabstrip.k-widget.k-tabstrip .k-tabstrip-items .k-item.k-first .k-link {
  padding-left: 0;
}
.tabstrip.k-widget.k-tabstrip .k-tabstrip-items .k-item.k-last .k-link {
  border: none;
}
.tabstrip.k-widget.k-tabstrip .k-tabstrip-items .k-item.k-state-active .k-link {
  color: #fff;
}
.tabstrip.k-widget.k-tabstrip .k-tabstrip-items .k-item.k-state-hover .k-link {
  opacity: 0.8;
}
.tabstrip.k-widget.k-tabstrip .k-tabstrip-items .k-item:active .k-link {
  color: #fff;
}
.tabstrip.k-widget.k-tabstrip:focus {
  box-shadow: none;
}
.tabstrip.k-widget.k-tabstrip:focus:focus-visible {
  outline: 2px solid #00427E;
  outline-color: #A3A3A3;
  outline-style: dashed;
}
.tabstrip.k-widget.k-tabstrip:focus:focus-visible .k-item.k-state-active {
  outline: 2px solid #00427E;
}
.tabstrip.k-widget.k-tabstrip .k-content {
  border: none;
  padding: 0;
  background-color: transparent;
  overflow: hidden;
}
.tabstrip.k-widget.k-tabstrip .k-content.k-state-active {
  background-color: transparent;
}
.tabstrip.k-widget.k-tabstrip .k-content:focus {
  outline: none;
}
.tabstrip.k-widget.k-tabstrip .k-content:focus:focus-visible {
  outline: 2px solid #00427E;
  outline-offset: 0;
}

/* #endregion */
/****************************************************************************************************/
/* 
Media queries for tablet and mobile (general guidelines for breakpoints globally set in the _variables file) 
Mobile ($S_Max)   Tablet ($M_Min and $M_Max)  Small Desktop ($L_Min and $L_Max)  Large Desktop ($XL_Min - This is the standard for all styles)
*/
/* Variables Section*/
@media (max-width: 1299px) {
  :root {
    --containerPadding: 3rem;
    --sideBarPadding: 280px;
  }
}
@media (max-width: 1024px) {
  :root {
    --total-header-height: 112px;
    --containerPadding: 3rem;
    --sideBarPadding: 220px;
  }
}
@media (max-width: 767px) {
  :root {
    --containerPadding: 25px;
    --sideBarPadding: 170px;
  }
}
@media (max-width: 500px) {
  :root {
    --containerPadding: 1rem;
    --total-header-height: 110px;
    --top-header-height: 110px;
  }
}
/* Small Desktop (switch between simple and mobile nav) */
@media only screen and (max-width: 1299px) {
  .site-footer .mainFooter .mainFooterGrid .footerLeft {
    padding-top: 2rem;
    padding-bottom: 2rem;
    /* the background */
  }
  .site-footer .mainFooter .mainFooterGrid .footerLeft:before {
    right: -100vw;
  }
  .site-footer .mainFooter .mainFooterGrid .footerLeft .footerLeftGrid {
    display: flex;
    flex-direction: row;
  }
  .site-footer .mainFooter .mainFooterGrid .footerLeft .footerLeftGrid .logoAndAddress {
    width: 50%;
    flex: initial;
  }
  .site-footer .mainFooter .mainFooterGrid .footerLeft .footerLeftGrid .studentLinks {
    width: 50%;
    flex: initial;
  }
  .site-footer .mainFooter .mainFooterGrid .footerRight {
    padding-left: 0;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  .site-footer .mainFooter .mainFooterGrid .footerRight .footerSitemapGrid {
    width: 100%;
  }

  .findAnything {
    min-width: inherit;
    padding: 2rem 0;
  }
  .findAnything .fieldGroups {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
  .findAnything fieldset {
    border: none;
    padding: 0;
    max-width: 500px;
  }
  .findAnything fieldset .k-dropdown {
    width: 100%;
  }
  .findAnything fieldset .k-dropdown .k-dropdown-wrap .k-input {
    font-size: 0.8rem;
    height: 50px;
    line-height: 1;
  }
  .findAnything fieldset .filterToggle {
    display: none;
  }
}
/* Tablet */
@media only screen and (max-width: 1024px) {
  .hideOnResponsive {
    display: none;
  }

  .hamburger {
    display: block !important;
  }

  .mobileOnly {
    display: block;
    height: auto;
    width: auto;
  }

  .mobileNav .k-treeview .k-item {
    font-size: 1.2rem;
  }

  #header {
    position: relative;
  }
  #header .mainNavWrapper {
    display: none !important;
  }
  #header .topHeader {
    position: relative;
    z-index: 1001;
  }
  #header .topHeader .topHeaderGridLeft img {
    width: 250px;
    z-index: 9999;
  }
  #header .topHeader .topHeaderGridRight {
    padding-right: 3rem;
  }

  main {
    padding-top: 0;
  }

  .twoToneWrapper {
    background: none;
  }

  .cardView.publication {
    min-height: 200px;
  }

  .mainFooter {
    --footerMinHeight: 12rem;
  }
  .mainFooter .mainFooterGrid .mainFooterLeft {
    align-items: center;
    padding: 2rem 0;
  }
  .mainFooter .mainFooterGrid .mainFooterRight {
    background-color: #2B2B2B;
    min-height: var(--footerMinHeight);
    /* sitemap navs */
  }
  .mainFooter .mainFooterGrid .mainFooterRight .siteMapComplete {
    column-count: 2;
  }

  .copyrightFooter .container {
    flex-direction: column;
    text-align: center;
    gap: 0.5rem;
  }
}
/* Mobile Only */
@media only screen and (max-width: 767px) {
  .wrapperWithImage:after {
    background-size: 85% !important;
  }
  .wrapperWithImage.sizeIntial:after, .wrapperWithImage.sizeCover:after {
    background-size: 85% !important;
  }

  .jumpMenuWrapper {
    position: relative;
    background: #F1F1F1;
    left: initial;
    margin-bottom: 1rem;
  }
  .jumpMenuWrapper ul.jumpMenu {
    width: 100%;
    display: flex;
    justify-content: center;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5rem 1.25rem;
    padding: var(--containerPadding);
  }

  .detailView .sideBarPadding {
    padding-left: 0;
  }

  .detailView.teammember .bioImageWrapper.rightBottom:after {
    background-position: 100% 0;
  }
  .detailView.teammember .bioTopContent .bioTopGrid {
    flex-direction: column-reverse;
  }
  .detailView.teammember .bioTopContent .bioPhotoWrapper {
    width: 100%;
    border-bottom: 1px solid #BA0C2F;
  }
  .detailView.teammember .bioTopContent .bioContact {
    width: 100%;
  }

  .listView.gridCols {
    gap: 1rem;
  }
}
/* XS Mobile Only */
@media only screen and (max-width: 650px) {
  .mobileNav .k-treeview .k-item {
    font-size: 1.3rem;
  }

  .mainFooter {
    --footerMinHeight: 8rem;
    background-position-y: 1rem;
    background-size: 20%;
  }
  .mainFooter .mainFooterGrid .mainFooterRight {
    /* sitemap navs */
  }
  .mainFooter .mainFooterGrid .mainFooterRight .siteMapComplete {
    column-count: 1;
  }
  .mainFooter .mainFooterGrid .mainFooterLeft .followUs {
    justify-content: center;
  }
}
/* XS Mobile Only */
@media only screen and (max-width: 500px) {
  #header .topHeader .topHeaderGrid {
    gap: 0.5rem;
  }
  #header .topHeader .topHeaderGrid .topHeaderGridRight {
    justify-content: flex-start;
  }
  #header .header .logo img {
    max-width: 220px;
  }

  button.hamburger {
    top: 60%;
    right: 1.5rem;
  }

  .contactPage .listView.offices li.circle {
    aspect-ratio: initial;
    border-radius: 0;
  }
}
/* ### Bullets */
/* XXS Mobile (min width) */
/* XS Mobile (min width) */
/* XS Mobile (max width) */
/* Mobile (min width) */
/* Mobile (max width) */
/* Mobile (max width) */
/* Tablets (min width) */
/* Tablets (max width) */
/* Small Desktop  (min width) */
/* Small Desktop (max width) */
/* Large Desktop (min width) */
/* Large Desktop (max width) */
/* Extra-Large Desktop (min width) */
/* Extra-Large Desktop (max width) */
/* High Definition (HD) - THIS IS THE LEVEL OF OUR DEFAULT STYLES */
/* Containers - PLEASE USE REMS */
/* Container Padding */
/* Whitespace */
/* Subheader FluidTypeSizes */
/*$subheader-xs-min: 18px;
$subheader-s-min: 20px;
$subheader-m-min: 22px;
$subheader-l-min: 26px;
$subheader-xl-min: 34px;
$subheader-xxl-min: 45px;
$subheader-xs: 20px;
$subheader-s:  25px;
$subheader-m: 30px;
$subheader-l: 45px;
$subheader-xl: 60px;
$subheader-xxl: 80px;*/
/* Base unit used for spacing gutters */
/* Buttons */
/* hover styles*/
@media print {
  .noPrint {
    display: none;
  }

  .printOnly {
    display: block;
    height: auto;
    width: auto;
  }

  a[href]:after {
    content: none !important;
  }

  /* Hide these elements */
  .topHeader {
    display: none !important;
  }

  .mobile,
.topHeader,
header nav,
header .search,
footer,
video, audio, object, embed {
    display: none !important;
    height: 0 !important;
  }

  header .header.stuck {
    position: relative !important;
  }

  img {
    max-width: 100%;
  }

  @page {
    margin: 0.5cm;
  }
  body {
    line-height: 1.4;
  }

  h1 {
    font-size: 21pt;
  }

  h2 {
    font-size: 15pt;
    margin-top: 25px;
  }

  h3 {
    font-size: 13pt;
    margin-top: 20px;
  }

  p a {
    color: black;
    word-wrap: break-word;
  }
  p a:after {
    content: " " attr(href) ")";
  }
  p a[href^="#"]:after {
    display: none;
  }
  p a[href^="http://"]:after, p a a[href^="https://"]:after {
    content: " (" attr(href) ")";
  }

  .pageTopper {
    min-height: 0;
  }
  .pageTopper .topperImage {
    display: none;
  }

  .resources .innerContent .itemImage {
    display: none;
  }

  .filteredContent .filtersContainer, .filteredContent #loadingIndicator, .filteredContent #loadMoreContainer {
    display: none !important;
  }

  .viewMoreOuter {
    display: none;
  }

  .teammembers .teammember .bgImgWrapper {
    display: none;
  }

  .teammember .topperGrid {
    height: auto;
  }
  .teammember .topperGrid .bioTopContent.flexCol {
    color: #000;
    background-color: #fff;
  }
  .teammember .topperGrid .bioTopContent.flexCol .bioContact {
    text-align: left;
    flex-direction: column;
    display: flex;
    justify-content: center;
    height: 100%;
  }
  .teammember .topperGrid .bioTopContent.flexCol .bioContact h1 {
    color: #000;
  }
  .teammember .topperGrid .bioTopContent.flexCol .bioContact a:link, .teammember .topperGrid .bioTopContent.flexCol .bioContact a:visited, .teammember .topperGrid .bioTopContent.flexCol .bioContact a:active {
    color: #000;
  }
  .teammember .topperGrid .bioTopContent.flexCol .bioContact .offices ul li {
    border-right: 1px solid #000;
  }
  .teammember .topperGrid .bioTopContent.flexCol .bioContact .offices ul li a {
    color: #000;
  }
  .teammember .bgImgWrapper {
    display: none;
    height: 0;
  }

  .expertise.detailView .pageTopper, .sector.detailView .pageTopper, .solution.detailView .pageTopper {
    min-height: 0;
    padding-top: 2rem;
  }
  .expertise.detailView .pageTopper .topperImage, .sector.detailView .pageTopper .topperImage, .solution.detailView .pageTopper .topperImage {
    display: none;
  }
}
/* ############## PRINTABLE PDF STYLES ############### */
.printWrapper {
  background-color: #fff;
  font-size: 14px;
  /* h3 {
      font-size: 1.2rem !important; //using important to minimize number of rules that need to be overridden
      break-inside: avoid;
  }

  h3::after { // basically give the header an extra element that is large enough that it will break if needed.
      //NOTE: need break-inside: avoid on the parent element
      content: "";
      display: block;
      height: 120px;
      margin-bottom: -120px;
  }*/
  /*.h3, .cmsContent.highlightFirstElement > :first-child {
      font-size: 1.1rem !important;
  }*/
  /* Shared List views and cards */
  /* Two Column Table */
  /* bottom table (for resource etc) */
  /* ##### CARDS Sections #####*/
  /* ##### DETAIL VIEWS #### */
  /* Team Bio Specific Styles*/
}
.printWrapper a {
  color: #BA0C2F;
}
.printWrapper .cmsContent {
  color: #53565A;
}
.printWrapper .cmsContent a {
  color: #BA0C2F;
}
.printWrapper .cmsContent ul {
  margin: 0;
}
.printWrapper .cmsContent ul li {
  margin: 0 0 0.25rem 0;
  padding: 0.25rem 0 0 1.25rem;
}
.printWrapper .cmsContent ul li:before {
  height: 1rem;
  background-image: url(/CFImages/Icons/circle-primary.svg);
}
.printWrapper .cmsContent.highlightFirstElement > :first-child {
  margin: 0 0 1rem;
  font-size: 16px !important;
}
.printWrapper table {
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  border: none;
  border-collapse: inherit;
  border-spacing: 0;
  border-color: inherit;
  vertical-align: inherit;
  text-align: left;
  font-weight: inherit;
}
.printWrapper table tr td {
  vertical-align: top;
}
.printWrapper table tr td.alignBottom {
  vertical-align: bottom;
}
.printWrapper p, .printWrapper li {
  font-size: 14px;
  word-break: break-word;
}
.printWrapper .cmsContent p, .printWrapper .cmsContent li {
  font-size: 14px;
  line-height: 1.1rem;
}
.printWrapper h1, .printWrapper h2, .printWrapper h3, .printWrapper h4, .printWrapper h5 {
  text-align: left;
}
.printWrapper .borderTopShortBefore:before {
  margin-bottom: 10px;
  width: 150px;
}
.printWrapper blockquote {
  font-size: 16px !important;
  min-height: 0;
  margin: 1rem auto;
  padding: 0;
}
.printWrapper blockquote:before {
  margin-bottom: 10px;
  width: 350px;
  height: 2px;
}
.printWrapper blockquote:after {
  content: none;
}
.printWrapper h1:first-child,
.printWrapper h2:first-child,
.printWrapper h3:first-child,
.printWrapper h4:first-child,
.printWrapper h5:first-child,
.printWrapper h6:first-child,
.printWrapper .h:first-child {
  margin-top: revert;
}
.printWrapper h1 {
  font-size: 28px !important;
}
.printWrapper h2 {
  font-size: 18px !important;
  margin: 0;
  padding-bottom: 0;
  break-inside: avoid;
  margin: 1rem 0 0.75rem;
}
.printWrapper h2:after {
  content: "";
  display: block;
  height: 120px;
  position: relative;
  margin-bottom: -120px;
}
.printWrapper .detailView.experiencegrouping h2 {
  font-size: 18px !important;
  margin: 0;
  padding-bottom: 0;
  break-inside: initial;
  margin: 1rem 0 0.75rem;
}
.printWrapper .detailView.experiencegrouping h2:after {
  content: none;
  height: initial;
  margin-bottom: initial;
}
.printWrapper h2.smallMargin:after {
  content: "";
  display: block;
  height: 180px;
  margin-bottom: -180px;
}
.printWrapper h2.mediumMargin:after {
  content: "";
  display: block;
  height: 300px;
  margin-bottom: -300px;
}
.printWrapper h2.superMargin:after {
  content: "";
  display: block;
  height: 500px;
  margin-bottom: -500px;
}
.printWrapper h3 {
  font-size: 16px !important;
  color: #53565A;
  margin: 0;
  padding-bottom: 0;
  break-inside: avoid;
  margin: 1.25rem 0 0.75rem;
}
.printWrapper .avoidPageBreak {
  page-break-inside: avoid;
}
.printWrapper .container {
  width: 100%;
  padding: 0;
  margin: 0;
  max-width: 100% !important;
}
.printWrapper .paddedWithMargin {
  padding: 0.5rem 2rem 2rem;
  margin: 1.5rem 0;
}
.printWrapper .baseFont {
  font-family: "AvenirLTStd-Medium", sans-serif;
}
.printWrapper .logoWrapper {
  padding: 0 0 16px 0;
}
.printWrapper .logoWrapper img {
  max-width: 250px;
}
.printWrapper .viewAllMoreWrapper {
  display: none;
}
.printWrapper .listView {
  display: block;
  gap: initial;
  margin-bottom: 0;
}
.printWrapper .mainContent {
  padding: 0 2rem 0 0rem;
}
.printWrapper table.mainGrid tr td {
  vertical-align: top;
  border: none;
  border-spacing: 0px;
}
.printWrapper table.mainGrid .secondaryContent {
  padding: 0.5rem 1.5rem 0.5rem 1.5rem;
}
.printWrapper table.mainGrid .secondaryContent h2 {
  font-size: 1.2rem;
  margin-bottom: 1.5rem;
}
.printWrapper table.mainGrid .secondaryContent ul li {
  font-size: 1rem !important;
}
.printWrapper table.fullGrid {
  width: 100%;
}
.printWrapper .cardView.teammember {
  border-bottom: none;
}
.printWrapper .cardView.teammember .contactInfo {
  margin-bottom: 0;
}
.printWrapper .cardView.teammember .contactInfo li {
  font-size: 0.85rem !important;
}
.printWrapper .detailView .sectionPadding {
  margin: 0 0 2rem 0;
}
.printWrapper table.topGrid.photoBackground {
  margin-bottom: 2rem;
  display: block;
  width: 100%;
}
.printWrapper table.topGrid.photoBackground td {
  display: inline;
  padding: 0;
}
.printWrapper table.topGrid.photoBackground .topperImage {
  position: relative;
  height: 250px;
  overflow: hidden;
}
.printWrapper table.topGrid.photoBackground .topperImage img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: bottom right;
     object-position: bottom right;
  width: 100%;
  height: 250px;
}
.printWrapper table.topGrid.photoBackground h1 {
  color: #BA0C2F;
  position: absolute !important;
  z-index: 3 !important;
  top: 50%;
  left: 4rem;
  transform: translatey(-50%);
  margin: 0;
  max-width: 70%;
  font-size: 30px !important;
}
.printWrapper .detailView.insight.publication table.topGrid.photoBackground {
  display: table;
}
.printWrapper .detailView.insight.publication table.topGrid.photoBackground .headerText {
  position: absolute !important;
  z-index: 3 !important;
  top: 2rem;
  left: 2rem;
  margin: 0;
  width: calc(100% - 4rem);
}
.printWrapper .detailView.insight.publication table.topGrid.photoBackground .headerText h1 {
  position: relative !important;
  color: #BA0C2F;
  font-size: 26px !important;
  top: initial;
  left: initial;
  margin: 0;
  transform: initial;
  max-width: initial;
  width: 100%;
}
.printWrapper .detailView.insight.publication table.topGrid.photoBackground .headerText h2 {
  color: #BA0C2F;
  font-size: 20px !important;
  width: 100%;
}
.printWrapper .detailView.experiencegrouping .cardView.case {
  page-break-before: always;
  display: block;
  height: auto;
}
.printWrapper .detailView.experiencegrouping .cardView.case table.meta {
  width: 100%;
}
.printWrapper .detailView.experiencegrouping .cardView.case table.topGrid.photoBackground {
  margin: 0;
  display: block;
  width: 100%;
}
.printWrapper .detailView.experiencegrouping .cardView.case table.topGrid.photoBackground td {
  display: inline;
  padding: 0;
}
.printWrapper .detailView.experiencegrouping .cardView.case table.topGrid.photoBackground .topperImage {
  position: relative;
  height: 100%;
}
.printWrapper .detailView.experiencegrouping .cardView.case table.topGrid.photoBackground .topperImage img {
  -o-object-fit: scale-down;
     object-fit: scale-down;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
}
.printWrapper .detailView.teammember .bioTopContent {
  margin-bottom: 1rem;
  /* top table (for contact and image) */
}
.printWrapper .detailView.teammember .bioTopContent table.topGrid .bioContact {
  position: relative;
  font-size: 1.1rem;
  height: 100%;
  width: 100%;
  padding: 2rem 2rem;
}
.printWrapper .detailView.teammember .bioTopContent table.topGrid .bioContact .nameDesignationsPronunciation h1 {
  margin-bottom: 0;
}
.printWrapper .detailView.teammember .bioTopContent table.topGrid .bioContact ul.contactInfo {
  margin: 1rem 0 0 0;
}
.printWrapper .detailView.teammember .bioTopContent table.topGrid .bioContact ul.contactInfo li {
  font-size: 14px !important;
  line-height: 1.2;
}
.printWrapper .detailView.teammember .bioTopContent table.topGrid .bioContact ul.contactInfo li .contactItemWrapper {
  display: flex;
}
.printWrapper .detailView.teammember .bioTopContent table.topGrid .bioContact ul.contactInfo li .prefixLabel {
  color: #BA0C2F;
  width: 20px;
}
.printWrapper .detailView.teammember .bioTopContent table.topGrid .bioContact ul.contactInfo li a {
  color: #53565A;
}
.printWrapper .detailView.teammember .bioTopContent table.topGrid .bioPhotoWrapper {
  border-bottom: none !important;
  width: 100%;
  height: 100%;
}
.printWrapper .detailView.teammember .bioTopContent table.topGrid .bioPhotoWrapper .imgWrapper {
  width: 100%;
}
.printWrapper .detailView.teammember .bioTopContent table.topGrid .bioPhotoWrapper .imgWrapper img {
  -o-object-position: 40%;
     object-position: 40%;
  aspect-ratio: 1;
}
.printWrapper .detailView.expertise {
  /* ##### FOR EXPERTISE PAGES ### */
}
.printWrapper .detailView.expertise table.topGrid.photoBackground.expertiseTop {
  border-top: 1px solid #BA0C2F;
}
.printWrapper .detailView.expertise .listView.testimonials li {
  break-inside: avoid !important;
}
.printWrapper .detailView.insight.publication table.topGrid.photoBackground.publicationTop, .printWrapper .detailView.insight.case table.topGrid.photoBackground.publicationTop {
  border-top: 1px solid #BA0C2F;
}
.printWrapper .detailView.insight.publication table.topGrid.photoBackground.publicationTop.hasImage td, .printWrapper .detailView.insight.case table.topGrid.photoBackground.publicationTop.hasImage td {
  display: inline;
  padding: 0;
}
.printWrapper .detailView.insight.publication table.topGrid.photoBackground.publicationTop.hasImage .topperImage:after, .printWrapper .detailView.insight.case table.topGrid.photoBackground.publicationTop.hasImage .topperImage:after {
  background: rgba(0, 0, 0, 0.4);
  content: "";
  height: 200%;
  left: 0;
  mix-blend-mode: darken;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2;
}
.printWrapper .detailView.insight.publication table.topGrid.photoBackground.publicationTop.hasImage h1, .printWrapper .detailView.insight.case table.topGrid.photoBackground.publicationTop.hasImage h1 {
  color: white !important;
}
.printWrapper .detailView.insight.publication .meta, .printWrapper .detailView.insight.case .meta {
  color: #53565A;
  text-transform: uppercase;
  font-size: 12px;
  margin-bottom: 1rem;
  letter-spacing: 0;
}
.printWrapper .detailView.insight.publication .meta .seperator, .printWrapper .detailView.insight.publication .meta .separator, .printWrapper .detailView.insight.case .meta .seperator, .printWrapper .detailView.insight.case .meta .separator {
  margin: 0;
  padding: 0 5px;
}
.printWrapper .detailView.insight.publication .meta .contentTypeLabels, .printWrapper .detailView.insight.case .meta .contentTypeLabels {
  font-size: 12px;
  letter-spacing: 0;
}
.printWrapper .detailView.insight.publication .meta .dates, .printWrapper .detailView.insight.publication .meta .authorTeam, .printWrapper .detailView.insight.case .meta .dates, .printWrapper .detailView.insight.case .meta .authorTeam {
  letter-spacing: 0;
}
.printWrapper .detailView.insight.publication .meta .dates a, .printWrapper .detailView.insight.publication .meta .authorTeam a, .printWrapper .detailView.insight.case .meta .dates a, .printWrapper .detailView.insight.case .meta .authorTeam a {
  color: #53565A;
}
.printWrapper .detailView.insight.publication .related.documentsWrapper, .printWrapper .detailView.insight.case .related.documentsWrapper {
  margin-bottom: 2rem;
}
.printWrapper .detailView.insight.publication .cardView.document, .printWrapper .detailView.insight.case .cardView.document {
  width: -moz-fit-content;
  width: fit-content;
  padding: 1rem 1rem 1rem 0;
  min-height: 100px;
}
.printWrapper .detailView.insight.publication .cardView.document span.redgraveIcon, .printWrapper .detailView.insight.case .cardView.document span.redgraveIcon {
  height: 60px;
}
.printWrapper .detailView.insight.publication .cardView.document .documentDetails svg, .printWrapper .detailView.insight.case .cardView.document .documentDetails svg {
  font-size: 2rem;
}
.printWrapper .detailView.insight.publication .cardView.document a, .printWrapper .detailView.insight.case .cardView.document a {
  align-items: center;
}
.printWrapper .detailView.insight.publication .cardView.document a .titleLink, .printWrapper .detailView.insight.case .cardView.document a .titleLink {
  font-size: 16px;
}
.printWrapper .cardView.insight.publication {
  padding: 0.5rem 0;
  border: none;
  min-height: 0;
  box-shadow: none;
  font-size: 12px;
  border-radius: initial;
  border-top: 1px solid #E6E6E6;
}
.printWrapper .cardView.insight.publication:before {
  content: none;
}
.printWrapper .cardView.insight.publication .onelineFlex {
  display: flex;
  justify-content: flex-start;
  text-transform: uppercase;
  font-size: 12px;
}
.printWrapper .cardView.insight.publication .onelineFlex span.dates {
  font-size: 12px;
}
.printWrapper .cardView.insight.publication .onelineFlex .contentTypeLabels {
  font-size: 12px;
}
.printWrapper .cardView.insight.publication h3 {
  font-size: 14px;
  margin: 0;
}
.printWrapper .cardView.insight.publication h3 a {
  font-size: 14px;
}
.printWrapper .cardView.testimonial {
  padding: 2rem 3rem 3rem 3rem;
}
.printWrapper .cardView.testimonial .quote {
  font-size: 24px;
  line-height: 1.1;
}
.printWrapper .cardView.testimonial cite {
  font-size: 16px;
}
.printWrapper .wrapper.related.keyContacts ul.listView.related.teammembers {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem;
}
.printWrapper .wrapper.related.keyContacts ul.listView.related.teammembers li .cardView.teammember {
  padding: 0;
  margin: 0;
}
.printWrapper .wrapper.related.keyContacts ul.listView.related.teammembers li .cardView.teammember h3 a {
  color: #53565A;
}
.printWrapper .wrapper.related.keyContacts ul.listView.related.teammembers li .cardView.teammember h3:before {
  content: none;
}
.printWrapper ul.listView.related.insights.cases li, .printWrapper ul.listView.related.expertises li {
  margin: 0 0 0.25rem 0;
  padding: 0.25rem 0 0 1.25rem;
  border: none;
  position: relative;
}
.printWrapper ul.listView.related.insights.cases li:before, .printWrapper ul.listView.related.expertises li:before {
  content: " ";
  top: initial;
  left: 0;
  width: 1em;
  height: 1.4em;
  color: #BA0C2F;
  content: "";
  display: block;
  position: absolute;
  line-height: inherit;
  background-image: url(/CFImages/Icons/circle-primary.svg);
  background-size: 0.4em auto;
  background-repeat: no-repeat;
  background-position: center;
}
.printWrapper ul.listView.related.insights.cases li h3, .printWrapper ul.listView.related.expertises li h3 {
  margin: 0;
  padding: 0;
  font-family: "AvenirLTStd-Medium", sans-serif;
  font-weight: 400;
  font-size: 14px !important;
}
.printWrapper ul.listView.related.insights.cases li h3 a, .printWrapper ul.listView.related.expertises li h3 a {
  color: #53565A;
}
.printWrapper ul.listView.related.insights.publications {
  /*        display: grid;
  grid-template-columns: 1fr;
  gap: 0.5rem;*/
}
.printWrapper .cardView.insight.publication {
  break-inside: avoid;
  page-break-inside: avoid;
  display: block;
}
.printWrapper ul.listView.related.expertises {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}

/*# sourceMappingURL=main.css.map*/