/*******************************************************
 * Tailwind base
 ******************************************************/

/*@tailwind base;*/

:root {
  --tw-border-spacing-x:0;
  --tw-border-spacing-y:0;
  --tw-translate-x:0;
  --tw-translate-y:0;
  --tw-rotate:0;
  --tw-skew-x:0;
  --tw-skew-y:0;
  --tw-scale-x:1;
  --tw-scale-y:1;
  --tw-pan-x:initial;
  --tw-pan-y:initial;
  --tw-pinch-zoom:initial;
  --tw-scroll-snap-strictness:proximity;
  --tw-gradient-from-position:0%;
  --tw-gradient-via-position:50%;
  --tw-gradient-to-position:100%;
  --tw-ordinal:initial;
  --tw-slashed-zero:initial;
  --tw-numeric-figure:initial;
  --tw-numeric-spacing:initial;
  --tw-numeric-fraction:initial;
  --tw-ring-inset:initial;
  --tw-ring-offset-width:0px;
  --tw-ring-offset-color:#fff;
  --tw-ring-color:rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow:0 0 #0000;
  --tw-ring-shadow:0 0 #0000;
  --tw-shadow:0 0 #0000;
  --tw-shadow-colored:0 0 #0000;
  --tw-blur:blur(0);
  --tw-brightness:brightness(1);
  --tw-contrast:contrast(1);
  --tw-grayscale:grayscale(0);
  --tw-hue-rotate:hue-rotate(0deg);
  --tw-invert:invert(0);
  --tw-saturate:saturate(1);
  --tw-sepia:sepia(0);
  --tw-drop-shadow:drop-shadow(0 0 #0000);
  --tw-backdrop-blur:blur(0);
  --tw-backdrop-brightness:brightness(1);
  --tw-backdrop-contrast:contrast(1);
  --tw-backdrop-grayscale:grayscale(0);
  --tw-backdrop-hue-rotate:hue-rotate(0deg);
  --tw-backdrop-invert:invert(0);
  --tw-backdrop-opacity:opacity(1);
  --tw-backdrop-saturate:saturate(1);
  --tw-backdrop-sepia:sepia(0);
  --tw-contain-size:none;
  --tw-contain-layout:none;
  --tw-contain-paint:none;
  --tw-contain-style:none;
}

@media (max-width:599px) {
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
    width:100%;
    align-items:flex-start;
    & > li {
      display:block;
    }
  }

  .wp-block-navigation .wp-block-navigation-item.has-child > .wp-block-navigation-item__content:after {
    content:"+";
    display:inline-block;
    transform:rotate(90deg);
    margin-left:10px;
  }

  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
    margin-top:0;
    padding:12px 15px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:7px;
    min-width:auto;
  }

  .wp-block-navigation .wp-block-navigation-item.has-child > ul a {
    font-size:0.9em !important;
  }
}

/**
 * Import Tailwind base, components and utilities
 */

/*@tailwind base;*/

.container {
  width:100%;
  margin-right:auto;
  margin-left:auto;
  padding-right:var(--px-spacing-gap-container);
  padding-left:var(--px-spacing-gap-container);
}

@media (min-width: 1280px) {
  .container {
    max-width:1280px;
  }
}

:root {
  --px-container:1280px;
  --px-gap-side:clamp(var(--px-spacing-gap-container), (var(--100vw, 100vw) - var(--px-container) - (var(--px-spacing-gap-container) * 2)) / 2, 100vw);
}

.container-fluid {
  position:relative;
  max-width:unset;
  width:100%;
  padding-left:var(--px-spacing-gap-container);
  padding-right:var(--px-spacing-gap-container);
  margin-left:auto;
  margin-right:auto;
  --px-gap-side:var(--px-spacing-gap-container);
}

.ab-center {
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
}

.img-wrapper-cover > img, .img-wrapper-contain > img {
  -o-object-position:center center;
     object-position:center center;
  height:100%;
  width:100%;
  min-height:100%;
  min-width:100%;
  max-height:100%;
  max-width:100%;
  display:block;
}

.img-wrapper-contain > img {
  -o-object-fit:contain;
     object-fit:contain;
}

.\!t {
  transition-duration:.25s !important;
  transition-property:all !important;
  transition-timing-function:ease !important;
  transition-delay:0s !important;
}

