:root {
  --color-primary: #8cc63f;
  --color-tertiary: #709e33;
  --secondary: #a29081;
  --color-secondary: #8a7a6c;
  --font-headline: mulish-variable, sans-serif;
  --font-body: cormorant, sans-serif;
  --color-light-shade:#f2f2f2;
  --color-dark-shade:#1f1f1f;
}
.eds_news_Ozone .edn_clearFix:after {
  display: table;
  content: "";
  clear: both;
  width: 100%;
}
.eds_news_Ozone.eds_subCollection_news::after {
  display: block;
  content: "";
  clear: both;
  font-size: 0;
  line-height: 0;
  height: 0;
}
.eds_news_Ozone.eds_subCollection_news .fa {
  line-height: 1;
}
.eds_news_Ozone.eds_subCollection_news .edn_article .edn_articleTitle {
  margin-block: 5px;
  text-wrap: balance;
  font-size:clamp(1.05rem,4vw,1.25rem);
  font-weight:bold;
  text-transform:initial!important;
}
.eds_news_Ozone.eds_subCollection_news .edn_article h1.edn_articleTitle {
  margin-block: 12px 1rem;
  font-size:clamp(1.75rem,5vw,2.5rem)
}

.eds_news_Ozone.eds_subCollection_news .edn_articleTitle a {
  color: var(--color-tertiary);
}
.eds_news_Ozone.eds_subCollection_news .edn_articleTitle a:hover {
  color: var(--color-secondary);
  text-decoration: none;
}
.eds_news_Ozone.eds_subCollection_news .edn_mediaContainer {
  width:100%;
  height:15rem;
  background:var(--color-dark-shade, #1a1a1a);
  border-bottom:4px solid var(--color-primary);
}
.eds_news_Ozone.eds_subCollection_news .edn_mediaContainer > a {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  text-indent: -99999px;
  outline: 0;
  -moz-outline-style: none;
  outline-style: none;
  background: 0 0;
}
.edn_article.edn_articleDetails .article_main_image img {
  margin-bottom: 1.25rem;
}
.eds_news_Ozone.eds_subCollection_news .edn_mediaContainer img {
  width: 100%;
  height: 100%;
  object-fit:cover;
  display: inline-block;
}


.eds_news_Ozone.eds_subCollection_news .edn_articlesRssWrapper {
  margin: 20px 0;
  clear: both;
}
.eds_news_Ozone.eds_subCollection_news .edn_articlesRssWrapper a {
  text-align: right;
  border-top: solid 1px #eee;
  border-bottom: solid 1px #eee;
  background-color: #f8f8f8;
  padding: 3px 10px;
  display: block;
}
.eds_news_Ozone.eds_subCollection_news .edn_articlesRssWrapper a span {
  display: inline-block;
  vertical-align: middle;
  display: inline-block;
  line-height: 1;
  color: #504e4e;
}
.eds_news_Ozone.eds_subCollection_news .edn_articlesRssWrapper a span::before {
  content: "\f09e";
  font-family: FontAwesome;
  color: var(--color-primary);
  margin-right: 5px;
  font-size: 20px;
  display: inline-block;
  vertical-align: middle;
}
.eds_news_Ozone.eds_subCollection_news .edn_articlesRssWrapper a:hover {
  background-color: #fff;
}
.eds_news_Ozone .fa {
  font-family: FontAwesome !important;
}
.eds_news_Ozone.eds_subCollection_news .article_pager {
 background: var(--color-light-shade, #e6e6e6);
  box-shadow: rgba(0, 0, 0, 0.05) 0px 1px 2px 0px;
  float: none;
  clear: both;
  overflow: hidden;
  border-radius: 4px;
  margin: 20px auto 0;
  font-size: 0;
  width: fit-content;
  max-width: 100%;
  display: flex;
  justify-content: center;
}
.eds_news_Ozone.eds_subCollection_news .article_pager a,
.eds_news_Ozone.eds_subCollection_news .article_pager > span,
.eds_news_Ozone.eds_subCollection_news .article_pagination a,
.eds_news_Ozone.eds_subCollection_news .article_pagination > span {
  display: inline-block;
  font-size: 1.042rem;
  line-height: 1;
  padding: 7px 10px;
  border-left: solid 1px var(--color-primary);
  border-right: none !important;
  border-bottom: none !important;
  border-top: none !important;
  text-decoration: none;
  transition: all 0.2s linear;
}
.eds_news_Ozone.eds_subCollection_news .article_pager a {
  color: #504e4e;
}
.eds_news_Ozone.eds_subCollection_news .article_pager a.active,
.eds_news_Ozone.eds_subCollection_news .article_pager a:hover,
.eds_news_Ozone.eds_subCollection_news .article_pagination > span {
  background: var(--color-primary);
  color: #fff;
}
.eds_news_Ozone.eds_subCollection_news .article_pager a:first-child {
  border-left: none;
} /*! EDIT ARTICLE */
.eds_news_Ozone.eds_subCollection_news .edn_article {position:relative;z-index:2;overflow:visible}
.edn_adminActions {
  position:absolute;
  z-index:300;
  top:15px;
  left:15px;
}
.eds_news_Ozone.eds_subCollection_news .admin_action::before,
.eds_news_Ozone.eds_subCollection_news .edn_adminActions > a::before {
  font-family: FontAwesome;
  display: inline-block;
  margin-right: 5px;
  font-size: 15px;
  opacity: 0.8;
}
.eds_news_Ozone.eds_subCollection_news .admin_action.edit,
.eds_news_Ozone.eds_subCollection_news .edn_adminActions > a.edit {
  border-radius: 4px;
    background: #667eea ;
  color: #fff;
  box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
  padding: 7px;
  transition:all .3s ease;
  position:relative;
  z-index:100;
}

.eds_news_Ozone.eds_subCollection_news .admin_action.edit:hover,
.eds_news_Ozone.eds_subCollection_news .edn_adminActions > a.edit:hover {
    background:#3C7A9A;
 
}
.eds_news_Ozone.eds_subCollection_news .admin_action.edit::before,
.eds_news_Ozone.eds_subCollection_news .edn_adminActions > a.edit::before {
  content: "\f040";
}
.edn_article_gallery {
  display: none;
}

.news .edn_userDashboard {position:fixed!important;bottom:0;left:50%;transform:translateX(-50%);z-index:3000;}
/*! END OF Ozone.css */

/* CASE STUDY & BLOG LIST LAYOUT */
.tc-grid-tiles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gap-base, 1.5rem);
  max-width: 1200px;
  margin-block:4rem 6.25rem;
  margin-inline: auto;
}

