.pristine-error {
  color: #cc0900 !important;
  margin-top: 0 !important;
}

.has-danger input, .has-danger textarea {
  border-color: #cc0900 !important;
}

/* ----------------------------------------------------------- */
/* == tingle v0.15.2 */
/* ----------------------------------------------------------- */
.tingle-modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  display: flex;
  visibility: hidden;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
  -webkit-overflow-scrolling: touch;
  background: rgba(0, 0, 0, 0.85);
  opacity: 0;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: pointer;
}

/* confirm and alerts
-------------------------------------------------------------- */
.tingle-modal--confirm .tingle-modal-box {
  text-align: center;
}

/* modal
-------------------------------------------------------------- */
.tingle-modal--noOverlayClose {
  cursor: default;
}

.tingle-modal--noClose .tingle-modal__close {
  display: none;
}

.tingle-modal__close {
  position: fixed;
  top: 2.5rem;
  right: 2.5rem;
  z-index: 1000;
  padding: 0;
  width: 2rem;
  height: 2rem;
  border: none;
  background-color: transparent;
  color: #fff;
  cursor: pointer;
}

.tingle-modal__close svg * {
  fill: currentColor;
}

.tingle-modal__closeLabel {
  display: none;
}

.tingle-modal__close:hover {
  color: #fff;
}

.tingle-modal-box {
  position: relative;
  flex-shrink: 0;
  margin-top: auto;
  margin-bottom: auto;
  width: 60%;
  border-radius: 4px;
  background: #fff;
  opacity: 1;
  cursor: auto;
  will-change: transform, opacity;
}
.modal-image .tingle-modal-box {
  width: auto;
  max-width: 1264px;
}

.tingle-modal-box__content {
  padding: 2em;
}

.tingle-modal-box__footer {
  padding: 1.5rem 2rem;
  width: auto;
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
  background-color: #f5f5f5;
  cursor: auto;
}

.tingle-modal-box__footer::after {
  display: table;
  clear: both;
  content: "";
}

.tingle-modal-box__footer--sticky {
  position: fixed;
  bottom: -200px; /* TODO : find a better way */
  z-index: 10001;
  opacity: 1;
  transition: bottom 0.3s ease-in-out 0.3s;
}

/* state
-------------------------------------------------------------- */
.tingle-enabled {
  position: fixed;
  right: 0;
  left: 0;
  overflow: hidden;
}

.tingle-modal--visible .tingle-modal-box__footer {
  bottom: 0;
}

.tingle-enabled .tingle-content-wrapper {
  filter: blur(8px);
}

.tingle-modal--visible {
  visibility: visible;
  opacity: 1;
}

.tingle-modal--visible .tingle-modal-box {
  animation: scale 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
}

.tingle-modal--overflow {
  overflow-y: scroll;
  padding-top: 8vh;
}

/* btn
-------------------------------------------------------------- */
.tingle-btn {
  display: inline-block;
  margin: 0 0.5rem;
  padding: 1rem 2rem;
  border: none;
  background-color: grey;
  box-shadow: none;
  color: #fff;
  vertical-align: middle;
  text-decoration: none;
  font-size: inherit;
  font-family: inherit;
  line-height: normal;
  cursor: pointer;
  transition: background-color 0.4s ease;
}

.tingle-btn--primary {
  background-color: #3498db;
}

.tingle-btn--danger {
  background-color: #e74c3c;
}

.tingle-btn--default {
  background-color: #34495e;
}

.tingle-btn--pull-left {
  float: left;
}

.tingle-btn--pull-right {
  float: right;
}

/* responsive
-------------------------------------------------------------- */
@media (max-width: 540px) {
  .tingle-modal {
    top: 0px;
    display: block;
    padding-top: 60px;
    width: 100%;
  }
  .tingle-modal-box {
    width: auto;
    border-radius: 0;
  }
  .tingle-modal-box__content {
    overflow-y: scroll;
  }
  .tingle-modal--noClose {
    top: 0;
  }
  .tingle-modal--noOverlayClose {
    padding-top: 0;
  }
  .tingle-modal-box__footer .tingle-btn {
    display: block;
    float: none;
    margin-bottom: 1rem;
    width: 100%;
  }
  .tingle-modal__close {
    top: 0;
    right: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 60px;
    border: none;
    background-color: #202a44;
    box-shadow: none;
    color: #fff;
  }
  .tingle-modal__closeLabel {
    display: inline-block;
    vertical-align: middle;
    font-size: 1.6rem;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  }
  .tingle-modal__closeIcon {
    display: inline-block;
    margin-right: 0.8rem;
    width: 1.6rem;
    vertical-align: middle;
    font-size: 0;
  }
}
@supports (-webkit-backdrop-filter: blur(12px)) or (backdrop-filter: blur(12px)) {
  .tingle-modal:before {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    pointer-events: none;
  }
  .tingle-enabled .tingle-content-wrapper {
    filter: none;
  }
}
/* animations
-------------------------------------------------------------- */
@keyframes scale {
  0% {
    opacity: 0;
    transform: scale(0.9);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
/* Custom
-------------------------------------------------------------- */
.tingle-modal-box--wide .tingle-modal-box {
  max-width: 100%;
  width: 1200px;
}
.tingle-modal-box--wide .tingle-modal-box__content {
  padding: 0.25rem;
}
.tingle-modal-box--wide object {
  width: 100%;
  max-width: 58em;
  height: 100vh;
}
@media (min-width: ) {
  .tingle-modal-box--wide object {
    height: 90vh;
  }
}
@media (max-width: 1400px) {
  .tingle-modal-box--wide object {
    width: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }
}

.tingle-modal-box__content form button::before {
  background-color: #202a44;
}
.tingle-modal-box__content form button:hover {
  color: #fff;
}

.tns-nav {
  display: none;
}

#hubspotFormVehicleListing {
  padding: 1rem;
}
@media (min-width: ) {
  #hubspotFormVehicleListing {
    padding: 1rem 2rem;
  }
}

.tns-outer {
  padding: 0 !important;
  position: relative;
}
.tns-outer [hidden] {
  display: none !important;
}
.tns-outer [aria-controls], .tns-outer [data-action] {
  cursor: pointer;
}

