/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra Child Theme by OuterBox
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

:root {
  /* Spacing */
  --space-base: 16px;
  --space-xxs: calc(var(--space-base)* 0.25);
  --space-xs: calc(var(--space-base)* 0.5);
  --space-sm: calc(var(--space-base)* 0.75);
  --space-md: calc(var(--space-base)* 1.5);
  --space-lg: calc(var(--space-base)* 2);
  --space-xl: calc(var(--space-base)* 2.5);
  --space-xxl: calc(var(--space-base)* 4);
  --space-xxxl: calc(var(--space-base)* 5);
  --section-space: var(--space-xxxl);
  --gutter: var(--space-xxl);
  --gutter-sm: var(--space-lg);

  /* Fonts */
  --text-base: 16px;
  --text-sm: calc(var(--text-base)* 0.875);
  --text-lg: calc(var(--text-base)* 1.125);
  --heading-xxs: calc(var(--text-base)* 0.875);
  --heading-xs: calc(var(--text-base)* 1);
  --heading-sm: calc(var(--text-base)* 1.25);
  --heading-md: calc(var(--text-base)* 1.5);
  --heading-lg: calc(var(--text-base)* 2);
  --heading-xl: calc(var(--text-base)* 2.5);
  --heading-xxl: calc(var(--text-base)* 3);
  --heading-xxxl: calc(var(--text-base)* 4);
  --font-weight-regular: 400;
  --font-weight-bold: 700;
  --font-weight-extra-bold: 900;
  --line-height-body:1.5;
  --line-height-heading:1.25;
  --font-family-heading: 'Roboto', sans-serif;
  --font-family-body: 'Roboto', sans-serif;

  /* Colors */
  --color-brand-red: #CA1142;
  --color-brand-black: #000001;
  --color-brand-white: #FFFFFF;
  --color-brand-charcoal: #686C73;
  --color-brand-stone: #D5D5DA;
  --color-brand-soft-gray: #EEEEEE;
  --color-text-black: var(--color-brand-black);
  --color-text-white: var(--color-brand-white);
  --color-text-red: var(--color-brand-red);
  --color-text-charcoal: var(--color-brand-charcoal);
  --color-text-stone: var(--color-brand-stone);
  --color-ui-01: #F4F4F4;
  --color-ui-02: #CDCDCD;
  --color-ui-03: #4C636D;
  --color-ui-white: var(--color-brand-white);

  /* Border Radius */
  --border-radius-sm: 4px;
  --border-radius-md: 8px;
  --border-radius-lg: 24px;
  --border-radius-button: var(--border-radius-sm);
}

  
@media only screen and (max-width : 991px) {	
  :root {	
    --heading-xxs: calc(var(--text-base)* 0.875);
    --heading-xs: calc(var(--text-base)* 0.875);
    --heading-sm: calc(var(--text-base)* 1.125);
    --heading-md: calc(var(--text-base)* 1.25);
    --heading-lg: calc(var(--text-base)* 1.5);
    --heading-xl: calc(var(--text-base)* 2);
    --heading-xxl: calc(var(--text-base)* 2.5);
    --heading-xxxl: calc(var(--text-base)* 3);
    --section-space: var(--space-xl);
    --gutter: var(--space-lg);
    --gutter-sm: var(--space-md);
  }
}

/* Utility/Reset */
@media (width < 768px) {
  html {
    overflow-x: hidden;
  }
}

img {
  width: 100%;
}

body .facetwp-facet,
body .fwp-submit,
body .facetwp-dropdown {
  margin: 0;

  &[disabled] {
    opacity: 0.5;
    pointer-events: none;
    cursor: not-allowed;
  }
}

.border-radius-element {
  img, span, div, .elementor-slides .swiper-slide {
    border-radius: var(--border-radius-element);
  }
}

.padding-full {
  padding: var(--section-space) var(--section-side-space);
}

.padding-top {
  padding: var(--section-space) var(--section-side-space) 0 var(--section-side-space);
}

.padding-bottom {
  padding: 0 var(--section-side-space) var(--section-space) var(--section-side-space);
}

.padding-none {
  padding: 0px var(--section-side-space);
}

.is-hidden {
  display: none !important;
}

@media only screen and (min-width: 1200px) {
  .is-hidden--desktop {
    display: none !important;
  }
}

@media only screen and (width < 1200px) and (min-width: 768px) {
  .is-hidden--tablet {
    display: none !important;
  }
}

@media only screen and (width < 768px) {
  .is-hidden--mobile {
    display: none !important;
  }
}

.col-2,
.col-3,
.col-4 {
  .elementor-icon-list-items {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
  }
}

.col-2 {
  columns: 2;
  column-gap: var(--space-xxl);
}
.col-3 {
  columns: 3;
  column-gap: var(--space-xxl);
}
.col-4 {
  columns: 4;
  column-gap: var(--space-xxl);
}

@media only screen and (width < 1200px) and (min-width: 768px) {
  .col-3,
  .col-4 {
    columns: 2;
  }
}

@media only screen and (width < 768px) {
  .col-2,
  .col-3,
  .col-4 {
    columns: 1;
  }
}

/* Typography */

a.elementor-element{
  text-decoration: none !important;
}

.eyebrow-heading {
  &, span, h1, h2, h3, h4, h5, h6, > .menu-link {
    color: inherit;
    line-height: 1.5 !important;
    font-size: var(--heading-xs) !important;
    font-family: var(--font-family-heading) !important;
    text-transform: uppercase;
    font-weight:var(--font-weight-bold) !important;
    letter-spacing: 1px;

    a {
      text-decoration: none;
    }
  }
}

