/* ==================== */
/* Colours
/* ==================== */

/**
 * Edit, delete or add as needed
 */
:root {
  --brand-main: #453068;
  --brand-main-hover: #301C51;
  --brand-sec: #DF1A60;
  --brand-sec-hover: #9B0A3E;
  --off-grey: #F5F3EF;
}


/* ==================== */
/* Scroll Behaviour
/* ==================== */

html {
  scroll-behavior: smooth;
}


/* ==================== */
/* Global Font
/* ==================== */

body {
  font-family: 'Poppins', sans-serif; /* Change to correct font */
  font-size: 16px;
}

.post, .page {
  margin: 0 !important;
}

/* ==================== */
/* Container
/* ==================== */

.container {
  width: 90%;
  max-width: 1280px;
  margin: 0 auto;
}

.section-has-bg .container {
  position: relative;
  z-index: 2;
}

/* ==================== */
/* Sections
/* ==================== */

.section {
  padding: 2rem 0;
}

.section--off-grey {
  background-color: var(--off-grey);
}

.section-has-bg {
  background-size: cover;
  position: relative;
  padding: 2rem 0;
  margin-bottom: 2rem;
}

.section-has-bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  opacity: 0.5;
}

@media (min-width: 1280px){
  .section {
    padding: 50px 0;
  }

  .section-has-bg {
    padding: 50px 0;
  }
}


/* ==================== */
/* Reset H1 CSS
/* ==================== */

h1.home-link,
a.home-link {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
  font-size: 16px !important;
}

.home-link__logo {
  display: block;
  max-width: 150px;
  width: 100%;
}


/* ==================== */
/* Site Titles
/* ==================== */

.rte h2, .rte h3, .rte h4,
.site-title {
  margin-top: 0 !important;
  color: var(--brand-main) !important;

}

.site-title--centre {
  text-align: center;
}


/* ==================== */
/* Site Buttons
/* ==================== */

.site-btn {
  display: inline-block;
  background-color: var(--brand-main);
  color: white !important;
  padding: 8px 32px;
  border-radius: 50px;
  text-transform: uppercase;
  text-decoration: none !important;
}

.site-btn--white {
  background-color: white;
  color: var(--brand-main) !important;
}


/* ==================== */
/* Typography
/* ==================== */

p:first-of-type {
  margin-top: 0;
}

.rte {
  line-height: 1.75 !important;
  overflow-x: scroll;
}

@media (min-width: 1280px){
  .rte--larger-text {
    font-size: 18px;
  }
}


/* ==================== */
/* Misc Classes
/* ==================== */

.text-align-center {
  text-align: center !important;
}

.max-width--750 {
  max-width: 750px;
  margin-left: auto !important;
  margin-right: auto !important;
}

.text--white {
  color: white !important;
}

.disp-block {
  display: block !important;
}

/* ==================== */
/* Grid
/* ==================== */

.row{
  display: flex!important;
  flex-direction: column;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;

}

.row-invert{
  display: flex!important;
  flex-direction: column-reverse;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;

}

.col-2, .col-3, .col-4, .col-5, .col-2-small, .col-2-big, .col-2-no-space{
  width: 100%;
}

.col-2, .col-2-no-space {
  margin: 15px 0;
}

.col-4{
  padding: 15px 0;
}

.vertical_center{
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media (min-width: 768px){

  .row, .row-invert{
    flex-direction: row;
  }

  .col-4, .col-5 {
    width: 48.5%;
  }

}

@media (min-width: 1024px){

  .row, .row-invert{
    flex-direction: row;
  }

  .col-2{
    width: 48.5%;
    margin: 0;
  }

  .col-2-small{
    width: 31.5%;
  }

  .col-2-big{
    width: 64.5%;
  }

  .col-2-no-space{
    width: 50%;
    margin: 0;
  }

  .col-3{
    width: 31.5%;
  }

  .col-4{
    width: 23.5%;
  }

  .col-5 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18.5%;
  }
}

/* ==================== */
/* Top Bar
/* ==================== */

.top-bar {  
  background-color: white;
  padding: 6px 0;
  text-align: center;
  position: relative;
}

.top-bar__col--contact {
  display: none;
}

.top-bar__row {
  display: flex;
  justify-content: center;
}

.top-bar__cta-btn {
  position: absolute;
  color: white !important;
  font-size: 12px;
  text-decoration: none !important;
  background-color: var(--brand-main);
  padding: 8px 10px;
  border-radius: 25px;
  letter-spacing: 1px;
  cursor: pointer;
  right: 5px;
  top: 5px;
}

@media (min-width: 1024px) {

  .top-bar__cta-btn {
    font-size: 14px;
    padding: 8px 32px;
    right: 10px;
    top: 10px;
  }

}

.top-bar__item {
  color: white;
}

.top-bar__item i {
  display: inline-block;
  margin-right: 5px;
}

.top-bar__item a {
  color: white !important;
  text-decoration: none !important;
  display: inline-block;
  margin-right: 1.5rem;
  text-transform: uppercase;  
  font-size: 14px;
  cursor: pointer;
}

@media (min-width: 768px){
  .top-bar {
    display: block;
    padding: 8px 0;
  }

  .top-bar__col--contact {
    display: flex;
    align-items: center;
  }

  .top-bar__cta-btn {
    padding: 5px 25px;    
  }
}

/* ===================== */
/* Slideout Nav
/* ===================== */

.slideout-menu {    
  width: 350px;
  position: fixed;
  top: 0; 
  left: -350px; 
/*  left: 0;*/
  height: 100%; 
  background: #333;
  z-index: 100;
  /*overflow-y: scroll;*/
  background-color: var(--brand-main);
  transition: 0.5s;
}

body.admin-bar .slideout-menu {
  top: 46px;
}

.slideout-menu.active {
  box-shadow: 0 21px 27px rgb(0 0 0 / 90%);
  left: 0;
}

.slideout-menu i {
  font-family: "FontAwesome";
}

.slideout-menu h3 { 
  margin: 0;
  position: relative;
  padding: 12px 10px;
  color: #fff;
  font-size: 1.2em;
  font-weight: 400;
/*  border-bottom: 4px solid #222;*/
}

/* Style up the toggle menu "x" */
.slideout-menu .slideout-menu-toggle {
  position: absolute;
  top: 12px;
  right: 10px;
  display: inline-block;
  padding: 6px 9px 5px;
  font-family: Arial, sans-serif;
  font-weight: bold;
  line-height: 1;
  background: var(--brand-blue);
  color: white;
  text-decoration: none;
  vertical-align: top;
}

.slideout-menu .slideout-menu-toggle:hover {
  color: #fff;
}

/* Give the menu container some love */
.slideout-menu ul {
  list-style: none;
  font-weight: 300; 
  margin: 0;
  padding: 0;
}

/* And now the list items */
.slideout-menu ul li {
  /*border-top: 1px solid #454545;
  border-bottom: 1px solid #151515;*/
}

/* The anchor elements within the list items */
.slideout-menu ul li a {
  position: relative;
  display: block;
  padding: 10px;
  color: white;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
}

.slideout-menu ul li a button  {
  position: absolute;
  right: 10px;
}

.slideout-menu ul li a:hover {
  /*background: #000;
  color: #fff;*/
}

.slideout-menu ul li a i {
  position: absolute;
  top: 15px;
  right: 10px;
  opacity: .5;
}

.dropdown-toggle {
  background-color: transparent;
  border: 0;    
  content: "";
  height: 42px;
  padding: 0;
  position: absolute;
  text-transform: lowercase;
  top: 3px;
  right: 0;
  width: 42px;
}

.dropdown-toggle:after {
  font-family: "FontAwesome";
  color: white;
  content: "\f078";    
  line-height: 42px;
  position: relative;
  top: 0;
  left: 1px;
  width: 42px;
}

.dropdown-toggle.sub-menu-on:after {
  content: "\f077";    
}

/* Submenu */
.slideout-menu ul .sub-menu {
  display: none;
  position: relative;
  width: 100%;
}

.slideout-menu ul .sub-menu li {
  border: 0;  
}

.slideout-menu ul .sub-menu li a {
  text-align: center;
  background-color: var(--brand-main-hover) !important;
}

@media (min-width: 1024px){
  .slideout-menu {
    display: none;
  }
}

/* ==================== */
/* Main Header
/* ==================== */

.main-header {
  background-color: var(--brand-main);
  padding: 0.5rem 0;
  position: relative;
  z-index: 20;
}

.main-header__row {
  display: flex;
  justify-content: center;
}

.main-header__col--logo {
  flex-basis: auto;
  padding: 10px 0;
}

.main-header__col--nav {
  display: none;
}

