/* ==========================================================================
   CSS VARIABLES & ROOT STYLES
   ========================================================================== */

/*:root {
  --default-containerWidth: 100%;
  --default-elementsGap: 20;
  --default-outerGap: 40;
  --default-height: auto;

  --default-backgroundColour: transparent;
  --default-backgroundOpacity: 100;
  --default-backgroundGradientAngle: 0;
}*/

/* ==========================================================================
   BASE STYLES
   ========================================================================== */

html {
  background: none !important;
  min-width: 0 !important;
  scroll-padding-top: 80px;
  --cookie-colour: var(--main-colour);
}

body {
  background-color: var(--background-colour);
}

* {
  font-variant-ligatures: none;
}

main {
  background-color: var(--background-colour);
}

.is-static {
  position: static;
}

/* ==========================================================================
   TYPOGRAPHY
   ========================================================================== */

/* Headings */
.content h1, h1.title,
.content h2, h2.title,
.content h3, h3.title,
.content h4, h4.title {
  color: var(--heading-colour);
  font-family: var(--heading-font), serif;
  font-weight: var(--heading-weight);
  letter-spacing: var(--heading-spacing);
  text-wrap: balance;
}

/*.content h1, .title.is-1 {
  font-size: var(--heading-size-1);
  line-height: var(--heading-line-height-1);
}

.content h2, .title.is-2 {
  font-size: var(--heading-size-2);
  line-height: var(--heading-line-height-2);
}

.content h3, .title.is-3 {
  font-size: var(--heading-size-3);
  line-height: var(--heading-line-height-3);
}

.content h4, .title.is-4 {
  font-size: var(--heading-size-4);
  line-height: var(--heading-line-height-4);
}

.content h5, .title.is-5 {
  font-size: var(--heading-size-5);
  line-height: var(--heading-line-height-5);
}
*/
.content h1, .title.is-1 {
  margin-bottom: .3em;
  line-height: var(--heading-line-height-1);
  font-size: clamp(
    calc(var(--heading-size-1) * var(--scale-min)),
    4vw,
    calc(var(--heading-size-1) * var(--scale-max))
  );
}

.content h2, .title.is-2 {
  margin-bottom: .5714em;
  line-height: var(--heading-line-height-2);
  font-size: clamp(
    calc(var(--heading-size-2) * var(--scale-min)),
    3vw,
    calc(var(--heading-size-2) * var(--scale-max))
  );
}

.content h3, .title.is-3 {
  margin-bottom: .6666em;
  line-height: var(--heading-line-height-3);
  font-size: clamp(
    calc(var(--heading-size-3) * var(--scale-min)),
    2.5vw,
    calc(var(--heading-size-3) * var(--scale-max))
  );
}

.content h4, .title.is-4 {
  margin-bottom: .8em;
  line-height: var(--heading-line-height-4);
  font-size: clamp(
    calc(var(--heading-size-4) * var(--scale-min)),
    2vw,
    calc(var(--heading-size-4) * var(--scale-max))
  );
}

.content h5, .title.is-5 {
  margin-bottom: .8888em;
  line-height: var(--heading-line-height-5);
  font-size: clamp(
    calc(var(--heading-size-5) * var(--scale-min)),
    1.5vw,
    calc(var(--heading-size-5) * var(--scale-max))
  );
}

/* Content styles */
.content p,
.content li {
  font-size: 19px;
  font-weight: 400;
  line-height: 1.6;
}

.content p.is-size-1 { line-height: 1.05; }
.content p.is-size-2 { line-height: 1.2; }
.content p.is-size-3 { line-height: 1.15; }
.content p.is-size-4,
.content p.is-size-5 { line-height: 1.3; }

/* Remove bottom margin from last elements */
h1:last-child, h2:last-child, h3:last-child,
h4:last-child, h5:last-child, h6:last-child,
p:last-child, li:last-child,
.content > *:last-child {
  margin-bottom: 0;
}

.content p .button:first-child:last-child {
  margin-top: 0.5rem;
}

/* ==========================================================================
   LINKS & BUTTONS
   ========================================================================== */

a {
  transition: background 0.2s ease-in-out, color 0.2s ease-in-out, border-color 0.2s ease-in-out;
}

.button {
  font-weight: 600;
  font-size: 20px;
  border-radius: var(--button-radius);
  height: var(--button-height);
  padding: 1rem 1.7rem;
}