.tc-grid-tiles.case-study-tiles {
  grid-template-columns: repeat(3, 1fr);
}

.tc__grid-item {
    text-align: left;
      list-style: none;
      border-radius: 1rem;
      overflow: hidden;
      background-color:#f7f7f7;
      border: 1px solid #e8e8e8;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      position: relative;
      z-index: 1;
      transition: box-shadow .3s,transform .3s;
}

.tc__item-content {
    padding:1.5rem;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    position:relative;
    z-index:2;
}

.tc__grid-item .edn_articleSummary {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 13px;
  text-align: left !important;
  margin-bottom:1.25rem;
  line-height:1.2;
}

.edn_articleSummary p {
line-height:1.2;
}

.tc__grid-item:hover {
    box-shadow: #959da533 0 8px 24px;
}
/* Tablet: 2 columns */
@media (max-width: 991px) {
  .tc-grid-tiles, .tc-grid-tiles.case-study-tiles  {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Mobile: single column */
@media (max-width: 575px) {
  .tc-grid-tiles, .tc-grid-tiles.case-study-tiles  {
    grid-template-columns: 1fr;
  }
}

.tc-grid-tiles .tc__grid-item {
  margin-bottom: 0;
}

.jg-caption {display:none!important}

#ChameleonGallery {display:none!important}

/* CATEGORY DROPDOWN */
.edNews_categoryDropdown {
  max-width:315px;
  margin:0 auto 2rem;
}

.edNews_categoryDropdown .edn_category_menu_wrapper,
.edNews_categoryDropdown .edn_category_menu_wrapper ul {
  list-style:none;
  margin:0;
  padding:0;
}

/* The toggle row (title + expand/collapse chevron) */
.edNews_categoryDropdown .node > div {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  padding:.85rem 1.25rem;
  background:var(--color-primary);
  border-radius:12px;
  cursor:pointer;
  transition:background-color .25s ease, border-radius .25s ease;
}

.edNews_categoryDropdown .node > div:hover {
  background:var(--color-secondary);
}

.edNews_categoryDropdown .node.level_0 > div, .edNews_categoryDropdown .node.level_1 > div, .edNews_categoryDropdown .node.level_2 > div  {background:#fff;padding:.25rem}
.edNews_categoryDropdown .edn_module_title {
  display:block;
  margin:0;
  color:#fff;
  font-size:1rem;
  font-weight:600;
  line-height:1;
}

/* Chevron toggle — replace the text label with an icon */
.edNews_categoryDropdown .expand_collapse {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.25rem;
  height:1.25rem;
  flex-shrink:0;
  text-decoration:none;
}
.edNews_categoryDropdown .expand_collapse span {
  display:none;
}
.edNews_categoryDropdown .expand_collapse::after {
  content:"\f078"; /* FontAwesome chevron-down */
  font-family:FontAwesome;
  color:#fff;
  font-size:.85rem;
  line-height:1;
  transition:transform .25s ease;
}
/* Rotate the chevron when the menu is open */
.edNews_categoryDropdown .node.opened > div .expand_collapse::after,
.edNews_categoryDropdown .node.active > div .expand_collapse::after {
  transform:rotate(180deg);
}

/* The expandable panel of category links */
.edNews_categoryDropdown .node > ul {
  margin-top:.4rem;
  padding:.4rem;
  background:#fff;
  border:1px solid #e8e8e8;
  border-radius:12px;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
  position:absolute;
  z-index:10;
  width:100%;
  max-width:315px;
  /* Scroll long category lists instead of overflowing the page.
     !important is required because the EasyDNNnews expand/collapse
     uses a jQuery slide animation that writes inline overflow/height
     onto this <ul>, which would otherwise override these rules. */
  max-height:300px !important;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch;
}

/* Slimmer, on-brand scrollbar for the panel */
.edNews_categoryDropdown .node > ul {
  scrollbar-width:thin;
  scrollbar-color:var(--color-primary) transparent;
}
.edNews_categoryDropdown .node > ul::-webkit-scrollbar {
  width:8px;
}
.edNews_categoryDropdown .node > ul::-webkit-scrollbar-track {
  background:transparent;
}
.edNews_categoryDropdown .node > ul::-webkit-scrollbar-thumb {
  background:var(--color-primary);
  border-radius:8px;
  border:2px solid #fff;
}
.edNews_categoryDropdown .node > ul::-webkit-scrollbar-thumb:hover {
  background:var(--color-secondary);
}

.edNews_categoryDropdown .node > ul .edn_rss,
.edNews_categoryDropdown .node > ul .edn_articlecount {
  display:none !important;
}

.edNews_categoryDropdown .node > ul .edn_category {
  display:block;
  padding:.65rem .85rem;
  border-radius:8px;
  color:var(--color-tertiary);
  font-weight:500;
  text-decoration:none;
  transition:background-color .2s ease, color .2s ease;
  width:100%;
}
.edNews_categoryDropdown .node > ul .edn_category:hover {
  background: #f0f0f0;
  color:var(--color-primary);
}
.edNews_categoryDropdown .node > ul .node.active .edn_category {
  background:var(--color-primary);
  color:#fff;
}

/* Category rows that contain sub-categories */
.edNews_categoryDropdown .hasChild > .edn_category {
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
}
.edNews_categoryDropdown .hasChild > .edn_category::after {
  content:"\f105"; /* FontAwesome chevron-right */
  font-family:FontAwesome;
  font-size:.85rem;
  color:var(--color-secondary);
  flex-shrink:0;
  transition:transform .2s ease;
}
.edNews_categoryDropdown .hasChild > .edn_category:hover::after {
  transform:translateX(3px);
}

/* Indent nested sub-category lists under a hasChild node */
.edNews_categoryDropdown .hasChild + ul,
.edNews_categoryDropdown .hasChild ul {
  margin:.15rem 0 .35rem;
  padding-left:.85rem;
  padding-block:.25rem;
  border-left:2px solid var(--color-light-shade, #f0f0f0);
  position:relative;
  border:none;
  box-shadow:none;
  scrollbar-color: #fff transparent!important;
}

/* RELATED ARTICLES (article details footer) */
.tc-related {
  margin-block:4rem;
  padding-block:3rem;
  background:var(--color-secondary);
}

.tc-case-study .tc-related__heading {
  margin:0 0 2rem;
  text-align:center;
  font-family:var(--font-headline, mulish-variable, sans-serif);
  font-size:clamp(1.5rem, 4vw, 2.25rem);
  line-height:1.2;
  color:#fff;
}

/* The stock EasyDNNnews markup wraps the heading text in a <span>;
   reset it so it inherits the h2 sizing instead of the theme default. */
.tc-related__heading span {
  font:inherit;
  color:inherit;
}

.tc-related__grid {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:var(--gap-base, 1.5rem);
  margin:0;
  padding:0;
  list-style:none;
}

.tc-related__item {
  margin:0;
  padding:0;
  list-style:none;
}

/* Whole card is the click target, so the <a> carries the tile styling.
   The card holds block children (div/h3/p), so the link must be a flex
   container rather than the theme's default inline <a>. `color:inherit`
   stops the global `a{color:#00f}` from tinting the summary text. */
.tc-related__link {
  display:flex;
  flex-direction:column;
  height:100%;
  overflow:hidden;
  border:1px solid #e8e8e8;
  border-radius:1rem;
  background:#fff;
  color:inherit;
  text-decoration:none;
  transition:box-shadow .3s ease, transform .3s ease;
}

.tc-related__link:hover,
.tc-related__link:focus-visible {
  color:inherit;
}

.tc-related__link:hover,
.tc-related__link:focus-visible {
  transform:translateY(-4px);
  box-shadow:#959da533 0 8px 24px;
  text-decoration:none;
}

.tc-related__link:focus-visible {
  outline:2px solid var(--color-primary, #8cc63f);
  outline-offset:2px;
}

.tc-related__media {
  display:block;
  width:100%;
  aspect-ratio:3 / 2;
  overflow:hidden;
  background:var(--color-dark-shade, #1f1f1f);
  border-bottom:4px solid var(--color-primary, #8cc63f);
}

.tc-related__img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s ease;
}

.tc-related__link:hover .tc-related__img {
  transform:scale(1.05);
}

/* Fallback band for articles with no image, keeps card heights even */
.tc-related__media--empty {
  background:linear-gradient(135deg, var(--color-tertiary, #709e33), var(--color-primary, #8cc63f));
}

.tc-related__body {
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  align-items:flex-start;
  gap:.75rem;
  padding:1.5rem;
}

/* h3 inside the card: strip the theme's heading margins so the
   flex gap is the only vertical rhythm here. */
.tc-related__title {
  display:block;
  margin:0;
  font-family:var(--font-headline, mulish-variable, sans-serif);
  font-size:clamp(1.05rem, 2.5vw, 1.25rem);
  font-weight:700;
  line-height:1.3;
  text-wrap:balance;
  color:var(--color-tertiary, #709e33);
  transition:color .25s ease;
}

/* Summary clamped to 3 lines. The Summary token can emit its own <p>,
   so clamp the wrapper and any nested paragraph. */
.tc-related__summary,
.tc-related__summary p {
  display:-webkit-box;
  -webkit-line-clamp:3;
  line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:0;
  font-family:var(--font-body, cormorant, sans-serif);
  font-size:.95rem;
  line-height:1.45;
  color:#504e4e;
}

/* A nested <p> is the actual text container when present; the outer
   element then only needs to pass the clamp through. */
.tc-related__summary p:not(:first-child) {
  display:none;
}

.tc-related__link:hover .tc-related__title {
  color:var(--color-secondary, #8a7a6c);
}

/* margin-top:auto pins the CTA to the card bottom so it lines up
   across cards whose titles/summaries differ in height. */
.tc-related__cta {
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  margin-top:auto;
  padding-top:.25rem;
  font-family:var(--font-headline, mulish-variable, sans-serif);
  font-size:.85rem;
  font-weight:600;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:var(--color-primary, #8cc63f);
}

.tc-related__cta::after {
  content:"\f105"; /* FontAwesome chevron-right */
  font-family:FontAwesome;
  font-size:.9rem;
  line-height:1;
  transition:transform .25s ease;
}

.tc-related__link:hover .tc-related__cta::after {
  transform:translateX(4px);
}

/* Tablet: 2 columns */
@media (max-width: 991px) {
  .tc-related__grid {
    grid-template-columns:repeat(2, 1fr);
  }
}

/* Mobile: single column */
@media (max-width: 575px) {
  .tc-related__grid {
    grid-template-columns:1fr;
  }
  .tc-related {
    margin-block:2.5rem;
    padding-block:2rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tc-related__link,
  .tc-related__img,
  .tc-related__cta::after {
    transition:none;
  }
  .tc-related__link:hover {
    transform:none;
  }
  .tc-related__link:hover .tc-related__img {
    transform:none;
  }
}