.headline-heading {
  &, span, h1, h2, h3, h4, h5, h6, > .menu-link {
    color: inherit;
    line-height: var(--line-height-heading) !important;
    font-size: var(--heading-xxxl) !important;
    font-family: var(--font-family-heading) !important;
    font-weight: var(--font-weight-bold) !important;

    a {
      text-decoration: none;
    }
  }
}

h1,
.entry-content :where(h1),
.heading1,
h2,
.entry-content :where(h2),
.heading2,
h3,
.entry-content :where(h3),
.heading3,
h4,
.entry-content :where(h4),
.heading4,
h5,
.entry-content :where(h5),
.heading5,
h6,
.entry-content :where(h6),
.heading6 {
  &, span, h1, h2, h3, h4, h5, h6, > .menu-link {
    color: inherit;
    line-height: var(--line-height-heading) !important;
    font-family: var(--font-family-heading) !important;
    font-weight: var(--font-weight-bold) !important;

    a {
      text-decoration: none;
    }
  }
}



h1,
.entry-content :where(h1),
.heading1 {
  &, span, h1, h2, h3, h4, h5, h6, > .menu-link {
    font-size: var(--heading-xxl) !important;
}}

h2,
.entry-content :where(h2),
.heading2 {
  &, span, h1, h2, h3, h4, h5, h6, > .menu-link {
    color: inherit;
    font-size: var(--heading-xl) !important;
  }
}

h3,
.entry-content :where(h3),
.heading3 {
  &, span, h1, h2, h3, h4, h5, h6, > .menu-link {
    font-size: var(--heading-lg) !important;
}}

h4,
.entry-content :where(h4),
.heading4 {
  &, span, h1, h2, h3, h4, h5, h6, > .menu-link {
    font-size: var(--heading-md) !important;
  }
}

h5,
.entry-content :where(h5),
.heading5 {
  &, span, h1, h2, h3, h4, h5, h6, > .menu-link {
    font-size: var(--heading-sm) !important;
    letter-spacing: 2px;
  }
}

h6,
.entry-content :where(h6),
.heading6 {
  &, span, h1, h2, h3, h4, h5, h6, > .menu-link {
    line-height: var(--line-height-body) !important;
    font-size: var(--heading-xs) !important;
  }
}

p {
  margin: 0!important;
}

.p--small {
  font-size: var(--text-sm);
}

.p--large {
  font-size: var(--text-lg);
}

p + p {
  padding-top: var(--space-base)!important;
}

p a {
  color: var(--color-text-red);
  text-decoration: underline;

  &:hover {
    color: var(--color-text-black);
  }
}

span, h1, h2, h3, h4, h5, h6, p, li {
  max-width: 768px !important;
}

body, button, input, select, textarea {
  font-family: var(--font-family-body);
}

body {
  color: var(--color-text-black);
}

body a {
  &, &:hover, &:active, &:focus {
    color: inherit;
  }
}

.elementor-button{
  border-radius:var(--border-radius-button);
  padding:var(--space-sm) var(--space-md) !important;
  font-family: var(--font-family-heading);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  line-height: 1.35 !important;
}


/* Slider */
.elementor-swiper{
  margin-bottom: 16px;
}
.elementor-element .swiper .swiper-pagination-bullets.swiper-pagination-horizontal{
  bottom: -18px;
}
.elementor-element.elementor-arrows-position-outside .swiper{
  width: calc(100% - 80px);
}
.elementor-slides .swiper-slide{
  position: relative;
  overflow: hidden;
}
.elementor-widget-n-carousel .swiper-pagination-bullet,
.elementor-widget-loop-carousel .swiper-pagination-bullet {
  --bullet-color: var(--e-n-carousel-dots-normal-color, var(--dots-normal-color, #000));

  background: transparent;
  border: 2px solid var(--bullet-color);
  opacity: 1;
}
.elementor-widget-n-carousel .swiper-pagination-bullet.swiper-pagination-bullet-active,
.elementor-widget-loop-carousel .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: var(--bullet-color);
}


/* Carousel */


/* Video */
.video__container {
  position: relative;

  .elementor-custom-embed-image-overlay::before {
    content: '';
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.0);
    pointer-events: none;
    transition: 0.75s;
  }

  .elementor-custom-embed-play {
    --circle-size: 80px;
    
    display: flex;
    justify-content: center;
    align-items: center;
    width: var(--circle-size);
    height: var(--circle-size);
    background-color: var(--color-ui-white);
    border-radius: 100%;
    transform: translate(calc(-50% * var(--direction-multiplier)),-50%) scale(1);
    transition: 0.75s;

    i {
      font-family: "Font Awesome 6 Sharp";
      color: var(--color-brand-red);
      opacity: 1;
      text-shadow: none;
    }
  }

  &.title-overlay__container {
    &:hover::before {
      background-color: rgba(0, 0, 0, 0.0);
    }

    .title-overlay {
      position: absolute;

      &:first-child {
        top: -20px;
        bottom: auto;
      }

      &:last-child {
        top: auto;
        bottom: -20px;
      }
    }
  }

  &:hover {
    .elementor-custom-embed-image-overlay::before {
      background-color: rgba(0, 0, 0, 0.5);
    }

    .elementor-custom-embed-play {
      transform: translate(calc(-50% * var(--direction-multiplier)),-50%) scale(1.4);
    }
  }
}

@media (max-width: 1199px) {
  .video__container {
    &.title-overlay__container {
      &::before {
        background-color: rgba(0, 0, 0, 0.0);
      }

      .title-overlay {
        &:first-child {
          position: relative;
          top: auto;
          bottom: -40px;
        }

        &:last-child {
          position: relative;
          top: -40px;
          bottom: auto;
        }
      }
    }
  }
}