.navbar-item .button {
  font-size: 15px;
}

/* Arrow styling */
.arrow:before {
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 5 Pro";
  content: "\f178";
  font-weight: 300;
  font-size: 1.7rem;
  vertical-align: middle;
  margin: 0 15px 0 0;
  position: relative;
  top: -1px;
  right: 0;
  transition: all 0.5s ease;
  cursor: pointer;
  color: var(--nav-arrow-colour);
}

.arrow:hover:before {
  right: -2px;
}

/* ==========================================================================
   FORM ELEMENTS
   ========================================================================== */

.input, .textarea, .select select, .is-select {
  background-color: #ffffff;
  border: 2px solid #17171717;
  border-radius: var(--border-radius);
  box-shadow: none;
}

.mce-content-body {
  background: transparent !important;
  padding: 1rem !important;
}

/* Form layouts */
section form .boxed {
  background: #ffffff;
  padding: 2rem;
  border-radius: var(--border-radius);
}

.fields {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.fields .field {
  width: 100%;
}

.fields .field.field_type_button,
.fields .field.field_type_text_box {
  width: 100%;
}

.fields .field label {
  color: var(--body-colour);
  font-weight: 400;
  font-size: 0.9rem;
}

.fields .field.required > label:after {
  content: '*';
  display: inline-block;
  margin-left: 2px;
  color: var(--dark-colour);
}

/* Horizontal fields */
.fields.fields-horizontal {
  flex-wrap: nowrap;
  gap: 2%;
  align-items: flex-end;
}

.fields.fields-horizontal .field {
  margin-bottom: 0;
}

.fields.fields-horizontal .field.field_type_button .button {
  width: 100%;
}

.field_type_heading + .field_type_label {
  margin-top: -10px;
}

/* File uploader */
.file.uploader {
  position: relative;
  border: 2px dashed #d4d4d4;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 132px;
  background: #fff;
  border-radius: var(--border-radius);
}

.file.uploader progress {
  -moz-appearance: none;
  -webkit-appearance: none;
  border: none;
  display: block;
  height: 0.75rem;
  overflow: hidden;
  padding: 0;
  width: 100%;
  margin-bottom: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  border-radius: 4px 4px 0 0;
}

.file.uploader progress:indeterminate {
  background-image: linear-gradient(to right, #9d221e 30%, #ededed 30%);
}

.file.uploader progress[value="0"] {
  opacity: 0;
}

.file.uploader .file-input {
  height: 100%;
  left: 0;
  opacity: 0;
  outline: none;
  position: absolute;
  top: 0;
  width: 100%;
}

.file.uploader .preview {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 5;
  margin: 0;
  background-size: cover;
}

.file.uploader .file-label {
  margin: 0;
  position: relative;
  z-index: 10;
}

.file.uploader .file-cta .file-name {
  border-color: #dbdbdb;
  border-style: solid;
  border-width: 1px 1px 1px 0;
  display: block;
  max-width: 16em;
  overflow: hidden;
  text-align: left;
  text-overflow: ellipsis;
}

.file.uploader .file-cta .file-icon {
  align-items: center;
  display: flex;
  height: 1em;
  justify-content: center;
  margin-right: 0.5em;
  width: 1em;
}

/* Country picker */
.country-picker {
  padding: 2px 0 !important;
}

.country-picker .navbar-dropdown {
  border: none !important;
  z-index: 99;
  width: 150px;
  left: inherit;
  padding: 0.2rem 0;
  min-width: 0;
  border-radius: var(--border-radius);
  right: 0;
}

.country-picker .navbar-dropdown .navbar-item {
  padding: 0.35rem 0.6rem !important;
  background: transparent !important;
  text-align: left;
  color: #212528 !important;
  font-size: 0.8rem;
  width: 100%;
  justify-content: flex-start;
}

.country-picker .navbar-dropdown .navbar-item:hover {
  background-color: #f3f4f5 !important;
}

.country-picker > .navbar-link {
  background: #fff !important;
  padding: 0.3rem 1.6rem 0.3rem 0.4rem;
  border-radius: var(--border-radius);
  color: #212528 !important;
  font-size: 0.8rem;
}

.country-picker > .navbar-link:after {
  right: 0.725em;
  border-color: #525e68;
}

.country-picker img.flag {
  height: 18px;
  border-radius: 2px;
  margin-right: 0.4rem;
  display: inline-block;
}

/* Form validation */
#form_2 .notification {
  color: var(--main-colour-contrast) !important;
  font-weight: 600;
  text-align: center;
}

#form_2 .notification.is-success {
  background-color: var(--dark-colour) !important;
}

