/**
 * #.#  Client Custom Styles
 *
 * Theme specific styles
*/

/* Fonts */
@font-face {
  font-family: 'Guggenheim Sans';
  src: url('../../fonts/GuggenheimSans-Medium.woff2') format('woff2'),url('../../fonts/GuggenheimSans-Medium.woff') format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Guggenheim Sans Semi';
  src: url('../../fonts/GuggenheimSans-SemiBold.woff2') format('woff2'),url('../../fonts/GuggenheimSans-SemiBold.woff') format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Guggenheim Sans Regular';
  src: url('../../fonts/GuggenheimSans-Regular.woff2') format('woff2'),url('../../fonts/GuggenheimSans-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}


@font-face {
  font-family: 'Guggenheim Sans Black';
  src: url('../../fonts/GuggenheimSans-Black.woff2') format('woff2'),url('../../fonts/GuggenheimSans-Black.woff') format('woff');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* =============================
  # Theme Colours
============================= */

:root {
  --black: rgba(29, 29, 29, 1);
  --main-color: rgba(0, 188, 138, 1);
  --green: rgba(0, 188, 138, 1);
  --grey: rgba(227, 227, 227, 1);
  --dark-grey:rgba(142, 142, 142, 1);
  --white: rgba(255, 255, 255, 1);
  --content: "Guggenheim Sans", serif;
  --header:  "Guggenheim Sans Semi", serif;
  --semi:  "Guggenheim Sans Semi", serif;
  --regular:  "Guggenheim Sans Regular", serif;
  --black-font:  "Guggenheim Sans Black", serif;
}
body,html {font-family:var(--regular)}
/* Site defaults */
.base-module-padding { padding: 80px 0 60px; }
.break-border {height:1px;display:block;background-color:var(--white)}

.circle-image {overflow:hidden;border-radius:50%}
.circle-image img {object-fit: cover;aspect-ratio: 1 / 1}

.cta-btn {
  border-radius: 25px;
  font-size: 18px;
  line-height: 100%;
  text-transform: unset;
  background-color: var(--green);
  transition: var(--transition);
  color: var(--white);
  padding: 15px 50px 14px 25px !important;
  position: relative;
}
.cta-btn::after{content:"";position:absolute;background-image:url(../../../img/cta-arrow.svg);background-position:center center;background-repeat:no-repeat;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;transform:rotate(45deg);width:14px;height:14px;right:25px;transition:var(--transition);top: 16px;}
.cta-btn:hover::after{transform:translateX(5px) rotate(45deg);transition:var(--transition);}

.green-bg .cta-btn {
  border-radius: 25px;
  font-size: 18px;
  line-height: 100%;
  text-transform: unset;
  color:var(--white)!important;
  background-color: var(--black);
  transition: var(--transition);
  color: var(--black);
  padding: 15px 50px 14px 25px !important;
  position: relative;
}

.clear-cta {}

.clear-cta:hover,
.clear-cta:focus-visible { }


/** Colour Schemes **/
.green-bg {background-color:var(--green)}
.green-bg .content-block {color:var(--black)}
header.green-header .break-border {background-color:var(--black)}
.green-header .break-border  {background-color:var(--black)}
.white-bg {background-color:var(--white)}
.white-bg .content-block {color:var(--black)}
header.white-header .break-border  {background-color:var(--black)}
.grey-bg {background-color:var(--grey)}
.grey-bg .content-block {color:var(--black)}
.error-404 {background-color:var(--white)}

/* Font Sytles */

.content-block h3 {font-size: clamp(25px, calc(25px + (50 - 25) * ((100vw - 375px) / (1440 - 375))), 50px);
line-height: clamp(25px, calc(25px + (50 - 25) * ((100vw - 375px) / (1440 - 375))), 50px);
letter-spacing: clamp(-1px, calc(-1px + (-2 - -1) * ((100vw - 375px) / (1440 - 375))), -2px); }
.content-block h4 { }
.content-block p {padding-bottom:25px}
.content-block p,
.content-block li { 
  font-family: var(--content);
  font-size: 15px;
  line-height: 20px;
  font-weight: 400; 
}
.content-block li {line-height:30px}
.content-block ul { list-style-position: inside; list-style-type: disc;padding-bottom: 25px; }
.content-block ol { list-style-position: inside; list-style-type: decimal; padding-bottom: 25px;}


.content-block p a{text-decoration:underline;}

.content-block h1,
.content-block h2 {
font-family: var(--black-font);
font-size: clamp(34px, 4.444vw, 64px);
font-weight: 900;
letter-spacing: clamp(-1.8px, -0.125vw, -0.5px);
line-height: clamp(36px, 4.167vw, 60px);
padding-bottom: 25px;word-break: keep-all;
overflow-wrap: normal;
white-space: normal;
}

/* Slick Slider */
.events_module .slick-prev, .events_module .slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: calc(100% - 160px);
  display: block;
  width: 66px;
  height: 66px;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 21px 21px;
  z-index: 10;
  background-color:var(--white);border-radius:50%;
  opacity: 1;
  border:solid 1px var(--green);
}
.slick-prev { left: calc(50% + 40px); background-image: url(../../../img/black-arrow.svg); transform: rotate(135deg);}
.slick-next { right: calc(50% - 182px); background-image: url(../../../img/black-arrow.svg); transform:  rotate(-45deg);}
.events_module .slick-prev:hover, .events_module .slick-next:hover {border:solid 1px var(--black);opacity:1}
.events_module .slick-prev.slick-disabled {opacity: 0.1;border:solid 1px var(--green)!important;pointer-events: none; cursor: default;}


/* FORMATS */
.brn {text-decoration:none!important}
.btn.black-cta {padding: 15px 25px 14px 25px !important;
  text-transform: uppercase;font-size:18px;line-height:100%;
  background-color: var(--black);color:var(--white);margin-right:25px;border-radius:25px;border-bottom:0px!important}
.black-cta::after {display:none}
.btn.black-cta:hover {background-color:var(--green);color:var(--black)}

.black-bg .btn.black-cta {padding: 15px 25px 14px 25px !important;
  text-transform: uppercase;font-size:18px;line-height:100%;
  background-color: var(--green);color:var(--black);margin-right:25px;border-radius:25px;border-bottom:0px!important}
.black-bg .black-cta::after {display:none}
.black-bg .btn.black-cta:hover {background-color:var(--white);color:var(--black)}

/* Fancy Image effects */
/* Optional polish that always applies to the whole transition */
::view-transition-old(root) { z-index: 1; }
::view-transition-new(root) { z-index: 2; animation: fade-in-image 0.4s ease; }

@keyframes fade-in-image {
  from { opacity: 0; }
  to { opacity: 1; }
}
::view-transition-old(post-image-*) {
  z-index: 1;
}

::view-transition-new(post-image-*) {
  z-index: 2;
  clip-path: none;
  animation: fade-in-image 0.4s ease;
}

@keyframes fade-in-image {
  from { opacity: 0; }
  to { opacity: 1; }
}


::view-transition-old(post-title-*) {
  z-index: 1;
}

::view-transition-new(post-title-*) {
  z-index: 2;
  animation: fade-in-title 0.35s ease;
}

@keyframes fade-in-title {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Fade-in effect for all images on load */
img {
  opacity: 0;
  transition: opacity 0.6s ease-in-out;
}

/* When the image has loaded, fade it in */
img.loaded {
  opacity: 1;
}


.btn {text-decoration:none!important}
/**** FANCY FOOTER *****/



body.active {overflow: hidden;}


@media (max-width: 1536px) {

}

@media (max-width: 1366px) {

}

@media (max-width: 1280px) {

}

@media (max-width: 1080px) {

}

@media (max-width: 992px) {
  .base-module-padding {padding: 50px 0 30px;}
}

@media (max-width: 768px) {

}

@media (max-width: 600px) {

}