/* input(258,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '@media'
input(270,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '@media'
input(434,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '@media'
input(727,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '@media'
input(819,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '@media'
input(881,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '@media'
input(894,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '@media'
input(1125,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '@media'
input(1547,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '@media'
input(1701,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '@media'
input(1709,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '@media' */
/* Reset CSS */

@font-face {
  font-family: 'Museo_Slab';
  src: url('../fonts/Museo_Slab_500_2-webfont.woff2?v=3ZaiSpHKSJLuJdBmSmoKzStvBSg') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Nunito';
  src: url('../fonts/Nunito-Black.woff2?v=ZZ9Jee5tOskKXtqNiRDzRy4BB08') format('woff2');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Nunito';
  src: url('../fonts/Nunito-Bold.woff2?v=ZZ9Jee5tOskKXtqNiRDzRy4BB08') format('woff2');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Nunito';
  src: url('../fonts/Nunito-ExtraBold.woff2?v=JfOvImQWNdiQbfANpp1oRlksoQ8') format('woff2');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Nunito';
  src: url('../fonts/Nunito-ExtraLight.woff2?v=aO12AOiStPuEaa5-xzb88ZPQpN8') format('woff2');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Nunito';
  src: url('../fonts/Nunito-Light.woff2?v=UUPgJFqS4BDAqdhQhRw7bqyjSKo') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Nunito';
  src: url('../fonts/Nunito-Medium.woff2?v=1lzz-oswmde9YZpYkikZg2GKj24') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Nunito';
  src: url('../fonts/Nunito-Regular.woff2?v=1lzz-oswmde9YZpYkikZg2GKj24') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Nunito';
  src: url('../fonts/Nunito-SemiBold.woff2?v=JfOvImQWNdiQbfANpp1oRlksoQ8') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

:root {
  --site-blue: #56BBCB;
  --site-bluealt: #64C8D8;
  --site-darkblue: #1B657F;
  --site-lightblue: #BDE7F1;
  --site-lightgrey: #F9F9F9;
  --site-darkgrey: #7B7676;
  --site-grey: #F2F4F4;
  --site-black: #252829;
  --font-museosans: "Nunito", Arial, sans-serif;
  --font-museoslab: "Museo_Slab", Arial, sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

input, button, textarea, select {
  font: inherit;
}

button {
  cursor: pointer;
  background-color: transparent;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

abbr, address, article, aside, audio, b, blockquote, body, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: none;
  font-size: 100%;
  vertical-align: baseline;
  background: 0 0
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block
}

ul, ol, menu {
  list-style: none
}

input, select, button {
  vertical-align: middle;
  margin: 0;
  padding: 0;
  border: 0;
  outline: none;
}

html {
  scrollbar-gutter: stable;
}

html, body {
  height: 100%;
  font-size: 18px;
  font-weight: 300;
  font-family: var(--font-museosans);
  color: var(--site-black);
  background-color: var(--site-grey);
  line-height: 1.5rem;
}

@media only screen and (max-width: 2048px) {
  /* When switching from land to port on Android phones, some
			text elements don't auto resize to fit port mode.  Applying
			a transparent BG fixes this bug */
  h1, h2, h3, h4, h5, h6, p, ul, li {
    background: url(../images/transparentimage.png?v=J4MUk7-elx86UxnoEZxJWh8-czk) 0 0 repeat;
  }
}

*:focus-visible {
  outline-color: #0078C8 !important;
}

.screen-reader-text {
  border: 0;
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap
}

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

  .visuallyhidden.focusable:active,
  .visuallyhidden.focusable:focus {
    position: absolute !important;
    clip: auto;
    overflow: visible;
    height: auto;
    width: auto;
    z-index: 10000002;
    cursor: pointer;
    background-color: #ffffff;
    padding: 15px;
    font-size: 23px;
    border: 1px solid #000;
    color: #000 !important;
  }

.swiper-button-next:focus-visible,
.swiper-button-prev:focus-visible,
.swiper-pagination-bullet:focus-visible {
  outline: -webkit-focus-ring-color auto 1px;
}

table {
  width: 100%;
  border-collapse: collapse; /* Merges double borders into a single clean line */
  font-family: sans-serif;
  margin: 20px 0;
}

/* Header styles */
thead th {
  background-color: #f8f9fa;
  color: #333333;
  font-weight: 600;
  text-align: left !important; /* Align header text to the left */
}

/* Individual cell styling */
th, td {
  text-align: left !important;
  padding: 12px 15px; /* Adds comfortable spacing inside cells */
  border-bottom: 1px solid #e0e0e0; /* Clean horizontal dividers */
}

/* Subtle row highlight on hover */
tbody tr:hover {
  background-color: #f1f3f5;
}

/* ----------------------------------------------------
		Start Headers
------------------------------------------------------- */

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-museoslab);
  font-weight: 500;
}

h1 {
  width: 100%;
  margin: 0 auto 60px auto;
  font-size: 1.7rem;
  line-height: 1.2em;

  @media (min-width: 767px) {
    font-size: 2rem;
  }
}

