/* ******************************************************* */
/*                                                         */
/*             This file should not be changed.            */
/*    If changes are required - override in styles.css     */
/*                                                         */
/* ******************************************************* */
/* Page Margin Top */
:root {
  --page-margin-t: var(--page-margin);/* default size */
}
:root .l-top {
  --page-margin-t: calc(var(--page-margin) * 2);
}
:root .s-top {
  --page-margin-t: calc(var(--page-margin) * 0.5);
}
:root .no-top {
  --page-margin-t: 0;
}
/* Page Margin Bottom */
:root {
  --page-margin-b: var(--page-margin);/* default size */
}
:root .l-bot {
  --page-margin-b: calc(var(--page-margin) * 2);
}
:root .s-bot {
  --page-margin-b: calc(var(--page-margin) * 0.5);
}
:root .no-bot {
  --page-margin-b: 0;
}
/* Section Inner Margin (Left & Right) */
.container-item {
  --inner-padding-lr: var(--left-right-spacing); /* default padding */
}
.col-no-margin-lr,
.block-layout-builder.container-item {
  --inner-padding-lr: 0px;
}
.col-small-margin-lr {
  --inner-padding-lr: calc(var(--left-right-spacing) / 2);
}
.col-medium-margin-lr {
  --inner-padding-lr: var(--left-right-spacing);
}
.col-large-margin-lr {
  --inner-padding-lr: calc(var(--left-right-spacing) * 2);
}
/* Smooth scrolling */
html {
  scroll-behavior: smooth;
}
/* Toolbar initial variables */
body {
  /* set heights at zero if no toolbar */
  --d-toolbar-height: 0rem;
  --d-toolbar-tray-height: 0rem;
  --d-admin-height: 0rem; 
}
/* #page-wrap initial variables */
#page-wrap {
  /* initlally set height at zero */
  --d-user-account-menu-height: 0rem;
  --d-navigation-height: 0rem;
}
/* #page-wrap variables if header used, navigation full-width, or both */
#page-wrap {
  --d-heading-height-total: calc((var(--d-heading-padding-tb) * 2) + var(--d-logo-height) + var(--d-user-account-menu-height));
}
#page-wrap.has-head-top {
  /* Set value if #block-useraccountmenu exists */
  --d-user-account-menu-height: calc((var(--d-user-account-menu-padding-tb) * 2) + var(--d-user-account-menu-font-size));
}
#page-wrap.nav-fw {
  /* Set value if navigation is full width (navigation doesn't use any vertical height on mobile or tablet) */
  --d-navigation-height: 0rem;
}
/* Body */
body {
  background-color: var(--d-body-bg); /* Colour of area below footer - should be the same as #footer-bottom-wrap */
  background: linear-gradient(180deg, var(--d-page-content-bg) 75%, var(--d-body-bg) 75%);
  background-attachment: fixed;
}
/* Common Settings */
#header,
#slideshow-wrap,
#page-content-main,
#breadcrumb-wrap,
#footer-wrap {
  width:100%;
  margin:0;
  padding:0;
}
/* Main Page Content */
#page-wrap {
  padding-top: calc(var(--d-toolbar-height) + var(--d-toolbar-tray-height));
}
#page-content-main,
.page-content { /* Main content container to edge of screen */
  background-color: var(--d-page-content-bg);
  position:relative;
}
/* Page margins */
.col-wrap .col1-tw:not(:has(.region:empty)), /* on all, if col1-tw exists and it IS NOT empty, add to col1-tw */
.col-wrap:not(:has(.col1-tw)) .col1, /* on all, if col1-tw does not exist, add to col1 */
.col-wrap .col1-tw:has(.region:empty) .col1, /* on all, if col1-tw exists and it IS empty, all to col1 */
[class*="twocol"] .col-wrap:not(:has(.col1-tw)) .col2-t:not(:has(.region:empty)), /* on twocol only, if col1-tw does not exist and .col2-t is not empty, add to col2-t */
[class*="twocol"] .col-wrap .col1-tw:has(.region:empty) .col2-t:not(:has(.region:empty)), /* on twocol only, if col1-tw exists and it IS empty and .col2-t is not empty, add to col2-t */
[class*="twocol"] .col-wrap:not(:has(.col1-tw)) .col2:not(:has(.region:empty)), /* on twocol only, if col1-tw does not exist and .col2 is not empty, add to col2 */
[class*="twocol"] .col-wrap .col1-tw:has(.region:empty) .col2:not(:has(.region:empty)), /* on twocol only, if col1-tw exists and it IS empty and .col2 is not empty, add to */
.page-top-padding {
  padding-top: var(--page-margin-t);
}
.col2-t:not(:has(.region:empty)) + .col2 { /* if col2-t exists and it is not empty, remove from col2  */
  padding-top: 0 !important;
}
.page-top-margin {
  margin-top: var(--page-margin-t);
}
[class*="twocol"] .col-wrap .col1-bw:not(:has(.region:empty)), /* on twocol only, if col1-bw exists and it IS NOT empty, add to col1-bw */
[class*="twocol"] .col-wrap:not(:has(.col1-bw)) .col1, /* on twocol only, if col1-bw does not exist, add to col1 */
[class*="twocol"] .col-wrap .col1-bw:has(.region:empty) .col1, /* on twocol only, if col1-bw exists and it IS empty, add to col1 */
[class*="twocol"] .col-wrap:not(:has(.col1-bw)) .col2-t:not(:has(.region:empty)), /* on twocol only, if col1-bw does not exist and .col2-t is not empty, add to col2-t */
[class*="twocol"] .col-wrap .col1-bw:has(.region:empty) .col2-t:not(:has(.region:empty)), /* on twocol only, if col1-bw does exist and is empty and .col2-t is not empty, add to col2-t */
[class*="twocol"] .col-wrap:not(:has(.col1-bw)) .col2:not(:has(.region:empty)), /* on twocol only, if col1-bw does not exist and .col2 is not empt, add to col2 */
[class*="twocol"] .col-wrap .col1-bw:has(.region:empty) .col2:not(:has(.region:empty)), /* on twocol only, if col1-bw does exist and is empty and .col2 is not empty, add to col2 */
.onecol .col-wrap .col1, /* on onecol only, add to col1 */
.onecol .col-wrap .col1-bw:not(:has(.region:empty)), /* on onecol only, if col1-bw exists and it is not empty, add to col1-bw */
.onecol .col-wrap .col2-t:not(:has(.region:empty)), /* on onecol only, if col2-t exists and it is not empty, add to col2-t */
.onecol .col-wrap .col2:not(:has(.region:empty)) { /* on onecol only, if col2 exists and it is not empty, add to col2 */
  padding-bottom: calc(var(--page-margin-b) - var(--d-margin-bottom)); /* padding-top minus the bottom padding of all block items */
}
.onecol .col-wrap:has(.col1-bw:not(:has(.region:empty))) .col1, /* on onecol only, if col1-bw exists and is not empty, remove from col1 */
.onecol .col-wrap:has(.col2-t:not(:has(.region:empty))) .col1, /* on onecol only, if col2-t exists and is not empty, remove from col1 */
.onecol .col-wrap:has(.col2:not(:has(.region:empty))) .col1, /* on onecol only, if col2 exists and is not empty, remove from col1 */
.onecol .col-wrap:has(.col2-t:not(:has(.region:empty))) .col1-bw, /* on onecol only, if col2-t exists and is not empty, remove from col1-bw */
.onecol .col-wrap:has(.col2:not(:has(.region:empty))) .col1-bw, /* on onecol only, if col2 exists and is not empty, remove from col1-bw */
.col-wrap:has(.col2:not(:has(.region:empty))) .col2-t { /* on all, if col2 exists and is not empty, remove from col2-t */
  padding-bottom: 0 !important;
}
/* remove margin on col2 and col2-t empty items */
/*.col-wrap:not(:has(.col2-t + .col2)) .col2-t:has(.region:empty),
.col-wrap:not(:has(.col2-t)) .col2:has(.region:empty) {
  padding-top: 0;
}
.col-wrap:not(:has(.col2-t + .col2)) .col2:has(.region:empty),
.col-wrap:not(:has(.col2)) .col2-t:has(.region:empty) {
  padding-bottom: 0;
}*/
/* remove margin when set in field */
.no-top-margin .col1-tw,
.no-top-margin .col1,
.no-top-margin .col2-t,
.no-top-margin .col2,
.no-top-bottom-margin .col1-tw,
.no-top-bottom-margin .col1,
.no-top-bottom-margin .col2-t,
.no-top-bottom-margin .col2 {
  padding-top: 0 !important;
}
.no-top-bottom-margin .col1-bw,
.no-top-bottom-margin .col1,
.no-top-bottom-margin .col2-t,
.no-top-bottom-margin .col2,
.no-bottom-margin .col1-bw,
.no-bottom-margin .col1,
.no-bottom-margin .col2-t,
.no-bottom-margin .col2 {
  padding-bottom: 0 !important;
}