/* Tabbed Content */
.tabs-left .e-n-tabs-heading button{
  position: relative;
}
.tabs-left .e-n-tabs-heading button:after{
  content:'';
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  background-color: var(--color-ui-01);
}
@media only screen and (max-width: 767px) {	
  .tabs-top .e-n-tabs-heading button{
    position: relative;
  }
  .tabs-top .e-n-tabs-heading button:after{
    content:'';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    background-color: var(--color-ui-01);
  }
}


/* Tables */

.html-table{
  table{
    border: 0;
  }
  thead{
    background-color: var(--color-brand-01);
  }
  th{
    border-color: var(--color-text-white);
    color: var(--color-text-white);
    line-height: 1.5;
    font-size: var(--text-base);
    font-family: var(--font-family-body);
    text-transform: uppercase;
    font-weight:var(--font-weight-bold);
    padding: var(--space-sm) var(--space-base);
  }
  tbody tr:nth-child(odd){
    background-color: var(--color-ui-white);
  }
  tbody tr:nth-child(even){
    background-color: var(--color-ui-01);
  }
  td{
    border: 0;
    border-bottom: 1px solid var(--color-ui-02);
    text-align: center;
    font-size: var(--text-base);
    padding: var(--space-sm) var(--space-base);
  }
}

.html-table::-webkit-scrollbar-track {
  background: var(--color-text-white);
  border: 1px solid var(--color-brand-03);
  height: 8px;
  border-radius: 12px;
}
.html-table::-webkit-scrollbar {
  width: 8px;
  background: var(--color-text-white);
  height: 8px;
  border-radius: 12px;
}
.html-table::-webkit-scrollbar-thumb {
  background: var(--color-brand-03);
  width: 40px;
  border-radius: 12px;
}

@media only screen and (max-width: 1199px) {	
  .html-table{
    overflow: auto;
    table{
      width: 1199px;
    }
  }
}


/* Forms */
form{
  .gfield_label{
    color: var(--color-text-black)  !important;
    line-height: 1.5;
    font-size: var(--text-base) !important;
    font-family: var(--font-family-body);
    font-weight:var(--font-weight-bold) !important;
  }
  .gfield_required{
    text-transform: lowercase;
    color: var(--color-brand-red);
    font-size: var(--text-sm) !important;
  }
  .ginput_container {
    input[type="text"],
    input[type="tel"],
    input[type="email"],
    select {
      border: 1px solid var(--color-ui-02) !important;
      padding: var(--space-sm) var(--space-base) !important;
      height: 48px !important;
      line-height: 48px !important;
    }
    select {
      padding-block: 0 !important;
    }
  }
  .ginput_container textarea{
    border: 1px solid var(--color-ui-02) !important;
    padding: var(--space-sm) var(--space-base) !important;
    height: 96px !important;
    font-size: var(--text-base) !important;
  }
  label + .gfield_description{
    text-transform: lowercase;
    color: var(--color-text-black);
    font-size: var(--text-sm) !important;
    left: 8px;
    top: 1px;
    position: relative;
  }
  .gform_fields{
    row-gap: var(--space-md) !important;
  }
}

.form-wide form .gfield--width-half{
  grid-column: 1 / -1;
}

.form-light form .gfield_label,
.form-light form .gfield_required,
.form-light form .gfield_description{
  color: var(--color-text-white) !important;
}


/* Mobile Menu */
.off-canvas-toggle a[aria-expanded="true"] i:before{
  content: '\f00d';
}
.elementor-widget-off-canvas{
  .e-off-canvas__overlay{
    background-color: transparent !important;
  }
  .e-off-canvas__content{
    width: 100%;
  }
  .e-off-canvas__main{
    height: calc(100% - var(--header-height));
    top: var(--header-height);
    overflow-y: auto;
  }
}
.e-off-canvas .elementor-nav-menu--main{
  ul {
    position: relative;
    height: 100%;
  }
  ul li{
    position: relative;
  }
  ul li > .submenu-toggle {
    cursor: pointer;
    position: absolute;
    width: 40px;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    text-align: right;
  }
  ul li a{
    margin: 0;
    border: 0;
  }
  ul li a:after{
    content: '';
    opacity: 1 !important;
    height: 2px;
    width: 100%;
    background-color: var(--color-brand-stone);
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
  }
  ul li a > span{
    display: none !important;
  }
  ul ul {
    position: absolute;
    left: 100vw !important;
    transition: left 0.2s ease-in-out;
    z-index: 3;
    background-color: white;
    width: 100% !important;
    top: 0 !important;
    transition: none;
    margin-left: 0 !important;
    margin-top: 0 !important;
  }
  ul li.submenu-active {
    position: static;
  }
  ul li.submenu-active > ul {
    left: 0 !important;
    transition: left 0.2s ease-in-out;
    z-index: 9;
    display: block !important; 
  }
  button.submenu-toggle{
    position: relative;
    width: 40px;
    height: 40px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: 0;
    line-height: 1.5;
    color: var(--color-text-black);
    font-weight: var(--font-weight-bold);
    background-color: transparent;
    padding: 0;
  }
  button.submenu-toggle:before{
    content:'\f061';
    font-size: var(--text-base);
    width: 20px;
    height: 20px;
    display: block;
    color: var(--color-brand-red);
    font-family: 'Font Awesome 6 Pro';
    font-weight: 400;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  .submenu-back{
    border-bottom: 1px solid  var(--color-ui-03);
  }
  .submenu-back-button{
    --btn-padding-block: var(--space-sm);
    --btn-padding-inline: 0;

    justify-content: flex-start;
    position: relative;
    display: flex;
    align-items: center;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: 0;
    line-height: 1.5;
    color: var(--color-text-black);
    font-weight: var(--font-weight-bold);
    background-color: transparent;
  }
  .menu-link {
    font-family: var(--font-family-body);
    font-size: var(--text-base);
    font-weight: var(--font-weight-bold);
    padding-inline: 0;

    &:not([href]),
    &:not([href]):hover {
      color: var(--color-text-red);
      line-height: var(--line-height-heading) !important;
      font-size: var(--heading-md);
      font-family: var(--font-family-heading);
      font-weight: var(--font-weight-bold);
    }

    &:hover,
    &.elementor-item-active {
      color: inherit;
      padding-inline: 0;
      background-color: inherit;
    }
  }
}

#mobile-nav .search-container{
  padding: var(--space-md) 0;
  .search-form input{
    width: 100%;
  }
}
.mobile-nav__utility{
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  margin-top: var(--space-md);
  i {
    width: 20px;
    color: var(--color-brand-03);
  }
  a {
    text-decoration: none;
    color: var(--color-text-black);
  }
}

