/* 
Theme Name: Clearlight Press (Hello Elementor Child)
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: The Engine Is Red
Author URI: https://theengineisred.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/**************************
 * Header
 *************************/
.topbar-home {
  background: linear-gradient(
    90deg,
    var(--e-global-color-accent) 10%,
    #00a99f 100%
  );
  background-size: 200% auto;
}
.home .topbar-home {
  background-position: right center;
  animation: animate-background-gradient 1s ease-in-out 1.8s forwards;
}

.topbar-message p {
  margin-bottom: 0;
}
.topbar-message a {
  color: white;
}
.topbar-message a:hover {
  color: white;
}

@media (max-width: 1024px) {
  .mobile-menu .elementor-sticky--active {
    box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 10px 0px;
  }

  .mobile-menu .elementor-nav-menu > .menu-item:not(.button) {
    border-bottom: 1px solid var(--e-global-color-2ccb96c);
  }
  .mobile-menu .has-submenu {
    display: flex;
    justify-content: space-between;
  }
  .mobile-menu .sub-arrow svg {
    display: none;
  }
  .mobile-menu .sub-arrow::after {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    background: url("./icons/plus.svg") center no-repeat;
  }
  .mobile-menu .highlighted .sub-arrow::after {
    background-image: url("./icons/minus.svg");
  }
  .mobile-menu .sub-menu .sub-menu {
    background-color: var(--e-global-color-6b349c5) !important;
  }
  .mobile-menu .sub-menu .sub-menu .menu-item {
    border-bottom: 1px solid #fff;
  }
  .mobile-menu .button a {
    display: inline-block;
    margin: 12px 24px 0;
    border-radius: var(--e-a-border-radius);
    padding-top: 16px !important;
    padding-bottom: 16px !important;
    background: var(--e-global-color-accent);
    color: #fff;
  }
  .mobile-menu .button a:hover,
  .mobile-menu .button a:focus {
    background-color: var(--e-global-color-accent) !important;
  }
}

@keyframes animate-background-gradient {
  0% {
    background-position: right center;
  }

  to {
    background-position: unset;
  }
}

/**************************
 * Building Blocks
 *************************/

.text--legal {
  font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
  font-size: 11px;
  font-weight: var(--e-global-typography-secondary-font-weight);
  text-transform: var(--e-global-typography-secondary-text-transform);
  line-height: var(--e-global-typography-secondary-line-height);
  letter-spacing: var(--e-global-typography-secondary-letter-spacing);
}

/* Swipers */
.clearlight-carousel.elementor-widget-n-carousel .swiper-pagination,
.clearlight-carousel.elementor-widget-slides .swiper-pagination,
.swiper-pagination {
  --e-n-carousel-swiper-pagination-size: 12px;
  --swiper-pagination-bullet-size: 12px;
  --e-n-carousel-dots-vertical-offset: 24px;
  --swiper-pagination-bullet-inactive-opacity: 1;
}
.clearlight-carousel.elementor-widget-n-carousel .swiper-pagination-bullet,
.clearlight-carousel.elementor-widget-slides .swiper-pagination-bullet,
.swiper-pagination-bullet {
  border: 1px solid var(--swiper-theme-color);
  --e-n-carousel-dots-normal-color: transparent;
  --swiper-pagination-bullet-inactive-color: transparent;
}
.clearlight-carousel.elementor-widget-n-carousel
  .swiper-pagination-bullet-active,
.clearlight-carousel.elementor-widget-slides .swiper-pagination-bullet-active,
.swiper-pagination-bullet-active {
  --e-n-carousel-dots-normal-color: var(--swiper-theme-color);
}

/* Product carousels */
.swiper .elementor-widget-heading {
  display: block;
}
.elementor-widget-heading a {
  text-decoration: none;
}
.e-loop-item.clr_product .e-con,
.e-loop-item.commercial-product .e-con {
  height: 100%;
}
.elementor-element .swiper ~ .elementor-swiper-button.swiper-button-disabled {
  opacity: 0;
}

/* Custom button types */
.elementor-button.oxygen {
  background-color: var(--e-global-color-befddcc);
  color: var(--e-global-color-primary);
}
.elementor-button.oxygen:hover {
  background-color: #ccc;
}

/* Featured News (3-card grid) */
.featured-news--item {
  max-width: 413px;
}
.featured-news--item:has(a:hover)::before {
  opacity: 1;
}