/* Page Column Settings  */
.col-wrap {
  width:100%;
  display: grid;
  grid-template-rows: auto;
}
.onecol .col-wrap,
.twocol .col-wrap {
  grid-template-columns: 100%;
}
/* twocol grid columns */
.twocol .col1-tw {
  grid-row-start: 1;
}
.twocol .col1 {
  grid-row-start: 3;
}
.twocol .col1-bw {
  grid-row-start: 4;
}
.twocol .col2-t {
  grid-row-start: 2;
}
.twocol .col2 {
  grid-row-start: 5;
}
/* Column colours */
.col1,
.col1-tw,
.col1-bw { /* Main Content */
  background-color:var(--d-page-col1-bg); /* Main Content background colour */
}
.col2,
.col2-t { /* Sidebar */
  background-color:var(--d-page-col2-bg); /* Sidebar background colour */
}
#footer-wrap {
  position: relative;
}
/* Ticker Tape Swiper.js */
.ticker-tape .swiper-wrapper {
  transition-timing-function:linear !important;
}
/* Layout Section and Slideshow height variables */
/* 100% Height Slideshow */
.paragraph.viewport-100,
.slideshow.viewport-100,
.slideshow.viewport-100 .slide-content,
.slideshow.viewport-100 .slide-container-item {
  --d-container-height: calc(100svh - (var(--d-toolbar-height) + var(--d-toolbar-tray-height) + var(--d-admin-height) + var(--d-heading-height-total) + var(--d-navigation-height))) !important;
}
/* 85% Height Slideshow */
.paragraph.viewport-85,
.slideshow.viewport-85,
.slideshow.viewport-85 .slide-content,
/*.js .slideshow.viewport-85 .bg-container,*/
.slideshow.viewport-85 .slide-container-item {
  --d-container-height: calc(85svh - (var(--d-toolbar-height) + var(--d-toolbar-tray-height) + var(--d-admin-height) + var(--d-heading-height-total) + var(--d-navigation-height))) !important;
}
/* 75% Height Slideshow */
.paragraph.viewport-75,
.slideshow.viewport-75,
.slideshow.viewport-75 .slide-content,
.slideshow.viewport-75 .slide-container-item {
  --d-container-height: calc(75svh - (var(--d-toolbar-height) + var(--d-toolbar-tray-height) + var(--d-admin-height) + var(--d-heading-height-total) + var(--d-navigation-height))) !important;
}
/* 66% Height Slideshow */
.paragraph.viewport-66,
.slideshow.viewport-66,
.slideshow.viewport-66 .slide-content,
.slideshow.viewport-66 .slide-container-item {
  --d-container-height: calc(66svh - (var(--d-toolbar-height) + var(--d-toolbar-tray-height) + var(--d-admin-height) + var(--d-heading-height-total) + var(--d-navigation-height))) !important;
}
/* 50% Height Slideshow */
.paragraph.viewport-50,
.slideshow.viewport-50,
.slideshow.viewport-50 .slide-content,
.slideshow.viewport-50 .slide-container-item {
  --d-container-height: calc(50svh - (var(--d-toolbar-height) + var(--d-toolbar-tray-height) + var(--d-admin-height) + var(--d-heading-height-total) + var(--d-navigation-height))) !important;
}
@starting-style {
  /* 100% Height Slideshow */
  .paragraph.viewport-100,
  .slideshow.viewport-100,
  .slideshow.viewport-100 .slide-content,
  .slideshow.viewport-100 .slide-container-item {
    height: 100svh;
  }
  /* 85% Height Slideshow */
  .paragraph.viewport-85,
  .slideshow.viewport-85,
  .slideshow.viewport-85 .slide-content,
  .slideshow.viewport-85 .slide-container-item {
    height: 85svh;
  }
  /* 75% Height Slideshow */
  .paragraph.viewport-75,
  .slideshow.viewport-75,
  .slideshow.viewport-75 .slide-content,
  .slideshow.viewport-75 .slide-container-item {
    height: 75svh;
  }
  /* 66% Height Slideshow */
  .paragraph.viewport-66,
  .slideshow.viewport-66,
  .slideshow.viewport-66 .slide-content,
  .slideshow.viewport-66 .slide-container-item {
    height: 66svh;
  }
  /* 50% Height Slideshow */
  .paragraph.viewport-50,
  .slideshow.viewport-50,
  .slideshow.viewport-50 .slide-content,
  .slideshow.viewport-50 .slide-container-item {
    height: 50svh;
  }
}
/* Set Slideshow Height */
.paragraph.viewport-100,
.paragraph.viewport-85,
.paragraph.viewport-75,
.paragraph.viewport-66,
.paragraph.viewport-50,
.paragraph.fixed-height,
.swiper-wrapper {
  min-height: var(--d-container-height) !important;
  box-sizing:content-box;
}
.slideshow.has-slideshow:has(.region-slideshow:not(:empty)),
.slideshow .slide-content,
.slideshow .slide-container-item {
  height: var(--d-container-height) !important;
  box-sizing:content-box;
}
.slideshow .bg-contain img,
.slideshow .paragraph--type-image img {
  max-height: calc(var(--d-container-height) + var(--d-margin-bottom) + var(--inner-padding-t) + var(--inner-padding-b)) !important;
}