/* BUTTONS */
button.show-password-input {
  display: none !important;;
}

button,
.btn,
a.btn,
.elementor-button,
[id^="gform_submit_button_"],
.elementor-slide-button,
a.elementor-slide-button,
.facetwp-type-radio.facetwp-facet-search_post_type .facetwp-radio {
  /* basic button style */
  --btn-font-size: var(--text-sm);
  --btn-color: var(--color-brand-red);
  --btn-border-color: var(--color-brand-red);
  --btn-text-color: var(--color-text-white);
  --btn-border-size: 2px;
  --btn-transform: uppercase;
  --btn-font-weight: var(--font-weight-extra-bold, 900);
  --btn-padding-inline: var(--space-md, 16px);
  --btn-padding-block: var(--space-base, 12px);

  font-family: var(--font-family-body);
  position: relative;
  display: inline-flex;
  gap: var(--space-xs);
  justify-content: center;
  align-items: center;
  white-space: normal;
  font-size: var(--btn-font-size, 1em);
  font-weight: var(--btn-font-weight, inherit) !important;
  text-decoration: none !important;
  text-transform: var(--btn-transform, uppercase) !important;
  color: var(--btn-text-color, inherit) !important;
  background-color: var(--btn-color, inherit) !important;
  padding-inline: var(--btn-padding-inline, inherit) !important;
  padding-block: var(--btn-padding-block, inherit) !important;
  border-radius: var(--border-radius-button, 0) !important;
  border: var(--btn-border-size, 1px) solid var(--btn-border-color, inherit) !important;
  cursor: pointer;
  line-height: 1.5;
  letter-spacing: 1px;
  transition: color 0.3s, background-color 0.3s,
    border-color 0.3s;
}

button:focus,
.btn:focus,
a.btn:focus,
.elementor-button:focus,
[id^="gform_submit_button_"]:focus,
.elementor-slide-button:focus,
a.elementor-slide-button:focus,
.facetwp-type-radio.facetwp-facet-search_post_type .facetwp-radio:focus {
  outline: 2px dashed var(--btn-border-color);
  outline-offset: 4px;
}

button:hover,
button:active,
button[disabled],
.btn:hover,
.btn:active,
.btn[disabled],
a.btn:hover,
a.btn:active,
a.btn[disabled],
.elementor-button:hover,
.elementor-button:active,
.elementor-button[disabled],
[disabled] .elementor-button,
[id^="gform_submit_button_"]:hover,
[id^="gform_submit_button_"]:active,
[id^="gform_submit_button_"][disabled],
.elementor-slide-button:hover,
.elementor-slide-button:active,
.elementor-slide-button[disabled],
a.elementor-slide-button:hover,
a.elementor-slide-button:active,
a.elementor-slide-button[disabled],
.facetwp-type-radio.facetwp-facet-search_post_type .facetwp-radio:hover,
.facetwp-type-radio.facetwp-facet-search_post_type .facetwp-radio:active,
.facetwp-type-radio.facetwp-facet-search_post_type .facetwp-radio[disabled]{
  --btn-color: var(--color-brand-black);
  --btn-border-color: var(--color-brand-black);
  --btn-text-color: var(--color-text-white);
}

button[disabled],
.btn[disabled],
a.btn[disabled],
.elementor-button[disabled],
[disabled] .elementor-button,
[id^="gform_submit_button_"][disabled],
.elementor-slide-button[disabled],
a.elementor-slide-button[disabled],
.facetwp-type-radio.facetwp-facet-search_post_type .facetwp-radio[disabled] {
  opacity: 0.3;
  cursor: not-allowed;
}

.btn--primary,
a.btn--primary,
.elementor-button,
.facetwp-type-radio.facetwp-facet-search_post_type .facetwp-radio.checked {
  --btn-color: var(--color-brand-red);
  --btn-border-color: var(--color-brand-red);
  --btn-text-color: var(--color-text-white);
}

.faux-link:hover .btn--primary,
.faux-link:active .btn--primary,
.faux-link:hover .elementor-button,
.faux-link:active .elementor-button,
.btn--primary:hover,
.btn--primary:active,
a.btn--primary:hover,
a.btn--primary:active,
.elementor-button:hover,
.elementor-button:active,
.facetwp-type-radio.facetwp-facet-search_post_type .facetwp-radio.checked:hover,
.facetwp-type-radio.facetwp-facet-search_post_type .facetwp-radio.checked:active{
  --btn-color: var(--color-brand-black);
  --btn-border-color: var(--color-brand-black);
  --btn-text-color: var(--color-text-white);
}

