/* 
Theme Name: Clearlight Service (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%, var(--e-global-color-f6e8a24) 100%);
    background-size: 200% auto;
}
.home .topbar-home {
    background-position: right center;
    animation: animate-background-gradient 1s ease-in-out 1.8s forwards;
}

.topbar-home .tab-home a,
.clr-tabs .e-n-tab-title {
    color: var(--e-global-color-primary) !important;
}

.topbar-message p {
	margin-bottom: 0;
}
.topbar-message a,
.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-369a2ca)!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, .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 .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
 *************************/
.product-block--featured,
.product-block--supporting {
    aspect-ratio: 1 / 1;
}
@media (min-width:768px) {
    .product-block--featured {
        aspect-ratio: 1.78 / 1;
    }
    .product-block--supporting {
        aspect-ratio: .92 / 1;
    }
}

/**************************
 * Research & Blog
 *************************/

/* cards */
.clr_product .elementor-heading-title 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: .5;
    transition: opacity .3s;
}
.featured-grid--item:has(a:hover) .elementor-widget-container::before {
    opacity: .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-7 .page-numbers {
    margin-right: 12px;
    padding: 10px 18px;
    background-color: #f5f5f5;
    /* border-radius: 4px; */
    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;
}

