/*
 Theme Name: TLG (The Link Group)
 Theme URI: https://plambech.dev/
 Author: Rasmus Plambech
 Author URI: https://plambech.dev/
 Description: A lightweight child theme for GeneratePress with shortcode support.
 Template: hello-biz
 Version: 1.0.0
 License: GNU General Public License v2 or later
 License URI: https://www.gnu.org/licenses/gpl-2.0.html
 Tags: generatepress, child-theme
 Text Domain: tlg
*/


/*Generel*/
body {
    background: #FFFAF0 !important;
}
.page-content {
    background: #FFFAF0;
}

h1, h2, h3, h4, h5, h6, p, span {
    font-family: "DM Serif Display", serif;
    font-family: "DM Sans", sans-serif !important;
}

h1 {
    color: var(--Color-Scheme-1-Text, #000) !important;
    font-family: "DM Sans" !important;
    font-size: var(--Typography-Size-H1, 72px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 100% !important;
    letter-spacing: -2.88px !important;
}

.redem h1 em {
    color: var(--Colour-Brand-Vibrant-Red, #D80132) !important;
    font-family: "DM Serif Display" !important;
    font-style: italic !important;
    letter-spacing: -2.24px !important;
}

h2 {
    color: #000;

    /* Heading/H2 */
    font-family: "DM Sans" !important;
    font-size: var(--Typography-Size-H2, 56px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 120% !important; 
    letter-spacing: -1.24px !important;
}

h2 em {
    font-family: "DM Serif Display" !important;
    font-size: 56px !important;
    font-style: italic !important;
    font-weight: 400 !important;
    line-height: 120% !important;
    letter-spacing: -2.24px !important;
}

.redem h2 em {
    color: var(--Colour-Brand-Vibrant-Red, #D80132) !important;
    font-family: "DM Serif Display" !important;
    font-style: italic !important;
    letter-spacing: -2.24px !important;
}

h3,
h3 strong {
    color: var(--Text-Text-primary, #060809) !important;

    /* Heading/H3 */
    font-family: "DM Sans" !important;
    font-size: var(--Typography-Size-H3, 28px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 112% !important;
    letter-spacing: -1.12px !important;
}

h4 {
    color: var(--Color-Scheme-1-Text, #000) !important;

    /* Heading/H4 */
    font-family: "DM Sans" !important;
    font-size: var(--Typography-Size-H4, 24px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: normal !important;
    letter-spacing: -0.96px !important;
    margin: 0 !important;
}

h5 {
    color: var(--Text-Text-primary, #060809) !important;
    font-family: "DM Sans" !important;
    font-size: var(--Typography-Size-H5, 20px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 125% !important; 
    letter-spacing: -0.8px !important;
}

p {
    color: #000;
    font-size: var(--Typography-Size-Text-L, 16px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 140% !important; 
}

span.elementor-icon-list-text {
    color: var(--Text-Text-secondary, #182A17) !important;
    font-family: "DM Sans" !important;
    font-size: var(--Typography-Size-Text-S, 14px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 125% !important;
}


@media (max-width: 1400px) and (min-width: 1025px) {
    .elementor-145 .elementor-element.elementor-element-5e53c5d::before, .elementor-145 .elementor-element.elementor-element-5e53c5d > .elementor-background-video-container::before, .elementor-145 .elementor-element.elementor-element-5e53c5d > .e-con-inner > .elementor-background-video-container::before, .elementor-145 .elementor-element.elementor-element-5e53c5d > .elementor-background-slideshow::before, .elementor-145 .elementor-element.elementor-element-5e53c5d > .e-con-inner > .elementor-background-slideshow::before, .elementor-145 .elementor-element.elementor-element-5e53c5d > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{
        background-size: 130% !important;
    }
}

@media (max-width: 1024px) and (min-width: 768px) { 
    .elementor-145 .elementor-element.elementor-element-5e53c5d::before, .elementor-145 .elementor-element.elementor-element-5e53c5d > .elementor-background-video-container::before, .elementor-145 .elementor-element.elementor-element-5e53c5d > .e-con-inner > .elementor-background-video-container::before, .elementor-145 .elementor-element.elementor-element-5e53c5d > .elementor-background-slideshow::before, .elementor-145 .elementor-element.elementor-element-5e53c5d > .e-con-inner > .elementor-background-slideshow::before, .elementor-145 .elementor-element.elementor-element-5e53c5d > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{
        background-size: unset !important;
    }
}

/*Darkmode*/
.darkmode h1, 
.darkmode h2, 
.darkmode h3, 
.darkmode h4,
.darkmode h5, 
.darkmode h6, 
.darkmode p, 
.darkmode span {
    color: #FFFEFC !important;
}

/*Buttons*/
.elementor-button,
.is-type-button.ehp-header__button--primary {
    background: var(--Button-Button-primary-default, #060809) !important;
    padding: 16px 24px !important;
    color: var(--Text-Text-inverted-primary, #FFFEFC) !important;
    font-size: var(--Typography-Size-Text-L, 16px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    letter-spacing: -0.32px !important;
    border-radius: 0 !important;
    transition: border-color 0.25s ease, background-color 0.25s ease, color 0.25s ease;
    border: none !important;
    border-bottom: 3px solid #060809 !important;
}
.elementor-button:hover, 
.is-type-button.ehp-header__button--primary:hover {
    border-bottom: 3px solid #D80132 !important;
    background: var(--Button-Button-primary-default, #060809) !important;
    color: var(--Text-Text-inverted-primary, #FFFEFC) !important;
}

a.elementor-button-tlg-secondary {
    background: var(--Button-Button-secondary-default, #033600) !important;
    border-bottom: 0px !important;
    color: #FFFEFC !important;
}
a.elementor-button-tlg-secondary span {
    color: #FFFEFC !important;
}
a.elementor-button-tlg-secondary:hover {
    background: var(--Button-Button-secondary-hover, #2B8626) !important;
    border-bottom: 0px !important
}

a.elementor-button-tlg-tag {
    color: var(--Text-Text-primary, #060809) !important;
    border: 1px solid var(--Colour-Brand-Vibrant-Red, #D80132) !important;
    background: transparent !important;
    font-size: var(--Typography-Size-Text-S, 14px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 125% !important;
    padding: 8px 16px !important;
    cursor: default !important;
    pointer-events: none !important;
}
.tlg-card-tag {
    cursor: default !important;
    pointer-events: none !important;
}
a.elementor-button-tlg-tag:hover {
    color: var(--Text-Text-primary, #060809) !important;
    border: 1px solid var(--Colour-Brand-Vibrant-Red, #D80132) !important;
    background: transparent !important;
    font-size: var(--Typography-Size-Text-S, 14px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 125% !important;
}

.elementor-widget-heading .elementor-heading-title {
    color: #000000;
}

/*Header + Footer*/
.ehp-header .ehp-header__elements-container,
footer.ehp-flex-footer.has-preset-info-hub{
    max-width: 1400px !important;
    margin: 0 auto;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
}
.ehp-header__elements-container,
.ehp-flex-footer__groups-row,
.ehp-flex-footer__copyright {
    padding: 0 !important;
}

footer .elementor-widget-image a img[src$=".svg"] {
    width: auto;
}

.ehp-header .ehp-header__item:is([type=button]):hover, .ehp-header .ehp-header__item:is(a):hover {
    color: #172816 !important;
    transition: all .3s;
}

/*Hero*/
.hero h1 {
    color: #000 !important;
    font-size: var(--Typography-Size-H1, 78px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 100% !important;
    letter-spacing: -2.88px !important;   
}

/* Hero heading styles */
.hero h1 em {
    font-family: "DM Serif Display" !important;
    font-size: var(--Typography-Size-H1, 78px) !important;
    font-style: italic !important;
    font-weight: 400 !important;
    line-height: 100% !important;
    letter-spacing: -2.88px !important;
  }
  
  /* Individual character spans - DO NOT apply letter-spacing here */
  .hero h1 em span {
    font-family: "DM Serif Display" !important;
    font-size: var(--Typography-Size-H1, 78px) !important;
    font-style: italic !important;
    font-weight: 400 !important;
    line-height: 100% !important;
    /* letter-spacing removed - let the spans flow naturally */
  }

.hero p,
.subhero p {
    color: #000;

    font-size: var(--Typography-Size-Text-L, 16px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 140% !important; 
}

.subhero h1 {
    color: #000 !important;
    font-size: var(--Typography-Size-H1, 78px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 100% !important;
    letter-spacing: -2.88px !important;
}


.subhero h1 em {
    color: var(--Colour-Brand-Vibrant-Red, #D80132);

    /* Heading/H1-Italic */
    font-family: "DM Serif Display";
    font-size: var(--Typography-Size-H1, 78px);
    font-style: italic;
    font-weight: 400;
    line-height: 100%;
    letter-spacing: -2.88px;
}


/*Em hover*/
em {
    position: relative;
    display: inline-block;
    transition:
      color 0.22s ease,
      transform 0.22s ease,
      text-shadow 0.22s ease,
      letter-spacing 0.22s ease;
  }
  
  .subhero h1 em span {
    display: inline-block;
    transition: inherit;
  }
  
  .subhero h1 em.is-active {
    color: var(--Colour-Brand-Vibrant-Red, #D80132);
  }
  
  .subhero h1 em.is-active span {
    text-shadow: 0 0 18px rgba(216, 1, 50, 0.4);
  }

/*Slider*/
.cslider,
.cslider .e-con-inner {
    max-height: 150px;
}

.counters span.elementor-counter-number,
.counters span.elementor-counter-number-suffix,
.counters .elementor-counter-title {
    /* Stats */
    font-family: "DM Serif Display" !important;
    font-size: 80px !important;
    font-style: italic !important;
    font-weight: 400 !important;
    line-height: 94% !important;
    letter-spacing: -2.4px !important;
    color: #000 !important;
}

.counters.darkmode  span.elementor-counter-number,
.counters.darkmode  span.elementor-counter-number-suffix,
.counters.darkmode .elementor-counter-title {
    color: #fff !important;
}

/*Cover*/
.cover h3 {
    text-align: center !important;
    font-family: "DM Sans" !important;
    font-size: 80px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 120% !important;
    letter-spacing: -3.2px !important;
    color: #FFFEFC !important;
}

.cover h3 em{
    color: var(--Text-Text-inverted-primary, #FFFEFC);
    font-family: "DM Serif Text" !important;
    font-size: 80px;
    font-style: italic;
    font-weight: 600;
    line-height: 120%;
    letter-spacing: -3.2px;
}

/*centerimg*/
.centerimg h2 {
    text-align: center !important;
    font-family: "DM Sans" !important;
    font-size: 72px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 100% !important;
    letter-spacing: -2.16px !important;
}

.centerimg h2 em{
    font-family: "DM Serif Display" !important;
    font-size: 72px !important;
    font-style: italic !important;
    font-weight: 400 !important;
    line-height: 100% !important;
    letter-spacing: -2.16px !important;
}

/*Column boxes with right image border*/
.sidebarbox h3 {
    color: var(--Color-Scheme-1-Text, #000);
    font-family: "DM Sans";
    font-size: var(--Typography-Size-H3, 28px);
    font-style: normal;
    font-weight: 400;
    line-height: 112%; /* 31.36px */
    letter-spacing: -1.12px; 
}

.sidebarbox p {
    color: var(--Color-Scheme-1-Text, #000);

    /* Paragraph/L */
    font-family: "DM Sans";
    font-size: var(--Typography-Size-Text-L, 15px) !important;
    font-style: normal;
    font-weight: 400;
    line-height: 140%; /* 22.4px */
}

/*Inpage navigation*/
.inpagenav .navlist .elementor-widget-text-editor {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    margin-top: 14px;
}

.inpagenav a {
    color: var(--Text-Text-secondary, #182A17) !important;
    font-family: "DM Sans";
    font-size: var(--Typography-Size-H5, 20px);
    font-style: normal;
    font-weight: 400;
    line-height: 125%; /* 25px */
    letter-spacing: -0.8px;
    transition: color 0.3s ease, transform 0.2s ease;
}

.inpagenav a:hover {
    font-weight: 700;
    color: #060809;
    transform: scale(1.03);
}

.inpagenav h5 {
    margin-top: 18px;
}

/*WPFORMS*/
.wpforms-container .wpforms-form .wpforms-field-label, .wpforms-container .wpforms-form .wpforms-field-sublabel, .wpforms-container .wpforms-form .wpforms-field-description, .wpforms-container .wpforms-form textarea, .wpforms-container .wpforms-form li, .wpforms-container .wpforms-form th {
    color: var(--Text-Text-primary, #060809) !important;
    font-family: "DM Sans" !important;
    font-size: var(--Typography-Size-Text-L, 16px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 140% !important;
    margin-bottom: 6px !important;
}

.wpforms-container .wpforms-field, .wp-core-ui div.wpforms-container .wpforms-field {
    padding: 0 !important;
    position: relative;
}

.wpforms-container input,
.wpforms-container textarea {
    margin-bottom: 16px !important;
    border: 1px solid var(--Border-Border-primary, #AEB1BA) !important;
    background: var(--Surface-Surface-primary, #FFFEFB) !important;
}

.wpforms-container input:hover,
.wpforms-container textarea:hover {
    border-color: var(--Colour-Brand-Sage-Green, #3C6A3A) !important;
}

.wpforms-container input:focus,
.wpforms-container textarea:focus {
    border: 1px solid var(--Colour-Brand-Sage-Green, #3C6A3A) !important;
    box-shadow: none !important;
    outline: none !important;
}

/* "Completed" (has value) */
.wpforms-container input:not(:placeholder-shown),
.wpforms-container textarea:not(:placeholder-shown) {
    border-color: var(--Colour-Brand-Sage-Green, #3C6A3A) !important;
}

.wpforms-container .wpforms-required-label, .wp-core-ui div.wpforms-container .wpforms-required-label {
    color: var(--Text-Text-primary, #060809) !important;
    /* Paragraph/Small */
    font-family: Satoshi !important;
    font-size: var(--Typography-Size-Text-S, 14px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: var(--Typography-Line-height-Text-S, 16px) !important;
}

.wpforms-container textarea {
    height: 188px !important;
    resize: none !important;
    
}

div.wpforms-container-full button[type=submit] {
    background: var(--Button-Button-primary-default, #060809) !important;
    padding: 16px 24px !important;
    height: auto !important;

    color: var(--Text-Text-inverted-primary, #FFFEFC) !important;
    font-family: "DM Sans" !important;
    font-size: var(--Typography-Size-Text-L, 16px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: var(--Typography-Line-Height-Button-L, 24px) !important;
    letter-spacing: -0.32px !important;

    margin-top: 35px !important;

    border: none !important;
    border-bottom: 3px solid !important;
}

div.wpforms-container-full button[type=submit]:hover {
    border-bottom: 3px solid #D80132 !important;
    background: var(--Button-Button-primary-default, #060809) !important;
    color: var(--Text-Text-inverted-primary, #FFFEFC) !important;
}


/*Blog / single-post*/
.single-post h1 {
    color: var(--Color-Scheme-1-Text, #000) !important;

    /* Heading/H2 */
    font-family: "DM Sans" !important;
    font-size: var(--Typography-Size-H2, 56px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 120% !important;
    letter-spacing: -2.24px !important;
}

.single-post h2,
.single-post h2 b {
    font-family: "DM Sans" !important;
    font-size: var(--Typography-Size-H3, 28px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 112% !important; 
    letter-spacing: -1.12px !important;
}

.single-post h3 {

}

.single-post p {
    /* Paragraph/L */
    font-family: "DM Sans" !important;
    font-size: var(--Typography-Size-Text-L, 16px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 140% !important;
}

.single-post .elementor-widget-image .widget-image-caption{
    margin-top: 8px !important;
    text-align: left !important;
    border-left: 2px solid #D80132 !important;
    padding-left: 8px !important;

    color: var(--Color-Scheme-1-Text, #000) !important;

    font-family: "DM Sans" !important;
    font-size: var(--Typography-Size-Text-L, 16px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 140% !important;
}

.single-post .page-content ul,
.single-post .page-content ol {
    margin-top: -10px; 
    margin-bottom: 0;

    color: var(--Text-Text-secondary, #182A17) !important;

    /* Paragraph/L */
    font-family: "DM Sans" !important;
    font-size: var(--Typography-Size-Text-L, 16px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 140% !important;
}

.single-post .page-content ul li,
.single-post .page-content ol li {
    margin-bottom: 12px;
}

.single-post .page-content p a,
.single-post .page-content li a  {
    color: var(--Text-Text-alert-red, #D80132);

    /* Paragraph/L */
    font-family: "DM Sans";
    font-size: var(--Typography-Size-Text-L, 16px);
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: none;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
}

.contactbanner h2 {
    color: #000;
    font-family: "DM Sans" !important;
    font-size: var(--Typography-Size-H2, 56px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 120% !important;
    letter-spacing: -1.24px !important;
}

.single-post blockquote {
    border-left: 2px solid #D80132!important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 20px !important;
}

.single-post blockquote p {
    color: var(--Colour-Brand-Pine-Green, #033600) !important;
    font-family: "DM Serif Display" !important;
    font-size: var(--Typography-Size-H3, 28px) !important;
    font-style: italic !important;
    font-weight: 400 !important;
    line-height: 100% !important; 
    letter-spacing: -1.12px !important;
}

.conclusion h2 {
    color: var(--Text-Text-primary, #060809) !important;
    font-family: "DM Sans" !important;
    font-size: var(--Typography-Size-H2, 56px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 120% !important;
    letter-spacing: -2.24px !important;
    margin-top: 60px !important;
}


/*Author meta*/
.TLG-author-meta{
    display:flex;
    align-items:center;
    gap:16px;
}

.TLG-author-meta__avatar{
    width:56px;
    height:56px;
    aspect-ratio:1/1;
    border-radius:56px;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    flex-shrink:0;
}

.TLG-author-meta__content{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.TLG-author-meta__name{
    color:var(--Color-Scheme-1-Text,#000);
    font-family:"DM Sans";
    font-size:var(--Typography-Size-H5,20px);
    font-style:normal;
    font-weight:400;
    line-height:125%;
    letter-spacing:-0.8px;
}

.TLG-author-meta__meta{
    display:flex;
    align-items:center;
    gap:16px;
}

.TLG-author-meta__date,
.TLG-author-meta__readtime{
    color:var(--Color-Scheme-1-Text,#000);
    font-family:"DM Sans";
    font-size:var(--Typography-Size-Text-L,16px);
    font-style:normal;
    font-weight:400;
    line-height:140%;
}

.TLG-author-meta__separator{
    width:2px;
    align-self:stretch;
    background:var(--Colour-Brand-Pale-Green,#CCCDAF);
    flex-shrink:0;
}

.blogfooter .TLG-author-meta {
    justify-content: flex-end;
}

/*Breadcrumbs*/
.TLG-breadcrumbs{
    display:inline-flex;
    align-items:center;
    gap:8px;
    text-align:center;
    font-family:"DM Sans";
    font-size:var(--Typography-Size-Text-L,16px);
    font-style:normal;
    font-weight:400;
    line-height:140%;
}

.TLG-breadcrumbs__root{
    color:var(--Text-Text-primary,#060809) !important;
}

.TLG-breadcrumbs__category{
    color:var(--Colour-Brand-Sage-Green,#3C6A3A) !important;
}

.TLG-breadcrumbs__category:hover{
    text-decoration:underline;
}

.TLG-breadcrumbs__separator svg{
    width:16px;
    height:16px;
    display:block;
}

/*Footer*/
footer {
    background-color: #FFFAF0;
}

.cfooter a {
    color: var(--Text-Text-primary, #060809);

    /* Heading/H5 */
    font-family: "DM Sans";
    font-size: var(--Typography-Size-H5, 20px);
    font-style: normal;
    font-weight: 400;
    line-height: 125%; /* 25px */
    letter-spacing: -0.8px;
}

.csubfooter p,
.csubfooter p a {
    color: var(--Colour-Shades-Pine-Green-600, #022B00) !important;
    font-family: "DM Sans" !important;
    font-size: var(--Typography-Size-Button-M, 14px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: var(--Typography-Line-Height-Text-S, 16px) !important; 
}
.csubfooter p a {
    margin-left: 24px;;
}

.forcebig {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: -16px !important;
}

.forcebig img {
    object-fit: contain;
    width: 100%;
}

.newsletterform form#wpforms-form-1198 {
    display: flex;
}

.newsletterform  label.wpforms-field-label {
    position: absolute;
    top: -30px;
}

.newsletterform button#wpforms-submit-1198,
.newsletterform .wpforms-submit-container {
    margin-top: 0 !important
}

.newsletterform button#wpforms-submit-1198 {
    background: var(--Button-Button-primary-default, #060809) !important;
    padding: 16px 24px !important;

    color: var(--Text-Text-inverted-primary, #FFFEFC) !important;
    font-family: "DM Sans" !important;
    font-size: var(--Typography-Size-Text-L, 16px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: var(--Typography-Line-Height-Button-L, 24px) !important;
    letter-spacing: -0.32px !important;

    border-bottom: 3px solid #060809 !important;
}

.newsletterform input#wpforms-1198-field_2 {
    margin-bottom: 0 !important;
    width: 100% !important;
    min-width: 100% !important;
    padding: 27px 16px !important;
    padding: 28.8px 16px !important;
}

.wpforms-field-container {
    flex: 1;
}


/* Proximity animation styles */
.proximity-text em {
    display: inline-block;
    transform: translate(var(--tx, 0px), var(--ty, 0px)) scale(calc(1 + var(--prox, 0) * .12));
    transition: transform .2s, text-shadow .2s;
    text-shadow: 0 0 calc(var(--prox, 0) * 1px) currentColor;
    will-change: transform, text-shadow;
  }
  
  .proximity-text em span {
    display: inline-block;
    transform: translate(var(--tx, 0px), var(--ty, 0px)) scale(calc(1 + var(--prox, 0) * .12));
    transition: transform .2s, text-shadow .2s;
    text-shadow: 0 0 calc(var(--prox, 0) * 1px) currentColor;
    will-change: transform, text-shadow;
  }

.casebanner h4 {
    color: var(--Colour-Neutrals-White, #FFF) !important;

    /* Heading/H3 */
    font-family: "DM Sans" !important;
    font-size: var(--Typography-Size-H3, 28px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 112% !important;
    letter-spacing: -1.12px !important;
    margin-bottom: 32px !important;
}

.casebanner p {
    color: var(--Colour-Neutrals-White, #FFF) !important;
}

.elementskit-menu-overlay {
    visibility: inherit !important;
}

/*Mega menu*/
.elementor-element.elementor-element-e4c173d.elementor-widget.elementor-widget-jet-mega-menu {
    flex: 50 !important;
}

ul.jet-mega-menu-list {
    gap: 54px !important;
}

.jet-mega-menu-item__inner {
    padding: 0 !important;
}

.elementor-element.elementor-element-9bda365.elementor-align-right.elementor-widget.elementor-widget-button {
    margin-left: 30px !important;
}

.subtext18 p {
    font-size: 18px !important;
}

.cmegadrop .menu-item {
    list-style: none;
  }
  
  .cmegadrop .menu-item::marker {
    content: "";
  }
  
  .cmegadrop .menu-item::before {
    content: none !important;
  }

  .navtoplink .jet-mega-menu-item__label{
    color: var(--Colour-Brand-Charcoal, #060809) !important;
    /* Heading/H5 */
    font-family: "DM Sans" !important;
    font-size: var(--Typography-Size-H5, 20px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 125% !important; 
    letter-spacing: -0.8px !important;
    margin-bottom: 16px  !important;
}

.jet-mega-menu-sub-menu__list .jet-mega-menu-item {
    padding: 8px 0 16px 0 !important;
    border-bottom: 1px solid var(--Colour-Brand-Pale-Green, #CCCDAF) !important;
}

.jet-mega-menu-sub-menu__list .navtoplink {
    padding: 0 !important;
    border-bottom: 0 !important;
}

a.ehp-header__item.ehp-header__item--top-level {
    color: #1B2D1A !important;
    font-family: "DM Sans" !important;
    font-size: var(--Typography-Size-Text-L, 16px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 140% !important; 
}

.ehp-header__submenu-toggle-icon {
    fill: #1B2D1A !important;
}

ul.ehp-header__dropdown.has-layout-horizontal.has-shape-default.shape-type-submenu {
    border: 2px solid #3C6A3A;
    background: #FFFAF0;
    padding: 32px;
    border-radius: 0;
    min-width: 280px;
}

.ehp-header__dropdown[aria-hidden="false"] {
    display: block !important;
}

a.ehp-header__item.ehp-header__item--sub-level{
    padding: 12px 0 12px 0 !important;
    color: var(--Colour-Brand-Charcoal, #060809) !important;
    font-family: "DM Sans" !important;
    font-size: var(--Typography-Size-Text-S, 14px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 125% !important;
    border-bottom: 1px solid var(--Colour-Brand-Pale-Green, #CCCDAF) !important;
    width: 100% !important;
}

.navtoplink a.ehp-header__item.ehp-header__item--sub-level {
    color: var(--Colour-Brand-Charcoal, #060809) !important;
    font-family: "DM Sans" !important;
    font-size: var(--Typography-Size-H5, 20px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 125% !important; 
    letter-spacing: -0.8px !important;
    margin-bottom: 16px  !important;
    border-bottom: 0 !important;
    padding: 0 !important;
}



span.swiper-pagination-bullet {
    width: 10px !important;
    height: 10px !important;
    border-radius: 9999px !important;
    background: #707159 !important;
    opacity: 1 !important;
    transition: all .25s ease !important;
}

span.swiper-pagination-bullet.swiper-pagination-bullet-active{
    width: 37px !important;
    background: #3C6A3A !important;
}

.caseslider h2 {
    font-size: var(--Typography-Size-H2, 46px) !important;
}


@media (min-width: 767px) { 

    .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
        left: 40px;
        margin-top: -40px;
    }
      /*New jet menu*/
.jet-mega-menu-sub-menu {
    display: flex;
    width: 280px;
    padding: 32px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 48px;
    border: 2px solid #3C6A3A;
    background: #FFFAF0;
}

ul.jet-mega-menu-sub-menu__list {
    width: 100%;
    background: transparent !important;
}

.navtoplink .jet-mega-menu-item__label{
    color: var(--Colour-Brand-Charcoal, #060809) !important;
    /* Heading/H5 */
    font-family: "DM Sans" !important;
    font-size: var(--Typography-Size-H5, 20px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 125% !important; 
    letter-spacing: -0.8px !important;
    margin-bottom: 16px  !important;
}

.jet-mega-menu-sub-menu__list .jet-mega-menu-item {
    padding: 8px 0 16px 0 !important;
    border-bottom: 1px solid var(--Colour-Brand-Pale-Green, #CCCDAF) !important;
}

.jet-mega-menu-sub-menu__list .navtoplink {
    padding: 0 !important;
    border-bottom: 0 !important;
}

.jet-mega-menu.jet-mega-menu--layout-horizontal.jet-mega-menu--sub-position-left .jet-mega-menu-sub-menu {
    left: -30px;
    right: 0;
    top: 40px;
}

:is(.elementor-section-wrap,[data-elementor-id])>.e-con {
    padding-left: 0;
    padding-right: 0
}

    .jet-mega-menu-mega-container__inner {
        background: #fffaf1 !important;
        position: fixed;
        left: 0;
        right: 0;
        width: 100vw;
        transform: none !important;
        margin-top: 35px !important;
        max-height: none !important;
    }

    .jet-mega-menu-item__label {
        color: #1B2D1A !important;
        text-align: center !important;

        /* Paragraph/L */
        font-family: "DM Sans" !important;
        font-size: var(--Typography-Size-Text-L, 16px) !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 140% !important;
        
    }

    .cmegadrop ul.elementor-nav-menu {
        display: flex;
        flex-direction: column;
        gap: 16px;
        margin-top: -8px;
        padding-left: 0 !important;
    }

    .cmegadrop a.elementor-item.elementor-item-anchor,
    .cmegadrop .menu-item a  {
        padding: 0 !important;  
        color: var(--Colour-Brand-Charcoal, #060809) !important;

        /* Paragraph/S */
        font-family: "DM Sans" !important;
        font-size: var(--Typography-Size-Text-S, 14px)  !important; 
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 125% !important;
        
        padding: 8px 0 16px 0 !important;
        border-bottom: 1px solid var(--Colour-Brand-Pale-Green, #CCCDAF);

        display: block;
    }

    .elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after {
        display: none !important;
    }

    .cmegadrop .elementor-item:hover::after {
        display: none !important;
    }

    .cmegadrop .approach p {
        color: var(--Colour-Brand-Charcoal, #060809) !important;

        /* Paragraph/S */
        font-family: "DM Sans" !important;
        font-size: var(--Typography-Size-Text-S, 14px)  !important; 
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 125% !important;
    }

    .cmegadrop h3 {
        color: var(--Colour-Brand-Charcoal, #060809) !important;

        /* Heading/H5 */
        font-family: "DM Sans" !important; 
        font-size: var(--Typography-Size-H5, 20px) !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 125% !important; 
        letter-spacing: -0.8px !important;
    }
}

@media (max-width: 1500px) {
    .e-con-inner,
    header {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

@media (max-width: 1400px) {
    .e-con-inner,
    header {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

@media (max-width: 767px) {
    .mobileslider.pm-mobile-carousel {
      position: relative;
      overflow: hidden !important;
      width: 100% !important;
      max-width: 100% !important;
      padding: 0 16px;
    }


    .navtoplink .jet-mega-menu-item__label {
        margin-top: 20px;
    }

    button.ehp-header__item.ehp-header__dropdown-toggle {
        position: absolute;
        right: 0;
    }

    ul.ehp-header__dropdown.has-layout-horizontal.has-shape-default.shape-type-submenu {
        margin-top: 20px;
    }
  
    .mobileslider.pm-mobile-carousel > .e-con-inner.swiper-wrapper {
      display: flex !important;
      flex-wrap: nowrap !important;
      width: 100% !important;
      max-width: 100% !important;
      column-gap: 0 !important;
      row-gap: 0 !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
      gap: 20px !important;
    }
  
    .mobileslider.pm-mobile-carousel > .e-con-inner.swiper-wrapper > .swiper-slide {
      flex: 0 0 100% !important;
      width: 100% !important;
      max-width: 100% !important;
      margin-right: 0 !important;
      box-sizing: border-box !important;
    }
  
    /* If Elementor sets weird flex on children, neutralize it in this context */
    .mobileslider.pm-mobile-carousel > .e-con-inner.swiper-wrapper > .swiper-slide.e-flex {
      flex-wrap: nowrap !important;
    }
  
    .mobileslider .pm-mobile-pagination {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 24px;
      justify-content: flex-start;
    }
  
    .mobileslider .pm-mobile-pagination .swiper-pagination-bullet {
      width: 10px;
      height: 10px;
      border-radius: 9999px;
      background: #707159;
      opacity: 1;
      transition: all .25s ease;
    }
  
    .mobileslider .pm-mobile-pagination .swiper-pagination-bullet-active {
      width: 37px;
      background: #3C6A3A;
    }
    .elementor-widget-n-carousel .swiper-pagination-bullets {
        left: 32px;
    }
  }

  @media (max-width: 1024px) {
        .e-con-inner{
            padding-left: 16px !important;
            padding-right: 16px !important; 
        }
  }


  @media (max-width: 767px) {
    .mobileslider-fix {
      width: 100%;
    }
  
    .mobileslider-fix .pm-swiper {
      width: 100%;
      overflow: hidden;
    }
  
    .mobileslider-fix .pm-swiper .swiper-wrapper {
      display: flex;
      flex-wrap: nowrap;
      gap: 0;
    }
  
    .mobileslider-fix .pm-swiper .swiper-slide {
      min-width: 0;
      flex-shrink: 0;
      box-sizing: border-box;
    }
  
    .mobileslider-fix .pm-mobile-pagination {
      display: flex;
      width: 100%;
    }
    .mobileslider-fix {
        padding: 0 13px;
    }
  }

/*Responsive*/
@media (max-width: 1254px) and (min-width: 951px) {
	.counters span.elementor-counter-number, .counters span.elementor-counter-number-suffix, .counters .elementor-counter-title {
		font-size: 60px !important;
	}
	.tlg-q-text {
		font-size: var(--Typography-Size-H4, 24px) !important;
	}
	 .stackcards .e-child {
        --width: 32% !important;
    }
}

@media (max-width: 950px) and (min-width: 768px) {
	.counters span.elementor-counter-number, .counters span.elementor-counter-number-suffix, .counters .elementor-counter-title {
		font-size: 50px !important;
	}
	.tlg-q-text {
		font-size: var(--Typography-Size-H4, 20px) !important;
	}
	.stackcards .e-child {
        --width: 48% !important;
    }
	
}
@media (max-width: 767px) { 
    body {
        padding-left: 0 !important;
        padding-right: 0 !important;
        padding-top: 0 !important
    }

    .ehp-header__elements-container {
        display: flex;
        justify-content: space-between;
    }
    .ehp-header {
        padding: 24px 16px !important;
    }
    nav.has-submenu-layout-horizontal.ehp-header__navigation {
        width: 100% !important;
        padding-top: 34px !important;
        overflow: hidden;
        padding-bottom: 24px !important;
    }
    .ehp-header__site-link img, .ehp-header__site-logo,
    .ehp-header.has-behavior-onscroll-always.scroll-down.has-behavior-sticky-scale-logo .ehp-header__site-link img {
        width: 188px !important;
        min-width: 188px !important;
    }
    .ehp-header[data-responsive-breakpoint=mobile-portrait] .ehp-header__menu-cart-container {
        position: absolute;
        right: 0px;
    }
    .ehp-header__ctas-container.has-responsive-width-default.ehp-header__ctas-container.has-responsive-width-default {
        display: none;
    }
    .ehp-header button.ehp-header__button-toggle svg {
        display: none;
    }
    .ehp-header button.ehp-header__button-toggle:after {
        content: "Menu";
        color: var(--Text-Text-inverted-primary, #FFFEFC);
        font-family: "DM Sans";
        font-size: var(--Typography-Size-Text-L, 16px);
        font-style: normal;
        font-weight: 400;
        line-height: var(--Typography-Line-Height-Button-L, 24px);
        letter-spacing: -0.32px;
        background: var(--Button-Button-primary-default, #060809);
        padding: 16px 24px;
    }
    h2,
    .centerimg h2,
    h2 em, 
    .caseslider h2 {
        font-size: var(--Typography-Size-H2, 40px) !important;
    }
    .caseslider h2 {
        font-size: var(--Typography-Size-H2, 34px) !important;
    }
    .caseslider .e-con-inner {
        padding-left: 0px !important;
        padding-right: 0px !important;
    }
    h2 em {
        font-size: var(--Typography-Size-H2, 40px) !important;
        font-style: italic !important;
        font-weight: 400 !important;
        line-height: 120% !important;
        letter-spacing: -1.6px !important;
    }
    .centerimg h2 em {
        font-size: var(--Typography-Size-H2, 40px) !important;
    }

    .counters span.elementor-counter-number, .counters span.elementor-counter-number-suffix, .counters .elementor-counter-title {
        font-size: 60px !important;
        letter-spacing: -1.8px !important;
    }

    .cover h3 {
        font-size: var(--Typography-Size-H1, 56px) !important;
        letter-spacing: -2.24px !important;
    }
    .cover h3 em {
        font-size: var(--Typography-Size-H1, 56px) !important;
        letter-spacing: -2.24px !important;
    }
    .centerimg .elementor-element-db4dbb3 {
        order: -1;
        margin-bottom: 24px
    }
    .csubfooter p,
    .csubfooter p a {
        color: var(--Colour-Shades-Pine-Green-600, #022B00);
        font-size: var(--Typography-Size-Button-M, 14px);
        font-style: normal;
        font-weight: 400;
        line-height: var(--Typography-Line-Height-Text-S, 16px); /* 114.286% */
    }

    .csubfooter p a {
        display: block;
        margin-top: 24px;
        margin-left: 0 !important
    }

    footer.elementor.elementor-936.elementor-location-footer {
        margin-top: -40px;
        background: #fffaf1;
    }
    .subhero h1,
    .subhero h1 em {
        font-size: var(--Typography-Size-H1, 50px) !important;
        letter-spacing: -2.24px !important;
    }
    .cfooter {
        padding-top: 40px;
    }
    .firstorder {
        order: -1;
    }
    .single-post .page-content .elementor .elementor-element:first-of-type img {
        margin-top: 16px;
    }
    .single-post h1 {
        font-size: var(--Typography-Size-H2, 40px) !important;
        letter-spacing: -1.6px !important;
    }
    .single-post h2, 
	.single-post h2 em,
	.single-post h2 span {
        font-size: var(--Typography-Size-H3, 28px) !important;
        letter-spacing: -1.12px !important;
    }
    .hero h1, 
    .hero h1 em {
        font-size: var(--Typography-Size-H1, 50px) !important;
        letter-spacing: -2.24px !important;
    }
    .sidebarbox .swiper-slide > .e-child {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: stretch;
    }
    .sidebarbox .swiper-slide > .e-child .e-child:first-of-type {
        margin: 0 !important;
        flex: 1 1 80%;
    }
    .sidebarbox .swiper-slide > .e-child .e-child:last-of-type {
        flex: 0 0 20%;
    }
    .blogfooter .TLG-author-meta {
        margin-top: 24px;
        justify-content: flex-start;
        margin-bottom: -16px;
    }
    .conclusion h2 { 
        font-size: var(--Typography-Size-H2, 40px) !important;
        letter-spacing: -1.6px !important;
    }
    .inpagenav a,
    .inpagenav h5 {
        font-size: var(--Typography-Size-H5, 16px) !important;
    }
    .inpagenav h5 {
        font-weight: 700 !important;
    }
    .elementor-widget-theme-site-logo, 
    .elementor-widget-theme-site-logo img {
        width: 188px !important;
        min-width: 188px !important;
        height: auto !important;
    }
    .elementor-element.elementor-element-ad9de0a.e-con-full.e-flex.e-con.e-child {
        width: 188px !important;
        min-width: 188px !important;
    }
    header .elementor-widget-button {
        display: none !important;
    }
    .jet-mega-menu-toggle svg {
        display: none !important;
    }
    .jet-mega-menu-toggle:after {
        content: "Menu";
        color: var(--Text-Text-inverted-primary, #FFFEFC);
        font-family: "DM Sans";
        font-size: var(--Typography-Size-Text-L, 16px);
        font-style: normal;
        font-weight: 400;
        line-height: var(--Typography-Line-Height-Button-L, 24px);
        letter-spacing: -0.32px;
        background: var(--Button-Button-primary-default, #060809);
        padding: 16px 24px;
        margin-right: 48px !important;
    }
    .jet-mega-menu.jet-mega-menu--layout-dropdown.jet-mega-menu--dropdown-layout-default .jet-mega-menu-container {
        right: -16px !important;
        margin-top: 26px !important;
        background: #fffaf2;
        padding: 16px;
        left: calc(-1 * var(--parent-left-offset)) !important;
        width: 100vw !important;
    }
    .jet-mega-menu-item__label {
        color: var(--Color-Scheme-1-Text, #000);

        /* Paragraph/L */
        font-family: "DM Sans";
        font-size: var(--Typography-Size-Text-L, 16px);
        font-style: normal;
        font-weight: 400;
        line-height: 140%; /* 22.4px */
    }
    nav.jet-mega-menu-container {
        visibility: hidden;
    }
    .jet-mega-menu--dropdown-open .jet-mega-menu-container {
        visibility: visible !important;
    }
    .jet-mega-menu-mega-container__inner,
    .jet-mega-menu-mega-container__inner .e-con-inner {
        padding: 0 !important;
    }
    .jet-mega-menu-mega-container__inner {
        margin-top: 38px !important;
    }
    .jet-mega-menu-item__label {
        color: #1B2D1A !important;
        text-align: center !important;

        /* Paragraph/L */
        font-family: "DM Sans" !important;
        font-size: var(--Typography-Size-Text-L, 16px) !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 140% !important;
        
    }

    .cmegadrop ul.elementor-nav-menu {
        display: flex;
        flex-direction: column;
        gap: 16px;
        margin-top: -8px;
        padding-left: 0 !important;
    }

    .cmegadrop a.elementor-item.elementor-item-anchor {
        padding: 0 !important;  
        color: var(--Colour-Brand-Charcoal, #060809) !important;

        /* Paragraph/S */
        font-family: "DM Sans" !important;
        font-size: var(--Typography-Size-Text-S, 14px)  !important; 
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 125% !important;
        
        padding: 8px 0 16px 0 !important;
        border-bottom: 1px solid var(--Colour-Brand-Pale-Green, #CCCDAF);
    }
    .jet-mega-menu-mega-container__inner .elementor-widget-button {
        display: block !important;
    }
    header.elementor.elementor-1874.elementor-location-header {
        height: 92px;
    }
    .casebanner h4 {
        font-size: 20px !important;
    }
}