.main-header__burger {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.main-header__burger-link {
  color: white !important;
}

@media (min-width: 1024px){
  .main-header {
    padding: 1rem 0;
  }

  .main-header__burger {
    display: none;
  }

  .main-header__col--nav {
    display: flex;
    align-items: center;
  }
}

@media (min-width: 1280px){
  .main-header {
    padding: 1.5rem 0;
  }
}


/* ==================== */
/* Main Nav
/* ==================== */

.main-browse-nav {
  margin: 0 !important;
  padding: 0 !important;
  list-style-type: none !important;
  display: flex;  
}

.main-browse-nav > li {
  padding: 0 0.5rem;
  position: relative;
}

.main-browse-nav > li > a {
  color: white !important;
  font-weight: 400;
  text-decoration: none !important;
  font-size: 14px;
}

@media (min-width: 1024px){
  .main-browse-nav > li {
    border-right: 2px solid var(--brand-sec);
  }

  .main-browse-nav > li:last-of-type {
    border-right: 0;
  }
}

@media (min-width: 1280px){

  .main-browse-nav > li { 
    padding: 0 1rem;
  }

  .main-browse-nav > li > a {
    font-size: 18px;
  }
}


/* ==================== */
/* Sub Menus
/* ==================== */

.sub-menu {
  position: absolute;
  left: 0;  
  margin: 0;
  padding: 0;
  width: 250px;
  display: none;
}

.sub-menu > li.menu-item {
  display: block;  
}

.sub-menu > li.menu-item a {
  color: white !important;
  display: block;
  background-color: var(--brand-main);
  padding: 8px;
  text-align: left;
  text-decoration: none !important;
}

.sub-menu > li.menu-item a:hover, .sub-menu > li.menu-item a:focus {
  background-color: var(--brand-main-hover)
}

.main-browse-nav > li:hover .sub-menu,
.main-browse-nav > li:focus-within .sub-menu  {
  display: block;
}


/* ==================== */
/* Slideshow
/* ==================== */

#slideshow {
  overflow: hidden;
}

.fp-slideshow__slide {
  height: 500px;
  position: relative;
  background-position: center;
  background-size: cover;
  display: flex !important;
  justify-content: center;
  align-items: center;
}

.fp-slideshow__slide::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  opacity: 0.5;
}

.fp-slideshow__content {
  position: relative;
  z-index: 1;  
  width: 90%;
  max-width: 1280px;  
  margin-left: auto;
  margin-right: auto;
}

.fp-slideshow__title {
  margin: 0;
  padding: 0;
  color: white;
  font-size: 18px;
  line-height: 1.3;
  margin-bottom: 0.5rem;
  font-weight: bold;
}

.fp-slideshow__text {
  color: white;
  margin: 0 0 0.5rem 0;
  max-width: 500px;

}

#slideshow .slick-dots {
  bottom: 1rem;
}

#slideshow .slick-dots li button:before {
  font-size: 14px;
  color: white;
}

#slideshow .slick-dots li.slick-active button:before {
  color: white;
  opacity: 1;
}

#slideshow .slick-dotted.slick-slider {
  margin-bottom: 0;
}

@media (min-width: 1280px){

  .fp-slideshow__slide {
    height: 750px;
  }

  .fp-slideshow__logo {
    width: 550px;
  }

  .fp-slideshow__title {
    font-size: 28px;
  }

  .fp-slideshow__text {
    font-size: 22px;
  }

  #slideshow .slick-dots {
    bottom: 2rem;
  }
}


/* ==================== */
/* Footer
/* ==================== */

.site-footer-main {
  padding: 32px 0;
  background-color: var(--brand-main);
}

.site-footer-main__col--blurb {
  margin-bottom: 32px;
}

.site-footer__logo {
  max-width: 210px;
  margin-bottom: 1rem;
}

.site-footer__blurb {
  font-size: 14px;
  color: white;
}

.site-footer__title {
  color: white;
  position: relative;
  padding-bottom: 4px;
  font-weight: 600;
  margin-bottom: 10px;
}

/* .site-footer__title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 50px;
  height: 2px;
  background-color: white;

} */

.footer-nav-wrap ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style-type: none !important;
}

ul.footer-legal-nav {
  margin-bottom: 1rem !important;
}

.footer-nav-wrap ul a {
  display: inline-block;
  padding-bottom: 3px;
  border-bottom: 2px solid transparent;
  transition: 0.2s;
  color: white !important;
  text-decoration: none !important;
}

.footer-nav-wrap ul a:hover {
  border-color: white;
}

.site-footer__addr {
  color: white !important;
  padding-left: 32px;
  position: relative;
  margin-bottom: 16px;
}

.site-footer__addr::before {
  content: "\f3c5"; 
  font-family: "Font Awesome 5 Free"; 
  font-weight: 900;
  color: white;
  position: absolute;
  left: 0;
}

.site-footer__link {
  display: inline-block;
  border-bottom: 2px solid transparent;
  transition: 0.2s;
  color: white !important;
  text-decoration: none !important;  
}

.site-footer__link-wrap {
  position: relative;
  padding-left: 32px;
}

.site-footer__link-wrap::before {
  content: "\f095"; 
  font-family: "Font Awesome 5 Free"; 
  font-weight: 900;
  color: white;
  position: absolute;
  left: 0;
}

.site-footer__link-wrap--email::before {
  content: "\f0e0";
}

.social-icons {
  padding: 16px 0 0 0 !important;
  margin: 0 !important;
  list-style-type: none !important;
  display: flex;  
}

.social-icons__link {
  font-size: 32px;
  color: white !important;
}

.social-icons__item {
  margin-right: 1rem;
}

.social-icons__item:last-of-type {
  margin-right: 0;
}

.social-icons__link--dark {
  color: var(--brand-main) !important;
}

.site-footer .social-icons__item {
  margin-right: 0.5rem;
}

@media (min-width: 768px){

  .site-footer-main__row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .site-footer-main__col--blurb,
  .site-footer__blurb {
    margin-bottom: 0;
  }

  .site-footer__title {
    margin-top: 0;
  }
}

@media (min-width: 1024px){

  .site-footer-main {
    padding-top: 50px;
  }

  .site-footer-main__row {
    flex-wrap: nowrap;
  }

  .site-footer-main__col {
    flex-basis: calc(25% - 32px);
  }
}

@media (min-width: 1280px){

  .site-footer-main {
    padding-top: 75px;
  }

  .site-footer__blurb {
    padding-right: 32px;
  }
  
  .social-icons__link--lg {
    font-size: 45px;
  }

  .site-footer__blurb {
    line-height: 2;
  }
}


/* ==================== */
/* Site Info
/* ==================== */

.site-info {
  background-color: var(--brand-main-hover);
  overflow: hidden;
  padding-top: 16px;
  padding-bottom: 16px;
}

.site-info__text {
  margin: 0;
  color: white;
  font-size: 14px;
}

.site-info__copyright,
.site-info__designby {
  display: flex;
  text-align: center;
  align-items: center;
}

.site-info a {
  color: white !important;
}

@media (min-width: 768px){
  .site-info__text {
    display: flex;
    justify-content: flex-end;    
  }

  .site-info__copyright {
    margin-right: 8px;
    position: relative;
  }  

  .site-info__copyright::after {
    content: " |";
    display: inline-block;
    padding-left: 8px;
  }
}


/* ==================== */
/* Main Banner
/* ==================== */

.main-banner {
  background-size: cover;
  background-position: center;
  background-color: var(--brand-main); /* Default colour fallback for banner */
  height: 150px;
  display: flex;
  align-items: center;
  position: relative;
}

/* .main-banner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  opacity: 0.5;
} */

.main-banner__row {
  position: relative;
}

.main-banner__title {
  font-size: 24px;
  margin: 0;
  color: white;
  text-align: center;
}

@media (min-width: 1280px){

  .main-banner__title {
    font-size: 50px;
  }
}


/* ==================== */
/* Page Builder
/* ==================== */

.page-wrap {
  background-color: #efefef;
  padding: 2rem 0 1rem 0;
}

.content-box__row {
  padding: 2rem 0;
 /* background-color: white;
 padding: 1rem;
  margin-bottom: 2rem;
 box-shadow: 0 0 4px rgba(0,0,0,0.4); */
}

.content-box__row p:last-of-type {
  margin-bottom: 0;
}

.col-order-1 {
  margin-bottom: 2rem;
}

.content-box__title {
  margin-bottom: 1rem;
}

.content-box__body {
  margin-bottom: 1rem;
}

.section-has-bg .content-box__row {
  background-color: transparent !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-shadow: none;
}

.section-has-bg .site-title-pre,
.section-has-bg .content-box__title,
.section-has-bg .content-box__body .rte * {
  color: white !important;
}