h2 {
  width: 100%;
  margin: 0 auto 35px auto;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.2em;

  @media (min-width: 767px) {
    font-size: 2rem;
  }
}

h3 {
  font-size: 1.2em;
  margin-bottom: 10px;
}

.subheader {
  margin-bottom: 30px;
  font-size: 1.2em;
  line-height: 1.4em;
}

.eyebrow {
  font-weight: 600;
  letter-spacing: 0.15rem;
  text-transform: uppercase;
  margin-bottom: 25px;
}

/* ----------------------------------------------------
		End Headers
------------------------------------------------------- */

a:link,
a:visited,
a:active,
a:hover {
  color: #016597;
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
}

a.disabled {
  cursor: default;
}

strong {
  font-weight: 600;
}

input[type=text],
input[type=date],
input[type=email],
input[type=tel],
input[type=password],
textarea,
select {
  width: 100%;
  max-width: 100%;
  padding: 15px 0 15px 40px;
  color: #6B6B6B;
  font-size: 1.22222rem;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #0e151b;
  -webkit-appearance: none;
  -moz-appearance: none;
  border: 1px solid #64C8D8;
  background: #FFF;
}

input, textarea, select, button {
  /* Smooth transition for the focus ring */
  transition: outline 0.15s ease-in-out, outline-offset 0.15s ease-in-out;
}

  /* Apply focus styles only when the user needs a visible indicator */
  input:focus-visible,
  textarea:focus-visible,
  select:focus-visible,
  button:focus-visible {
    /* Creates a clean, solid 3px colored ring */
    outline: 3px solid #3b82f6;
    /* Leaves a beautiful 2px gap between the element and the ring */
    outline-offset: 2px;
  }

textarea {
  width: 100% !important;
  height: 150px;
  max-height: 300px;
  height: 300px;
  padding-right: 7px;
  line-height: 1.5em;
}

/* Set default select background */
select {
  background: #FFFFFF url(../images/arrow_drop_down.png?v=O7HPkMTsEtp1_BjgupT7ckiXdmo) right 9px no-repeat;
  cursor: pointer;
}

  /* Remove dropdown arrow from IE dropdown versions 10 and up */
  select::-ms-expand {
    display: none;
  }

input[type=submit] {
  cursor: pointer;
  -webkit-appearance: none;
}

input[type=image] {
  outline: none;
}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #797979;
}

::-moz-placeholder { /* Firefox 19+ */
  color: #797979;
}

:-ms-input-placeholder { /* IE 10+ */
  color: #797979;
}

:-moz-placeholder { /* Firefox 18- */
  color: #797979;
}

sup,
sub {
  font-size: .55em;
  text-transform: uppercase;
  position: relative;
  left: 0;
}

sup {
  top: -9px;
}

sub {
  top: 6px;
}

a.btn,
.btn {
  display: inline-block;
  min-width: 175px;
  padding: 14px 35px 14px;
  text-align: center;
  color: #FFF;
  vertical-align: middle;
  box-sizing: border-box;
  background-color: var(--site-bluealt);
  border: 2px solid var(--site-black);
  -webkit-appearance: none;
  font-family: var(--font-museosans);
  transition: 0.15s linear;
  font-size: 0.9rem;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.11111rem;
  text-transform: uppercase;

  @media (min-width: 1000px) {
    font-size: 1rem;
  }
}

  a.btn:hover,
  .btn:hover {
    color: var(--site-black);
    background-color: transparent;
  }

a.btnBlack {
  color: #FFF;
  background-color: var(--site-black);
  border-color: var(--site-black);
}

a.btnGhost,
.btnGhost {
  color: #FFF;
  background-color: transparent;
  border: 2px solid currentColor;
}

  a.btnGhost:hover,
  .btnGhost:hover {
    color: var(--site-black);
    background-color: #FFF;
    border-color: #FFF;
  }

a.btnBlackGhost,
.btnBlackGhost {
  color: var(--site-black);
  border-width: 2px;
  border-color: currentColor;
  background-color: transparent;
}

  a.btnBlackGhost:hover,
  .btnBlackGhost:hover {
    color: #FFF;
    border-color: var(--site-blue);
    background-color: var(--site-blue);
  }

a.btnWhite,
.btnWhite {
  color: var(--site-black);
  border-color: #FFF;
  border-width: 2px;
  background-color: #FFF;
}

  a.btnWhite:hover,
  .btnWhite:hover {
    color: #FFF;
    background-color: transparent;
  }

a.btnLightBlue,
.btnLightBlue {
  color: var(--site-black);
  border-width: 2px;
  border-color: currentColor;
  background-color: var(--site-lightblue);
}


a.border-white {
  border-color: #FFF;
}

  a.border-white:hover {
    color: #FFF;
  }

a.border-black {
  border-color: var(--site-black);
}

  a.border-black:hover {
    color: var(--site-black);
  }

.bodyStopScrolling {
  padding-right: 17px;
  overflow: hidden;
}

.stickyOnScroll.sticky {
  position: sticky;
  top: 15px;
  left: 0;
}