/* full-bleed images in 2-col layouts */
.clr-mixed-grid {
  --_clr-content-max-width: var(--clr-content-max-width, 1360px);
  --_clr-col1-pct: var(--clr-col1-pct, 40);
  --_clr-gap: var(--clr-gap, 20px);
  --_clr-gutter: var(--clr-gutter, 10px);
  --clr-col1-width: min(
    (
      var(--_clr-col1-pct) * (100% - var(--_clr-gap) - 2 * var(--_clr-gutter)) /
        100
    ),
    (
      var(--_clr-col1-pct) * (var(--_clr-content-max-width) - var(--_clr-gap)) /
        100
    )
  );
  --clr-col2-width: min(
    (
      (100 - var(--_clr-col1-pct)) *
        (100% - var(--_clr-gap) - 2 * var(--_clr-gutter)) / 100
    ),
    (
      (100 - var(--_clr-col1-pct)) *
        (var(--_clr-content-max-width) - var(--_clr-gap)) / 100
    )
  );
  --clr-grid-cols: [full-start col1-full-start] minmax(var(--_clr-gutter), 1fr)
    [col1-start content-start] var(--clr-col1-width) [col1-end col1-full-end
    gap-start] var(--_clr-gap) [gap-end col2-start col2-full-start]
    var(--clr-col2-width) [col2-end content-end] minmax(var(--_clr-gutter), 1fr)
    [col2-full-end full-end];
  display: grid;
  column-gap: 0;
  grid-template-columns: var(--clr-grid-cols);
  grid-auto-flow: row dense;
  width: 100%;
  max-width: min(100%, var(--clr-body-max-width));
  padding-inline: 0;
  align-items: stretch;
}
:where(.clr-mixed-grid) > :where(div, p, figure, img, h1, h2, h3, h4) {
  grid-column: content;
}
.clr-mixed-grid__col1 {
  grid-column: col1;
}
.clr-mixed-grid__col2 {
  grid-column: col2;
}
.clr-mixed-grid__col1--full {
  grid-column: col1-full;
}
.clr-mixed-grid__col2--full {
  grid-column: col2-full;
}
.clr-mixed-grid__content {
  grid-column: content;
}
.clr-mixed-grid__full {
  grid-column: full;
}
@media (max-width: 768px) {
  .clr-mixed-grid
    > :is(
      .elementor-element,
      div,
      section,
      article,
      aside,
      nav,
      figure,
      img,
      p,
      h1,
      h2,
      h3,
      h4,
      h5,
      h6
    ) {
    grid-column: content;
  }
}

/* icon/image scroller (ticker) */
@-webkit-keyframes ticker {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    visibility: visible;
  }

  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes ticker {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    visibility: visible;
  }

  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

.ticker-container .e-con-inner {
  overflow: hidden;
}
.ticker-wrap {
  position: relative;
  bottom: 0;
  width: 100%;
  overflow-x: scroll; /* prm overflow-x: scroll */
  /* height: 4rem; */
  /* padding-left: 0; prm no padding-left */
  box-sizing: content-box;
}

.ticker {
  display: inline-block;
  /* height: 4rem; */
  /* line-height: 4rem; */
  white-space: nowrap;
  /* padding-right: 100%; prm no padding-right */
  box-sizing: content-box;
}

.ticker .elementor-element {
  display: inline-block;
  padding: 0 2rem;
}

@media (prefers-reduced-motion: no-preference) {
  .ticker-wrap {
    overflow-x: hidden;
    padding-left: 100%;
  }
  .ticker {
    padding-right: 100%;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-name: ticker;
    animation-name: ticker;
    -webkit-animation-duration: 35s;
    animation-duration: 35s;
  }

  .ticker:hover {
    animation-play-state: paused;
  }
}

/* tabs widget */
.clr-tabs .e-n-tabs-heading {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}