.btn--secondary,
a.btn--secondary,
.facetwp-type-radio.facetwp-facet-search_post_type .facetwp-radio {
  --btn-color: var(--color-brand-white);
  --btn-border-color: var(--color-brand-red);
  --btn-text-color: var(--color-text-red);
}

.faux-link:hover .btn--secondary,
.btn--secondary:hover,
a.btn--secondary:hover,
.facetwp-type-radio.facetwp-facet-search_post_type .facetwp-radio:hover {
  --btn-color: var(--color-brand-black);
  --btn-border-color: var(--color-brand-black);
  --btn-text-color: var(--color-text-white);
}

.faux-link[disabled] .btn--secondary,
.faux-link:active .btn--secondary,
.btn--secondary[disabled],
.btn--secondary:active,
a.btn--secondary[disabled],
a.btn--secondary:active,
.facetwp-type-radio.facetwp-facet-search_post_type .facetwp-radio[disabled],
.facetwp-type-radio.facetwp-facet-search_post_type .facetwp-radio:active {
  --btn-color: var(--color-brand-white);
  --btn-border-color: var(--color-brand-black);
  --btn-text-color: var(--color-text-black);
}

.btn--white,
a.btn--white,
button.facetwp-load-more {
  --btn-color: var(--color-brand-white);
  --btn-border-color: var(--color-brand-white);
  --btn-text-color: var(--color-text-black);
}

.faux-link[disabled] .btn--white,
.faux-link:hover .btn--white,
.faux-link:active .btn--white,
.btn--white[disabled],
.btn--white:hover,
.btn--white:active,
a.btn--white[disabled],
a.btn--white:hover,
a.btn--white:active,
button.facetwp-load-more[disabled],
button.facetwp-load-more:hover,
button.facetwp-load-more:active {
  --btn-color: var(--color-brand-black);
  --btn-border-color: var(--color-brand-white);
  --btn-text-color: var(--color-text-white);
}

.btn--tertiary,
a.btn--tertiary {
  --btn-color: transparent;
  --btn-border-color: var(--color-brand-red);
  --btn-text-color: var(--color-text-red);
  --btn-padding-inline: 0;
  --btn-border-size: 0 0 2px 0;
}

.faux-link:active .btn--tertiary,
.btn--tertiary:active,
a.btn--tertiary:active {
  --btn-color: transparent;
  --btn-border-color: transparent;
  --btn-text-color: var(--color-text-red);
}

.faux-link[disabled] .btn--tertiary,
.faux-link:hover .btn--tertiary,
.btn--tertiary[disabled],
.btn--tertiary:hover,
a.btn--tertiary[disabled],
a.btn--tertiary:hover {
  --btn-color: transparent;
  --btn-border-color: var(--color-brand-black);
  --btn-text-color: var(--color-text-black);
}

.btn--tertiary-dark,
a.btn--tertiary-dark {
  --btn-color: transparent;
  --btn-border-color: var(--color-brand-stone);
  --btn-text-color: var(--color-text-stone);
  --btn-padding-inline: 0;
  --btn-border-size: 0 0 2px 0;
}

.faux-link:active .btn--tertiary-dark,
.btn--tertiary-dark:active,
a.btn--tertiary-dark:active {
  --btn-color: transparent;
  --btn-border-color: transparent;
  --btn-text-color: var(--color-text-stone);
}

.faux-link[disabled] .btn--tertiary-dark,
.faux-link:hover .btn--tertiary-dark,
.btn--tertiary-dark[disabled],
.btn--tertiary-dark:hover,
a.btn--tertiary-dark[disabled],
a.btn--tertiary-dark:hover {
  --btn-color: transparent;
  --btn-border-color: var(--color-brand-white);
  --btn-text-color: var(--color-text-white);
}

.btn--text-only,
a.btn--text-only,
.e-n-tab-title {
  --btn-color: transparent;
  --btn-border-color: transparent;
  --btn-text-color: inherit;
}

.faux-link:active .btn--text-only,
.faux-link[disabled] .btn--text-only,
.faux-link:hover .btn--text-only,
.btn--text-only:active,
.btn--text-only[disabled],
.btn--text-only:hover,
a.btn--text-only:active,
a.btn--text-only[disabled],
a.btn--text-only:hover,
.e-n-tab-title:active,
.e-n-tab-title[disabled],
.e-n-tab-title:hover {
  --btn-color: transparent;
  --btn-border-color: transparent;
  --btn-text-color: inherit;
}

.btn--download,
a.btn--download {
  --btn-color: var(--color-brand-white);
  --btn-border-color: var(--color-brand-red);
  --btn-text-color: var(--color-text-black);

  white-space: normal;
  text-align: left;

  > .elementor-button-content-wrapper:has(.elementor-button-icon) {
    width: 100%;
    justify-content: space-between;

    .elementor-button-icon {
      color: var(--color-text-red);
    }
  }
}

.faux-link:hover .btn--download,
.btn--download:hover,
a.btn--download:hover {
  --btn-color: var(--color-brand-red);
  --btn-border-color: var(--color-brand-red);
  --btn-text-color: var(--color-text-white);

  > .elementor-button-content-wrapper:has(.elementor-button-icon) {
    .elementor-button-icon {
      color: var(--btn-text-color);
    }
  }
}