@media (min-width: 1024px){

  .col-order-1 {
    margin-bottom: 0;
  } 

  .content-box__row {
    padding: 2rem 0;
    display: flex;
    justify-content: space-between;
  }

  .content-box__row--single-row {
    flex-direction: column;
    align-items: center;
    text-align: center !important;
    /* max-width: 1024px; */
    margin-left: auto;
    margin-right: auto;
  }

  .content-box__col--txt {
    width: 60%;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .content-box__col--img {
    width: 400px;
  }

  .content-box__col--txt.col-order-1 {
    padding-right: 2rem;
  }

  .col-order-1 {
    order: 1;
  }

  .col-order-2 {
    order: 2;
  }
}

@media (min-width: 1280px){
  .content-box__row { 
    padding: 3rem 0;
  }

  .content-box__body {
    margin-bottom: 2rem;
  }
}

.container-full-width {
  display: flex;
  justify-content: center;
}


/* ==================== */
/* Contact Page 1
/* ==================== */

.contact-card {
  background-color: var(--brand-main);
  padding: 1rem;
  border-radius: 10px;
  display: flex;  
  align-items: center;
  margin-bottom: 1rem;
}

.contact-card__icon-wrap {
  margin-right: 1rem;
}

.contact-card__icon-circle {
  color: white !important; 
}

.contact-card__icon {
  color: var(--brand-main) !important;
}

.contact-card__text-wrap,
.contact-card__link {
  color: white !important;
}

.contact-card__link {
  text-decoration: none !important;
}

.opening-hours {
  margin: 0 0 2rem 0 !important;
  padding: 0 !important;
  list-style-type: none !important;
}

.opening-hours__item {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
  position: relative;
}

.opening-hours__item::after {
  content: "";
  position: absolute;
  bottom: 7px;
  left: 0;
  width: 100%;
  height: 1px;
  border-bottom: 1px dotted white;
}

.opening-hours__day,
.opening-hours__hours {
  background-color: var(--brand-main);
  display: inline-block;  
  position: relative;
  z-index: 1;
}

.opening-hours__day {
  padding-right: 8px;
}

.opening-hours__hours {
  padding-left: 8px;
}

.section-about-lower__col--hours {
  margin-bottom: 2rem;
}

.section-contact__col--form h2 {
  margin-bottom: 2rem !important;
}

.social-icons {
  padding: 16px 0 0 0 !important;
  margin: 0 !important;
  list-style-type: none !important;
  display: flex;
  gap: 16px;
}

.social-icons__link {
  font-size: 32px;
  color: var(--brand-main) !important;
}

.site-footer .social-icons__link {
  color: white !important;
}

@media (min-width: 1024px){
  .section-contact__row,
  .section-about-lower__row {
    display: flex;
    justify-content: space-between;
  }

  .section-contact__col--form {
    flex-basis: 60%;
  }

  .section-contact__col--text {
    flex-basis: 35%;
  }

  .section-about-lower__col {
    flex-basis: 40%;
  }
}


/*====================
Contact Page 2
====================*/

.contact_box_wrapper{
  background-color: var(--brand-main);
  padding: 30px;
  border-radius: 10px;
  color: #fff;  
  text-align: center;
  margin: 15px 0;
  box-shadow: 5px 5px 10px 2px rgba(0, 0, 0, 0.2);
}

.contact_box_wrapper h2{
  font-size: 60px;
  margin: 0;
}

.contact_box_wrapper a{
  color: #fff;  
  text-decoration: none;
}

.contact_box_wrapper a:hover{
  color: var(--brand-secondary);  
  text-decoration: none;
}

.frm_button_submit{
  float: right;
}

.contact_form{
  background-color: var(--brand-main);
}

.contact_form h2{
  color: #fff;
}





/* ============================================================ */
/* Custom code starts below...
/* ============================================================ */

/* ============================= */
/* Interactive Map
/* ============================= */

.cwr-int-map {
  display: none;  
}

@media (min-width: 1280px){
  
  .cwr-map-wrap {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  .cwr-int-map {
    display: block;
  }
}


/* ============================= */
/* Interactive Map Elements
/* ============================= */

.cwr-sign-post {  
  padding: 1rem;
  border-radius: 1rem;
  box-shadow: 5px 5px 0 black;  
  text-align: center;
  line-height: 1.3;
  transition: 0.2s;
}

.cwr-sign-post:hover {  
  transform: scale(1.05);
}

.cwr-sign-post--large {
  font-size: 24px !important;
}

.cwr-sign-post--txt-white {
  color: white !important;
}

.cwr-sign-post--bg-purple {
  background-color: #442879;
}

.cwr-supp-text {
  color: black;
  text-align: center;
  font-weight: bold;
  line-height: 1.1;
}

@media (min-width:1280px) {

  .cwr-sign-post {  
    position: absolute;
  }

  .cwr-sign-post--start {
    top: 106px;
    left: 36px;
    width: 278px;
  }

  .cwr-supp-text--start {
    position: absolute;
    top: 250px;
    left: 36px;
    width: 278px;
  }
}

/* ================================================================================= */
/* ================================= MAP CSS  ======================================
/* ================================================================================= */

/* =========================== */
/* Map specific typography
/* =========================== */
.ccsignlanguage {
  font-family: ccsignlanguage, sans-serif;
  font-weight: 400;
  font-style: normal;
}

.map-text-pink {
  color: #E01D61;
}

.map-txt-white {
  color: white;
}

.map-signpost__link {
  text-decoration: none !important;
  display: inline-block;
}

.map-icon {
  display: inline-block;
  width: 20px;
}

/* =========================== */
/* Map wrapper
/* =========================== */
.cwr-map-section {
  padding: 1rem 0;
}

.cwr-map-wrap {
  position: relative;
  width: 96%;
  max-width: 1440px;
  margin: 0 auto;
  background-color: #fefdec;
  border: 7px solid #442879;
  padding: 1rem;
}

.cwr-int-map {
  display: none;
}

/* =========================== */
/* Elements
/* =========================== */
.map-element {
  margin-bottom: 1rem;
}

/* =========================== */
/* Intro
/* =========================== */
.cwr-map-elements__intro {
  margin-bottom: 2rem;
}
.cwr-map-elements__intro .map-icon {
  position: relative;
  top: 3px;
}
@media (min-width: 1024px) {
  .cwr-map-elements__intro {
    font-size: 0.9rem;
  }
}

.map-sec-text {
  text-align: center;
  font-size: 1.25rem;
  line-height: 1.2;
}
.map-sec-text br {
  display: none;
}
@media (min-width: 768px) {
  .map-sec-text {
    font-size: 1rem;
  }
}

/* =========================== */
/* Signposts
/* =========================== */
@media (min-width: 768px) {
  .signpost-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }
}

.map-signpost-wrap {
  position: relative;
}

.map-signpost {
  position: relative;
  padding: 0.75rem;
  margin: 0 0 2rem 0;
  text-align: center;
  text-transform: uppercase;
  border-radius: 1rem;
  box-shadow: -4px 4px 0 black;
  z-index: 2;
  background-color: white;
  font-size: 1.5rem;
  line-height: 1.1;
}
@media (min-width: 768px) {
  .map-signpost {
    font-size: 1rem;
    padding: 0.5rem;
  }
}
.map-signpost--start {
  background-color: #442879;
}
.map-signpost--reg {
  border: 10px solid #442879;
}
.map-signpost--shape-arrow {
  background-color: #E01D61;
  color: white;
}
.map-signpost--shape-rect {
  color: #E01D61;
}
.map-signpost__text {
  margin-bottom: 0;
}
.map-signpost__buttons {
  display: flex;
  justify-content: center;
  align-items: center;
}
.map-signpost__link {
  display: inline-block;
  padding: 0.25rem 0.25rem 0 0.25rem;
}
.map-signpost__link .map-icon {
  width: 25px;
}
@media (min-width: 768px) {
  .map-signpost__link .map-icon {
    width: 20px;
  }
}
.map-signpost__legs {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -24px;
  margin-left: auto;
  margin-right: auto;
  height: 37px;
  z-index: 1;
}
.map-signpost__legs::before, .map-signpost__legs::after {
  content: "";
  background-image: url(../images/signpost-leg.svg?43999086c33b44193b51fceb5eea71e5);
  background-size: cover;
  width: 63px;
  height: 37px;
  display: block;
  position: absolute;
}
.map-signpost__legs::before {
  left: 0;
}
.map-signpost__legs::after {
  right: 30px;
}
.map-signpost__legs--start {
  bottom: -25px;
}
.map-signpost br {
  display: none;
}

.map-signpost-sec {
  text-align: center;
  font-size: 1.25rem;
  line-height: 1.2;
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .map-signpost-sec {
    font-size: 1rem;
  }
}
.map-signpost-sec br {
  display: none;
}

.noninfo-images-wrap {
  display: none;
}

/* =========================== */
/* Extra text elements
/* =========================== */
/* =========================== */
/* Extra text elements
/* =========================== */
.map-extra-text-el {
  text-align: center;
  font-size: 1.25rem;
  line-height: 1.2;
}
.map-extra-text-el br {
  display: none;
}
@media (min-width: 1024px) {
  .map-extra-text-el br {
    display: block;
  }
}
@media (min-width: 1024px) {
  .map-extra-text-el {
    position: absolute;
    font-size: 14px;
  }
  .map-extra-text-el--1 {
    left: 749px;
    top: 119px;
  }
}
@media (min-width: 1280px) {
  .map-extra-text-el--1 {
    left: 947px;
    top: 157px;
    font-size: 16px;
  }
}
@media (min-width: 1440px) {
  .map-extra-text-el--1 {
    left: 1060px;
    top: 172px;
    font-size: 17px;
  }
}

@media (min-width: 768px) {
  .map-speech-bubbles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }
}
.map-speech-bubbles .map-speech-bubble {
  background-color: white;
  padding: 1rem;
  border-radius: 1rem;
  margin-bottom: 1rem;
  text-align: center;
}
@media (min-width: 1024px) {
  .map-speech-bubbles .map-speech-bubble {
    position: absolute;
    background-color: transparent;
    padding: 0;
    border-radius: 0;
    margin-bottom: 0;
  }
}
.map-speech-bubbles .map-speech-bubble br {
  display: none;
}
@media (min-width: 1024px) {
  .map-speech-bubbles .map-speech-bubble br {
    display: block;
  }
}
.map-speech-bubbles .map-speech-bubble__bubble-img {
  display: none;
}
@media (min-width: 1024px) {
  .map-speech-bubbles .map-speech-bubble__bubble-img {
    position: relative;
    z-index: 1;
  }
}