/* "tabs" look */
.topbar-home .tab-home a,
.topbar-business .tab-commercial a,
.clr-tabs .e-n-tab-title {
  --r: 8px; /* control the curvature */

  border: solid #0000;
  border-width: 0 var(--r);
  border-radius: calc(2 * var(--r)) calc(2 * var(--r)) 0 0 / var(--r);
  mask: radial-gradient(var(--r) at var(--r) 0, #0000 98%, #000 101%)
      calc(-1 * var(--r)) 100%/100% var(--r) repeat-x,
    conic-gradient(#000 0 0) padding-box;
  background: #fff border-box;
}

/* Clr scrollbars */
.testimonial-text::-webkit-scrollbar-track,
.testimonial-image .text-content::-webkit-scrollbar-track,
.additional-articles--scroller::-webkit-scrollbar-track,
.icon-grid .e-con-inner::-webkit-scrollbar-track,
.sauna-grid::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  background-color: var(--e-global-color-2ccb96c);
}
.testimonial-text::-webkit-scrollbar,
.testimonial-image .text-content::-webkit-scrollbar,
.additional-articles--scroller::-webkit-scrollbar,
.icon-grid .e-con-inner::-webkit-scrollbar,
.sauna-grid::-webkit-scrollbar {
  width: 8px;
  height: 8px;
  background-color: var(--e-global-color-2ccb96c);
}
.testimonial-text::-webkit-scrollbar-thumb,
.testimonial-image .text-content::-webkit-scrollbar-thumb,
.additional-articles--scroller::-webkit-scrollbar-thumb,
.icon-grid .e-con-inner::-webkit-scrollbar-thumb,
.sauna-grid::-webkit-scrollbar-thumb {
  border-radius: 0px;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  background-color: var(--e-global-color-4f3d3ff);
}

/* generic buttons with arrows */
.button--back .elementor-button-content-wrapper::before {
  content: "";
  width: 1em;
  height: 1.7em;
  background: url("./icons/caret-down.svg") center no-repeat;
  transform: rotate(90deg);
}
.button--forward .elementor-button-content-wrapper::after {
  content: "";
  width: 1em;
  height: 1.7em;
  background: url("./icons/caret-down.svg") center no-repeat;
  transform: rotate(270deg);
}
.button--down .elementor-button-content-wrapper::after {
  content: "";
  width: 1em;
  height: 1.7em;
  background: url("./icons/caret-down.svg") center no-repeat;
}

/* inline lists */
.inline-list {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  list-style-type: none;
  white-space: nowrap;
}
.inline-list a,
.inline-list span {
  padding: 0 0.5rem;
  color: var(--e-global-color-primary);
  text-decoration: none;
  font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
  font-size: 11px;
  font-weight: var(--e-global-typography-secondary-font-weight);
  font-style: normal;
  text-transform: var(--e-global-typography-secondary-text-transform);
  line-height: var(--e-global-typography-secondary-line-height);
  letter-spacing: var(--e-global-typography-secondary-letter-spacing);
}
.inline-list li:first-of-type a,
.inline-list li:first-of-type span {
  padding-left: 0;
}
.inline-list li + li a {
  border-left: 1px solid var(--e-global-color-4f3d3ff);
}

/* pullquote */
.pullquote .elementor-widget-text-editor::before {
  display: block;
  content: "";
  width: 50px;
  height: 50px;
  margin: 0 auto 48px;
  background: url("./icons/quote.svg") center no-repeat;
  background-size: contain;
}
@media (min-width: 769px) {
  .pullquote .elementor-widget-text-editor::before {
    width: 80px;
    height: 80px;
  }
}

/* generic font styling */
.small-body {
  font-size: 12px;
  line-height: 1.5;
  color: var(--e-global-color-4f3d3ff);
}

/**************************
 * Home page
 *************************/


/**************************
 * Posts
 *************************/

/* cards */
.elementor-post-info {
	list-style-type: none;
	padding-left: 0;
}
.elementor-post-info__terms-list a {
  text-decoration: none;
}

/* featured content grid (research page) */
.featured-grid--item .elementor-widget-container {
  aspect-ratio: 3.33 / 1;
  display: flex;
}
.featured-grid--item .elementor-widget-container::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  bottom: 0;
  background: linear-gradient(
    0deg,
    rgba(0, 0, 0, 1) 0%,
    rgba(0, 0, 0, 0.5) 100%
  );
  opacity: 0.5;
  transition: opacity 0.3s;
}
.featured-grid--item:has(a:hover) .elementor-widget-container::before {
  opacity: 0.8;
}
.featured-grid--item p {
  position: relative;
  display: table;
  width: 100%;
  height: 100%;
}
.featured-grid--item a {
  display: table-cell;
  vertical-align: bottom;
  text-decoration: none;
  padding: 24px;
}

@media screen and (min-width: 769px) {
  .featured-grid--item .elementor-widget-container {
    aspect-ratio: 2.1 / 1;
  }
}

/* additional articles scroller */
.additional-articles--scroller {
  height: 30vh;
  overflow-y: scroll;
  scrollbar-color: rgba(255, 255, 255, 0.3) #fff;
}
.additional-articles--scroller .elementor-widget-container {
  padding-right: 24px;
}

@media screen and (min-width: 1025px) {
  .additional-articles--scroller {
    height: 670px;
  }
  .additional-articles--scroller .e-loop-item:first-of-type .e-con-inner {
    padding-top: 0px;
  }
}

/**************************
 * Post Type Pagination
 *************************/