.videoIframeWrap,
.mceNonEditable.embeditem {
  height: 0;
  padding-bottom: 56.25%;
  position: relative;
  overflow: hidden;
  /*border: 1px solid #ececec;*/
  /*background: url(/_assets/images/loading.gif) center center no-repeat;*/
}

  .videoIframeWrap iframe,
  .mceNonEditable.embeditem iframe {
    height: 100% !important;
    width: 100% !important;
    position: absolute;
    top: 0;
    left: 0;
  }

.imgScaleOnHover {
  transition: all .2s ease-in-out;
}

  .imgScaleOnHover:hover {
    transform: scale(1.03);
  }

.centered {
  margin: 0 auto;
}

.customScrollbar::-webkit-scrollbar {
  /* required - the "base" of the bar - mostly for setting width */
  width: 15px;
}

.customScrollbar::-webkit-scrollbar-track {
  /* the "track" of the bar - great for customizing "background" colors */
  background-color: #e4e4e4;
  border-radius: 8px;
  padding: 2px 2px;
}

.customScrollbar::-webkit-scrollbar-thumb {
  /* the actual draggable element, the star of the show! */
  background-color: #838383;
  width: 10px;
  border-radius: 8px;
}

.bgWhite {
  background-color: #FFF;
}

/* ----------------------------------------------------
		Start Modal Styles
------------------------------------------------------- */

.bodyModalOpen {
  width: 100vw;
  overflow: hidden;
}

.modalWrapper {
  width: 100vw;
  height: 100vh;
  display: none;
  align-items: center;
  padding: 0 2%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100000;
  /*visibility: hidden;*/
  opacity: 0;
  overflow-y: scroll;
  background-color: rgba(0, 0, 0, 0.8);
  transition: opacity 0.2s ease-in-out;
}

.modalActive {
  /*visibility: visible;*/
  opacity: 1;
}

.modalWrapper .modalContentWrap {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 50px 30px;
  color: #FFF;
  background-color: gray;
}

.modalWrapper .modalClose {
  position: absolute;
  top: 0px;
  right: 0px;
  border-bottom: none;
  font-size: 1.5em;
  padding: 20px;
  color: #FFF;
  text-decoration: none !important;
}

.modalWrapper .modalContent a {
  color: #FFF;
  text-decoration: underline;
}

@media all and (min-width: 768px) {
  .modalWrapper .modalContentWrap {
    padding: 50px;
  }
}

/* ----------------------------------------------------
		End Modal Styles
------------------------------------------------------- */

.sitewidth {
  width: 100%;
  max-width: 1700px;
  margin: 0 auto;
  padding: 0 2%;
}

  .sitewidth .sitewidth {
    padding-left: 0;
    padding-right: 0;
  }


.widgetTopMargin {
  margin-top: 60px;
}

.widgetBottomMargin {
  margin-bottom: 60px;
}

.widgetTopPadding {
  padding-top: 60px;
}

.widgetBottomPadding {
  padding-bottom: 60px;
}

@media (min-width: 767px) {
  .widgetTopMargin {
    margin-top: 120px;
  }

  .widgetBottomMargin {
    margin-bottom: 120px;
  }

  .widgetTopPadding {
    padding-top: 120px;
  }

  .widgetBottomPadding {
    padding-bottom: 120px;
  }
}

#Wrapper {
  min-height: 100%;
  position: relative;
}

/* ----------------------------------------------------
		Start Header
------------------------------------------------------- */

header {
  border-bottom: 2px solid var(--site-black);
  position: fixed;
  width: 100%;
  z-index: 1000;
}