/* =========================== */
/* Breakpoint 1280px
/* =========================== */
@media (min-width: 1024px) {
  .map-speech-bubble--speech_bubble_1 {
    position: absolute;
    top: 241px;
    left: 93px;
  }
  .map-speech-bubble--speech_bubble_1 .map-speech-bubble__bubble-img {
    width: 160px;
    display: block;
  }
  .map-speech-bubble--speech_bubble_1 .map-speech-bubble__text {
    position: absolute;
    z-index: 2;
    left: 9px;
    top: 9px;
    font-size: 14px;
    line-height: 1.1;
    text-align: center;
  }
  .map-speech-bubble--speech_bubble_1 .map-icon--play {
    width: 18px;
    position: relative;
    display: inline-block;
    margin-bottom: -3px;
  }
  .map-speech-bubble--speech_bubble_2 {
    position: absolute;
    top: 230px;
    left: 335px;
  }
  .map-speech-bubble--speech_bubble_2 .map-speech-bubble__bubble-img {
    width: 120px;
    display: block;
  }
  .map-speech-bubble--speech_bubble_2 .map-speech-bubble__text {
    position: absolute;
    z-index: 2;
    left: 11px;
    top: 8px;
    font-size: 11px;
    line-height: 1.1;
    text-align: center;
  }
  .map-speech-bubble--speech_bubble_3 {
    position: absolute;
    top: 552px;
    left: 533px;
  }
  .map-speech-bubble--speech_bubble_3 .map-speech-bubble__bubble-img {
    width: 150px;
    display: block;
  }
  .map-speech-bubble--speech_bubble_3 .map-speech-bubble__text {
    position: absolute;
    z-index: 2;
    left: 24px;
    top: 10px;
    font-size: 11px;
    line-height: 1.1;
    text-align: center;
  }
}
/* =========================== */
/* Breakpoint 1280px
/* =========================== */
@media (min-width: 1280px) {
  .map-speech-bubble--speech_bubble_1 {
    top: 291px;
    left: 115px;
  }
  .map-speech-bubble--speech_bubble_1 .map-speech-bubble__bubble-img {
    width: 185px;
  }
  .map-speech-bubble--speech_bubble_1 .map-speech-bubble__text {
    top: 12px;
    left: 17px;
    font-size: 15px;
    line-height: 1.2;
  }
  .map-speech-bubble--speech_bubble_2 {
    top: 287px;
    left: 411px;
  }
  .map-speech-bubble--speech_bubble_2 .map-speech-bubble__bubble-img {
    width: 150px;
  }
  .map-speech-bubble--speech_bubble_2 .map-speech-bubble__text {
    top: 9px;
    left: 16px;
    font-size: 14px;
  }
  .map-speech-bubble--speech_bubble_3 {
    top: 689px;
    left: 644px;
  }
  .map-speech-bubble--speech_bubble_3 .map-speech-bubble__bubble-img {
    width: 188px;
  }
  .map-speech-bubble--speech_bubble_3 .map-speech-bubble__text {
    top: 12px;
    left: 30px;
    font-size: 14px;
  }
}
/* =========================== */
/* Breakpoint 1440px
/* =========================== */
@media (min-width: 1440px) {
  .map-speech-bubble--speech_bubble_1 {
    top: 350px;
    left: 115px;
  }
  .map-speech-bubble--speech_bubble_1 .map-speech-bubble__bubble-img {
    width: 215px;
  }
  .map-speech-bubble--speech_bubble_1 .map-speech-bubble__text {
    top: 12px;
    left: 17px;
    font-size: 18px;
  }
  .map-speech-bubble--speech_bubble_2 {
    top: 317px;
    left: 459px;
  }
  .map-speech-bubble--speech_bubble_2 .map-speech-bubble__bubble-img {
    width: 168px;
  }
  .map-speech-bubble--speech_bubble_2 .map-speech-bubble__text {
    top: 10px;
    left: 18px;
    font-size: 15px;
    line-height: 1.2;
  }
  .map-speech-bubble--speech_bubble_3 {
    top: 774px;
    left: 738px;
  }
  .map-speech-bubble--speech_bubble_3 .map-speech-bubble__bubble-img {
    width: 224px;
  }
  .map-speech-bubble--speech_bubble_3 .map-speech-bubble__text {
    top: 16px;
    left: 44px;
    font-size: 15px;
    line-height: 1.2;
  }
}
.gradient-border {
  position: relative;
  z-index: 0;
}

.gradient-border::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 10px; /* border width */
  background: linear-gradient(to bottom, #74be8e, #a7cc6d);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: -1;
  border-radius: inherit;
}
@media (min-width: 1024px) {
  .gradient-border::before {
    display: none !important;
  }
}

