@font-face {
  font-family:"Poppins";
  src:url("/fonts/Poppins-Thin.woff2") format("woff2"),url("/fonts/Poppins-Thin.woff") format("woff");
  font-style:normal;
  font-weight:100;
}
@font-face {
  font-family:"Poppins";
  src:url("/fonts/Poppins-ThinItalic.woff2") format("woff2"),url("/fonts/Poppins-ThinItalic.woff") format("woff");
  font-style:italic;
  font-weight:100;
}
@font-face {
  font-family:"Poppins";
  src:url("/fonts/Poppins-ExtraLight.woff2") format("woff2"),url("/fonts/Poppins-ExtraLight.woff") format("woff");
  font-style:normal;
  font-weight:200;
}
@font-face {
  font-family:"Poppins";
  src:url("/fonts/Poppins-ExtraLightItalic.woff2") format("woff2"),url("/fonts/Poppins-ExtraLightItalic.woff") format("woff");
  font-style:italic;
  font-weight:200;
}
@font-face {
  font-family:"Poppins";
  src:url("/fonts/Poppins-Light.woff2") format("woff2"),url("/fonts/Poppins-Light.woff") format("woff");
  font-style:normal;
  font-weight:300;
}
@font-face {
  font-family:"Poppins";
  src:url("/fonts/Poppins-LightItalic.woff2") format("woff2"),url("/fonts/Poppins-LightItalic.woff") format("woff");
  font-style:italic;
  font-weight:300;
}
@font-face {
  font-family:"Poppins";
  src:url("/fonts/Poppins-Regular.woff2") format("woff2"),url("/fonts/Poppins-Regular.woff") format("woff");
  font-style:normal;
  font-weight:400;
}
@font-face {
  font-family:"Poppins";
  src:url("/fonts/Poppins-Italic.woff2") format("woff2"),url("/fonts/Poppins-Italic.woff") format("woff");
  font-style:italic;
  font-weight:400;
}
@font-face {
  font-family:"Poppins";
  src:url("/fonts/Poppins-Medium.woff2") format("woff2"),url("/fonts/Poppins-Medium.woff") format("woff");
  font-style:normal;
  font-weight:500;
}
@font-face {
  font-family:"Poppins";
  src:url("/fonts/Poppins-MediumItalic.woff2") format("woff2"),url("/fonts/Poppins-MediumItalic.woff") format("woff");
  font-style:italic;
  font-weight:500;
}     
@font-face {
  font-family:"Poppins";
  src:url("/fonts/Poppins-SemiBold.woff2") format("woff2"),url("/fonts/Poppins-SemiBold.woff") format("woff");
  font-style:normal;
  font-weight:600;
}
@font-face {
  font-family:"Poppins";
  src:url("/fonts/Poppins-SemiBoldItalic.woff2") format("woff2"),url("/fonts/Poppins-SemiBoldItalic.woff") format("woff");
  font-style:italic;
  font-weight:600;
}
 


:root {
    --light-green: #E6F5F2;
    --mid-green: #007A6B; 
    --dark-green: #16514b;
    --mid-grey: #767676; 
    --white: #FFFFFF; 
    --red: #DB004D;
    --light-grey: #F9F9F9; 
    --inner_max_width: 80rem; 
    --inner_narrow_width: 68rem; 
    --inner_extra_narrow_width: 46rem; 
    --inner_wide_width: 96rem;
    --header-offset: 5.5rem; 
    --menu-speed: 0.5s;
}


* { padding: 0; margin: 0;  -webkit-text-size-adjust:none; }
html { height: 100%; width: 100%;  font-size: 100%; font-size: clamp(12px, 1.5vw, 16px); line-height: 1.5;    }
body { background-color: var(--light-green);  width: 100%; min-height: 100%; position: relative; display: flex; flex-direction: column;    font-size: 1rem; line-height: 1.5;   font-family: "Poppins", serif; font-weight: 200;  overflow: hidden; }
body * { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;     }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }


/* HEADER */
header { display: block; width: 100%; background-color: var(--dark-green);   }
.header_inner {   margin: 0 auto; width: 100%; max-width: var(--inner_max_width); padding: 1.5rem 1rem;  display: flex;  align-items: center; justify-content: flex-start; gap: 0rem 3rem;  }



.header_mol_logo { display: block; position: relative; height: 2.24855rem; margin-right: 1rem; flex: 0 0 auto;  }
.header_bp_logo_link { display: inline-block; position: relative; height: 2.24855rem; margin-right: 1rem; flex: 0 0 auto;  width: fit-content;  }
.header_bp_logo { display: block; position: relative; height: 100%;   }
.strapline {  display: block; position: relative;  font-size: 1.126rem;  line-height: 1.5; color: var(--white); text-align: right;    }
.strapline p {  font-size: 1.126rem;  line-height: 1.5;  margin-bottom: 0rem;    }