/* ==========================================================================
   NAVIGATION
   ========================================================================== */

/* Header */
section.header {
  position: sticky;
  left: 0;
  right: 0;
  top: 0;
  z-index: 40;
  background: var(--header-background);
}

section.header .navbar-brand .navbar-item img {
  width: auto;
  height: auto;
  max-width: var(--logo-max-width);
  max-height: var(--logo-max-height);
}
/*
section.header .navbar-item:first-child {
    padding-left: 0;
}

section.header .navbar-item:last-child {
    padding-right: 0;
}*/

section.header .navbar-start > .navbar-item {
    margin-left: var(--nav-mobile-margin);
}

section.header .navbar-start > .navbar-item:first-child {
    padding-left: 0;
    margin-left: 0;
}

/* Mobile navigation visibility */
.navbar-item.mobile_only,
section.header .navbar-link.mobile_only,
section.header a.navbar-item.mobile_only {
    display: none;
}

.navlink {
  display: none;
}

/* Mobile menu */
#mmenu > .navbar-item {
  margin-left: 12px;
}

.navbar-burger {
  flex-direction: column;
  justify-content: space-between;
  width: 30px;
  height: 21px;
  background: none !important;
  flex-shrink: 0;
}

.navbar-burger span {
  width: 100%;
  position: static;
}

/* Mobile menu styling */
.mm-menu {
  background-color: var(--dark-colour);
}

.mm-menu .mm-listview > li > a {
  font-size: 1.2rem;
  color: var(--dark-colour-contrast);
  padding: 12px 10px 12px 17px;
}

.mm-menu .mm-btn:after,
.mm-menu .mm-btn:before,
.mm-menu .mm-listview > li .mm-next:after,
.mm-menu .mm-listview,
.mm-navbar {
  border-color: rgb(255 255 255 / 30%);
}

.mm-menu .mm-navbar a,
.mm-menu .mm-navbar > * {
  color: rgb(255 255 255 / 30%);
}

.mm-menu .mm-listview > li > a.mm-next {
  left: 0;
  width: 100%;
}

/* ==========================================================================
   IMAGES & MEDIA
   ========================================================================== */

img.sizer {
  visibility: hidden;
}

/* Image sizing utilities */
.image[class*="fixed-"] {
  width: 100%;
  overflow: hidden;
}

.image[class*="fixed-"] img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.image.is-fixed-xsmall {
  height: 100px;
}

.image.is-fixed-small {
  height: 150px;
}

.image.is-fixed-medium {
  height: 300px;
}

.image.is-fixed-large {
  height: 500px;
}

/* Image effects */
section .zoom {
  transition: transform cubic-bezier(0.22, 0.61, 0.36, 1) 0.9s;
}

section .zoom:hover {
  transform: scale(1.1);
}

/* Video container */
.video-container {
  margin: 0;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  background-color: #ccc;
  position: relative;
}

.video-container iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/* ==========================================================================
   SECTION LAYOUTS
   ========================================================================== */

section.section {
  /* Base section styles */
}

section.maintenance {
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--dark-colour);
}

/* Background sections */
section.has_background {
  position: relative;
}

section.has_background > .container {
  position: relative;
  z-index: 30;
}

section.has_background .background {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
}

/* Shadow effects */
section.shadow_top {
  box-shadow: inset 0 10px 50px 0 rgb(0 0 0 / 4%);
}

section.shadow_bottom {
  box-shadow: inset 0 -10px 50px 0 rgb(0 0 0 / 4%);
}

/* Border effects */
section.border_top {
  border-top: 1px solid hsla(0, 0%, 100%, 0.1);
}

section.border_bottom {
  border-bottom: 1px solid hsla(0, 0%, 100%, 0.1);
}

/* Block sections */
section.block_type_block {
  padding: 0 !important;
  background: none !important;
}

/* Sticky text */
section.sticky_text .columns {
  align-items: flex-start !important;
  justify-content: space-between !important;
}