.faux-link[disabled] .btn--download,
.faux-link:active .btn--download,
.btn--download[disabled],
.btn--download:active,
a.btn--download[disabled],
a.btn--download:active {
  --btn-color: var(--color-brand-white);
  --btn-border-color: var(--color-brand-black);
  --btn-text-color: var(--color-text-black);

  > .elementor-button-content-wrapper:has(.elementor-button-icon) {
    .elementor-button-icon {
      color: var(--btn-text-color);
    }
  }
}

.btn--mobile a {
  --btn-padding-inline: var(--space-xs);
}

/* Header */
header {
  .e-n-menu-heading {
    .e-n-menu-item:hover .e-n-menu-title::after {
      content: '';
      position: absolute;
      inset-inline: var(--space-base);
      bottom: 0;
      background-color: var(--color-brand-red);
      height: 4px;
    }

    .e-n-menu-title {
      font-weight: var(--font-weight-extra-bold);
      text-transform: uppercase;
      font-size: var(--text-sm);
    }
    
    button.e-n-menu-dropdown-icon {
      margin-left: 10px !important;
    }
  }

  .e-n-menu-heading button.e-n-menu-dropdown-icon,
  .submenu-toggle {
    --btn-color: transparent;
    --btn-border-color: transparent;
    --btn-text-color: inherit;
    --btn-padding-inline: 0;
  }

  .navigation__main {
    height: 100%;

    nav {
      height: 100%;

      > ul > .menu-item {
        > .menu-link {
          color: var(--color-text-black);
          font-weight: var(--font-weight-extra-bold);
          text-transform: uppercase;
          font-size: var(--text-sm);
        }

        &:hover {
          &::after {
            content: '';
            position: absolute;
            inset-inline: var(--space-md);
            bottom: 0;
            background-color: var(--color-brand-red);
            height: 4px;
            border: none;
          }

          > .menu-link {
            color: var(--color-text-red);
          }

          i::before {
            content: '\f077';
          }
        }
      }
    }

    .menu-item-has-children:hover > ul.sub-menu {
      display: block !important;
      opacity: 1 !important;
      width: auto !important;
      min-width: 10em !important;
      max-width: 1000px !important;
      left: 0 !important;
      margin-left: 0 !important;
      margin-top: 0 !important;
      border: 1px solid var(--color-brand-stone);
    }
  }
}

.elementor-nav-menu .sub-arrow .fa.fa-chevron-down,
.elementor-nav-menu .sub-arrow .fas.fa-chevron-down,
.elementor-nav-menu .sub-arrow .fa.fa-chevron-up,
.elementor-nav-menu .sub-arrow .fas.fa-chevron-up {
  font-size: var(--text-base);
}

@media only screen and (min-width: 768px) {
  .elementor-widget.elementor-widget-navigation-menu .hfe-nav-menu > nav > ul {
    font-size: var(--text-base);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: auto !important;

    &::before,
    &::after {
      display: none;
    }

    .menu-item-has-children {
      break-inside: avoid;
    }
  }
}

.elementor-widget.elementor-widget-navigation-menu .hfe-nav-menu > nav .menu-item a.hfe-menu-item {
  font-family: var(--font-family-body);
  font-weight: var(--font-weight-bold);
  padding-inline: 0;
  padding-block: var(--space-lg) 0;
  text-transform: uppercase;
  letter-spacing: 1.4px;
}

.elementor-widget.elementor-widget-navigation-menu .hfe-nav-menu > nav .menu-item a.hfe-sub-menu-item {
  font-family: var(--font-family-body);
  font-weight: var(--font-weight-regular);
  padding-inline: 0;
  padding-block: var(--space-xs) 0;
}

.elementor-widget.elementor-widget-navigation-menu .hfe-nav-menu > nav .menu-item a.hfe-menu-item:hover,
.elementor-widget.elementor-widget-navigation-menu .hfe-nav-menu > nav .menu-item a.hfe-menu-item:focus,
.elementor-widget.elementor-widget-navigation-menu .hfe-nav-menu > nav .menu-item a.hfe-sub-menu-item:hover,
.elementor-widget.elementor-widget-navigation-menu .hfe-nav-menu > nav .menu-item a.hfe-sub-menu-item:focus {
  color: var(--color-text-red);
}

.elementor-widget.elementor-widget-navigation-menu .hfe-nav-menu > nav .menu-item .sub-menu {
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  position: relative !important;
  top: 0 !important;
}

.hfe-nav-menu .sub-arrow {
  display: none;
}

.navigation__main .elementor-nav-menu .sub-menu {
  font-size: var(--text-base);
  padding-inline: var(--space-xl) !important;
  padding-block: var(--space-xl) !important;

  > li:not(:last-child) {
    padding-bottom: var(--space-sm);
  }

  a {
    padding: 0;
    margin: 0;
    border: none;

    &:hover,
    &.elementor-item-active {
      color: var(--color-text-red);
      background: none;
    }
  }
}

/* Breadcrumbs */
.home .breadcrumbs__container {
  display: none;
}

#breadcrumbs {
  color: var(--color-brand-charcoal);

  .fa-house-blank {
    color: var(--color-brand-red);
  }
}

/* Footer */
footer {
  .footer__nav.elementor-widget.elementor-widget-navigation-menu .hfe-nav-menu > nav .menu-item {
    a.hfe-menu-item {
      padding: 0;
    }

    .hfe-has-submenu-container {
      &:not(:first-child) {
        margin-top: var(--space-xl);
      }

      a.hfe-menu-item {
        line-height: 1.5;
        font-size: var(--heading-xs);
        font-family: var(--font-family-heading);
        text-transform: uppercase;
        font-weight:var(--font-weight-bold);
        letter-spacing: 1px;
      }

      + .sub-menu {
        margin-top: var(--space-md);

        > li.menu-item:not(:last-child) {
          border-bottom: none;
          margin-bottom: var(--space-base);
        }
      }
    }
  }
}