.siteNavigationWrap {
  position: relative;
  padding: 10px 6% 10px 4%;
  background-color: var(--site-grey);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

  .siteNavigationWrap .logoWrap {
    max-width: 175px;

    @media (min-width: 1375px) {
      max-width: 229px;
    }
  }

@media (min-width: 1300px) {
  .siteNavigationWrap {
    padding: 25px 6% 25px 4%;
  }
}

/* ----------------------------------------------------
		End Header
------------------------------------------------------- */


/* ----------------------------------------------------
		Start Header Image
------------------------------------------------------- */

.headerImage {
  position: relative;
  overflow: hidden;
  max-height: 530px;
  display: flex;
  justify-content: center;
  align-items: center;
}

  .headerImage .mainImage {
    transition: 0.15s linear;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .headerImage .headerImageCaption {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    color: #FFF;
    text-align: center;
    font-size: 1.94444rem;
    font-weight: 600;
    letter-spacing: 0.09722rem;
    text-transform: uppercase;
    background-color: rgba(0, 0, 0, 0.5);
    font-family: var(--font-museosans);
  }

/* ----------------------------------------------------
		End Header Image
------------------------------------------------------- */
/* ----------------------------------------------------
		Start Top Nav
------------------------------------------------------- */
.topNav {
  margin: 5px 0 50px 0;
  text-align: center;
}

  .topNav li {
    display: inline-block;
    padding: 0 10px;
    font-size: 16px;
  }

/* ----------------------------------------------------
		End Top Nav
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Main Nav
------------------------------------------------------- */

#MainNavWrap {
  display: none;
  z-index: 1000;
  flex: 1;
}

  #MainNavWrap .mainNav {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 15px;

    @media (min-width: 1650px) {
      gap: 3.5%;
    }
  }

  #MainNavWrap li {
    position: relative;
  }

  #MainNavWrap .subNav {
    opacity: 0;
    visibility: hidden;
    scale: 0.9;
    position: absolute;
    transition: 0.1s linear;
    padding-top: 10px;
    width: max-content; /* Hugs the content size */
    min-width: 100%;
  }

    #MainNavWrap .subNav > ul {
      padding: 15px 15px 15px 15px;
      background-color: var(--site-bluealt);
      border-top: 3px solid var(--site-lightblue);
    }

    #MainNavWrap .subNav a {
      color: #FFF;
      font-size: 0.9rem;
      font-weight: 400;
      line-height: 1.94444rem;
      text-transform: capitalize;
      border-bottom: 1px solid transparent;
      transition: 0.15s linear;
      display: block;
    }

      #MainNavWrap .subNav a:hover,
      #MainNavWrap .subNav a.current {
        color: var(--site-black)
      }

  #MainNavWrap .mainNav > li:hover .subNav,
  #MainNavWrap .mainNav > li:focus-within .subNav {
    scale: 1;
    opacity: 1;
    visibility: visible;
  }

  #MainNavWrap .topNavLink {
    display: inline-block;
    color: var(--site-black);
    font-size: 0.8rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 0.1rem;
    text-transform: uppercase;
    text-align: center;
    border-bottom: 2px solid transparent;
    transition: 0.15s linear;

    @media (min-width: 1300px) {
      letter-spacing: 0.11111rem;
    }

    @media (min-width: 1500px) {
      font-size: 0.9rem;
    }
  }

  #MainNavWrap .btn {
    font-size: 0.9rem;
    padding: 14px 25px 14px;

    @media (min-width: 1500px) {
      font-size: 1rem;
      padding: 14px 35px 14px;
    }
  }

  #MainNavWrap .topNavLink:hover,
  #MainNavWrap .topNavLink.current {
    border-color: currentColor;
  }

/* ----------------------------------------------------
		End Main Nav
------------------------------------------------------- */
/* ----------------------------------------------------
		Start Mobile Main Nav
------------------------------------------------------- */
.mobileMainMenu {
  opacity: 0;
  visibility: hidden;
  scale: 0.99;
  width: 100%;
  position: fixed;
  left: 0px;
  z-index: 3000;
  font-size: 16px;
  background-color: #FFF;
  border-bottom: 1px solid var(--site-lightblue);
  transition: 0.15s linear;
  overflow-y: auto; /* Enables vertical scrolling inside the menu */
  box-sizing: border-box;
  padding-bottom: 20px;
}

  .mobileMainMenu.open {
    opacity: 1;
    visibility: visible;
    scale: 1;
  }

  .mobileMainMenu ul {
    padding: 0;
    list-style-type: none;
  }

    .mobileMainMenu ul li {
      position: relative;
    }

    .mobileMainMenu ul.mainNav ul {
      display: none;
    }

    .mobileMainMenu ul li.mobileMenuOpen > ul {
      display: block;
    }

    .mobileMainMenu ul li ul {
      display: none;
    }

  .mobileMainMenu .topNavLink {
    text-transform: uppercase;
    position: relative;
  }

  .mobileMainMenu .mainNav > li:last-of-type {
    border-top: 1px solid var(--site-lightblue);
  }

  .mobileMainMenu .btn {
    margin: 20px 0 0 20px;
  }

  .mobileMainMenu .topNavLink,
  .mobileMainMenu ul li ul a {
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--site-black);
    font-size: 0.8rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 0.11111rem;
    border-top: 1px solid var(--site-lightblue);
  }

  .mobileMainMenu a {
    transition: 0.2s linear;
  }

    .mobileMainMenu a:hover,
    .mobileMainMenu a.current {
      background-color: var(--site-black);
      color: #FFF;
    }

  .mobileMainMenu ul li ul a {
    padding: 15px 40px;
    text-transform: capitalize;
    font-weight: 400;
    letter-spacing: initial;
  }

  .mobileMainMenu .mobileToggle {
    height: 100%;
    width: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    right: 0;
    border-left: 1px solid var(--site-lightblue);
  }

.mobileMenuButton .burg {
  width: 35px;
  margin: 16px;
  position: relative;
}

  .mobileMenuButton .burg span {
    display: block;
    height: 2px;
    margin: 8px 0;
    background: #000;
    transition: 0.2s linear;
  }

.mobileMenuButtonOpen .burg span:nth-child(1) {
  transform: rotate(45deg) translate(8px, 6px);
}

.mobileMenuButtonOpen .burg span:nth-child(3) {
  transform: rotate(-45deg) translate(8px, -6px);
}

.mobileMenuButtonOpen .burg span:nth-child(2) {
  opacity: 0 !important;
}

@media screen and (min-width:1275px) {
  #MainNavWrap {
    display: block;
  }

  .mobileMenuButton {
    display: none;
  }
}

/* ----------------------------------------------------
		End  Mobile Main Nav
------------------------------------------------------- */