section.sticky_text .column-content {
  position: sticky;
  top: 0;
  padding-top: 3rem;
}

/* ==========================================================================
   HERO SECTIONS
   ========================================================================== */

section.hero {
  background-size: cover;
  background-position: center;
  position: relative;
}

section.hero .container {
  position: relative;
  z-index: 10;
}

section.hero .hero-body {
  background: linear-gradient(180deg, #2f272f1c 0%, #2f272f00 32%, #2f272f00 100%);
}

#home section.hero {
  background-position: center bottom;
}

#home section.hero .hero-body {
  background: linear-gradient(180deg, #091615c7 0%, #0916159e 32%, #0916153b 100%);
  padding-top: 11rem;
}

section.hero .title.is-1,
section.hero h1 {
  font-size: 60pt;
}

section.hero h2:not(:last-child),
section.hero h1:not(:last-child) {
  /* margin-bottom: 0.1em; */
}

section.hero .button {
  margin-top: 2px;
}

section.hero .button + .button {
  margin-left: 12px;
}

#home section.hero .button {
  margin-top: 8px;
}

#home section.hero p {
  margin-bottom: 1rem !important;
}

#home section.hero p:last-child {
  margin-bottom: 0 !important;
}

/* Hero video */
section.hero .video {
  width: 0;
  height: 0;
}

section.hero .video .vjs-loading-spinner .vjs-control-text {
  display: none;
}

section.hero video {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Scroll indicator */
section.hero .scroll-me {
  position: absolute;
  bottom: 1rem;
  z-index: 10;
  color: var(--body-colour);
  left: 0;
  right: 0;
  text-align: center;
  font-size: 2rem;
  display: none;
}

#home section.hero .scroll-me {
  display: block;
}

/* ==========================================================================
   CONTENT BLOCKS
   ========================================================================== */

/* Images in content */
section:not(.plain_image) .content img,
section .block_image {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: var(--border-radius);
  overflow: hidden;
}

section .block_image:not(.show_img) img {
  visibility: hidden;
  background-size: cover;
  background-position: center;
  display: block;
}

section .block_image.object-fit:not(.show_img) img {
  visibility: visible;
  object-fit: cover;
  height: 100%;
}

section .gallery_image {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Big image layouts */
section.big_image {
  position: relative;
}

section.big_image .container {
  position: static;
}

section.big_image .column-image {
  min-height: 350px;
}

section.big_image .column-image .block_image {
  position: absolute;
  padding: 0;
  top: 0;
  bottom: 0;
}

section.big_image .column-image.is-3 .block_image { width: 25%; }
section.big_image .column-image.is-4 .block_image { width: 33.33333%; }
section.big_image .column-image.is-5 .block_image { width: 41.66667%; }
section.big_image .column-image.is-6 .block_image { width: 50%; }
section.big_image .column-image.is-7 .block_image { width: 58.33333%; }

section.block_type_image_text.big_image .column-image .block_image {
  left: 0;
}

section.block_type_text_image.big_image .column-image .block_image {
  right: 0;
}

/* About blocks */
section.about_block .column-image {
  padding-top: 0;
}

/* Gallery blocks */
section.block_type_gallery .gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 3%;
  align-items: center;
  justify-content: center;
}

section.block_type_gallery .gallery .gallery_image {
  width: 22.7%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin: 0 0 2rem 0;
  opacity: 1;
}

/* CTA blocks */
section.block_type_cta .columns {
  row-gap: 0.5rem;
}

section.block_type_cta .cta {
  background: #ffffff;
  display: block;
  border-radius: var(--border-radius);
  overflow: hidden;
  height: 100%;
}

section.block_type_cta .cta .block_image {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

/* ==========================================================================
   ARTICLE & BLOG CONTENT
   ========================================================================== */

section.editorial .container {
  max-width: 860px !important;
}

/* Article hero */
section.block_type_article_hero {
  text-align: center;
}

section.block_type_article_hero h1,
section.block_type_article_hero h2,
section.block_type_article_hero p {
  color: var(--main-colour-contrast);
}

/* Blog hero with search */
section.block_type_blog_hero .search {
  position: relative;
  margin-top: -10px;
}

section.block_type_blog_hero .search .button {
  margin: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  height: auto;
  border: none;
  background: none;
  padding: 0;
  width: 48px;
}

section.block_type_blog_hero .search input {
  background: none;
  border: none;
  border-bottom: 2px solid #fff;
  border-radius: 0;
  color: var(--body-colour);
}

section.block_type_blog_hero .search input:active,
section.block_type_blog_hero .search input:focus {
  border-color: var(--main-colour);
}

section.block_type_blog_hero .search input::-webkit-input-placeholder,
section.block_type_blog_hero .search input:-moz-placeholder,
section.block_type_blog_hero input::-moz-placeholder,
section.block_type_blog_hero input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
  opacity: 1;
}