.tns-slider {
  -webkit-transition: all 0s;
  -moz-transition: all 0s;
  transition: all 0s;
}
.tns-slider > .tns-item {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.tns-horizontal.tns-subpixel {
  white-space: nowrap;
}
.tns-horizontal.tns-subpixel > .tns-item {
  display: inline-block;
  vertical-align: top;
  white-space: normal;
}
.tns-horizontal.tns-no-subpixel.tns-carousel > .tns-item {
  margin-right: -100%;
}
.tns-horizontal.tns-no-subpixel:after {
  content: "";
  display: table;
  clear: both;
}
.tns-horizontal.tns-no-subpixel > .tns-item {
  float: left;
}

.tns-no-calc {
  position: relative;
  left: 0;
}

.tns-gallery {
  position: relative;
  left: 0;
  min-height: 1px;
}
.tns-gallery > .tns-item {
  position: absolute;
  left: -100%;
  -webkit-transition: transform 0s, opacity 0s;
  -moz-transition: transform 0s, opacity 0s;
  transition: transform 0s, opacity 0s;
}
.tns-gallery > .tns-slide-active {
  position: relative;
  left: auto !important;
}
.tns-gallery > .tns-moving {
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}

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

.tns-lazy-img {
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  transition: opacity 0.6s;
  opacity: 0.6;
}
.tns-lazy-img.tns-complete {
  opacity: 1;
}

.tns-ah {
  -webkit-transition: height 0s;
  -moz-transition: height 0s;
  transition: height 0s;
}

.tns-ovh {
  overflow: hidden;
}

.tns-visually-hidden {
  position: absolute;
  left: -10000em;
}

.tns-transparent {
  opacity: 0;
  visibility: hidden;
}

.tns-fadeIn {
  opacity: 1;
  filter: alpha(opacity=100);
  z-index: 0;
}

.tns-normal, .tns-fadeOut {
  opacity: 0;
  filter: alpha(opacity=0);
  z-index: -1;
}

.tns-vpfix {
  white-space: nowrap;
}
.tns-vpfix > div, .tns-vpfix > li {
  display: inline-block;
}

.tns-t-subp2 {
  margin: 0 auto;
  width: 310px;
  position: relative;
  height: 10px;
  overflow: hidden;
}

.tns-t-ct {
  width: 2333.3333333%;
  width: -webkit-calc(100% * 70 / 3);
  width: -moz-calc(100% * 70 / 3);
  width: 2333.3333333333%;
  position: absolute;
  right: 0;
}
.tns-t-ct::after {
  content: "";
  display: table;
  clear: both;
}
.tns-t-ct > div {
  width: 1.4285714%;
  width: -webkit-calc(100% / 70);
  width: -moz-calc(100% / 70);
  width: 1.4285714286%;
  height: 10px;
  float: left;
}

.tns-controls {
  text-align: center;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin-top: -24px;
}
.tns-controls button {
  overflow: hidden;
  text-indent: 200%;
  white-space: nowrap;
  position: absolute;
  padding: 0;
  background-repeat: no-repeat;
  width: 48px;
  height: 48px;
  background-size: 100%;
  transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.tns-controls button:hover {
  opacity: 0.64;
}
.tns-controls button:first-child {
  background-image: url(../img/icons/gallery-prev.svg);
  left: 0;
}
.tns-controls button:last-child {
  background-image: url(../img/icons/gallery-next.svg);
  right: 0;
}

.noUi-target, .noUi-target * {
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  -ms-touch-action: none;
  touch-action: none;
  -ms-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.noUi-target {
  position: relative;
}

.noUi-base, .noUi-connects {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}

.noUi-connects {
  overflow: hidden;
  z-index: 0;
}

.noUi-connect, .noUi-origin {
  will-change: transform;
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  height: 100%;
  width: 100%;
  -ms-transform-origin: 0 0;
  -webkit-transform-origin: 0 0;
  -webkit-transform-style: preserve-3d;
  transform-origin: 0 0;
  transform-style: flat;
}

.noUi-txt-dir-rtl.noUi-horizontal .noUi-origin {
  left: 0;
  right: auto;
}

.noUi-vertical .noUi-origin {
  top: -100%;
  width: 0;
}

.noUi-horizontal .noUi-origin {
  height: 0;
}

.noUi-handle {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  position: absolute;
}

.noUi-touch-area {
  height: 100%;
  width: 100%;
}

.noUi-state-tap .noUi-connect, .noUi-state-tap .noUi-origin {
  -webkit-transition: transform 0.3s;
  transition: transform 0.3s;
}

.noUi-state-drag * {
  cursor: inherit !important;
}

.noUi-horizontal {
  height: 18px;
}

.noUi-horizontal .noUi-handle {
  width: 34px;
  height: 28px;
  right: -17px;
  top: -6px;
}

.noUi-vertical {
  width: 18px;
}

.noUi-vertical .noUi-handle {
  width: 28px;
  height: 34px;
  right: -6px;
  bottom: -17px;
}

.noUi-txt-dir-rtl.noUi-horizontal .noUi-handle {
  left: -17px;
  right: auto;
}

.noUi-target {
  background: #FAFAFA;
  border-radius: 4px;
  border: 1px solid #D3D3D3;
  box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB;
}

.noUi-connects {
  border-radius: 3px;
}

.noUi-connect {
  background: #971a30;
}

.noUi-draggable {
  cursor: ew-resize;
}

.noUi-vertical .noUi-draggable {
  cursor: ns-resize;
}

.noUi-handle {
  border: 1px solid #D9D9D9;
  border-radius: 3px;
  background: #FFF;
  cursor: default;
  box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #EBEBEB, 0 3px 6px -3px #BBB;
}

.noUi-active {
  box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #DDD, 0 3px 6px -3px #BBB;
}

.noUi-handle:after, .noUi-handle:before {
  content: "";
  display: block;
  position: absolute;
  height: 14px;
  width: 1px;
  background: #E8E7E6;
  left: 14px;
  top: 6px;
}

.noUi-handle:after {
  left: 17px;
}

.noUi-vertical .noUi-handle:after, .noUi-vertical .noUi-handle:before {
  width: 14px;
  height: 1px;
  left: 6px;
  top: 14px;
}

.noUi-vertical .noUi-handle:after {
  top: 17px;
}

[disabled] .noUi-connect {
  background: #B8B8B8;
}

[disabled] .noUi-handle, [disabled].noUi-handle, [disabled].noUi-target {
  cursor: not-allowed;
}

.noUi-pips, .noUi-pips * {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.noUi-pips {
  position: absolute;
  color: #999;
}

.noUi-value {
  position: absolute;
  white-space: nowrap;
  text-align: center;
}

.noUi-value-sub {
  color: #ccc;
  font-size: 10px;
}

.noUi-marker {
  position: absolute;
  background: #CCC;
}

.noUi-marker-sub {
  background: #AAA;
}

.noUi-marker-large {
  background: #AAA;
}

.noUi-pips-horizontal {
  padding: 10px 0;
  height: 80px;
  top: 100%;
  left: 0;
  width: 100%;
}

.noUi-value-horizontal {
  -webkit-transform: translate(-50%, 50%);
  transform: translate(-50%, 50%);
}

.noUi-rtl .noUi-value-horizontal {
  -webkit-transform: translate(50%, 50%);
  transform: translate(50%, 50%);
}

.noUi-marker-horizontal.noUi-marker {
  margin-left: -1px;
  width: 2px;
  height: 5px;
}

.noUi-marker-horizontal.noUi-marker-sub {
  height: 10px;
}

.noUi-marker-horizontal.noUi-marker-large {
  height: 15px;
}

.noUi-pips-vertical {
  padding: 0 10px;
  height: 100%;
  top: 0;
  left: 100%;
}

.noUi-value-vertical {
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding-left: 25px;
}

.noUi-rtl .noUi-value-vertical {
  -webkit-transform: translate(0, 50%);
  transform: translate(0, 50%);
}

.noUi-marker-vertical.noUi-marker {
  width: 5px;
  height: 2px;
  margin-top: -1px;
}

.noUi-marker-vertical.noUi-marker-sub {
  width: 10px;
}

.noUi-marker-vertical.noUi-marker-large {
  width: 15px;
}

.noUi-tooltip {
  display: block;
  position: absolute;
  border: 1px solid #D9D9D9;
  border-radius: 3px;
  background: #fff;
  color: #000;
  padding: 5px;
  text-align: center;
  white-space: nowrap;
}

.noUi-horizontal .noUi-tooltip {
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  left: 50%;
  bottom: 120%;
}

.noUi-vertical .noUi-tooltip {
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  top: 50%;
  right: 120%;
}

.noUi-horizontal .noUi-origin > .noUi-tooltip {
  -webkit-transform: translate(50%, 0);
  transform: translate(50%, 0);
  left: auto;
  bottom: 10px;
}

.noUi-vertical .noUi-origin > .noUi-tooltip {
  -webkit-transform: translate(0, -18px);
  transform: translate(0, -18px);
  top: auto;
  right: 28px;
}

.dots, .sitemap-list {
  list-style: none;
}
.dots li, .sitemap-list li {
  padding-left: 12px;
  margin-top: 2px;
  position: relative;
}
.dots li::before, .sitemap-list li::before {
  content: "";
  height: 6px;
  width: 6px;
  border-radius: 6px;
  background-color: #202a44;
  position: absolute;
  top: 13px;
  left: 0;
}
.dots ul, .sitemap-list ul {
  list-style: none;
  margin-top: 0;
}

.sitemap-list {
  max-width: 22em;
  margin-left: auto;
  margin-right: auto;
  font-weight: 400;
}

ol {
  list-style: none;
  counter-reset: ol-counter;
  text-align: left;
}
ol li {
  padding-left: 85px !important;
  position: relative;
  min-height: 70px !important;
  line-height: 1.4;
  display: flex;
  align-items: center;
}
ol li:before {
  content: counter(ol-counter);
  position: absolute;
  left: 0;
  top: 0;
  height: 70px;
  width: 70px;
  line-height: 70px;
  font-size: 50px;
  text-align: center;
  font-weight: 700;
  color: #202a44;
  background-color: #f5f5f5;
  border-radius: 1rem;
}
ol li p {
  margin-top: 1rem;
}
ol li + li {
  margin-top: 2.5rem;
}
ol > li {
  counter-increment: ol-counter;
}

ol.ol-small li {
  padding-left: 38px !important;
  min-height: 30px !important;
  font-size: 1rem;
  font-weight: 400;
  color: #282828;
  line-height: 1.5;
}
@media (min-width: ) {
  ol.ol-small li {
    font-size: 1.25rem;
  }
}
ol.ol-small li:before {
  height: 30px;
  width: 30px;
  line-height: 30px;
  font-size: 22px;
}
ol.ol-small li span {
  max-width: 32rem;
}

ol.ol-p li:before {
  background-color: #202a44;
  color: #fff;
}

.tick {
  list-style: none;
}
.tick li {
  padding-left: 24px;
  margin-top: 1px;
  position: relative;
}
.tick li:not(.no-tick)::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 12px;
  border: solid #971a30;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
  position: absolute;
  top: 6px;
  left: 2px;
}
.tick li + li {
  margin-top: 0.75rem;
}
.tick.tick--secondary li::before {
  border-color: #971a30;
}
.tick ul {
  list-style: none;
  margin-top: 8px;
}
.tick ul li:not(.no-tick) {
  padding-left: 20px;
}
.tick ul li:not(.no-tick)::before {
  border: none;
  transform: none;
  background-image: url(../img/icons/arrow-right-dark.svg);
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: contain;
  width: 10px;
  top: 4px;
}
.tick.ib li {
  margin-left: 1em;
  margin-right: 1em;
  font-weight: 700;
}
.fs-14 .tick li::before {
  top: 2px;
}

.select {
  max-width: 100%;
  overflow: hidden;
  position: relative;
  border: 1px solid #282828;
  background-color: #fff;
  display: flex;
  height: 56px;
  justify-content: center;
  align-items: center;
  gap: 16px;
}
.select.input-error {
  border-color: #e4655f !important;
}
.select::after {
  content: "";
  width: 16px;
  height: 8px;
  background-image: url(../img/icons/arrow-down-dark.svg);
  background-size: 16px 8px;
  flex-shrink: 0;
  pointer-events: none;
  position: absolute;
  top: 50%;
  right: 0.5rem;
  transform: translateY(-50%);
}
.select select {
  margin-top: 0;
  margin-left: 0;
  padding: 0.75rem 1em;
  width: 100%;
  border: none;
  box-shadow: none;
  background-color: transparent;
  background-image: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  z-index: 2;
  cursor: pointer;
}
.select select:focus {
  outline: none;
}
.select select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

.card {
  display: flex;
  padding: 24px;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  border: 1px solid #282828;
  background-color: rgba(0, 0, 0, 0);
  transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.card:hover {
  background-color: rgba(0, 0, 0, 0.04);
}
.card.bg-primary, .card.bg-secondary {
  border: none;
}
.card.blog figure {
  max-width: calc(100% + 48px);
  width: calc(100% + 48px);
  position: relative;
  top: -24px;
  left: 0;
}
.card.blog img {
  width: 100%;
  max-height: 200px;
  object-fit: cover;
  aspect-ratio: 1/1;
}
.card.blog h2 {
  text-align: center;
}
.card.blog .card__text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  align-self: stretch;
  line-height: 1.5rem;
  overflow: hidden;
  text-overflow: ellipsis;
}
.card.blog .read-more__btn {
  transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  text-align: center;
}
.card.card--no-border {
  border: none;
}
.bg-primary .card {
  border: 1px solid #fff;
}

.events-grid .card {
  width: 100%;
  border-radius: 1.5rem;
}
.events-grid .card figure {
  height: 180px;
  display: grid;
  justify-content: center;
  align-items: center;
}
.events-grid .card img {
  max-height: 180px;
  width: auto;
  mix-blend-mode: darken;
}
.events-grid .card--no-image h2 {
  margin-top: 40px;
}
.events-grid .col8-md .card {
  display: block;
}
.events-grid .col8-md .card figure {
  height: 100%;
  float: left;
}
.events-grid .col8-md .card img {
  max-height: 480px;
}
@media (min-width: 55rem) {
  .events-grid .card--no-image h2 {
    margin-top: 180px;
  }
  .events-grid .col8-md .object-fit {
    min-height: 100%;
  }
  .events-grid .col8-md .object-fit figure {
    min-height: 100%;
  }
}

.card--image {
  position: relative;
  color: #fff;
  padding: 0;
  overflow: hidden;
}
.card--image:hover img {
  transform: scale(1.05);
}
.card--image img {
  transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.card--image figcaption {
  position: absolute;
  left: 0;
  bottom: 2.375rem;
  width: 100%;
  z-index: 2;
}
.card--image figcaption.pad {
  padding-left: 3rem;
  padding-right: 3rem;
}
.card--image figcaption.pad > h4 {
  font-size: 1rem;
}
.card--image::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 60%, #000 100%);
  z-index: 1;
}
.card--image.card--gradient--secondary::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(to top, #971a30 0%, rgba(32, 42, 68, 0) 100%);
  z-index: 1;
}
@media (min-width: 40rem) {
  .card--image .h2 {
    font-size: 2rem;
  }
}
.translated .col6-md .card--image .h2 {
  padding: 0 1rem;
}

.card--image--translate {
  height: 400px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
.card--image--translate img {
  position: absolute;
  left: 50%;
  top: 0;
  height: 400px;
  width: auto;
  max-width: 800px;
  display: block;
  transform: translateX(-50%);
}
@media (min-width: 55rem) {
  .card--image--translate {
    height: 500px;
    max-width: 100%;
  }
  .card--image--translate img {
    height: 500px;
  }
}

@media (min-width: 55rem) {
  .card--image--tall--md {
    height: 100%;
    max-height: 664px;
  }
  .card--image--tall--md img {
    height: 100%;
    max-height: 664px;
    max-width: 1000px;
  }
}
a.card--image {
  display: inline-block;
}
a.card--image figure {
  display: block;
}

.card--image2 {
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.card--image2 .card__content {
  margin: 0;
  padding: 2rem 1rem;
  flex-grow: 1;
}
.bg-primary .card--image2 {
  color: #282828;
}
.bg-primary .card--image2 .card__content {
  background-color: #fff;
}

.card--outline {
  border: 1px solid #fff;
  padding: 2rem;
}

a.card--outline:hover {
  background-color: rgba(255, 255, 255, 0.05);
}

.team-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.team-card figure {
  align-self: stretch;
  border-radius: 12px;
  background: #D9D9D9;
}
.team-card header {
  align-self: stretch;
}
.team-card header h2, .team-card header p {
  font-size: 18px;
  font-weight: 700;
  line-height: normal;
}
.team-card header p {
  color: #971a30;
}
.team-card > p {
  font-size: 18px;
  line-height: normal;
}
.team-card .team-card__bio {
  display: none;
}
.team-card .team-card__bio p {
  font-size: 18px;
  line-height: normal;
}

.modal-team-member {
  padding: 8px;
}

.page--meet-the-team .tingle-modal-box {
  border-radius: 2.25rem;
}

.faq.js-enabled details .content {
  height: 0;
  transition: height 0.3s ease-in-out;
}
.faq:not(.js-enabled) details[open] summary::before {
  background-color: #202a44;
}
.faq:not(.js-enabled) details[open] summary:after {
  transform: scaleY(-1);
}
.faq:not(.js-enabled) details[open] summary ~ * {
  animation: sweep 600ms cubic-bezier(0.23, 1, 0.32, 1);
}
.faq details {
  overflow: hidden;
  position: relative;
  padding: 9px 12px;
  border-bottom: 1px solid rgba(40, 40, 40, 0.25);
  transition: background-color 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
  text-wrap: pretty;
}
.faq details:first-child {
  border-top: 1px solid rgba(40, 40, 40, 0.25);
}
.faq details:hover {
  background-color: rgba(40, 40, 40, 0.03);
}
.faq details[open] .content {
  height: auto;
}
.faq details .content {
  overflow: hidden;
  margin: 0;
}
.faq details .content * + * {
  margin-top: 0.75rem;
}
.faq summary {
  user-select: none;
  outline: none;
  min-height: 4rem;
  position: relative;
  cursor: pointer;
  padding-right: 3rem;
  display: grid;
  align-items: center;
}
.faq summary::-webkit-details-marker {
  display: none;
}
.faq summary:before, .faq summary:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -1rem;
  transition: transform 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.faq summary:before {
  height: 2rem;
  width: 2rem;
  background: #971a30;
  border-radius: 1rem;
  transition: background-color 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.faq summary:after {
  height: 2rem;
  width: 2rem;
  background-image: url(../img/icons/arrow-down-white.svg);
  background-size: 16px 11px;
  background-repeat: no-repeat;
  background-position: 50% calc(50% + 0.5px);
}
.faq summary span {
  display: inline-block;
  vertical-align: middle;
}
.faq summary ~ * {
  padding-left: 0.5rem;
}
.faq summary + p {
  margin-top: 0;
}
@keyframes sweep {
  0% {
    opacity: 0;
    margin-left: -30px;
    margin-right: 30px;
  }
  100% {
    opacity: 1;
    margin-left: 0;
    margin-right: 0;
  }
}

.faq .col6-md .content {
  max-width: 38rem;
}

.icon::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 100% auto;
  z-index: 1;
}

.icon--xs::before {
  height: 14px;
  width: 14px;
}

.icon--sm::before {
  height: 20px;
  width: 20px;
  margin-right: 1rem;
}

.icon--md::before {
  height: 24px;
  width: 24px;
}

.icon--lg::before {
  height: 32px;
  width: 32px;
}

.icon--xl::before {
  height: 48px;
  width: 48px;
}

.icon--product {
  display: flex;
  align-items: center;
  gap: 16px;
  align-self: stretch;
}

.icon--phone::before {
  background-image: url(../img/icons/phone.svg);
}

.icon--phone-dark::before {
  background-image: url(../img/icons/phone-dark.svg);
}

.icon--email::before {
  background-image: url(../img/icons/email.svg);
}

.icon--email-solid::before {
  background-image: url(../img/icons/email-solid.svg);
}

.icon--facebook::before {
  background-image: url(../img/icons/facebook.svg);
}

.icon--instagram::before {
  background-image: url(../img/icons/instagram.svg);
}

.icon--calendar-outline::before {
  background-image: url(../img/icons/calendar-outline.svg);
}

.icon--calendar-solid::before {
  background-image: url(../img/icons/calendar-solid.svg);
}

.icon--chat::before {
  background-image: url(../img/icons/chat.svg);
}

.icon--phone-solid::before {
  background-image: url(../img/icons/phone-solid.svg);
}

.icon--flag-uk::before {
  background-image: url(../img/icons/flag-uk.svg);
}

.icon--flag-fr::before {
  background-image: url(../img/icons/flag-fr.svg);
}

.icon--flag-it::before {
  background-image: url(../img/icons/flag-it.svg);
}

.icon--flag-es::before {
  background-image: url(../img/icons/flag-es.svg);
}

.icon--flag-de::before {
  background-image: url(../img/icons/flag-de.svg);
}

.icon--pin::before {
  background-image: url(../img/icons/pin.svg);
}

.icon--product-sleeps::before {
  background-image: url(../img/icons/product-sleeps.svg);
}

.icon--product-belts::before {
  background-image: url(../img/icons/product-belts.svg);
}

.icon--product-drive-side::before {
  background-image: url(../img/icons/product-drive-side.svg);
}

.icon--product-engine::before {
  background-image: url(../img/icons/product-engine.svg);
}

.icon--product-gearbox::before {
  background-image: url(../img/icons/product-gearbox.svg);
}

.icon--product-miles::before {
  background-image: url(../img/icons/product-miles.svg);
}

.icon--product-registration::before {
  background-image: url(../img/icons/product-registration.svg);
}

.icon--calendar-outline::before {
  background-size: auto 100%;
  position: relative;
  top: -1px;
}

.icon--247-roadside-assistance::before {
  background-image: url(../img/icons/conveniences/247-roadside-assistance.svg);
}

.icon--campsite-partnerships::before {
  background-image: url(../img/icons/conveniences/campsite-partnerships.svg);
}

.icon--comprehensive-insurance::before {
  background-image: url(../img/icons/conveniences/comprehensive-insurance.svg);
}

.icon--cooking-utensils::before {
  background-image: url(../img/icons/conveniences/cooking-utensils.svg);
}

.icon--driver-conveniences::before {
  background-image: url(../img/icons/conveniences/driver-conveniences.svg);
}

.icon--full-kitcken::before {
  background-image: url(../img/icons/conveniences/full-kitcken.svg);
}

.icon--gas-bottle::before {
  background-image: url(../img/icons/conveniences/gas-bottle.svg);
}

.icon--general-equipment::before {
  background-image: url(../img/icons/conveniences/general-equipment.svg);
}

.icon--onboard-bathrooms::before {
  background-image: url(../img/icons/conveniences/onboard-bathrooms.svg);
}

.icon--personalised-tour::before {
  background-image: url(../img/icons/conveniences/personalised-tour.svg);
}

.icon--tv-dvd::before {
  background-image: url(../img/icons/conveniences/tv-dvd.svg);
}

.icon--unlimited-mileage::before {
  background-image: url(../img/icons/conveniences/unlimited-mileage.svg);
}

.icon-list {
  list-style: none;
  text-align: left;
  margin-top: 2rem;
  border-top: 1px solid rgba(40, 40, 40, 0.25);
}
.icon-list li {
  padding: 12px 0;
  position: relative;
  border-bottom: 1px solid rgba(40, 40, 40, 0.25);
  display: flex;
  justify-content: center;
  align-items: center;
  height: 5.5rem;
}
.icon-list li::before {
  background-size: contain;
  margin-right: 12px;
  flex-shrink: 0;
}
.icon-list div {
  width: 270px;
  max-width: calc(100% - 44px);
}
.icon-list h3 {
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.5px;
}
.icon-list p {
  line-height: 1.5;
}
@media (min-width: 40rem) {
  .icon-list {
    border: none;
    margin-top: 6rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 25px;
  }
  .icon-list li {
    padding: 16px 12px;
    height: 6rem;
    width: 350px;
    max-width: calc(50% - 12.5px);
  }
  .icon-list li:nth-child(-n+2) {
    border-top: 1px solid rgba(40, 40, 40, 0.25);
  }
  .icon-list li::before {
    margin-right: 24px;
  }
}
@media (min-width: 70rem) {
  .icon-list li {
    max-width: calc(33.333% - 25px);
  }
  .icon-list li:nth-child(3) {
    border-top: 1px solid rgba(40, 40, 40, 0.25);
  }
}
@media (min-width: 95rem) {
  .icon-list li {
    max-width: calc(25% - 37.5px);
  }
  .icon-list li:nth-child(4) {
    border-top: 1px solid rgba(40, 40, 40, 0.25);
  }
}

.icon--bed::before {
  background-image: url(../img/icons/motorhomes/bed.svg);
}

.icon--engine::before {
  background-image: url(../img/icons/motorhomes/engine.svg);
}

.icon--hob::before {
  background-image: url(../img/icons/motorhomes/hob.svg);
}

.icon--shower::before {
  background-image: url(../img/icons/motorhomes/shower.svg);
}

.icon--sleep::before {
  background-image: url(../img/icons/motorhomes/sleep.svg);
}

.icon--tv::before {
  background-image: url(../img/icons/motorhomes/tv.svg);
}

.motorhome-icons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}
.motorhome-icons .card {
  width: 232px;
  padding: 1rem 2rem;
}
.motorhome-icons .icon::before {
  background-size: 100% auto;
}
.motorhome-icons h3 {
  font-size: 1.125rem;
  letter-spacing: 0.5px;
  line-height: 1.4;
  margin-top: 0.25rem;
}
.motorhome-icons p {
  font-size: 0.75rem;
  line-height: 1.5;
  margin-top: 0.25rem;
}

.icon--servicing::before {
  background-image: url(../img/icons/icon-servicing.png?v=2);
}

.icon--repairs::before {
  background-image: url(../img/icons/icon-repairs.png?v=2);
}

.icon--mot::before {
  background-image: url(../img/icons/icon-mot.png?v=2);
}

.icon--mechanical::before {
  background-image: url(../img/icons/icon-mechanical.png?v=2);
}

.icon--damp::before {
  background-image: url(../img/icons/icon-damp.png?v=2);
}

.icon--parts::before {
  background-image: url(../img/icons/icon-parts.png?v=2);
}

.icon--gas::before {
  background-image: url(../img/icons/icon-gas.png?v=2);
}

.icon--vertical::before {
  display: block;
  margin: 0 auto;
  background-size: contain;
}

.icon--nav-new::before {
  background-image: url(../img/icons/nav-new.svg?v=.1);
}

.icon--nav-ni::before {
  background-image: url(../img/icons/nav-ni.svg?v=.1);
}

.icon--nav-offers::before {
  background-image: url(../img/icons/nav-offers.svg?v=.1);
}

.icon--nav-scotland::before {
  background-image: url(../img/icons/nav-scotland.svg?v=.1);
}

.icon--nav-stock::before {
  background-image: url(../img/icons/nav-stock.svg?v=.1);
}

.icon--nav-used::before {
  background-image: url(../img/icons/nav-used.svg?v=.1);
}

.icon--nav-finance::before {
  background-image: url(../img/icons/nav-finance.svg?v=.1);
}

.icon--nav-guide::before {
  background-image: url(../img/icons/nav-guide.svg?v=.1);
}

.icon--nav-london::before {
  background-image: url(../img/icons/nav-london.svg?v=.1);
}

.icon--nav-motorhomes::before {
  background-image: url(../img/icons/nav-motorhomes.svg?v=.1);
}

.icon--nav-repairs::before {
  background-image: url(../img/icons/nav-repairs.svg?v=.1);
}

.icon--nav-wrench::before {
  background-image: url(../img/icons/nav-wrench.svg?v=.1);
}

.icon--nav-shield::before {
  background-image: url(../img/icons/nav-shield.svg?v=.1);
}

.icon--nav-diamond::before {
  background-image: url(../img/icons/nav-diamond.svg?v=.1);
}

.icon--nav-warranty::before {
  background-image: url(../img/icons/nav-warranty.svg?v=.1);
}

.icon--nav-exchange::before {
  background-image: url(../img/icons/nav-exchange.svg?v=.1);
}

.icon--nav-about::before {
  background-image: url(../img/icons/nav-about.svg?v=.1);
}

.icon--nav-events::before {
  background-image: url(../img/icons/nav-events.svg?v=.1);
}

.icon--nav-work::before {
  background-image: url(../img/icons/nav-work.svg?v=.1);
}

.icon--nav-employees::before {
  background-image: url(../img/icons/nav-employees.svg?v=.1);
}

.icon--nav-coming-soon::before {
  background-image: url(../img/icons/nav-coming-soon.svg?v=.1);
}

.services-icon {
  position: relative;
}
.services-icon::before, .services-icon::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 240px;
}
.services-icon::before {
  transition: 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.services-icon::after {
  opacity: 0;
  transition: 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.services-icon:hover::before {
  opacity: 0.3;
}
.services-icon:hover::after {
  opacity: 1;
}

.services-icon--habitation::before {
  background-image: url(../img/icons/annual-habitation-service.svg);
}
.services-icon--habitation::after {
  background-image: url(../img/icons/annual-habitation-service-red.svg);
}

.services-icon--appliance::before {
  background-image: url(../img/icons/appliance-repairs.svg);
}
.services-icon--appliance::after {
  background-image: url(../img/icons/appliance-repairs-red.svg);
}

.services-icon--mechanical::before {
  background-image: url(../img/icons/mechanical-services-and-mot.svg);
}
.services-icon--mechanical::after {
  background-image: url(../img/icons/mechanical-services-and-mot-red.svg);
}

.services-icon--mechanical-repairs::before {
  background-image: url(../img/icons/mechanical-repairs.svg);
}
.services-icon--mechanical-repairs::after {
  background-image: url(../img/icons/mechanical-repairs-red.svg);
}

.services-icon--damp::before {
  background-image: url(../img/icons/damp-surveys.svg);
}
.services-icon--damp::after {
  background-image: url(../img/icons/damp-surveys-red.svg);
}

.services-icon--parts::before {
  background-image: url(../img/icons/parts.svg);
}
.services-icon--parts::after {
  background-image: url(../img/icons/parts-red.svg);
}

.services-icon--gas::before {
  background-image: url(../img/icons/gas.svg);
}
.services-icon--gas::after {
  background-image: url(../img/icons/gas-red.svg);
}

.side-contact-button {
  position: fixed;
  right: 0.5rem;
  bottom: 0.5rem;
  z-index: 3;
  height: 40px;
  width: 40px;
  border-radius: 50%;
  border: none;
  padding: 0 !important;
  background-color: #202a44;
  background-image: url(../img/icon-envelope-lg.png?v=2);
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 24px;
  text-indent: 150px;
  font-size: 0;
  overflow: hidden;
  box-shadow: 2px 2px 4px 1px rgba(0, 0, 0, 0.4);
}
@media (min-width: 55rem) {
  .side-contact-button {
    right: 1.5rem;
    bottom: 1.5rem;
    height: 64px;
    width: 64px;
    background-size: 40px;
  }
}

else .side-contact-button {
  top: 190px;
  position: fixed;
  right: -3.875em;
  transform: rotate(270deg);
  z-index: 3;
  font-size: 1em;
  padding: 1em 1.5em;
  box-shadow: 0px 0px 4px 1px rgba(0, 0, 0, 0.15);
}
@media (min-width: 1400px) {
  else .side-contact-button {
    top: 225px;
  }
}

.side-contact {
  display: none;
}

.tingle-modal {
  overflow: auto;
}
.tingle-modal input, .tingle-modal textarea {
  border-color: #f5f5f5;
  line-height: 1;
}

.tingle-modal-box {
  max-width: 34em;
}
.tingle-modal-box form > div {
  margin-top: 0.5em;
}
.tingle-modal-box form > div:last-child {
  margin-top: 1.5em;
}

.carousel > * {
  display: none;
}
.carousel > *:first-child, .carousel > *.tns-item {
  display: block;
}

.carousel--usp {
  max-width: 1000px;
}
.carousel--usp li {
  width: 380px;
  max-width: calc(100vw - 2em);
}
.carousel--usp li.carousel--usp__wide {
  width: 420px;
}
.carousel--usp h2 {
  font-weight: 700;
  letter-spacing: 0.15px;
}
.carousel--usp h2 + p {
  margin-top: 1rem;
  line-height: 1.5;
  letter-spacing: 0.1px;
  max-width: 30ch;
}
@media (min-width: 460px) {
  .carousel--usp .tns-ovh {
    position: relative;
  }
  .carousel--usp .tns-ovh::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    opacity: 0.5;
    background-image: linear-gradient(to right, #fff 0%, #fff calc(50% - 170px), transparent calc(50% - 169px), transparent calc(50% + 169px), #fff calc(50% + 170px));
  }
  .carousel--usp li {
    max-width: 380px;
  }
  .carousel--usp li.carousel--usp__wide {
    max-width: 420px;
  }
}

.carousel--vert-mid .tns-carousel {
  display: flex;
}
.carousel--vert-mid .tns-item {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
}

.main-inner .carousel-locations .card figcaption {
  transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.main-inner .carousel-locations .card:hover {
  color: #fff;
}
.main-inner .carousel-locations .card:hover figcaption {
  bottom: 4.375rem;
}

.carousel-locations .card {
  width: 320px;
  display: block;
}
.carousel-locations .card figure {
  aspect-ratio: 320/400;
}
.carousel-locations .card img {
  height: 400px;
  width: 400px;
  max-width: 400px;
  position: relative;
  left: -40px;
}
.carousel-locations .card figcaption {
  height: 6rem;
  display: grid;
  align-items: center;
}
.carousel-locations .card .h2 {
  line-height: 1.5;
  font-size: 2rem;
  max-width: 11.25rem;
  margin: 0 auto;
}
@media (min-width: 55rem) {
  .carousel-locations .card {
    width: 280px;
  }
  .carousel-locations .card figure {
    aspect-ratio: 280/360;
  }
  .carousel-locations .card img {
    height: 360px;
    width: 360px;
    max-width: 360px;
  }
}

.carousel-usp {
  padding-bottom: 60px;
}
.carousel-usp .tns-controls {
  top: auto;
  bottom: -60px;
  left: 50%;
  right: auto;
  width: 120px;
  height: 48px;
  margin-left: -60px;
}
.carousel-usp .tns-controls button:first-child {
  background-image: url(../img/arrow-prev-dark.svg);
}
.carousel-usp .tns-controls button:last-child {
  margin: 0;
  background-image: url(../img/arrow-next-dark.svg);
}
.carousel-usp .card {
  width: 320px;
  display: block;
  aspect-ratio: 320/400;
}
.carousel-usp .card::after {
  transition: 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.carousel-usp .card:hover::after {
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.75) 100%);
}
.carousel-usp .card:hover .text-reveal {
  opacity: 1;
  transform: translateY(0);
}
.carousel-usp .card:hover figcaption {
  opacity: 0;
  transform: translateY(100px);
}
.carousel-usp .card img {
  height: 400px;
  width: 400px;
  max-width: 400px;
  position: relative;
  left: -40px;
}
.carousel-usp .card figcaption {
  height: 6rem;
  display: grid;
  align-items: center;
  transition: 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.carousel-usp .card .h2 {
  line-height: 2.5rem;
  font-size: 1.5rem;
  text-transform: none;
  padding: 0 1.5rem;
}
@media (min-width: 55rem) {
  .carousel-usp .tns-controls {
    bottom: -96px;
  }
  .carousel-usp .card {
    width: 357px;
    aspect-ratio: 357/500;
  }
  .carousel-usp .card img {
    height: 500px;
    width: 500px;
    max-width: 500px;
  }
  .carousel-usp .card .h2 {
    line-height: 1.5;
    font-size: 2rem;
    padding: 0 2rem;
  }
}

@media (min-width: 55rem) {
  .translated--fr .carousel-usp .card .h2,
  .translated--de .carousel-usp .card .h2 {
    font-size: 1.75rem;
    padding: 0 1rem;
  }
}

.translated .text-reveal {
  padding: 1rem;
}
@media (min-width: 55rem) {
  .translated .text-reveal h3 {
    font-size: 1.75rem;
  }
}

.text-reveal {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1.5rem;
  z-index: 3;
  opacity: 0;
  transition: 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: translateY(-100px);
}
.text-reveal h3 {
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.5;
}
.text-reveal p {
  margin-top: 1.5rem;
}
.text-reveal a {
  text-decoration: none !important;
  background-image: linear-gradient(to left, transparent 0%, transparent calc(50% + 1px), #fff calc(50% + 2px), #fff 100%);
  background-size: 200% 1px;
  background-repeat: no-repeat;
  background-position: right bottom;
  transition: background 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.text-reveal a:hover {
  background-position: left bottom;
  color: #fff !important;
}
.text-reveal a svg {
  margin-left: 0.5rem;
}
@media (min-width: 55rem) {
  .text-reveal h3 {
    font-size: 2rem;
  }
}

.carousel-news {
  text-align: left;
  position: relative;
}
.carousel-news .h3 {
  font-size: 1.25rem;
  padding-right: 120px;
}
.carousel-news figure {
  aspect-ratio: 280/334;
  object-fit: cover;
  display: block;
  justify-content: center;
}
.carousel-news figure img {
  max-width: 500px;
  width: 100%;
  height: 334px;
  object-fit: cover;
  object-position: top;
}
.carousel-news h3 {
  margin-top: 2rem;
  font-size: 1.25rem;
  line-height: 1.4;
}
.carousel-news p {
  margin-top: 17px;
  text-wrap: pretty;
  transition: 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.carousel-news p svg {
  margin-left: 1rem;
  transition: 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
  position: relative;
  stroke: #282828;
}
.carousel-news a:hover p {
  color: #971a30;
}
.carousel-news a:hover svg {
  stroke: #971a30;
  transform: translateX(10px);
}
.carousel-news .tns-controls {
  top: -4.5rem;
  margin-top: 0;
  right: 1rem;
  left: auto;
  width: 112px;
  height: 48px;
}
.carousel-news .tns-controls button:first-child {
  left: 0;
  background-image: url(../img/arrow-prev-dark.svg);
}
.carousel-news .tns-controls button:last-child {
  right: 0;
  background-image: url(../img/arrow-next-dark.svg);
}
@media (min-width: 32rem) {
  .carousel-news .tns-controls {
    right: 1.75rem;
  }
  .carousel-news .h3 {
    font-size: 1.75rem;
  }
}
@media (min-width: 40rem) {
  .carousel-news .tns-controls {
    top: -5.375rem;
  }
  .carousel-news .h3 {
    font-size: 2.5rem;
  }
}
@media (min-width: 93.75rem) {
  .carousel-news .tns-controls {
    right: 0;
  }
}

#js_carousel-relocation-mw {
  margin-top: 0 !important;
}

.carousel-relocation {
  text-align: left;
  position: relative;
  margin-bottom: 6rem;
}
.carousel-relocation .card {
  background-color: #971a30;
  margin-top: 0 !important;
  padding: 2rem;
}
.carousel-relocation .card > * {
  color: #FFFFFF;
  margin-top: 1.5rem;
}
.carousel-relocation .card > *:first-child {
  margin-top: 0 !important;
}
.carousel-relocation .tns-controls {
  margin-top: 0;
  left: 0;
  width: 112px;
  height: 48px;
  top: auto;
  bottom: -4.5rem !important;
}
.carousel-relocation .tns-controls button:first-child {
  left: 0;
  background-image: url(../img/arrow-prev-dark.svg);
  margin-top: 0;
}
.carousel-relocation .tns-controls button:last-child {
  right: 0;
  background-image: url(../img/arrow-next-dark.svg);
  margin-top: 0;
}
@media (min-width: 93.75rem) {
  .carousel-relocation .tns-controls {
    right: 0;
  }
}

.translated .carousel-news h3 {
  font-size: 1rem;
}
.translated .carousel-news p {
  letter-spacing: 0;
  font-size: 0.875rem;
}

.carousel-reviews {
  margin-top: 10px;
  padding: 0 64px;
}
.carousel-reviews p {
  margin-top: 1.5rem;
  line-height: 1.5rem;
  letter-spacing: 1px;
}
.carousel-reviews .stars {
  overflow: hidden;
  text-indent: 200%;
  white-space: nowrap;
  width: 95px;
  height: 16px;
  background-image: url(../img/star.svg);
  background-size: 16px;
  background-repeat: space;
  margin-left: auto;
  margin-right: auto;
}
.carousel-reviews figure img {
  margin-left: auto;
  margin-right: auto;
}
.carousel-reviews .tns-controls button:first-child {
  left: -64px;
}
.carousel-reviews .tns-controls button:last-child {
  right: -64px;
}
@media (min-width: 55rem) {
  .carousel-reviews {
    margin-top: 6rem;
    padding: 12px 0;
    position: relative;
  }
  .carousel-reviews::before, .carousel-reviews::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    border-right: 1px solid #fff;
  }
  .carousel-reviews::before {
    left: calc(33.333% - 0.5px);
  }
  .carousel-reviews::after {
    left: calc(66.666% - 0.5px);
  }
}

.container--carousel-motorhomes {
  position: relative;
  z-index: 2;
}

.carousel-motorhome-thumbs {
  margin-top: calc(6rem - 55px);
  padding-bottom: 4rem;
}
.carousel-motorhome-thumbs .tns-slider {
  padding-top: 55px;
  padding-bottom: 2px;
  display: flex;
}
.carousel-motorhome-thumbs .tns-controls {
  top: auto;
  bottom: -4rem;
}
.carousel-motorhome-thumbs .tns-controls button:last-child {
  right: 1rem;
}
.carousel-motorhome-thumbs .tns-slide-active .card {
  background: rgba(255, 255, 255, 0.08);
}
.carousel-motorhome-thumbs .tns-slide-active + .tns-slide-active .card {
  background: rgba(255, 255, 255, 0);
}
.carousel-motorhome-thumbs .tns-item {
  display: grid !important;
}
.carousel-motorhome-thumbs .card {
  padding: calc(47.5px + 1.5rem) 1.5rem 1.5rem;
  position: relative;
  transition: background-color 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
  flex-grow: 1;
  cursor: pointer;
}
.carousel-motorhome-thumbs .card:hover {
  background: rgba(255, 255, 255, 0.03) !important;
}
.carousel-motorhome-thumbs .card:hover figure {
  transform: translate(-50%, -55%) scale(1.05);
}
.carousel-motorhome-thumbs figure {
  width: 160px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.carousel-motorhome-thumbs h3 {
  font-size: 1.375rem;
  line-height: 1.4;
}
.carousel-motorhome-thumbs .berth {
  display: none;
}
.carousel-motorhome-thumbs p {
  margin-top: 2rem;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.5px;
}
@media (min-width: 32rem) {
  .carousel-motorhome-thumbs .tns-controls button:last-child {
    right: 1.75rem;
  }
}
@media (min-width: 55rem) {
  .carousel-motorhome-thumbs {
    margin-top: 6.5625rem;
    padding: 0 64px;
  }
  .carousel-motorhome-thumbs .tns-slider {
    display: flex;
  }
  .carousel-motorhome-thumbs .tns-item {
    display: flex !important;
  }
  .carousel-motorhome-thumbs .tns-controls {
    top: 50%;
    bottom: auto;
  }
  .carousel-motorhome-thumbs .tns-controls button:first-child {
    left: -64px;
  }
  .carousel-motorhome-thumbs .tns-controls button:last-child {
    right: -64px;
  }
  .carousel-motorhome-thumbs .berth {
    display: block;
    margin: 1rem auto 0;
  }
  .carousel-motorhome-thumbs p {
    margin-top: 0.5rem;
  }
}

.motorhome-gallery {
  border-radius: 1.5rem;
  overflow: hidden;
  margin: 4rem auto 0;
  max-width: 475px;
}
.motorhome-gallery .motorhome-gallery-thumbs {
  margin-top: 4px;
}
.motorhome-gallery figure img {
  max-width: 110%;
}
.motorhome-gallery .tns-controls {
  top: -166px;
}
.motorhome-gallery .tns-controls button {
  width: 32px;
}
.motorhome-gallery .tns-controls button:first-child {
  background-image: url(../img/gallery-prev.svg);
}
.motorhome-gallery .tns-controls button:last-child {
  background-image: url(../img/gallery-next.svg);
}
@media (min-width: 55rem) {
  .motorhome-gallery {
    margin: auto 0;
    max-width: 750px;
  }
  .motorhome-gallery .motorhome-gallery-thumbs {
    margin-top: 8px;
  }
  .motorhome-gallery .tns-controls {
    top: calc(-18vw - 0.63rem);
  }
}
@media (min-width: 93.75rem) {
  .motorhome-gallery .tns-controls {
    top: -261px;
  }
}

.motorhome-gallery-main figure {
  position: relative;
}
.motorhome-gallery-main figure:hover::after {
  left: 0.875rem;
  bottom: 0.875rem;
  width: 2.25rem;
  height: 2.25rem;
}
.motorhome-gallery-main figure::after {
  content: "";
  position: absolute;
  bottom: 1rem;
  left: 1rem;
  width: 2rem;
  height: 2rem;
  background-image: url(../img/icons/magnify.svg);
  background-size: 100%;
  pointer-events: none;
  transition: 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.carousel-motorhomes-details h2 {
  padding: 0 4rem;
  text-wrap: pretty;
}
.carousel-motorhomes-details .motorhome-gallery-main figure {
  aspect-ratio: 475/340;
  object-fit: contain;
  overflow: hidden;
}
.carousel-motorhomes-details .motorhome-gallery-thumbs figure {
  aspect-ratio: 59/40;
  object-fit: contain;
  overflow: hidden;
}
.carousel-motorhomes-details .tns-item {
  margin: 0;
}
.carousel-motorhomes-details .tns-item * + img,
.carousel-motorhomes-details .tns-item .tns-ovh {
  margin-top: 0;
}
.carousel-motorhomes-details .tns-item .row {
  margin-left: 0;
  margin-bottom: 0;
}
@media (min-width: 55rem) {
  .carousel-motorhomes-details h2 {
    padding: 0;
  }
  .carousel-motorhomes-details .pull-right-md {
    padding-left: 2rem;
  }
  .carousel-motorhomes-details .motorhome-icons {
    justify-content: flex-start;
  }
  .carousel-motorhomes-details .motorhome-icons .card {
    width: 210px;
    max-width: calc(50% - 6px);
    padding: 0.875rem 1.75rem;
    margin: 0;
  }
}
@media (min-width: 70rem) {
  .carousel-motorhomes-details .pull-right-md {
    padding-left: 6rem;
  }
  .carousel-motorhomes-details .pull-right-md h2 + p {
    font-size: 1.125rem;
    line-height: 2rem;
  }
}

.carousel-google-testimonials {
  margin-top: 3rem;
}
.carousel-google-testimonials blockquote {
  text-align: center;
  margin: 0 10px;
  line-height: 1.5rem;
}
.carousel-google-testimonials blockquote cite {
  font-weight: 400;
  margin-top: 0;
}
.carousel-google-testimonials blockquote cite > span {
  display: block;
  font-size: 0.875rem;
}
.carousel-google-testimonials blockquote .google {
  display: inline-block;
  font-weight: 800;
  color: #4285f4;
}
.carousel-google-testimonials blockquote .google span:nth-child(1), .carousel-google-testimonials blockquote .google span:nth-child(4) {
  color: #ea4335;
}
.carousel-google-testimonials blockquote .google span:nth-child(2) {
  color: #fbbc05;
}
.carousel-google-testimonials blockquote .google span:nth-child(3) {
  color: #34a853;
}
.carousel-google-testimonials blockquote .summary {
  max-height: 6rem;
  overflow: hidden;
  position: relative;
  margin-top: 1rem;
  font-size: 0.875rem;
}
.carousel-google-testimonials blockquote p {
  font-size: 0.875rem;
  text-wrap: pretty;
}
.carousel-google-testimonials blockquote.bq-google--show .summary {
  max-height: 100em;
}
.carousel-google-testimonials .read-more {
  color: #909090;
  color: rgba(20, 20, 20, 0.5);
  font-size: 0.875rem;
  display: block;
  cursor: pointer;
  margin-top: 0.5rem;
}
.carousel-google-testimonials .read-more:hover {
  text-decoration: underline;
}
.carousel-google-testimonials .tns-controls button {
  width: 21px;
  height: 35px;
}
@media (min-width: 40rem) {
  .carousel-google-testimonials {
    padding: 0 60px;
  }
  .carousel-google-testimonials .tns-controls button {
    width: 20px;
    height: 35px;
  }
  .carousel-google-testimonials .tns-controls button:first-child {
    left: -60px;
  }
  .carousel-google-testimonials .tns-controls button:last-child {
    right: -60px;
  }
}
@media (min-width: 55rem) {
  .carousel-google-testimonials {
    padding: 0 100px;
    margin-top: 3rem;
  }
  .carousel-google-testimonials .tns-controls button {
    width: 20px;
    height: 35px;
  }
  .carousel-google-testimonials .tns-controls button:first-child {
    left: -100px;
  }
  .carousel-google-testimonials .tns-controls button:last-child {
    right: -100px;
  }
}

.carousel-usp {
  max-width: 1092px;
  margin-left: auto;
  margin-right: auto;
}
.carousel-usp ul {
  list-style: none;
  display: flex;
}

.carousel--gallery-sold {
  overflow: hidden;
}
.carousel--gallery-sold::before {
  content: "Sold";
  position: absolute;
  top: 12px;
  left: 12px;
  width: 14.375rem;
  background-color: #797D82 !important;
  color: #fff;
  text-align: center;
  font-size: 28px;
  line-height: 32px;
  text-transform: uppercase;
  display: flex;
  transform: translate(-4rem, 1.5rem) rotate(-45deg);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 6px 0;
  z-index: 3;
}

.carousel-motorhomes [data-sold=true] figure figcaption {
  background-color: #797D82 !important;
  text-transform: uppercase;
  left: -20px;
}

/* --------------------------------

File#: _1_read-more
Title: Read More
Descr: A truncated paragraph with the option of reading more content
Usage: codyhouse.co/license

-------------------------------- */
/* variables */
:root {
  /* colors */
  --rh9-color-primary-hsl: 250, 84%, 54%;
  --rh9-color-bg-hsl: 0, 0%, 100%;
  --rh9-color-contrast-high-hsl: 230, 7%, 23%;
  --rh9-color-contrast-higher-hsl: 230, 13%, 9%;
  --rh9-color-accent-hsl: 342, 89%, 48%;
  --rh9-color-contrast-lower-hsl: 240, 4%, 85%;
  /* spacing */
  --rh9-space-md: 1.25rem;
  --rh9-space-sm: 0.75rem;
  --rh9-space-xs: 0.5rem;
  /* typography */
  --rh9-text-sm: 0.833rem;
}

@media (min-width: 64rem) {
  :root {
    /* spacing */
    --rh9-space-md: 2rem;
    --rh9-space-sm: 1.125rem;
    --rh9-space-xs: 0.75rem;
    /* typography */
    --rh9-text-sm: 1rem;
  }
}
/* component */
.read-more {
  opacity: 0;
}

.read-more--loaded {
  opacity: 1;
}

.read-more__btn {
  color: #971a30;
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.read-more__btn:hover {
  gap: 14px;
}
.read-more__btn svg {
  width: 11.25px;
  height: 10px;
}

.js-read-more__content {
  max-height: 3000px;
  transition: 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  overflow: hidden;
}
.js-read-more__content.rh9-hide {
  max-height: 0;
}

/* utility classes */
.read-more__btn.rh9-hide, .read-less__btn.rh9-hide {
  display: none !important;
}

.grid-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  justify-content: center;
  color: #fff;
}
.grid-cards .card {
  max-width: 480px;
  position: relative;
  border: none;
}
.grid-cards .card:hover::after {
  top: -100%;
}
.grid-cards .card:hover .card__content {
  transform: translateY(-8rem);
}
.grid-cards .card::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: linear-gradient(180deg, rgba(32, 42, 68, 0) 0%, rgba(32, 42, 68, 0.1) 60%, #202A44 100%);
  z-index: 1;
  transition: 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.grid-cards figure {
  position: relative;
  z-index: 0;
}
.grid-cards .card__content {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  padding: 64px 0px;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  gap: 16px;
  flex: 1 0 0;
  align-self: stretch;
  z-index: 2;
  transition: 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.grid-cards h3 {
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.5px;
  text-transform: capitalize;
}
.grid-cards p {
  max-width: calc(100% - 2rem);
  margin-left: auto;
  margin-right: auto;
  min-height: 4.75rem;
}
@media (min-width: 40rem) {
  .grid-cards p {
    min-height: 6rem;
  }
}

.support-cta {
  padding: 2rem;
  color: #fff;
  position: relative;
}
.support-cta figure {
  width: 160px;
  height: 160px;
  flex-shrink: 0;
  background-color: #202a44;
  border-radius: 50%;
  display: grid;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}
.support-cta figure img {
  max-width: 119px;
}
.support-cta::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.6) 100%);
  z-index: 0;
}
.support-cta > * {
  position: relative;
  z-index: 1;
}
.support-cta h2 {
  margin: 2rem auto 0;
  max-width: 23.75rem;
}
.support-cta h2 + p {
  margin: 1rem auto 0;
  line-height: 1.75rem;
  letter-spacing: 0.5px;
  max-width: 23.75rem;
}
.support-cta .flex {
  gap: 1.5rem;
  justify-content: center;
  margin-top: 2rem;
  flex-wrap: wrap;
}
.support-cta .flex .card {
  width: 11.25rem;
}
.support-cta .flex .h4 {
  letter-spacing: 0.5px;
  margin-top: 24px;
}
.support-cta .flex p {
  margin-top: 0.75rem;
}
.support-cta .icon {
  position: relative;
}
.support-cta .icon::before {
  position: relative;
  margin-top: 12px;
}
.support-cta .icon::after {
  content: "";
  position: absolute;
  top: 2rem;
  left: calc(50% - 24px);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: #202a44;
}
@media (min-width: 32rem) {
  .support-cta {
    padding: 3rem;
  }
}
@media (min-width: 40rem) {
  .support-cta h2 {
    font-size: 2rem;
  }
}
@media (min-width: 55rem) {
  .support-cta {
    display: flex;
  }
  .support-cta figure {
    margin: 0 4rem 0 0;
  }
  .support-cta > div {
    padding-right: 2rem;
    flex-grow: 1;
  }
  .support-cta h2 {
    margin-top: 0;
    max-width: 100%;
  }
  .support-cta h2 + p {
    margin-left: 0;
    max-width: 25rem;
  }
  .support-cta .flex {
    padding: 0;
    margin-top: 0;
  }
}
@media (min-width: 70rem) {
  .support-cta .flex {
    flex-wrap: nowrap;
  }
}
@media (min-width: 95rem) {
  .support-cta {
    align-items: center;
  }
  .support-cta .flex .card {
    width: 20.25rem;
  }
}

.grid-range {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
}
.grid-range .card {
  display: flex;
  padding: 24px 12px;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  max-width: 276px;
  border: 1px solid #282828;
  background-color: rgba(0, 0, 0, 0);
  transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  text-align: center;
}
.grid-range .card:hover {
  background-color: rgba(0, 0, 0, 0.04);
}
@media (min-width: 70rem) {
  .grid-range .card {
    flex: 1 0 0;
  }
}

.grid-range--icons .c-servicing-icons__card {
  padding-bottom: 0;
  margin-bottom: 0;
  width: 276px;
  max-width: 100%;
}
.grid-range--icons .c-servicing-icons__card::before {
  border: none;
}

.accreditations {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  gap: 1rem 2rem;
}
@media (min-width: 40rem) {
  .accreditations {
    justify-content: space-between;
  }
}

.search-widget {
  position: absolute;
  bottom: 6.5rem;
  left: 0;
  right: 0;
  z-index: 3;
}
.search-widget form {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 0 1rem;
  max-width: 49rem;
  margin: 0 auto;
}
.search-widget form > div {
  flex-basis: calc(50% - 8px);
}
.search-widget .select {
  border-color: #fff;
  background-color: #fff;
  color: #282828;
  padding: 0;
}
.search-widget .select select {
  padding: 0.75rem 1.5rem 0.75rem 0.5rem;
  text-transform: uppercase;
  text-overflow: ellipsis;
  text-align: center;
  background-color: transparent;
  padding: 1.25rem 1rem;
  text-align: left;
}
.search-widget .select option {
  text-transform: uppercase;
  direction: ltr;
  padding: 0;
  text-align: left;
}
.search-widget .select option:first-child {
  text-align: center;
}
.search-widget .select::after {
  background-image: url(../img/icons/arrow-down-dark.svg);
}
.search-widget .button {
  border-radius: 0 2rem 2rem 0;
  line-height: 1rem;
  padding: 1.25rem 1em;
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  gap: 16px;
}
.search-widget .button svg {
  display: none;
}
@media (min-width: 40rem) {
  .search-widget {
    bottom: 5rem;
  }
  .search-widget form {
    flex-wrap: no-wrap;
  }
  .search-widget form > div {
    flex-basis: calc(25% - 6px);
  }
  .search-widget form > div:first-child .select {
    border-radius: 2rem 0 0 2rem;
  }
  .search-widget .select select {
    padding: 1.25rem 2.5rem 1.25rem 1.5rem;
  }
  .search-widget .select::after {
    right: 1.5rem;
  }
  .search-widget .button svg {
    display: inline-block;
    flex-shrink: 0;
  }
}
@media (min-width: 93.75rem) {
  .search-widget {
    bottom: 1.5rem;
  }
}

.copyright {
  padding: 1rem 0 0;
}
.copyright p {
  line-height: 1.25rem;
  font-size: 0.75rem;
  line-height: 1.4;
  letter-spacing: 1px;
  margin-top: 1.5rem;
}
.copyright p:nth-child(3) {
  margin-top: 1rem;
}
.copyright .separator {
  display: inline-block;
  vertical-align: top;
  margin: 0 3px;
  position: relative;
  top: -1px;
}
@media (min-width: 55rem) {
  .copyright .container {
    display: flex;
    text-align: left;
  }
  .copyright .container > div {
    flex-grow: 1;
    padding: 0 1.5rem;
  }
  .copyright p {
    margin-top: 0;
  }
  .copyright p:nth-child(3) {
    margin-top: 0;
  }
  .copyright p + p {
    margin-top: 9px;
  }
}

.dbwd-link {
  height: 16px;
}
.dbwd-link span {
  display: inline-block;
  vertical-align: top;
  margin-right: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 16px;
}
.dbwd-link a {
  overflow: hidden;
  text-indent: 200%;
  white-space: nowrap;
  width: 67px;
  height: 16px;
  background-image: url("../img/dbwd.svg");
  background-repeat: no-repeat;
  background-size: 100%;
  display: inline-block;
}

.cta {
  color: #fff;
  text-align: center;
}
.cta strong {
  text-transform: uppercase;
}
.cta p {
  font-size: 1.125em;
  font-weight: 700;
}
.cta a {
  display: block;
  background-color: #202a44;
  text-decoration: none !important;
  padding: 1.5rem 1rem !important;
  border-radius: 0.75rem;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.cta a:hover {
  background-color: #971a30;
  color: #fff !important;
}
@media (min-width: 55rem) {
  .cta p {
    font-size: 1.3125em;
  }
}

.footer {
  background-color: #202a44;
  color: #fff;
  padding: 4rem 0 2rem;
}
.footer > .container {
  padding-bottom: 3rem;
  border-bottom: 1px solid #eee;
}
.footer nav {
  flex-grow: 0;
  max-width: 13rem;
}
.footer nav a {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
}
.footer nav li ul {
  padding: 0 1rem;
  border-radius: 1rem;
  background-color: #fff;
  max-height: 0;
  overflow: hidden;
  transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.footer nav li ul a {
  color: #202a44;
}
.footer nav li ul a:hover {
  color: #971a30;
}
.footer nav li:hover ul {
  max-height: 20rem;
  padding: 1rem;
}
.footer nav li + li {
  margin-top: 1rem;
}

.footer__logo {
  flex-shrink: 0;
}

.footer__intro p {
  font-size: 0.75rem;
  margin-top: 3rem;
}
@media (min-width: 40rem) {
  .footer__intro {
    display: flex;
    align-items: center;
    gap: 3rem;
    align-self: stretch;
  }
  .footer__intro p {
    margin: 0;
  }
}
.footer__intro .socials {
  margin-top: 2rem;
}
.footer__intro .social {
  display: inline-block;
  width: 32px;
  height: 32px;
  background-size: contain;
  text-indent: 200%;
  overflow: hidden;
  font-size: 0;
}
.footer__intro .social:first-of-type {
  margin-right: 32px;
}
.footer__intro .social:hover {
  opacity: 0.8;
}
.footer__intro .social--instagram {
  background-image: url(../img/icons/instagram.svg);
}
.footer__intro .social--facebook {
  background-image: url(../img/icons/facebook.svg);
}
@media (min-width: 55rem) {
  .footer__intro > div {
    position: relative;
  }
  .footer__intro .socials {
    margin-top: 0;
    position: absolute;
    right: 0;
    bottom: -48px;
  }
}
@media (min-width: 93.75rem) {
  .footer__intro .socials {
    bottom: -24px;
  }
  .footer__intro .social:first-of-type {
    margin-right: 16px;
  }
}

.footer__contact {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 2rem 4rem;
  align-self: stretch;
}
@media (min-width: 40rem) {
  .footer__contact {
    flex-wrap: no-wrap;
  }
}

.footer__locations {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 16px;
  flex: 1 0 0;
  align-self: stretch;
  text-align: center;
}
.footer__locations .card {
  display: flex;
  padding: 2rem;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
  align-self: stretch;
  border-radius: 24px;
  border: 1px solid #FFF;
  background: rgba(255, 255, 255, 0.05);
  flex-basis: 100%;
  max-height: 198px;
}
.footer__locations h3 {
  font-size: 1.125rem;
  line-height: normal;
  letter-spacing: 0.5px;
}
.footer__locations p {
  font-size: 0.75rem;
  line-height: 1.5;
}
.footer__locations a {
  background-image: linear-gradient(to right, transparent 0%, transparent 50%, #fff 50%, #fff 100%);
  background-size: 200% 1px;
  background-repeat: no-repeat;
  background-position: left bottom;
  transition: background 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.footer__locations a:hover {
  color: #fff;
  background-position: right bottom;
}
@media (min-width: 70rem) {
  .footer__locations .card {
    flex-basis: auto;
    flex: 1 0 0;
  }
}

.page--index .footer .container,
.page--london .footer .container,
.page--edinburgh .footer .container,
.page--belfast .footer .container {
  padding-bottom: 3rem !important;
  border-bottom: none;
}
.page--index .footer > .geo--links,
.page--london .footer > .geo--links,
.page--edinburgh .footer > .geo--links,
.page--belfast .footer > .geo--links {
  border-bottom: 1px solid #eee;
  display: flex;
  justify-content: flex-end;
  gap: 1.25rem;
}
@media (max-width: 55rem) {
  .page--index .footer > .geo--links,
  .page--london .footer > .geo--links,
  .page--edinburgh .footer > .geo--links,
  .page--belfast .footer > .geo--links {
    gap: 0.5rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
}
.page--index .footer > .geo--links p,
.page--london .footer > .geo--links p,
.page--edinburgh .footer > .geo--links p,
.page--belfast .footer > .geo--links p {
  color: #fff;
  font-size: 0.75rem;
  font-style: italic;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.5px;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
  width: 8rem;
  overflow: hidden;
  white-space: nowrap;
}
@media (max-width: 55rem) {
  .page--index .footer > .geo--links p,
  .page--london .footer > .geo--links p,
  .page--edinburgh .footer > .geo--links p,
  .page--belfast .footer > .geo--links p {
    width: 4rem;
  }
}
.page--index .footer > .geo--links p a,
.page--london .footer > .geo--links p a,
.page--edinburgh .footer > .geo--links p a,
.page--belfast .footer > .geo--links p a {
  width: 100%;
  height: 100%;
  display: block;
}

.carousel-testimonials {
  overflow: hidden;
}
.carousel-testimonials .js-read-more__content.rh9-hide {
  display: none;
}
.bg-primary .carousel-testimonials .slide {
  background-color: #202a44;
}
.carousel-testimonials .slide {
  padding: 32px 64px;
  position: relative;
  z-index: 1;
}
.carousel-testimonials .slide.tns-slide-active {
  z-index: 2;
}
.carousel-testimonials blockquote {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  flex: 1 0 0;
  align-self: stretch;
  position: relative;
}
.carousel-testimonials blockquote::before {
  content: "";
  position: absolute;
  top: -32px;
  bottom: -32px;
  left: -66px;
  border-left: 1px solid #fff;
}
.carousel-testimonials q, .carousel-testimonials cite {
  font-size: 0.875rem;
  letter-spacing: 0.5px;
}
.carousel-testimonials q {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  align-self: stretch;
  line-height: 1.5rem;
  overflow: hidden;
  text-overflow: ellipsis;
}
.carousel-testimonials q::before, .carousel-testimonials q::after {
  content: none;
}
.carousel-testimonials cite {
  line-height: normal;
  display: block;
  width: 100%;
}

.carousel-testimonials--services .slide {
  background-color: #fff;
}
.carousel-testimonials--services .icon {
  position: relative;
}
.carousel-testimonials--services .icon::after {
  content: "";
  position: absolute;
  top: -32px;
  bottom: -32px;
  left: -66px;
  border-left: 1px solid #202a44;
}
.carousel-testimonials--services .tick {
  text-align: left;
}

.banner-thl {
  padding: 6px 0;
  background: #E6E6E6;
}
.banner-thl .container {
  display: flex;
  justify-content: start;
  align-items: center;
  align-self: stretch;
  gap: 1.5rem;
  text-align: left;
}
.banner-thl figure {
  flex-shrink: 0;
}
.banner-thl p {
  font-size: 1rem;
  line-height: 1.75;
  letter-spacing: 0.5px;
}
.banner-thl + .section {
  padding-top: 4rem;
}
@media (min-width: 40rem) {
  .banner-thl {
    padding: 12px 0;
  }
  .banner-thl p {
    font-size: 1.125rem;
    line-height: 2rem;
  }
}
@media (min-width: 55rem) {
  .banner-thl {
    padding: 27px 0;
  }
  .banner-thl + .section {
    padding-top: 8rem;
  }
}

.top-banner {
  background-color: #202a44;
  color: #fff;
  padding: 2rem 0;
  font-size: 0.8125rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  line-height: normal;
  border-bottom: 7px solid #f29200;
  z-index: 25;
}
@media (max-width: 55rem) {
  .top-banner {
    padding-bottom: 4rem;
  }
}
.page-inner:not(.page--index) .top-banner {
  background-color: transparent;
}
.top-banner .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-self: stretch;
}
.top-banner .feefo-widget {
  flex-shrink: 0;
}
.top-banner .icon--xs:not(div) {
  display: none;
}
.top-banner .top-banner__right {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.5rem 2rem;
}
.top-banner .icon {
  vertical-align: top;
}
.top-banner .icon::before {
  width: 16px;
  height: 16px;
  margin-right: 8px;
}
.top-banner .top-banner__right {
  display: flex;
  flex-wrap: wrap;
}
.top-banner .top-banner__right a:not(.icon) {
  background-image: linear-gradient(to right, #fff 0%, #fff 50%, #971a30 50%, #971a30 100%);
  background-size: 200% 1px;
  background-repeat: no-repeat;
  background-position: left bottom;
  transition: background 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.top-banner .top-banner__right a:not(.icon):hover {
  background-image: linear-gradient(to right, #fff 0%, #fff 49%, #971a30 49%, #971a30 100%);
  background-position: right bottom;
}
.top-banner .top-banner__right a.icon {
  background-image: linear-gradient(to right, transparent 0%, transparent 50%, #971a30 50%, #971a30 100%);
  background-size: 200% 1px;
  background-repeat: no-repeat;
  background-position: left bottom;
  transition: background 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.top-banner .top-banner__right a.icon:hover {
  background-image: linear-gradient(to right, transparent 0%, transparent calc(50% + 25px), #971a30 calc(50% + 26px), #971a30 100%);
  background-position: right bottom;
}
@media (min-width: 40rem) {
  .top-banner .icon {
    font-size: 0.75rem !important;
  }
  .top-banner .icon--xs:not(div) {
    display: inline-block;
  }
}

.sales-banner {
  background-color: #971a30;
  color: #fff;
  font-weight: 600;
  padding: 0.25rem 0;
  transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  overflow: hidden;
}
.sales-banner a {
  background-image: linear-gradient(to right, #fff 0%, #fff 50%, #202a44 50%, #202a44 100%);
  background-size: 200% 1px;
  background-repeat: no-repeat;
  background-position: left bottom;
  transition: background 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.sales-banner a:hover {
  background-position: right bottom;
}
.fixed-nav .sales-banner {
  max-height: 0;
  padding: 0;
}

.sales-banner__countdown {
  font-weight: 700;
  vertical-align: top;
}

.sales-page .sale-graphic {
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
}

.sale-graphic figure {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 50%;
  transform: translate(-50%);
  display: flex;
  justify-content: center;
  transition: 0.4s ease-in-out;
  z-index: 1;
  margin-top: -15px;
}
@media (max-width: 55rem) {
  .sale-graphic figure {
    margin-top: 5px;
  }
}
.sale-graphic figure img {
  width: 134px;
  height: 116px;
  transition: 0.4s ease-in-out;
}

.fixed-nav .header {
  border-bottom: 7px solid #f29200;
}
.fixed-nav .header .sale-graphic figure {
  margin-top: 0;
  top: 4rem;
  transition: 0.4s ease-in-out;
}
.fixed-nav.scroll-up .header .sale-graphic figure {
  margin-top: 0;
  top: 6rem;
  transition: 0.4s ease-in-out;
}

.page-inner.scroll-up .header .sale-graphic figure {
  margin-top: 0;
  top: 3.5rem;
  transition: 0.4s ease-in-out;
}

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