/* ----------------------------------------------------
		Start Breadcrumb
------------------------------------------------------- */

.breadcrumbWrap {
  margin-bottom: 35px;
  font-size: 14px;
  color: #525252;
  background: #dbdbdb;
}

  .breadcrumbWrap ul {
    margin-bottom: 0;
    padding-left: 0;
  }

    .breadcrumbWrap ul li {
      display: inline;
      padding-right: 10px;
    }

  .breadcrumbWrap a {
    color: #015593;
  }

/* ----------------------------------------------------
		End Breadcrumb
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Pagination
------------------------------------------------------- */

.pagination {
  width: auto;
  margin-bottom: 35px;
  text-align: center;
}

  .pagination span,
  .pagination a {
    zoom: 1;
    display: inline-block;
    padding: 5px 15px;
    margin-bottom: 10px;
    text-align: center;
    color: #2385dc;
    font-size: 0.85em;
    background: #FFF;
    border: 1px solid #e8e8e8;
  }

    .pagination a:hover {
      background: #edeef0;
    }

  .pagination span {
    color: #ac2522;
  }

/* ----------------------------------------------------
		End Pagination
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Body
------------------------------------------------------- */

main {
  display: block;

  padding-top: 140px;

  @media (min-width: 1300px) {
    padding-top: 170px;
  }

  @media (min-width: 1375px) {
    padding-top: 192px;
  }
}

  main ul,
  main ol,
  main p {
    margin-bottom: 30px;
  }

    main p:last-child {
      margin-bottom: 0;
    }

  main ul {
    padding-left: 20px;
    list-style-type: disc;
  }

    main ul.noListStyle {
      padding-left: 0;
      list-style-type: none;
    }

    main ul.ulSplit {
      display: inline-block;
      width: 50%;
      vertical-align: top;
    }

  main ol {
    list-style: decimal;
    padding-left: 22px;
  }

    main ol[type="a"] {
      list-style: lower-alpha;
    }

    main ul li,
    main ol li {
      padding-bottom: 3px;
    }

.rteCopy {
  margin-bottom: 35px;
  letter-spacing: 0.05rem;
}

  .rteCopy > *:not(:last-child) {
    margin-bottom: 25px;
  }

  .rteCopy img {
    display: inline-block;
    max-width: 80%;
    width: auto !important;
    height: auto !important;
    margin: 20px;
  }

  .rteCopy ul,
  .rteCopy ol {
    margin-left: 20px;
  }

  .largeBodyCopy {
    font-size: 1.22222rem;
    font-weight: 400;
    letter-spacing: 0.06111rem;
  }


/* ----------------------------------------------------
		End Body
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Footer
------------------------------------------------------- */

footer {
}

  footer .footerContentWrap {
    padding: 35px 0;
    background-color: var(--site-black);
    color: var(--site-darkgrey);
    border-radius: 50px 50px 0 0;
  }

  footer .footerContent a {
    color: var(--site-darkgrey);
    transition: 0.15s linear;
  }

    footer .footerContent a:hover {
      color: #FFF;
    }

  footer .header {
    color: #FFF;
    font-size: 1.11111rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 0.11111rem;
    text-transform: uppercase;
    margin-bottom: 15px;
  }

  footer .footerContent {
    display: flex;
    flex-direction: column;
    gap: 50px 10%;
  }

  footer .left {
    display: flex;
    flex-direction: column;
    gap: 50px 20%;
  }

  footer .locationCopy a {
    text-decoration: underline;
    word-break: break-all;
  }

  footer .locationCopy .copy {
    font-size: 0.83333rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.38889rem; /* 166.667% */
    letter-spacing: 0.08333rem;
    text-transform: uppercase;
  }

  footer .locationCopy .rteCopy {
    margin-bottom: 0;
  }

  footer .locationCopy hr {
    border: none;
    border-top: 1px solid var(--site-darkgrey);
  }

  footer .copyRight {
    text-align: center;
  }

  footer .footerNav {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 25px;
  }

    footer .footerNav ul {
      margin-bottom: 15px;
      display: flex;
      flex-direction: column;
    }

      footer .footerNav ul li {
        display: inline-block;
      }

    footer .footerNav a {
      font-size: 0.83333rem;
      font-style: normal;
      font-weight: 400;
      line-height: 1.38889rem; /* 166.667% */
      letter-spacing: 0.08333rem;
      text-transform: uppercase;
    }

@media (min-width: 767px) {
  footer .footerContent {
    flex-direction: row;
  }

    footer .footerContent > div {
      flex-basis: 50%;
    }
}

@media (min-width: 1200px) {
  footer .left {
    flex-direction: row;
  }

    footer .left .logoWrap {
      flex-basis: 250px;
      min-width: 200px;
    }

    footer .left .locationCopy {
      flex: 1;
    }

  footer .footerNav {
    gap: 50px 0;
    flex-direction: row;
  }

    footer .footerNav > * {
      flex-basis: 50%;
    }
}

/* ----------------------------------------------------
		End Footer
------------------------------------------------------- */

.siteFooterBanner .swiper-wrapper {
  transition-timing-function: linear;
}