/* Article cards */
section .card.article {
  display: flex;
  flex-direction: column;
  height: 100%;
}

section .card.article .card-content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

section .card.article:hover {
  color: inherit;
}

section .card.article .image {
  overflow: hidden;
  border-radius: 0;
}

section .card.article .image img {
  object-fit: cover;
  transition: transform 0.2s ease;
}

section .card.article:hover img {
  transform: scale(1.06);
}

section .card.article .content {
  font-size: 0.9em;
  margin-top: auto;
}

section .card.article .content .arrow {
  color: var(--body-colour);
}

/* Listings */
section .listing.listing-card,
section .listing.listing-card .card {
  height: 100%;
}

/* ==========================================================================
   SLIDERS & CAROUSELS
   ========================================================================== */

section[class*="slider"] {
  overflow: hidden;
}

section .content-slider {
  /* overflow: hidden; */
}

section .content-slider .container {
  width: 760px;
  max-width: 100% !important;
}

section .content-slider .quote p {
  font-size: 1.2rem;
  font-weight: 300;
  color: var(--main-colour-contrast);
}

section .content-slider .quote p:first-child:before {
  content: "\201C";
}

section .content-slider .quote p:last-child:after {
  content: "\201D";
}

section .content-slider .name {
  margin-top: 20px;
  color: var(--main-colour-contrast);
  font-weight: 600;
}

section .content-slider .owl-dots {
  margin-top: 30px;
  margin-bottom: -10px;
}

section .content-slider .owl-theme .owl-stage-outer {
  overflow: visible;
}

section .content-slider .owl-theme .owl-dots .owl-dot span {
  background: var(--main-colour-contrast);
  opacity: 0.2;
}

section .content-slider .owl-theme .owl-dots .owl-dot.active span,
section .content-slider .owl-theme .owl-dots .owl-dot:hover span {
  opacity: 1;
}

section .content-slider .owl-theme .owl-item {
  opacity: 0.35;
  transition: opacity 0.2s ease;
  text-align: center;
}

section .content-slider .owl-theme .owl-item.active {
  opacity: 1;
}

section .content-slider .testimonial_slide {
  border-radius: 10px;
  overflow: hidden;
}

section .content-slider .testimonial_slide .image {
  background-size: cover;
  background-position: center;
  border-radius: 0;
}

section .content-slider .testimonial_slide .details {
  min-height: 440px;
  background-color: var(--dark-colour);
  padding: 3rem !important;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  text-align: left;
}

/* Logo marquee */
section.block_type_logo_marquee .marquee3k-inner {
  white-space: nowrap;
  width: max-content;
}

section.block_type_logo_marquee .marquee3k-inner .gallery_image {
  height: 70px;
  max-width: 180px;
  display: inline-block;
  filter: grayscale(100%) opacity(40%);
  background-size: contain;
  flex-shrink: 0;
  margin: 0 2rem;
  transition: filter 0.3s ease;
}

section.block_type_logo_marquee .marquee3k-inner .gallery_image:hover {
  filter: grayscale(0%) opacity(100%);
}

section.block_type_logo_marquee .marquee3k-inner .gallery_image img {
  max-height: 100%;
  display: block;
  visibility: hidden;
}

/* ==========================================================================
   TESTIMONIALS
   ========================================================================== */

section.testimonials [class*="ArrowControl__ArrowControlContainer"] {
  box-shadow: none !important;
}

section.testimonials [class*="Carousel__CarouselArrowControlContainer"] > * {
  background: none !important;
  fill: #ebeae4 !important;
}

section.testimonials [class*="Carousel__CarouselArrowControlContainer"]:first-child {
  left: -95px;
}

section.testimonials [class*="Carousel__CarouselArrowControlContainer"]:last-child {
  right: -95px;
}