/* ==================================================== */
/* Full map breakpoints and positioning 
/* ==================================================== */
/* We use fixed widths and abs positioning to place 
/* elements and resize with pixels
/* ==================================================== */
@media (min-width: 1024px) {
  /* =========================== */
  /* Wrapper/containing elements
  /* =========================== */
  .cwr-map-wrap {
    width: 100%;
    max-width: 1010px !important;
    padding: 0;
    border: 0;
    background-color: transparent;
  }
  .cwr-int-map {
    display: block;
  }
  /* =========================== */
  /* Elements
  /* =========================== */
  .cwr-map-elements__intro,
  .map-element {
    position: absolute;
    top: 0;
    left: 0;
  }
  .map-element {
    display: none;
  }
  .map-element br {
    display: block !important;
  }
  /* =========================== */
  /* Intro
  /* =========================== */
  .cwr-map-elements__intro {
    top: 17px;
    width: 956px;
    left: 0;
    right: 0;
    margin: 0 auto;
    line-height: 1.3;
    font-size: 13px;
  }
  /* =========================== */
  /* Signpost legs
  /* =========================== */
  .map-signpost__legs,
  .map-signpost__legs::before,
  .map-signpost__legs::after {
    height: 20px;
  }
  .map-signpost__legs {
    bottom: -14px;
  }
  .map-signpost__legs::before,
  .map-signpost__legs::after {
    width: 30px;
  }
  /* =========================== */
  /* Signpost Start
  /* =========================== */
  .map-element--start {
    display: block;
    top: 85px;
    left: 36px;
  }
  .map-signpost--start {
    font-size: 1.25rem;
  }
  .map-sec-text {
    font-size: 14px;
    line-height: 1.1;
  }
  /* =========================== */
  /* Signposts
  /* =========================== */
  .map-signpost {
    margin-bottom: 1.25rem;
    line-height: 1.2;
  }
  .map-signpost--reg {
    border-width: 7px;
    padding: 0.45rem 1rem 0.35rem 1rem;
  }
  .map-signpost__link .map-icon {
    width: 18px;
  }
  .map-signpost-sec__text {
    font-size: 14px;
    line-height: 1.1;
  }
  .map-element {
    display: block;
  }
  .map-element--signpost_1 {
    top: 89px;
    left: 324px;
  }
  .map-element--signpost_2 {
    top: 176px;
    left: 505px;
  }
  .map-element--signpost_3 {
    top: 158px;
    left: 749px;
  }
  .map-element--signpost_4 {
    top: 334px;
    left: 710px;
  }
  .map-element--signpost_5 {
    top: 380px;
    left: 390px;
  }
  .map-element--signpost_6 {
    top: 319px;
    left: 91px;
  }
  .map-element--signpost_7 {
    top: 550px;
    left: 177px;
  }
  .map-signpost-sec--signpost_7 {
    position: absolute;
    width: 115px;
    left: 134px;
    top: 30px;
  }
  /* =========================== */
  /* Link Icons / Signpost tweaks
  /* =========================== */
  .map-signpost__link {
    position: absolute;
    bottom: 3px;
  }
  .map-signpost__link--video {
    left: 6px;
  }
  .map-signpost__link--info {
    right: 6px;
  }
  .map-signpost--signpost_1 .map-signpost__link--video {
    left: 27px;
  }
  .map-signpost--signpost_1 .map-signpost__link--info {
    right: 27px;
  }
  .map-signpost--signpost_2 .map-signpost__link--video {
    left: 3px;
  }
  .map-signpost--signpost_2 .map-signpost__link--info {
    right: 3px;
  }
  .map-signpost--signpost_3 .map-signpost__link--video {
    left: 22px;
  }
  .map-signpost--signpost_3 .map-signpost__link--info {
    right: 22px;
  }
  .map-signpost--signpost_4 .map-signpost__link--video {
    left: 4px;
  }
  .map-signpost--signpost_4 .map-signpost__link--info {
    right: 4px;
  }
  .map-signpost--signpost_5 .map-signpost__link--video {
    left: 8px;
  }
  .map-signpost--signpost_5 .map-signpost__link--info {
    right: 8px;
  }
  .map-signpost--signpost_6 .map-signpost__link--video {
    left: 11px;
  }
  .map-signpost--signpost_6 .map-signpost__link--info {
    right: 11px;
  }
  .map-signpost--signpost_7 .map-signpost__link--video {
    left: 3px;
  }
  .map-signpost--signpost_7 .map-signpost__link--info {
    right: 3px;
  }
  /* =========================== */
  /* Non info images
  /* =========================== */
  .noninfo-images-wrap {
    display: block;
  }
  .noninfo-img {
    position: absolute;
  }
  .noninfo-img--noninfo_image_1 {
    width: 57px;
    left: 238px;
    top: 79px;
  }
  .noninfo-img--noninfo_image_2 {
    width: 100px;
    left: 560px;
    top: 111px;
  }
  .noninfo-img--noninfo_image_3 {
    width: 57px;
    left: 894px;
    top: 245px;
  }
  .noninfo-img--noninfo_image_4 {
    width: 57px;
    left: 637px;
    top: 253px;
  }
  .noninfo-img--noninfo_image_5 {
    width: 93px;
    left: 428px;
    top: 262px;
  }
  .noninfo-img--noninfo_image_6 {
    width: 66px;
    left: 30px;
    top: 267px;
  }
  .noninfo-img--noninfo_image_7 {
    width: 66px;
    left: 296px;
    top: 306px;
  }
  .noninfo-img--noninfo_image_8 {
    width: 66px;
    left: 29px;
    top: 583px;
  }
  .noninfo-img--noninfo_image_9 {
    width: 100px;
    left: 224px;
    top: 443px;
  }
  .noninfo-img--noninfo_image_10 {
    width: 110px;
    left: 437px;
    top: 590px;
  }
  .noninfo-img--noninfo_image_11 {
    width: 100px;
    left: 589px;
    top: 412px;
  }
  .noninfo-img--noninfo_image_12 {
    width: 90px;
    left: 841px;
    top: 384px;
  }
}
@media (min-width: 1280px) {
  .cwr-map-wrap {
    max-width: 1260px !important;
  }
  .cwr-map-elements__intro {
    width: 1180px;
    font-size: 16px;
  }
  .map-signpost__legs, .map-signpost__legs::before, .map-signpost__legs::after {
    height: 23px;
  }
  .map-signpost__legs {
    bottom: -18px;
  }
  .map-signpost__legs::before, .map-signpost__legs::after {
    width: 36px;
  }
  .map-signpost__legs::after {
    right: 26px;
  }
  .map-element--start {
    top: 103px;
    left: 43px;
  }
  .map-signpost--start {
    font-size: 1.5rem;
  }
  .map-sec-text {
    font-size: 15px;
  }
  .map-signpost {
    margin-bottom: 1.65rem;
  }
  .map-signpost__text {
    font-size: 1.25rem;
  }
  .map-signpost-sec__text {
    font-size: 15px;
  }
  .map-element--signpost_1 {
    top: 114px;
    left: 412px;
  }
  .map-element--signpost_2 {
    top: 236px;
    left: 642px;
  }
  .map-element--signpost_3 {
    top: 210px;
    left: 909px;
  }
  .map-element--signpost_4 {
    top: 420px;
    left: 885px;
  }
  .map-element--signpost_5 {
    top: 472px;
    left: 498px;
  }
  .map-element--signpost_6 {
    top: 418px;
    left: 127px;
  }
  .map-element--signpost_7 {
    top: 687px;
    left: 208px;
  }
  .map-signpost-sec--signpost_7 {
    left: 160px;
    top: 48px;
  }
  /* =========================== */
  /* Link Icons / Signpost tweaks
  /* =========================== */
  .map-signpost__link {
    bottom: 4px;
  }
  .map-signpost__link .map-icon {
    width: 20px;
  }
  /* =========================== */
  /* Non info images
  /* =========================== */
  .noninfo-img--noninfo_image_1 {
    width: 79px;
    left: 278px;
    top: 95px;
  }
  .noninfo-img--noninfo_image_2 {
    width: 131px;
    left: 697px;
    top: 143px;
  }
  .noninfo-img--noninfo_image_3 {
    width: 86px;
    left: 1091px;
    top: 293px;
  }
  .noninfo-img--noninfo_image_4 {
    width: 80px;
    left: 794px;
    top: 307px;
  }
  .noninfo-img--noninfo_image_5 {
    width: 118px;
    left: 531px;
    top: 321px;
  }
  .noninfo-img--noninfo_image_6 {
    width: 100px;
    left: 30px;
    top: 341px;
  }
  .noninfo-img--noninfo_image_7 {
    width: 80px;
    left: 370px;
    top: 383px;
  }
  .noninfo-img--noninfo_image_8 {
    width: 80px;
    left: 34px;
    top: 724px;
  }
  .noninfo-img--noninfo_image_9 {
    width: 130px;
    left: 284px;
    top: 556px;
  }
  .noninfo-img--noninfo_image_10 {
    width: 150px;
    left: 506px;
    top: 731px;
  }
  .noninfo-img--noninfo_image_11 {
    width: 130px;
    left: 727px;
    top: 505px;
  }
  .noninfo-img--noninfo_image_12 {
    width: 116px;
    left: 1039px;
    top: 484px;
  }
}
@media (min-width: 1440px) {
  .cwr-map-wrap {
    max-width: 1420px !important;
  }
  .cwr-map-elements__intro {
    width: 1345px;
    font-size: 19px;
    top: 33px;
  }
  .map-signpost__legs, .map-signpost__legs::before, .map-signpost__legs::after {
    height: 23px;
  }
  .map-signpost__legs {
    bottom: -18px;
  }
  .map-signpost__legs::before, .map-signpost__legs::after {
    width: 36px;
  }
  .map-signpost__legs::after {
    right: 26px;
  }
  .map-element--start {
    top: 118px;
    left: 43px;
  }
  .map-signpost--start {
    font-size: 2rem;
  }
  .map-sec-text {
    font-size: 20px;
  }
  .map-signpost {
    margin-bottom: 1.65rem;
  }
  .map-signpost--reg {
    padding: 0.5rem;
    border-width: 10px;
  }
  .map-signpost--signpost_1 {
    margin-bottom: 1rem;
  }
  .map-signpost__text {
    font-size: 1.75rem;
    line-height: 1;
  }
  .map-signpost-sec__text {
    font-size: 20px;
  }
  .map-element--signpost_1 {
    top: 127px;
    left: 452px;
  }
  .map-element--signpost_2 {
    top: 274px;
    left: 692px;
  }
  .map-element--signpost_3 {
    top: 223px;
    left: 1022px;
  }
  .map-element--signpost_4 {
    top: 476px;
    left: 980px;
  }
  .map-element--signpost_5 {
    top: 523px;
    left: 551px;
  }
  .map-element--signpost_6 {
    top: 461px;
    left: 133px;
  }
  .map-element--signpost_7 {
    top: 772px;
    left: 232px;
  }
  .map-signpost-sec--signpost_7 {
    left: 187px;
    top: 41px;
    width: 170px;
  }
  /* =========================== */
  /* Link Icons / Signpost tweaks
  /* =========================== */
  .map-signpost__link {
    bottom: 7px;
  }
  .map-signpost__link .map-icon {
    width: 23px;
  }
  /* =========================== */
  /* Non info images
  /* =========================== */
  .noninfo-img--noninfo_image_1 {
    width: 79px;
    left: 347px;
    top: 103px;
  }
  .noninfo-img--noninfo_image_2 {
    width: 160px;
    left: 780px;
    top: 158px;
  }
  .noninfo-img--noninfo_image_3 {
    width: 90px;
    left: 1249px;
    top: 342px;
  }
  .noninfo-img--noninfo_image_4 {
    width: 84px;
    left: 898px;
    top: 345px;
  }
  .noninfo-img--noninfo_image_5 {
    width: 121px;
    left: 581px;
    top: 373px;
  }
  .noninfo-img--noninfo_image_6 {
    width: 87px;
    left: 36px;
    top: 407px;
  }
  .noninfo-img--noninfo_image_7 {
    width: 94px;
    left: 414px;
    top: 428px;
  }
  .noninfo-img--noninfo_image_8 {
    width: 90px;
    left: 42px;
    top: 829px;
  }
  .noninfo-img--noninfo_image_9 {
    width: 140px;
    left: 341px;
    top: 626px;
  }
  .noninfo-img--noninfo_image_10 {
    width: 169px;
    left: 591px;
    top: 818px;
  }
  .noninfo-img--noninfo_image_11 {
    width: 130px;
    left: 835px;
    top: 586px;
  }
  .noninfo-img--noninfo_image_12 {
    width: 124px;
    left: 1175px;
    top: 540px;
  }
}