.siteFooterBanner .swiper-slide {
  width: max-content !important;
}

.siteFooterBanner .rteCopy {
  color: rgba(37, 40, 41, 0.10);
  font-size: 2rem;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.19444rem;
  margin-bottom: 0;
  line-height: normal;
}

@media (min-width: 1200px) {
  .siteFooterBanner .rteCopy {
    font-size: 3.88889rem;
  }
}

/* ----------------------------------------------------
		Start Footer Callout Node
------------------------------------------------------- */

.footerCalloutWrap {
  padding: 20px 0;
  position: relative;
  text-align: center;
  font-size: 27px;
  color: #FFF;
  background: #0074d9;
}

  .footerCalloutWrap .btn {
    position: relative;
    left: 0;
    top: 0;
    margin-top: 20px;
    left: 8px;
    top: -2px;
    border: 1px solid #FFF;
  }

  .footerCalloutWrap .copy {
    line-height: 35px;
  }

@media only screen and (min-width: 1024px) {
  .footerCalloutWrap .copy {
    display: inline-block;
  }

  .footerCalloutWrap .btn {
    left: 8px;
    top: -2px;
    margin-top: 0;
  }
}

/* ----------------------------------------------------
		End Footer Callout Node
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Contact Form Common Styles
------------------------------------------------------- */

.formWrap {
  margin-bottom: 30px;
  max-width: 1400px;
}

  .formWrap h2,
  .formWrap .formBodyCopy {
    text-align: center;
  }

  .formWrap .formBodyCopy {
    font-size: 1.22222rem;
    font-weight: 400;
    letter-spacing: 0.12222rem;
    margin-bottom: 60px;
  }

  .formWrap form {
    display: flex;
    flex-direction: column;
    gap: 30px;
  }

  .formWrap .formErrorGroup {
    margin-bottom: 30px;
  }

  .formWrap .formRow .checkbox-container {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.9rem;
  }

    .formWrap .formRow .checkbox-container,
    .formWrap .formRow .checkbox-container a {
      color: #6B6B6B;
    }

      .formWrap .formRow .checkbox-container a {
        text-decoration: underline;
      }

  .formWrap input[type="checkbox"] {
    appearance: none; /* Removes default browser styling */
    -webkit-appearance: none;
    background-color: #EEEEEE;
    margin: 0;
    /* Sizing and borders */
    width: 1.25em;
    height: 1.25em;
    border: 2px solid #EEEEEE;
    border-radius: 4px;
    /* Grid placement centers the checkmark pseudo-element */
    display: grid;
    place-content: center;
    transition: all 0.2s ease-in-out;
  }

/* Hover state */
.checkbox-container input[type="checkbox"]:hover {
  border-color: #64C8D8;
  background-color: #f4f7f6;
}

/* Styles applied when checked */
.checkbox-container input[type="checkbox"]:checked {
  background-color: #64C8D8;
  border-color: #64C8D8;
}

/* Creating the checkmark inside using a pseudo-element */
.checkbox-container input[type="checkbox"]::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  transform: scale(0); /* Hidden by default */
  transition: 120ms transform ease-in-out;
  background-color: #fff;
  /* Creates a checkmark shape using clip-path */
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

/* Reveal the checkmark on checked state */
.checkbox-container input[type="checkbox"]:checked::before {
  transform: scale(1);
}

/* Disabled State styling */
.checkbox-container input[type="checkbox"]:disabled {
  background-color: #d9d9d9;
  border-color: #b3b3b3;
  cursor: not-allowed;
}

.formWrap .formErrorGroup,
.formWrap .confirmationMsg,
.formWrap .formRow span {
  display: none;
}

.formWrap .formErrorGroup,
.formWrap .formRow.error label,
.formWrap .formRow.error span {
  color: red;
}

.formWrap .formRow.error input,
.formWrap .formRow.error select,
.formWrap .formRow.error textarea {
  /* 2px thickness, solid style, using our error color */
  outline: 2px solid #e11d48;
  /* Shifts the outline slightly away from the element for a cleaner look */
  outline-offset: 2px;
  /* Optional: Smoothly transition the outline when the error appears */
  transition: outline 0.15s ease-in-out;
}

.formWrap .formRow.error span {
  display: block;
  margin-top: 5px;
  font-size: 14px;
}

.formWrap .formRow {
  display: flex;
  flex-direction: column;
}

  .formWrap .formRow:has(> .formCol) {
    gap: 30px;

    @media (min-width: 767px) {
      flex-direction: row;
    }
  }

.formWrap .formCol {
  flex: 1;
}

.formWrap .copyBelowForm {
  color: #6B6B6B;
  font-size: 0.88889rem;
  font-weight: 400;
  margin-bottom: 20px;
  margin-top: 20px;
}

.formWrap .btn {
  align-self: center;
  min-width: 300px;
  font-size: 1.11111rem;
  font-weight: 600;
  letter-spacing: 0.11111rem;
}

/* ----------------------------------------------------
		End Contact Form Common Styles
------------------------------------------------------- */
/* ----------------------------------------------------
		Start Search Styles
------------------------------------------------------- */
.siteSearchResults #PageSearchBox {
  margin-bottom: 50px;
}

  .siteSearchResults #PageSearchBox form {
    display: flex;
  }