section.testimonials [class*="ReviewAlignContainer__Container"] {
  min-height: 200px;
  justify-content: center;
}

/* ==========================================================================
   PAGINATION
   ========================================================================== */

.pagination {
  display: flex;
  padding-left: 0;
  margin: 20px 0;
  border-radius: 4px;
  justify-content: center;
}

.pagination > li {
  display: inline;
  margin: 3px 3px;
  border-radius: var(--border-radius);
  overflow: hidden;
}

.pagination > li > a,
.pagination > li > a:visited,
.pagination > li > span {
  position: relative;
  float: left;
  padding: 6px 12px;
  margin-left: -1px;
  line-height: 1.42857143;
  color: var(--body-colour);
  text-decoration: none;
  background-color: #fff;
  border: none;
  font-weight: 400;
  border-radius: 0;
}

.pagination > li:first-child > a,
.pagination > li:first-child > span {
  margin-left: 0;
}

.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
  color: #383e41;
  background-color: #eee;
}

.pagination > .active > a,
.pagination > .active > a:visited,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  z-index: 2;
  color: var(--main-colour-contrast);
  cursor: default;
  background-color: var(--main-colour);
  border-color: var(--main-colour);
}

.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
  color: #777;
  cursor: not-allowed;
  background-color: #fff;
  border-color: #ddd;
}

/* Pagination sizes */
.pagination-lg > li > a,
.pagination-lg > li > span {
  padding: 10px 16px;
  font-size: 18px;
}

.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}

.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}

.pagination-sm > li > a,
.pagination-sm > li > span {
  padding: 5px 10px;
  font-size: 12px;
}

.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
  border-top-left-radius: var(--border-radius);
  border-bottom-left-radius: var(--border-radius);
}

.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  border-top-right-radius: var(--border-radius);
  border-bottom-right-radius: var(--border-radius);
}

/* ==========================================================================
   ACCORDIONS & INTERACTIVE ELEMENTS
   ========================================================================== */

section .accordion:not(:last-child) {
  margin-bottom: 2rem;
}

section .accordion .question {
  border-top: 2px solid #eeeeee5c;
  position: relative;
  background: transparent;
  border-radius: 0;
  padding: 1.5rem 0;
}

section .accordion .question:last-child {
  border-bottom: 2px solid #eeeeee5c;
}

section .accordion .question .answer {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: all 0.3s ease;
}

section .accordion .question .title {
  cursor: pointer;
  font-size: 1.3rem;
  padding-right: 2.5rem;
}

section .accordion .question .title:before {
  position: absolute;
  right: 0;
  top: 23px;
  width: 24px;
  height: 30px;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 5 Pro";
  content: "\f107";
  font-weight: 400;
  font-size: 1.7rem;
  vertical-align: middle;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
  border-radius: 50%;
  padding: 0 0 1px 1px;
}

section .accordion .question .answer .answer-inner {
  padding-top: 1.25rem;
}

section .accordion .question.open .answer {
  max-height: 1000px;
  opacity: 1;
}

section .accordion .question.open .title:before {
  transform: scale(-1);
}

/* Light accordion variant */
section .accordion.light .question {
  border: none;
  background-color: #fff;
  padding: 1.2rem 3.5rem 1.2rem 1rem;
  margin-bottom: 1rem;
}

section .accordion.light .question:last-child {
  margin-bottom: 0;
}

section .accordion.light .question .title:before {
  right: 1rem;
  top: 19px;
}

/* ==========================================================================
   LISTS & UTILITIES
   ========================================================================== */

section ul.ticks {
  list-style: none;
  margin-left: 0;
  display: flex;
  flex-wrap: wrap;
}

section ul.ticks li {
  position: relative;
  padding-left: 35px;
  margin-bottom: 16px;
  width: 49%;
  margin-top: 0;
}

section ul.ticks li:before {
  background-image: url("data:image/svg+xml,%3Csvg class='is-light mr-3' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23040404' style='width: 24px;height: 24px'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z'%3E%3C/path%3E%3C/svg%3E");
  content: '';
  width: 24px;
  height: 24px;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 2px;
}

/* ==========================================================================
   GRADIENTS & DECORATIVE ELEMENTS
   ========================================================================== */