.t {
  transition-duration:.25s;
  transition-property:all;
  transition-timing-function:ease;
  transition-delay:0s;
}

.loading, .woocommerce .blockUI.blockOverlay, .woocommerce .loader {
  position:relative;
}

.woocommerce .blockUI.blockOverlay::before, .woocommerce .loader::before, .loading::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background-color:var(--loading-bg);
}

.loading::after, body .xwc--pf-loader-overlay::after, .woocommerce .blockUI.blockOverlay::after, .woocommerce .loader::after {
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  z-index:3;
  width:var(--loading-size);
  height:var(--loading-size);
  margin:calc(-0.5 * var(--loading-size)) 0 0 calc(-0.5 * var(--loading-size));
  border-radius:50%;
  border:2px dashed transparent;
  border-bottom-color:var(--loading-color);
  border-right-color:var(--loading-color);
  animation:spinner-loading 0.6s linear infinite;
  box-sizing:border-box;
}

@keyframes spinner-loading {
  to {
    transform:rotate(360deg);
  }
}

/*https://v3.tailwindcss.com/docs/background-image#linear-gradients*/

.bg-gradient-to-t {
  background-image:linear-gradient(to top, var(--tw-gradient-stops));
}

.px-masonry-cols-4 {
  display:flex;
  flex-wrap:wrap;
  overflow:hidden;
  margin-left:-5px;
  margin-right:-5px;
}

.px-masonry-cols-4 > * {
  margin-bottom:2px;
  width:25%;
  padding-left:5px;
  padding-right:5px;
}

@container (max-width: 1280px) {
  .px-masonry-cols-4 > * {
    width:33.333333%;
  }
}

@container (max-width: 781px) {
  .px-masonry-cols-4 > * {
    width:50%;
  }
}

@container (max-width: 480px) {
  .px-masonry-cols-4 > * {
    width:100%;
  }
}

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border-width:0;
}

.pointer-events-none {
  pointer-events:none;
}

.absolute {
  position:absolute;
}

.relative {
  position:relative;
}

.bottom-0 {
  bottom:0px;
}

.left-0 {
  left:0px;
}

.right-0 {
  right:0px;
}

.z-10 {
  z-index:10;
}

.z-20 {
  z-index:20;
}

.z-30 {
  z-index:30;
}

.m-0 {
  margin:0px;
}

.mb-40 {
  margin-bottom:40px;
}

.block {
  display:block;
}

.flex {
  display:flex;
}

.grid {
  display:grid;
}

.hidden {
  display:none;
}

.h-1\/2 {
  height:50%;
}

.w-\[50px\] {
  width:50px;
}

.w-full {
  width:100%;
}

.transform {
  transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.resize {
  resize:both;
}

.overflow-hidden {
  overflow:hidden;
}

.overscroll-y-none {
  overscroll-behavior-y:none;
}

.from-black {
  --tw-gradient-from:#000 var(--tw-gradient-from-position);
  --tw-gradient-to:rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to);
}

.to-transparent {
  --tw-gradient-to:transparent var(--tw-gradient-to-position);
}

.p-10 {
  padding:10px;
}

.pt-4 {
  padding-top:4px;
}

.text-center {
  text-align:center;
}

.uppercase {
  text-transform:uppercase;
}