.skip_link { position: absolute; top: 0px; left: 1rem; display: inline-block; font-size: 0px; opacity: 0;  transition: font-size 0.5s  3.5s, opacity 0.5s 3s;  padding: 0px 0px; margin-right: 0px;  color: var(--white);  }
.skip_link:focus { font-size: 0.75rem; opacity: 1; transition: font-size 0.5s, opacity 0.5s 0.5s; margin-right: 0.625rem; padding: 0px 0px;   } 
.skip_link:hover {  color: #e5f995;   }
.aqmap_outer .skip_link { top: -1.5rem;  color: var(--dark-green);    }

/* FOOTER */
footer { position: relative; display: block; width: 100%; background-color: var(--dark-green);   }
.footer_inner {  position: relative; margin: 0 auto; width: 100%; max-width: var(--inner_max_width); padding: 2rem 1rem;  display: flex;  align-items: center; justify-content: center;  color: var(--white); }

/* MAIN */
/* SECTIONS */
.section { position: relative;  display: block;   }
.section_background { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; background-size: cover; background-repeat: no-repeat; background-position: center; opacity: 0.5;   }
.section_inner { position: relative;  display: flex; flex-direction: column; justify-content: center; width: 100%; max-width: var(--inner_max_width);   padding: 4rem 1rem; margin: 0 auto;   }

.section_anchor, .content_anchor { position: absolute; top: 0px;   }

.sh_auto > .section_inner {  height: auto;  }
.sh_hero_banner > .section_inner { min-height: 18rem; }
.sw_standard > .section_inner {  max-width: var(--inner_max_width);  }
.sw_narrow > .section_inner {  max-width: var(--inner_narrow_width);   }
.sw_extra_narrow > .section_inner {    max-width: var(--inner_extra_narrow_width); }
.sw_wide > .section_inner {    max-width: var(--inner_wide_width); }
.sw_full_width > .section_inner { max-width: 100%;   }
.sp_standard > .section_inner { padding: 4rem 0px;   }
.sp_reduced > .section_inner { padding: 2rem 0px;   }
.sp_none > .section_inner { padding: 0rem 0px;   }
.sp_extra_large > .section_inner { padding: 8rem 0px;   }
.row { position: relative; display: flex; flex-direction: row; width: 100%; flex-wrap: nowrap; justify-content: center; align-items: flex-start; gap: 0rem 1rem;   }
.row:has(> .er_left) { justify-content: flex-end;   }
.row:has(> .er_right) { justify-content: flex-start;   }
.row:has(> .er_both_sides) { justify-content: center;   }

.group { position: relative; display: flex; flex-direction: row; width: 100%; flex-wrap: wrap; justify-content: center; align-items: flex-start; gap: 0rem 1rem;   }
.floating_outer { position: relative; display: block; float: right;    margin-bottom: 1rem;  margin-left: 1rem; }
.ttw_left .floating_outer {   float: left; margin-left: 0rem; margin-right: 1rem;    }

/* ELEMENTS */
.element { position: relative; display: block; padding: 0.5rem;   }
.ew_1_8 { flex: 0 1 12.5%;  }
.ew_1_4 { flex: 0 1 25%;  }
.ew_1_3 { flex: 0 1 33.333%;  }
.ew_3_8 { flex: 0 1 37.5%;  }
.ew_1_2 { flex: 0 1 50%;  }
.ew_5_8 { flex: 0 1 62.5%;  }
.ew_2_3 { flex: 0 1 66.666%;  }
.ew_3_4 { flex: 0 1 75%;  }
.ew_7_8 { flex: 0 1 87.5%;  }
.ew_full { flex: 1 1 100%;  }

.f_ew_1_8 { width: 12.5%; }
.f_ew_1_4 { width:  25%;  }
.f_ew_1_3 { width:  33.333%;  }
.f_ew_3_8 { width:  37.5%;  }
.f_ew_1_2 { width: 50%;  }
.f_ew_5_8 { width:  62.5%;  }
.f_ew_2_3 { width:  66.666%;  }
.f_ew_3_4 { width:  75%;  }
.f_ew_7_8 { width:  87.5%;  }
.f_ew_full { width:  100%;  }

.va_bottom {  align-self: flex-end;  }
.va_middle { align-self: center;  }
.va_stretch { align-self: stretch; }

/* HORIZONTAL LINE */
.element--hr { position: relative; display: block; padding: 0px 0px; height: 1px;  margin: 4rem auto;   }


@media only screen and (max-width: 500px) { 
    .row { flex-wrap: wrap;  gap: 1rem 1rem;   }
    .section_inner > .row { padding: 0rem 1rem;  }
    :not(.element--hr).ew_1_8  { flex: 0 1 calc(50% - 0.5rem);   }
    :not(.element--hr).ew_1_4,  
    :not(.element--hr).ew_1_3,  
    :not(.element--hr).ew_3_8,  
    :not(.element--hr).ew_1_2,  
    :not(.element--hr).ew_5_8,  
    :not(.element--hr).ew_2_3,  
    :not(.element--hr).ew_3_4,  
    :not(.element--hr).ew_7_8, 
    .ew_full { flex: 1 1 100%; max-width: 100%;  }
    .element--fmenu li {  text-align: center;  }
 
    .f_ew_1_8 { width: 50%; }
    .f_ew_1_4, .f_ew_1_3, .f_ew_3_8, .f_ew_1_2, .f_ew_5_8, .f_ew_2_3, .f_ew_3_4, .f_ew_7_8, .f_ew_full { width:  100%;  }
   
}

@media only screen and (min-width: 501px) and (max-width: 767px) {
    .row { flex-wrap: wrap;  gap: 1rem 1rem; }
    .section_inner > .row { padding: 0rem 1rem;  }
    /* Flex-based elements */
    :not(.element--hr).ew_1_8,
    :not(.element--hr).ew_1_4 { flex: 0 1 calc(50% - 0.5rem); }
    :not(.element--hr).ew_1_3, 
    :not(.element--hr).ew_3_8, 
    :not(.element--hr).ew_1_2, 
    :not(.element--hr).ew_5_8, 
    :not(.element--hr).ew_2_3, 
    :not(.element--hr).ew_3_4, 
    :not(.element--hr).ew_7_8, 
    .ew_full { flex: 1 1 100%; max-width: 100%; }
    /* Float-based elements */
    .f_ew_1_8, .f_ew_1_4, .f_ew_1_3, .f_ew_3_8, .f_ew_1_2 { width: calc(50% - 0.5rem); }
    .f_ew_5_8, .f_ew_2_3, .f_ew_3_4, .f_ew_7_8, .f_ew_full { width: 100%; }
  }

  @media only screen and (min-width: 768px) and (max-width: 1047px) {
    .row { flex-wrap: wrap; gap: 1rem; }
    .section_inner > .row { padding: 0rem 1rem;  }
    /* Flex-based elements */
    :not(.element--hr).ew_1_8,
    :not(.element--hr).ew_1_4,
    :not(.element--hr).ew_1_3,
    :not(.element--hr).ew_3_8,
    :not(.element--hr).ew_1_2 { flex: 0 1 calc(50% - 0.5rem);  }
  
    :not(.element--hr).ew_5_8,
    :not(.element--hr).ew_2_3,
    :not(.element--hr).ew_3_4,
    :not(.element--hr).ew_7_8,
    .ew_full { flex: 1 1 100%; max-width: 100%; }
  }
  



/* TEXT CONTENT */
p { padding: 0px; margin: 0px;   margin-bottom: 1rem;  font-size: 1.125rem; line-height: 1.66;   font-family: "Poppins", serif; font-weight: 200;   }
sub,sup {  font-family: "Poppins", serif; font-weight: 200;  }
p:last-of-type {  margin-bottom: 0rem;   }
h1, h2, h3, h4 {  margin: 0px 0px; position: relative;  }
/*
h1 {  margin-bottom: 1rem;  }
h2 { margin-bottom: 0.875rem;  }
h3 { margin-bottom: 0.75rem; }
h4 {  margin-bottom: 0.625rem;  }
*/
p strong, li strong { font-family: "Poppins", serif; font-weight: 500;   }
strong sub, strong sup, sub strong, sup strong { font-weight: 500;  }
p:empty, h1:empty, h2:empty {  content: ""; display: inline-block; width: 100%;  font-size: 1.25rem; line-height: 1.66;  }
a { outline: none; border: 0px; text-decoration: underline; color: var(--red);  }
a:hover {color: #ec652c;   }

ul { margin-left: 1.875rem; padding: 0px; list-style: disc outside;  }
ol { margin-left: 1.875rem; padding: 0px; }
ul ul { margin-left: 3.75rem; }
ol ol { margin-left: 3.75rem; }

.element--text ul { margin-bottom: 1rem;  }

li { margin: 0px; padding: 0px;  width: 100%;  font-family: "Poppins", serif; font-weight: 200; font-size: 1.125rem; line-height: 1.66;  }

.PageHeadingH1 {  font-family: "Poppins", serif;  font-weight: 200;  font-size: 4rem; line-height: 1;  }
.ChapterHeadingH2 {   font-family: "Poppins", serif;  font-weight: 200;  font-size: 4rem; line-height: 1.167;    }
.SubHeadingH3 { font-family: "Poppins", serif; font-weight: 200;   font-size: 3rem; line-height: 1.167;  margin-bottom: 0.75rem;   }
.ParaHeadingH4 {  font-family: "Poppins", serif; font-weight: 400;  font-size: 2.25rem; line-height: 1.167;    }
.BodyCopy { font-family: "Poppins", serif; font-weight: 200;   font-size: 1.125rem; line-height: 1.66;  }
.BodyCopy strong { font-family: "Poppins", serif; font-weight: 500; }
.LargeBody {  font-family: "Poppins", serif; font-weight: 200;  font-size: 1.5rem; line-height: 2;  }
.LargeBody strong {  font-family: "Poppins", serif; font-weight: 500;  }
.FootNote {  font-family: "Poppins", serif;  font-weight: 200; font-size: 0.875rem; line-height: 1.66;   }
.BodySmallQuote {    font-family: "Poppins", serif;  font-weight: 400; font-size: 0.875rem; line-height: 2.14;  padding: 0rem 2rem;  }
.SmallPrint {    font-family: "Poppins", serif; font-weight: 400; font-size: 0.75rem; line-height: 1.5;    }


.PrimaryButton {   position: relative; display: inline-block;  color: var(--red); vertical-align: top;  text-align: center;  border-width: 2px; border-style: solid; border-radius: 0.625rem; border-color: var(--red); background-color: transparent;  font-size: 1.125rem; line-height: 1; padding: 0.5rem 1.125rem 0.5rem;   font-family: "Poppins", serif; font-weight: 600;  cursor: pointer;  }
.button {  position: relative; display: inline-block;  color: var(--red); vertical-align: top;  text-align: center;  border-width: 1px; border-style: solid; border-radius: 0.625rem; border-color: var(--red); background-color: transparent;  font-size: 0.875rem; line-height: 1; padding: 0.5rem 1.125rem 0.5rem;   font-family: "Poppins", serif; font-weight: 400;   cursor: pointer;  }
.PrimaryButton:hover .button:hover { background-color: var(--red); border-color: #FFFFFF; color: #FFFFFF;    }
a.button, a.PrimaryButton { text-decoration: none; color: var(--red);   }

button:focus-visible, a:focus-visible { outline: 2px solid var(--dark-green); outline-offset: 2px; }


.extra_light {   font-family: "Poppins", serif; font-weight: 100;  }
.light {  font-family: "Poppins", serif; font-weight: 200;  }
.regular {   font-family: "Poppins", serif; font-weight: 400;  }
.bold {   font-family: "Poppins", serif;  font-weight: 500;  }

.lowercase { text-transform: lowercase;  }
.uppercase { text-transform: uppercase;  }
.titlecase { text-transform: capitalize;  }

.tep_extra_large {  padding: 4rem;   }
.element--text { border-radius: 0.375rem;   }

/* TABLES */
table { margin-bottom: 1rem; border-collapse: collapse;  }
table td { border-width: 1px; border-style: solid;   font-family: "Poppins", serif; font-weight: 200;  padding: 1rem;    }
table th { border-width: 1px; border-style: solid;   font-family: "Poppins", serif; font-weight: 200;  padding: 1rem;    }
table td strong, table th strong { font-family: "Poppins", serif; font-weight: 500;  }

@media only screen and (max-width: 650px) {
  table td, table th {   padding: 0.5rem;    }
}


/* SITE LOGO */
.element-site_logo svg { display: block; width: 100%;   }
.logo_strapline { position: absolute;  left: 17.3%; top: 72%; font-size: 1.5rem; line-height: 1;   }
.logo_strapline p { margin: 0px 0px;   }
/* IMAGES / VIDEO */
.ttw_left .floating_outer .element--image, .ttw_left .floating_outer .element--video {  padding-left: 0rem;  }
.ttw_right .floating_outer .element--image, .ttw_right .floating_outer .element--video {  padding-right: 0rem;  }


.image_caption { position: relative; display: block; width: 100%;  font-size: 0.875rem; line-height: 1.2;   font-family: "Poppins", serif; font-weight: 200; font-style: normal;    }
.image_caption p {  font-size: 0.875rem; line-height: 1.66;  margin: 0px 0px;   }

.video_embed-container { position: relative; aspect-ratio: 16 / 9; max-width: 100%; height: auto;  }
.video_embed-container  iframe {  width: 100%; height: 100%; border: 0; border-radius: 0.375rem; }
.news_item_content_video { position: relative; display: block; width: 100%;  }

/* LARGE QUOTE */
.news_large_quote_outer { position: relative; display: block; width: 75%; margin: 0px auto;  }
.large_quote { position: relative; display: block; width: 100%; padding: 1rem 2rem 1rem;  font-size: 1.5rem; line-height: 2;   }
.large_quote p {  font-size: 1.5rem; line-height: 2;   }
.large_quote_citation { padding: 0rem 2rem; width: 100%; margin-left: auto !important; }
.large_quote_citation p { margin-bottom: 0px; font-size: 0.875rem; line-height: 2;    }
.ew_1_3 .large_quote_citation, .ew_3_8 .large_quote_citation, .ew_1_2 .large_quote_citation { width: 75%; }
.ew_5_8 .large_quote_citation, .ew_2_3 .large_quote_citation { width: 60%; }
.ew_full  .large_quote_citation, .ew_7_8 .large_quote_citation { width: 50%; }

.large_quote p:first-of-type::before { display: block; content: "";   mask-image: url('../img/quote.svg'); mask-repeat: no-repeat; mask-size: contain; mask-position: center;  
    background-repeat: no-repeat; background-position: centre; background-size: contain; position: absolute;  left: -0.2rem; top: 1.2rem;  width: 2rem; aspect-ratio: 1 / 1; }
.large_quote p:last-of-type::after { display: inline-block; content: ""; background-repeat: no-repeat; background-position: center; background-size: contain; width: 2rem; position: absolute; margin-left: 0.5rem;  transform: translateY(0.4rem); aspect-ratio: 1 / 1;
        mask-image: url('../img/quote.svg'); mask-repeat: no-repeat; mask-size: contain; mask-position: center; }


/* BREADCRUMBS */
.element--breadcrumb { position: relative; margin: 0 auto; width: 100%; padding: 0.875rem 1rem; text-align: left; font-family: "Poppins", serif; font-weight: 300; font-size: 1.125rem; line-height: 1.25; }
.element--breadcrumb ol { list-style: none; display: flex; flex-direction: row; flex-wrap: wrap; margin-left: 0px;  }
.element--breadcrumb li { width: auto; font-family: "Poppins", serif; font-weight: 300; font-size: 1.125rem; line-height: 1.25;   }

/* PARTNER LOGOS */
.partner_logos_top_row { position: relative; display: flex; flex-wrap: wrap; flex-direction: row; justify-content: center; align-items: center; gap: 2rem;  }
.partner_logo_link { position: relative; display: block; }
.partner_logos_top_row img { position: relative; display: block; height: 3.75rem;   }
.partner_logos_lower_row {  position: relative; display: flex; flex-wrap: wrap; flex-direction: row; justify-content: center; align-items: center; margin-top: 1.75rem;  }
.partner_logos_lower_row .mol_logo { position: relative; display: block; height: 4.25rem; margin: 4.25rem 4.25rem 0rem 4.25rem; }
.partner_logos_lower_row .mol_logo  img {  position: relative; display: block;  height: 100%;   }

.partner_logos_lower_row .footer_bp_logo_link { position: relative; display: block; height: 4.25rem;  margin: 4.25rem 4.25rem 0rem 4.25rem;   }
.partner_logos_lower_row .footer_bp_logo {  position: relative; display: block;  height: 100%;   }

/* FOOTER MENU */
.element--fmenu ul { list-style: none; margin-left: 0rem; }
.footer_menu_logo { margin-bottom: 2.5625rem;  }
.footer_menu_logo svg { display: block; position: relative; height: 1.4375rem;    }
.element--fmenu li {  font-size: 1rem; line-height: 1; margin-bottom: 2rem;   }

@media only screen and (max-width: 1047px)  { 
    .element--fmenu {  text-align: center;  }
    .footer_menu_logo a { display: inline-block; } 
    .footer_menu_logo svg { display: block;  margin: 0 auto; }
}

/* COLLAPSIBLE TEXT */
.element--collapsible { border-radius: 0.625rem; margin-bottom: 1rem; border-width: 1px; border-style: solid;  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.15); padding: 0rem;  }
details summary { cursor: pointer; list-style: none;  padding: 0.5rem 1rem;   }
summary::-webkit-details-marker { display: none; }

.collapsible_text_title { display: flex;  align-items: center; justify-content: space-between; cursor: pointer; list-style: none;  }
.collapsible_text_title_link { text-decoration: underline;   }

.collapsible_icon { transition: transform 0.3s ease; display: inline-flex; align-items: center; width: 1.125rem; margin-left: 6rem;  }
details[open] > summary .collapsible_icon { transform: rotate(180deg); }
.collapsible_text_content { overflow: hidden; transition: max-height 0.8s ease, opacity 0.8s ease; opacity: 0; padding: 0.5rem;  }
details[open] > .collapsible_text_content { opacity: 1; padding: 0.5rem 1rem;  }
.collapsible_text_content .ParaHeadingH4 { font-size: 1.125rem; line-height: 1.167;   }


/* SHOW BORDERS */
.show_borders .section_inner { border: 1px solid red;  }
.show_borders .sp_standard .section_inner::before { content: ""; position: absolute; display: block;  top: 0px; left: 0px; height: 4rem; width: 100%; z-index: 10;  background-color: red; opacity: 0.1;  }
.show_borders .sp_standard .section_inner::after { content: "";position: absolute; display: block;  bottom: 0px; left: 0px; height: 4rem; width: 100%; z-index: 10;  background-color: red; opacity: 0.1;  }

.show_borders .sp_reduced .section_inner::before { content: "";  position: absolute; display: block;  top: 0px; left: 0px; height: 2rem; width: 100%; z-index: 10;  background-color: red; opacity: 0.1;  }
.show_borders .sp_reduced .section_inner::after { content: ""; position: absolute; display: block;  bottom: 0px; left: 0px; height: 2rem; width: 100%; z-index: 10;  background-color: red; opacity: 0.1;  }

.show_borders .sp_extra_large .section_inner::before { content: ""; position: absolute; display: block;  top: 0px; left: 0px; height: 8rem; width: 100%; z-index: 10;  background-color: red; opacity: 0.1;  }
.show_borders .sp_extra_large .section_inner::after { content: ""; position: absolute; display: block;  bottom: 0px; left: 0px; height: 8rem; width: 100%; z-index: 10;  background-color: red; opacity: 0.1;  }

.show_borders .row {  border: 1px solid green;  }
.show_borders .element {  border: 1px solid blue;  box-shadow: inset 0 0 0rem 0.5rem rgba(255,0,0,0.1); }
.show_borders .tep_extra_large { box-shadow: inset 0 0 0rem 4rem rgba(255,0,0,0.1);   }
.show_borders .group {  border: 3px solid purple;  }

.show_borders h1:before {  content: "Heading H1"; position: absolute; top: 0px; left: 0px; background-color: red; color: var(--white); font-weight: 500; padding: 0.1rem 0.5rem;   font-size: 0.875rem; line-height: 1;  border-radius: 0.2rem;  }
.show_borders h2:before {  content: "Heading H2"; position: absolute; top: 0px; left: 0px; background-color: red;  color: var(--white); font-weight: 500; padding: 0.1rem 0.5rem;   font-size: 0.875rem; line-height: 1; border-radius: 0.2rem;    }
.show_borders h3:before {  content: "Heading H3"; position: absolute; top: 0px; left: 0px; background-color: red;  color: var(--white); font-weight: 500; padding: 0.1rem 0.5rem;   font-size: 0.875rem; line-height: 1; border-radius: 0.2rem;    }
.show_borders h4:before {  content: "Heading H4"; position: absolute; top: 0px; left: 0px; background-color: red;  color: var(--white); font-weight: 500; padding: 0.1rem 0.5rem;   font-size: 0.875rem; line-height: 1; border-radius: 0.2rem;    }

/* SENSOR MAP */
.element--sensormap { display: block;  width: 100%;  height: calc(50vh + 7.5rem);  background-color: white;  transition: all 0s ease-in-out; padding: 0px 0px;  }
.element--sensormap:has(.map-ui-container.fullscreen) {  height: calc(100vh);   }
.aqmap_outer { height: calc(100% - 7.5rem);    }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.aqmap_below { position: relative; display: block; width: 100%; background-color: var(--light-green); color: var(--dark-green);   }
.aqmap_below_inner {  position: relative;  display: flex; flex-direction: row; justify-content: center; width: 100%; max-width: var(--inner_max_width);   padding: 1rem 1rem; margin: 0 auto; align-items: center;  min-height: 7.5rem;   }
.aqmap_latest_update { position: relative;  display: block; flex: 0 1 calc(100% / 3); font-size: 0.875rem; line-height: 1.5;    }
.aqmap_below_buttons {  position: relative;  flex: 0 1 calc(100% / 1.5); display: flex;  flex-direction: row; justify-content: space-between; align-items: center; gap: 0rem 1rem;  font-size: 0.875rem; line-height: 1.5;  font-weight: 300;     }
.section .aqmap_below_buttons a.button {  flex: 0 1 100%; background-color: var(--white); color: var(--dark-green); border-color: var(--dark-green); max-width: 15rem;  }
.section .aqmap_below_buttons a.button:hover { background-color: var(--red); color: var(--white); border-color: var(--white);   }


.last_update_label {  font-weight: 600;  margin-right: 0.5rem;    }
.last_update_date {  font-weight: 300; margin-right: 0.5rem;  }
.last_update_date strong { font-weight: 600;   }

.leaflet-control-attribution a {  color: var(--dark-green) !important;    }

.aq_map_version { display: none !important;   }

@media only screen and (max-width: 650px) {
  .aqmap_below_buttons {  flex: 0 1 50%; flex-direction: column;  gap: 0.5rem 1rem;  align-items: stretch;   }
  .aqmap_latest_update { flex: 0 1 50%; }
  .element--sensormap { height: calc(50vh + 9.5rem);  }
  .aqmap_outer { height: calc(100% - 9.5rem);    }
  .aqmap_below_inner {  min-height: 7.5rem;   }
}

/* FORMS */
.required_field_label { position: relative; display: block; width: 100%; font-size: 0.75rem; line-height: 1; font-weight: 400; margin-bottom: 1.3125rem;    }
.element--contact form {  transition: opacity 0.4s ease;  margin-bottom: 1rem;   }
.form-group { margin-bottom: 1.3125rem; }
.form-group--half { position: relative; display: inline-block; vertical-align: top; width: 50%;  padding-right: 1rem;   }
form  label { display: block; font-weight: 400; margin-bottom: 0.5rem; font-size: 0.875rem; line-height: 1.28;  }
.form_field { width: 100%; max-width: 31rem; padding: 0.5rem 1rem; font-size: 1rem; border-width: 1px; border-style: solid;  border-radius: 0.625rem; background-color: var(--white); color: var(--dark-green); transition: border-color 0.2s;  font-family: "Poppins", serif;  font-weight: 400;  }
form  input:focus, form  textarea:focus { border-color: var(--dark-green); outline: none; }
form  textarea { resize: vertical; min-height: 7.5rem; }
.error-message {  font-size: 0.875rem; margin-top: 0.3rem; display: none; }
.error-message.active { display: block; }
.search_form .error-message.active { display: inline-block; margin-left: 1rem;  font-size: inherit; line-height: inherit; margin-top: 0rem;  }


.submit-button { font-size: 1.125rem; line-height: 1; padding: 0.5rem 1.125rem 0.5rem;   font-family: "Poppins", serif; font-weight: 500;  border-width: 1px; border-style: solid; border-radius: 0.625rem; cursor: pointer;  }
.submit-button:hover,
.submit-button:focus {   outline: none; }
.contact_form_thank_you { display: none; flex-direction: column; justify-content: center; height: 100%;  transition: opacity 0.4s ease; }
.newsletter_form_thank_you { display: none; flex-direction: column; justify-content: center; height: 100%;  transition: opacity 0.4s ease; }
.api_form_thank_you { display: none; flex-direction: column; justify-content: center; height: 100%;  transition: opacity 0.4s ease; }
.api_form_email_exists { display: none; flex-direction: column; justify-content: center; height: 100%;  transition: opacity 0.4s ease; }
.element--newssignup form { position: relative; width: 100%; display: flex; flex-direction: row; justify-content: flex-start; gap: 0rem 1rem;  flex-wrap: wrap; align-items: flex-start;  }
.element--newssignup .form-group { flex: 1 1 calc((100% / 3) - 1rem);   }

.element--newssignup .form-group.radio-group { margin: 0rem 0 1.3125rem; padding: 0; border: none;  width: 100%; flex: 0 1 100%; display: flex; flex-direction: row;  justify-content: flex-start; flex-wrap: wrap;  gap: 0rem 1rem;   }

.element--api_form .radio-option { padding: 0.125rem 0rem;   }



.radio-group-label { font-weight: 400;   font-size: 0.875rem; line-height: 1.28;  display: block; margin-bottom: 0.5rem;   }
.radio-option { display: flex; align-items: center; align-content: center;  font-size: 1rem;   }
.radio-option label { margin-bottom: 0rem; padding-left: 0.5rem;   }
.radio-option input[type='radio'] { appearance: none; width: 1rem; height: 1rem; border: 1px solid var(--dark-green); background-color: var(--white); border-radius: 50%;  position: relative; outline: none; cursor: pointer; }
.radio-option input[type='radio']:checked::before { content: ''; position: absolute; top: 2px; left: 2px; width: calc(1rem - 6px); height: calc(1rem - 6px); background-color: var(--dark-green); border-radius: 50%; }

.form-group.radio-group .error-message {  flex: 0 1 100%; width: 100%;   }

.form-group.checkbox-group { margin: 0rem 0 1.3125rem; padding: 0; border: none; width: 100%; flex: 0 1 100%; display: flex; flex-direction: row; flex-wrap: wrap; gap: 0.5rem 0; }
.checkbox-option { display: flex; align-items: flex-start; font-size: 0.75rem; }
.checkbox-option label { margin-bottom: 0rem; padding-left: 0.5rem; cursor: pointer; font-weight: 300;  }
.checkbox-option input[type='checkbox'] { appearance: none; margin-top: 0.25rem;  width: 1rem; height: 1rem; border: 1px solid var(--dark-green); background-color: var(--white);
  border-radius: 0.2rem; position: relative; outline: none; cursor: pointer; flex-shrink: 0;  }
.checkbox-option input[type='checkbox']:checked::before { content: ''; position: absolute; top: 0.05rem;
  left: 0.25rem; width: 0.35rem; height: 0.7rem; border: solid var(--dark-green); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.form-group.checkbox-group .error-message { flex: 0 1 100%; width: 100%; }

@media only screen and (max-width: 500px) {
  .element--newssignup form { position: relative; width: 100%; display: flex; flex-direction: column; justify-content: flex-start; gap: 0rem 1rem;  flex-wrap: wrap; align-items: flex-start;  }
  .element--newssignup .form-group { flex: 1 1 100%; width: 100%;    }
}

/* COOKIE BANNER */
.cookie_site_mask { display: none; position: fixed; top: 0px; left: 0px; width: 100%; height: 100%; z-index: 1000; background-color: var(--dark-green); opacity: 0; transition: all 0.5s;  }
.cookie_site_mask.shown { display: block;  opacity: 0.4;  }
.cookie_banner { display: none; position: fixed;  bottom: 0px; left: 0px; width: 100%; background-color: var(--white); color: var(--dark-green);  z-index: 1001; opacity: 0;  transition: all 0.5s; }
.cookie_banner.shown { display: block; opacity: 1;  }
.cookie_banner_inner { position: relative;  display: flex; flex-direction: row; justify-content: space-between; align-items: center; width: 100%; max-width: var(--inner_max_width);   padding: 1.5rem 1rem; margin: 0 auto; gap: 0rem 1rem;    }
.cookie_banner_text {  position: relative;  display: block;  font-weight: 300; font-size:  0.75rem; line-height: 1.5;  }
.cookie_banner_text p {  font-weight: 300; font-size:  0.75rem; line-height: 1.5;  }
.cookie_banner_buttons { position: relative; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0rem 1.25rem;  align-items: center;  flex-shrink: 0;   }
.cookie_banner_buttons .button {  border-width: 2px; font-weight: 600;   }
.cookie_banner_buttons a { font-size:  0.875rem; font-weight: 600;  margin: 0rem 1rem;  }
.cookie_banner_buttons a:hover { color:  var(--dark-green); }
.cookie_banner_buttons .button:hover { color: var(--white); background-color: var(--red);  }





@media only screen and (max-width: 500px) { 
  .cookie_banner_inner {  padding: 1.5rem 1rem; flex-wrap: wrap; gap: 1rem 1rem;   }
  .cookie_banner_text { width: 100%;  }
  .cookie_banner_buttons { width: 100%; justify-content: center;  }
}

/* SENSOR DATA DOWNLOAD */
.element--sensor_download details[open] .collapsible_text_content { max-height: 700px;  opacity: 1; }
.collapsible_text_title_date { margin-left: auto; font-weight: 600;   font-size: 0.875rem; line-height: 2.14;  }
.sensor_download_outer {  position: relative;  text-align: center;  max-width: 32.25rem; margin: 0 auto;    }
.sensor_download_month_columns {  position: relative; display: grid; grid-template-columns: repeat(2, 50%); gap: 2rem 1rem;  grid-template-rows: auto; grid-auto-flow: row; width: 100%;   }
.sensor_download_month_column {  position: relative; width: 16.125rem; list-style: none;  margin-left: 0px; padding-right: 0rem; padding-right: 3rem; grid-column-start: span 1;  }
.sensor_download_subtitle { position: relative; display: block; width: 100%; font-weight: 600;   }
.sensor_download_item { font-size: 0.75rem; line-height: 2;  display: flex; flex-direction: row; flex-wrap: nowrap;  }
.sensor_download_item span {  margin-right: auto;  font-weight: 300;   }
.sensor_download_item a {   font-weight: 600;  text-transform: uppercase;  }
.sensor_download_startdate, .sensor_download_enddate {  font-size: 0.75rem; line-height: 1;   }
.sensor_download_startdate { margin-left: 2rem;   }
/*.element--collapsible.inactive { background-color: var(--mid-grey) !important;   } */
.sensor_download_month_year_heading { display: flex; flex-direction: row; flex-wrap: nowrap;  font-size: 0.875rem; line-height: 1.71;   }
.sensor_download_month_year_heading span { font-weight: 600; margin-right: auto;  font-size: 0.875rem; line-height: 1.71;   }
.sensor_download_month_year_heading a { font-size: 0.75rem; line-height: 2;   font-weight:600; text-transform: uppercase;    }

@media only screen and (max-width: 600px) { 
  .sensor_download_month_columns {  flex-wrap: wrap; gap: 1rem 0rem; }
  .sensor_download_month_column {  position: relative;  flex: 0 0 50%; }
  .sensor_download_startdate, .sensor_download_enddate { display: none;   }
}


/* SENSOR LIST */
.sensor_list_borough_group {  position: relative; display: block; margin-bottom: 4.6rem;  }
.sensor_list_borough_group hr { position: relative; display: block; border-color: var(--dark-green); margin-top: 3.5rem;   }

.sensor_list_borough_group:last-of-type { margin-bottom: 0rem;   }
.element--sensor-item { padding: 0rem; margin-bottom: 1.25rem;  transition: all 0.2s ease;  }
.element--sensor-item a { border-radius: 0.625rem;  border-width: 1px; border-style: solid; box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.15); padding: 0.5rem 1rem; 
  display: flex; align-items: center; justify-content: space-between; border-color: var(--dark-green); text-decoration: none;  }
.element--sensor-item.inactive a { background-color: var( --light-green) !important;   }
.sensor_list_borough { font-size: 2.25rem; line-height: 1.33;  font-weight: 300; margin-bottom: 1.5rem;  }
.element--sensor-item .collapsible_text_title_date { flex-shrink: 0;  text-decoration: none !important;  color: var(--dark-green); line-height: inherit;  font-weight: 400;   }
.sensor_list_borough_group.hidden, .element--sensor-item.hidden {  display: none; }

/* SENSOR SEARCH FORM */
.sensor_search_form {  position: relative; display: block; margin-bottom: 4.6rem; }
.sensor_search_form label { position: relative; display: block; width: 100%;  font-weight: 600;   }
.sensor_search_form .form-group { position: relative; width: 100%; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center;    gap: 1.31rem; margin-bottom: 0rem;  }
.sensor_search_form button {  flex-grow: 0; flex-shrink: 0; background-color: var(--red) !important; color: var(--white) !important;  }
.sensor_search_form button:hover { background-color: var(--dark-green) !important;    }
.sensor_search_form input.form_field { width: 100%; flex-grow: 1;  max-width: none;  border-width: 2px; border-color: var(--red) !important; padding-right: 3rem;  }
.sensor_search_form hr {  position: relative; display: block; border-color: var(--dark-green); margin-top: 2rem;   }
.sensor_search_form input::placeholder {  color: var(--red);   }
.sensor_search_form .input-container { position: relative;  width: 100%; flex-grow: 1;  max-width: none;  }
.clear-btn { position: absolute; right: 0.75rem; top: 50%; transform: translateY(-50%); background: none; border: none; font-size: 1rem; line-height: 1;  
  border-radius: 50%; width: 1.5rem; height: 1.5rem; text-align: center;  cursor: pointer; padding: 0;  text-transform: uppercase;  display: flex; justify-content: center; align-items: center; align-content: center;
  font-weight: 600;  opacity: 0.75; visibility: visible; pointer-events: auto;  transition: opacity 0.2s ease;
}
.clear-btn.hidden { opacity: 0; visibility: hidden; pointer-events: none;  }
.clear-btn:hover {  opacity: 1;   }
.sensor_search_form .error-message { padding-left: calc(1rem + 2px); margin-top: 1rem; font-size: 1rem;   }

/* SENSOR PROFILE */
.element--sensor_image { position: relative; display: block;  align-self: stretch; padding: 0px 0px;   }
.element--sensor_image img { position: absolute; display: block;  height: 100%; width: 100%;  object-fit: cover;  }
.sensor_profile_name {  font-size: 1.5rem; line-height: 1.25;   font-weight: 600;  }

.sensor_profile_details > div { position: relative; display: block; font-size: 0.75rem; line-height: 2;  font-weight: 300;  }
.sensor_profile_details dt { display: inline-block;  font-weight: 600; margin-right: 0.25rem; }
.sensor_profile_details dd { display: inline-block;   }
.sensor_profile_details .sensor_profile_location {  font-size: 1.5rem; line-height: 1.25;  margin-bottom: 1rem;  }
.sensor_profile_details .sensor_profile_location dt {  font-weight: 300;   }
.sensor_profile_details .sensor_profile_location dd {  font-weight: 300;   }

.sensor_data_downloads { background-color:  var( --light-grey); margin-bottom: 2.5rem;  }
.element--sensor_map { align-self: stretch;  padding: 0px 0px;   }

.custom_download {  grid-column: 1 / 3;  text-align: left;  margin-top: 2rem;   }
.custom_download summary { padding: 0rem 0rem;   }
.custom_download_summary .collapsible_icon { margin-left: 0.5rem; width: 1rem;  }

.custom_download_form { position: relative; display: block; margin: 1rem 0rem;  }
.custom_download_form  .form-group.radio-group {  margin: 0rem 0 1.3125rem; padding: 0; border: none; width: 100%; flex: 0 1 100%; display: flex; flex-direction: row; justify-content: flex-start; flex-wrap: wrap; gap: 0rem 1rem; }

.custom_download_form input[type="date"] {  padding: 0.5rem 0.5rem; font-size: 0.875rem;   }
form label sub, form label sup { font-weight: inherit;  }
.custom_download_form .form-group--half label, .custom_download_form .radio-group-label {   font-weight: 600; }

.max_range_note { position: relative; display: block; width: 100%; font-size: 0.75rem; line-height: 1; font-weight: 400; margin-bottom: 0.5rem;    }



/* NEWS LISTING */
.news_listing_item { position: relative; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: flex-start; align-content: flex-start; margin-bottom: 5rem; gap: 0rem 1.25rem;   }
.news_listing_image { position: relative; display: block;  flex: 0 0 calc(50% - 0.625rem);   }
.news_listing_image img {  position: relative; display: block; width: 100%;   }
.news_listing_details {  position: relative; display: block; flex: 0 0 calc(50% - 0.625rem);  }
.news_listing_details_link { font-size: 1.5rem; line-height: 1.5;  margin-bottom: 1rem;  }
.news_listing_date {   font-size: 0.75rem; line-height: 1;   font-weight: 600;   margin-bottom: 1rem; }
.news_listing_intro {  position: relative; display: block; width: 100%; white-space: pre-wrap;   }

@media only screen and (max-width: 600px) { 
  .news_listing_item { flex-wrap: wrap; }
  .news_listing_image, .news_listing_details {  flex: 0 0 100%; }
  .news_listing_image { margin-bottom: 1rem;   }

}

/* NEWS ITEM */
.element--news_item {  position: relative; display: flex; flex-direction: row; flex-wrap: nowrap;  align-items: flex-start; align-content: flex-start; justify-content: center; }
.news_item { flex: 0 1 70%;  max-width: var(--inner_narrow_width); margin-top: 0.75rem; margin-bottom: 8rem;  }
.back_to_news {  flex: 0 1 15%;  padding: 0rem 0.5rem;  }
.news_item_image { position: relative; display: block; width: 100%;   }
.news_item figure img {  position: relative; display: block; width: 100%;  }
.news_item figcaption { position: relative; display: block; width: 100%; text-align: right; font-weight: 300; font-size: 0.875rem; line-height: 2.14;   }
.news_item figcaption p {  font-weight: 300; font-size: 0.875rem; line-height: 2.14;   }
.news_item_title { margin-top: 1.5rem; font-size: 2.25rem; font-weight: 600; line-height: 1.33; margin-bottom: 1rem;   }
.news_item_date {  font-size: 1.125rem; line-height: 1; font-weight: 600;  margin-bottom: 1.5rem;   }
.news_item_content { position: relative; display: block; width: 100%; margin-bottom: 5rem;   }
.news_item_content p.LargeBody { font-size: 1.5rem;  line-height: 1.5;   }
.news_item_content figure { position: relative; display: block; width: 75%; margin: 4rem auto;  }

.news_item_share_links {  position: relative; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; width: 100%; margin-bottom: 5rem;  font-size: 1.125rem; line-height: 1.5;  }
.reveal_share_links {  font-family: inherit; background: transparent; border: 0px;  color: var(--red); font-size: 1.125rem; line-height: 1.5;   vertical-align: baseline;  }
.reveal_share_links svg { display: inline-block;  vertical-align: middle;  position: relative; width: 1rem;  margin-left: 0.5rem;  }

.hidden_shares { position: relative; display: inline-block; vertical-align: top; opacity: 0;    }
.hidden_shares.displayed {  opacity: 1; transition: opacity 0.5s cubic-bezier(.24,.72,.35,1.01) 0.3s;  }
.hidden_shares a { margin-left: 1.25rem; white-space: nowrap;  }


@media only screen and (max-width: 96rem) { 
  .back_to_news { display: none;   }
  .news_item { flex: 0 1 100%; } 
}

/* RESOURCES LISTING */
.resources_listing_item { position: relative; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: flex-start; align-content: flex-start; margin-bottom: 5rem; gap: 0rem 1.25rem;    }
.resources_listing_item.hidden { display: none;   }
.resources_listing_image {  position: relative; display: block;  flex: 0 0 calc(25% - 0.625rem);  }
.resources_listing_image img {  position: relative; display: block; width: 100%;   }
.resources_listing_details {  position: relative; display: block; flex: 0 0 calc(75% - 0.625rem);  }
.resources_listing_details_link { font-size: 1.5rem; line-height: 1.5;  margin-bottom: 1rem;  font-weight: 600;   }

.resources_listing_date_type_outer { position: relative; display: block; width: 100%;  margin-bottom: 1rem;   }
.resources_listing_date {  position: relative; display: inline-block; vertical-align: middle;   font-size: 0.75rem; line-height: 1;   font-weight: 600;  margin-right: 1rem; }
.date_subtext {  font-weight: 300;   }
.resources_listing_type { position: relative; display: inline-block; vertical-align: middle;   font-size: 0.75rem; line-height: 1;  font-weight: 600;     }
.resource_types {  font-weight: 300;  }
.resources_listing_tags { font-size: 0.875rem; line-height: 1;   font-weight: 300; }
.resources_listing_tag {   font-weight: 300;    }

/* RESOURCE FILTERS */
.element--resources_listing_filters { padding: 0.2rem 0.5rem;   }
.resources_filters_outer { position: relative; display: block;  font-size: 0.875rem; line-height: 1;  font-weight: 300;   }
.resources_filters_types {  position: relative; display: inline-block; vertical-align: middle;   font-weight: 300; padding: 0.3rem 0rem;  }
.resources_filters_types a { display: inline; font-weight: 600;   }
.resources_filter_or {  display: inline-block;  vertical-align: middle;     font-weight: 300;   margin: 0 1.5rem;  padding: 0.3rem 0rem;  }
.resources_filters_tags {  position: relative; display: inline-block; vertical-align: middle;   font-weight: 300;  padding: 0.3rem 0rem; }
.resources_filters_tags label { display: inline-block;  vertical-align: middle;     font-weight: 300;      }
input.resources_filter_tag { position: relative; border: 0px; font-family: inherit;  font-size: 0.875rem; line-height: 1;  color: var(--red); padding: 0px 0.5rem;   border: 0px;  outline: none; border-radius: 0.3125rem;   }
input.resources_filter_tag:focus-visible { outline-offset: 2px; outline: 2px solid var(--dark-green);  }



.resources_filters_tags input::placeholder { opacity: 1 !important; color: var(--red); text-decoration: underline;   }
a.resources_filter { color: var(--dark-green) !important;     }
a.resources_filter:hover {   color: var(--red) !important;  }
a.resources_filter.selected { color: var(--red) !important;  text-decoration: none;   } 
.suggested_tags_here { position: absolute; display: block; top: calc(100% + 5px); left: 0px; width: 100%; z-index: 10; background-color: rgba(255,255,255,0.5); padding: 0.5rem; }
.suggested_tag { position: relative; display: block; width: 100%; font-size: 0.875rem;  line-height: 1.5; text-align: left; cursor: pointer; z-index: 110; user-select: none;  }
.resources_filter_tag_outer { position: relative;   }

/* RESOURCE ITEMS */
.element--resource_item .row { flex-wrap: wrap;   }
.resource_item_content_image { position: relative; display: block;  width: 100%; margin-bottom: 1rem;  }
.resource_item_top_section .row { position: relative; display: flex; flex-direction: row; flex-wrap: nowrap;  align-items: flex-start; align-content: flex-start; justify-content: center;   }
.resource_item_upper { flex: 0 1 70%;  max-width: var(--inner_narrow_width); margin-top: 0.75rem;  display: flex; flex-direction: row; flex-wrap: wrap; gap: 0px 1rem;  }
.back_to_news {  flex: 0 1 15%;  padding: 0rem 0.5rem;  }
.resource_item_image { flex: 0 0 calc(25% - 0.5rem);   }
.resource_item_top_details {  flex: 0 0 calc(75% - 0.5rem); display: block; position: relative;    }
.resource_item_title { display: block; position: relative; font-size: 1.5rem; line-height: 1.5; font-weight: 600;  }
.resource_item_intro {  flex: 0 0 100%; margin-top: 2rem; }

/* RESOURCE BLOCKS */
.resource_block_outer {   position: relative;  display: block; width: 100%; max-width: 31rem; margin: 3rem auto 0px;   }
.resource_block { position: relative; display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: center; width: 100%; max-width: 31rem; border: 2px solid var(--dark-green); border-radius: 0.625rem; padding: 2.5rem;  aspect-ratio: 1;  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);   }
.resource_block_title { position: relative; display: block; width: 100%;  font-size: 1.5rem; line-height: 1.5; font-weight: 600; text-decoration: underline; color: var(--red); margin-bottom: 1rem; text-transform: uppercase; margin-top: auto; }
.resource_block_types { position: relative;  font-size: 0.75rem; line-height: 1;   font-weight: 600;   }
.resource_block_description {  font-size: 1.125rem; line-height: 1.66;    font-weight: 300; margin: 2rem 0rem;    }
.resource_block_download_icon { width: 2.125rem; color: var(--red);  margin-top: auto;   }
.resource_block_alt_outer { position: relative; display: flex; flex-direction: column; gap: 0.25rem 0px;  margin-top: 0.5rem;   }
.alt_resource { position: relative; display: flex; flex-direction: row; flex-wrap: nowrap; background-color: var(--light-green); color: var(--dark-green) !important; font-size: 1.5rem; line-height: 1; 
  justify-content: space-between; align-items: center; padding: 1.5rem 2.5rem; gap: 0px 1rem; border-radius: 0.625rem;    }
.alt_resource_title { position: relative; display: block; font-weight: 600;  }
.alt_resource_download { width: 1.0625rem; flex-grow: 0; flex-shrink: 0;   }




@media only screen and (max-width: 96rem) { 
  .resource_item_upper { flex: 0 1 100%; } 
 
}

@media only screen and (max-width: 40rem) { 
  .resource_item_image { flex: 0 0 100%;  margin-bottom: 1rem;  }
  .resource_item_top_details {  flex: 0 0 100%;   }

}



/* MAIN MENU */
body.menu_open { height: 100vh; overflow: hidden; }
.main_menu_button {  font-family:"Poppins"; font-size: 1.125rem; line-height: 1.11;  background: none; border: 0px; padding: 0px; color: var(--white); font-weight: 600; text-decoration: underline; display: flex; flex-direction: row; align-items: center; align-content: center; gap: 0rem 1rem;    }
.main_menu_button svg { display: block; width: 1rem;   }
.main_menu_close { display: none; opacity: 0;  font-size: 1.125rem; line-height: 1.11; font-weight: 600; text-decoration: underline; flex-direction: row; align-items: center; align-content: center; gap: 0rem 1rem; position: absolute; top: calc((var(--header-offset) / 2) - 0.5rem); right: 2.18rem;  background: none; border: 0px; padding: 0px; color: var(--white);  }
.main_menu_close:focus-visible {  outline-color: var(--white); }
.menu_open .main_menu_close { display: flex; opacity: 1;  z-index: 1010;  transition: all var( --menu-speed) ease;    @starting-style {  opacity: 0;   }    }
.main_menu_close svg { display: block; width: 1rem;    }
.nav_list_outer {  position: absolute;  display: block;   right: 0px; bottom: 0px; top: 5.24875rem;  width: 29rem; z-index: 1010;  background-color: var(--light-green); transform: translateX(100%);   transition: transform var( --menu-speed) ease; overflow-x: hidden; }
.menu_open .nav_list_outer {  display: block;  transform: translateX(0%); @starting-style {   transform: translateX(100%);  } }
.menu_page_mask { position: absolute; display: none;  z-index: 1009;  top: 0px; left:0px; width: 100%; height: 100%; background-color: var(--dark-green); opacity: 0;  mix-blend-mode: multiply;   transition: opacity var( --menu-speed) ease;  }
.menu_open .menu_page_mask  {  display: block;  opacity: 0.99;   @starting-style {   opacity: 0;  }  }
.nav_list { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%;  background-color: var(--light-green);  transition: transform var( --menu-speed) ease; overflow-x: hidden; }
.nav_list { display: none;   }
.nav_list.open { display: block;   }
.nav_list.level_2, .nav_list.level_3, .nav_list.level_4, .nav_list.level_5 { transform: translateX(100%);     }
.nav_list.level_2 {  z-index: 1012; }
.nav_list.level_3 {  z-index: 1013; }
.nav_list.level_4 {  z-index: 1014; }
.nav_list.level_5 {  z-index: 1015; }
.nav_list.submenu_open { transform: translateX(0%); @starting-style {   transform: translateX(100%);  }  }
.nav_list.open.immediate {  transition: transform 0s;  }
.nav_list_outer ul {   display: flex; flex-direction: column; justify-content: flex-start; gap: 1px; background-color: #279F8D; padding-bottom: 1px;   }

.nav_list_outer ul, .nav_list_outer li {  list-style: none; margin: 0px; border: 0px;  }
.main_menu_item { font-size: 1.125rem; line-height: 1.11;  font-weight: 600; color: var(--red); display: flex; flex-direction: row; align-items: stretch; align-content: stretch; gap: 0px 1px;  }
.main_menu_item a { padding: 1.9rem 1rem 1.9rem 8rem;   flex-grow: 1;  background-color: var(--white); font-weight: 300; }
.main_menu_item a:hover { background-color: var(--dark-green);  color: var(--white) !important; }
.main_menu_item a.selected { background-color: var(--red);    }
.main_menu_item.selected > a   { color: var(--white) !important; text-decoration: none; background-color: var(--red);    }
.main_menu_item.selected > a:focus-visible {  outline: 2px solid white;   }
.main_menu_drilldown {  border: 0px; margin: 0px;  padding: 1.9rem 2.25rem; color: inherit; flex-grow: 0; flex-shrink: 0;  background-color: var(--white);     }
.main_menu_drilldown:hover {  background-color: var(--dark-green); color: var(--white);  }
.main_menu_drilldown svg {  width: 0.625rem;   }
.main_menu_back_item { font-size: 1.125rem; line-height: 1.11;  font-weight: 600; color: var(--white); display: flex; flex-direction: row; justify-content: flex-start; align-items: stretch; align-content: stretch; gap: 0rem 1px;  }
.submenu_back_button {  background-color: var(--white); color: var(--red) !important;   border: 0px; margin: 0px; padding: 1.9rem 2.25rem;    }
.submenu_back_button:hover { background-color: var(--dark-green); color: var(--white) !important;    }
.main_menu_back_item a { padding: 1.9rem 1rem 1.9rem 8rem;   flex-grow: 1;  background-color: var(--red); color: var(--white) !important;  }
.main_menu_back_item a:hover { background-color: var(--dark-green);  color: var(--white) !important; }
.submenu_back_button svg { width: 0.625rem;  transform: rotate(180deg);   }
.noLongerTop > .simplebar-track { display: none !important;   }
.submenu_back_label { display: block; padding: 1.9rem 1rem 1.9rem 2.875rem;  flex-grow: 1; background-color: var(--red);    }

.nav_list *:focus-visible { outline-offset: -5px; }

[aria-hidden="true"] a, [aria-hidden="true"] button { pointer-events: none; }


@media only screen and (max-width: 500px) {  
  .nav_list_outer { width: 100%;  }   

}



.simplebar-track.simplebar-vertical { width: 10px; background: var(--white); }
.simplebar-scrollbar:before {  background: var(--red); border-radius: 3px; }
.simplebar-track.simplebar-vertical.simplebar-hover .simplebar-scrollbar:before { opacity: 1; }
.simplebar-scrollbar:before { opacity: 1 !important; }





/* SENSOR CHARTS */
#sensor_chart { position: relative; display: block;  width: 100%; max-width: 50rem; margin: 0 auto;  }
.sensor_chart_outer { position: relative;  display: flex; flex-direction: column; gap: 1.25rem; width: 100%; height: 100%;   background-color: white;  padding: 1.25rem; transition: all 0s ease-in-out; border: 1px solid var(--dark-green);  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25); }
.sensor_chart_canvas { width: 100%;  flex-grow: 1;   }

.guideline_buttons {  flex-grow: 0; flex-shrink: 0;  position: relative; width: 100%; display: flex; flex-direction: row;  align-self: flex-end; gap: 0rem 1.25rem;  }
.guideline_button { flex: 0 1 100%; background-color: var(--white); color: var(--dark-green); border-color: var(--dark-green);  text-align: center; border-width: 1px; border-style: solid; border-radius: 0.625rem; 
  font-size: 0.875rem; line-height: 1; padding: 0.5rem 1.125rem 0.5rem; font-family: "Poppins", serif; font-weight: 300; 
}
.guideline_button:hover {  background-color: #E6F5F2;  }
.guideline_button.active { background-color: var(--dark-green); color: var(--white);   }
.guideline_button.active:hover {  background-color: #123F3A; }

.sensor_chart_upper {   flex-grow: 0; flex-shrink: 0;  position: relative; width: 100%; display: flex; flex-direction: row;  flex-wrap: nowrap; gap: 0rem 1rem; align-items: center;  }

.sensor_chart_outer .pollutionToggleControls { display: block; flex-shrink: 0; background-color: #E6F5F2; border-radius: 1.875rem; padding: .5875rem; }
.sensor_chart_outer .MuiFormControlLabel-root { margin-left: 0; padding-right: .5rem; margin-right: .5rem; }

.sensor_chart_outer .pollutionToggleControls .MuiButtonBase-root, .sensor_chart_outer .pollutionToggleControls .MuiButtonBase-root { padding: 0; margin-right: .5rem; color: var(--red); background-color: var(--white);  }
.sensor_chart_outer .MuiTypography-root { font-family: var(--font-poppins); font-weight: 300; font-size: .875rem;  line-height: 1.2; }

.chart_tooltip { border-radius: 0.625rem !important;   width: 14.625rem;   }
.ctt_inner { position: relative; display: flex; flex-direction: row; flex-wrap: nowrap;   }
.ctt_left { width: 50%; color: var(--dark-green); font-weight: 300; font-size: 0.75rem; line-height: 1.5;    }
.ctt_right { width: 50%; color: var(--dark-green); font-weight: 300; font-size: 0.75rem; line-height: 1.5;  text-align: right;  }
.ctt_bold { font-weight: 600;   }
.ctt_tip {  width: 40px; height: 20px; position: absolute; left: 50%; top: 100%;  margin-left: -20px; overflow: hidden; }
.ctt_tip:before { content: "";  display: block; position: relative; width: 17px; height: 17px; padding: 1px; margin: -10px auto 0; border-style: solid; border-color: #00b315; border-width: 0px 2px 2px 0px; background: #fff; transform: rotate(45deg);  }

/* DATE RANGE FORM */
.chart_date_range { position: relative; display: flex; flex-direction: row; flex-wrap: wrap; flex-grow: 0; gap: 0rem 1rem;  justify-content: flex-start;   }
.chart_form_group { position: relative; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; }
.chart_form_group label {  font-size: 0.875rem; line-height: 1;   font-family: "Poppins", serif; font-weight: 300; margin-right: 0.5rem; margin-bottom: 0rem;  }
.max_range_note { position: relative; display: block; width: 100%; font-size: 0.75rem; line-height: 1; font-weight: 300; margin-top: 0rem; }
.error-message { color: var(--red);   }

.chart_form_field { width: 100%; max-width: 15rem; padding: 0.25rem 0.5rem; font-size: 0.75rem; border-width: 0px; border-style: solid; border-radius: 0.625rem; background-color: var(--white); color: var(--red); transition: border-color 0.2s; font-family: "Poppins", serif; font-weight: 600; border-color: var(--dark-green);  }
.chart_form_field:focus { outline: 0px;   }

@media only screen and (max-width: 500px) {  
  .sensor_chart_outer .pollutionToggleControls {  flex-shrink: 1; }

}

/* SEARCH */
body.search_open { height: 100vh; overflow: hidden; }
.search_outer { margin-left: auto; }
.search_button {  font-family:"Poppins"; font-size: 1.125rem; line-height: 1.11;  background: none; border: 0px; padding: 0px; color: var(--white); font-weight: 600; text-decoration: underline; display: flex; flex-direction: row; align-items: center; align-content: center; gap: 0rem 1rem; margin-left: auto;   }
.search_button svg { display: block; width: 1rem;   }
.search_bar {  position: absolute; top: 5.24875rem; left: 0px; width: 100%;  display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center; padding: 3.1875rem 1rem 4.75rem; background-color: var( --light-green); z-index: 1010; display: none; opacity: 0;   transition: opacity var( --menu-speed) ease; }
.search_open .search_bar {  display: flex; opacity: 1; @starting-style {   opacity: 0;  } }
.search_bar_inner { position: relative; display: block;  width: 100%; max-width: 63.25rem;    }
.search_form { position: relative; display: flex;  flex-direction: row; flex-wrap: wrap; width: 100%;  }

.search_form .required_field_label { position: relative; display: block; width: 100%; color: var(--dark-green); margin-bottom: 0rem;   }
.search_form label {  position: relative; display: block; width: 100%; font-size: 1.125rem; line-height: 1.11rem;  margin-bottom: 0.85rem; color: var(--dark-green); font-weight: 600;   }
.search_form .form-group { width: 100%; display: flex; flex-direction: row; gap: 0rem 1.3125rem; justify-content: center;  align-items: stretch; align-content: center; margin-bottom: 0.5rem;  }
.search_form .form-group input { flex-grow: 1; border: 2px solid var(--red); border-radius: 0.6125rem;  font-weight: 300; font-size: 1.125rem; line-height: 1.11rem; padding: 0.85rem 1.375rem; color: var(--red);  }
.search_form .form-group input::placeholder { color: var(--red);  opacity: 1;   }
.search_form .submit-button { background-color: var(--red); color: var(--white);  flex-grow: 0; flex-shrink: 0;  }

.search_form .submit-button:focus-visible { outline-offset: 2px; outline: 2px solid var(--dark-green);  }

.search_page_mask  { position: absolute; display: none;  z-index: 1009;  top: 0px; left:0px; width: 100%; height: 100%; background-color: var(--dark-green); opacity: 0;  mix-blend-mode: multiply;   transition: opacity var( --menu-speed) ease;  }
.search_open .search_page_mask   {  display: block;  opacity: 0.99;   @starting-style {   opacity: 0;  }  }

.search_close { display: none; opacity: 0;  font-size: 1.125rem; line-height: 1.11; font-weight: 600; text-decoration: underline; flex-direction: row; align-items: center; align-content: center; gap: 0rem 1rem; position: absolute; top: calc((var(--header-offset) / 2) - 0.5rem); right: 2.18rem;  background: none; border: 0px; padding: 0px; color: var(--white);  }
.search_close:focus-visible {  outline-color: var(--white); }
.search_open .search_close { display: flex; opacity: 1;  z-index: 1010;  transition: all var( --menu-speed) ease;    @starting-style {  opacity: 0;   }    }
.search_close svg { display: block; width: 1rem;    }
.search_button:focus-visible {  outline: 2px solid var(--dark-green); outline-offset: 2px;   }


@media only screen and (max-width: 500px) { 
  .header_inner { gap: 0rem 0.75rem;  }
  .search_button, .main_menu_button {gap: 0rem 0.25rem;  }
}


/* SEARCH RESULTS */
.sr_result_count { position: relative; display: block; width: 100%; font-size: 1.5rem; line-height: 2; font-weight: 300; text-align: left;   }

.search_results_listing { position: relative; display: block; width: 100%;   }
.sr_subtitle { font-size: 1.125rem; line-height: 1.66;  margin-bottom: 2.5rem; font-weight: 600; }
.sr_listing_item { position: relative; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: flex-start; align-content: flex-start; margin-bottom: 2.5rem; gap: 0rem 1.25rem;    }
.sr_listing_image {  position: relative; display: block;  flex: 0 0 calc(25% - 0.625rem);  }
.sr_listing_image img {  position: relative; display: block; width: 100%;   }
.sr_listing_details {  position: relative; display: block; flex: 0 0 calc(75% - 0.625rem);  }
.sr_listing_details_link { font-size: 1.5rem; line-height: 1.5;  margin-bottom: 0rem;  font-weight: 600;   }


/* API Details */
.api_details p:empty { display: none;   }

.api_details .ParaHeadingH4 { margin-top: 1rem;   }
.json_example {
  color: #fff;
  padding: 0rem 2rem;
  font-family: monospace;
  font-size: 0.9rem;
}