@media only screen and (width < 768px) {
  footer {
    .footer__nav.elementor-widget.elementor-widget-navigation-menu .hfe-nav-menu > nav .menu-item {
      &.parent:not(:first-child) {
        margin-top: var(--space-xl);
      }

      a.hfe-menu-item,
      a.hfe-sub-menu-item {
        justify-content: center;
      }
    }
  }
}

.fa-level-up-alt::before {
  content: '\e09f' !important;
}

/* Hover Cards */
.hover-card {
  border: 0px solid var(--color-brand-red);
  transition: 0.75s;
  overflow: hidden;

  .icon--plus,
  .icon--minus {
    display: none;
  }

  .hover-card__content {
    width: calc(100% + 150px);
    transition: 0.75s;
    opacity: 0;
    height: 0;
    overflow: hidden;
  }
}

.hover-card__markets {
  width: calc(100% / var(--markets-count, 1));
}

@media (min-width: 1200px) {
  .hover-card {
    &:hover {
      border-width: 1px;
      background: var(--color-ui-white) !important;

      &::before {
        display: none;
      }

      .elementor-heading-title {
        color: inherit !important;
      }

      .hover-card__content {
        opacity: 1;
        height: 100%;
        width: 100%;
      }
    }
  }

  .hover-card__markets {
    &:hover {
      width: calc(100% / var(--markets-count, 1) + 150px);
    }
  }
}

@media (max-width: 1199px) {
  .hover-card {
    border-width: 1px;

    &.expanded {
      border-width: 1px;
      background: var(--color-ui-white) !important;

      &::before {
        display: none;
      }

      .elementor-heading-title {
        color: inherit !important;
      }

      .hover-card__content {
        opacity: 1;
        height: 100%;
        width: 100%;
      }

      .icon--plus {
        display: none;
      }

      .icon--minus {
        display: block;
      }
    }

    &.expanded,
    .hover-card__content {
      width: 100%;
      transition: height 0s;
    }

    .elementor-icon-wrapper {
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .icon--plus {
      display: block;
    }

    .icon--minus {
      display: none;
    }
  }

  .hover-card__markets {
    --markets-count: 1 !important;

    &.expanded {
      width: 100%;
    }
  }
}

.hover-card__lift {
  transform: translateY(0);
  transition: 0.75s;
}

@media (min-width: 1200px) {
  .hover-card__lift:hover {
    transform: translateY(calc(-1 * var(--space-md)));
  }
}

/* Misc Styles */

.elementor-icon-list-items a {
  text-decoration: none !important;
  border-bottom: 1px solid transparent;
  flex-direction: row-reverse;

  &:hover {
    color: var(--color-brand-red);
    border-bottom-color: var(--color-brand-red);
  }
}

.footer__navigation .elementor-icon-list-items a {
  flex-direction: row;
}

.seperator__red {
  position: relative;
  z-index: -1;
}

.top-left__cut,
.bottom-right__cut,
.top-right__cut,
.bottom-left__cut {
  --corner-cut-size: 165px;

  img {
    width: 100%;
  }
}

@media (max-width: 1199px) {
  .top-left__cut,
  .bottom-right__cut,
  .top-right__cut,
  .bottom-left__cut {
    margin-inline: calc(-1 * var(--gutter));
    width: calc(100% + 2 * var(--gutter));
    max-width: calc(100% + 2 * var(--gutter)) !important;

    &.hero__container {
      margin-inline: 0;
      width: 100%;
      max-width: 100%;
    }
  }
}

@media (max-width: 767px) {
  .top-left__cut,
  .bottom-right__cut,
  .top-right__cut,
  .bottom-left__cut {
    --corner-cut-size: 100px;
  }
}

.top-left__cut,
.bottom-right__cut {
  &, img {
    clip-path: polygon(var(--corner-cut-size) 0, 100% 0, 100% calc(100% - var(--corner-cut-size)), calc(100% - var(--corner-cut-size)) 100%, 0 100%, 0 var(--corner-cut-size));
  }

  .hero__red-cut {
    position: absolute;
    inset: 0;
    background-color: var(--color-brand-red);
    clip-path: polygon(0 calc(100% - 10px), calc(100% - calc(1.8 * var(--corner-cut-size))) calc(100% - 10px), 100% calc(100% - calc(1.8 * var(--corner-cut-size))), 100% 100%, 0 100%);
    pointer-events: none;
  }
}

.top-right__cut,
.bottom-left__cut {
  &, img {
    clip-path: polygon(0 0, calc(100% - var(--corner-cut-size)) 0, 100% var(--corner-cut-size), 100% 100%, var(--corner-cut-size) 100%, 0 calc(100% - var(--corner-cut-size)));
  }

  .hero__red-cut {
    position: absolute;
    inset: 0;
    background-color: var(--color-brand-red);
    clip-path: polygon(0 calc(100% - calc(1.8 * var(--corner-cut-size))), calc(1.8 * var(--corner-cut-size)) calc(100% - 10px), 100% calc(100% - 10px), 100% 100%, 0 100%);
    pointer-events: none;
  }
}

.watermark {
  position: absolute;
  pointer-events: none;
  transform: translateY(-50%);
  top: 50%;
  height: 640px;
  width: 600px;
  z-index: -1;

  *,
  svg {
    height: 100%;
    width: 100%;
  }
}

.watermark__left {
  left: calc(-1 * var(--gutter));
}

.watermark__right {
  right: calc(-1 * var(--gutter));
}

.title-overlay__container {
  &::before {
    content: '';
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.0);
    pointer-events: none;
    transition: 0.75s;
  }

  .title-overlay {
    clip-path: polygon(0 0, 100% 0, calc(100% - 60px) 100%, 0 100%);
    width: 90%;
    transition: 0.75s;
    z-index: 1;

    &:first-child {
      top: -20px;
      bottom: auto;
    }

    &:last-child {
      top: auto;
      bottom: -20px;
    }

    .elementor-icon-box-content {
      display: flex;
      justify-content: space-between;
      align-items: center;

      .elementor-icon-box-description {
        opacity: 0;
        transition: 0.75s;
        font-size: var(--text-sm);
        font-weight: var(--font-weight-extra-bold);
        letter-spacing: 1.4px;
      }
    }

    .elementor-icon:has(.fa-arrow-right) {
      opacity: 0;
      transition: 0.75s;
    }
  }

  &:hover {
    &::before {
      background-color: rgba(0, 0, 0, 0.5);
    }

    .title-overlay {
      width: 100%;
      background-color: var(--color-brand-red) !important;

      .elementor-icon:has(.fa-arrow-right),
      .elementor-icon-box-description {
        opacity: 1;
      }
    }
  }
}