.grad-purp-light {
  background-image: linear-gradient(to right, #dee3ff, #dce4ff, #dae6ff, #d8e7ff, #d7e8ff, #d6e9ff, #d5ebff, #d4ecff, #d2eeff, #d1f0ff, #d0f1ff, #cff3ff);
}

.grad-purp-dark {
  background-image: linear-gradient(to right, #4b89c8, #408fca, #3695ca, #2f9bc9, #2ca0c8);
}

/* ==========================================================================
   SOCIAL ELEMENTS
   ========================================================================== */

.socials a {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
}

section.topbar .socials a {
  color: var(--main-colour-contrast);
}

#contact-us section.block_type_text_form .socials {
  margin-top: 50px;
}

#contact-us section.block_type_text_form .socials a {
  color: var(--dark-colour-contrast) !important;
  background: var(--body-colour);
  width: 45px;
  height: 45px;
  display: inline-flex;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  padding: 1px 0 0 1px;
}

/* ==========================================================================
   FOOTER
   ========================================================================== */

section.footer {
  position: relative;
  background: var(--footer-background);
  color: var(--dark-colour-contrast);
}

section.footer a {
  color: var(--dark-colour-contrast);
}

section.footer a:hover {
  color: var(--main-colour);
}

section.footer p {
  color: var(--dark-colour-contrast);
  font-size: 16px;
}

section.footer a.navbar-item,
section.footer .navbar-link {
  color: var(--dark-colour-contrast);
  font-size: 15px;
  margin-bottom: 0.5rem;
  font-weight: 600;
}

section.footer .navbar-link:after,
section.footer .navbar-item .navbar-dropdown {
  display: none !important;
}

section.footer .navbar-item:hover {
  color: var(--main-colour) !important;
}

section.footer .navbar-link {
  padding-right: 1.5rem;
}

section.footer .footer-cols .footer-col {
  /*flex-shrink: 0;*/
  padding-right: 5rem;
  min-width: 160px;
  width: auto;
  flex-grow: 1;
}

section.footer .footer-cols .footer-col:last-child {
  padding-right: 0;
}

section.footer .footer-col.branding {
  text-align: center;
}

section.footer .footer-col.branding a.logo {
  display: block;
  height: 9rem;
}

section.footer .footer-col.branding a.logo img {
  max-height: 100%;
  width: auto;
}

section.footer .footer_small_print_mobile {
  display: none;
  margin-top: 2rem;
  text-align: center;
}

section.footer .footer_small_print_mobile p {
  font-size: 12px;
  margin-bottom: 0.2rem;
}

section.footer .footer_small_print_mobile p:last-child {
  margin-bottom: 0;
}

section.footer .footer-col .copyright p {
  font-size: 10pt;
}

section.footer .footer-col.icons .google-reviews {
  height: 4rem;
  margin-bottom: 1.5rem;
}

section.footer .footer-col.icons .google-reviews img {
  max-height: 100%;
}

section.footer .footer-col .socials {
  display: flex;
  justify-content: center;
  gap: 1rem;
}

/* ==========================================================================
   MODALS & NOTIFICATIONS
   ========================================================================== */

.msg {
  position: fixed;
  top: 30px;
  right: 30px;
  z-index: 100;
}

section.modal {
  background: transparent !important;
}

section.modal .container {
  width: 100%;
  max-width: none;
  flex: none;
  margin: 0;
  position: static;
}

section.modal h2 {
  font-size: 2.6rem;
}

.notification.is-sentModal {
  padding: 0 !important;
}

.notification.is-sentModal > button {
  display: none;
}

.is-sentModal .modal-content {
  width: 420px;
  max-width: calc(100% - 20px);
}

.is-sentModal .modal-content .box {
  border-radius: var(--border-radius);
}

/* ==========================================================================
   ANNOUNCEMENTS & BANNERS
   ========================================================================== */

.announcer p {
  margin-bottom: 0 !important;
  line-height: 1.3;
  font-size: 14px;
}

.announcer p a {
  color: var(--main-colour-contrast);
}

.announcer ul li a {
  font-size: 14px;
}

.announcer .socials {
  position: relative;
  bottom: 0px;
}

/* ==========================================================================
   UTILITY CLASSES
   ========================================================================== */

.details .column:last-child {
  text-align: center;
}

.details .column:last-child img {
  margin: 0.6rem;
}