/* ============================================================ */
/* Page CSS starts below...
/* ============================================================ */

.content_center {
  text-align: center;
  padding: 0 30px;
  margin: 0 auto;
}

.content_center p {
  margin: 0;
}

.site-title {
  font-size: 24px;
  margin-bottom: 10px;
}

@media (min-width: 1024px) {
  .site-title {
    font-size: 32px;
  }
}

/* ==================== */
/* Buttons
/* ==================== */

.site-btn{
  position: relative;
  text-transform: none;
  border-radius: 16px;
  align-self: flex-start;
}

.site-btn-square, .site-btn-square:hover, .site-btn-square::after, .site-btn-square::after {
  border-radius: 15px 0;
}

.site-btn-main{
  background-color: var(--brand-main);
}

.site-btn-main span, .site-btn-sec span, .site-btn-blk span{
  position: relative;
  z-index: 2;
  margin: 0!important;
}

.site-btn-main:hover{
  position: relative;
  background: var(--brand-main);
  color: white!important;
  transition: .5s;
}

.site-btn-main::after{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  background-color: var(--brand-main-hover);
  transition: 0.5s;
  height: 100%;
  z-index: 1;
  border-radius: 16px;
}

.site-btn-sec{
  background-color: var(--brand-sec);
  color: white!important;
  border-radius: 16px;
}

.site-btn-sec:hover{
  position: relative;
  background: var(--brand-sec);
  transition: .5s;
  border-radius: 16px;
}

.site-btn-sec::after{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  background-color: var(--brand-sec-hover);
  transition: 0.5s;
  height: 100%;
  z-index: 1;
  border-radius: 16px;
}

.site-btn-outline{
  background: transparent;
  border: 1px solid white;
  transition: .2s;
}

.site-btn-outline:hover{
  position: relative;
  background: var(--brand-sec);
  border: 1px solid var(--brand-sec);
  transition: .5s;
  color: var(--brand-main)!important;
}

.site-btn-outline::after{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  background-color: var(--brand-sec);
  transition: 0.5s;
  height: 100%;
  z-index: -1;
}

.site-btn-blk{
  background-color: black;
  color: white!important;
}

.site-btn-blk:hover{
  position: relative;
  background: var(--brand-sec);
  transition: .5s;
}

.site-btn-blk::after{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  background-color: var(--brand-sec-hover);
  transition: 0.5s;
  height: 100%;
  z-index: 1;
}

.site-btn-outline:hover::after, .site-btn-main:hover::after, .site-btn-sec:hover::after, .site-btn-blk:hover::after{
  width: 100%;
}

.site-btn-center {
  text-align: center;
}

/* ==================== */
/* backgrounds
/* ==================== */

.bg-main {
  background-color: var(--brand-main)!important;
}

.bg-sec {
  background-color: var(--brand-sec)!important;
}

.bg-sec-hov {
  background-color: var(--brand-sec-hover)!important;
}

.bg-ter {
  background-color: var(--brand-ter)!important;
}

.bg-off-grey {
  background-color: var(--off-grey)!important;
}

.bg-off-white {
  background-color: var(--off-white)!important;
}

.bg-black {
  background-color: #000!important;
}