.elementor-kit-845 .page-numbers {
  margin-right: 12px;
  padding: 10px 18px;
  background-color: #f5f5f5;
  text-decoration: none;
  color: var(--e-global-color-primary);
}

/**************************
 * Gravity Forms
 *************************/
.gform-theme--no-framework input[type="text"],
.gform-theme--no-framework input[type="email"],
.gform-theme--no-framework input[type="tel"],
.gform-theme--no-framework select {
  height: 48px;
  line-height: 48px;
}
.gform-theme--no-framework select {
  appearance: none;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.292893 0.292893C0.683417 -0.097631 1.31658 -0.097631 1.70711 0.292893L5 3.58579L8.29289 0.292893C8.68342 -0.0976311 9.31658 -0.0976311 9.70711 0.292893C10.0976 0.683417 10.0976 1.31658 9.70711 1.70711L5.70711 5.70711C5.31658 6.09763 4.68342 6.09763 4.29289 5.70711L0.292893 1.70711C-0.0976311 1.31658 -0.0976311 0.683418 0.292893 0.292893Z' fill='%23686E77'/%3E%3C/svg%3E");
  background-position: calc(100% - 12px) 50%;
  background-repeat: no-repeat;
  background-size: 10px auto;
  letter-spacing: var(--e-global-typography-secondary-letter-spacing);
  color: var(--e-global-color-4f3d3ff);
  text-transform: var(--e-global-typography-secondary-text-transform);
  line-height: 1em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
::placeholder {
  text-transform: var(--e-global-typography-secondary-text-transform);
  letter-spacing: var(--e-global-typography-secondary-letter-spacing);
}
.gform_body input[type="submit"],
.gform_footer input[type="submit"] {
  width: 100%;
  height: 48px;
  background-color: var(--e-global-color-primary);
  padding: 0;
  border: none;
}
.gform_body input[type="submit"]:hover,
.gform_body input[type="submit"]:focus,
.gform_footer input[type="submit"]:hover,
.gform_footer input[type="submit"]:focus {
  background-color: var(--e-global-color-4f3d3ff);
  color: var(--e-global-color-befddcc);
}

.gform-theme--foundation
  #field_submit
  input[type="submit"][id*="gform_submit_button_"].button {
  inline-size: 100%;
}
.gform-body .text--legal {
  max-width: 500px;
  margin: 48px auto;
  text-align: center;
  line-height: 18px;
}
main .gform_footer {
  justify-content: center;
}

.gform_confirmation_message {
  text-align: center;
}

/* footer optin */
footer .gform_title {
  color: #fff;
  font-size: 22px;
  text-align: center;
}
footer .gform-theme--no-framework .gform_fields {
  display: flex;
  flex-direction: column;
}
footer .gform-theme--no-framework .gfield {
  min-inline-size: calc(100vw - 48px);
}
footer .gform_body input[type="submit"] {
  background-color: var(--e-global-color-befddcc);
  color: var(--e-global-color-primary);
}
@media (min-width: 641px) {
  footer .gform_wrapper.gravity-theme .gform_fields {
    display: flex;
    flex-direction: column;
  }
  .gform_footer input[type="submit"] {
    width: auto;
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 768px) {
  footer .gform-theme--no-framework .gform_fields {
    flex-direction: row;
  }
  footer .gform-theme--no-framework .gfield {
    min-inline-size: 0;
  }
  footer .gform-theme--no-framework .gfield--width-three-quarter {
    min-inline-size: 350px;
  }
}
@media screen and (min-width: 1025px) {
  footer .gform_title {
    text-align: left;
  }
  .article--subscribe-cta .gform_wrapper.gravity-theme .gform_fields,
  footer .gform_wrapper.gravity-theme .gform_fields {
    display: flex;
    flex-direction: row;
  }
  .article--subscribe-cta .gfield--type-email,
  footer .gform_wrapper.gravity-theme .gfield--type-email {
    flex: 1;
    min-width: 350px;
  }
  .article--subscribe-cta .gform_body input[type="submit"],
  footer .gform_body input[type="submit"] {
    padding-left: 40px;
    padding-right: 40px;
  }
}

/**************************
 * Footer
 *************************/
@media screen and (min-width: 1025px) {
  .footer-menu-support .elementor-nav-menu {
    columns: 2;
  }
}

footer .clr-menu {
  padding-left: 10px;
  list-style-type: none;
}
footer .clr-menu a {
  display: block;
  padding: 8px 0;
  color: #fff;
  text-decoration: none;
}
footer .clr-menu a:hover {
  color: #fff;
}