/* ---- RESPONSIVE ADJUSTMENTS ---- */
@media all and (min-width: 768px), print {
  /* TABLET - Non-Retina - (768px-1024px) */
  /* twocol grid columns */
  /* Sidebar left */
  .twocol-34-66 .col-wrap {
    grid-template-columns: 34% 66%;
  }
  .twocol-25-75 .col-wrap {
    grid-template-columns: 30% 70%;
  }
  /* Sidebar Right */
  .twocol-66-34 .col-wrap {
    grid-template-columns: 66% 34%;
  }
  .twocol-75-25 .col-wrap {
    grid-template-columns: 70% 30%;
  }
  /* Row set-up */
  .twocol .col-wrap:has(.col1 + .col2-t + .col2) { /* if it only has .col1, .col2-t and .col2 */
    grid-template-rows: auto 1fr;
  }
  .twocol .col-wrap:has(.col1-tw + .col1 + .col2-t + .col2) { /* if it has .col1-tw, .col1, .col2-t and .col2 */
    grid-template-rows: auto auto 1fr;
  }
  .twocol .col-wrap:has(.col1 + .col1-bw + .col2-t + .col2) { /* if it has .col1, .col1-bw, .col2-t and .col2 */
    grid-template-rows: auto 1fr auto;
  }
  .twocol .col-wrap:has(.col1-tw + .col1 + .col1-bw + .col2-t + .col2) { /* if it has .col1-tw, .col1, .col1-bw, .col2-t and .col2 */
    grid-template-rows: auto auto 1fr auto;
  }
  /* twocol column settings */
  /* Col1-tw */
  .twocol .col-wrap .col1-tw { /* basic col1-tw */
    grid-row-start: 1;
    grid-column: 1 / span 2;
  }
  /* Col 1 */
  .twocol .col-wrap .col1 { /* basic col1 */
    grid-column-start: 2;
    grid-row-start: 1;
  }
  .twocol-66-34 .col-wrap .col1,
  .twocol-75-25 .col-wrap .col1 { /* sidebar right col1 */
    grid-column-start: 1;
  }
  .twocol .col-wrap:has(.col1-tw) .col1 { /* if col1-tw exists, move col1 down 1 row */
    grid-row-start: 2;
  }
  .twocol .col-wrap:has(.col2-t + .col2) .col1 { /* If both .col2-t + .col2 exist, make col1 span two rows */
    grid-row-end: span 2;
  }
  /* Col1-bw */
  .twocol .col-wrap .col1-bw { /* basic col1-bw */
    grid-column: 1 / span 2;
    grid-row-start: 2;
  }
  .twocol .col-wrap:has(.col1-tw) .col1-bw,  /* if col1-tw exists, move col1-bw down 1 row */
  .twocol .col-wrap:has(.col1 + .col1-bw + .col2-t + .col2) .col1-bw { /* if col1-tw does not exist but and both .col2-t + .col2 exist, move col1-bw down 1 row */
    grid-row-start: 3;
  }
  .twocol .col-wrap:has(.col1-tw + .col1 + .col1-bw + .col2-t + .col2) .col1-bw, /* if col1-tw exists and both .col2-t + .col2 exist, move col1-bw down 2 rows */
  .twocol .col-wrap:has(.col1-tw + .col1-bw + .col2-t + .col2) .col1-bw { /* if col1-tw exists and both .col2-t + .col2 exist, move col1-bw down 2 rows */
    grid-row-start: 4;
  }
  /* col 2-t */
  .twocol .col-wrap .col2-t { /* basic col2-t */
    grid-column-start: 1;
    grid-row-start: 1;
  }
  .twocol-66-34 .col-wrap .col2-t,
  .twocol-75-25 .col-wrap .col2-t { /* sidebar right col2-t */
    grid-column-start: 2;
  }
  .twocol .col-wrap:has(.col1-tw) .col2-t { /* if col1-tw exists, move col2-t down one row */
    grid-row-start: 2;
  }
  /* col 2 */
  .twocol .col-wrap .col2 { /* basic col2 */
    grid-column-start: 1;
    grid-row-start: 1;
  }
  .twocol-66-34 .col-wrap .col2,
  .twocol-75-25 .col-wrap .col2 { /* sidebar right col2 */
    grid-column-start: 2;
  }
  .twocol .col-wrap:has(.col1-tw) .col2, /* if col1-tw exists, move col2 down one row */
  .twocol .col-wrap:has(.col2-t) .col2, /* if col2-t exists, move col2 down one row */
  .twocol .col-wrap:has(.col1-tw + .col2-t) .col2 { /* if col1-tw and col2-t but no col1 exists, move col2 down one row */
    grid-row-start: 2;
  }
  .twocol .col-wrap:has(.col1-tw + .col1 + .col1-bw + .col2-t) .col2, /* if col1-tw exists and col2-t exists, move col2 down two rows */
  .twocol .col-wrap:has(.col1-tw + .col1 + .col2-t) .col2, /* if col1-tw exists and col2-t exists, move col2 down two rows */
  .twocol .col-wrap:has(.col1-tw + .col2-t) .col2, /* if col1-tw and col2-t but no col1 exists, move col2 down one row */
  .twocol .col-wrap:has(.col1-tw + .col1-bw + .col2-t) .col2 { /* if col1-tw and col2-t but no col1 exists, move col2 down one row */
    grid-row-start: 3;
  }

}
@media only screen and (min-resolution: 2dppx) and (min-width: 768px) {
  /* TABLET - Retina - (768px-1024px) */

}
@media all and (min-width: 1025px), print {
  /* DESKTOP SMALL and TABLET LARGE - Non-Retina - (1025px-1280px) */
  /* twocol grid columns */
  /* Sidebar left */
  .twocol-25-75 .col-wrap {
    grid-template-columns: 25% 75%;
  }
  /* Sidebar Right */
  .twocol-75-25 .col-wrap {
    grid-template-columns: 75% 25%;
  }

}
@media only screen and (min-resolution: 2dppx) and (min-width: 1025px) {
  /* DESKTOP SMALL and TABLET LARGE - Retina - (1025px-1280px) */

}
@media all and (min-width: 1024px) and (hover: hover) and (pointer: fine), print {
  /* DESKTOP SMALL only - Non-Retina - (1025px-1280px) */

}
@media only screen and (min-resolution: 2dppx) and (min-width: 1024px) and (hover: hover) and (pointer: fine) {
  /* DESKTOP SMALL only - Non-Retina - (1025px-1280px) */

}
@media all and (min-width: 1281px), print {
  /* DESKTOP - Non-Retina - (1281px-1920px) */
  /* twocol grid columns */
  /* Sidebar left */
  .twocol-34-66 .col-wrap {
    grid-template-columns: calc(((100% - 1280px) / 2) + 435px) calc(((100% - 1280px) / 2) + 845px);
   }
  .twocol-66-34 .col-wrap {
    grid-template-columns: calc(((100% - 1280px) / 2) + 845px) calc(((100% - 1280px) / 2) + 435px);
   }
  /* Sidebar Right */
  .twocol-25-75 .col-wrap {
    grid-template-columns: calc(((100% - 1280px) / 2) + 320px) calc(((100% - 1280px) / 2) + 960px);
   }
  .twocol-75-25 .col-wrap {
    grid-template-columns: calc(((100% - 1280px) / 2) + 960px) calc(((100% - 1280px) / 2) + 320px);
   }

}
@media only screen and (min-resolution: 2dppx) and (min-width: 1281px) {
  /* DESKTOP - Retina - (1281px-1920px) */

}
@media all and (min-width: 1921px), print {
  /* DESKTOP LARGE - Non-Retina - (1921px and larger) */

}
@media only screen and (min-resolution: 2dppx) and (min-width: 1921px) {
  /* DESKTOP LARGE - Retina - (1921px and larger) */

}