.grecaptcha-badge {
  visibility: hidden;
  pointer-events: none;
}

/* Contact form alignment */
#contact-us section.block_type_text_form .columns {
  align-items: flex-start !important;
}

/* ==========================================================================
   COOKIE CONSENT
   ========================================================================== */

.cc-window.cc-banner {
  background-color: var(--main-colour);
  color: var(--main-colour-contrast);
}

.cc-window.cc-banner .cc-btn {
  color: var(--main-colour-contrast);
  border-color: var(--main-colour-contrast);
}

/* Cookie consent dark palette */
html .termsfeed-com---palette-dark .cc-nb-okagree,
html .termsfeed-com---palette-dark .cc-nb-reject {
  color: var(--dark-colour);
  background-color: var(--main-colour);
}

html .termsfeed-com---palette-dark .cc-pc-head-lang select:focus {
  box-shadow: 0 0 0 2px var(--main-colour);
}

html .termsfeed-com---palette-dark .cc-pc-head-close:active,
html .termsfeed-com---palette-dark .cc-pc-head-close:focus {
  border: 2px solid var(--main-colour);
}

html .termsfeed-com---palette-dark .cc-cp-body-content-entry a:focus,
html .termsfeed-com---palette-dark .cc-cp-foot-byline a:focus {
  box-shadow: 0 0 0 2px var(--main-colour);
}

html .termsfeed-com---palette-dark .cc-cp-foot-save {
  background: var(--main-colour);
  color: var(--dark-colour);
}

/* ==========================================================================
   BLOK SYSTEM (DYNAMIC SECTIONS)
   ========================================================================== */

section.section.blok-item {
  --blok-containerWidth: var(--default-containerWidth);
  --blok-elementsGap: var(--default-elementsGap);
  --blok-elementsGapPx: calc(var(--blok-elementsGap) * 1px);
  --blok-outerGap: var(--default-outerGap);
  --blok-outerGapPx: calc(var(--blok-outerGap) * 1px);
  --blok-background: var(--default-backgroundColour);
  --blok-backgroundOpacity: var(--default-backgroundOpacity);
  --blok-backgroundOpacityPercent: calc(var(--blok-backgroundOpacity) * 1%);
  --blok-backgroundGradientAngle: var(--default-backgroundGradientAngle);
  --blok-backgroundGradientStart: var(--blok-background);
  --blok-backgroundGradientEnd: var(--blok-background);
  --blok-backgroundGradientAngleDeg: calc(var(--blok-backgroundGradientAngle) * 1deg);
  --blok-height: var(--default-height);

  position: relative;
  background-color: var(--blok-background);
  padding-top: var(--blok-outerGapPx);
  padding-bottom: var(--blok-outerGapPx);
  height: var(--blok-height);
}

section.section.blok-item[style*="--blok-backgroundStyle: gradient"] {
  background-image: linear-gradient(var(--blok-backgroundGradientAngleDeg), var(--blok-backgroundGradientStart), var(--blok-backgroundGradientEnd));
}

section.section.blok-item .blok-container {
  width: var(--blok-containerWidth);
  position: relative;
  z-index: 10;
  height: 100%;
}

section.section.blok-item .blok-background {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: var(--blok-backgroundImage);
  opacity: var(--blok-backgroundOpacityPercent);
}

section.section.blok-item .blok-columns {
  align-items: var(--blok-verticalAlign);
  align-content: var(--blok-verticalAlign);
  justify-content: var(--blok-horizontalAlign);
  margin-top: calc(-1 * var(--blok-elementsGapPx));
  margin-bottom: calc(-1 * var(--blok-elementsGapPx));
  margin-left: calc(-1 * var(--blok-elementsGapPx));
  margin-right: calc(-1 * var(--blok-elementsGapPx));
  height: 100%;
}

section.section.blok-item .blok-columns > .column {
  padding: var(--blok-elementsGapPx);
}

section.section.blok-item .element-spacer.half {
  height: 50vh;
}

section.section.blok-item .element-spacer.full {
  height: 100vh;
}

/* ==========================================================================
   WEBSITE SPECIFIC STYLES
   ========================================================================== */

/* Simple spacing for elements with exactly 2 buttons */
.element-text.content p:has(.button:first-child:nth-last-child(2)) {
  display: flex;
  justify-content: center;
  gap: 1rem;
}