.siteSearchResults .pageSearchBoxInput {
  flex: 0 1 300px;
  margin-right: 5px;
  padding-left: 5px;
  border: 1px solid #231f20;
}

.siteSearchResults .item {
  display: block;
  margin-bottom: 35px;
  padding-bottom: 35px;
  border-bottom: 1px solid #000;
}

.siteSearchResults .title {
  margin-bottom: 20px;
  font-weight: 700;
  font-size: 25px;
  line-height: 1.2em;
  color: #000;
}

.siteSearchResults .bodyCopy {
  color: #000;
}

/* ----------------------------------------------------
		End Search Styles
------------------------------------------------------- */
/* ----------------------------------------------------
		Start Top Banner
------------------------------------------------------- */

.siteTopBanner {
  background-color: var(--site-black);
  color: #FFF;
  padding: 15px 0;
}

  .siteTopBanner .rteCopy {
    margin-bottom: 0;
    text-transform: uppercase;
    color: #FFF;
    text-align: center;
    font-size: 0.8rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 0.15rem;
    text-transform: uppercase;
  }

    .siteTopBanner .rteCopy a {
      color: #FFF;
      text-decoration: underline;
      text-underline-offset: 3px;
    }

  .siteTopBanner .swiper-wrapper {
    transition-timing-function: linear;
  }

  .siteTopBanner .swiper-slide {
    width: max-content !important;
  }

/* ----------------------------------------------------
		End Top Banner
------------------------------------------------------- */
/* ----------------------------------------------------
		Start Page Header Section
------------------------------------------------------- */