.bg-gradient {
  background: linear-gradient(120deg, #313840 0%, #24282D 100%)!important;
}

.bg-hard-gradient{
  background: linear-gradient(to bottom, var(--brand-main) 0%, var(--brand-main) 40%, #fff 40%)!important;
}

.bg-hard-gradient-vert {
  background: linear-gradient(to bottom, var(--brand-main) 0%, var(--brand-main) 20%, #f1f1f1 20%)!important;
}

@media (min-width: 1024px) {

  .bg-hard-gradient-vert {
    background: linear-gradient(90deg, var(--brand-main) 0%, var(--brand-main) 40%, #f1f1f1 40%)!important;
  }

}

.bg-img {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 400px;
}

.bg-img-fixed {
  background-size: cover;
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 300px;
}

.bg-img-rounded {
  border-radius: 16px;
}

/* ==================== */
/* animations
/* ==================== */

.grow-in-scroll-animation {
  scale: .7; 
  opacity: 0;
  animation: grow-in linear forwards;
  animation-timeline: view();
  animation-range: entry;
  margin: 15px 0;
  height: 400px;
}

@keyframes grow-in {
  to{scale: 1; opacity: 1;}
}

.fade-in-left-scroll-animation {
  position: relative;
  left: -20%; 
  opacity: 0;
  animation: slide-in linear forwards;
  animation-timeline: view();
  animation-range: entry;
}

@keyframes slide-in {
  to{left: 0; opacity: 1;}
}


.fade-in-up-scroll-animation {
  position: relative;
  bottom: -150px; 
  opacity: 0;
  animation: slide-in-up linear forwards;
  animation-timeline: view();
  animation-range: entry;
}

@keyframes slide-in-up {
  to{bottom: 0; opacity: 1;}
}

@media (min-width: 1024px) {
  .fade-in-up-scroll-animation:nth-child(1) {
    bottom: -150px; 
  }

  .fade-in-up-scroll-animation:nth-child(2) {
    bottom: -190px; 
  }

  .fade-in-up-scroll-animation:nth-child(3) {
    bottom: -230px;
  }

  .fade-in-up-scroll-animation:nth-child(4) {
    bottom: -260px;
  }

}

.fade-in-scroll-animation { 
  opacity: 0;
  animation: fade-in linear forwards;
  animation-timeline: view();
  animation-range: entry;
}

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


/********************
 * Latest Posts
********************/

.home_latest_news_item {
  display: flex;
  flex-direction: column;

}

.news_card {
  display: flex!important;
  flex-direction: column;
  justify-content: flex-start;
  box-shadow: 2px 4px 12px rgba(0,0,0,0.14);
  margin: 15px 0;
  border-radius: 16px;
}

.latest_post--image {
  background-size: cover;
  background-position: center;
  width: 100%;
  flex-shrink: 0;
  border-radius: 16px 16px 0 0;
}

.latest_post--text {
  background-color: white;
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
  border-radius: 0 0 16px 16px;
}

.latest_post--text h2 {
  font-size: 18px;
}

.latest_post--text a {
  color: black;
  text-decoration: none;
}

.latest_post--text a:hover {
  color: var(--brand-main);
}

.latest_post--text h2 a {
  color: #121010;
  text-decoration: none;
}

.latest_post--text h2 a:hover {
  color: var(--brand-main);
}

.latest_post--content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.latest_post--btn {
  margin: 0 30px 30px 30px;
}

.news_link {
  margin-top: 20px;
}

.news_link a {
  position: relative;
}

.news_link a::after {
  content: '\f061'; 
  font-family: 'Font Awesome 6 Free';
  font-weight: 900; 
  margin-left: 8px;
  position: absolute;
  color: var(--brand-sec);
  right: -30px;
  top: 50%;
  transform: translateY(-50%);
  transition: .3s;

}

.news_link a:hover::after {
  right: -40px;
}



.story-gallery-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto auto;
  gap: 1rem;
}

.story-gallery-grid .item-1 {
  grid-column: 1;
  grid-row: 1;
  max-height: 200px;
}

.story-gallery-grid .item-2 {
  grid-column: 2;
  grid-row: 1;
  max-height: 200px;
}

.story-gallery-grid .item-3 {
  grid-column: 1 / span 2;
  grid-row: 2;
  max-height: 200px;
}

.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
}

/* 📱 Stack on mobile and tablets */
@media (max-width: 768px) {
  .story-gallery-grid {
      grid-template-columns: 1fr;
      grid-template-rows: auto auto auto;
  }

  .story-gallery-grid .item-1,
  .story-gallery-grid .item-2,
  .story-gallery-grid .item-3 {
      grid-column: 1;
  }
}


/* ==================== */
/* Call to Action
/* ==================== */


.cta_bar {
  padding: 20px 0;
}

.cta_bar_txt {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  color: white;
  font-size: 20px;
}

.cta_bar_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100%;
  margin: 1rem auto;
  width: 100%;
}

@media (min-width: 1024px) {

  .cta_bar_btn {
    margin: 0;
    width: 19.5%;
  }

  .cta_bar_txt {
    width: 80.5%;
    
  }

}

@media (min-width: 1024px) {
  .menu-dropdown-root:after {
    content: '\f078';
    font-family: "FontAwesome";
    color: white;
    font-size: 10px;
  }
}



/* ==================== */
/* WCAG Code
/* ==================== */

a:focus-visible, button:focus-visible {
  outline: 2px dashed #1E90FF; /* or any high-contrast color */
  /* border: 2px dashed white; /* or any high-contrast color */
  outline-offset: 4px;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

address {
  font-style: normal;
}


/* ==================== */
/* Page builder - changes
/* ==================== */

.container-full-width .content-box__row {
  position: relative;  
  overflow: hidden;
}

.container-full-width .pb_txt_col, .container-full-width .pb_txt_col_big {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #262626;
  /* text-align: center; */
  /* padding: 30px; */
  position: relative;
  z-index: 2;
}

.container-full-width .pb_txt_col .content-box__body, .container-full-width .pb_txt_col_big .content-box__body {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  max-width: 720px;
}

/* .container-full-width .pb_img_col {
  border-radius: 16px 0 0 16px;
}

.container .pb_img_col {
  border-radius: 16px;
} */

.pb_txt_col .rte, .pb_txt_col_big .rte { 
  padding: 30px;
  border-radius: 16px;
  margin: 0 30px
}

.content-box__body {
  margin-bottom: 0;
}

.rte ul, .rte ol, .benefits_card ul, .benefits_card ol {
  margin-left: 15px;
  padding-left: 15px;
}

/* .rte h3, .rte h2 {
  color: black!important;
} */

.rte a, .benefits_card a {
  font-weight: 600;
  color: var(--brand-main);
}

@media (min-width: 1024px) { 
  .container-full-width .pb_img_col {
    border-radius: 16px 0 0 16px;
  }

  .container .pb_img_col {
    border-radius: 16px;
  }
  .container-full-width .col-order-1.pb_img_col {
    border-radius: 0 16px 16px 0;
  }
  
  .container-full-width .pb_txt_col_big .content-box__body {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 1024px;
    margin-left: 25%;
  }
  
  .container-full-width .col-order-2.pb_txt_col_big .content-box__body {
    margin-left: 0;
    margin-right: 25%
  }

  .container-full-width .pb_img_col_sml {
    width: 40%;
    border-radius: 16px 0 0 16px;
  }

  .container-full-width .col-order-1.pb_img_col_sml {
    width: 40%;
    border-radius: 0 16px 16px 0;
  }
}


/* ==================== */
/* Page builder - Video Module
/* ==================== */


.video_sml {
  flex-grow: 1;
  margin: 0 .75%;
}

.video_sml iframe {
  border-radius: 16px;
  height: 570px;
  width: 100%;
}

.video_sml h2 {
  font-size: 18px;
  color: var(--brand-main);
}

.video_container iframe {
  border-radius: 16px;
  width: 100%;
  height: 210px;
}

@media (min-width: 768px) {
  .video_container iframe {
    width: 100%;
    height: 390px;
  }
}

@media (min-width: 1024px) {

  .video_sml iframe {
    height: 340px;
    max-width: 600px;
  }
  
  .video_container iframe {
    width: 100%;
    height: 520px;
  }
}

@media (min-width: 1280px) {
  .video_container iframe {
    width: 100%;
    height: 650px;
  }
}

@media (min-width: 1380px) {
  .video_container iframe {
    width: 100%;
    height: 700px;
  }
}

@media (min-width: 1440px) {
  .video_container iframe {
    width: 100%;
    height: 720px;
  }

}


/********************
 * News Article Page
********************/

.news-article__image img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 20px;
}

.news-article__meta {
  font-size: 14px;
  color: #666;
  margin-bottom: 10px;
}

.news-article__meta .news-article__date {
  margin-right: 10px;
}

.news-article__title {
  font-size: 32px;
  font-weight: bold;
  margin: 0 0 20px;
  color: #222;
}

.news-article__content {
  font-size: 18px;
  line-height: 1.6;
  color: #333;
}

.news-article__content img {
  max-width: 100%;
  height: auto;
}

/********************
 * Search Results
********************/

.search_row {
  margin-bottom: 15px;
  justify-content: flex-start;
}

.search_row .col-3 {
  margin: 15px .75%;
}

/********************
 * Filter Accordion
********************/

/* Accordion */
.filter-accordion-content {
  height: 0;
  opacity: 0;
  overflow: hidden;
  transition: height 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease;
  margin-top: 10px;
}

.filter-accordion-content.active {
  opacity: 1;
}

/* See more hidden items */
.filter-hidden.hidden {
  display: none;
}

.filter-accordion-toggle {
  background: var(--brand-main);
  color: white;
  padding: 10px;
  cursor: pointer;
  width: 100%;
  text-align: left;
  border: none;
  font-weight: bold;
  margin-top: 10px;
  border-radius: 0;
}

.filter-accordion-toggle[aria-expanded="true"] + .filter-accordion-content {
  display: block;
}

.filter-accordion-content ul {
  list-style-type: none;
  margin-left: 0;
  padding-left: 0;
  /* overflow: hidden; */
  transition: height 0.4s ease, opacity 0.4s ease;
}


/* ------------------------------
   Mobile-first stacked table view
------------------------------ */

.rte table,
.rte thead,
.rte tbody,
.rte th,
.rte td,
.rte tr {
  display: block;
  width: 100%;
  word-wrap: break-word;
}

.rte thead {
  display: none;
}

.rte tr {
  margin-bottom: 1rem;
  border: 1px solid #ccc;
  border-radius: 6px;
  padding: 10px;
  background: #fff;
}

.rte td {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 8px 10px;
  border-bottom: 1px solid #eee;
  text-align: left;
}

.rte td::before {
  content: attr(data-label);
  font-weight: bold;
  flex-basis: 40%;
  padding-right: 1rem;
  color: #333;
}

/* ------------------------------
   Desktop styles (restore table layout)
------------------------------ */
@media (min-width: 1024px) {

  .rte table,
  .rte thead,
  .rte tbody,
  .rte th,
  .rte td,
  .rte tr {
    display: table;
    width: auto;
  }

  .rte thead {
    display: table-header-group;
  }

  .rte tbody {
    display: table-row-group;
  }

  .rte tr {
    display: table-row;
    border: none;
    margin: 0;
    padding: 0;
    background: none;
  }

  .rte td,
  .rte th {
    display: table-cell;
    padding: 10px;
    border: none;
    vertical-align: top;
    flex-direction: row;
  }

  .rte td::before {
    content: none;
  }

  .rte table {
    table-layout: fixed;
    width: 100%;
    min-width: 600px;
    word-wrap: break-word;
    text-align: left;
  }

  .rte table th {
    background-color: var(--brand-main);
    color: white;
  }

  .rte table tr:nth-child(odd) {
    background: #f2f2f2;
  }
  .rte table tr:nth-child(even) {
    background: #fff;
  }
}










.content_has_bg.content-box__row--single-row {
  max-width: 1280px;
}

.content_has_bg.content-box__row--single-row .rte {
  padding: 30px;
  border-radius: 16px;
  text-align: left;
}

.benefits-section h2 {
  color: var(--brand-main);
}

.benefits_card {
  border-radius: 16px;
  padding: 10px 30px;
  margin-bottom: 30px;
  word-wrap: break-word;
}

.benefits_card h3 {
  font-size: 24px;
  color: var(--brand-main);
  margin-bottom: 10px;
}

.benefits_card h4 {
  font-size: 20px;
  color: var(--brand-main);
  margin-bottom: 10px;
}

.benefits_card h5 {
  font-size: 18px;
  margin-top: 0;
  margin-bottom: 10px;
}

.benefits_card a {
  color: #0d6efd;
  font-weight: 600;
  /* text-decoration: none; */
}

.benefits_card a:hover, .benefits_card a:focus {
  color: #0a58ca;
}

.benefits_card a:visited {
  color: var(--brand-main);
}



/**************************
 * Internal Section Nav
**************************/

.section-nav {
  margin: 2rem 0;
  background-color: #f8f9fa;
  padding: 1rem 2rem;
  border-radius: 8px;
  display: flex;
  justify-content: center;
}

.section-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  text-align: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.section-nav__item {
  margin: 0;
}

.section-nav__link {
  text-decoration: none;
  font-weight: 600;
  color: var(--brand-main);
  padding: 0.5rem;
  border-radius: 4px;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.section-nav__link:visited {
  color: var(--brand-main);
}

.section-nav__link:hover,
.section-nav__link:focus {
  background-color: var(--brand-main);
  color: #fff;
}

@media (min-width: 768px) {
  .section-nav__list {
    flex-direction: row;
    text-align: left;
  }
  
}

.benefits-back-to-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: var(--brand-main);
  color: white !important;
  padding: 10px 16px;
  border-radius: 50px;
  text-decoration: none;
  z-index: 9999;
  opacity: 0;
  /* pointer-events: none; */
  transition: opacity 0.3s ease;
}

/* .benefits-back-to-top {
  opacity: 1;
  pointer-events: auto;
}

a.benefits-back-to-top.visible:focus {
  outline: 2px dashed #1E90FF;
  outline-offset: 4px;
} */


/* .benefits-back-to-top {
  display: none;
  position: relative;
  margin-bottom: 1rem;
  background-color: var(--brand-main, #0056b3);
  color: white;
  padding: 10px 16px;
  border-radius: 50px;
  text-decoration: none;
} */

.benefits-back-to-top.visible {
  display: inline-block;
  opacity: 1;
}

.benefits-back-to-top:focus {
  outline: 2px dashed #1E90FF;
  outline-offset: 4px;
}


.frm_style_contact-2.with_frm_style .form-field {
  margin-bottom: 0!important;
}

.newsletter_section {
  padding: 50px 0 30px 0;
}

/* ============================ */
/* High Contrast Mode Overrides */
/* ============================ */

body.high-contrast .main-header__col--logo {
  background-color: white;
  padding: 4px 8px;
  border-radius: 6px;
}

body.high-contrast,
.high-contrast body {
  background-color: #000 !important;
  color: #fff !important;
}

.high-contrast a {
  color: #00ffff !important;
}

.high-contrast .site-btn,
.high-contrast .site-btn-main,
.high-contrast .site-btn-sec,
.high-contrast .site-btn-blk {
  background-color: #ffff00 !important;
  color: #000 !important;
}

.high-contrast .site-btn:hover,
.high-contrast .site-btn-main:hover,
.high-contrast .site-btn-sec:hover,
.high-contrast .site-btn-blk:hover, 
.high-contrast .site-btn::after,
.high-contrast .site-btn-main::after,
.high-contrast .site-btn-sec::after,
.high-contrast .site-btn-blk::after {
  background-color: #ffff00 !important;
  color: #000 !important;
}

.high-contrast .site-btn-outline {
  border-color: #fff !important;
  background-color: transparent !important;
  color: #fff !important;
}

.high-contrast .main-header,
.high-contrast .top-bar,
.high-contrast .site-footer-main,
.high-contrast .slideout-menu {
  background-color: #000 !important;
  color: #fff !important;
}

.high-contrast .top-bar__item a,
.high-contrast .main-browse-nav > li > a,
.high-contrast .footer-nav-wrap ul a,
.high-contrast .site-footer__link {
  color: #ffff00 !important;
}

.high-contrast .sub-menu > li.menu-item a {
  background-color: #111 !important;
  color: #fff !important;
}

.high-contrast .section,
.high-contrast .section--off-grey,
.high-contrast .page-wrap {
  background-color: #000 !important;
  color: #fff !important;
}

.high-contrast .content-box__row,
.high-contrast .contact_box_wrapper,
.high-contrast .contact_form {
  background-color: #000 !important;
  color: #fff !important;
}

.high-contrast .site-footer__addr::before,
.high-contrast .site-footer__link-wrap::before {
  color: #ffff00 !important;
}

.high-contrast .news_link a::after {
  color: #00ffff !important;
}

.high-contrast .site-title {
  color: var(--brand-sec)!important;
}

.high-contrast .latest_post--text {
  background-color: #000;
}

.high-contrast .container-full-width .pb_txt_col {
  color: #fff;
}

body.high-contrast .benefits-section h2,
body.high-contrast .benefits_card h3,
body.high-contrast .benefits_card h4 {
  color: #ffffff;
}

body.high-contrast .benefits_card h5 {
  color: #e0e0e0;
}

body.high-contrast .benefits_card, body.high-contrast .section-nav {
  background-color: #000000!important;
  border: 2px solid #ffffff;
}

body.high-contrast .benefits_card a {
  color: #66bfff; /* Brighter blue for dark backgrounds */
  text-decoration: underline;
}

body.high-contrast .benefits_card a:hover,
body.high-contrast .benefits_card a:focus {
  color: #99ccff; /* Even lighter on hover/focus */
}

body.high-contrast .benefits_card a:visited {
  color: #d1b3ff; /* Light lavender to distinguish */
}


.high-contrast .rte table tr:nth-child(odd) {
  background: #000!important;
}

.high-contrast .rte, .high-contrast .text-only {
  background-color: #000 !important;
  color: #fff !important;
}

.high-contrast .with_frm_style .frm_form_field.frm_html_container, .high-contrast .with_frm_style .frm_form_field .frm_show_it, .high-contrast .with_frm_style .frm_primary_label {
  color: white;
}

.high-contrast .news-article__title {
  color: var(--brand-sec);
}

.high-contrast .news-article__content, .high-contrast .news-article__meta {
  color: white;
}

.high-contrast .top-bar__cta-btn {
  background-color: #ffff00 !important;
  color: #000!important;
}

.high-contrast .is-form-id-692 .is-search-submit:focus, .high-contrast .is-form-id-692 .is-search-submit:hover, .high-contrast .is-form-id-692 .is-search-submit, .high-contrast .is-form-id-692 .is-search-icon {
  background-color: var(--brand-sec)!important;
  color: white;
}

.high-contrast .is-form-style-3.is-form-id-692 .is-search-input, .high-contrast .is-form-id-692 .is-search-input {
  border-color: var(--brand-sec)!important;
}







#backToTop {
  position: fixed;
  bottom: 30px;
  left: 30px;
  display: none;
  background-color: #000;
  color: #fff;
  border: none;
  border-radius: 4px;
  padding: 10px 14px;
  font-size: 18px;
  cursor: pointer;
  z-index: 9999;
  opacity: 0.7;
  transition: opacity 0.3s ease;
}