.text-white {
  --tw-text-opacity:1;
  color:rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.underline {
  text-decoration-line:underline;
}

.no-underline {
  text-decoration-line:none;
}

.opacity-0 {
  opacity:0;
}

.grayscale {
  --tw-grayscale:grayscale(100%);
  filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.filter {
  filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.transition {
  transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:150ms;
}

:root {
  --px-color-transparent:transparent;
  --px-color-white:#fff;
  --px-color-black:#000;
  --px-spacing-0:0px;
  --px-spacing-1:1px;
  --px-spacing-2:2px;
  --px-spacing-4:4px;
  --px-spacing-6:6px;
  --px-spacing-8:8px;
  --px-spacing-10:10px;
  --px-spacing-12:12px;
  --px-spacing-14:14px;
  --px-spacing-16:16px;
  --px-spacing-20:20px;
  --px-spacing-24:24px;
  --px-spacing-28:28px;
  --px-spacing-32:32px;
  --px-spacing-36:36px;
  --px-spacing-40:40px;
  --px-spacing-44:44px;
  --px-spacing-48:48px;
  --px-spacing-52:52px;
  --px-spacing-56:56px;
  --px-spacing-60:60px;
  --px-spacing-64:64px;
  --px-spacing-72:72px;
  --px-spacing-80:80px;
  --px-spacing-88:88px;
  --px-spacing-96:96px;
  --px-spacing-104:104px;
  --px-spacing-112:112px;
  --px-spacing-120:120px;
  --px-spacing-128:128px;
  --px-spacing-136:136px;
  --px-spacing-144:144px;
  --px-spacing-152:152px;
  --px-spacing-160:160px;
  --px-spacing-168:168px;
  --px-spacing-176:176px;
  --px-spacing-184:184px;
  --px-spacing-192:192px;
  --px-spacing-default:var(--px-spacing-96);
  --px-spacing-heading:24px;
  --px-spacing-paragraph:24px;
  --px-spacing-header-height:74px;
  --px-spacing-header-box-model-height:108px;
  --px-spacing-header-height-sticky:74px;
  --px-spacing-logo-w:85px;
  --px-spacing-admin-bar-height:32px;
  --px-spacing-mobile-menu-width:400px;
  --px-spacing-gap-container:30px;
  --px-spacing-gap-column:20px;
  --px-spacing-scroll-bar-width:8px;
  --px-spacing-scroll-bar-height:8px;
  --px-spacing-screen-height-no-header:calc(100vh - var(--px-spacing-header-height));
  --px-spacing-screen-width:calc(100vw - var(--px-spacing-scroll-bar-width));
  --px-spacing-container-width:calc(var(--px-container) - var(--px-spacing-gap-container) * 2);
  --px-spacing-gap-side:clamp(var(--px-spacing-gap-container), calc((var(--px-spacing-screen-width) - var(--px-spacing-container-width)) / 2), 50vw);
}

@media (max-width: 1280px) {
  :root {
    --px-spacing-64:60px;
    --px-spacing-72:60px;
    --px-spacing-80:60px;
    --px-spacing-88:80px;
    --px-spacing-96:80px;
    --px-spacing-104:80px;
    --px-spacing-112:80px;
    --px-spacing-120:80px;
    --px-spacing-128:80px;
    --px-spacing-136:128px;
    --px-spacing-144:128px;
    --px-spacing-152:128px;
    --px-spacing-160:128px;
    --px-spacing-168:128px;
    --px-spacing-176:128px;
    --px-spacing-184:128px;
    --px-spacing-192:128px;
    --px-spacing-heading:20px;
    --px-spacing-paragraph:20px;
    --px-spacing-calendar-size:120px;
    --px-spacing-gap-container:20px;
    --px-spacing-header-height:65px;
    --px-spacing-header-box-model-height:90px;
    --px-spacing-header-height-sticky:65px;
    --px-spacing-logo-w:50px;
  }
}

@media (max-width: 480px) {
  :root {
    --px-spacing-56:52px;
    --px-spacing-60:52px;
    --px-spacing-64:52px;
    --px-spacing-72:52px;
    --px-spacing-80:52px;
    --px-spacing-88:60px;
    --px-spacing-96:60px;
    --px-spacing-104:60px;
    --px-spacing-112:60px;
    --px-spacing-120:60px;
    --px-spacing-128:60px;
    --px-spacing-136:60px;
    --px-spacing-144:60px;
    --px-spacing-152:60px;
    --px-spacing-160:60px;
    --px-spacing-168:60px;
    --px-spacing-176:60px;
    --px-spacing-184:60px;
    --px-spacing-192:60px;
  }
}

.\@container {
  container-type:inline-size;
}

* {
  box-sizing:border-box;
}

:root {
  --100vw:100vw;
}

body .gform-theme--api,
body .gform-theme--framework {
  --gf-font-size-primary:16px !important;
}

.gform_required_legend {
  display:none;
}

.cnss-social-icon {
  position:fixed;
  bottom:10px;
  right:10px;
  z-index:9999;
}

@media (max-width:599px) {
  .wp-block-details.is-style-arrow-icon-details summary {
    font-size:18px;
  }
}

.group:hover .group-hover\:opacity-100 {
  opacity:1;
}

.group:hover .group-hover\:grayscale-0 {
  --tw-grayscale:grayscale(0);
  filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

@media (max-width: 781px) {
  .phone\:grayscale-0 {
    --tw-grayscale:grayscale(0);
    filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
  }
}