@media (max-width: 1199px) {
  .title-overlay__container {
    &::before {
      background-color: rgba(0, 0, 0, 0.5);
    }

    .title-overlay {
      width: 100%;
      background-color: var(--color-brand-red) !important;

      .elementor-icon-box-content {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-base);

        .elementor-icon-box-description {
          opacity: 1;
        }
      }

      .elementor-icon:has(.fa-arrow-right) {
        opacity: 1;
      }
    }
  }
}

.events-carousel .elementor-icon-list-items a {
  flex-direction: row;
}

.elementor-gallery-item__image.e-gallery-image {
  background-size: contain;
  background-repeat: no-repeat;
}

.faux-link {
  cursor: pointer;
}

.image__container {
  &:hover {
    .hover--content {
      opacity: 1;
    }
  }

  .hover--content {
    opacity: 0;
    transition: 0.75s;
    flex-grow: 1;
  }

  &:has(.hover--content + .title-overlay) {
    .hover--content {
      margin-bottom: -20px;
    }
  }

  &:has(.title-overlay + .hover--content) {
    .hover--content {
      margin-top: -20px;
    }
  }

  a {
    text-decoration: none !important;
  }
}

@media (max-width: 1199px) {
  .image__container {
    .hover--content {
      opacity: 1;
    }
  }
}

header #productFinder > .e-con-inner {
  padding-block: var(--space-base);
}

.elementor-widget-template:has(#productFinder),
#productFinder {
  width: 100%;

  .elementor-widget-facetwp-facet {
    width: 100%;

    * {
      width: 100%;
    }

    .facetwp-dropdown {
      padding-block: var(--space-sm);
      padding-inline: var(--space-base);
      border: 1px solid var(--color-ui-02);
      border-radius: var(--border-radius-sm);
      color: var(--color-text-black);
      background-color: var(--color-ui-white);
    }
  }
}

@media (min-width: 1200px) {
  #productFinder .elementor-widget-facetwp-facet {
    flex-basis: 270px;
  }
}

.hfe-nav-menu__layout-vertical {
  width: auto !important;
}

.btn--open-product-finder {
  cursor: pointer;
}

.product-finder__header {
  .elementor-heading-title {
    color: var(--color-text-white) !important;
  }

  
  [disabled] .elementor-button,
  .elementor-button:hover {
    --btn-border-color: var(--color-brand-white);
  }
}

.tablepress {
  --head-bg-color: var(--color-brand-red);
  --head-text-color: var(--color-text-white);
  --even-bg-color: var(--color-ui-01);

  margin-bottom: 0;
  overflow: hidden;

  td {
    vertical-align: middle;
  }
}

.elementor-widget-n-accordion {
  .e-n-accordion-item {
    border-radius: var(--border-radius-sm);
    border: 1px solid var(--color-brand-red);
    overflow: hidden;
  }

  .e-n-accordion-item-title {
    color: inherit;
    line-height: 1.5 !important;
    font-size: var(--heading-xs) !important;
    font-family: var(--font-family-heading) !important;
    text-transform: uppercase;
    font-weight:var(--font-weight-bold) !important;
    letter-spacing: 1px;

    &, & + .elementor-element {
      border: none;
      background-color: var(--color-ui-white);
    }

    &[aria-expanded="true"] {
      background-color: var(--color-brand-red);

      &, * {
        color: var(--color-text-white) !important;
      }
    }

    a {
      text-decoration: none;
    }
  }
}

.modal--request-document {
  position: fixed;
  inset: 0;
  z-index: 100;

  &.modal__active {
    display: var(--display, flex);
  }
}

body:has(.modal--request-document.modal__active) {
  overflow: hidden;
}

.modal__close {
  cursor: pointer;
}

.elementor-shortcode:has(.tablepress) {
  overflow-x: auto;
}

.entry-content[data-ast-blocks-layout] > * {
  margin: 0;
}

@media (width < 768px) {
  .pdf-iframe::before {
    content: 'Swipe to scroll';
    font-size: var(--text-sm);
    color: var(--color-brand-charcoal);
  }
}

.mega-menu__container .e-n-menu-content > .e-con {
  max-width: 1440px;
  margin-inline: auto;
}