#backToTop:hover {
  opacity: 1;
}

.top-bar__col--search {
  max-width: 200px;
  margin-left: 10px;
}

@media (min-width: 1024px) {
  .top-bar__col--search {
    max-width: 300px;
  }
}

#is-search-input-692 {
  border-radius: 25px 0 0 25px!important;
}

.is-form-id-692 .is-search-submit:focus, .is-form-id-692 .is-search-submit:hover, .is-form-id-692 .is-search-submit, .is-form-id-692 .is-search-icon {
  border-radius: 0 25px 25px 0!important;
  background-color: var(--brand-main);
  color: white!important;
}


.col-8 {
  width: 48.5%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}
  
.funder-logo {
  max-width: 250px;
  margin-bottom: 0;
}

.funder-section {
  padding: 20px 0;
}

.funder-row {
  flex-direction: row;
}

@media (min-width: 1024px) {
  .col-8 {
    width: 23.5%;
  }
  
  .funder-logo {
    max-height: 100px;
  }
}

@media (min-width: 1280px) {
  .col-8 {
    width: 11%;
    margin-bottom: 0;
  }
  
  .funder-logo {
    max-height: 100px;
  }
}

.rte .funder-row {
  margin-top: 30px;
}

.news_card .video_sml {
  flex-grow: 0;
}

.funder-logo-collab {
  max-width: 150px;
}