.pageHeaderSection {
  display: flex;
  flex-direction: column;
  gap: 35px 0;
  border-bottom: 2px solid var(--site-black);
}

  .pageHeaderSection img {
    width: 100%;
  }

  .pageHeaderSection h1 {
    margin-bottom: 30px;
  }

  .pageHeaderSection .left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 40px 2%;
  }

    .pageHeaderSection .left .content {
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

  .pageHeaderSection .buttonsWrap {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
  }

  .pageHeaderSection .rteCopy {
    letter-spacing: 0.05rem;
    line-height: 1.4rem;
  }

  .pageHeaderSection .pageHeaderBodyCopy {
    margin-bottom: 40px;

    @media (min-width: 1150px) {
      margin-bottom: 65px;
    }
  }

  .pageHeaderSection .additionalCopy {
    margin-top: 40px;

    @media (min-width: 1150px) {
      margin-top: 65px;
    }
  }

  .pageHeaderSection .largeTextButton {
    text-transform: uppercase;
    color: inherit;
  }

    .pageHeaderSection .largeTextButton a {
      color: inherit;
      font-size: 1.11111rem;
      font-weight: 600;
      letter-spacing: 0.11111rem;
      text-decoration: underline;
      text-underline-offset: 10px;
      padding: 10px 0;
    }

@media (min-width: 1150px) {
  .pageHeaderSection {
    flex-direction: row;
    justify-content: space-between;
  }

    .pageHeaderSection .right {
      flex-basis: 45%;
    }

    .pageHeaderSection .left {
      flex-basis: 55%;
    }
}

@media (min-width: 1250px) {
  .pageHeaderSection .left {
    padding: 40px 8%;
  }
}

/* ----------------------------------------------------
		End Page Header Section
------------------------------------------------------- */
/* ----------------------------------------------------
		Start Page H1 Body Copy
------------------------------------------------------- */

.pageH1BodyCopy {
  text-align: center;
}

  .pageH1BodyCopy h1 {
    max-width: 875px;
    margin: 0 auto 35px;
  }

  .pageH1BodyCopy .sitewidth {
    max-width: 1250px;
  }

  .pageH1BodyCopy .rteCopy {
    font-size: 1.22222rem;
    font-weight: 400;
    letter-spacing: 0.06111rem;
    margin-bottom: 60px;
  }

  .pageH1BodyCopy:not(:has(.btn)) .rteCopy {
    margin-bottom: 0;
  }

/* ----------------------------------------------------
		End Page H1 Body Copy
------------------------------------------------------- */
/* ----------------------------------------------------
		Start Toggle Switches
------------------------------------------------------- */

.toggleSwitch {
  width: 51px;
  padding: 4px;
  position: relative;
  background-color: #FFF;
  border-radius: 16px;
  border: none;
  cursor: pointer;
  border: 1px solid #4767b0;
  transition: background-color .1s ease-in-out;
}

  .toggleSwitch div {
    width: 16px;
    height: 16px;
    position: relative;
    left: 0;
    background-color: #4767b0;
    border-radius: 50%;
    transition: transform .15s ease-in-out, background-color .1s ease-in-out;
  }

  .toggleSwitch.selected {
    background-color: #60c9d8;
    border: 1px solid #60c9d8;
  }

    .toggleSwitch.selected div {
      background-color: #FFF;
      transform: translateX(28px);
    }

/* ----------------------------------------------------
		End Toggle Switches
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Cookie Banner
------------------------------------------------------- */

.cookieBanner {
  width: 100%;
  position: sticky;
  bottom: 0;
  left: 0;
  z-index: 100000;
  background-color: #ffffff;
  display: none;
  opacity: 0;
  transition: opacity .3s ease-in-out;
  font-size: 15px;
  line-height: 1.5;
  box-shadow: inset 0 6px 6px -6px rgba(0, 0, 0, 0.2);
}

  .cookieBanner p {
    margin-bottom: 13px;
  }

  .cookieBanner button {
    cursor: pointer
  }

  .cookieBanner .content {
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
    padding: 25px 2% 5px 2%;
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
  }

  .cookieBanner .copy {
    margin-bottom: 25px;
    width: 50%;
    margin-right: 2%;
  }

    .cookieBanner .copy a {
      text-decoration: underline
    }

  .cookieBanner .btns {
    display: flex;
    width: 50%;
    margin-left: 2%;
  }

    .cookieBanner .btns > * {
      color: #ffffff;
      margin-bottom: 13px;
      padding: 4px 15px;
      text-align: center;
      font-weight: 500;
      font-size: 15px;
      flex: 1;
      margin-left: 2%;
      min-width: 0;
      align-self: flex-start;
      background-color: #4767b0;
      border-color: #4767b0;
      transition: color 0.2s linear,background-color 0.2s linear;
      border-radius: 6px;
    }

  .cookieBanner .rteCopy:last-child {
    margin-bottom: 0;
  }

  .cookieBanner .btns > *:hover {
    background-color: #60c9d8;
    border-color: #60c9d8;
  }

@media screen and (max-width: 1050px) {
  .cookieBanner .content {
    flex-direction: column;
  }

  .cookieBanner .copy {
    margin-bottom: 25px;
    width: 100%;
  }

  .cookieBanner .btns {
    width: 100%;
    margin-left: 0;
  }

    .cookieBanner .btns > * {
      margin-right: 1%;
      margin-left: 1%;
    }
}

@media screen and (max-width: 500px) {
  .cookieBanner .content {
    flex-direction: column;
  }

  .cookieBanner .copy {
    padding: 0 2%;
    margin-right: 0;
  }

  .cookieBanner .btns {
    width: 100%;
    margin-left: 0;
    flex-direction: column;
  }

    .cookieBanner .btns > * {
      width: 75%;
      align-self: center;
    }
}


/* ----------------------------------------------------
		Start Cookie Consent Page
------------------------------------------------------- */

.cookieSettings {
  max-width: 900px;
  margin: 50px auto 0 auto;
  padding-bottom: 75px;
}

  .cookieSettings h2 {
    font-size: 31px;
    margin-bottom: 30px;
  }

  .cookieSettings .headerText, .cookieSettings .cookieTypeHeader {
    width: 100%;
    margin: 0 auto 15px auto;
    font-weight: 500;
    font-size: 32px;
    line-height: 34px;
    color: #003161;
  }

  .cookieSettings .cookieTypeHeader {
    margin: 0 0 8px 0;
    font-size: 20px;
    font-weight: 600;
  }

  .cookieSettings .cookieTypes {
    margin-bottom: 20px;
  }

  .cookieSettings .cookieType {
    margin-bottom: 45px;
    position: relative;
  }

  .cookieSettings .cookieTypes .cookieBannerTypeHeader {
    display: flex;
    align-items: baseline;
    padding-right: 140px;
    font-size: 18px;
    font-weight: 600;
  }

  .cookieSettings .cookieTypes button span {
    width: 8px;
    height: 8px;
    margin-right: 17px;
    display: inline-block;
    border-right: 2px solid #0078C8;
    border-bottom: 2px solid #0078C8;
    transform: rotate(45deg) translate(-2px,-2px);
    transition: transform .2s ease-in-out;
  }

  .cookieSettings .cookieType.open button span {
    transform: rotate(225deg) translate(0px,0px);
  }

  .cookieSettings .toggleSwitch {
    position: absolute;
    top: 2px;
    right: 2px;
  }

  .cookieSettings .cookieType .expl {
    overflow: hidden;
  }

  .cookieSettings .always {
    position: absolute;
    top: 0px;
    right: 2px;
    font-size: 17px;
    color: #6e6e6e;
    font-weight: 600;
  }

  .cookieSettings .cookieType .expl > * {
    padding-top: 17px;
  }

  .cookieSettings .btn {
    font-weight: 600;
    cursor: pointer;
  }

    .cookieSettings .btn:hover {
      border-color: #60c9d8;
    }

  .cookieSettings .confirmMsg {
    opacity: 0;
    margin-top: 10px;
    transition: opacity .2s ease-in-out;
  }

@media screen and (min-width: 768px) {
  .cookieSettings .always {
    top: 9px;
  }

  .cookieSettings .toggleSwitch {
    top: 9px;
  }

  .cookieSettings .cookieType .expl {
    width: 80%;
  }

    .cookieSettings .cookieType .expl > * {
      padding-top: 4px;
    }

  .cookieSettings .btnWrap {
    display: flex;
    gap: 20px;
  }
}
