/*
Theme Name:         Courteous
Theme URI:          https://themeshawk.com
Author:             Themeshawk
Author URI:         https://themeshawk.com
Description:        Courteous is a sleek, modern and high-performance WordPress theme crafted for AI startup agencies, SaaS, hosting agencies, portfolios, startups, digital studios, freelancers and professional businesses.
Version:            1.0
Requires at least:  5.8
Tested up to:       7.1
Requires PHP:       7.4
License:            GNU General Public License v2 or later
License URI:        https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:        courteous
Domain Path:        /languages
Tags:               blog, e-commerce, custom-colors, custom-menu, featured-images, flexible-header, left-sidebar, right-sidebar, rtl-language-support, theme-options, threaded-comments, translation-ready
*/
/* courteous:default-variables:start */
/* Built-in defaults for the variables that Theme Options print into :root. :where() has no specificity, so the values printed from Theme Options always win; these only apply when one of them is missing or empty. */
:where(:root) {
  --bs-body-text-align: start;
  --bs-box-shadow: var(--shadow-md);
  --bs-box-shadow-lg: var(--shadow-lg);
  --bs-box-shadow-sm: var(--shadow-sm);
  --bs-btn-active-bg: #333333;
  --bs-btn-active-border-color: #333333;
  --bs-btn-active-color: #333333;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(var(--color-foreground), 0.125);
  --bs-btn-bg: #333333;
  --bs-btn-border-color: #333333;
  --bs-btn-color: #FFFFFF;
  --bs-btn-disabled-bg: var(--color-accent);
  --bs-btn-disabled-border-color: var(--color-accent);
  --bs-btn-disabled-color: #FFFFFF;
  --bs-btn-focus-shadow-rgb: var(--color-accent-rgb);
  --bs-btn-hover-bg: #FFFFFF;
  --bs-btn-hover-border-color: #333333;
  --bs-btn-hover-color: #333333;
  --bs-btn-secondary-active-bg: #FFFFFF;
  --bs-btn-secondary-active-border-color: #FFFFFF;
  --bs-btn-secondary-active-color: #FFFFFF;
  --bs-btn-secondary-bg: #FFFFFF;
  --bs-btn-secondary-border-color: #333333;
  --bs-btn-secondary-color: #333333;
  --bs-btn-secondary-hover-bg: #333333;
  --bs-btn-secondary-hover-border-color: #FFFFFF;
  --bs-btn-secondary-hover-color: #FFFFFF;
  --bs-dropdown-box-shadow: var(--shadow-dropdown);
  --bs-modal-box-shadow: var(--shadow-modal);
  --bs-offcanvas-box-shadow: var(--shadow-drawer);
  --btn-min-height: 45px;
  --cl-bc-bw: 1px;
  --cl-bc-gap: 8px;
  --cl-bc-lift: 3;
  --cl-bc-overlay: 0.82;
  --cl-bc-radius: 10px;
  --cl-bc-zoom: 1.05;
  --cl-on-global: #ffffff;
  --cl-pc-bw: 1px;
  --cl-pc-gap: 6px;
  --cl-pc-hover: #000000;
  --cl-pc-lift: 3;
  --cl-pc-overlay: 0.8;
  --cl-pc-radius: 10px;
  --cl-pc-ratio: 1 / 1;
  --cl-pc-zoom: 1;
  --color-accent: #333333;
  --color-accent-rgb: 51, 51, 51;
  --color-background: 255, 255, 255;
  --color-button: var(--color-foreground);
  --color-button-text: var(--color-background);
  --color-danger: #f44336;
  --color-foreground: 51, 51, 51;
  --color-info: #2196f3;
  --color-line: #e2e2e2;
  --color-muted: #818181;
  --color-secondary: #333333;
  --color-secondary-rgb: 51, 51, 51;
  --color-star: #fdcc0d;
  --color-success: #4caf50;
  --color-surface: #f7f7f7;
  --color-warning: #ff9800;
  --font-family-body: 'DM Sans', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-family-heading: 'DM Sans', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-line-height-body: 26px;
  --font-size-body: 16px;
  --form-border-color: #333333;
  --hd-speed: 300ms;
  --hd-z: 1030;
  --header-icon-size: 16px;
  --horizontal-spacing: 10px;
  --horizontal-spacing-px: 10px;
  --mega-menu-width: 80%;
  --menus-border-radius: 10px;
  --nav-menu-base-color: #000000;
  --page-width: 1250px;
  --product-card-footer-spacing-bottom: 0px;
  --product-card-footer-spacing-left: 0px;
  --product-card-footer-spacing-right: 0px;
  --shadow-2xl: 0 16px 32px rgba(15,23,42,0.06),0 32px 64px rgba(15,23,42,0.1),0 64px 128px rgba(15,23,42,0.14);
  --shadow-button: none;
  --shadow-button-hover: var(--shadow-md);
  --shadow-card: var(--shadow-sm);
  --shadow-card-hover: var(--shadow-lg);
  --shadow-drawer: none;
  --shadow-dropdown: var(--shadow-lg);
  --shadow-header: var(--shadow-sm);
  --shadow-lg: 0 4px 8px rgba(15,23,42,0.04),0 12px 24px rgba(15,23,42,0.07),0 24px 48px rgba(15,23,42,0.08);
  --shadow-md: 0 2px 4px rgba(15,23,42,0.04),0 6px 12px rgba(15,23,42,0.06),0 12px 24px rgba(15,23,42,0.06);
  --shadow-modal: var(--shadow-2xl);
  --shadow-rgb: 15,23,42;
  --shadow-sm: 0 1px 2px rgba(15,23,42,0.04),0 2px 4px rgba(15,23,42,0.05),0 4px 8px rgba(15,23,42,0.04);
  --shadow-xl: 0 8px 16px rgba(15,23,42,0.05),0 20px 40px rgba(15,23,42,0.08),0 40px 80px rgba(15,23,42,0.1);
  --shadow-xs: 0 1px 2px rgba(15,23,42,0.06),0 1px 1px rgba(15,23,42,0.04);
  --theme-base-color: #333333;
  --vertical-spacing: 10px;
  --vertical-spacing-px: 10px;
  --woocommerce-single-product-tab-border-color-active: #000000;
}
/* courteous:default-variables:end */
/* DM Sans, the default font: bundled, variable weights 100-1000 (SIL Open Font License, see assets/fonts/DM-Sans/OFL.txt). */
@font-face {
  font-family: 'DM Sans';
  src: url(assets/fonts/DM-Sans/dm-sans-latin-ext-wght-normal.woff2) format('woff2');
  font-weight: 100 1000;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans';
  src: url(assets/fonts/DM-Sans/dm-sans-latin-wght-normal.woff2) format('woff2');
  font-weight: 100 1000;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* =====================================================================
   Spacing scale. Every gap, margin and padding of the theme uses these tokens.
   --sp-scale is set by Theme Options > Premium Style > Spacing density
   (compact / standard / comfort); 1 = the standard spacing.
   ===================================================================== */
:root {
  --sp-scale: 1;
  --sp-4: calc(var(--sp-scale, 1) * 0.25rem);
  --sp-6: calc(var(--sp-scale, 1) * 0.375rem);
  --sp-8: calc(var(--sp-scale, 1) * 0.5rem);
  --sp-10: calc(var(--sp-scale, 1) * 0.625rem);
  --sp-12: calc(var(--sp-scale, 1) * 0.75rem);
  --sp-14: calc(var(--sp-scale, 1) * 0.875rem);
  --sp-16: calc(var(--sp-scale, 1) * 1rem);
  --sp-20: calc(var(--sp-scale, 1) * 1.25rem);
  --sp-24: calc(var(--sp-scale, 1) * 1.5rem);
  --sp-28: calc(var(--sp-scale, 1) * 1.75rem);
  --sp-32: calc(var(--sp-scale, 1) * 2rem);
  --sp-36: calc(var(--sp-scale, 1) * 2.25rem);
  --sp-40: calc(var(--sp-scale, 1) * 2.5rem);
  --sp-44: calc(var(--sp-scale, 1) * 2.75rem);
  --sp-48: calc(var(--sp-scale, 1) * 3rem);
  --sp-56: calc(var(--sp-scale, 1) * 3.5rem);
  --sp-64: calc(var(--sp-scale, 1) * 4rem);
  --sp-72: calc(var(--sp-scale, 1) * 4.5rem);
  --sp-80: calc(var(--sp-scale, 1) * 5rem);
  --sp-96: calc(var(--sp-scale, 1) * 6rem);
}

:root {
  --glass-bg: rgba(var(--color-background), 0.35);
  /* light glass base */
  /* dark glass base */
  --glass-blur: 10px;
  --glass-radius: 14px;
  --glass-padding: 1rem;
  --glass-shadow: 0 6px 20px rgba(var(--color-foreground), 0.16);
  /* Transition Durations */
  /* Transition Easing */
  /* Common Transition Presets */
  /* Font Sizes */
  /*Transition Effects*/}
html {
  line-height: 1.15
}
main {
  display: block
}
h1 {
  margin: .67em 0
}
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible
}
pre {
  font-family: monospace, monospace;
  font-size: 1em
}
abbr[title] {
  border-bottom: none;
  text-decoration: underline dotted
}
b, strong {
  font-weight: bolder
}
code, kbd, samp {
  font-family: monospace, monospace;
  font-size: 1em
}
small {
  font-size: 80%
}
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}
sub {
  bottom: -.25em
}
sup {
  top: -.5em
}
img {
  border-style: none
}
button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0
}
button, input {
  overflow: visible
}
button, select {
  text-transform: none
}
button, [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button
}
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0
}
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText
}
fieldset {
  padding: .35em .75em .625em
}
legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal
}
progress {
  vertical-align: baseline
}
textarea {
  overflow: auto
}
[type="checkbox"], [type="radio"] {
  box-sizing: border-box;
  padding: 0
}
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
  height: auto
}
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}
details {
  display: block
}
summary {
  display: list-item
}
template {
  display: none
}
[hidden] {
  display: none
}
html {
  width: 100%;
  overflow-x: hidden
}
html, body {
  margin: 0;
  padding: 0
}
ul.icons-social-media-header li {
  list-style: none;
}
.woocommerce-loop-product__title a {
  font-weight: inherit;
  line-height: inherit
}
.page-width {
  width: 100%;
  max-width: var(--page-width) !important;
  padding: 0 var(--sp-10);
  margin: 0 auto !important
}
.price ins {
  text-decoration: none !important;
}
.price del {
  position: relative;
  text-decoration: none;
  /* remove default line-through */
}
.price del::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 2px;
  /* thickness of the diagonal line */
  background: currentColor;
  /* matches text color */
  transform: rotate(-12deg);
  /* angle of the diagonal */
  transform-origin: center;
}
.woocommerce div.product .woocommerce-tabs {
  margin-top: var(--sp-40);
}
.woocommerce div.product .wc-tabs {
  --bubble-position: 0;
  display: flex;
  justify-content: space-between;
  background-color: var(--color-tab-switcher-base);
  padding: var(--sp-8);
  border-radius: 0px;
  list-style: none;
  margin: 0;
  position: relative;
  overflow: hidden;
}
.woocommerce div.product .wc-tabs::before {
  content: "";
  position: absolute;
  top: 8px;
  height: calc(100% - 16px);
  width: calc(100% - 16px);
  max-width: calc((100% - 16px) / 3);
  /* Adjust for number of tabs */
  border-radius: 0px;
  background-color: var(--color-tab-switcher-accent);
  transform: translateX(var(--bubble-position));
  transition: transform var(--transition);
  z-index: 1;
}
.woocommerce div.product .wc-tabs li {
  flex: 1;
  text-align: center;
  z-index: 2;
}
.woocommerce div.product .wc-tabs li a {
  display: block;
  padding: var(--sp-20) var(--sp-10);
  font-family: "Montserrat", sans-serif;
  font-size: 1.2rem;
  color: rgb(var(--color-background));
  font-weight: 500;
  text-decoration: none;
  transition: color var(--transition);
}
.woocommerce div.product .wc-tabs li.active a {
  color: rgb(var(--color-background));
}
.woocommerce div.product .woocommerce-Tabs-panel {
  display: none;
  padding-top: var(--sp-32);
}
.woocommerce div.product .woocommerce-Tabs-panel.active {
  display: block;
}
/* Responsive */
@media (max-width: 767px) {
  .woocommerce div.product .wc-tabs {
    border-radius: 0px;
  }
  .woocommerce div.product .wc-tabs::before {
    top: 4px;
    height: calc(100% - 8px);
    width: calc(100% - 8px);
    max-width: calc((100% - 8px) / 3);
    border-radius: 0px;
  }
  .woocommerce div.product .wc-tabs li a {
    font-size: 0.9rem;
    padding: var(--sp-16) var(--sp-8);
  }
}
figure.wp-caption {
  width: auto !important;
  max-width: 100% !important;
}
figure.wp-caption img {
  width: 100% !important;
  height: auto !important;
}
figure.wp-caption-text, figure.wp-caption figcaption {
  max-width: 100%;
}
/*GASP Cursor Animation*/
.cursor {
  position: fixed;
  width: 40px;
  height: 40px;
  margin-left: -20px;
  margin-top: -20px;
  border-radius: 50%;
  transition: 0.3s;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 1000;
}
.cursor2 {
  position: fixed;
  width: 4px;
  height: 4px;
  margin-left: -20px;
  margin-top: -20px;
  border-radius: 50%;
  background-color: rgb(var(--color-background));
  transform: translate(-50%, -50%);
  transition: 0.1s;
  pointer-events: none;
  z-index: 1000;
}
.grow, .grow-small {
  transform: scale(4);
  background: rgb(var(--color-background));
  mix-blend-mode: difference;
  border: none;
}
.grow-small {
  transform: scale(2);
}

@media (max-width: 767px) {
  .cursor,
  .cursor2 {
    display: none !important;
  }
}

/*Text Underline Hover*/
.hover-underline {
  position: relative;
  display: inline-block;
}
.hover-underline::after, .hover-underline::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, var(--color-accent), rgb(var(--color-foreground)));
  bottom: -10px;
  left: 0;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s ease-out;
}
.hover-underline::before {
  top: -10px;
  transform-origin: left;
}
.hover-underline:hover::after, .hover-underline:hover::before {
  transform: scaleX(1);
}
/*Contact Form 7*/
.cf7-two-columns {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-20);
}
.cf7-two-columns .cf7-col {
  flex: 1;
  min-width: 250px;
}
.cf7-two-columns label {
  display: block;
  width: 100%;
  font-weight: 500;
  margin-bottom: var(--sp-16);
}
.cf7-two-columns input, .cf7-two-columns textarea {
  width: 100%;
  padding: var(--sp-10);
  border: var(--border);
  border-radius: 5px;
}
.cf7-submit {
  margin-top: var(--sp-20);
  text-align: center;
}
.cf7-submit input[type="submit"] {
  background: var(--bs-btn-bg);
  color: var(--bs-btn-color);
  border: none;
  padding: var(--sp-12) var(--sp-32);
  border-radius: 0px;
  cursor: pointer;
  transition: 0.3s;
}
.cf7-submit input[type="submit"]:hover {
  background: var(--bs-btn-color);
  color: var(--bs-btn-bg);
}
.round-btn::before {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  padding: var(--sp-4);
  background: conic-gradient(from 0deg, rgba(var(--color-accent-rgb), 0) 0%, rgba(var(--color-accent-rgb), .95) 15%, rgba(var(--color-accent-rgb), .95) 35%, rgba(var(--color-accent-rgb), .95) 55%, rgba(var(--color-accent-rgb), 0) 70% 100%);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 6px), #000 calc(100% - 6px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 6px), #000 calc(100% - 6px));
  filter: blur(.3px);
  animation: spin 2.4s linear infinite;
}
.round-btn::after {
  content: "";
  position: absolute;
  inset: -10px;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(var(--color-accent-rgb), 0.35), rgba(var(--color-accent-rgb), 0) 70%);
  opacity: .6;
  filter: blur(10px);
  transition: opacity .25s ease;
}
@keyframes spin {
  100% {
    transform: rotate(360deg);
  }
}
.card-glass {
  background: linear-gradient(180deg, var(--glass), var(--glass-2));
  border: 1px solid var(--stroke);
  border-radius: 16px;
  padding: var(--sp-28) var(--sp-28) var(--sp-28);
  box-shadow: var(--shadow-strong);
  backdrop-filter: blur(10px);
  transform: translateY(40px) scale(.98);
  opacity: 0;
  position: relative;
  overflow: hidden;
}
/* Custom Cursor */
.cursor {
  border: 2px solid var(--color-accent);
}
.blur-liquid-glass {
  backdrop-filter: blur(4px);
}
.th-info-card-v2-productInfo {
  gap: var(--sp-20);
}
.th-info-card-v2-productInfo .th-info-box-title {
  margin-bottom: var(--sp-10) !important;
}
.header-5 {
  top: 20%;
  width: 100%;
  max-width: var(--page-width) !important;
  margin: 0 auto;
  border-radius: 100px;
}
.header-5.fixed-top {
  top: 0px;
  width: 100%;
  max-width: 100% !important;
  border-radius: 0px;
}
/*Post card image distortion*/
.card-image {
  position: relative;
  display: flex;
  /* makes it wrap to image size */
  overflow: hidden;
  border-radius: 0px;
}
.th-post-card-image {
  display: block;
  width: 100%;
  height: auto;
  /* let image define height */
  transition: 0.5s;
}
.th-post-card-image:nth-child(1) {
  position: absolute;
  top: 0;
  /*left: 0;
    right: 0;*/
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translateX(50%) scaleX(2);
  opacity: 0;
  filter: blur(12px);
}
.card-image:hover .th-post-card-image:nth-child(1) {
  transform: translateX(0%) scaleX(1);
  opacity: 1;
  filter: blur(0);
}
.card-image:hover .th-post-card-image:nth-child(2) {
  transform: translateX(-50%) scaleX(2);
  opacity: 0;
  filter: blur(12px);
}
/*404 Page*/
.text-404 {
  font-size: 200px !important;
  line-height: 250px !important;
}
@media (max-width: 767px) {
  .text-404 {
    font-size: 100px !important;
    line-height: 150px !important;
  }
}
@media (max-width: 567px) {
  .text-404 {
    font-size: 50px !important;
    line-height: 75px !important;
  }
}
@media (min-width: 992px) {
  .navbar-expand-lg .navbar-nav .has-megamenu .megamenu {
    position: fixed;
  }
}
/*Glass*/
/* Glass backdrop kit - drop into your theme CSS */
/* Base glass container */
.glass {
  /* Allow children to render above the pseudo-backdrop */
}
/* Apply the native backdrop-filter when available */
.glass {
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate)) contrast(var(--glass-contrast));
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate)) contrast(var(--glass-contrast));
  position: relative;
  overflow: hidden;
  transition: background var(--glass-transition), transform var(--glass-transition), box-shadow var(--glass-transition);
  isolation: isolate;
}
.glass-4 {
  -webkit-backdrop-filter: blur(var(--glass-blur-4)) saturate(var(--glass-saturate)) contrast(var(--glass-contrast));
  backdrop-filter: blur(var(--glass-blur-4)) saturate(var(--glass-saturate)) contrast(var(--glass-contrast));
}
/* Stronger blur / darker tone */
.glass.strong {
  --glass-blur: 18px;
  --glass-bg: rgba(var(--color-background), 0.22);
  --glass-shadow: 0 10px 32px rgba(var(--color-foreground), 0.22);
}
/* Dark glass variant */
.glass.dark {
  background: var(--glass-bg-dark);
  border: 1px solid var(--glass-border-dark);
  color: rgb(var(--color-background));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate)) contrast(1.05);
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate)) contrast(1.05);
}
/* Frosted overlay variant — useful for full-screen hero overlays */
.glass.frosted {
  background: linear-gradient(180deg, rgba(var(--color-background), 0.12), rgba(var(--color-background), 0.06));
  pointer-events: none;
  /* so content behind can remain interactive if desired */
}
/* Thin glass panel (like a navbar) */
.glass.nav {
  --glass-radius: 0;
  border: 0;
  background: rgba(var(--color-background), 0.08);
  box-shadow: none;
}
/* Outline effect for sharper edges */
.glass.outline {
  box-shadow: none;
  border: 1px solid rgba(var(--color-background), 0.12);
  background: linear-gradient(180deg, rgba(var(--color-background), 0.04), rgba(var(--color-background), 0.02));
}
/* Hover / active interactions */
.glass:hover {
  box-shadow: var(--shadow-xl);
}
/* Small utilities */
.glass.sm {
  --glass-padding: 0.6rem;
  --glass-radius: 10px;
}
.glass.lg {
  --glass-padding: 1.6rem;
  --glass-radius: 18px;
}
/* CONTENT must be rendered normally; ensure high z-index if needed */
.glass > * {
  position: relative;
  z-index: 1;
}
/* FALLBACK: when backdrop-filter isn't supported we'll use a pseudo-element blur approach */
.no-backdrop .glass {
  /* more translucent base when no real backdrop is supported */
  background: linear-gradient(180deg, rgba(var(--color-background), 0.55), rgba(var(--color-background), 0.35));
  border: 1px solid rgba(var(--color-background), 0.12);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
/* Optional pseudo-element fallback (slower but works) */
.no-backdrop .glass::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  /* fake blurred backdrop using an overlay + CSS blur on the element itself is not possible,
     but this gives a soft frosted look. For heavier blur you would use an SVG or blurred background image. */
  background: inherit;
  filter: blur(6px);
  opacity: 0.9;
  pointer-events: none;
  border-radius: inherit;
}
/* Accessibility: reduce motion */
@media (prefers-reduced-motion: reduce) {
  .glass, .glass:hover {
    transition: none;
    transform: none;
  }
  .glass::before {
    transition: none;
  }
}
.th-empty-text {
  min-height: 300px;
}
.th-empty-text p {
  font-size: 20px;
}
/* Width utilities 1% to 100% */
.w-1 {
  width: 1%;
}
.w-2 {
  width: 2%;
}
.w-3 {
  width: 3%;
}
.w-4 {
  width: 4%;
}
.w-5 {
  width: 5%;
}
.w-6-1 {
  width: 6%;
}
.w-7 {
  width: 7%;
}
.w-8 {
  width: 8%;
}
.w-9 {
  width: 9%;
}
.w-10 {
  width: 10%;
}
.w-11 {
  width: 11%;
}
.w-12 {
  width: 12%;
}
.w-13 {
  width: 13%;
}
.w-14 {
  width: 14%;
}
.w-15 {
  width: 15%;
}
.w-16 {
  width: 16%;
}
.w-17 {
  width: 17%;
}
.w-18 {
  width: 18%;
}
.w-19 {
  width: 19%;
}
.w-20 {
  width: 20%;
}
.w-21 {
  width: 21%;
}
.w-22 {
  width: 22%;
}
.w-23 {
  width: 23%;
}
.w-24 {
  width: 24%;
}
.w-25 {
  width: 25%;
}
.w-26 {
  width: 26%;
}
.w-27 {
  width: 27%;
}
.w-28 {
  width: 28%;
}
.w-29 {
  width: 29%;
}
.w-30 {
  width: 30%;
}
.w-31 {
  width: 31%;
}
.w-32 {
  width: 32%;
}
.w-33 {
  width: 33%;
}
.w-34 {
  width: 34%;
}
.w-35 {
  width: 35%;
}
.w-36 {
  width: 36%;
}
.w-37 {
  width: 37%;
}
.w-38 {
  width: 38%;
}
.w-39 {
  width: 39%;
}
.w-40 {
  width: 40%;
}
.w-41 {
  width: 41%;
}
.w-42 {
  width: 42%;
}
.w-43 {
  width: 43%;
}
.w-44 {
  width: 44%;
}
.w-45 {
  width: 45%;
}
.w-46 {
  width: 46%;
}
.w-47 {
  width: 47%;
}
.w-48 {
  width: 48%;
}
.w-49 {
  width: 49%;
}
.w-50 {
  width: 50%;
}
.w-51 {
  width: 51%;
}
.w-52 {
  width: 52%;
}
.w-53 {
  width: 53%;
}
.w-54 {
  width: 54%;
}
.w-55 {
  width: 55%;
}
.w-56 {
  width: 56%;
}
.w-57 {
  width: 57%;
}
.w-58 {
  width: 58%;
}
.w-59 {
  width: 59%;
}
.w-60 {
  width: 60%;
}
.w-61 {
  width: 61%;
}
.w-62 {
  width: 62%;
}
.w-63 {
  width: 63%;
}
.w-64 {
  width: 64%;
}
.w-65 {
  width: 65%;
}
.w-66 {
  width: 66%;
}
.w-67 {
  width: 67%;
}
.w-68 {
  width: 68%;
}
.w-69 {
  width: 69%;
}
.w-70 {
  width: 70%;
}
.w-71 {
  width: 71%;
}
.w-72 {
  width: 72%;
}
.w-73 {
  width: 73%;
}
.w-74 {
  width: 74%;
}
.w-75 {
  width: 75%;
}
.w-76 {
  width: 76%;
}
.w-77 {
  width: 77%;
}
.w-78 {
  width: 78%;
}
.w-79 {
  width: 79%;
}
.w-80 {
  width: 80%;
}
.w-81 {
  width: 81%;
}
.w-82 {
  width: 82%;
}
.w-83 {
  width: 83%;
}
.w-84 {
  width: 84%;
}
.w-85 {
  width: 85%;
}
.w-86 {
  width: 86%;
}
.w-87 {
  width: 87%;
}
.w-88 {
  width: 88%;
}
.w-89 {
  width: 89%;
}
.w-90 {
  width: 90%;
}
.w-91 {
  width: 91%;
}
.w-92 {
  width: 92%;
}
.w-93 {
  width: 93%;
}
.w-94 {
  width: 94%;
}
.w-95 {
  width: 95%;
}
.w-96 {
  width: 96%;
}
.w-97 {
  width: 97%;
}
.w-98 {
  width: 98%;
}
.w-99 {
  width: 99%;
}
.w-100 {
  width: 100%;
}
.btn {
  overflow: hidden !important;
  align-items: center !important;
  justify-content: center !important;
  display: inline-flex !important;
}
/* shadow only on >= md (>= 768px) */
@media (min-width: 768px) {
  .shadow-desktop {
    box-shadow: var(--shadow-md) !important;
  }
}
.card-image > * {
  padding-block: 0px;
}
/* Search Widget */
.wp-block-search {
  position: relative;
  max-width: 350px;
}
/* Hide Text Button */
.wp-block-search__button {
  font-size: 0;
  padding: var(--sp-10) !important;
  margin: 0;
  width: 40px !important;
  height: 40px;
  cursor: pointer;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  background: transparent !important;
  color: transparent !important;
  right: 0px;
  border: none !important;
}
/* Add SVG Icon Inside Button */
.wp-block-search__button::before {
  content: "";
  width: 20px;
  height: 20px;
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg fill='none' stroke='%23000' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
  background-size: 20px;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.6;
}
/* Style the input so there's space for icon */
.wp-block-search__input {
  padding-right: var(--sp-44) !important;
  border-radius: 0px;
  height: var(--btn-min-height, 45px);
}
/* Hover Effects */
.wp-block-search__button:hover::before {
  opacity: 1;
}
/*Post card image distortion*/
.themeshawk-product-card-image-wrapper {
  /* makes it wrap to image size */
}
.woo-card-primary-image, .woo-card-secondary-image {
  display: block;
  /* let image define height */
  transition: 0.5s;
}
.woo-card-secondary-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translateX(50%) scaleX(2);
  opacity: 0;
  filter: blur(12px);
}
.themeshawk-product-card-image-wrapper:hover .woo-card-secondary-image {
  transform: translateX(0%) scaleX(1);
  opacity: 1;
  filter: blur(0);
}
.themeshawk-product-card-image-wrapper:hover .woo-card-primary-image {
  transform: translateX(-50%) scaleX(2);
  opacity: 0;
  filter: blur(12px);
}
.wc-block-components-quantity-selector > .wc-block-components-quantity-selector__button--minus, .wc-block-components-quantity-selector > .wc-block-components-quantity-selector__button--plus {
  height: 50px !important;
}
.wc-block-components-quantity-selector__input {
  border: 0px !important;
}
.card-post-date-on-image {
  position: absolute;
  top: 10px;
  left: 10px;
  bottom: auto !important;
}
.transparent-form *:not(.btn) {
  background: transparent !important;
  color: rgb(var(--color-background)) !important;
  border-color: rgba(var(--color-background), 0.4) !important;
}
/* Placeholder white */
.transparent-form *:not(.btn)::placeholder {
  color: rgb(var(--color-background)) !important;
  opacity: 1;
}
/*Animations*/
@keyframes floatDownUp {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(10px);
    /* Move up */
  }
  100% {
    transform: translateY(0px);
    /* Back to original */
  }
}
.float-animation {
  animation: floatUpDown 3s ease-in-out infinite;
}
.float-animation-down-up {
  animation: floatDownUp 3s ease-in-out infinite;
}
table.woocommerce-table th, table.woocommerce-table td {
  padding: var(--sp-12) var(--sp-16) !important;
  text-align: start;
  vertical-align: middle;
}
table.woocommerce-table .woocommerce-Price-amount {
  font-size: 16px;
}
.woocommerce table.shop_table td {
  padding: var(--sp-12) var(--sp-16) !important;
}
a:where(:not(.wp-element-button)) {
  text-decoration: none !important;
}
.themeshawk-product-card-image-wrapper {
  position: relative;
  display: flex;
  overflow: hidden;
  border-radius: 0;
}
.themeshawk-product-card-image-wrapper > .woo-card-secondary-image {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.th-grid-gap {
  display: grid;
  gap: var(--horizontal-spacing-px)
}
.themeshawk-elementor-blog_posts_meta {
  line-height: 1.3em;
  font-size: 12px;
  margin-bottom: var(--sp-14);
  color: rgba(var(--color-foreground), .7)
}
.blog-post-thumbnail img {
  height: auto !important
}
.blog-post-thumbnail {
  align-items: center;
  justify-content: center;
  display: flex
}
.news-blog-posts {
  overflow: hidden
}
.news-blog-grid {
  display: grid;
  gap: var(--horizontal-spacing-px)
}
.news-blog-list .news-blog-post {
  display: flex;
  flex-direction: column;
  margin-bottom: var(--sp-32)
}
.news-blog-masonry {
  column-gap: var(--horizontal-spacing-px)
}
.news-blog-masonry.news-blog-columns-1 {
  column-count: 1
}
.news-blog-masonry.news-blog-columns-2 {
  column-count: 2
}
.news-blog-masonry.news-blog-columns-3 {
  column-count: 3
}
.news-blog-masonry.news-blog-columns-4 {
  column-count: 4
}
.news-blog-masonry.news-blog-columns-5 {
  column-count: 5
}
.news-blog-masonry.news-blog-columns-6 {
  column-count: 6
}
.news-blog-masonry .news-blog-post {
  break-inside: avoid;
  margin-bottom: var(--sp-32)
}
.news-blog-collage {
  display: grid;
  gap: var(--horizontal-spacing-px);
  grid-template-columns: repeat(3, 1fr)
}
.news-blog-collage .news-blog-post {
  position: relative
}
.news-blog-collage .news-blog-collage-item-0 {
  grid-column: span 2;
  grid-row: span 2
}
.news-blog-collage .news-blog-collage-item-1 {
  grid-column: span 1
}
.news-blog-collage .news-blog-collage-item-2 {
  grid-column: span 1
}
.news-blog-collage-2 {
  display: grid;
  gap: var(--horizontal-spacing-px);
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto auto
}
.news-blog-collage-2 .news-blog-collage-2-item-0 {
  grid-column: 1 / 3;
  grid-row: 1 / 3
}
.news-blog-collage-2 .news-blog-collage-2-item-1, .news-blog-collage-2 .news-blog-collage-2-item-2, .news-blog-collage-2 .news-blog-collage-2-item-3, .news-blog-collage-2 .news-blog-collage-2-item-4 {
  grid-column: span 1;
  grid-row: span 1
}
.news-blog-image-overlay {
  position: relative
}
.news-blog-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: var(--sp-20);
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start
}
.news-blog-overlay .news-blog-title, .news-blog-overlay .news-blog-excerpt, .news-blog-overlay .news-blog-meta, .news-blog-overlay .news-blog-categories, .news-blog-overlay .news-blog-tags {
  flex: 1 1 100%
}
.news-blog-post {
  border-radius: 0px
}
.news-blog-image img {
  width: 100%;
  height: 100% !important;
  border-radius: 0px;
  display: block
}
.news-blog-title {
  margin: 0 0
}
.news-blog-meta {
  font-size: .8em;
  color: rgba(var(--color-foreground), .7)
}
.news-blog-categories, .news-blog-tags {
  font-size: .8em;
  margin-bottom: 0
}
.news-blog-heading {
  margin-bottom: var(--sp-20)
}
.news-blog-content {
  gap: var(--sp-6);
  display: flex;
  flex-direction: column;
  padding: var(--sp-10) 0
}
.news-blog-grid.news-blog-columns-1 {
  grid-template-columns: repeat(1, 1fr)
}
.news-blog-grid.news-blog-columns-2 {
  grid-template-columns: repeat(2, 1fr)
}
.news-blog-grid.news-blog-columns-3 {
  grid-template-columns: repeat(3, 1fr)
}
.news-blog-grid.news-blog-columns-4 {
  grid-template-columns: repeat(4, 1fr)
}
.news-blog-grid.news-blog-columns-5 {
  grid-template-columns: repeat(5, 1fr)
}
.news-blog-grid.news-blog-columns-6 {
  grid-template-columns: repeat(6, 1fr)
}
@media (max-width:1024px) {
  .news-blog-grid.news-blog-columns-tablet-1 {
    grid-template-columns: repeat(1, 1fr)
  }
  .news-blog-grid.news-blog-columns-tablet-2 {
    grid-template-columns: repeat(2, 1fr)
  }
  .news-blog-grid.news-blog-columns-tablet-3 {
    grid-template-columns: repeat(3, 1fr)
  }
  .news-blog-grid.news-blog-columns-tablet-4 {
    grid-template-columns: repeat(4, 1fr)
  }
  .news-blog-grid.news-blog-columns-tablet-5 {
    grid-template-columns: repeat(5, 1fr)
  }
  .news-blog-grid.news-blog-columns-tablet-6 {
    grid-template-columns: repeat(6, 1fr)
  }
  .news-blog-masonry.news-blog-columns-tablet-1 {
    column-count: 1
  }
  .news-blog-masonry.news-blog-columns-tablet-2 {
    column-count: 2
  }
  .news-blog-masonry.news-blog-columns-tablet-3 {
    column-count: 3
  }
  .news-blog-masonry.news-blog-columns-tablet-4 {
    column-count: 4
  }
  .news-blog-masonry.news-blog-columns-tablet-5 {
    column-count: 5
  }
  .news-blog-masonry.news-blog-columns-tablet-6 {
    column-count: 6
  }
}
@media (max-width:767px) {
  .news-blog-grid.news-blog-columns-mobile-1 {
    grid-template-columns: repeat(1, 1fr)
  }
  .news-blog-grid.news-blog-columns-mobile-2 {
    grid-template-columns: repeat(2, 1fr)
  }
  .news-blog-grid.news-blog-columns-mobile-3 {
    grid-template-columns: repeat(3, 1fr)
  }
  .news-blog-grid.news-blog-columns-mobile-4 {
    grid-template-columns: repeat(4, 1fr)
  }
  .news-blog-grid.news-blog-columns-mobile-5 {
    grid-template-columns: repeat(5, 1fr)
  }
  .news-blog-grid.news-blog-columns-mobile-6 {
    grid-template-columns: repeat(6, 1fr)
  }
  .news-blog-masonry.news-blog-columns-mobile-1 {
    column-count: 1
  }
  .news-blog-masonry.news-blog-columns-mobile-2 {
    column-count: 2
  }
  .news-blog-masonry.news-blog-columns-mobile-3 {
    column-count: 3
  }
  .news-blog-masonry.news-blog-columns-mobile-4 {
    column-count: 4
  }
  .news-blog-masonry.news-blog-columns-mobile-5 {
    column-count: 5
  }
  .news-blog-masonry.news-blog-columns-mobile-6 {
    column-count: 6
  }
}
@media (max-width:768px) {
  .news-blog-collage, .news-blog-collage-2 {
    grid-template-columns: 1fr !important;
    column-count: 1 !important
  }
  .news-blog-collage .news-blog-collage-item-0, .news-blog-collage-2 .news-blog-collage-2-item-0 {
    grid-column: span 1;
    grid-row: span 1
  }
}
.woo-category {
  gap: var(--sp-10);
  display: flex;
  flex-direction: column
}
.woo-category-image img {
  max-width: 100%;
  height: auto;
  object-fit: cover
}
.woo-category-image.circle img {
  border-radius: 50%;
  aspect-ratio: 1 / 1
}
.woo-category-image.square img {
  aspect-ratio: 1 / 1
}
.woo-category-image.landscape img {
  aspect-ratio: 3 / 2
}
.woo-category-image.portrait img {
  aspect-ratio: 2 / 3
}
.woo-category-image.adapt img {
  width: 100%;
  height: auto
}
.marquee-wrapper {
  overflow: hidden;
  width: 100%
}
.marquee-content {
  display: flex;
  white-space: nowrap;
  gap: var(--sp-20)
}
.marquee-text {
  display: inline-block;
  padding: 0 var(--sp-20)
}
.marquee-image {
  display: inline-block
}
.marquee-image img {
  height: auto
}
.marquee-wrapper[data-direction="left"] .marquee-content {
  animation: scroll-left linear infinite
}
.marquee-wrapper[data-direction="right"] .marquee-content {
  animation: scroll-right linear infinite
}
.marquee-wrapper[data-direction="up"] .marquee-content {
  flex-direction: column;
  animation: scroll-up linear infinite
}
.marquee-wrapper[data-direction="down"] .marquee-content {
  flex-direction: column;
  animation: scroll-down linear infinite
}
.marquee-wrapper[data-pause="pause-on-hover"]:hover .marquee-content {
  animation-play-state: paused
}
@keyframes scroll-left {
  0% {
    transform: translateX(0)
  }
  100% {
    transform: translateX(-50%)
  }
}
@keyframes scroll-right {
  0% {
    transform: translateX(-50%)
  }
  100% {
    transform: translateX(0)
  }
}
@keyframes scroll-up {
  0% {
    transform: translateY(0)
  }
  100% {
    transform: translateY(-50%)
  }
}
@keyframes scroll-down {
  0% {
    transform: translateY(-50%)
  }
  100% {
    transform: translateY(0)
  }
}
@media (prefers-reduced-motion:reduce) {
  .marquee-content {
    animation: none !important
  }
}
.eta-testimonial-section {
  padding: var(--sp-20) 0
}
.eta-testimonial-list {
  list-style: none;
  padding: 0;
  margin: 0
}
.eta-testimonial-grid .eta-testimonial-item {
  margin-bottom: var(--sp-20)
}
.eta-testimonial-item {
  padding: var(--sp-20);
  border-radius: 0px;
  text-align: center;
  transition: transform 0.3s ease
}
.eta-testimonial-content {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: var(--sp-20)
}
.eta-testimonial-author-info {
  display: flex;
  flex-direction: column;
  align-items: center
}
.eta-testimonial-image {
  width: 80px !important;
  height: 80px !important;
  border-radius: 50%;
  margin-bottom: var(--sp-10);
  object-fit: cover
}
.eta-testimonial-author {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: var(--sp-6)
}
.eta-testimonial-designation {
  font-size: 14px;
  font-style: italic
}
.eta-testimonial-carousel .owl-dot span {
  width: 10px;
  height: 10px;
  margin: var(--sp-6);
  border-radius: 50%
}
.eta-testimonial-carousel .owl-dot.active span {
  transform: scale(1.2)
}
.themeshawk-timer-section {
  overflow: hidden
}
.themeshawk-timer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center
}
.themeshawk-timer-grid .timer-box {
  text-align: center;
  padding: var(--sp-10);
  border-radius: 0px;
  min-width: 60px
}
.themeshawk-timer-single {
  display: flex;
  gap: var(--sp-10);
  justify-content: center
}
.themeshawk-timer-single .timer-box {
  text-align: center;
  padding: var(--sp-10);
  border-radius: 0px;
  min-width: 60px
}
.timer-box span {
  display: block
}
.timer-days, .timer-hours, .timer-minutes, .timer-seconds {
  font-size: 24px;
  font-weight: 700
}
.timer-label {
  font-size: 14px;
  margin-top: var(--sp-6)
}
.timer-expired {
  font-size: 18px;
  font-weight: 700;
  text-align: center
}
.collapsible-container {
  gap: var(--sp-16);
  display: flex;
  flex-direction: column;
  max-width: 100%;
  margin: 0 auto
}
.collapsible-item {
  margin-bottom: 0;
  border-radius: 0px;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: all 0.3s ease
}
.collapsible-title {
  padding: var(--sp-20);
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: all 0.3s ease;
  position: relative;
}
.collapsible-title:hover {
  transform: translateY(0)
}
.collapsible-icon {
  margin-right: var(--sp-12);
  font-size: 20px;
  width: 20px;
  text-align: center;
  transition: transform 0.3s ease
}
.collapsible-content {
  max-height: 0;
  overflow: hidden;
  padding: 0 var(--sp-20);
  background-color: rgb(var(--color-background));
  border-top: 0 solid var(--color-line);
  line-height: 1.6;
  transition: maxmole-height 0.3s ease, padding 0.3s ease
}
.collapsible-content.open {
  max-height: 1000px;
  padding: var(--sp-20)
}
.collapsible-content p {
  margin: 0 0 var(--sp-16)
}
.collapsible-content *:last-child {
  margin-bottom: 0
}
.cta-widget {
  padding: var(--sp-20);
  border-radius: 0px;
  background-size: cover;
  background-position: center;
  display: flex;
  flex-direction: column;
  align-items: inherit;
  gap: var(--sp-16)
}
.cta-heading {
  margin: 0;
  font-size: 2em
}
.cta-content {
  font-size: 1.1em;
  line-height: 1.5
}
.cta-image img {
  max-width: 100%;
  height: auto;
  border-radius: 0px
}
.cta-button {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-8);
  border-radius: 0px;
  text-decoration: none;
  transition: background-color 0.3s ease
}
.cta-button:hover {
  opacity: .9
}
.cta-button i {
  font-size: 1.2em
}
.custom-blockquote {
  position: relative;
  margin: 0;
  padding: var(--sp-20);
  background-color: rgb(var(--color-background));
  border-left: 5px solid rgb(var(--color-accent-rgb));
  border-radius: 0px
}
.custom-blockquote .quote-content {
  font-size: 1.2em;
  font-style: italic;
  margin: 0 0 var(--sp-10) 0
}
.custom-blockquote .quote-author {
  display: block;
  font-size: .9em;
  font-style: normal
}
.progress-tracker {
  position: relative;
  width: 100%
}
.progress-tracker-horizontal {
  background-color: rgba(var(--color-foreground), 0.01);
  border-radius: 0px;
  overflow: hidden
}
.progress-tracker-horizontal .progress-tracker-fill {
  height: 100%;
  width: 0;
  background-color: rgb(var(--color-accent-rgb));
  transition: width 0.3s ease
}
.progress-tracker-horizontal .progress-tracker-percentage {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  font-weight: 700
}
.progress-tracker-circular {
  position: relative;
  display: inline-block
}
.progress-tracker-circular .progress-tracker-fill {
  transition: stroke-dashoffset 0.3s ease
}
.progress-tracker-circular .progress-tracker-percentage {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 16px;
  font-weight: 700
}
.image_hover_with_caption {
  color: rgb(var(--color-background));
  position: relative;
  overflow: hidden;
  margin: var(--sp-10);
  width: 100%;
  background: rgb(var(--color-foreground));
  text-align: left
}
.image_hover_with_caption * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
.image_hover_with_caption img {
  max-width: 100%;
  opacity: 1;
  width: 100%;
  -webkit-transition: opacity 0.35s;
  transition: opacity 0.35s
}
.image_hover_with_caption figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: var(--sp-32) 3em;
  width: 100%;
  height: 100%
}
.image_hover_with_caption figcaption::before {
  position: absolute;
  top: 30px;
  right: 30px;
  bottom: 30px;
  left: 100%;
  border-left: 4px solid rgba(var(--color-background), 0.8);
  content: '';
  opacity: 0;
  background-color: rgba(var(--color-background), 0.5);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s
}
.image_hover_with_caption h2, .image_hover_with_caption p {
  margin: 0 0 var(--sp-6);
  opacity: 0;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s
}
.image_hover_with_caption h2 {
  text-transform: uppercase;
  -webkit-transform: translate3d(30%, 0%, 0);
  transform: translate3d(30%, 0%, 0);
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s
}
.image_hover_with_caption h2 span {
  font-weight: 800
}
.image_hover_with_caption p {
  font-weight: 200;
  -webkit-transform: translate3d(0%, 30%, 0);
  transform: translate3d(0%, 30%, 0);
  -webkit-transition-delay: 0s;
  transition-delay: 0s
}
.image_hover_with_caption a {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  position: absolute;
  color: rgb(var(--color-background))
}
.image_hover_with_caption:hover img {
  opacity: .3
}
.image_hover_with_caption:hover figcaption h2 {
  opacity: 1;
  -webkit-transform: translate3d(0%, 0%, 0);
  transform: translate3d(0%, 0%, 0);
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s
}
.image_hover_with_caption:hover figcaption p {
  opacity: .9;
  -webkit-transform: translate3d(0%, 0%, 0);
  transform: translate3d(0%, 0%, 0);
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s
}
.image_hover_with_caption:hover figcaption::before {
  background: rgb(var(--color-background));
  left: 30px;
  opacity: 1;
  -webkit-transition-delay: 0s;
  transition-delay: 0s
}
.before-after-slider-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden
}
.before, .after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}
.before img, .after img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  user-select: none;
  pointer-events: none
}
.after {
  clip-path: inset(0 50% 0 0);
  will-change: clip-path
}
@media (max-width:1024px) {
  .before-after-slider-wrapper {
    aspect-ratio: 16 / 9
  }
}
@media (max-width:768px) {
  .before-after-slider-wrapper {
    aspect-ratio: 16 / 9
  }
}
@media (max-width:480px) {
  .before-after-slider-wrapper {
    aspect-ratio: 16 / 9
  }
}
.scroller {
  width: 50px;
  height: 50px;
  position: absolute;
  left: 100px;
  top: 50%;
  border-radius: 50%;
  opacity: .9;
  pointer-events: auto
}
.scroller:hover {
  opacity: 1
}
.scrolling {
  pointer-events: none;
  opacity: 1
}
.scroller__thumb {
  width: 100%;
  height: 100%;
  padding: var(--sp-6)
}
.scroller:before {
  top: 100%
}
.scroller:after {
  bottom: 100%
}
.scroller {
  border: 5px solid var(--color-accent);
  transform: translateY(-50%);
  background-color: rgb(var(--color-background));
  cursor: pointer
}
.scroller:before, .scroller:after {
  background: var(--color-accent);
  content: " ";
  display: block;
  width: 7px;
  height: 9999px;
  position: absolute;
  left: 50%;
  margin-left: -3.5px;
  z-index: 30;
  transition: 0.1s
}
.grid_image_hover_effect {
  position: relative;
  list-style: none;
  text-align: center
}
.grid_image_hover_effect figure {
  position: relative;
  float: left;
  overflow: hidden;
  margin: var(--sp-10) 1%;
  background: rgb(var(--color-background));
  ;
  text-align: center;
  cursor: pointer
}
.grid_image_hover_effect figure img {
  position: relative;
  display: block;
  min-height: 100%;
  max-width: 100%;
  opacity: .8
}
.grid_image_hover_effect figure figcaption {
  padding: 2em;
  color: rgb(var(--color-background));
  text-transform: uppercase;
  font-size: 1.25em;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}
.grid_image_hover_effect figure figcaption::before, .grid_image_hover_effect figure figcaption::after {
  pointer-events: none
}
.grid_image_hover_effect figure figcaption, .grid_image_hover_effect figure figcaption > a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}
.grid_image_hover_effect figure figcaption > a {
  z-index: 1000;
  text-indent: 200%;
  white-space: nowrap;
  font-size: 0;
  opacity: 0
}
.grid_image_hover_effect figure h2 {
  font-weight: 300
}
.grid_image_hover_effect figure h2 span {
  font-weight: 800
}
.grid_image_hover_effect figure h2, .grid_image_hover_effect figure p {
  margin: 0
}
.grid_image_hover_effect figure p {
  letter-spacing: 1px;
  font-size: 68.5%
}
figure.effect-lily img {
  max-width: none;
  width: -webkit-calc(100% + 50px);
  width: calc(100% + 50px);
  opacity: .7;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  -webkit-transform: translate3d(-40px, 0, 0);
  transform: translate3d(-40px, 0, 0)
}
figure.effect-lily figcaption {
  text-align: left
}
figure.effect-lily figcaption > div {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 2em;
  width: 100%;
  height: 50%
}
figure.effect-lily h2, figure.effect-lily p {
  -webkit-transform: translate3d(0, 40px, 0);
  transform: translate3d(0, 40px, 0)
}
figure.effect-lily h2 {
  -webkit-transition: -webkit-transform 0.35s;
  transition: transform 0.35s
}
figure.effect-lily p {
  color: rgba(var(--color-background), 0.8);
  opacity: 0;
  -webkit-transition: opacity 0.2s, -webkit-transform 0.35s;
  transition: opacity 0.2s, transform 0.35s
}
figure.effect-lily:hover img, figure.effect-lily:hover p {
  opacity: 1
}
figure.effect-lily:hover img, figure.effect-lily:hover h2, figure.effect-lily:hover p {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}
figure.effect-lily:hover p {
  -webkit-transition-delay: 0.05s;
  transition-delay: 0.05s;
  -webkit-transition-duration: 0.35s;
  transition-duration: 0.35s
}
figure.effect-sadie figcaption::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-linear-gradient(top, rgb(var(--color-background)) 0%, rgba(var(--color-foreground), 0.8) 75%);
  background: linear-gradient(to bottom, rgb(var(--color-background)) 0%, rgba(var(--color-foreground), 0.8) 75%);
  content: '';
  opacity: 0;
  -webkit-transform: translate3d(0, 50%, 0);
  transform: translate3d(0, 50%, 0)
}
figure.effect-sadie h2 {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  color: rgb(var(--color-foreground));
  -webkit-transition: -webkit-transform 0.35s, color 0.35s;
  transition: transform 0.35s, color 0.35s;
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0)
}
figure.effect-sadie figcaption::before, figure.effect-sadie p {
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s
}
figure.effect-sadie p {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 2em;
  width: 100%;
  opacity: 0;
  -webkit-transform: translate3d(0, 10px, 0);
  transform: translate3d(0, 10px, 0)
}
figure.effect-sadie:hover h2 {
  color: rgb(var(--color-background));
  -webkit-transform: translate3d(0, -50%, 0) translate3d(0, -40px, 0);
  transform: translate3d(0, -50%, 0) translate3d(0, -40px, 0)
}
figure.effect-sadie:hover figcaption::before, figure.effect-sadie:hover p {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}
figure.effect-roxy {
  background: -webkit-linear-gradient(45deg, rgb(var(--color-background)) 0%, rgb(var(--color-background)) 100%);
  background: linear-gradient(45deg, rgb(var(--color-background)) 0%, rgb(var(--color-background)) 100%)
}
figure.effect-roxy img {
  max-width: none;
  width: -webkit-calc(100% + 60px);
  width: calc(100% + 60px);
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  -webkit-transform: translate3d(-50px, 0, 0);
  transform: translate3d(-50px, 0, 0)
}
figure.effect-roxy figcaption::before {
  position: absolute;
  top: 30px;
  right: 30px;
  bottom: 30px;
  left: 30px;
  border: var(--border);
  content: '';
  opacity: 0;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  -webkit-transform: translate3d(-20px, 0, 0);
  transform: translate3d(-20px, 0, 0)
}
figure.effect-roxy figcaption {
  padding: 3em;
  text-align: left
}
figure.effect-roxy h2 {
  padding: 30% 0 var(--sp-10) 0
}
figure.effect-roxy p {
  opacity: 0;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  -webkit-transform: translate3d(-10px, 0, 0);
  transform: translate3d(-10px, 0, 0)
}
figure.effect-roxy:hover img {
  opacity: .7;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}
figure.effect-roxy:hover figcaption::before, figure.effect-roxy:hover p {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}
figure.effect-bubba {
  background: rgb(var(--color-background))
}
figure.effect-bubba img {
  opacity: .7;
  -webkit-transition: opacity 0.35s;
  transition: opacity 0.35s
}
figure.effect-bubba:hover img {
  opacity: .4
}
figure.effect-bubba figcaption::before, figure.effect-bubba figcaption::after {
  position: absolute;
  top: 30px;
  right: 30px;
  bottom: 30px;
  left: 30px;
  content: '';
  opacity: 0;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s
}
figure.effect-bubba figcaption::before {
  border-top: var(--border);
  border-bottom: var(--border);
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1)
}
figure.effect-bubba figcaption::after {
  border-right: var(--border);
  border-left: var(--border);
  -webkit-transform: scale(1, 0);
  transform: scale(1, 0)
}
figure.effect-bubba h2 {
  padding-top: 30%;
  -webkit-transition: -webkit-transform 0.35s;
  transition: transform 0.35s;
  -webkit-transform: translate3d(0, -20px, 0);
  transform: translate3d(0, -20px, 0)
}
figure.effect-bubba p {
  padding: var(--sp-20) 2.5em;
  opacity: 0;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  -webkit-transform: translate3d(0, 20px, 0);
  transform: translate3d(0, 20px, 0)
}
figure.effect-bubba:hover figcaption::before, figure.effect-bubba:hover figcaption::after {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1)
}
figure.effect-bubba:hover h2, figure.effect-bubba:hover p {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}
figure.effect-romeo {
  -webkit-perspective: 1000px;
  perspective: 1000px
}
figure.effect-romeo img {
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  -webkit-transform: translate3d(0, 0, 300px);
  transform: translate3d(0, 0, 300px)
}
figure.effect-romeo:hover img {
  opacity: .6;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}
figure.effect-romeo figcaption::before, figure.effect-romeo figcaption::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 80%;
  height: 1px;
  background: rgb(var(--color-background));
  content: '';
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0)
}
figure.effect-romeo:hover figcaption::before {
  opacity: .5;
  -webkit-transform: translate3d(-50%, -50%, 0) rotate(45deg);
  transform: translate3d(-50%, -50%, 0) rotate(45deg)
}
figure.effect-romeo:hover figcaption::after {
  opacity: .5;
  -webkit-transform: translate3d(-50%, -50%, 0) rotate(-45deg);
  transform: translate3d(-50%, -50%, 0) rotate(-45deg)
}
figure.effect-romeo h2, figure.effect-romeo p {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  -webkit-transition: -webkit-transform 0.35s;
  transition: transform 0.35s
}
figure.effect-romeo h2 {
  -webkit-transform: translate3d(0, -50%, 0) translate3d(0, -150%, 0);
  transform: translate3d(0, -50%, 0) translate3d(0, -150%, 0)
}
figure.effect-romeo p {
  padding: .25em 2em;
  -webkit-transform: translate3d(0, -50%, 0) translate3d(0, 150%, 0);
  transform: translate3d(0, -50%, 0) translate3d(0, 150%, 0)
}
figure.effect-romeo:hover h2 {
  -webkit-transform: translate3d(0, -50%, 0) translate3d(0, -100%, 0);
  transform: translate3d(0, -50%, 0) translate3d(0, -100%, 0)
}
figure.effect-romeo:hover p {
  -webkit-transform: translate3d(0, -50%, 0) translate3d(0, 100%, 0);
  transform: translate3d(0, -50%, 0) translate3d(0, 100%, 0)
}
figure.effect-layla {
  background: rgb(var(--color-background))
}
figure.effect-layla img {
  height: 390px
}
figure.effect-layla figcaption {
  padding: 3em
}
figure.effect-layla figcaption::before, figure.effect-layla figcaption::after {
  position: absolute;
  content: '';
  opacity: 0
}
figure.effect-layla figcaption::before {
  top: 50px;
  right: 30px;
  bottom: 50px;
  left: 30px;
  border-top: var(--border);
  border-bottom: var(--border);
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0
}
figure.effect-layla figcaption::after {
  top: 30px;
  right: 50px;
  bottom: 30px;
  left: 50px;
  border-right: var(--border);
  border-left: var(--border);
  -webkit-transform: scale(1, 0);
  transform: scale(1, 0);
  -webkit-transform-origin: 100% 0;
  transform-origin: 100% 0
}
figure.effect-layla h2 {
  padding-top: 26%;
  -webkit-transition: -webkit-transform 0.35s;
  transition: transform 0.35s
}
figure.effect-layla p {
  padding: .5em 2em;
  text-transform: none;
  opacity: 0;
  -webkit-transform: translate3d(0, -10px, 0);
  transform: translate3d(0, -10px, 0)
}
figure.effect-layla img, figure.effect-layla h2 {
  -webkit-transform: translate3d(0, -30px, 0);
  transform: translate3d(0, -30px, 0)
}
figure.effect-layla img, figure.effect-layla figcaption::before, figure.effect-layla figcaption::after, figure.effect-layla p {
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s
}
figure.effect-layla:hover img {
  opacity: .7;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}
figure.effect-layla:hover figcaption::before, figure.effect-layla:hover figcaption::after {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1)
}
figure.effect-layla:hover h2, figure.effect-layla:hover p {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}
figure.effect-layla:hover figcaption::after, figure.effect-layla:hover h2, figure.effect-layla:hover p, figure.effect-layla:hover img {
  -webkit-transition-delay: 0.15s;
  transition-delay: 0.15s
}
figure.effect-honey {
  background: rgb(var(--color-background))
}
figure.effect-honey img {
  opacity: .9;
  -webkit-transition: opacity 0.35s;
  transition: opacity 0.35s
}
figure.effect-honey:hover img {
  opacity: .5
}
figure.effect-honey figcaption::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10px;
  background: rgb(var(--color-background));
  content: '';
  -webkit-transform: translate3d(0, 10px, 0);
  transform: translate3d(0, 10px, 0)
}
figure.effect-honey h2 {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 1em 1.5em;
  width: 100%;
  text-align: left;
  -webkit-transform: translate3d(0, -30px, 0);
  transform: translate3d(0, -30px, 0)
}
figure.effect-honey h2 i {
  font-style: normal;
  opacity: 0;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  -webkit-transform: translate3d(0, -30px, 0);
  transform: translate3d(0, -30px, 0)
}
figure.effect-honey figcaption::before, figure.effect-honey h2 {
  -webkit-transition: -webkit-transform 0.35s;
  transition: transform 0.35s
}
figure.effect-honey:hover figcaption::before, figure.effect-honey:hover h2, figure.effect-honey:hover h2 i {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}
figure.effect-oscar {
  background: -webkit-linear-gradient(45deg, rgb(var(--color-background)) 0%, rgb(var(--color-background)) 40%, rgb(var(--color-background)) 100%);
  background: linear-gradient(45deg, rgb(var(--color-background)) 0%, rgb(var(--color-background)) 40%, rgb(var(--color-background)) 100%)
}
figure.effect-oscar img {
  opacity: .9;
  -webkit-transition: opacity 0.35s;
  transition: opacity 0.35s
}
figure.effect-oscar figcaption {
  padding: 3em;
  background-color: rgba(var(--color-foreground), 0.7);
  -webkit-transition: background-color 0.35s;
  transition: background-color 0.35s
}
figure.effect-oscar figcaption::before {
  position: absolute;
  top: 30px;
  right: 30px;
  bottom: 30px;
  left: 30px;
  border: var(--border);
  content: ''
}
figure.effect-oscar h2 {
  margin: 20% 0 var(--sp-10) 0;
  -webkit-transition: -webkit-transform 0.35s;
  transition: transform 0.35s;
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0)
}
figure.effect-oscar figcaption::before, figure.effect-oscar p {
  opacity: 0;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  -webkit-transform: scale(0);
  transform: scale(0)
}
figure.effect-oscar:hover h2 {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}
figure.effect-oscar:hover figcaption::before, figure.effect-oscar:hover p {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1)
}
figure.effect-oscar:hover figcaption {
  background-color: rgb(var(--color-background))
}
figure.effect-oscar:hover img {
  opacity: .4
}
figure.effect-marley figcaption {
  text-align: right
}
figure.effect-marley h2, figure.effect-marley p {
  position: absolute;
  right: 30px;
  left: 30px;
  padding: var(--sp-10) 0
}
figure.effect-marley p {
  bottom: 30px;
  line-height: 1.5;
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0)
}
figure.effect-marley h2 {
  top: 30px;
  -webkit-transition: -webkit-transform 0.35s;
  transition: transform 0.35s;
  -webkit-transform: translate3d(0, 20px, 0);
  transform: translate3d(0, 20px, 0)
}
figure.effect-marley:hover h2 {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}
figure.effect-marley h2::after {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 4px;
  background: rgb(var(--color-background));
  content: '';
  -webkit-transform: translate3d(0, 40px, 0);
  transform: translate3d(0, 40px, 0)
}
figure.effect-marley h2::after, figure.effect-marley p {
  opacity: 0;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s
}
figure.effect-marley:hover h2::after, figure.effect-marley:hover p {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}
figure.effect-ruby {
  background-color: rgb(var(--color-background))
}
figure.effect-ruby img {
  opacity: .7;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  -webkit-transform: scale(1.15);
  transform: scale(1.15)
}
figure.effect-ruby:hover img {
  opacity: .5;
  -webkit-transform: scale(1);
  transform: scale(1)
}
figure.effect-ruby h2 {
  margin-top: 20%;
  -webkit-transition: -webkit-transform 0.35s;
  transition: transform 0.35s;
  -webkit-transform: translate3d(0, 20px, 0);
  transform: translate3d(0, 20px, 0)
}
figure.effect-ruby p {
  margin: 1em 0 0;
  padding: 3em;
  border: var(--border);
  opacity: 0;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  -webkit-transform: translate3d(0, 20px, 0) scale(1.1);
  transform: translate3d(0, 20px, 0) scale(1.1)
}
figure.effect-ruby:hover h2 {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}
figure.effect-ruby:hover p {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0) scale(1);
  transform: translate3d(0, 0, 0) scale(1)
}
figure.effect-milo {
  background: rgb(var(--color-background))
}
figure.effect-milo img {
  max-width: none;
  width: -webkit-calc(100% + 60px);
  width: calc(100% + 60px);
  opacity: 1;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  -webkit-transform: translate3d(-30px, 0, 0) scale(1.12);
  transform: translate3d(-30px, 0, 0) scale(1.12);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}
figure.effect-milo:hover img {
  opacity: .5;
  -webkit-transform: translate3d(0, 0, 0) scale(1);
  transform: translate3d(0, 0, 0) scale(1)
}
figure.effect-milo h2 {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 1em 1.2em
}
figure.effect-milo p {
  padding: 0 var(--sp-10) 0 0;
  width: 50%;
  border-right: var(--border);
  text-align: right;
  opacity: 0;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  -webkit-transform: translate3d(-40px, 0, 0);
  transform: translate3d(-40px, 0, 0)
}
figure.effect-milo:hover p {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}
figure.effect-dexter {
  background: -webkit-linear-gradient(top, rgb(var(--color-background)) 0%, rgb(var(--color-background)) 100%);
  background: linear-gradient(to bottom, rgb(var(--color-background)) 0%, rgb(var(--color-background)) 100%)
}
figure.effect-dexter img {
  -webkit-transition: opacity 0.35s;
  transition: opacity 0.35s
}
figure.effect-dexter:hover img {
  opacity: .4
}
figure.effect-dexter figcaption::after {
  position: absolute;
  right: 30px;
  bottom: 30px;
  left: 30px;
  height: -webkit-calc(50% - 30px);
  height: calc(50% - 30px);
  border: 7px solid rgb(var(--color-background));
  content: '';
  -webkit-transition: -webkit-transform 0.35s;
  transition: transform 0.35s;
  -webkit-transform: translate3d(0, -100%, 0);
  transform: translate3d(0, -100%, 0)
}
figure.effect-dexter:hover figcaption::after {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}
figure.effect-dexter figcaption {
  padding: 3em;
  text-align: left
}
figure.effect-dexter p {
  position: absolute;
  right: 60px;
  bottom: 60px;
  left: 60px;
  opacity: 0;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  -webkit-transform: translate3d(0, -100px, 0);
  transform: translate3d(0, -100px, 0)
}
figure.effect-dexter:hover p {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}
figure.effect-sarah {
  background: rgb(var(--color-background))
}
figure.effect-sarah img {
  max-width: none;
  width: -webkit-calc(100% + 20px);
  width: calc(100% + 20px);
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  -webkit-transform: translate3d(-10px, 0, 0);
  transform: translate3d(-10px, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}
figure.effect-sarah:hover img {
  opacity: .4;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}
figure.effect-sarah figcaption {
  text-align: left
}
figure.effect-sarah h2 {
  position: relative;
  overflow: hidden;
  padding: .5em 0
}
figure.effect-sarah h2::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: rgb(var(--color-background));
  content: '';
  -webkit-transition: -webkit-transform 0.35s;
  transition: transform 0.35s;
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0)
}
figure.effect-sarah:hover h2::after {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}
figure.effect-sarah p {
  padding: 1em 0;
  opacity: 0;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0)
}
figure.effect-sarah:hover p {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}
figure.effect-zoe figcaption {
  top: auto;
  bottom: 0;
  padding: 1em;
  height: 3.75em;
  background: rgb(var(--color-background));
  color: rgb(var(--color-foreground));
  -webkit-transition: -webkit-transform 0.35s;
  transition: transform 0.35s;
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0)
}
figure.effect-zoe h2 {
  float: left
}
figure.effect-zoe p.icon-links a {
  float: right;
  color: rgb(var(--color-foreground));
  font-size: 1.4em
}
figure.effect-zoe:hover p.icon-links a:hover, figure.effect-zoe:hover p.icon-links a:focus {
  color: rgb(var(--color-foreground))
}
figure.effect-zoe p.description {
  position: absolute;
  bottom: 8em;
  padding: 2em;
  color: rgb(var(--color-background));
  text-transform: none;
  font-size: 90%;
  opacity: 0;
  -webkit-transition: opacity 0.35s;
  transition: opacity 0.35s;
  -webkit-backface-visibility: hidden
}
figure.effect-zoe h2, figure.effect-zoe p.icon-links a {
  -webkit-transition: -webkit-transform 0.35s;
  transition: transform 0.35s;
  -webkit-transform: translate3d(0, 200%, 0);
  transform: translate3d(0, 200%, 0)
}
figure.effect-zoe p.icon-links a span::before {
  display: inline-block;
  padding: var(--sp-8) var(--sp-10);
  font-family: 'feathericons';
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}
figure.effect-zoe h2 {
  display: inline-block
}
figure.effect-zoe:hover p.description {
  opacity: 1
}
figure.effect-zoe:hover figcaption, figure.effect-zoe:hover h2, figure.effect-zoe:hover p.icon-links a {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}
figure.effect-zoe:hover h2 {
  -webkit-transition-delay: 0.05s;
  transition-delay: 0.05s
}
figure.effect-zoe:hover p.icon-links a:nth-child(3) {
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s
}
figure.effect-zoe:hover p.icon-links a:nth-child(2) {
  -webkit-transition-delay: 0.15s;
  transition-delay: 0.15s
}
figure.effect-zoe:hover p.icon-links a:first-child {
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s
}
figure.effect-chico img {
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  -webkit-transform: scale(1.12);
  transform: scale(1.12)
}
figure.effect-chico:hover img {
  opacity: .5;
  -webkit-transform: scale(1);
  transform: scale(1)
}
figure.effect-chico figcaption {
  padding: 3em
}
figure.effect-chico figcaption::before {
  position: absolute;
  top: 30px;
  right: 30px;
  bottom: 30px;
  left: 30px;
  border: var(--border);
  content: '';
  -webkit-transform: scale(1.1);
  transform: scale(1.1)
}
figure.effect-chico figcaption::before, figure.effect-chico p {
  opacity: 0;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s
}
figure.effect-chico h2 {
  padding: 20% 0 var(--sp-20) 0
}
figure.effect-chico p {
  margin: 0 auto;
  max-width: 200px;
  -webkit-transform: scale(1.5);
  transform: scale(1.5)
}
figure.effect-chico:hover figcaption::before, figure.effect-chico:hover p {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1)
}
@media screen and (max-width:50em) {
  .content {
    padding: 0 var(--sp-10);
    text-align: center
  }
  .grid_image_hover_effect figure {
    display: inline-block;
    float: none;
    margin: var(--sp-10) auto;
    width: 100%
  }
}
.content {
  margin: 0 auto;
  max-width: 1000px
}
.content > h2 {
  clear: both;
  margin: 0;
  padding: 4em 1% 0;
  color: rgb(var(--color-foreground));
  font-weight: 800;
  font-size: 1.5em
}
.content > h2:first-child {
  padding-top: 0em
}
.container_profile_card .profile_card .icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgb(var(--color-foreground))
}
.container_profile_card .profile_card .icon .fa, .container_profile_card .profile_card .icon .fas {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 80px;
  color: rgb(var(--color-background))
}
.container_profile_card .profile_card .slide {
  width: 100%;
  height: 200px;
  transition: 0.5s
}
.container_profile_card .profile_card .slide.slide1 {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
  transition: .7s;
  transform: translateY(50%)
}
.container_profile_card .profile_card:hover .slide.slide1 {
  transform: translateY(0)
}
.container_profile_card .profile_card .slide.slide2 {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--sp-20);
  box-sizing: border-box;
  transition: .8s;
  transform: translateY(-50%);
  box-shadow: var(--shadow-xl)
}
.container_profile_card .profile_card:hover .slide.slide2 {
  transform: translateY(0)
}
.container_profile_card .profile_card .slide.slide2::after {
  content: "";
  position: absolute;
  width: 30px;
  height: 4px;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%);
  background: rgb(var(--color-background))
}
.container_profile_card .profile_card .slide.slide2 .content p {
  margin: 0;
  padding: 0;
  text-align: center;
  color: rgb(var(--color-foreground))
}
.container_profile_card .profile_card .slide.slide2 .content h3 {
  margin: 0 0 var(--sp-10) 0;
  padding: 0;
  font-size: 24px;
  text-align: center;
  color: rgb(var(--color-foreground))
}
.blog-post {
  padding: 0;
  border-radius: 0;
  transition: all 0.3s ease
}
.blog-post-thumbnail img {
  max-width: 100%;
  height: auto;
  border-radius: 0px;
  margin-bottom: 0
}
.blog-post-title {
  margin: var(--sp-10) 0
}
.blog-post-title a {
  text-decoration: none
}
.blog-post-excerpt {
  margin-bottom: var(--sp-10)
}
.blog-post-carousel .blog-post {
  display: flex
}
.woo-product-tabs-section {
  margin-bottom: var(--sp-32)
}
.woo-product-tabs-nav {
  display: flex;
  border-bottom: 2px solid var(--color-border)
}
.woo-product-tabs-nav li {
  margin: 0 var(--sp-6)
}
.woo-product-tabs-nav a {
  display: block;
  padding: var(--sp-10) var(--sp-20);
  text-decoration: none;
  font-weight: 500;
  transition: all 0.3s ease
}
.woo-product-tabs-nav li.active a, .woo-product-tabs-nav li a, .nav-tabs .nav-link {
  border-bottom: 1px solid rgba(var(--color-foreground), .1) !important;
  border: 1px solid rgba(var(--color-foreground), .1) !important
}
.woo-product-tabs-nav {
  border: none !important;
  margin-bottom: var(--sp-20)
}
.woo-product-tabs-nav .nav-link, .blog-tabs-nav .nav-link {
  background-color: rgb(var(--color-background));
  color: rgb(var(--color-foreground));
  border-radius: 100px !important;
  border: var(--border)
}
.woo-product-tabs-nav .nav-link.active, .blog-tabs-nav .nav-link.active {
  background-color: var(--theme-base-color);
  color: rgb(var(--color-background))
}
.woo-product-tabs-content .tab-pane {
  display: none
}
.woo-product-tabs-content .tab-pane.active {
  display: block
}
.woo-product-grid, .woo-product-masonry, .woo-product-carousel {
  list-style: none;
  padding: 0;
  margin: 0
}
.woo-product-tabs-content {
  padding: var(--sp-20) 0
}
.blog-tabs-nav, .woo-product-tabs-nav {
  gap: var(--sp-10);
  margin-bottom: var(--sp-20) !important;
  border-bottom: 0;
  padding: 0px var(--sp-10);
}
.blog-tabs-nav .nav-link, .woo-product-tabs-nav .nav-link {
  margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
  border: var(--bs-nav-tabs-border-width) solid var(--color-border);
  padding: var(--sp-10) var(--sp-20) !important;
}
.slick-arrow {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  display: block;
  width: 20px;
  height: 20px;
  padding: 0;
  transform: translate(0, -50%);
  cursor: pointer;
  color: rgb(var(--color-foreground));
  border: none;
  outline: none;
  background: rgb(var(--color-background));
  z-index: 999
}
.slick-next, .slick-prev {
  &:before {
    display: block;
    font-size: 40px;
    line-height: 35px;
    font-family: "Proxima Nova", sans-serif;
    font-weight: 700;
    text-align: center;
    opacity: .75;
    color: rgb(var(--color-foreground));
    -webkit-font-smoothing: antialiased;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgb(var(--color-background));
    box-shadow: var(--shadow-md)
  }
}
.slick-next {
  &:before {
    content: "\0203A"
  }
}
.slick-prev {
  &:before {
    content: "\02039"
  }
}
.lookbook-section {
  position: relative;
  display: block;
  width: 100%;
  float: left
}
.product-item {
  float: left;
  position: relative;
  width: 100%;
  background-size: cover;
  background-repeat: no-repeat
}
.product-item .glide__bullets {
  height: 100%
}
.product-item .glide__bullet {
  background: rgb(var(--color-background));
  border: 0;
  cursor: pointer;
  outline: none
}
.product-item .glide__bullet--active {
  transform: scale(.7)
}
.product-item .marker {
  position: absolute;
  width: 60px;
  height: 60px
}
.product-item .dot {
  position: absolute;
  display: block;
  left: 20px;
  top: 20px;
  width: 20px;
  height: 20px;
  font-size: 0;
  line-height: 0;
  color: rgb(var(--color-foreground));
  border-radius: 100%;
  background: rgb(var(--color-background));
  box-shadow: var(--shadow-md);
  z-index: 9
}
.product-item .dot:after {
  content: '';
  position: absolute;
  width: 50px;
  height: 50px;
  top: -15px;
  left: -15px;
  border-radius: 100%;
  background: rgba(var(--color-background), 0.4);
  z-index: 1;
  animation: 2.5s pulse ease-in-out infinite
}
.product-detail {
  position: relative;
  float: left;
  width: 100%;
  padding: 0;
  text-align: center;
  box-sizing: border-box;
  overflow: hidden
}
.product-detail .glide__slides {
  list-style: none;
  margin: 0;
  padding: 0
}
.product-detail .glide__slide {
  float: left
}
.product-detail figure {
  position: relative;
  float: left;
  display: block;
  width: 280px
}
.product-detail figure img {
  width: 180px;
  margin: 0 auto
}
.product-detail header {
  width: 360px;
  display: block;
  position: relative
}
.product-detail header h1 {
  font-size: 16px;
  font-weight: 100;
  margin: 0
}
.product-detail header span {
  font-size: 12px;
  display: block;
  margin: var(--sp-20) 0
}
.product-detail header a {
  color: rgb(var(--color-foreground));
  text-decoration: none
}
.product-detail header .btn {
  position: relative;
  display: block;
  width: 80%;
  padding: var(--sp-20) 0;
  color: var(--bs-btn-color);
  font-weight: 100;
  text-transform: uppercase;
  letter-spacing: 2px;
  background: var(--bs-btn-bg);
  font-size: 12px;
  margin: 0 10%
}
.product-detail .glide__bullets {
  position: relative;
  float: left;
  width: 100%;
  text-align: center;
  margin-top: var(--sp-20)
}
.product-detail .glide__bullet {
  border: 0;
  width: 80px;
  height: 3px;
  background: rgb(var(--color-background));
  border-radius: 0;
  margin-right: 0;
  padding: 0
}
.product-detail .glide__bullet--active {
  background: rgb(var(--color-foreground))
}
.ripple-animation {
  position: relative;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  height: 32px;
  width: 32px;
  border: 4px solid;
  border-radius: 100%;
  background: rgb(var(--color-background));
  box-shadow: 0 0 20px 0 rgba(var(--color-foreground), 0.25)
}
.ripple-animation span {
  position: relative;
  font-size: 72px;
  top: 5px;
  left: -5px
}
.ripple-animation::after {
  opacity: 0;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  content: "";
  height: 100%;
  width: 100%;
  background: rgb(var(--color-background));
  border-radius: 100%;
  -webkit-animation-name: ripple;
  animation-name: ripple;
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: cubic-bezier(.65, 0, .34, 1);
  animation-timing-function: cubic-bezier(.65, 0, .34, 1);
  z-index: -1
}
.image-container-slideshow {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 0
}
.image-container-slideshow.first-image {
  grid-column: span 2
}
.image-container-slideshow img {
  width: 100%;
  height: 100%;
  object-fit: cover
}
.text-overlay-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  height: 100%;
  max-width: 90%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: opacity 0.3s ease
}
.text-background-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: var(--sp-10) var(--sp-16);
  border-radius: 0px;
  gap: var(--sp-10)
}
.text-background-wrapper span {
  transition: transform 0.3s ease, opacity 0.3s ease;
  opacity: 0
}
.text-overlay-wrapper.position-top {
  justify-content: flex-start;
  padding-top: 0
}
.text-overlay-wrapper.position-bottom {
  justify-content: flex-end;
  padding-bottom: 0
}
.text-overlay-wrapper.position-left {
  align-items: flex-start;
  padding-left: 0
}
.text-overlay-wrapper.position-right {
  align-items: flex-end;
  padding-right: 0
}
.image-container-slideshow.show-permanent .text-overlay-wrapper {
  opacity: 1
}
.image-container-slideshow.show-permanent .text-background-wrapper span {
  transform: translateY(0);
  opacity: 1;
  transition: none
}
.image-container-slideshow:not(.show-permanent) .text-overlay-wrapper {
  opacity: 0
}
.image-container-slideshow:not(.show-permanent):hover .text-overlay-wrapper {
  opacity: 1
}
.image-container-slideshow:not(.show-permanent):hover .text-background-wrapper span {
  transform: translateY(0);
  opacity: 1
}
.image-container-slideshow:not(.show-permanent):hover .text-background-wrapper span:nth-child(1) {
  transition-delay: 0.1s
}
.image-container-slideshow:not(.show-permanent):hover .text-background-wrapper span:nth-child(2) {
  transition-delay: 0.2s
}
.image-container-slideshow:hover img {
  transform: scale(1.1)
}
@media (max-width:768px) {
  .image-container-slideshow.first-image {
    grid-column: span 1;
    grid-row: span 1
  }
  .text-overlay-wrapper.position-top, .text-overlay-wrapper.position-bottom, .text-overlay-wrapper.position-left, .text-overlay-wrapper.position-right {
    padding: var(--sp-10)
  }
  .text-background-wrapper {
    padding: var(--sp-8) var(--sp-12)
  }
}
.position-right {
  position: absolute;
  right: 5% !important;
  left: auto !important;
  width: auto !important
}
.position-left {
  position: absolute;
  left: 5% !important;
  right: auto !important;
  width: auto !important
}
.position-top {
  position: absolute;
  top: 5% !important;
  height: auto !important
}
.position-bottom {
  position: absolute;
  bottom: 5% !important;
  top: auto !important;
  height: auto !important
}
.position-right-top {
  position: absolute;
  top: 5% !important;
  right: 5% !important;
  left: auto !important;
  transform: none !important;
  width: auto !important;
  height: auto !important
}
.position-right-bottom {
  position: absolute;
  bottom: 5% !important;
  right: 5% !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  width: auto !important;
  height: auto !important
}
.position-left-top {
  position: absolute;
  top: 5% !important;
  left: 5% !important;
  right: auto !important;
  transform: none !important;
  width: auto !important;
  height: auto !important
}
.position-left-bottom {
  position: absolute;
  bottom: 5% !important;
  left: 5% !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  width: auto !important;
  height: auto !important
}
.position-center {
  position: absolute;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%);
  width: auto !important;
  height: auto !important
}
.position-center-top {
  position: absolute;
  top: 5% !important;
  left: 50% !important;
  transform: translateX(-50%);
  height: auto !important
}
.position-center-bottom {
  position: absolute;
  bottom: 5% !important;
  left: 50% !important;
  top: auto !important;
  transform: translateX(-50%);
  height: auto !important
}
.themeshawk-woo-product-list .star-rating {
  float: right;
  overflow: hidden;
  position: relative;
  height: 1em;
  line-height: 1;
  font-size: 1em;
  width: 5.4em;
  font-family: WooCommerce
}
.themeshawk-woo-product-list .star-rating::before {
  content: "sssss";
  top: 0;
  left: 0
}
.themeshawk-woo-product-list .star-rating span {
  overflow: hidden;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
  padding-top: 7.5em
}
.themeshawk-woo-product-list .star-rating span::before {
  content: "SSSSS"
}
.themeshawk-woo-product-list .woocommerce-product-rating {
  line-height: 2;
  display: block
}
.themeshawk-woo-product-list .woocommerce-product-rating::after, .themeshawk-woo-product-list .woocommerce-product-rating::before {
  content: " ";
  display: table
}
.themeshawk-woo-product-list .woocommerce-product-rating::after {
  clear: both
}
.themeshawk-woo-product-list .woocommerce-product-rating .star-rating {
  margin: .5em var(--sp-4) 0 0;
  float: left
}
.themeshawk-woo-product-list .products .star-rating {
  display: block;
  margin: 0 0 .5em;
  float: none
}
.themeshawk-woo-product-list .hreview-aggregate .star-rating {
  margin: var(--sp-10) 0 0
}
.themeshawk-woo-product-list .star-rating span::before {
  color: var(--color-star) !important;
  top: 6px;
  position: absolute;
  left: 0;
  right: 0
}
.themeshawk-woo-product-list .star-rating::before {
  color: var(--color-star)
}
.glide__slides .themeshawk-woo-product-list .price {
  width: 100%;
  display: flex;
  flex-direction: column
}
.glide {
  position: relative;
  width: auto !important
}
.section-heading {
  margin-bottom: var(--sp-32) !important
}
.mobile-nav-menu-wrapper {
  position: relative
}
.mobile-nav-menu.horizontal .menu {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0
}
.mobile-nav-menu.horizontal .menu-item {
  margin-right: var(--sp-10)
}
.mobile-nav-menu.vertical .menu {
  list-style: none;
  margin: 0;
  padding: 0
}
.mobile-nav-menu.vertical .menu-item {
  margin-bottom: var(--sp-10)
}
.mobile-nav-menu .menu-item a {
  text-decoration: none;
  display: inline-block
}
.mobile-nav-menu .sub-menu {
  list-style: none;
  padding-left: var(--sp-20);
  display: none
}
.mobile-nav-menu .menu-item:hover > .sub-menu {
  display: block
}
.mobile-nav-toggle {
  display: none;
  cursor: pointer;
  padding: var(--sp-10)
}
@media (max-width:767px) {
  .mobile-nav-menu.breakpoint-mobile .menu {
    display: none
  }
  .mobile-nav-menu.breakpoint-mobile.has-mobile-menu .mobile-nav-toggle {
    display: block
  }
  .mobile-nav-menu.breakpoint-mobile.mobile-active .menu {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 1000;
    background-color: rgb(var(--color-background));
    padding: var(--sp-20);
    overflow-y: auto
  }
  .mobile-nav-menu.breakpoint-mobile.mobile-active .menu-item {
    margin-bottom: var(--sp-16)
  }
  .mobile-nav-menu.breakpoint-mobile.mobile-active .sub-menu {
    display: none
  }
  .mobile-nav-menu.breakpoint-mobile.mobile-active .menu-item:hover > .sub-menu {
    display: block
  }
}
@media (max-width:1024px) {
  .mobile-nav-menu.breakpoint-tablet .menu {
    display: none
  }
  .mobile-nav-menu.breakpoint-tablet.has-mobile-menu .mobile-nav-toggle {
    display: block
  }
  .mobile-nav-menu.breakpoint-tablet.mobile-active .menu {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 1000;
    background-color: rgb(var(--color-background));
    padding: var(--sp-20);
    overflow-y: auto
  }
  .mobile-nav-menu.breakpoint-tablet.mobile-active .menu-item {
    margin-bottom: var(--sp-16)
  }
  .mobile-nav-menu.breakpoint-tablet.mobile-active .sub-menu {
    display: none
  }
  .mobile-nav-menu.breakpoint-tablet.mobile-active .menu-item:hover > .sub-menu {
    display: block
  }
}
.elementor-widget-hover-effects .effectTab-header .title {
  font-weight: 700;
  padding-bottom: var(--sp-20);
  position: relative;
  display: inline-block;
  margin: 0 0 var(--sp-20);
  text-align: center;
  text-transform: uppercase
}
.elementor-widget-hover-effects .effectTab-header .title::before {
  position: absolute;
  content: "";
  left: 0;
  width: 156%;
  height: 3px;
  margin-left: -28%;
  bottom: -1.5px
}
.elementor-widget-hover-effects .effectTab-header .title::after {
  position: absolute;
  content: "";
  left: 50%;
  width: 25px;
  height: 25px;
  bottom: -26px;
  margin: 0 0 0 -10px;
  -webkit-clip-path: polygon(75% 0, 75% 69%, 41% 93%, 0 68%, 0 0);
  clip-path: polygon(75% 0, 75% 69%, 41% 93%, 0 68%, 0 0)
}
.elementor-widget-hover-effects .column-3, .elementor-widget-hover-effects .column-4, .elementor-widget-hover-effects .column-6, .elementor-widget-hover-effects .column-8, .elementor-widget-hover-effects .column-12 {
  float: left;
  padding: var(--sp-16)
}
.elementor-widget-hover-effects .column-3 {
  width: 25%
}
.elementor-widget-hover-effects .column-4 {
  width: 33.33333333333333%
}
.elementor-widget-hover-effects .column-6 {
  width: 50%
}
.elementor-widget-hover-effects .column-8 {
  width: 66.66666666666667%
}
.elementor-widget-hover-effects .column-12 {
  width: 100%
}
@media (max-width:575px) {
  .elementor-widget-hover-effects .column-xs-12 {
    width: 100%
  }
  .elementor-widget-hover-effects .hide-xs {
    display: none
  }
  .elementor-widget-hover-effects .effectTab-header .title::before {
    width: 125%;
    left: 15%
  }
}
@media (min-width:576px) and (max-width:767px) {
  .elementor-widget-hover-effects .column-sm-6 {
    width: 50%
  }
  .elementor-widget-hover-effects .column-sm-12 {
    width: 100%
  }
  .elementor-widget-hover-effects .hide-sm {
    display: none
  }
  .elementor-widget-hover-effects .visible-sm {
    display: block
  }
}
@media (min-width:768px) and (max-width:991px) {
  .elementor-widget-hover-effects .column-md-6 {
    width: 50%
  }
  .elementor-widget-hover-effects .column-md-12 {
    width: 100%
  }
  .elementor-widget-hover-effects .hide-md {
    display: none
  }
  .elementor-widget-hover-effects .visible-md {
    display: block
  }
}
.elementor-widget-hover-effects .box-tab {
  margin: var(--sp-10) 0
}
.elementor-widget-hover-effects .effect {
  margin: auto;
  box-shadow: 0 0 15px 5px rgba(var(--color-foreground), 0.07);
  border: 5px solid rgb(var(--color-background));
  position: relative;
  overflow: hidden;
  text-align: center;
  cursor: pointer
}
.elementor-widget-hover-effects .effect img {
  position: relative;
  display: block;
  min-height: 100%;
  opacity: .8
}
.elementor-widget-hover-effects .effect .tab-text {
  padding: 2em;
  text-transform: uppercase;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}
.elementor-widget-hover-effects .effect-one .tab-text::before, .elementor-widget-hover-effects .effect-one .tab-text::after {
  position: absolute;
  content: '';
  opacity: 0
}
.elementor-widget-hover-effects .effect-one .tab-text::before {
  top: 50px;
  right: 30px;
  bottom: 50px;
  left: 30px;
  border-top: 2px solid rgba(var(--color-background), 0.3);
  border-bottom: 2px solid rgba(var(--color-background), 0.3);
  transform: scale(0, 1);
  transform-origin: 0 0
}
.elementor-widget-hover-effects .effect-one .tab-text::after {
  top: 30px;
  right: 50px;
  bottom: 30px;
  left: 50px;
  border-right: var(--border);
  border-left: var(--border);
  transform: scale(1, 0);
  transform-origin: 100% 0
}
.elementor-widget-hover-effects .effect-one .icons-block {
  z-index: 1000;
  position: absolute;
  bottom: 14px;
  width: 100%;
  left: 0;
  text-align: center
}
.elementor-widget-hover-effects .effect-one .icons-block .social-icon-1, .elementor-widget-hover-effects .effect-one .icons-block .social-icon-2, .elementor-widget-hover-effects .effect-one .icons-block .social-icon-3 {
  transition: all .5s ease-in-out;
  opacity: 0
}
.elementor-widget-hover-effects .effect-one:hover .social-icon-1 {
  opacity: 1;
  transition-delay: .3s;
  transition-duration: .5s
}
.elementor-widget-hover-effects .effect-one:hover .social-icon-2 {
  opacity: 1;
  transition-delay: .4s;
  transition-duration: .5s
}
.elementor-widget-hover-effects .effect-one:hover .social-icon-3 {
  opacity: 1;
  transition-delay: .5s;
  transition-duration: .5s
}
.elementor-widget-hover-effects .effect-one .icons-block i {
  padding-left: var(--sp-10)
}
.elementor-widget-hover-effects .effect-one h2 {
  padding-top: 20%;
  transition: transform .35s
}
.elementor-widget-hover-effects .effect-one p {
  padding: .5em 2.7em;
  text-transform: none;
  opacity: 0;
  transform: translate3d(0, -10px, 0);
  line-height: 16px
}
.elementor-widget-hover-effects .effect-one h2, .elementor-widget-hover-effects .effect-one img {
  transform: translate3d(0, -30px, 0)
}
.elementor-widget-hover-effects .effect-one .tab-text::before, .elementor-widget-hover-effects .effect-one .tab-text::after, .elementor-widget-hover-effects .effect-one img, .elementor-widget-hover-effects .effect-one p {
  transition: opacity .35s, transform .35s
}
.elementor-widget-hover-effects .effect-one:hover img {
  opacity: .7;
  transform: translate3d(0, 0, 0) scale(1.1, 1.1)
}
.elementor-widget-hover-effects .effect-one:hover .tab-text::before, .elementor-widget-hover-effects .effect-one:hover .tab-text::after {
  opacity: 1;
  transform: scale(1)
}
.elementor-widget-hover-effects .effect-one:hover h2, .elementor-widget-hover-effects .effect-one:hover p {
  opacity: 1;
  transform: translate3d(0, 0, 0)
}
.elementor-widget-hover-effects .effect-one:hover .tab-text::after, .elementor-widget-hover-effects .effect-one:hover h2, .elementor-widget-hover-effects .effect-one:hover img, .elementor-widget-hover-effects .effect-one:hover p {
  transition-delay: .15s
}
.elementor-widget-hover-effects .effect-one .pt-1 {
  padding-top: 10% !important
}
.elementor-widget-hover-effects .effect-one .pt-2 {
  padding-top: 16% !important
}
.elementor-widget-hover-effects .effect-one .pt-3 {
  padding-top: 28% !important
}
.elementor-widget-hover-effects .effect-two .tab-text {
  top: auto;
  bottom: 0;
  padding: 1em;
  transition: transform .35s;
  transform: translate3d(0, 100%, 0)
}
.elementor-widget-hover-effects .effect-two .col3 {
  height: 5.5rem !important
}
.elementor-widget-hover-effects .effect-two h2 {
  float: left;
  word-break: break-all;
  width: 50%;
  text-align: left;
  display: inline-block
}
.elementor-widget-hover-effects .effect-two .col3-head {
  width: 100% !important;
  padding-bottom: var(--sp-10)
}
.elementor-widget-hover-effects .effect-two p.icon-links a {
  float: right;
  line-height: 20px
}
.elementor-widget-hover-effects .effect-two p.description {
  position: absolute;
  bottom: 7em;
  text-transform: none;
  opacity: 0;
  transition: opacity .35s;
  line-height: 18px;
  padding: var(--sp-16) var(--sp-48);
  right: 30px;
  left: 30px;
  clip-path: polygon(7% 0, 100% 0, 93% 100%, 2% 100%)
}
.elementor-widget-hover-effects .effect-two p.col6 {
  left: 80px !important;
  right: 80px !important;
  bottom: 8rem
}
.elementor-widget-hover-effects .effect-two h2, .elementor-widget-hover-effects .effect-two p.icon-links a {
  transition: transform .35s;
  transform: translate3d(0, 200%, 0)
}
.elementor-widget-hover-effects .effect-two:hover p.description {
  opacity: 1
}
.elementor-widget-hover-effects .effect-two:hover .tab-text, .elementor-widget-hover-effects .effect-two:hover h2, .elementor-widget-hover-effects .effect-two:hover p.icon-links a {
  transform: translate3d(0, 0, 0);
  padding-right: var(--sp-10)
}
.elementor-widget-hover-effects .effect-two:hover h2 {
  transition-delay: 50ms
}
.elementor-widget-hover-effects .effect-two:hover p.icon-links a:nth-child(3) {
  transition-delay: .1s
}
.elementor-widget-hover-effects .effect-two:hover p.icon-links a:nth-child(2) {
  transition-delay: .15s
}
.elementor-widget-hover-effects .effect-two:hover p.icon-links a:first-child {
  transition-delay: .2s
}
.elementor-widget-hover-effects .effect-three {
  text-align: left
}
.elementor-widget-hover-effects .effect-three h2 {
  transform: translate3d(25px, 0, 0);
  transition: all .35s
}
.elementor-widget-hover-effects .effect-three h2:before {
  content: "[ ";
  position: absolute;
  left: -15px;
  bottom: 3px
}
.elementor-widget-hover-effects .effect-three:hover h2 {
  transform: translate3d(0, 0, 0);
  opacity: .5
}
.elementor-widget-hover-effects .effect-three .tab-text:before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  border: 140px solid rgb(var(--color-background));
  border-radius: 50% 0 0 50%;
  opacity: 0;
  transform: translate3d(50%, 50%, 0) rotate3d(0, 0, 1, 135deg);
  transition: all .35s .15s;
  border-color: rgb(var(--color-background))
}
.elementor-widget-hover-effects .effect-three:hover .tab-text:before {
  transform: translate3d(50%, 50%, 0) rotate3d(0, 0, 1, 45deg);
  opacity: .8;
  transition-delay: 0s
}
.elementor-widget-hover-effects .effect-three p {
  position: absolute;
  width: 31px;
  height: 36px;
  bottom: 70px;
  right: -31px
}
.elementor-widget-hover-effects .effect-three p a {
  width: 31px;
  height: 36px;
  position: absolute;
  opacity: 0;
  transition: all .35s cubic-bezier(.25, .4, .2, .5) 0s
}
.elementor-widget-hover-effects .effect-three p a i {
  transition: transform .35s cubic-bezier(.5, .2, .4, .25) 0s
}
.elementor-widget-hover-effects .effect-three:hover p a {
  opacity: 1
}
.elementor-widget-hover-effects .effect-three:hover p a:nth-child(1) {
  transform: translate3d(0, 60px, 0);
  transition: all .35s cubic-bezier(.5, .2, .4, .25) .15s
}
.elementor-widget-hover-effects .effect-three:hover p a:nth-child(1) i {
  transform: translate3d(-100px, 0, 0);
  transition: transform .35s cubic-bezier(.25, .4, .2, .5) .15s
}
.elementor-widget-hover-effects .effect-three:hover p a:nth-child(2) {
  transform: translate3d(0, 30px, 0);
  transition: all .35s cubic-bezier(.5, .2, .4, .25) .25s
}
.elementor-widget-hover-effects .effect-three:hover p a:nth-child(2) i {
  transform: translate3d(-80px, 0, 0);
  transition: transform .35s cubic-bezier(.25, .4, .2, .5) .25s
}
.elementor-widget-hover-effects .effect-three:hover p a:nth-child(3) {
  transform: translate3d(0, 0, 0);
  transition: all .35s cubic-bezier(.5, .2, .4, .25) .35s
}
.elementor-widget-hover-effects .effect-three:hover p a:nth-child(3) i {
  transform: translate3d(-45px, 0, 0);
  transition: transform .35s cubic-bezier(.25, .4, .2, .5) .35s
}
.elementor-widget-hover-effects .effect-three img {
  transform: scale3d(1.1, 1.1, 1) translate3d(15px, 0, 0);
  transition: all .35s;
  transform-origin: 85% 100%
}
.elementor-widget-hover-effects .effect-three:hover img {
  transform: scale3d(1.1, 1.1, 1) translate3d(0, 0, 0);
  opacity: .6
}
.elementor-widget-hover-effects .effect-four .tab-text h2 {
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 1em 1.2em
}
.elementor-widget-hover-effects .effect-four .tab-text p {
  width: 65%;
  line-height: 1;
  letter-spacing: 1px;
  text-align: left;
  float: right;
  padding-left: var(--sp-16);
  border-left: var(--border);
  border-bottom: var(--border);
  transform: translate3d(40px, 0, 0);
  opacity: 0;
  transition: all .35s;
  padding-bottom: var(--sp-6)
}
.elementor-widget-hover-effects .effect-four .tab-text p:after, .elementor-widget-hover-effects .effect-four .tab-text p:before {
  width: 10px;
  height: 10px;
  background-color: rgb(var(--color-background));
  border-radius: 50px;
  content: "";
  position: absolute
}
.elementor-widget-hover-effects .effect-four .tab-text p:after {
  top: -5px;
  left: -5px;
  clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%)
}
.elementor-widget-hover-effects .effect-four .tab-text p:before {
  right: 0;
  bottom: -6px;
  clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%)
}
.elementor-widget-hover-effects .effect-four .icons-block {
  z-index: 1000;
  position: absolute;
  top: 10px;
  width: 100%;
  left: 0;
  text-align: left;
  padding-left: var(--sp-10);
  padding-top: var(--sp-10)
}
.elementor-widget-hover-effects .effect-four .icon-c3 {
  padding-left: var(--sp-6);
  padding-top: 0
}
.elementor-widget-hover-effects .effect-four .icons-block .social-icon-1, .elementor-widget-hover-effects .effect-four .icons-block .social-icon-2, .elementor-widget-hover-effects .effect-four .icons-block .social-icon-3 {
  transition: all .5s ease-in-out;
  opacity: 0
}
.elementor-widget-hover-effects .effect-four:hover .social-icon-1 {
  opacity: 1;
  transition-delay: .3s;
  transition-duration: .5s
}
.elementor-widget-hover-effects .effect-four:hover .social-icon-2 {
  opacity: 1;
  transition-delay: .4s;
  transition-duration: .5s
}
.elementor-widget-hover-effects .effect-four:hover .social-icon-3 {
  opacity: 1;
  transition-delay: .5s;
  transition-duration: .5s
}
.elementor-widget-hover-effects .effect-four .icons-block i {
  padding-left: var(--sp-8)
}
.elementor-widget-hover-effects .effect-four:hover p {
  transform: translate3d(0, 0, 0);
  opacity: 1
}
.elementor-widget-hover-effects .effect-four img {
  max-width: none;
  width: calc(100% + 60px);
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1.12);
  transition: all .35s
}
.elementor-widget-hover-effects .effect-four:hover img {
  transform: translate3d(-20px, 0, 0) scale(1);
  opacity: .5
}
.elementor-widget-hover-effects .effect-five {
  text-align: left
}
.elementor-widget-hover-effects .effect-five h2 {
  transform: translate3d(0, 20px, 0);
  transition: all .35s
}
.elementor-widget-hover-effects .effect-five:hover h2 {
  transform: translate3d(0, 0, 0);
  opacity: .6
}
.elementor-widget-hover-effects .effect-five img {
  transition: all .35s
}
.elementor-widget-hover-effects .effect-five:hover img {
  opacity: .6;
  transform: translate3d(0, 0, 0) scale(1.16)
}
.elementor-widget-hover-effects .effect-five .tab-text:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 180%;
  background-color: rgb(var(--color-background));
  opacity: .8;
  transform-origin: 0 100%;
  transform: rotate(90deg);
  transition: all .35s
}
.elementor-widget-hover-effects .effect-five:hover .tab-text:before {
  transform: rotate(67deg)
}
.elementor-widget-hover-effects .effect-five p {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 0 var(--sp-16) var(--sp-24) 0
}
.elementor-widget-hover-effects .effect-five p a {
  margin: 0 var(--sp-6)
}
.elementor-widget-hover-effects .effect-five p a i {
  opacity: 0;
  transform: translate3d(0, 50px, 0);
  transition: all .35s
}
.elementor-widget-hover-effects .effect-five:hover p a i {
  opacity: 1;
  transform: translate3d(0, 0, 0)
}
.elementor-widget-hover-effects .effect-five:hover p a:nth-child(1) i {
  transition-delay: .15s
}
.elementor-widget-hover-effects .effect-five:hover p a:nth-child(2) i {
  transition-delay: .1s
}
.elementor-widget-hover-effects .effect-five:hover p a:nth-child(3) i {
  transition-delay: .05s
}
.elementor-widget-hover-effects .effect-six img {
  transition: all .35s;
  transform: translate3d(0, 0, 0) scale(1.05)
}
.elementor-widget-hover-effects .effect-six:hover img {
  opacity: .4;
  transform: translate3d(0, 0, 0) scale(1)
}
.elementor-widget-hover-effects .effect-six .icons-block {
  z-index: 1000;
  position: absolute;
  bottom: 25px;
  width: 100%;
  left: 0;
  text-align: left;
  padding-left: var(--sp-16)
}
.elementor-widget-hover-effects .effect-six .icons-block .social-icon-1, .elementor-widget-hover-effects .effect-six .icons-block .social-icon-2, .elementor-widget-hover-effects .effect-six .icons-block .social-icon-3 {
  transition: all .5s ease-in-out;
  opacity: 0
}
.elementor-widget-hover-effects .effect-six:hover .social-icon-1 {
  opacity: 1;
  transition-delay: .3s;
  transition-duration: .5s
}
.elementor-widget-hover-effects .effect-six:hover .social-icon-2 {
  opacity: 1;
  transition-delay: .4s;
  transition-duration: .5s
}
.elementor-widget-hover-effects .effect-six:hover .social-icon-3 {
  opacity: 1;
  transition-delay: .5s;
  transition-duration: .5s
}
.elementor-widget-hover-effects .effect-six .icons-block i {
  padding-left: var(--sp-10)
}
.elementor-widget-hover-effects .effect-six p {
  max-width: 100%;
  padding: 0 var(--sp-10);
  margin: var(--sp-32);
  text-align: right;
  line-height: 1.1;
  position: absolute;
  bottom: 0;
  right: 0;
  border-right: 3px solid rgb(var(--color-background));
  opacity: 0;
  transition: all .35s
}
.elementor-widget-hover-effects .effect-six:hover p {
  opacity: 1
}
.elementor-widget-hover-effects .effect-six .tab-text:before {
  background-color: rgba(var(--color-background), 0.4);
  transform: scale3d(1.9, 1.4, 1) rotate3d(0, 0, 1, 45deg) translate3d(0, -101%, 0);
  transition: all .6s;
  height: 100%;
  left: 0;
  top: 0;
  position: absolute;
  width: 100%;
  content: ""
}
.elementor-widget-hover-effects .effect-six:hover .tab-text:before {
  transform: scale3d(1.9, 1.4, 1) rotate3d(0, 0, 1, 45deg) translate3d(0, 101%, 0)
}
.elementor-widget-hover-effects .effect-seven img {
  transition: all .35s;
  transform: translate3d(0, 0, 0) scale(1)
}
.elementor-widget-hover-effects .effect-seven:hover img {
  opacity: .6;
  transform: translate3d(-50px, 0, 0) scale(1.1) rotate(3deg)
}
.elementor-widget-hover-effects .effect-seven h2 {
  padding-top: 20%;
  transform: scale3d(.8, .8, 1);
  transition: all .35s
}
.elementor-widget-hover-effects .effect-seven .col8-head {
  padding-top: 9%
}
.elementor-widget-hover-effects .effect-seven:hover h2 {
  transform: scale3d(1, 1, 1)
}
.elementor-widget-hover-effects .effect-seven p {
  padding: var(--sp-10) var(--sp-6);
  transform: scale3d(.8, .8, 1);
  opacity: 0;
  transition: all .35s
}
.elementor-widget-hover-effects .effect-seven:hover p {
  transform: scale3d(1, 1, 1);
  opacity: 1
}
.elementor-widget-hover-effects .effect-seven .tab-text:after {
  border-top: var(--border);
  border-bottom: var(--border);
  transform: rotate3d(0, 0, 1, 45deg) scale3d(1, 0, 1);
  opacity: 0;
  transition: all .35s;
  height: 100%;
  left: 0;
  top: 0;
  position: absolute;
  width: 100%;
  content: ""
}
.elementor-widget-hover-effects .effect-seven:hover .tab-text:after {
  transform: rotate3d(0, 0, 1, 45deg) scale3d(1, 1, 1);
  opacity: 1
}
.elementor-widget-hover-effects .effect-seven .icons-block {
  z-index: 1000;
  position: absolute;
  bottom: 25px;
  width: 100%;
  left: 0;
  text-align: left;
  padding-left: var(--sp-16)
}
.elementor-widget-hover-effects .effect-seven .c4 {
  right: 0;
  text-align: right;
  padding-right: var(--sp-16)
}
.elementor-widget-hover-effects .effect-seven .c3 {
  bottom: 50%;
  margin-bottom: -40px;
  left: 23%
}
.elementor-widget-hover-effects .effect-seven .icons-block .social-icon-1, .elementor-widget-hover-effects .effect-seven .icons-block .social-icon-2, .elementor-widget-hover-effects .effect-seven .icons-block .social-icon-3 {
  transition: all .5s ease-in-out;
  opacity: 0
}
.elementor-widget-hover-effects .effect-seven:hover .social-icon-1 {
  opacity: 1;
  transition-delay: .3s;
  transition-duration: .5s
}
.elementor-widget-hover-effects .effect-seven:hover .social-icon-2 {
  opacity: 1;
  transition-delay: .4s;
  transition-duration: .5s
}
.elementor-widget-hover-effects .effect-seven:hover .social-icon-3 {
  opacity: 1;
  transition-delay: .5s;
  transition-duration: .5s
}
.elementor-widget-hover-effects .effect-seven .icons-block i {
  padding-left: var(--sp-10)
}
.elementor-widget-hover-effects .effect-eight img {
  transition: all .3s ease-in-out;
  transform: translate3d(0, 0, 0) scale(1, 1)
}
.elementor-widget-hover-effects .effect-eight:hover img {
  opacity: .6;
  transform: translate3d(-20px, 0, 0) scale(1.1, 1.1)
}
.elementor-widget-hover-effects .effect-eight .tab-text h2 {
  transform: scale3d(.9, .9, 1);
  transition: all .5s ease-in-out
}
.elementor-widget-hover-effects .effect-eight .col8-head {
  padding-top: 9%
}
.elementor-widget-hover-effects .effect-eight:hover h2 {
  transform: scale3d(1.1, 1.1, 1)
}
.elementor-widget-hover-effects .effect-eight p {
  padding: var(--sp-10) var(--sp-6);
  transform: scale3d(.8, .8, 1);
  opacity: 0;
  transition: all .35s
}
.elementor-widget-hover-effects .effect-eight:hover p {
  transform: scale3d(1, 1, 1);
  opacity: 1
}
.elementor-widget-hover-effects .effect-eight .tab-text:after {
  content: "";
  position: absolute;
  left: -230px;
  top: 0;
  border-top: 208px solid rgba(var(--color-foreground), 0.3);
  border-left: 140px solid rgba(var(--color-accent-rgb), 0.6);
  border-bottom: 188px solid rgb(var(--color-background));
  border-right: 160px solid rgb(var(--color-background));
  transition: all .4s ease-in-out
}
.elementor-widget-hover-effects .effect-eight:hover .tab-text:after {
  transform: rotate3d(0, 0, 1, 52deg) scale3d(1, 1, 1);
  opacity: 1;
  top: 103px;
  left: -378px;
  border-top: 325px solid rgba(var(--color-accent-rgb), 0.8);
  border-left: 422px solid rgba(var(--color-accent-rgb), 0.8);
  border-bottom: 218px solid rgb(var(--color-background));
  border-right: 160px solid rgb(var(--color-background))
}
.elementor-widget-hover-effects .effect-eight .icons-block {
  z-index: 1000;
  position: absolute;
  bottom: 15px;
  width: 100%;
  left: 0;
  text-align: left;
  padding-left: var(--sp-6)
}
.elementor-widget-hover-effects .effect-eight .icons-block .social-icon-1, .elementor-widget-hover-effects .effect-eight .icons-block .social-icon-2, .elementor-widget-hover-effects .effect-eight .icons-block .social-icon-3 {
  transition: all .5s ease-in-out;
  opacity: 0
}
.elementor-widget-hover-effects .effect-eight:hover .social-icon-1 {
  opacity: 1;
  transition-delay: .3s;
  transition-duration: .5s
}
.elementor-widget-hover-effects .effect-eight:hover .social-icon-2 {
  opacity: 1;
  transition-delay: .4s;
  transition-duration: .5s
}
.elementor-widget-hover-effects .effect-eight:hover .social-icon-3 {
  opacity: 1;
  transition-delay: .5s;
  transition-duration: .5s
}
.elementor-widget-hover-effects .effect-eight .icons-block i {
  padding-left: var(--sp-10)
}
.elementor-widget-hover-effects .effect-nine img {
  transition: all .3s ease-in-out;
  transform: translate3d(0, 0, 0) scale(1, 1)
}
.elementor-widget-hover-effects .effect-nine:hover img {
  opacity: .6;
  transform: translate3d(-20px, 0, 0) scale(1.1, 1.1)
}
.elementor-widget-hover-effects .effect-nine .tab-text h2 {
  transform: scale3d(.9, .9, 1);
  transition: all .5s ease-in-out;
  z-index: 2;
  position: relative;
  padding-top: 18%
}
.elementor-widget-hover-effects .effect-nine:hover h2 {
  transform: scale3d(1, 1, 1)
}
.elementor-widget-hover-effects .effect-nine p {
  padding: var(--sp-10) var(--sp-6);
  transform: scale3d(.8, .8, 1);
  opacity: 0;
  transition: all .35s;
  z-index: 2;
  position: relative
}
.elementor-widget-hover-effects .effect-nine:hover p {
  transform: scale3d(1, 1, 1);
  opacity: 1
}
.elementor-widget-hover-effects .effect-nine .tab-text:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: calc(100% - 0px);
  height: inherit;
  border-top: 10px solid rgb(var(--color-background));
  border-left: 10px solid rgb(var(--color-background));
  border-bottom: 10px solid rgb(var(--color-background));
  border-right: 10px solid rgb(var(--color-background));
  transition: all .4s ease-in-out
}
.elementor-widget-hover-effects .effect-nine:hover .tab-text:after {
  opacity: 1;
  top: 0;
  left: 0;
  border-top: 135px solid rgba(var(--color-foreground), 0.5);
  border-left: 135px solid rgba(var(--color-foreground), 0.5);
  border-bottom: 135px solid rgba(var(--color-foreground), 0.5);
  border-right: 135px solid rgba(var(--color-foreground), 0.5)
}
.elementor-widget-hover-effects .effect-nine .icons-block {
  z-index: 1000;
  position: absolute;
  top: 10px;
  width: 100%;
  left: 0;
  text-align: left;
  padding-left: var(--sp-16);
  padding-top: var(--sp-10)
}
.elementor-widget-hover-effects .effect-nine .icons-block .social-icon-1, .elementor-widget-hover-effects .effect-nine .icons-block .social-icon-2, .elementor-widget-hover-effects .effect-nine .icons-block .social-icon-3 {
  transition: all .5s ease-in-out;
  opacity: 0
}
.elementor-widget-hover-effects .effect-nine:hover .social-icon-1 {
  opacity: 1;
  transition-delay: .3s;
  transition-duration: .5s
}
.elementor-widget-hover-effects .effect-nine:hover .social-icon-2 {
  opacity: 1;
  transition-delay: .4s;
  transition-duration: .5s
}
.elementor-widget-hover-effects .effect-nine:hover .social-icon-3 {
  opacity: 1;
  transition-delay: .5s;
  transition-duration: .5s
}
.elementor-widget-hover-effects .effect-nine .icons-block i {
  padding-left: var(--sp-8)
}
.elementor-widget-hover-effects .effect-ten img {
  transition: all .35s;
  transform: translate3d(-20px, 0, 0) scale(1.1, 1.1)
}
.elementor-widget-hover-effects .effect-ten:hover img {
  opacity: .85;
  transform: translate3d(0, 0, 0) scale(1, 1)
}
.elementor-widget-hover-effects .effect-ten h2 {
  transform: translate3d(0, 5px, 0);
  transition: all .35s;
  z-index: 2;
  position: relative;
  padding-top: 10%
}
.elementor-widget-hover-effects .effect-ten:hover h2 {
  transform: translate3d(0, 0, 0)
}
.elementor-widget-hover-effects .effect-ten p {
  line-height: 1.1;
  padding-top: var(--sp-6);
  transform: translate3d(0, 10px, 0);
  transition: all .35s
}
.elementor-widget-hover-effects .effect-ten:hover p {
  transform: translate3d(0, 0, 0)
}
.elementor-widget-hover-effects .effect-ten .tab-text {
  transform-style: preserve-3d;
  perspective: 300px
}
.elementor-widget-hover-effects .effect-ten .tab-text:after {
  content: "";
  width: 180%;
  height: 180%;
  background: linear-gradient(-45deg, rgb(var(--color-background)) 49%, rgba(var(--color-foreground), 0.45) 50%);
  position: absolute;
  top: 0;
  left: 0;
  transition: all .4s linear
}
.elementor-widget-hover-effects .effect-ten .tab-text:before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 60px;
  height: 60px;
  background: linear-gradient(-45deg, rgb(var(--color-background)) 49%, rgba(var(--color-foreground), 0.45) 50%, rgba(var(--color-background), 0.65) 65%);
  transform: rotate3d(-1, 1, 0, 20deg);
  transform-origin: 50% 50%;
  transition: width .2s linear .2s, height .2s linear .2s, bottom .2s linear 0s, right .2s linear 0s
}
.elementor-widget-hover-effects .effect-ten:hover .tab-text:after {
  top: -80%;
  left: -80%;
  background: linear-gradient(-45deg, rgb(var(--color-background)) 49%, rgba(var(--color-foreground), 0.45) 60%)
}
.elementor-widget-hover-effects .effect-ten:hover .tab-text:before {
  width: 100%;
  height: 100%;
  bottom: 50%;
  right: 50%;
  transition: width .2s linear 0s, height .2s linear 0s, bottom .2s linear .2s, right .2s linear .2s
}
.elementor-widget-hover-effects .effect-ten .icons-block {
  z-index: 1000;
  position: absolute;
  top: 10px;
  width: 100%;
  left: 0;
  text-align: left;
  padding-left: var(--sp-16);
  padding-top: var(--sp-10)
}
.elementor-widget-hover-effects .effect-ten .icons-block .social-icon-1, .elementor-widget-hover-effects .effect-ten .icons-block .social-icon-2, .elementor-widget-hover-effects .effect-ten .icons-block .social-icon-3 {
  transition: all .5s ease-in-out;
  opacity: 0
}
.elementor-widget-hover-effects .effect-ten:hover .social-icon-1 {
  opacity: 1;
  transition-delay: .3s;
  transition-duration: .5s
}
.elementor-widget-hover-effects .effect-ten:hover .social-icon-2 {
  opacity: 1;
  transition-delay: .4s;
  transition-duration: .5s
}
.elementor-widget-hover-effects .effect-ten:hover .social-icon-3 {
  opacity: 1;
  transition-delay: .5s;
  transition-duration: .5s
}
.elementor-widget-hover-effects .effect-ten .icons-block i {
  padding-left: var(--sp-8)
}
.elementor-widget-hover-effects .effect-eleven img {
  transform: translate3d(-10px, 0, 0);
  transition: all .35s
}
.elementor-widget-hover-effects .effect-eleven:hover img {
  opacity: .6;
  transform: translate3d(-30px, 0, 0) scale(1.1, 1.1)
}
.elementor-widget-hover-effects .effect-eleven h2 {
  text-align: left;
  transform: translate3d(-10px, 0, 0);
  transition: all .55s 0s;
  z-index: 2;
  position: relative;
  padding-top: 10%
}
.elementor-widget-hover-effects .effect-eleven:hover h2 {
  transform: translate3d(0, 0, 0)
}
.elementor-widget-hover-effects .effect-eleven p {
  text-align: left;
  line-height: 1.2;
  padding-top: var(--sp-36);
  padding-left: 1px;
  transform: translate3d(15px, 0, 0);
  opacity: 0;
  transition: all .35s 0s;
  z-index: 5;
  position: absolute;
  word-spacing: 3px;
  top: 65px;
  width: calc(100% - 4em)
}
.elementor-widget-hover-effects .effect-eleven:hover p {
  transform: translate3d(0, 0, 0);
  opacity: 1;
  transition-delay: .2s
}
.elementor-widget-hover-effects .effect-eleven .tab-text:before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  border-top: 125px solid rgba(var(--color-background), 0.3);
  border-right: 350px solid rgb(var(--color-background));
  border-bottom: 125px solid rgba(var(--color-background), 0.3);
  transform: translate3d(-100%, 0, 0);
  transition: all .35s
}
.elementor-widget-hover-effects .effect-eleven .tab-text:after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  border-top: 125px solid rgb(var(--color-background));
  border-right: 350px solid rgba(var(--color-background), 0.3);
  border-bottom: 125px solid rgb(var(--color-background));
  transform: translate3d(100%, 0, 0);
  transition: all .35s
}
.elementor-widget-hover-effects .effect-eleven:hover .tab-text:before, .elementor-widget-hover-effects .effect-eleven:hover .tab-text:after {
  transform: translate3d(0, 0, 0)
}
.elementor-widget-hover-effects .effect-eleven .icons-block {
  z-index: 1000;
  position: absolute;
  bottom: 25px;
  width: 100%;
  left: 0;
  text-align: left;
  padding-left: var(--sp-16)
}
.elementor-widget-hover-effects .effect-eleven .icons-block .social-icon-1, .elementor-widget-hover-effects .effect-eleven .icons-block .social-icon-2, .elementor-widget-hover-effects .effect-eleven .icons-block .social-icon-3 {
  transition: all .5s ease-in-out;
  opacity: 0
}
.elementor-widget-hover-effects .effect-eleven:hover .social-icon-1 {
  opacity: 1;
  transition-delay: .3s;
  transition-duration: .5s
}
.elementor-widget-hover-effects .effect-eleven:hover .social-icon-2 {
  opacity: 1;
  transition-delay: .4s;
  transition-duration: .5s
}
.elementor-widget-hover-effects .effect-eleven:hover .social-icon-3 {
  opacity: 1;
  transition-delay: .5s;
  transition-duration: .5s
}
.elementor-widget-hover-effects .effect-eleven .icons-block i {
  padding-left: var(--sp-10)
}
.elementor-widget-hover-effects .effect-twelve .tab-text h2 {
  position: relative;
  padding: .5em 0;
  text-align: left;
  overflow: hidden
}
.elementor-widget-hover-effects .effect-twelve h2:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: rgb(var(--color-background));
  transform: translate3d(-100%, 0, 0);
  transition: all .35s
}
.elementor-widget-hover-effects .effect-twelve:hover h2:after {
  transform: translate3d(0, 0, 0)
}
.elementor-widget-hover-effects .effect-twelve .tab-text p {
  padding: .7em 0;
  text-align: left;
  line-height: 1.1;
  transform: translate3d(100%, 0, 0);
  opacity: 0;
  transition: all .35s
}
.elementor-widget-hover-effects .effect-twelve:hover p {
  transform: translate3d(0, 0, 0);
  opacity: 1
}
.elementor-widget-hover-effects .effect-twelve img {
  max-width: none;
  opacity: 1;
  transform: translate3d(-10px, 0, 0);
  transition: all .35s
}
.elementor-widget-hover-effects .effect-twelve:hover img {
  transform: translate3d(0, 0, 0);
  opacity: .4
}
.elementor-widget-hover-effects .effect-twelve .icons-block {
  z-index: 1000;
  position: absolute;
  bottom: 25px;
  width: 100%;
  left: 0;
  text-align: left;
  padding-left: var(--sp-16)
}
.elementor-widget-hover-effects .effect-twelve .icons-block .social-icon-1, .elementor-widget-hover-effects .effect-twelve .icons-block .social-icon-2, .elementor-widget-hover-effects .effect-twelve .icons-block .social-icon-3 {
  transition: all .5s ease-in-out;
  opacity: 0
}
.elementor-widget-hover-effects .effect-twelve:hover .social-icon-1 {
  opacity: 1;
  transition-delay: .3s;
  transition-duration: .5s
}
.elementor-widget-hover-effects .effect-twelve:hover .social-icon-2 {
  opacity: 1;
  transition-delay: .4s;
  transition-duration: .5s
}
.elementor-widget-hover-effects .effect-twelve:hover .social-icon-3 {
  opacity: 1;
  transition-delay: .5s;
  transition-duration: .5s
}
.elementor-widget-hover-effects .effect-twelve .icons-block i {
  padding-left: var(--sp-10)
}
@media (max-width:575px) {
  .elementor-widget-hover-effects .effect-two p.description {
    bottom: 5.8em
  }
}
@media (min-width:576px) and (max-width:767px) {
  .elementor-widget-hover-effects .effect-two p.description {
    bottom: 5.8em
  }
}
.collage-container-slideshow h1, .collage-container-slideshow h2, .collage-container-slideshow h3, .collage-container-slideshow h4, .collage-container-slideshow h5, .collage-container-slideshow h6, .collage-container-slideshow .h1, .collage-container-slideshow .h2, .collage-container-slideshow .h3, .collage-container-slideshow .h4, .collage-container-slideshow .h5, .collage-container-slideshow .h6 {
  margin-bottom: 0
}
.grid-wrapper {
  gap: var(--sp-10);
  display: grid
}
.has-border {
  border: var(--border)
}
.has-shadow {
  box-shadow: var(--shadow-sm)
}
@media (max-width:767px) {
  .hide-on-mobile {
    display: none !important
  }
}
@media (min-width:768px) and (max-width:991px) {
  .hide-on-tablet {
    display: none !important
  }
}
@media (min-width:992px) {
  .hide-on-desktop {
    display: none !important
  }
}
.button-with-arrow {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  transition: all 0.3s ease
}
.button-with-arrow.button--primary {
  padding: var(--sp-10) var(--sp-20);
  border-radius: 0px
}
.button-with-arrow.button--secondary {
  padding: var(--sp-10) var(--sp-20);
  border: 1px solid;
  background: rgb(var(--color-background))
}
.button-with-arrow.link {
  background: rgb(var(--color-background));
  padding: 0
}
.arrow-right {
  margin-left: var(--sp-8);
  font-size: 1.2em
}
.themeshawk-instagram-gallery {
  max-width: 100%;
  margin: 0 auto
}
.themeshawk-instagram-grid {
  display: grid;
  gap: var(--sp-10)
}
.themeshawk-instagram-grid.columns-2 {
  grid-template-columns: repeat(2, 1fr)
}
.themeshawk-instagram-grid.columns-3 {
  grid-template-columns: repeat(3, 1fr)
}
.themeshawk-instagram-grid.columns-4 {
  grid-template-columns: repeat(4, 1fr)
}
.themeshawk-instagram-item {
  position: relative;
  overflow: hidden
}
.themeshawk-instagram-image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  transition: transform 0.3s ease
}
.themeshawk-instagram-item:hover .themeshawk-instagram-image {
  transform: scale(1.05)
}
@media (max-width:767px) {
  .themeshawk-instagram-grid {
    grid-template-columns: repeat(2, 1fr)
  }
}
@media (max-width:480px) {
  .themeshawk-instagram-grid {
    grid-template-columns: 1fr
  }
}
.lookbook-image-container {
  overflow: visible
}
.elementor-container .owl-carousel .owl-nav button.owl-prev, .elementor-container .owl-carousel .owl-nav button.owl-next {
  padding-bottom: var(--sp-6) !important
}
.icon-with-text-content > * {
  padding-block: var(--sp-6)
}
.icon-with-text-v2-card {
  padding: 2rem
}
.glide__slides > li {
  flex: 0 0 auto;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden
}
.glide__slides > li .th-product-card {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden
}
.glide__slides > li .th-product-image img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block
}
.glide__slides {
  white-space: normal !important
}
.icons-block {
  display: flex;
  gap: var(--sp-10);
  align-items: center
}
.tab-text > * {
  margin-bottom: 0
}
.tab-text {
  gap: var(--sp-10);
  display: grid
}
.contact_details .icon {
  height: auto;
  margin-right: var(--sp-10)
}
.custom-heading-wrapper > * {
  padding-block: 0px
}
.th-image-shine figure, .th-image-shine .th-image-shine-img {
  position: relative;
  overflow: hidden
}
.th-image-shine figure::before, .th-image-shine .th-image-shine-img::before {
  position: absolute;
  top: 0;
  left: -75%;
  z-index: 2;
  display: block;
  content: '';
  width: 50%;
  height: 100%;
  background: -webkit-linear-gradient(left, rgb(var(--color-background)) 0%, rgba(var(--color-background), 0.3) 100%);
  background: linear-gradient(to right, rgb(var(--color-background)) 0%, rgba(var(--color-background), 0.3) 100%);
  -webkit-transform: skewX(-25deg);
  transform: skewX(-25deg)
}
.th-image-shine figure:hover::before, .th-image-shine .th-image-shine-img:hover::before {
  -webkit-animation: shine .75s;
  animation: shine .75s
}
@-webkit-keyframes shine {
  100% {
    left: 125%
  }
}
.th-image-shine-circle figure {
  position: relative
}
.th-image-shine-circle figure::before {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  display: block;
  content: '';
  width: 0;
  height: 0;
  background: rgba(var(--color-background), 0.2);
  border-radius: 100%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  opacity: 0
}
.th-image-shine-circle figure:hover::before {
  -webkit-animation: circle .75s;
  animation: circle .75s
}
@-webkit-keyframes circle {
  0% {
    opacity: 1
  }
  40% {
    opacity: 1
  }
  100% {
    width: 200%;
    height: 200%;
    opacity: 0
  }
}
@keyframes circle {
  0% {
    opacity: 1
  }
  40% {
    opacity: 1
  }
  100% {
    width: 200%;
    height: 200%;
    opacity: 0
  }
}
.caption-container {
  width: 300px;
  height: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  position: relative
}
.rotating-caption {
  display: inline-block;
  font-size: 24px;
  font-weight: 700;
  animation: rotateText 5s linear infinite
}
@keyframes rotateText {
  0% {
    transform: rotate(0deg)
  }
  100% {
    transform: rotate(360deg)
  }
}
.th-iwt-card {
  border-top-right-radius: 10px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  box-shadow: var(--shadow-lg);
  transition: all 0.3s ease-out;
  text-decoration: none;
  padding: var(--sp-20)
}
.th-iwt-card:hover .overlay {
  transform: scale(4) translateZ(0);
  height: 100%
}
.th-iwt-card:hover .circle {
  border-color: var(--bg-color-light);
  background: var(--bg-color)
}
.th-iwt-card:hover .circle:after {
  background: var(--bg-color-light)
}
.th-iwt-card:hover p {
  color: var(--text-color-hover);
  fill: var(--text-color-hover)
}
.th-iwt-card svg {
  color: var(--iwt-icon-color);
  fill: var(--iwt-icon-color)
}
.th-iwt-card:hover svg {
  color: var(--iwt-icon-color-hover);
  fill: var(--iwt-icon-color-hover)
}
.th-iwt-card:active {
  transform: scale(1) translateZ(0);
  box-shadow: 0 15px 24px rgba(var(--color-foreground), 0.11), 0 15px 24px var(--box-shadow-color)
}
.th-iwt-card p {
  margin-top: var(--sp-32);
  z-index: 1000;
  transition: color 0s ease-out
}
.circle {
  min-width: 130px;
  min-height: 130px;
  border-radius: 50%;
  background: rgb(var(--color-background));
  border: 2px solid var(--bg-color);
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
  transition: all 0.3s ease-out
}
.circle:after {
  content: "";
  min-width: 118px;
  min-height: 118px;
  display: block;
  position: absolute;
  background: var(--bg-color);
  border-radius: 50%;
  top: 4px;
  left: 4px;
  transition: opacity 0.3s ease-out
}
.circle svg, .circle i {
  z-index: 10000;
  transform: translateZ(0)
}
.overlay {
  min-width: 130px;
  position: absolute;
  min-height: 130px;
  border-radius: 50%;
  background: var(--bg-color);
  top: 20px;
  z-index: -1;
  transition: transform 0.3s ease-out
}
.th-testimonial-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%
}
.th-testimonial-quote-icon {
  margin-bottom: var(--sp-10);
  border-radius: 50%
}
.th-testimonial-heading {
  margin-bottom: var(--sp-36);
  margin-top: 0
}
.th-testimonial-slider-image-pagination .swiper-pagination-bullet {
  width: 100px;
  height: 100px;
  background-size: cover;
  margin: 0 var(--sp-16) !important;
  transition: .3s;
  filter: grayscale(1);
  border-radius: 50%;
  opacity: 1
}
.th-testimonial-slider-image-pagination .swiper-pagination-bullet-active {
  filter: grayscale(0);
  transform: scale(1.2);
  opacity: 1
}
.testimonial--slider-v2 .slider-row .swiper-pagination {
  bottom: 0;
  margin-top: var(--sp-36);
  position: relative
}
@media only screen and (max-width:480px) {
  .slider-row .swiper {
    width: 100%;
    max-width: 100%
  }
  .th-testimonial-slider-image-pagination .swiper-pagination-bullet {
    width: 70px;
    height: 70px
  }
  .th-testimonial-heading {
    margin-bottom: var(--sp-16)
  }
  .testimonial--slider-v2 .slider-row .swiper-pagination {
    margin-top: var(--sp-16)
  }
}
.th-member-card {
  max-width: 30rem;
  max-height: 38rem;
  width: 100%;
  height: 100vh;
  border-radius: 0px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative
}
.th-member-card--1:hover .th-member-team {
  border: 1px solid var(--member-card-border-color)
}
.th-member-card--1:hover .th-member-team__icons {
  opacity: 1
}
.th-member-card--1:hover .th-member-team__title {
  opacity: 1
}
.th-member-team {
  width: 95%;
  max-height: 36rem;
  height: 95%;
  background: rgb(var(--color-background));
  border-radius: 0px;
  transition: border 0.5s ease-in-out;
  position: relative
}
.th-member-team__title {
  margin: 0;
  opacity: 0;
  transition: opacity 0.5s;
  top: 20%;
  position: absolute;
  z-index: 2;
  align-items: center;
  justify-content: center;
  display: flex;
  width: 100%
}
.th-member-team__icons {
  position: absolute;
  bottom: 20%;
  left: 10%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  opacity: 0;
  transition: opacity 0.5s
}
.th-rotate {
  animation: rotation 8s infinite linear
}
.th-rotate-reverse {
  animation: rotation-reverse 8s infinite linear
}
@keyframes rotation {
  from {
    transform: rotate(0deg)
  }
  to {
    transform: rotate(359deg)
  }
}
@keyframes rotation-reverse {
  from {
    transform: rotate(359deg)
  }
  to {
    transform: rotate(0deg)
  }
}
.th-rotate-circle-wrapper {
  position: relative;
  border-radius: 100vmax;
  display: flex;
  align-items: center;
  justify-content: center
}
.th-rotate-logo {
  position: absolute;
  background-size: cover;
  border-radius: 100vmax;
  background-position: center
}
.th-rotate-text {
  position: absolute;
  width: 100%;
  height: 100%
}
.th-rotate-text-dir {
  animation: textRotation 8s linear infinite
}
.th-rotate-text-dir-reverse {
  animation: textRotationReverse 8s linear infinite
}
@keyframes textRotation {
  to {
    transform: rotate(360deg)
  }
}
@keyframes textRotationReverse {
  from {
    transform: rotate(360deg)
  }
}
.th-rotate-text span {
  position: absolute;
  left: 50%;
  transform-origin: 0 100px
}
.th-section-inner.dflex {
  display: flex
}
.th-section-inner ul.dflex {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0
}
.th-section-inner ul li {
  display: inline-block;
  height: 60vh;
  cursor: pointer;
  transition: all 0.5s ease-out;
  width: 15%
}
.th-section-inner ul li img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%
}
.th-section-inner ul li:nth-child(3) {
  width: 55%
}
.th-section-inner ul li:hover {
  width: 55%;
  transition: all 0.5s ease-out
}
.th-section-inner ul li:hover ~ li {
  width: 15%
}
.th-creative-text {
  position: relative;
  text-transform: uppercase;
  -webkit-text-stroke: .3vw
}
.th-creative-text::before {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-text-stroke: 0vw;
  border-right: 2px solid;
  overflow: hidden;
  animation: animate_creative_text 6s linear infinite
}
@keyframes animate_creative_text {
  0%, 10%, 100% {
    width: 0
  }
  70%, 90% {
    width: 100%
  }
}
.btnRipple {
  position: absolute;
  top: 65%;
  left: 6%;
  margin: 0;
  padding: 0;
  list-style: none;
  width: 65px;
  height: 65px;
  background: rgba(var(--color-accent-rgb), 0.4);
  text-align: center;
  border-radius: 50%;
  -webkit-animation: ripple-white 1s linear infinite;
  animation: ripple-white 1s linear infinite;
  line-height: 40px
}
@-webkit-keyframes ripple-white {
  0% {
    -webkit-box-shadow: 0 0 0 0 rgba(var(--color-accent-rgb), 0.1), 0 0 0 20px rgba(var(--color-accent-rgb), 0.1), 0 0 0 40px rgba(var(--color-accent-rgb), 0.1);
    box-shadow: 0 0 0 0 rgba(var(--color-accent-rgb), 0.1), 0 0 0 20px rgba(var(--color-accent-rgb), 0.1), 0 0 0 40px rgba(var(--color-accent-rgb), 0.1)
  }
  100% {
    -webkit-box-shadow: 0 0 0 20px rgba(var(--color-accent-rgb), 0.1), 0 0 0 40px rgba(var(--color-accent-rgb), 0.1), 0 0 0 60px rgb(var(--color-background));
    box-shadow: 0 0 0 20px rgba(var(--color-accent-rgb), 0.1), 0 0 0 40px rgba(var(--color-accent-rgb), 0.1), 0 0 0 60px rgb(var(--color-background))
  }
}
@keyframes ripple-white {
  0% {
    -webkit-box-shadow: 0 0 0 0 rgba(var(--color-accent-rgb), 0.1), 0 0 0 20px rgba(var(--color-accent-rgb), 0.1), 0 0 0 40px rgba(var(--color-accent-rgb), 0.1);
    box-shadow: 0 0 0 0 rgba(var(--color-accent-rgb), 0.1), 0 0 0 20px rgba(var(--color-accent-rgb), 0.1), 0 0 0 40px rgba(var(--color-accent-rgb), 0.1)
  }
  100% {
    -webkit-box-shadow: 0 0 0 20px rgba(var(--color-accent-rgb), 0.1), 0 0 0 40px rgba(var(--color-accent-rgb), 0.1), 0 0 0 60px rgb(var(--color-background));
    box-shadow: 0 0 0 20px rgba(var(--color-accent-rgb), 0.1), 0 0 0 40px rgba(var(--color-accent-rgb), 0.1), 0 0 0 60px rgb(var(--color-background))
  }
}
@-webkit-keyframes pulse1 {
  0% {
    -webkit-box-shadow: 0 0 0 0 rgba(var(--color-accent-rgb), 0.4);
    box-shadow: 0 0 0 0 rgba(var(--color-accent-rgb), 0.4)
  }
  70% {
    -webkit-box-shadow: 0 0 0 10px rgba(var(--color-accent-rgb), 0.2);
    box-shadow: 0 0 0 10px rgba(var(--color-accent-rgb), 0.2)
  }
  100% {
    -webkit-box-shadow: 0 0 0 0 rgba(var(--color-accent-rgb), 0.1);
    box-shadow: 0 0 0 0 rgba(var(--color-accent-rgb), 0.1)
  }
}
@keyframes pulse1 {
  0% {
    -webkit-box-shadow: 0 0 0 0 rgba(var(--color-accent-rgb), 0.4);
    box-shadow: 0 0 0 0 rgba(var(--color-accent-rgb), 0.4)
  }
  70% {
    -webkit-box-shadow: 0 0 0 10px rgba(var(--color-accent-rgb), 0.2);
    box-shadow: 0 0 0 10px rgba(var(--color-accent-rgb), 0.2)
  }
  100% {
    -webkit-box-shadow: 0 0 0 0 rgba(var(--color-accent-rgb), 0.1);
    box-shadow: 0 0 0 0 rgba(var(--color-accent-rgb), 0.1)
  }
}
.th-scroll-gsap-title-fill {
  position: relative;
  display: block;
  width: 100%;
  padding: clamp(var(--sp-10), 2.6vh, var(--sp-24)) 0;
  font-size: clamp(24px, 7.5vw, 96px);
  color: var(--muted);
  background-image: linear-gradient(90deg, var(--ink), var(--ink)), linear-gradient(120deg, transparent 0%, rgba(var(--color-background), 0.45) 50%, transparent 100%);
  background-repeat: no-repeat, no-repeat;
  background-size: 0% 100%, 35% 100%;
  background-position: 0 0, -150% 0;
  -webkit-background-clip: text;
  background-clip: text;
  transition: background-size 0.4s cubic-bezier(.2, .6, .3, 1)
}
.th-scroll-gsap-title-wrapper:hover .th-scroll-gsap-title-fill::after, .th-scroll-gsap-title-wrapper:focus-within .th-scroll-gsap-title-fill::after {
  transform: scaleX(1)
}
@keyframes sheen-move {
  0% {
    background-position: 0 0, -150% 0
  }
  100% {
    background-position: 0 0, 150% 0
  }
}
.th-scroll-gsap-title-wrapper:hover .th-scroll-gsap-title-fill, .th-scroll-gsap-title-wrapper:focus-within .th-scroll-gsap-title-fill {
  animation: sheen-move 950ms ease
}
.no-js .th-scroll-gsap-title-fill {
  background-size: 100% 100%, 35% 100%
}
@media (prefers-reduced-motion:reduce) {
  .th-scroll-gsap-title-fill::after, .th-scroll-gsap-title-wrapper, .th-scroll-gsap-title-fill {
    transition: none;
    animation: none
  }
}
.th-gradient-text-animate {
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgb(var(--color-background));
  background-size: 300% auto;
  animation: gradientShine 10s linear infinite
}
.gradient-1 {
  background-image: linear-gradient(90deg, var(--color-accent), var(--color-secondary), var(--color-danger), var(--color-warning), var(--color-accent))
}
.gradient-2 {
  background-image: linear-gradient(90deg, var(--color-accent), var(--color-secondary), var(--color-accent))
}
.gradient-3 {
  background-image: linear-gradient(90deg, var(--color-accent), var(--color-secondary), var(--color-danger), var(--color-accent))
}
.gradient-4 {
  background-image: linear-gradient(90deg, var(--color-success), var(--color-accent), var(--color-success))
}
.gradient-5 {
  background-image: linear-gradient(90deg, var(--color-secondary), var(--color-accent), var(--color-accent), var(--color-secondary))
}
@keyframes gradientShine {
  to {
    background-position: 300% center
  }
}
@keyframes scroll-bob {
  0%, 100% {
    transform: translateY(0)
  }
  50% {
    transform: translateY(10px)
  }
}
.th-service-card::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  z-index: -1;
  transition: 0.4s;
  border-radius: 0px;
  background-color: var(--color-background);
  -webkit-mask-image: url(mask.png);
  -webkit-mask-size: cover;
  -webkit-mask-position: bottom right;
  -webkit-mask-repeat: no-repeat
}
section.th-vertical-scroll-hero, .th-content-vertical-scroll {
  width: 100%;
  height: 100svh;
  overflow: hidden
}
.th-vertical-scroll-images {
  position: absolute;
  width: 100%;
  height: 100%;
  img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: var(--index);
    will-change: mask-image
  }
}
.th-content-vertical-scroll {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  z-index: 10;
  color: rgb(var(--color-background));
  font-size: 20px
}
.th-content-vertical-scroll .th-vertical-scroll-top, .th-content-vertical-scroll .th-vertical-scroll-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--sp-20)
}
.th-content-vertical-scroll .th-vertical-scroll-center {
  width: 100%;
  max-width: clamp(300px, 80vw, 1000px);
  margin: auto;
  display: flex;
  flex-direction: column;
  gap: var(--sp-96)
}
.th-content-vertical-scroll .th-vertical-scroll-center .title-center {
  text-align: center;
  font-size: clamp(30px, 8vw, 100px)
}
.th-content-vertical-scroll .th-vertical-scroll-center .title-bottom {
  text-align: right
}
.th-smooth-scrolling-text {
  overflow: hidden;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center
}
.th-smooth-scrolling-text .rail {
  display: flex
}
.th-smooth-scrolling-text .rail .rail-text {
  white-space: nowrap;
  margin: 0 var(--sp-32) 0 0
}
.th-smooth-scrolling-text .rail-text {
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgb(var(--color-background));
  background-clip: text
}
.th-project-widget .project-item {
  position: relative;
  cursor: pointer;
  transition: all 0.3s ease
}
.th-project-widget .project-image {
  position: fixed;
  width: 100%;
  height: 100%;
  max-width: 1000px;
  max-height: 1000px;
  opacity: 0;
  transform: scale(.8);
  transition: all 0.3s cubic-bezier(.34, 1.56, .64, 1);
  z-index: 1000;
  pointer-events: none;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  top: 0
}
.th-project-widget .project-item:hover .project-image {
  opacity: 1;
  transform: scale(1.2)
}
@media (max-width:768px) {
  .th-project-widget .project-image {
    width: 100%;
    height: 100%;
    max-width: 300px;
    max-height: 300px
  }
}
.th-member-card {
  mask-image: url(../images/mask1.png);
  -webkit-mask-image: url(../images/mask1.png);
  mask-size: cover;
  -webkit-mask-size: cover;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
  background: linear-gradient(135deg, var(--color-accent), var(--color-secondary));
  background-size: cover;
  box-shadow: var(--shadow-xl);
  transition: transform 0.4s ease, box-shadow 0.4s ease
}
.th-gradient-background-element::after {
  content: "";
  position: absolute;
  z-index: -1
}
.th-animated-marquee-sec {
  overflow: hidden
}
.th-animated-marquee-wrapper {
  width: 100%
}
.th-animated-marquee-slider-wrapper {
  will-change: transform;
  display: flex;
  position: relative;
  width: 100%
}
.th-animated-marquee-slider-innerwrap {
  will-change: transform;
  display: flex;
  position: relative
}
.th-animated-marquee-wrap {
  margin-left: var(--anim-gap);
  width: calc((100vw - (var(--anim-gap) * 5)) / 6);
  flex-shrink: 0;
}
.th-animated-marquee-wrap.th-animated-marquee-wrap-image {
  width: calc((100vw - (var(--anim-gap) * 5)) / 6)
}
.th-animated-marquee-item {
  border: 1px solid;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 100%;
  width: 100%;
  height: 100%
}
.th-animated-marquee-item img {
  width: 100%;
  height: 100%;
  object-fit: contain
}
@media screen and (max-width:1366px) {
  .th-animated-marquee-wrap {
    width: calc((100vw - (var(--anim-gap) * 3)) / 5)
  }
}
@media screen and (max-width:991px) {
  .th-animated-marquee-wrap {
    width: calc((100vw - (var(--anim-gap) * 3)) / 4)
  }
}
@media screen and (max-width:767px) {
  .th-animated-marquee-wrap {
    width: calc((100vw - (var(--anim-gap) * 3)) / 3)
  }
}
@media screen and (max-width:516px) {
  .th-animated-marquee-wrap {
    width: calc((100vw - (var(--anim-gap) * 3)) / 2)
  }
}
.elementor-widget-anti-scroll-sections .scroll-container {
  position: relative;
  z-index: 2;
  height: 300vh
}
.elementor-widget-anti-scroll-sections .sticky-container {
  position: sticky;
  top: 0;
  display: flex;
  overflow: hidden;
  width: 100%;
  height: 100vh
}
.elementor-widget-anti-scroll-sections .left-side-col {
  position: relative;
  height: 100%;
  flex: 1
}
.elementor-widget-anti-scroll-sections .right-side-col {
  position: relative;
  height: 100%;
  flex: 1
}
.elementor-widget-anti-scroll-sections .section-1-r {
  position: relative;
  display: flex;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  justify-content: center;
  align-items: center;
  cursor: pointer
}
.elementor-widget-anti-scroll-sections .section-1-l {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh
}
.elementor-widget-anti-scroll-sections .section-2-l {
  position: relative;
  display: flex;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  justify-content: center;
  align-items: center;
  cursor: pointer
}
.elementor-widget-anti-scroll-sections .section-2-r {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh
}
.elementor-widget-anti-scroll-sections .section-3-l {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh
}
.elementor-widget-anti-scroll-sections .section-3-r {
  position: relative;
  display: flex;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  justify-content: center;
  align-items: center;
  cursor: pointer
}
.elementor-widget-anti-scroll-sections .bg-text {
  position: absolute;
  z-index: 0
}
.elementor-widget-anti-scroll-sections .bottle {
  position: relative;
  z-index: 2
}
.elementor-widget-anti-scroll-sections .content-parent {
  position: absolute;
  left: 0%;
  top: auto;
  right: 0%;
  bottom: 0%;
  width: 100%;
  padding-bottom: var(--sp-64);
  padding-left: var(--sp-64)
}
.elementor-widget-anti-scroll-sections .text-ani {
  width: 30vw
}
.elementor-widget-anti-scroll-sections .bottle-back {
  position: absolute;
  z-index: 1;
  width: 150px
}
.elementor-widget-anti-scroll-sections .bg-img-1, .elementor-widget-anti-scroll-sections .bg-img-2, .elementor-widget-anti-scroll-sections .bg-img-3 {
  width: 100%;
  height: 100%;
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat
}
.elementor-widget-anti-scroll-sections .arrow {
  margin-top: var(--sp-10)
}
.th-animated-button-wrapper {
  display: flex;
  align-items: center;
  justify-content: center
}
.th-animated-button-wrapper .th-animated-button-link {
  text-decoration: none;
  position: relative
}
.th-animated-button-wrapper .th-animated-button-link span, .th-animated-button-wrapper .th-animated-button-link i {
  position: relative
}
.th-animated-button-wrapper .th-animated-button-link i {
  margin-left: .5em
}
.th-animated-button-wrapper .th-animated-button-color {
  width: 2em;
  height: 2em;
  border-radius: 2em;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -.65em
}
.th-elementor-swiper-gsap-slider .th-swiper-slide-gsap {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center
}
.th-elementor-swiper-gsap-slider .swiper-wrapper {
  transition-timing-function: ease-out;
  align-items: flex-start
}
.th-elementor-swiper-gsap-slider .swiper-slide {
  flex-flow: column wrap;
  transition: scale var(--timing) ease-out, opacity var(--timing) ease-out;
  flex-shrink: 0;
  aspect-ratio: 5/4;
  scale: 1;
  display: flex;
  justify-content: center;
  text-align: center;
  opacity: 1
}
.th-elementor-swiper-gsap-slider .swiper-slide > * {
  width: 85%;
  margin-inline: auto
}
.th-elementor-swiper-gsap-slider .swiper-slide-active {
  overflow: visible;
  scale: 1;
  z-index: 99;
  opacity: 1
}
.th-scroll-shrink-section {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 100vh;
  overflow: hidden
}
.th-scroll-shrink-section .media-left {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden
}
.th-scroll-shrink-section .media-left iframe, .th-scroll-shrink-section .media-left video, .th-scroll-shrink-section .media-left img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border: none
}
.th-scroll-shrink-section .video-placeholder {
  width: 100%;
  aspect-ratio: 16/9;
  display: flex;
  align-items: center;
  justify-content: center
}
.th-scroll-shrink-section .content-right {
  position: relative;
  width: 50vw;
  margin-left: calc(50vw + 2vw);
  padding: 2rem;
  z-index: 2;
  opacity: 0;
  transform: translateX(50px)
}
.th-horizontal-scroll-container {
  position: relative;
  overflow: hidden
}
.th-horizontal-scroll-container .scroll-track {
  display: flex;
  gap: var(--gap)
}
.th-horizontal-scroll-container .scroll-card {
  flex: 0 0 45vw
}
.th-horizontal-scroll-container .scroll-card .scroll-image img {
  width: 100%;
  display: block
}
.th-horizontal-scroll-container .scroll-meta {
  margin-top: var(--sp-12);
  padding: 0 var(--sp-20) var(--sp-20) var(--sp-20)
}
.th-horizontal-scroll-container .scroll-category {
  margin-bottom: var(--sp-6)
}
.th-horizontal-scroll-container .scroll-title {
  text-decoration: none
}
@media (max-width:768px) {
  .th-horizontal-scroll-container .scroll-card {
    flex: 0 0 90vw
  }
}
.th-info-box {
  position: relative;
  display: flex;
  flex-direction: column;
  background-size: 300% 300%;
  will-change: background-position;
  mask-composite: unset
}
.th-info-box::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  padding: 1.5px;
  border-radius: inherit;
  background-size: 300% 300%;
  -webkit-mask: linear-gradient(rgb(var(--color-background)) 0 0) content-box, linear-gradient(rgb(var(--color-background)) 0 0);
  mask: linear-gradient(rgb(var(--color-background)) 0 0) content-box, linear-gradient(rgb(var(--color-background)) 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  animation: pulse_gradient 14s linear infinite;
  will-change: background-position
}
@keyframes pulse_gradient {
  0% {
    background-position: 0% 0%
  }
  50% {
    background-position: 100% 100%
  }
  100% {
    background-position: 0% 0%
  }
}
.th-info-box h2 {
  margin-bottom: 0
}
.th-icon-image-wrapper {
  display: flex
}
.th-icon-image-wrapper img, .th-icon-image-wrapper i, .th-icon-image-wrapper svg {
  transition: transform 0.4s ease, color 0.4s ease, fill 0.4s ease, filter 0.4s ease
}
.ehba-box {
  position: relative;
  display: flex
}
.ehba-box .ehba-imgBx, .ehba-box .ehba-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: transform .5s ease-in-out
}
.ehba-box .ehba-imgBx {
  z-index: 2
}
.ehba-box .ehba-content {
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: var(--sp-16)
}
.ehba-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}
.ehba-box h2 {
  margin: 0;
  text-align: center
}
.ehba-box h2 span {
  display: block;
  margin-top: var(--sp-10)
}
.ehba-box:hover .ehba-imgBx {
  transform: translate(0, -35px)
}
.ehba-box:hover .ehba-content {
  transform: translate(0, 35px)
}
@media (min-width:768px) {
  .ehba-box:hover .ehba-imgBx {
    transform: translate(35px, -35px) !important
  }
  .ehba-box:hover .ehba-content {
    transform: translate(-35px, 35px) !important
  }
}
.th-link {
  transition: color .3s ease-in-out;
  display: block
}
.th-img-wrapper {
  overflow: hidden
}
.th-img-placeholder, .th-img-placeholder img {
  height: 100%;
  width: 100%
}
.th-img-placeholder img {
  object-fit: cover;
  display: block
}
.th-nav {
  position: relative
}
.th-list {
  list-style: none;
  padding: 0;
  margin: 0
}
.th-list li {
  margin-bottom: .5rem
}
.th-ripple-1, .th-ripple-2, .th-ripple-3, .th-ripple-4, .th-ripple-5 {
  height: 1px;
  width: 1px;
  position: absolute;
  left: 0;
  border-radius: 50%;
  transform: translate3d(-50%, 50%, 0);
  animation-name: ripple_effect_v2;
  animation-duration: 8s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-out;
  will-change: transform, opacity
}
.th-ripple-1 {
  animation-delay: 0
}
.th-ripple-2 {
  animation-delay: 1s
}
.th-ripple-3 {
  animation-delay: 2s
}
.th-ripple-4 {
  animation-delay: 4s
}
.th-ripple-5 {
  animation-delay: 5s
}
@keyframes ripple_effect_v2 {
  0% {
    transform: translate3d(-50%, 50%, 0) scale(0);
    opacity: .33
  }
  100% {
    transform: translate3d(-50%, 50%, 0) scale(2000);
    opacity: 0
  }
}
.video-play-btn {
  position: relative;
  display: inline-block
}
.ripple {
  position: relative;
  border-radius: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  animation: ripple_btn_anim 1s linear infinite;
  --ripple-color: rgba(var(--color-accent-rgb), 0.3)
}
.play-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  text-align: center;
  font-size: 24px
}
@keyframes ripple_btn_anim {
  0% {
    box-shadow: 0 0 0 0 var(--ripple-color), 0 0 0 10px var(--ripple-color), 0 0 0 30px var(--ripple-color), 0 0 0 60px var(--ripple-color)
  }
  100% {
    box-shadow: 0 0 0 10px var(--ripple-color), 0 0 0 30px var(--ripple-color), 0 0 0 60px var(--ripple-color), 0 0 0 90px rgb(var(--color-background))
  }
}
.vma-wrapper {
  display: inline-block;
  cursor: pointer;
  position: relative
}
.vma-modal {
  display: none;
  position: fixed;
  z-index: 99999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(var(--color-foreground), 0.6);
  justify-content: center;
  align-items: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease
}
.vma-modal.open {
  display: flex;
  opacity: 1;
  pointer-events: auto
}
.vma-modal-content {
  position: relative;
  width: 80%;
  max-width: 1000px;
  background: rgb(var(--color-foreground));
  border-radius: 0px;
  overflow: hidden;
  transform: scale(.8);
  opacity: 0;
  transition: transform 0.4s ease, opacity 0.4s ease
}
.vma-modal.open .vma-modal-content {
  transform: scale(1);
  opacity: 1
}
.vma-video-wrapper {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%
}
.vma-video-wrapper iframe, .vma-video-wrapper video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  border-radius: 0px
}
.vma-close {
  position: absolute;
  top: 10px;
  right: 15px;
  color: rgb(var(--color-background));
  font-size: 32px;
  cursor: pointer;
  z-index: 10;
  transition: color 0.3s ease
}
.vma-close:hover {
  color: rgb(var(--color-foreground))
}
.th-textimonial-3d-testimonial-grid {
  display: grid;
  gap: var(--gap)
}
.th-textimonial-3d-image-container {
  position: relative;
  width: 100%;
  height: auto;
  min-height: 300px
}
.th-textimonial-3d-testimonial-image {
  width: 100%;
  height: 100%
}
.th-textimonial-3d-testimonial-content {
  display: flex;
  flex-direction: column;
  justify-content: center
}
.th-textimonial-3d-arrow-buttons {
  display: flex;
  gap: var(--sp-10);
  padding-top: 2rem
}
.th-textimonial-3d-arrow-button {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  background: rgb(var(--color-background));
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border: none;
  transition: background .3s
}
.th-textimonial-3d-arrow-button:hover {
  background: rgb(var(--color-foreground))
}
.th-textimonial-3d-arrow-button svg {
  width: 1.25rem;
  height: 1.25rem;
  fill: rgb(var(--color-foreground))
}
.th-textimonial-3d-arrow-button:hover svg {
  fill: rgb(var(--color-background))
}
@media (min-width:768px) {
  .th-textimonial-3d-testimonial-grid {
    grid-template-columns: 1fr 1fr
  }
}
.th-testimonial-3d-name {
  margin-bottom: 0
}
.th-testimonial-3d-designation {
  margin-bottom: var(--sp-20)
}
.th-textimonial-3d-testimonial-image {
  position: absolute;
  top: 50%;
  left: 50%;
  object-fit: cover;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  backface-visibility: hidden;
  box-shadow: var(--shadow-xl);
  transition: filter 0.3s ease
}
.th-textimonial-3d-testimonial-image:not(:nth-child(1)) {
  filter: brightness(.9)
}
.th-textimonial-3d-arrow-buttons button {
  height: 30px;
  width: 30px;
  padding: 0
}
.th-dual-text-loop {
  position: relative
}
@keyframes textLoop {
  0% {
    transform: translate3d(0, 0, 0)
  }
  100% {
    transform: translate3d(-100%, 0, 0)
  }
}
.th-dual-text-loop .textLoop2 {
  position: absolute
}
.th-dual-text-loop .textLoop2 ul {
  display: flex;
  white-space: nowrap;
  position: absolute
}
.th-dual-text-loop .textLoop2 ul li {
  list-style: none
}
.th-dual-text-loop .textLoop2 ul.a {
  transform: rotate(var(--rotation-angle))
}
.th-dual-text-loop .textLoop2 ul.b {
  transform: rotate(calc(-1 * var(--rotation-angle)))
}
.th-dual-text-loop .textLoop2 ul.a li {
  animation: textLoop var(--animation-speed) linear infinite
}
.th-dual-text-loop .textLoop2 ul.b li {
  animation: textLoop2 var(--animation-speed) linear infinite
}
@keyframes textLoop2 {
  0% {
    transform: translate3d(-100%, 0, 0)
  }
  100% {
    transform: translate3d(0, 0, 0)
  }
}
:root {
  --cardTopPadding: 1.5em;
  --cardMargin: 4vw
;
  --glass: rgba(var(--color-background), 0.12);
  --glass-2: rgba(var(--color-background), 0.08);
  --stroke: rgba(var(--color-background), 0.18);
  --shadow-strong: 0 24px 80px rgba(var(--color-foreground), 0.45);
  --shadow-soft: 0 10px 30px rgba(var(--color-foreground), 0.25);
  --timing: .5s;
  --color-tab-switcher-accent: var(--color-accent);
  --color-tab-switcher-base: rgba(var(--color-background), 0.07);
  --transition: 0.45s ease-out;
  --glass-bg-dark: rgba(var(--color-background), 0.35);
  --glass-border: rgba(var(--color-background), 0.28);
  --glass-border-dark: rgba(var(--color-background), 0.28);
  --glass-blur-4: 4px;
  --glass-saturate: 120%;
  --glass-contrast: 95%;
  --glass-transition: 240ms cubic-bezier(.2, .9, .2, 1);
  --color-bg: rgb(var(--color-background));
  --color-primary: var(--color-accent);
  --color-primary-600: color-mix(in srgb, var(--color-accent) 82%, rgb(var(--color-foreground)));
  --color-text: rgba(var(--color-foreground), 1);
  --color-inverse-text: rgb(var(--color-background));
  --wp--custom--color--tertiary: rgb(var(--color-background));
  --font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  --font-serif: Georgia, Cambria, "Times New Roman", Times, serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, "Roboto Mono", monospace;
  --base-size: 16px;
  --scale-1: 0.875rem;
  --scale-2: 1rem;
  --scale-3: 1.125rem;
  --scale-4: 1.5rem;
  --scale-5: 2rem;
  --scale-6: 2.5rem;
  --container-width: 1100px;
  --content-gutter: 20px;
  --radius: 10px;
  --shadow-1: 0 6px 18px rgba(var(--color-foreground), 0.06);
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --color-border: var(--color-foreground);
  --border-color: rgba(var(--color-foreground), .1);
  --focused-base-outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
  --focused-base-outline-offset: 0.3rem;
  --focused-base-box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
  --duration-shorter: 0.1s;
  --duration-fast: 0.15s;
  --duration-short: 0.2s;
  --duration-default: 0.3s;
  --duration-medium: 0.4s;
  --duration-long: 0.5s;
  --duration-slow: 0.6s;
  --duration-slower: 0.75s;
  --duration-extra-longer: 0.8s;
  --ease-default: ease;
  --ease-in: ease-in;
  --ease-out: ease-out;
  --ease-in-out: ease-in-out;
  --ease-premium: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-out-slow: cubic-bezier(0, 0, 0.3, 1);
  --transition-default: all var(--duration-default) var(--ease-default);
  --transition-fast: all var(--duration-fast) var(--ease-default);
  --transition-smooth: all var(--duration-default) var(--ease-smooth);
  --transition-premium: all var(--duration-medium) var(--ease-premium);
  --text-xxs: 10px;
  --text-xs: 12px;
  --text-sm: 14px;
  --text-md: 16px;
  --text-lg: 18px;
  --text-xl: 20px;
  --text-xxl: 22px;
  --text-3xl: 22px;
  --text-4xl: 24px;
  --text-5xl: 26px;
  --text-6xl: 28px;
  --text-7xl: 30px;
  --text-8xl: 32px;
  --text-9xl: 36px;
  --color-dark: rgb(var(--color-background));
  --color-light: rgb(var(--color-background));
  --base-transition: all var(--duration-default) ease;
  --scale-zoom-in: scale(0.9);
  --scale-zoom-out: scale(1.2);
  --scale-zoom-fade: scale(0.8);
  --scale-zoom-blur: scale(0.85);
  --scale-pop-bounce: scale(0.8);
  --scale-elastic-zoom: scale(0.7);
  --scale-tilt-zoom: scale(0.9);
  --scale-zoom-slide: scale(0.9);
  --scale-pop-up: scale(0.95);
  --scale-3d-pop: scale(0.85);
  --translate-slide-down: translateY(-15px);
  --translate-slide-up: translateY(15px);
  --translate-slide-left: translateX(20px);
  --translate-slide-right: translateX(-20px);
  --translate-drop-bounce: translateY(-20px);
  --translate-zoom-slide: translateY(-10px);
  --translate-pop-up: translateY(20px);
  --perspective-tilt: perspective(600px);
  --perspective-drop: perspective(800px);
  --rotate-tilt-zoom: rotateX(-10deg);
  --rotate-swing-down: rotateX(-20deg);
  --rotate-perspective-drop: rotateX(-10deg);
  --rotate-3d-pop: rotateX(-5deg);
  --pop-bounce-timing: cubic-bezier(0.34, 1.56, 0.64, 1);
  --drop-bounce-timing: cubic-bezier(0.68, -0.55, 0.27, 1.55);
  --elastic-zoom-timing: cubic-bezier(0.17, 0.67, 0.83, 0.67);
  --ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);
  --primary-color: var(--color-accent);
  --progress-bg: var(--color-line);
  --progress-fill: var(--primary-color);
  --hover-ease: var(--duration-long) cubic-bezier(0.78, 0.01, 0.25, 1);
  --liquid-glass-transparent-from: 0.35;
  --liquid-glass-transparent-to: 0.12;
  --border: var(--bs-border-width) var(--bs-border-style) rgba(var(--color-border), 0.1);
  --product-font-family: "Themeshawk-Body-Font";
  --product-font-size: 16px;
  --product-line-height: 18px;
  --product-letter-spacing: 0px;
  --product-font-style: normal;
  --product-font-weight: 400;
  --color-navigation-menu-background-mobile: ;
  --colors-special-button-text-color: 255, 255, 255;
  --colors-special-button-background-color: rgb(var(--color-foreground));
  --colors-special-button-background-hover-color: var(--color-warning);
  --colors-special-button-active-color: 255, 255, 255;
  --colors-buy-now-button-text-color: 255, 255, 255;
  --colors-buy-now-button-text-hover-color: 255, 255, 255;
  --colors-buy-now-button-background-color: var(--color-warning);
  --colors-buy-now-button-background-hover-color: var(--color-warning);
  --colors_product_price: rgb(var(--color-foreground));
  --color-popup-product-card-text-color: rgb(var(--color-background));
  --color-popup-product-card-text-color-hover: var(--color-danger);
  --swatch_button_radius: 1px;
  --swatch_button_border_width: 1px;
  --pagination_radius: 0px;
  --media-border-opacity: 0.05;
  --media-border-width: 1px;
  --media-radius: 0px;
  --media-shadow-opacity: 0.0;
  --media-shadow-horizontal-offset: 0px;
  --media-shadow-vertical-offset: -4px;
  --media-shadow-blur-radius: 5px;
  --media-shadow-visible: 0;
  --page-width-margin: 0rem;
  --product-card-image-padding: 0.0rem;
  --product-card-corner-radius: 0.0rem;
  --product-card-text-alignment: left;
  --product-card-border-width: 0.0rem;
  --product-card-border-opacity: 0.1;
  --product-card-shadow-opacity: 0.0;
  --product-card-shadow-visible: 0;
  --product-card-shadow-horizontal-offset: 0.0rem;
  --product-card-shadow-vertical-offset: 0.4rem;
  --product-card-shadow-blur-radius: 0.5rem;
  --collection-card-image-padding: 0.0rem;
  --collection-card-corner-radius: 0.0rem;
  --collection-card-text-alignment: left;
  --collection-card-border-width: 0.0rem;
  --collection-card-border-opacity: 0.1;
  --collection-card-shadow-opacity: 0.0;
  --collection-card-shadow-visible: 0;
  --collection-card-shadow-horizontal-offset: 0.0rem;
  --collection-card-shadow-vertical-offset: 0.4rem;
  --collection-card-shadow-blur-radius: 0.5rem;
  --badge-corner-radius: 4.0rem;
  --popup-border-width: 1px;
  --popup-border-opacity: 0.1;
  --popup-corner-radius: 0px;
  --popup-shadow-opacity: 0.0;
  --popup-shadow-horizontal-offset: 0px;
  --popup-shadow-vertical-offset: 4px;
  --popup-shadow-blur-radius: 5px;
  --drawer-border-width: 0px;
  --drawer-border-opacity: 0.0;
  --drawer-shadow-opacity: 0.0;
  --drawer-shadow-horizontal-offset: 0px;
  --drawer-shadow-vertical-offset: 0px;
  --drawer-shadow-blur-radius: 0px;
  --spacing-sections-desktop: 0px;
  --spacing-sections-tablet: 0px;
  --spacing-sections-mobile: 0px;
  --grid-desktop-vertical-spacing: 40px;
  --grid-desktop-horizontal-spacing: 40px;
  --grid-mobile-vertical-spacing: 20px;
  --grid-mobile-horizontal-spacing: 20px;
  --text-boxes-border-opacity: 0.1;
  --text-boxes-border-width: 0px;
  --text-boxes-radius: 0px;
  --text-boxes-shadow-opacity: 1.0;
  --text-boxes-shadow-visible: 1;
  --text-boxes-shadow-horizontal-offset: 38px;
  --text-boxes-shadow-vertical-offset: 4px;
  --text-boxes-shadow-blur-radius: 25px;
  --buttons-radius: 0px;
  --buttons-radius-outset: 0px;
  --buttons-border-width: 1px;
  --buttons-border-opacity: 1.0;
  --buttons-shadow-opacity: 0.0;
  --buttons-shadow-visible: 0;
  --buttons-shadow-horizontal-offset: 0px;
  --buttons-shadow-vertical-offset: 4px;
  --buttons-shadow-blur-radius: 5px;
  --buttons-border-offset: 0px;
  --inputs-radius: 4px;
  --inputs-border-width: 1px;
  --inputs-border-opacity: 0.55;
  --inputs-shadow-opacity: 0.0;
  --inputs-shadow-horizontal-offset: 0px;
  --inputs-margin-offset: 0px;
  --inputs-shadow-vertical-offset: 4px;
  --inputs-shadow-blur-radius: 5px;
  --inputs-radius-outset: 5px;
  --variant-pills-radius: 40px;
  --variant-pills-border-width: 1px;
  --variant-pills-border-opacity: 0.55;
  --variant-pills-shadow-opacity: 0.0;
  --variant-pills-shadow-horizontal-offset: 0px;
  --variant-pills-shadow-vertical-offset: 4px;
  --variant-pills-shadow-blur-radius: 5px;
  --border-width: 0px;
  --border-opacity: 10;
  --border-radius: 0px;
  --border-card-width: 1px;
  --border-card-opacity: 5;
  --border-card-radius: 0px;
  --border-card-color: 241, 241, 241;
  --font-body-style: normal;
  --font-body-weight: 400;
  --font-body-family: "Themeshawk-Heading-Font";
  --font-heading-style: normal;
  --font-heading-weight: 500;
  --font-body-scale: 1.0;
  --font-heading-scale: 1.0;
  --body-font-letter-spacing: 0pxpx;
  --font-heading1-size: 30px;
  --font-heading2-size: 26px;
  --font-heading3-size: 20px;
  --font-heading4-size: 20px;
  --font-heading5-size: 18px;
  --font-heading6-size: 16px;
  --font-base-size: 16;
  --font-body-size: 16px;
  --font-body-size-tablet: 14px;
  --font-body-size-mobile: 14px;
  --font-heading-base-size: 16;
  --font-h1-desktop: 30;
  --font-h1-tablet: 34;
  --font-h1-mobile: 24;
  --font-h2-desktop: 26;
  --font-h2-tablet: 24;
  --font-h2-mobile: 18;
  --font-h3-desktop: 20;
  --font-h3-tablet: 20;
  --font-h3-mobile: 18;
  --font-h4-desktop: 20;
  --font-h4-tablet: 18;
  --font-h4-mobile: 16;
  --font-h5-desktop: 18;
  --font-h5-tablet: 16;
  --font-h5-mobile: 16;
  --font-h6-desktop: 16;
  --font-h6-tablet: 16;
  --font-h6-mobile: 16;
  --heading-font-letter-spacing: 0px;
  --icon_size: 20px;
  --icon_size_half: 10px;
  --font-heading-line-height: 1.3;
  --font-body-line-height: 1.5;
  --font-heading-font-weight: 500;
  --font-body-font-weight: 400;
  --alpha-font-opacity: 0.7
}
.th-sticky-cards-wrapper {
  --cards: attr(data-card-count number, 4)
}
#th-sticky-cards {
  list-style: none;
  padding-left: 0;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(var(--th-sticky-cards), var(--cardHeight));
  gap: var(--cardMargin);
  padding-bottom: calc(var(--th-sticky-cards) * var(--cardTopPadding));
  margin-bottom: var(--cardMargin)
}
.th-sticky-cards-wrapper .th-sticky-card {
  position: sticky;
  top: 0;
  padding-top: calc(var(--index) * var(--cardTopPadding))
}
.th-sticky-cards-wrapper .th-sticky-card-body {
  box-sizing: border-box;
  height: var(--cardHeight);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: all .5s;
  text-align: center
}
.th-sticky-cards-wrapper .th-sticky-card-body h2 {
  margin: 0 0 .5em
}
.th-gsap-gallery-section {
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden
}
.th-gsap-gallery-section img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  position: absolute;
  will-change: transform
}
.th-info-box {
  transition: all 0.3s ease;
  row-gap: var(--gap)
}
.th-info-card-v2 {
  width: 100%;
  height: auto;
  display: flex;
  align-items: center
}
.th-info-card-v2 .th-info-card-v2-left {
  display: flex;
  align-items: center
}
.th-info-card-v2 .th-info-card-v2-left .th-left-image-card2, .th-info-card-v2 .th-info-card-v2-left .th-left-card2-title {
  opacity: .2;
  margin-left: -20%;
  width: 80%;
  height: auto;
  text-align: center
}
.th-info-card-v2 .th-info-card-v2-right {
  position: absolute;
  left: -12%;
  transform: translateX(50%);
  align-items: center;
  justify-content: center;
  display: flex
}
.th-info-card-v2 .th-info-card-v2-right .image-card-right {
  position: absolute;
  top: 50%;
  transform: translate(-160%, -50%)
}
.th-ihe-image-box {
  position: relative;
  display: flex;
  overflow: hidden;
  border-radius: 0px
}
.th-ihe-image-box__item {
  display: block;
  width: 100%;
  height: auto;
  transition: 0.5s
}
.th-ihe-image-box__item:nth-child(1) {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translateX(50%) scaleX(2);
  opacity: 0;
  filter: blur(12px)
}
.th-ihe-image-box:hover .th-ihe-image-box__item:nth-child(1), .th-card3-info-box:hover .th-ihe-image-box__item:nth-child(1) {
  transform: translateX(0%) scaleX(1);
  opacity: 1;
  filter: blur(0)
}
.th-ihe-image-box:hover .th-ihe-image-box__item:nth-child(2), .th-card3-info-box:hover .th-ihe-image-box__item:nth-child(2) {
  transform: translateX(-50%) scaleX(2);
  opacity: 0;
  filter: blur(12px)
}
.th-card3-info-box {
  position: relative;
  overflow: hidden
}
.th-info-cards-image-box {
  display: block
}
.th-info-cards-info-box {
  opacity: 0;
  transform: translateY(20px);
  filter: blur(8px);
  transition: all 0.4s ease;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: var(--sp-20);
  background: rgb(var(--color-foreground));
  color: rgb(var(--color-background))
}
.th-card3-info-box:hover .th-info-cards-info-box {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0)
}
@keyframes th-float {
  0% {
    transform: translatey(0)
  }
  50% {
    transform: translatey(-20px)
  }
  100% {
    transform: translatey(0)
  }
}
.th-floating-anim {
  animation: th-float 6s ease-in-out infinite;
  will-change: transform
}
.egbl-blocks {
  display: flex;
  height: 100vh;
  overflow: hidden;
  width: 100%
}
.egbl-block {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  flex: 1 0 100%;
  height: 100%;
  text-align: center;
  position: relative;
  flex-direction: column;
  gap: var(--sp-20)
}
.social-buttons-widget {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center
}
.social-buttons-widget .th-sm-link {
  display: flex;
  box-shadow: 9px 9px 18px rgba(var(--color-foreground), .22), -9px -9px 18px rgb(var(--color-background));
  position: relative;
  overflow: hidden;
  transition: color 0.8s;
  text-align: center;
  align-items: center;
  justify-content: center
}
.social-buttons-widget .th-sm-link .iconify, .social-buttons-widget .th-sm-link svg {
  transition: color 0.8s
}
.social-buttons-widget .th-sm-link::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 0%;
  z-index: -1;
  transition: height 0.8s;
  border-radius: 0 0 50% 50%
}
.social-buttons-widget .th-sm-link:hover::before {
  height: 180%
}
.th-timeline {
  position: relative;
  display: flex;
  flex-direction: column;
  list-style: none;
  padding: var(--sp-20) 0
}
.th-timeline:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px
}
.th-timeline li {
  position: relative;
  width: 50%;
  min-height: 100px;
  margin-bottom: var(--sp-20);
  text-align: right;
  opacity: 0;
  transform: translateX(-10%);
  transition: .4s
}
.th-timeline li:before {
  content: "";
  width: 10px;
  height: 10px;
  position: absolute;
  top: 0;
  right: 0;
  border-radius: 50%;
  transform: translate(50%, -50%)
}
.th-timeline li:nth-child(2n) {
  align-self: flex-end;
  text-align: left;
  transform: translateX(10%)
}
.th-timeline li:nth-child(2n):before {
  left: 0;
  transform: translate(-50%, -50%)
}
.th-timeline li.visible {
  opacity: 1;
  transform: translateX(0)
}
.th-distortion-hover-image-wrapper {
  position: relative;
  overflow: hidden;
  width: 100% !important
}
.th-distortion-hover-image-wrapper canvas {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover
}
button.th-btn-el {
  position: relative;
  padding: var(--sp-32) var(--sp-64);
  box-shadow: 0 0 10px 5px rgba(var(--color-foreground), 0.4);
  color: var(--color-muted);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 4px;
  font: 700 30px consolas;
  overflow: hidden
}
button.th-btn-el span:nth-child(1) {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(to right, rgb(var(--color-foreground)), var(--color-accent));
  animation: animate1 2s linear infinite
}
@keyframes animate1 {
  0% {
    transform: translateX(-100%)
  }
  100% {
    transform: translateX(100%)
  }
}
button.th-btn-el span:nth-child(2) {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 3px;
  background: linear-gradient(to bottom, rgb(var(--color-foreground)), var(--color-accent));
  animation: animate2 2s linear infinite;
  animation-delay: 1s
}
@keyframes animate2 {
  0% {
    transform: translateY(-100%)
  }
  100% {
    transform: translateY(100%)
  }
}
button.th-btn-el span:nth-child(3) {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(to left, rgb(var(--color-foreground)), var(--color-accent));
  animation: animate3 2s linear infinite
}
@keyframes animate3 {
  0% {
    transform: translateX(100%)
  }
  100% {
    transform: translateX(-100%)
  }
}
button.th-btn-el span:nth-child(4) {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 3px;
  background: linear-gradient(to top, rgb(var(--color-foreground)), var(--color-accent));
  animation: animate4 2s linear infinite;
  animation-delay: 1s
}
@keyframes animate4 {
  0% {
    transform: translateY(100%)
  }
  100% {
    transform: translateY(-100%)
  }
}
.dashboard .card {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
  transition: transform 0.3s ease, box-shadow 0.3s ease
}
.dashboard .card:hover {
  transform: translateY(-5px)
}
.dashboard .icon {
  opacity: .9
}
.dashboard .card h3 {
  font-weight: 500;
  margin: 0
}
.dashboard .card .number {
  font-weight: 700;
  margin: 0
}
.th-ripple-effect {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  -webkit-animation: wait 0s alternate infinite;
  animation: wait 0s alternate infinite
}
.circle-ripple {
  background-color: rgb(var(--color-background));
  width: 1px;
  height: 1px;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-animation: ripple 0.7s linear infinite;
  animation: ripple 0.7s linear infinite
}
@-webkit-keyframes wait {
  0%, 20%, 40%, 60% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}
@keyframes wait {
  0%, 20%, 40%, 60% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}
@-webkit-keyframes ripple {
  0% {
    box-shadow: 0 0 0 0 var(--ripple-color), 0 0 0 calc(var(--ripple-size) * 0.2) var(--ripple-color), 0 0 0 calc(var(--ripple-size) * 0.6) var(--ripple-color), 0 0 0 calc(var(--ripple-size) * 0.9) var(--ripple-color)
  }
  100% {
    box-shadow: 0 0 0 calc(var(--ripple-size) * 0.2) var(--ripple-color), 0 0 0 calc(var(--ripple-size) * 0.6) var(--ripple-color), 0 0 0 calc(var(--ripple-size) * 0.9) var(--ripple-color), 0 0 0 calc(var(--ripple-size) * 1.6) var(--ripple-color)
  }
}
@keyframes ripple {
  0% {
    box-shadow: 0 0 0 0 var(--ripple-color), 0 0 0 calc(var(--ripple-size) * 0.2) var(--ripple-color), 0 0 0 calc(var(--ripple-size) * 0.6) var(--ripple-color), 0 0 0 calc(var(--ripple-size) * 0.9) var(--ripple-color)
  }
  100% {
    box-shadow: 0 0 0 calc(var(--ripple-size) * 0.2) var(--ripple-color), 0 0 0 calc(var(--ripple-size) * 0.6) var(--ripple-color), 0 0 0 calc(var(--ripple-size) * 0.9) var(--ripple-color), 0 0 0 calc(var(--ripple-size) * 1.6) var(--ripple-color)
  }
}
.text-drop {
  position: relative;
  overflow: hidden;
  padding: 5.75rem 0 12rem;
  perspective: 2000px
}
.text-drop__line {
  display: block;
  text-align: center;
  width: 100%;
  white-space: nowrap;
  transform-origin: 50% 0;
  will-change: transform;
  backface-visibility: hidden;
  transform: rotateX(-120deg);
  mix-blend-mode: difference;
  transform-style: preserve-3d
}
.text-drop__img-box {
  position: absolute;
  overflow: hidden;
  opacity: .1;
  border-radius: 0rem;
  transition: opacity 0.5s
}
.text-drop__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center
}
.text-drop__img-box:nth-child(1) {
  top: 12%;
  left: 4%;
  max-width: 26.5vw
}
.text-drop__img-box:nth-child(2) {
  top: 29%;
  right: 40%;
  max-width: 26.5vw
}
.text-drop__img-box:nth-child(3) {
  top: 68%;
  right: 9.5%;
  max-width: 29vw
}
.text-drop__img-box:nth-child(4) {
  top: 72%;
  left: 12%;
  z-index: 100;
  max-width: 26.5vw
}
@media screen and (max-width:1024px) {
  .text-drop {
    padding: 5.75rem 0 15rem
  }
  .text-drop__line {
    font-size: 13.75vw;
    line-height: 1.4
  }
  .text-drop__img-box {
    max-width: 40vw
  }
  .text-drop__img-box:nth-child(1) {
    top: 20%
  }
  .text-drop__img-box:nth-child(2) {
    top: 40%
  }
  .text-drop__img-box:nth-child(3) {
    top: 55%
  }
  .text-drop__img-box:nth-child(4) {
    top: 64%
  }
}
@media screen and (max-width:768px) {
  .text-drop::after {
    width: 200px;
    height: 200px;
    filter: blur(110px)
  }
  .text-drop::before {
    width: 100px;
    height: 100px;
    filter: blur(75px)
  }
}
@media screen and (max-width:575px) {
  .text-drop::after {
    top: 50%;
    width: 125px;
    height: 125px;
    filter: blur(75px)
  }
  .text-drop::before {
    width: 100px;
    height: 100px;
    filter: blur(75px)
  }
}
@media screen and (min-height:900px) {
  .text-drop {
    padding: 5.75rem 0 30rem
  }
}
.mask {
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
  transition: transform 0.4s ease, box-shadow 0.4s ease
}
.mask1 {
  mask-image: url(../images/mask1.png);
  -webkit-mask-image: url(../images/mask1.png)
}
.mask2 {
  mask-image: url(../images/mask2.png);
  -webkit-mask-image: url(../images/mask2.png)
}
.mask3 {
  mask-image: url(../images/mask3.png);
  -webkit-mask-image: url(../images/mask3.png)
}
.mask4 {
  mask-image: url(../images/mask4.png);
  -webkit-mask-image: url(../images/mask4.png)
}
.th-img-wrapper {
  position: fixed !important;
  top: 0;
  left: 0;
  pointer-events: none;
  opacity: 0;
  transform: scale(0.3);
  z-index: 999999;
  visibility: hidden;
}
.wp-post-image {
  border-radius: 0px;
}
.btn-svg-style svg.button-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.btn-svg-style .button-svg path {
  fill: rgb(var(--color-foreground));
  transition: .3s;
}
.btn-svg-style span {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}
.btn-svg-style:hover .button-svg path {
  fill: var(--color-accent);
}
.glow-border {
  position: relative;
  overflow: hidden;
  padding: 2px;
}
.glow-content {
  z-index: 2;
  position: relative;
}
.glow_border_shade {
  position: absolute;
  top: 0;
  left: 0;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 1;
  background: radial-gradient(circle, rgba(var(--color-accent-rgb), 0.1) 0%, rgba(var(--color-accent-rgb), 0.5) 40%, rgba(var(--color-accent-rgb), 1) 100%);
  filter: blur(20px);
  will-change: transform;
}
/* Image wrapper */
.premium-image {
  overflow: hidden;
  position: relative;
}
/* Initial state */
.premium-image img:first-child {
  opacity: 0;
  transform: scale(1.12);
  filter: blur(8px);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 1.2s cubic-bezier(0.22, 1, 0.36, 1), filter 1s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform, opacity, filter;
}
/* Loaded state */
.premium-image img:first-child.loaded {
  opacity: 1;
  transform: scale(1);
  filter: blur(0);
}
/* Default */
.align-items-normal {
  align-items: normal;
}
.justify-content-normal {
  justify-content: normal;
}
/* XS */
@media (max-width: 575px) {
  .align-items-xs-normal {
    align-items: normal !important;
  }
  .justify-content-xs-normal {
    justify-content: normal !important;
  }
}
/* SM */
@media (min-width: 576px) {
  .align-items-sm-normal {
    align-items: normal !important;
  }
  .justify-content-sm-normal {
    justify-content: normal !important;
  }
}
/* MD */
@media (min-width: 768px) {
  .align-items-md-normal {
    align-items: normal !important;
  }
  .justify-content-md-normal {
    justify-content: normal !important;
  }
}
/* LG */
@media (min-width: 992px) {
  .align-items-lg-normal {
    align-items: normal !important;
  }
  .justify-content-lg-normal {
    justify-content: normal !important;
  }
}
/* XL */
@media (min-width: 1200px) {
  .align-items-xl-normal {
    align-items: normal !important;
  }
  .justify-content-xl-normal {
    justify-content: normal !important;
  }
}
/* XXL */
@media (min-width: 1400px) {
  .align-items-xxl-normal {
    align-items: normal !important;
  }
  .justify-content-xxl-normal {
    justify-content: normal !important;
  }
}
/* =========================
   Justify Content
========================= */
.justify-content-start {
  justify-content: flex-start !important;
}
.justify-content-center {
  justify-content: center !important;
}
.justify-content-end {
  justify-content: flex-end !important;
}
.justify-content-between {
  justify-content: space-between !important;
}
.justify-content-around {
  justify-content: space-around !important;
}
.justify-content-evenly {
  justify-content: space-evenly !important;
}
/* =========================
   Align Items
========================= */
.align-items-start {
  align-items: flex-start !important;
}
.align-items-center {
  align-items: center !important;
}
.align-items-end {
  align-items: flex-end !important;
}
.align-items-stretch {
  align-items: stretch !important;
}
.align-items-baseline {
  align-items: baseline !important;
}
/* =========================
   SM ≥ 576px
========================= */
@media (max-width: 575px) {
  .justify-content-xs-start {
    justify-content: flex-start !important;
  }
  .justify-content-xs-center {
    justify-content: center !important;
  }
  .justify-content-xs-end {
    justify-content: flex-end !important;
  }
  .justify-content-xs-between {
    justify-content: space-between !important;
  }
  .justify-content-xs-around {
    justify-content: space-around !important;
  }
  .justify-content-xs-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xs-start {
    align-items: flex-start !important;
  }
  .align-items-xs-center {
    align-items: center !important;
  }
  .align-items-xs-end {
    align-items: flex-end !important;
  }
  .align-items-xs-stretch {
    align-items: stretch !important;
  }
  .align-items-xs-baseline {
    align-items: baseline !important;
  }
}
/* =========================
   SM ≥ 576px
========================= */
@media (min-width: 576px) {
  .h-sm-100 {
    height: 100% !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
}
/* =========================
   MD ≥ 768px
========================= */
@media (min-width: 768px) {
  .h-md-100 {
    height: 100% !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
}
/* =========================
   LG ≥ 992px
========================= */
@media (min-width: 992px) {
  .h-lg-100 {
    height: 100% !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
}
/* =========================
   XL ≥ 1200px
========================= */
@media (min-width: 1200px) {
  .h-xl-100 {
    height: 100% !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
}
/* =========================
   XXL ≥ 1400px
========================= */
@media (min-width: 1400px) {
  .h-xxl-100 {
    height: 100% !important;
  }
  .justify-content-xxl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xxl-center {
    justify-content: center !important;
  }
  .justify-content-xxl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xxl-between {
    justify-content: space-between !important;
  }
  .justify-content-xxl-around {
    justify-content: space-around !important;
  }
  .justify-content-xxl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xxl-start {
    align-items: flex-start !important;
  }
  .align-items-xxl-center {
    align-items: center !important;
  }
  .align-items-xxl-end {
    align-items: flex-end !important;
  }
  .align-items-xxl-stretch {
    align-items: stretch !important;
  }
  .align-items-xxl-baseline {
    align-items: baseline !important;
  }
}
.cart-item-properties {
  margin-top: var(--sp-6);
  font-size: 13px;
  line-height: 1.5;
}
.cart-property {
  margin-bottom: 2px;
  color: inherit;
}
.cart-property strong {
  font-weight: 600;
}
.modal .position-sticky.stick-top-offset {
  position: static !important;
  top: auto !important;
}
.modal .btn-close {
  position: fixed;
  z-index: 1;
}
.music-icon-btn svg {
  fill: rgba(var(--color-foreground), var(--alpha-font-opacity));
  color: rgba(var(--color-foreground), var(--alpha-font-opacity));
}
.intro-video-wrapper {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background: rgb(var(--color-foreground));
  z-index: 999999;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
.intro-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.intro-skip-btn {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  backdrop-filter: blur(10px);
  padding: var(--sp-12) var(--sp-28);
  transition: .3s;
  z-index: 2;
}
.intro-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: .6s ease;
}
.wp-block-list {
  margin-bottom: var(--sp-10);
}
.empty_message {
    padding: var(--sp-20);
    width: 100%;
    text-align: center;
    min-height: 200px;
    align-items: center;
    justify-content: center;
    display: flex;
}* {
  box-sizing: border-box
}
html {
  font-size: var(--base-size);
  -webkit-text-size-adjust: 100%
}
body {
  font-family: var(--font-sans);
  color: var(--color-text);
  background: var(--color-bg);
  line-height: 1.6;
  margin: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: var(--scale-2);
  transition: padding-top 0.3s ease;
  overscroll-behavior: none
}
@media (prefers-reduced-motion:reduce) {
  * {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important
  }
}
.container {
  width: 100%;
  max-width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--content-gutter);
  padding-right: var(--content-gutter)
}
.wrapper {
  padding: var(--sp-48) 0
}
/* Small devices (portrait phones, 576px and down) */
@media (max-width: 575px) {
  .page-width, .container {
    overflow: hidden !important;
  }
  .mobile_header .page-width {
    overflow: initial !important;
  }
  img, video, iframe {
    max-width: 100%;
    height: auto;
    display: block
  }
  .row {
    flex-wrap: wrap
  }
}
.navbar, .navbar_desktop, #navbar_top, #navbar_mobile {
  transition: all 0.3s ease;
  z-index: 1
}
header {
  min-height: 80px
}
.themeshawk-woo-category-section {
  min-height: 200px
}
.owl-carousel .owl-nav button.owl-prev, .owl-carousel .owl-nav button.owl-next {
  font-size: 40px !important;
  padding-bottom: var(--sp-6) !important
}
h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  margin: 0 0 var(--sp-10);
  color: var(--color-text);
  line-height: 1.5
}
h1 {
  font-size: var(--scale-6)
}
h2 {
  font-size: var(--scale-5)
}
h3 {
  font-size: var(--scale-4)
}
h4 {
  font-size: var(--scale-3)
}
h5 {
  font-size: var(--scale-2)
}
h6 {
  font-size: var(--scale-1)
}
.lead {
  font-size: var(--scale-3);
  color: var(--color-text);
  margin-bottom: var(--sp-20)
}
.small {
  font-size: .875rem
}
a {
  color: var(--color-primary)
}
a:hover {
  color: var(--color-primary-600);
  text-decoration: none
}
ol li + li, ul li + li {
  margin: 0 0 0 0
}
.site-branding {
  display: flex;
  align-items: center;
  gap: var(--sp-16)
}
.site-title {
  font-weight: 800;
  font-size: 1.125rem;
  margin: 0
}
.site-description {
  font-size: .875rem;
  color: var(--color-muted)
}
.main-navigation {
  display: flex;
  gap: var(--sp-16);
  align-items: center
}
.main-navigation a {
  padding: var(--sp-10) var(--sp-12);
  border-radius: 0px
}
.main-navigation a:hover {
  background: linear-gradient(90deg, rgba(var(--color-accent-rgb), 0.06), rgba(var(--color-accent-rgb), 0.04))
}
.entry:not(.product):not(.col) {
  margin-bottom: var(--sp-32)
}
.entry:not(.product):not(.col) {
  margin-top: var(--sp-20)
}
.entry-header {
  margin-bottom: var(--sp-32);
  min-height: auto !important
}
.entry-meta {
  font-size: .875rem;
  color: var(--color-muted);
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-10)
}
.entry-title {
  margin: 0 0 var(--sp-8)
}
.entry-content {
  font-size: var(--scale-2);
  color: var(--color-text);
  overflow: hidden
}
.post-thumbnail {
  display: block;
  border-radius: 0px;
  overflow: hidden
}
.post-thumbnail img {
  width: 100%;
  height: auto;
  display: block
}
.single .post-thumbnail {
  margin-bottom: var(--sp-20);
  justify-content: center;
  display: flex;
  flex-direction: column;
  align-items: center
}
.alignnone {
  margin: var(--sp-20) 0
}
.alignleft {
  float: left;
  margin: 0 var(--sp-20) var(--sp-20) 0
}
.alignright {
  float: right;
  margin: 0 0 var(--sp-20) var(--sp-20)
}
.clearfix::after {
  content: "";
  display: table;
  clear: both
}
.wp-caption {
  padding: var(--sp-8);
  border: var(--border);
  border-radius: 0px;
  display: inline-block
}
.wp-caption img {
  display: block
}
.wp-caption .wp-caption-text {
  font-size: .875rem;
  color: var(--color-muted);
  margin-top: var(--sp-8)
}
blockquote {
  border-left: 4px solid var(--color-border);
  padding: var(--sp-10) var(--sp-16);
  margin: var(--sp-12) 0;
  background: linear-gradient(180deg, rgba(var(--color-accent-rgb), 0.02), transparent);
  border-radius: 0px
}
blockquote p {
  margin: 0;
  color: var(--color-text)
}
.wp-block-pullquote {
  padding: var(--sp-20);
  border-radius: 0px;
  background: linear-gradient(90deg, rgba(var(--color-accent-rgb), 0.05), rgba(var(--color-accent-rgb), 0.03));
  border: var(--border)
}
.wp-block-pullquote p {
  font-weight: 700;
  font-size: 1.125rem;
  margin: 0
}
ul, ol {
  margin: 0em 0 0em 0rem;
  color: rgb(var(--color-foreground))
}
table {
  margin: 1rem 0;
  background: rgb(var(--color-background));
  border-radius: 0px;
  overflow: hidden
}
thead th {
  background: linear-gradient(180deg, rgb(var(--color-background)), var(--color-surface));
  padding: var(--sp-12);
  text-align: left;
  font-weight: 700;
  border-bottom: var(--border)
}
tbody td {
  padding: var(--sp-12);
  border-bottom: var(--border);
  color: var(--color-text)
}
.table-responsive {
  overflow: auto
}
pre, code {
  font-family: var(--font-mono);
  font-size: .9rem;
  background: rgb(var(--color-accent-rgb), 0.1);
  padding: var(--sp-8);
  border-radius: 0px
}
pre {
  padding: var(--sp-16);
  overflow: auto
}
:where(.is-layout-flex) {
  gap: var(--sp-32)
}
:where(.is-layout-grid) {
  gap: var(--sp-32)
}
.has-tertiary-color {
  color: var(--wp--custom--color--tertiary) !important
}
.has-background-background-color {
  background: var(--color-bg) !important
}
.has-large-font-size, .has-huge-font-size {
  line-height: 1.5;
  margin-bottom: var(--sp-20)
}
button, .button, .wp-block-button__link {
  display: inline-block;
  padding: var(--sp-10) var(--sp-20);
  font-weight: 400;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid var(--bs-btn-border-color);
  transition: all .18s ease-in-out
}
button.primary, .button.primary {
  background: var(--bs-btn-bg);
  border: var(--bs-btn-border-color);
  color: var(--bs-btn-color)
}
button.primary:hover, .button.primary:hover {
  background: var(--bs-btn-hover-bg);
  border: var(--bs-btn-hover-border-color);
  color: var(--bs-btn-hover-color)
}
button.secondary, .button.secondary {
  background: var(--bs-btn-secondary-bg);
  border: var(--bs-btn-secondary-border-color);
  color: var(--bs-btn-secondary-color)
}
button.secondary:hover, .button.secondary:hover {
  background: var(--bs-btn-secondary-color);
  border: var(--bs-btn-secondary-hover-border-color);
  color: var(--bs-btn-secondary-bg)
}
.wp-block-button {
  margin-bottom: var(--sp-32)
}
.wp-block-buttons {
  display: flex;
  gap: var(--sp-12);
  flex-wrap: wrap
}
.wp-block-button.is-style-squared .wp-block-button__link {
  border-radius: 0
}
.wp-block-button .wp-block-button__link {
  border-radius: 100px
}
.wp-block-cover, .wp-block-cover-image {
  color: rgb(var(--color-background))
}
.wp-block-button__link:hover,
.wp-block-button__link:focus-visible,
.wp-element-button:hover {
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
  color: var(--bs-btn-hover-color)
}
:root :where(.wp-element-button, .wp-block-button__link) {
  background-color: var(--bs-btn-bg);
  color: var(--bs-btn-color);
}
.wp-block-search__button {
  padding: 0 var(--sp-16)
}
input[type="text"], input[type="email"], input[type="url"], input[type="search"], textarea, select {
  width: 100%;
  padding: var(--sp-12);
  border-radius: 0px;
  border: var(--border);
  font-size: var(--scale-2);
  color: var(--color-text)
}
html.courteous-keyboard input:focus, html.courteous-keyboard textarea:focus, html.courteous-keyboard select:focus {
  border-color: var(--color-primary);
  box-shadow: var(--shadow-md)
}
label {
  display: block;
  margin-bottom: var(--sp-8);
  font-weight: inherit;
  color: var(--color-text)
}
label svg {
  color: var(--color-text);
  fill: var(--color-text);
}
.form-select {
  color: rgb(var(--color-foreground));
  background-color: rgb(var(--color-background));
}
.filter-by-sorting-list li {
  background: rgb(var(--color-background));
}
.filter-by-sorting-list li:hover {
  background: rgba(var(--color-background), 0.9);
}
.sorting-btn {
  color: rgb(var(--color-foreground));
}
.btn-close {
  color: rgb(var(--color-foreground));
}
.widget-title {
  margin-bottom: var(--sp-10)
}
.site-footer {
  border-top: var(--border);
  color: var(--color-muted)
}
.wp-block-group {
  margin-bottom: 0
}
.wp-block-columns {
  display: flex;
  gap: var(--sp-20);
  flex-wrap: wrap
}
.wp-block-column {
  flex: 1 1 0%
}
.wp-block-cover {
  position: relative;
  border-radius: 12px;
  overflow: hidden
}
.wp-block-cover .wp-block-cover__inner-container {
  padding: var(--sp-40)
}
.wp-block-cover.has-background-dim .wp-block-cover__inner-container {
  background: linear-gradient(180deg, rgba(var(--color-foreground), 0.35), rgba(var(--color-foreground), 0.15))
}
.widget ul {
  margin: 0;
  padding: 0
}
.wp-block-image img, .wp-block-gallery img {
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 0px
}
.blocks-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: var(--sp-12)
}
.blocks-gallery-item {
  border-radius: 0px;
  overflow: hidden
}
.wp-block-embed, .wp-block-embed-youtube, .wp-block-embed-twitter {
  position: relative;
  overflow: hidden;
  border-radius: 0px
}
.wp-block-embed iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0
}
.wp-block-code {
  background: var(--color-surface);
  padding: 1em;
  border-radius: 0px;
  font-family: monospace;
  font-size: .875rem
}
.wp-block-preformatted {
  font-family: monospace;
  white-space: pre-wrap;
  background: var(--color-surface);
  padding: 1em;
  border-radius: 0px
}
.wp-block-separator {
  height: 1px;
  background: var(--color-border);
  margin: var(--sp-32) auto;
  border-radius: 0px
}
.wp-block-separator.is-style-wide {
  height: 2px
}
.wp-block-latest-posts {
  display: grid
}
.wp-block-navigation {
  display: flex;
  gap: var(--sp-12);
  flex-wrap: wrap
}
.wp-block-navigation a {
  padding: var(--sp-8) var(--sp-12);
  border-radius: 0px
}
.widget_archive li, .widget_categories li {
  margin: var(--sp-8) 0
}
.comment-list {
  list-style: none;
  padding: 0;
  margin: 0
}
.comment {
  padding: var(--sp-12);
  border-radius: 0px;
  border: 0;
  margin-bottom: var(--sp-12);
  background: rgb(var(--color-background))
}
.comments {
  padding-left: 0;
  margin-bottom: var(--sp-40)
}
.comment .comment-meta {
  color: var(--color-muted);
  display: flex;
  gap: var(--sp-20)
}
.comment .comment-content {
  margin-top: var(--sp-8)
}
.comment-reply-link {
  font-size: .85rem;
  color: var(--color-primary)
}
@media (max-width:900px) {
  .wp-block-columns {
    flex-direction: column
  }
  .alignleft, .alignright {
    float: none;
    max-width: 100%;
    margin: 0 0 var(--sp-16)
  }
  .container {
    padding-left: var(--sp-16);
    padding-right: var(--sp-16)
  }
  h1 {
    font-size: 1.75rem
  }
}
@media (max-width:560px) {
  :root {
    --content-gutter: 12px
  }
  .site-title {
    font-size: 1rem
  }
}
.u-text-center {
  text-align: center
}
.u-text-right {
  text-align: right
}
.u-muted {
  color: var(--color-muted)
}
.u-uppercase {
  text-transform: uppercase;
  letter-spacing: .08em
}
.required {
  color: var(--color-danger)
}
figure {
  margin: 0 0 1rem
}
figcaption {
  font-size: .9rem;
  color: var(--color-muted);
  margin-top: var(--sp-8)
}
.wp-block-audio, .wp-block-video {
  overflow: hidden
}
.wp-block-audio, .wp-block-video, .wp-block-file, .wp-block-verse {
  margin: var(--sp-20) 0
}
.wp-block-paragraph {
  margin: 0 0 1.5em;
  line-height: 1.6
}
.wp-block-quote cite {
  display: block;
  margin-top: var(--sp-8);
  font-size: .9rem;
  color: var(--color-muted)
}
.wp-block-cover, .wp-block-media-text {
  margin-bottom: var(--sp-32)
}
.wp-block-media-text {
  display: grid;
  grid-template-columns: 50% 50%;
  gap: 2em;
  align-items: center
}
.wp-block-media-text img {
  max-width: 100%;
  border-radius: 0px
}
.toc {
  border: var(--border);
  padding: var(--sp-12);
  border-radius: 0px;
  background: rgb(var(--color-background))
}
.toc a {
  display: block;
  padding: var(--sp-6) 0
}
.entry-content a:focus {
  outline: 0 dashed var(--color-primary);
  outline-offset: 3px
}
@media print {
  body {
    background: rgb(var(--color-background));
    color: rgb(var(--color-foreground))
  }
  .site-header, .site-footer, .widget {
    display: none
  }
  a:after {
    content: " ("attr(href) ")"
  }
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: top
}
img.aligncenter, .wp-caption.aligncenter, .wp-block-image .aligncenter {
  margin: var(--sp-32) auto
}
img.alignleft, .wp-caption.alignleft, .wp-block-image .alignleft {
  float: left;
  margin: var(--sp-6) var(--sp-32) var(--sp-32) 0
}
img.alignright, .wp-caption.alignright, .wp-block-image .alignright {
  float: right;
  margin: var(--sp-32) 0 var(--sp-32) var(--sp-32)
}
img.alignnone, .wp-caption.alignnone, .wp-block-image .alignnone, figure.wp-block-image {
  margin-top: var(--sp-32);
  margin-bottom: var(--sp-32)
}
p .alignnone:last-child {
  margin-bottom: var(--sp-6)
}
p .alignnone:first-child {
  margin-top: var(--sp-6)
}
.content-article {
  gap: 0px !important
}
.wp-caption, figure {
  max-width: 100% !important
}
.wp-caption img {
  max-width: 100% !important;
  height: auto !important
}
.post-thumbnail img, .wp-post-image {
  display: block;
  max-width: 100%;
  height: 100% !important
}
thead, tbody, tfoot, tr, td, th {
  width: auto !important
}
.tag-wrapper {
  display: flex
}
.tag-heading {
  padding-right: var(--sp-16)
}
.tag-lists {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-16)
}
.post-categories {
  list-style: none;
  padding: 0
}
.post_nav_section {
  display: grid;
  column-gap: var(--sp-10);
  row-gap: var(--sp-20);
  margin-top: var(--sp-64);
  border-top: var(--border)
}
@media (min-width:782px) {
  .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
    left: 100%;
    top: -8px !important;
    margin-left: var(--sp-10) !important
  }
}
.wp-block-comment-template .wp-block-group {
  border-radius: 0px;
  border: 0 solid var(--color-border);
  padding: 0
}
.wp-block-comment-template .wp-block-columns {
  margin-bottom: 0
}
.comment-author.vcard img {
  border-radius: 100%
}
.comment-body, .comment-respond, .comment-form {
  display: grid;
  column-gap: var(--sp-10)
}
.wp-block-post-comments-form .comment-reply-title {
  margin-bottom: var(--sp-20)
}
.comments-area {
  margin-top: var(--sp-40)
}
.comment-form .submit {
  max-width: 250px
}
.wp-block-calendar td, .wp-block-calendar th {
  border: var(--border);
  padding: var(--sp-10) !important
}
.wp-calendar-nav {
  display: flex;
  align-items: center;
  justify-content: space-between
}
.wp-calendar-nav-prev a, .wp-calendar-nav-next a {
  gap: var(--sp-8);
  display: flex;
  align-items: center
}
.wp-calendar-table caption {
  padding: var(--sp-10) 0;
  text-align: center
}
.wp-block-calendar {
  margin-bottom: var(--sp-40)
}
.wp-block-latest-comments {
  padding-left: 0
}
.has-avatars .wp-block-latest-comments__comment {
  list-style: none;
  min-height: 2.25em;
  margin-bottom: var(--sp-20)
}
.wp-block-search {
  margin-bottom: 0
}
table {
  width: 100%;
  border-collapse: collapse;
  font-family: inherit;
  font-size: 16px;
  caption-side: top
}
table th, table td {
  padding: var(--sp-12) var(--sp-16);
  border: var(--border);
  vertical-align: middle
}
table th {
  background-color: rgb(var(--color-background));
  font-weight: 600
}
table tr:nth-child(odd) {
  background-color: rgba(var(--color-background), 0)
}
table tr:nth-child(even) {
  background-color: rgba(var(--color-background), 0)
}
table tr:hover {
  background-color: rgba(var(--color-background), 0)
}
.wp-block-heading, .widget-title, .footer-title {
  margin-bottom: var(--sp-10)
}
@media (max-width:768px) {
  .wp-block-heading, .widget-title, .footer-title {
    margin-bottom: 0
  }
}
.screen-reader-text {
  left: -9999px;
  top: auto
}
.screen-reader-text:focus {
  position: static
}
.gallery {
  display: grid;
  gap: var(--sp-16);
  margin: 2em 0;
  padding: 0
}
.gallery.gallery-columns-1 {
  grid-template-columns: repeat(1, 1fr)
}
.gallery.gallery-columns-2 {
  grid-template-columns: repeat(2, 1fr)
}
.gallery.gallery-columns-3 {
  grid-template-columns: repeat(3, 1fr)
}
.gallery.gallery-columns-4 {
  grid-template-columns: repeat(4, 1fr)
}
.gallery.gallery-columns-5 {
  grid-template-columns: repeat(5, 1fr)
}
.gallery.gallery-columns-6 {
  grid-template-columns: repeat(6, 1fr)
}
.gallery.gallery-columns-7 {
  grid-template-columns: repeat(7, 1fr)
}
.gallery.gallery-columns-8 {
  grid-template-columns: repeat(8, 1fr)
}
.gallery.gallery-columns-9 {
  grid-template-columns: repeat(9, 1fr)
}
.gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: 0px
}
.gallery-icon img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0px;
  object-fit: cover;
  transition: transform 0.3s ease
}
.gallery-caption {
  padding: var(--sp-10)
}
@media (max-width:768px) {
  .gallery.gallery-columns-3, .gallery.gallery-columns-4, .gallery.gallery-columns-5, .gallery.gallery-columns-6, .gallery.gallery-columns-7, .gallery.gallery-columns-8, .gallery.gallery-columns-9 {
    grid-template-columns: repeat(2, 1fr)
  }
}
@media (max-width:480px) {
  .gallery.gallery-columns-2, .gallery.gallery-columns-3, .gallery.gallery-columns-4, .gallery.gallery-columns-5, .gallery.gallery-columns-6, .gallery.gallery-columns-7, .gallery.gallery-columns-8, .gallery.gallery-columns-9 {
    grid-template-columns: 1fr
  }
}
.wp-block-categories {
  margin-bottom: var(--sp-32)
}
.page-links {
  display: flex
}
.post-page-numbers {
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  text-align: center;
  display: flex;
  padding: var(--sp-20);
  border-top: 3px solid var(--color-accent);
  border-bottom: 0 solid var(--color-accent);
  border-left: 0 solid var(--color-accent);
  border-right: 0 solid var(--color-accent)
}
.page-links .current {
  color: rgb(var(--color-background));
  background: var(--color-accent)
}
.post-card.sticky {
  border: var(--border);
  border-radius: 0px;
  padding: var(--sp-20)
}
.sticky::before {
  position: absolute;
  top: -12px;
  left: 16px;
  font-size: .75rem;
  font-weight: 600;
  color: rgb(var(--color-background));
  background: rgb(var(--color-accent-rgb));
  padding: var(--sp-4) var(--sp-8);
  border-radius: 0px;
  text-transform: uppercase;
  letter-spacing: .5px
}
.sticky a {
  color: rgb(var(--color-foreground));
}
.post-password-form input[type='submit'] {
  display: block;
  margin: var(--sp-32) auto 0
}
.post-password-form__submit {
  max-width: 250px;
  color: var(--bs-btn-color);
  background: var(--bs-btn-bg);
  border-radius: 0px !important
}
.post-password-form__submit:hover {
  color: var(--bs-btn-bg);
  background: var(--bs-btn-color);
}
.wp-block-embed, .wp-block-embed__wrapper, .video-container {
  position: relative
}
.wp-block-embed iframe, .wp-block-embed__wrapper iframe, .video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0px
}
.video-container:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
  transition: all 0.3s ease
}
.breadcrumb-title, .entry-title {
  display: block;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
  -webkit-hyphens: auto;
  -ms-word-wrap: break-word
}
.breadcrumb-title a, .entry-title a {
  white-space: normal;
  overflow-wrap: anywhere
}
.entry-header, .breadcrumb, .post-header, .page-header {
  min-width: 0
}
.entry-title.truncate {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}
.breadcrumb-heading-wrapper, .breadcrumb-menu-wrapper {
  min-width: 0
}
.breadcrumb-title, .breadcrumb-menu-wrapper {
  white-space: normal;
  overflow-wrap: anywhere;
  word-wrap: break-word;
  word-break: break-word;
  hyphens: auto
}
.breadcrumb-menu-wrapper a {
  max-width: 100%;
  display: inline-block;
  white-space: normal;
  overflow-wrap: anywhere
}
.navbar-nav {
  margin: 0
}
.post-card__image {
  margin-bottom: var(--sp-16)
}
.post-card__title {
  margin-bottom: 0
}
.post-categories {
  margin: 0;
  display: inline-flex;
  column-gap: var(--sp-10);
  row-gap: var(--sp-10);
  flex-wrap: wrap
}
.card .post-categories li, .card .posted-on, .card .byline, .post-categories li {
  margin: 0
}
.wp-block-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  margin: 1.5em 0
}
.wp-block-gallery .wp-block-image {
  flex: 1 0 calc(33.333% - 1em);
  margin: 0
}
@media (max-width:768px) {
  .wp-block-gallery .wp-block-image {
    flex: 1 0 calc(50% - 1em)
  }
}
@media (max-width:480px) {
  .wp-block-gallery .wp-block-image {
    flex: 1 0 100%
  }
}
.header-search-result ul {
  list-style: none;
  padding-left: 0
}
.toggle-btn-sidebar-mobile.position-left {
  left: 0 !important;
  -webkit-transform: rotate(-90deg) translate(-50%, 50%);
  transform: rotate(-90deg) translate(-50%, 50%);
  position: fixed
}
.toggle-btn-sidebar-mobile {
  position: fixed;
  bottom: 50%;
  z-index: 999;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 32px;
  padding: 0 var(--sp-16);
  -webkit-transform-origin: 0;
  transform-origin: 0;
  white-space: nowrap;
  max-width: fit-content
}
.toggle-btn-sidebar-mobile.position-right {
  left: 100% !important;
  -webkit-transform: rotate(-90deg) translate(-50%, -50%);
  transform: rotate(-90deg) translate(-50%, -50%)
}
@media (min-width:992px) {
  #sidebarOffcanvas.offcanvas {
    position: static;
    transform: none;
    visibility: visible !important;
    border-right: 0
  }
  /* Only hide the page overlay for the static shop filter sidebar; the cart drawer, search and menu panels keep theirs. */
  body:has(#sidebarOffcanvas.show) .offcanvas-backdrop {
    display: none !important
  }
}
.mobile-stick-bottom {
  bottom: 15px;
  position: fixed;
  background: rgba(var(--color-background), .6);
  z-index: 21;
  margin: 0 auto;
  border-top: 0 solid rgba(var(--color-foreground), .2);
  box-shadow: 0 0 10px rgba(var(--color-foreground), 0.1);
  backdrop-filter: blur(4px);
  border-radius: 100px;
  width: 90%;
  align-items: center;
  justify-content: center;
  float: none;
  left: 0;
  right: 0
}
.footer-sticky {
  padding: var(--sp-10) 0 var(--sp-6) 0;
  text-align: center;
  border-left: 0 solid rgba(var(--color-foreground), .2);
  font-size: 12px
}
@media screen and (min-width:750px) {
  .mobile-stick-bottom {
    display: none
  }
}
@media screen and (max-width:749px) {
  .mobile-stick-bottom {
    height: 70px
  }
  .footer-wrapper {
    overflow: hidden;
    margin-bottom: var(--sp-96)
  }
}
.customer-links {
  padding-left: 0
}
.header-icon {
  padding: 0px !important
}
.added_to_cart {
  display: none
}
.img-obj-fit-contain {
  object-fit: contain
}
.review_form_wrapper {
  margin-top: var(--sp-20)
}
.woocommerce-Reviews {
  display: grid;
  gap: 0px
}
.comment-reply-title {
  margin-bottom: 0px
}
.wc-blocks-components-select .wc-blocks-components-select__select {
  appearance: none;
  background: none;
  border-radius: 0px;
  color: rgb(var(--color-foreground));
  font-family: inherit;
  font-size: 1em;
  font-style: inherit;
  font-weight: inherit;
  height: 100%;
  letter-spacing: inherit;
  line-height: inherit;
  padding: 1em .5em 0;
  text-decoration: inherit;
  text-transform: inherit;
  width: 100%
}
.wc-block-components-quantity-selector > .wc-block-components-quantity-selector__button--plus {
  height: 35px
}
.wc-block-components-quantity-selector > .wc-block-components-quantity-selector__button--minus {
  height: 35px
}
.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices, table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices {
  text-align: start;
  font-weight: 600
}
.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap > *, .editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-quantity-selector, table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap > *, table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-quantity-selector {
  margin-bottom: var(--sp-6);
  text-align: start
}
.wc-block-components-formatted-money-amount {
  white-space: nowrap;
  font-weight: 600
}
.wc-block-components-form .wc-block-components-text-input input[type=email], .wc-block-components-form .wc-block-components-text-input input[type=number], .wc-block-components-form .wc-block-components-text-input input[type=password], .wc-block-components-form .wc-block-components-text-input input[type=tel], .wc-block-components-form .wc-block-components-text-input input[type=text], .wc-block-components-form .wc-block-components-text-input input[type=url], .wc-block-components-text-input input[type=email], .wc-block-components-text-input input[type=number], .wc-block-components-text-input input[type=password], .wc-block-components-text-input input[type=tel], .wc-block-components-text-input input[type=text], .wc-block-components-text-input input[type=url] {
  background-color: rgb(var(--color-background));
  border: var(--border) !important;
  border-radius: 400px;
  box-sizing: border-box;
  color: rgb(var(--color-foreground));
  font-family: inherit;
  font-size: 1em;
  height: 3.125em;
  line-height: 1em;
  margin: 0;
  min-height: 0;
  padding: 1em .5em;
  width: 100%
}
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
  font-weight: 400 !important
}
.wc-block-components-quantity-selector {
  margin-bottom: 0px !important
}
.wc-block-cart-item__quantity {
  display: flex;
  gap: var(--sp-10);
  align-items: center;
  margin-bottom: var(--sp-12) !important
}
.search_input {
  min-height: 50px !important
}
.column-select label {
  margin-bottom: 0
}
.woo-card-primary-image, .woo-card-secondary-image {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important
}
/*.dropdown-toggle::after {
  display: inline-block;
  margin-left: .255em;
  vertical-align: .255em;
  content: "";
  border-top: .3em solid;
  border-right: .3em solid var(--color-border);
  border-bottom: 0;
  border-left: .3em solid var(--color-border);
  transition: transform 0.3s ease
}*/
.dropdown-toggle:hover::after {
  transform: rotate(180deg)
}
.dropdown.show .dropdown-toggle::after {
  transform: rotate(180deg)
}
@keyframes moveDown {
  0% {
    transform: translateY(-20px);
    opacity: 0
  }
  100% {
    transform: translateY(0);
    opacity: 1
  }
}
@keyframes moveUp {
  0% {
    transform: translateY(20px);
    opacity: 0
  }
  100% {
    transform: translateY(0);
    opacity: 1
  }
}
@keyframes moveLeft {
  0% {
    transform: translateX(100px);
    opacity: 0
  }
  100% {
    transform: translatex(0);
    opacity: 1
  }
}
@keyframes moveRight {
  0% {
    transform: translateX(-100px);
    opacity: 0
  }
  100% {
    transform: translatex(0);
    opacity: 1
  }
}
@-webkit-keyframes ticker {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    visibility: visible
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0)
  }
}
@keyframes ticker {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    visibility: visible
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0)
  }
}
.custom-slider-slide .custom-slider-slide-image img {
  transition: transform 2s ease;
  transform: scale(1.2)
}
.swiper-slide-active img, .custom-slider-slide.active .custom-slider-slide-image img {
  transform: scale(1)
}
.custom-slider-slide .custom-slider-slide-caption, .custom-slider-slide .custom-slider-slide-title, .custom-slider-slide .custom-slider-slide-description, .custom-slider-slide .custom-slider-slide-button {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-20px);
  transition: opacity 0.5s ease, transform 0.5s ease, visibility 0s linear 0.5s
}
.custom-slider-slide.active .custom-slider-slide-caption, .custom-slider-slide.active .custom-slider-slide-title, .custom-slider-slide.active .custom-slider-slide-description, .custom-slider-slide.active .custom-slider-slide-button {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity 0.5s ease, transform 0.5s ease, visibility 0s linear 0s
}
.custom-slider-slide.active .custom-slider-slide-caption {
  transition-delay: 0.2s
}
.custom-slider-slide.active .custom-slider-slide-title {
  transition-delay: 0.4s
}
.custom-slider-slide.active .custom-slider-slide-description {
  transition-delay: 0.6s
}
.custom-slider-slide.active .custom-slider-slide-button {
  transition-delay: 0.8s
}
.nav-tabs li, .pagination li {
  margin: 0
}
.contact-info-header, .top-menu-header {
  padding: 0;
  list-style: none;
  gap: var(--sp-10)
}
.page-link:focus {
  box-shadow: none !important
}
.product {
  list-style: none
}
.menu {
  list-style: none;
  padding: 0;
  margin: 0
}
.menu > *, .megamenu > * {
  padding-block: var(--sp-6)
}
.navbar-nav li, .menu li {
  margin: 0
}
.super, .woocommerce-loop-category__title .count {
  font-size: 0.75em !important;
  vertical-align: super;
  line-height: 1
}
.mark, mark {
  padding: .1875em;
  color: var(--bs-highlight-color);
  background-color: rgb(var(--color-background));
}
.cart-collaterals .coupon {
  gap: var(--sp-20)
}
.offcanvas-header h5 {
  margin-bottom: 0
}
.offcanvas-header {
  border-bottom: var(--border);
}
.woocommerce #review_form #respond p:empty, p:empty {
  margin: 0;
  padding: 0
}
.wc-block-grid__product > * {
  padding-block: var(--sp-6)
}
.theme-twentytwenty .wc-block-grid.has-4-columns:not(.alignwide):not(.alignfull) .wc-block-grid__product, .theme-twentytwenty .wc-block-grid.has-5-columns.alignfull .wc-block-grid__product, .wc-block-grid.has-4-columns:not(.alignwide):not(.alignfull) .wc-block-grid__product, .wc-block-grid.has-5-columns.alignfull .wc-block-grid__product {
  font-size: inherit !important
}
.edit-post-visual-editor .editor-block-list__block .wc-block-grid__product-title, .editor-styles-wrapper .wc-block-grid__product-title, .wc-block-grid__product-title {
  color: inherit;
  display: block;
  font-family: inherit;
  font-size: inherit;
  font-weight: 500;
  line-height: 1.5;
  padding: 0
}
.btn .icon, .button .icon {
  display: flex;
  width: 16px;
  height: 16px
}
.wishlist-product-price .woocommerce-Price-amount, .th-compare-table .woocommerce-Price-amount {
  line-height: 24px;
  font-weight: 500;
  font-style: 700;
  color: var(--color-foreground);
  font-size: 16px
}
.post-navigation-links {
  padding-top: var(--sp-20)
}
.comment-form-cookies-consent {
  align-items: center
}
.comment-form-cookies-consent label {
  margin-bottom: 0
}
pre {
  white-space: pre-wrap;
  word-wrap: break-word
}
.post-title, .footer-copyright-text {
  word-wrap: break-word
}
.post_nav_section .post-title {
  word-wrap: break-word
}
.post_nav_section .nav-links {
  display: flex;
  flex-wrap: nowrap
}
.post_nav_section .nav-previous, .post_nav_section .nav-next {
  flex: 0 0 50%;
  max-width: 50%;
  box-sizing: border-box;
  overflow: hidden
}
.post_nav_section .post-title {
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
  hyphens: auto
}
.wp-block-latest-comments > * {
  padding-block: var(--sp-6)
}
.post-title {
  word-wrap: break-word
}
.post-title {
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto
}
.navbar-bg {
  background: linear-gradient(var(--nav-menu-background-gradient-angle, 90deg), var(--nav-menu-background-from, rgb(var(--color-background))) 0%, var(--nav-menu-background-to, rgb(var(--color-background))) 100%)
}
.navbar {
  display: inherit;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding-top: .5rem;
  padding-bottom: .5rem
}
.navbar-toggler {
  padding: 0;
  font-size: 14px;
  line-height: 0;
  background-color: transparent;
  border: 0 solid var(--color-border);
  border-radius: 0;
  transition: box-shadow 0.3s ease-in-out
}
#navbar {
  transition: top 0.6s
}
.fixed-top {
  top: 0;
  transform: translateY(0)
}
@media (max-width:767px) {
  .navbar {
    padding-top: var(--sp-20);
    padding-bottom: var(--sp-20)
  }
}
.post-card__content {
  gap: var(--sp-10);
  display: grid
}
.breadcrumb {
  margin-bottom: 0;
  list-style: none;
  border-radius: 0px
}
.breadcrumb .breadcrumb-title {
  text-decoration: none
}
.breadcrumb, .breadcrumb a {
  text-decoration: none
}
.breadcrumb-wrapper ul {
  align-items: center;
  display: flex;
  margin: 0
}
a {
  text-decoration: none
}
.woocommerce .woocommerce-result-count, .woocommerce-page .woocommerce-result-count {
  float: inherit;
  font-size: 12px
}
.woocommerce .woocommerce-ordering, .woocommerce-page .woocommerce-ordering {
  float: inherit
}
.themeshawk-woo-product-list-wrapper {
  padding: 0
}
.themeshawk-woo-product-list-wrapper li {
  list-style: none;
  overflow: hidden;
}
.themeshawk-woo-product-list {
  height: 100%
}
.themeshawk-woo-product-list .price {
  margin-bottom: inherit
}
.woocommerce img, .woocommerce-page img {
  height: auto !important;
  max-width: 100%
}
.flexslider {
  margin: 0
}
.flex-direction-nav a:before {
  font-size: 16px
}
.flex-prev, .flex-next {
  font-size: 0
}
.th_product_variations {
  flex: 0 0 100%;
  padding-bottom: var(--sp-10);
  margin: auto;
  max-width: inherit;
  min-width: fit-content;
  border: none
}
variant-radios, variant-selects {
  display: block
}
.th_product_variations--dropdown {
  margin-bottom: 1.6rem
}
.th_product_variations .form__label {
  padding-left: 0
}
fieldset.th_product_variations .form__label {
  margin-bottom: .2rem;
  font-size: 16px
}
.th_product_variations input[type='radio'] {
  clip: rect(var(--color-foreground), 0);
  overflow: hidden;
  position: absolute;
  height: 0;
  width: 0
}
.th_product_variations input[type='radio'] + label.color-swatch {
  background-color: rgb(var(--color-background));
  color: rgb(var(--color-foreground));
  display: inline-block;
  margin-right: .5rem;
  margin-bottom: .5rem;
  padding: var(--sp-6);
  text-align: center;
  cursor: pointer;
  position: relative;
  border: 1px solid rgba(var(--color-foreground), 0.1);
}
.th_product_swatches input[type='radio'] + label.color-swatch {
  height: 40px;
  width: 40px;
  border: 2px double rgba(var(--color-foreground), .1)
}
.th_product_pills input[type='radio'] + label.color-swatch {
  height: 40px;
  min-width: 40px;
  border-radius: 0px;
  width: fit-content
}
.th_product_variations input[type='radio'] + label:before {
  content: '';
  position: absolute;
  top: calc(var(--variant-pills-border-width) * -1);
  right: calc(var(--variant-pills-border-width) * -1);
  bottom: calc(var(--variant-pills-border-width) * -1);
  left: calc(var(--variant-pills-border-width) * -1);
  z-index: -1;
  border-radius: 0px;
  box-shadow: var(--variant-pills-shadow-horizontal-offset) var(--variant-pills-shadow-vertical-offset) var(--variant-pills-shadow-blur-radius) rgba(var(--color-shadow), var(--variant-pills-shadow-opacity))
}
.th_product_variations input[type='radio'] + label:hover {
  border-color: var(--color-border);
  justify-content: center;
}
.th_product_variations input[type="radio"]:checked + label.color-swatch {
  position: relative;
  background-color: transparent;
  min-width: 40px;
  height: 40px;
  border: 3px solid rgba(var(--color-foreground), .6);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0px;
}
/* Checkmark */
.th_product_variations input[type="radio"]:checked + label.color-swatch::after {
  content: "✓";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--text-xs, 12px);
  font-weight: 700;
  line-height: 1;
  color: rgba(var(--color-background), 1);
  background: rgba(var(--color-foreground), 0.2);
  backdrop-filter: blur(14px);
  pointer-events: none;
}
/* Hover */
.th_product_variations label.color-swatch:hover {
  border-color: rgba(var(--color-foreground), 0.5);
}
.th_product_pills input[type='radio']:checked + label.color-swatch {
  background-color: rgb(var(--color-foreground));
  min-width: 40px;
  height: 40px;
  border: 2px double rgb(var(--color-foreground));
  justify-content: center;
}
@media screen and (forced-colors:active) {
  .th_product_variations input[type=radio]:checked + label {
    text-decoration: underline
  }
}
.th_product_variations input[type='radio']:checked + label.color-swatch::selection {
  background-color: rgba(var(--color-background), .3);
  min-width: 40px;
  height: 40px
}
.th_product_variations input[type='radio']:disabled + label {
  border-color: rgba(var(--color-foreground), .1);
  color: rgba(var(--color-foreground), .4);
  text-decoration: line-through
}
.th_product_variations input[type='radio']:focus-visible + label {
  border: 1px dashed rgba(var(--color-foreground), .1)
}
.th_product_variations input[type='radio'].focused + label, .no-js .shopify-payment-button__button [role="button"]:focus + label {
  border: 1px dashed rgba(var(--color-foreground), .1)
}
.no-js .th_product_variations input[type='radio']:focus:not(:focus-visible) + label {
  box-shadow: none
}
.th_product_variations .select {
  max-width: 25rem
}
.aq_product_submit {
  margin-bottom: 1rem
}
.aq_product_submit[aria-disabled="true"] + .shopify-payment-button .shopify-payment-button__button[disabled], .aq_product_submit[disabled] + .shopify-payment-button .shopify-payment-button__button[disabled] {
  cursor: not-allowed;
  opacity: .5
}
.th_product_variations input[type='radio'] + label.button-swatch {
  border: 1px solid rgb(var(--color-foreground));
  background-color: rgb(var(--color-background));
  color: rgb(var(--color-foreground));
  border-radius: 0px;
  display: inline-block;
  margin: var(--sp-6);
  text-align: center;
  transition: border var(--duration-short) ease;
  cursor: pointer;
  position: relative;
  max-width: 400px;
  width: auto;
  height: 40px;
  box-shadow: var(--shadow-lg);
  padding: var(--sp-4) var(--sp-20)
}
.th_product_variations input[type='radio']:checked + label.button-swatch {
  background-color: rgb(var(--color-foreground));
  color: rgb(var(--color-background));
  max-width: 400px;
  width: auto;
  height: 40px;
  box-shadow: 0 4px 20px rgba(var(--color-foreground), 10%), inset 0 0 0 4px rgb(var(--color-background));
  border: 1px dashed rgba(var(--color-foreground), .1);
  padding: var(--sp-4) var(--sp-20)
}
.th_product_variations input[type='radio']:checked + label.button-swatch::selection {
  background-color: rgba(var(--color-background), .3);
  max-width: 400px;
  width: auto;
  height: 40px
}
@media screen and (forced-colors:active) {
  .th_product_submit[aria-disabled="true"] {
    color: Window
  }
}
.woocommerce div.product .entry-summary .cart div.quantity {
  float: none;
  margin: 0;
  display: inline-block
}
.woocommerce div.product form.cart .button {
  vertical-align: middle;
  float: none
}
.quantity-input {
  height: 40px;
  border-left: 0 solid rgba(var(--color-foreground), .2);
  border-right: 0 solid rgba(var(--color-foreground), .2);
  border-top: var(--border);
  border-bottom: var(--border);
  border-radius: 0;
  text-align: center;
  box-shadow: none
}
.quantity__button:not(:focus-visible):not(.focused) {
  height: 40px;
  width: 100%;
  background: rgb(var(--color-background));
  fill: rgb(var(--color-foreground));
  color: rgb(var(--color-foreground));
  margin: 0;
  padding: 0 var(--sp-20)
}
.woocommerce .quantity .qty {
  justify-content: center;
  display: flex;
  align-items: center
}
.woocommerce div.product form.cart .variations tr {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-bottom: 1rem
}
.woocommerce div.product form.cart .variations td, .woocommerce div.product form.cart .variations th {
  line-height: revert
}
.woocommerce-message {
  border-top-color: var(--theme-base-color)
}
.woocommerce table.shop_table td {
  border-top: var(--border);
  padding: 0;
  vertical-align: middle;
  line-height: revert
}
.woocommerce form .form-row {
  padding: var(--sp-4);
  margin: 0 0 .5rem
}
.woocommerce form .form-row label {
  line-height: revert
}
@media only screen and (max-width:768px) {
  .woocommerce table.shop_table_responsive tr, .woocommerce-page table.shop_table_responsive tr {
    display: block;
    margin-bottom: var(--sp-10)
  }
}
.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals {
  float: right;
  width: 100%;
  margin-top: var(--sp-10)
}
.quantity {
  width: auto
}
.cart__items .quantity-input, .cart__items .quantity__button:not(:focus-visible):not(.focused) {
  padding: 0;
  box-shadow: none
}
.woocommerce a.remove-product {
  display: block;
  font-size: revert;
  height: 1em;
  width: 1em;
  text-align: center;
  line-height: normal;
  border-radius: 100%;
  text-decoration: none;
  font-weight: 700;
  border: 0
}
#add_payment_method .wc-proceed-to-checkout a.checkout-button, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button {
  display: block;
  text-align: center;
  margin-bottom: 1em;
  font-size: revert;
  padding: inherit
}
.select2-container--default .select2-selection--single {
  background-color: rgb(var(--color-background));
  border: var(--border);
  border-radius: 0px;
  height: 40px;
  align-items: center;
  display: flex
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  position: absolute;
  top: 1px;
  right: 1px;
  width: 20px;
  height: 40px
}
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  outline: 0;
  line-height: normal;
  border: 1px solid rgba(var(--color-foreground), 10%);
  border-radius: 0px
}
#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {
  background: rgba(var(--color-background), 0);
  border-radius: 0px;
  box-shadow: 0 0 4px rgba(var(--color-foreground), 10%)
}
.woocommerce-error, .woocommerce-info, .woocommerce-message {
  background-color: rgba(var(--color-foreground), 1%)
}
tr.cart_item {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  box-shadow: var(--shadow-sm)
}
.woocommerce table.shop_table tbody th, .woocommerce table.shop_table tfoot td, .woocommerce table.shop_table tfoot th {
  font-weight: 700;
  border-top: 0 solid rgba(var(--color-foreground), .1);
  box-shadow: none
}
.woocommerce table.shop_table {
  border: 0 solid rgba(var(--color-foreground), .1);
  margin: 0;
  text-align: left;
  width: 100%;
  border-collapse: separate;
  border-radius: 0px;
  padding: 0;
  box-shadow: none;
  border-spacing: 0
}
#add_payment_method #payment div.payment_box::before, .woocommerce-cart #payment div.payment_box::before, .woocommerce-checkout #payment div.payment_box::before {
  content: "";
  display: block;
  border: var(--border);
  border-right-color: var(--color-border);
  border-left-color: var(--color-border);
  border-top-color: var(--color-border);
  position: absolute;
  top: -.75em;
  left: 0;
  margin: -1em 0 0 2em
}
#add_payment_method #payment div.payment_box, .woocommerce-cart #payment div.payment_box, .woocommerce-checkout #payment div.payment_box {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  padding: 1em;
  margin: 1em 0;
  font-size: .92em;
  border-radius: 0px;
  line-height: 1.5;
  background-color: rgba(var(--color-foreground), 1%);
  color: rgba(var(--color-foreground), 1)
}
#add_payment_method #payment ul.payment_methods, .woocommerce-cart #payment ul.payment_methods, .woocommerce-checkout #payment ul.payment_methods {
  text-align: left;
  padding: 1em;
  border-bottom: var(--border);
  margin: 0;
  list-style: none outside
}
.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register {
  border: 0 solid var(--color-line);
  padding: var(--sp-20);
  margin: 2em 0;
  text-align: left;
  border-radius: 0px;
  box-shadow: 0 0 4px rgba(var(--color-foreground), 10%);
  max-width: 500px;
}
.woocommerce table.shop_table th {
  font-weight: 700;
  padding: var(--sp-20) var(--sp-16);
  line-height: revert
}
.cart-item__details {
  margin-bottom: 1rem
}
.woocommerce ul.order_details {
  margin: 0 0 3em;
  list-style: none;
  padding: 0
}
.woocommerce td.product-name .wc-item-meta p, .woocommerce td.product-name .wc-item-meta:last-child, .woocommerce td.product-name dl.variation p, .woocommerce td.product-name dl.variation:last-child {
  margin-bottom: 0;
  padding: 0
}
.woocommerce-table__line-item {
  box-shadow: var(--shadow-xs)
}
.woocommerce .woocommerce-customer-details address {
  font-style: normal;
  margin-bottom: 0;
  border: 0 solid rgba(var(--color-foreground), .1);
  border-bottom-width: 0;
  border-right-width: 0;
  text-align: left;
  width: 100%;
  border-radius: 0px;
  padding: var(--sp-20) var(--sp-32);
  box-shadow: 0 0 4px rgba(var(--color-foreground), 10%)
}
.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before {
  font-family: WooCommerce;
  content: "\e028";
  display: inline-block;
  position: revert;
  top: 1em;
  left: 1.5em;
  margin-right: .5rem
}
.woocommerce-error, .woocommerce-info, .woocommerce-message {
  padding: 1em;
  margin: 0 0 2em;
  position: relative;
  list-style: none outside;
  width: auto;
  word-wrap: break-word
}
.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: rgb(var(--color-background));
  ;
  background-clip: border-box;
  border: 0 solid rgba(var(--color-foreground), .125);
  border-radius: 0;
  padding: 0rem
}
.card-body {
  flex: 1 1 auto;
  padding: var(--sp-10) 0
}
.badge {
  max-width: 150px;
  line-height: 1;
  ;
  text-align: center;
  vertical-align: baseline
}
.cart-item-card {
  box-shadow: none;
  padding: var(--sp-10) 0
}
.content-article {
  display: grid;
  gap: var(--sp-20)
}
select, input:not([type='checkbox']):not([type=radio]):not([type='submit']) {
  word-wrap: normal;
  border: var(--border);
  min-height: auto;
  width: 100%;
  padding: var(--sp-6) var(--sp-20);
  max-height: 40px;
}
input[type="file"] {
    padding: var(--sp-8) var(--sp-10) !important;
}
button:not(.tspg__thumb, .tswc-swatch) {
  height: 100%;
  max-height: 50px;
}
textarea {
  resize: vertical;
  width: 100%;
  border: var(--border);
  padding: var(--sp-10);
  border-radius: 0px;
  box-shadow: none
}
select:focus, input:focus, textarea:focus {
  outline: none
}
input[type="checkbox"] {
  height: 1.2rem;
  width: 1.2rem;
  margin-right: var(--sp-10)
}
[type="search"] {
  outline-offset: 0;
  -webkit-appearance: textfield;
  outline: 0
}
.wp-block-search__button {
  margin-left: 0;
  word-break: normal
}
select.orderby {
  width: auto
}
@-webkit-keyframes slideInUp {
  0% {
    -webkit-transform: translate3d(0, 20%, 0);
    transform: translate3d(0, 20%, 0);
    visibility: visible
  }
  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
  }
}
@keyframes slideInUp {
  0% {
    -webkit-transform: translate3d(0, 20%, 0);
    transform: translate3d(0, 20%, 0);
    visibility: visible
  }
  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
  }
}
.dropdown-menu {
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both
}
.announcement-section p {
  margin: 0
}
.icons-social-media-header .icons i.fa {
  font-size: 20px
}
.top-menu-header .nav-link {
  padding: 0rem .5rem;
  transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out, border-color 0.3s ease-in-out
}
/*.header-search-result {
  position: absolute;
  width: 100vw;
  left: 0;
  right: 0;
  padding: var(--sp-20);
  background: rgb(var(--color-background));
  z-index: 1;
  margin-top: var(--sp-20)
}*/
.th-woocommerce-MyAccount-navigation li {
  padding: var(--sp-6) 0
}
.card-post-date {
  bottom: 0
}
.card-post-author {
  bottom: 0;
  right: 0
}
.card-post-categories-list {
  left: 0;
  right: 0
}
.comment-form-cookies-consent {
  display: flex;
  align-content: center
}
#wp-comment-cookies-consent {
  margin-right: .5rem
}
.animate-morphing {
  animation: morphing 15s infinite alternate
}
@-webkit-keyframes morphing {
  0% {
    border-radius: 30% 70% 70% 30%/30% 30% 70% 70%;
    box-shadow: 15px 15px 50px rgba(var(--color-foreground), .2)
  }
  25% {
    border-radius: 58% 42% 75% 25%/76% 46% 54% 24%
  }
  50% {
    border-radius: 50% 50% 33% 67%/55% 27% 73% 45%;
    box-shadow: -10px -5px 50px rgba(var(--color-foreground), .2)
  }
  75% {
    border-radius: 33% 67% 58% 42%/63% 68% 32% 37%
  }
}
@keyframes morphing {
  0% {
    border-radius: 30% 70% 70% 30%/30% 30% 70% 70%;
    box-shadow: 15px 15px 50px rgba(var(--color-foreground), .2)
  }
  25% {
    border-radius: 58% 42% 75% 25%/76% 46% 54% 24%
  }
  50% {
    border-radius: 50% 50% 33% 67%/55% 27% 73% 45%;
    box-shadow: -10px -5px 50px rgba(var(--color-foreground), .2)
  }
  75% {
    border-radius: 33% 67% 58% 42%/63% 68% 32% 37%
  }
}
.animate-bg {
  background-size: 400% 400%;
  animation: bg_gradient 15s ease infinite
}
@keyframes bg_gradient {
  0% {
    background-position: 0% 50%
  }
  50% {
    background-position: 100% 50%
  }
  100% {
    background-position: 0% 50%
  }
}
.page-item, .page-item:first-child .page-link, .page-item:last-child .page-link {
  border-radius: 0
}
.th-woo-widget img {
  max-height: 200px;
  max-width: 200px
}
.woocommerce a.added_to_cart {
  padding: var(--sp-20);
  display: none
}
.cart-notification-bubble-wrapper, .cart-notification-bubble-wrapper-mobile, .cart-notification-bubble-wrapper-top-mobile {
  top: -10px;
  right: -5px
}
.cart-notification-bubble-wrapper-footer {
  top: 4px;
  right: 20px
}
.navbar-light .nav-link {
  color: rgb(var(--color-foreground))
}
.orderby {
  font-size: 14px
}
.header-customer-links ul li {
  padding: 0;
  align-items: center;
  justify-content: center;
  display: flex
}
.customer-links {
  gap: var(--sp-10)
}
.g-1, .gy-1 {
  --bs-gutter-y: 10px
}
.g-1, .gx-1 {
  --bs-gutter-x: 10px
}
.g-2, .gy-2 {
  --bs-gutter-y: 20px
}
.g-2, .gx-2 {
  --bs-gutter-x: 20px
}
.g-3, .gy-3 {
  --bs-gutter-y: 30px
}
.g-3, .gx-3 {
  --bs-gutter-x: 30px
}
.g-4, .gy-4 {
  --bs-gutter-y: 40px
}
.g-4, .gx-4 {
  --bs-gutter-x: 40px
}
.g-5, .gy-5 {
  --bs-gutter-y: 50px
}
.g-5, .gx-5 {
  --bs-gutter-x: 50px
}
.g-6, .gy-6 {
  --bs-gutter-y: 60px
}
.g-6, .gx-6 {
  --bs-gutter-x: 60px
}
.g-7, .gy-7 {
  --bs-gutter-y: 70px
}
.g-7, .gx-7 {
  --bs-gutter-x: 70px
}
.g-8, .gy-8 {
  --bs-gutter-y: 80px
}
.g-8, .gx-8 {
  --bs-gutter-x: 80px
}
.g-9, .gy-9 {
  --bs-gutter-y: 90px
}
.g-9, .gx-9 {
  --bs-gutter-x: 90px
}
.g-10, .gy-10 {
  --bs-gutter-y: 100px
}
.g-10, .gx-10 {
  --bs-gutter-x: 100px
}
.pt-0 {
  padding-top: 0px !important
}
.pt-1 {
  padding-top: 10px !important
}
.pt-2 {
  padding-top: 20px !important
}
.pt-3 {
  padding-top: 30px !important
}
.pt-4 {
  padding-top: 40px !important
}
.pt-5 {
  padding-top: 50px !important
}
.pt-6 {
  padding-top: 60px !important
}
.pt-7 {
  padding-top: 70px !important
}
.pt-8 {
  padding-top: 80px !important
}
.pt-9 {
  padding-top: 90px !important
}
.pt-10 {
  padding-top: 100px !important
}
.pb-0 {
  padding-bottom: 0px !important
}
.pb-1 {
  padding-bottom: 10px !important
}
.pb-2 {
  padding-bottom: 20px !important
}
.pb-3 {
  padding-bottom: 30px !important
}
.pb-4 {
  padding-bottom: 40px !important
}
.pb-5 {
  padding-bottom: 50px !important
}
.pb-6 {
  padding-bottom: 60px !important
}
.pb-7 {
  padding-bottom: 70px !important
}
.pb-8 {
  padding-bottom: 80px !important
}
.pb-9 {
  padding-bottom: 90px !important
}
.pb-10 {
  padding-bottom: 100px !important
}
.ps-0 {
  padding-left: 0px !important
}
.ps-1 {
  padding-left: 10px !important
}
.ps-2 {
  padding-left: 20px !important
}
.ps-3 {
  padding-left: 30px !important
}
.ps-4 {
  padding-left: 40px !important
}
.ps-5 {
  padding-left: 50px !important
}
.ps-6 {
  padding-left: 60px !important
}
.ps-7 {
  padding-left: 70px !important
}
.ps-8 {
  padding-left: 80px !important
}
.ps-9 {
  padding-left: 90px !important
}
.ps-10 {
  padding-left: 100px !important
}
.pe-0 {
  padding-right: 0px !important
}
.pe-1 {
  padding-right: 10px !important
}
.pe-2 {
  padding-right: 20px !important
}
.pe-3 {
  padding-right: 30px !important
}
.pe-4 {
  padding-right: 40px !important
}
.pe-5 {
  padding-right: 50px !important
}
.pe-6 {
  padding-right: 60px !important
}
.pe-7 {
  padding-right: 70px !important
}
.pe-8 {
  padding-right: 80px !important
}
.pe-9 {
  padding-right: 90px !important
}
.pe-10 {
  padding-right: 100px !important
}
.mt-0 {
  margin-top: 0px !important
}
.mt-1 {
  margin-top: 10px !important
}
.mt-2 {
  margin-top: 20px !important
}
.mt-3 {
  margin-top: 30px !important
}
.mt-4 {
  margin-top: 40px !important
}
.mt-5 {
  margin-top: 50px !important
}
.mt-6 {
  margin-top: 60px !important
}
.mt-7 {
  margin-top: 70px !important
}
.mt-8 {
  margin-top: 80px !important
}
.mt-9 {
  margin-top: 90px !important
}
.mt-10 {
  margin-top: 100px !important
}
.mb-0 {
  margin-bottom: 0px !important
}
.mb-1 {
  margin-bottom: 10px !important
}
.mb-2 {
  margin-bottom: 20px !important
}
.mb-3 {
  margin-bottom: 30px !important
}
.mb-4 {
  margin-bottom: 40px !important
}
.mb-5 {
  margin-bottom: 50px !important
}
.mb-6 {
  margin-bottom: 60px !important
}
.mb-7 {
  margin-bottom: 70px !important
}
.mb-8 {
  margin-bottom: 80px !important
}
.mb-9 {
  margin-bottom: 90px !important
}
.mb-10 {
  margin-bottom: 100px !important
}
.ms-0 {
  margin-left: 0px !important
}
.ms-1 {
  margin-left: 10px !important
}
.ms-2 {
  margin-left: 20px !important
}
.ms-3 {
  margin-left: 30px !important
}
.ms-4 {
  margin-left: 40px !important
}
.ms-5 {
  margin-left: 50px !important
}
.ms-6 {
  margin-left: 60px !important
}
.ms-7 {
  margin-left: 70px !important
}
.ms-8 {
  margin-left: 80px !important
}
.ms-9 {
  margin-left: 90px !important
}
.ms-10 {
  margin-left: 100px !important
}
.me-0 {
  margin-right: 0px !important
}
.me-1 {
  margin-right: 10px !important
}
.me-2 {
  margin-right: 20px !important
}
.me-3 {
  margin-right: 30px !important
}
.me-4 {
  margin-right: 40px !important
}
.me-5 {
  margin-right: 50px !important
}
.me-6 {
  margin-right: 60px !important
}
.me-7 {
  margin-right: 70px !important
}
.me-8 {
  margin-right: 80px !important
}
.me-9 {
  margin-right: 90px !important
}
.me-10 {
  margin-right: 100px !important
}
@media (min-width:768px) {
  .pt-md-0 {
    padding-top: 0px !important
  }
  .pt-md-1 {
    padding-top: 10px !important
  }
  .pt-md-2 {
    padding-top: 20px !important
  }
  .pt-md-3 {
    padding-top: 30px !important
  }
  .pt-md-4 {
    padding-top: 40px !important
  }
  .pt-md-5 {
    padding-top: 50px !important
  }
  .pt-md-6 {
    padding-top: 60px !important
  }
  .pt-md-7 {
    padding-top: 70px !important
  }
  .pt-md-8 {
    padding-top: 80px !important
  }
  .pt-md-9 {
    padding-top: 90px !important
  }
  .pt-md-10 {
    padding-top: 100px !important
  }
  .pb-md-0 {
    padding-bottom: 0px !important
  }
  .pb-md-1 {
    padding-bottom: 10px !important
  }
  .pb-md-2 {
    padding-bottom: 20px !important
  }
  .pb-md-3 {
    padding-bottom: 30px !important
  }
  .pb-md-4 {
    padding-bottom: 40px !important
  }
  .pb-md-5 {
    padding-bottom: 50px !important
  }
  .pb-md-6 {
    padding-bottom: 60px !important
  }
  .pb-md-7 {
    padding-bottom: 70px !important
  }
  .pb-md-8 {
    padding-bottom: 80px !important
  }
  .pb-md-9 {
    padding-bottom: 90px !important
  }
  .pb-md-10 {
    padding-bottom: 100px !important
  }
  .ps-md-0 {
    padding-left: 0px !important
  }
  .ps-md-1 {
    padding-left: 10px !important
  }
  .ps-md-2 {
    padding-left: 20px !important
  }
  .ps-md-3 {
    padding-left: 30px !important
  }
  .ps-md-4 {
    padding-left: 40px !important
  }
  .ps-md-5 {
    padding-left: 50px !important
  }
  .ps-md-6 {
    padding-left: 60px !important
  }
  .ps-md-7 {
    padding-left: 70px !important
  }
  .ps-md-8 {
    padding-left: 80px !important
  }
  .ps-md-9 {
    padding-left: 90px !important
  }
  .ps-md-10 {
    padding-left: 100px !important
  }
  .pe-md-0 {
    padding-right: 0px !important
  }
  .pe-md-1 {
    padding-right: 10px !important
  }
  .pe-md-2 {
    padding-right: 20px !important
  }
  .pe-md-3 {
    padding-right: 30px !important
  }
  .pe-md-4 {
    padding-right: 40px !important
  }
  .pe-md-5 {
    padding-right: 50px !important
  }
  .pe-md-6 {
    padding-right: 60px !important
  }
  .pe-md-7 {
    padding-right: 70px !important
  }
  .pe-md-8 {
    padding-right: 80px !important
  }
  .pe-md-9 {
    padding-right: 90px !important
  }
  .pe-md-10 {
    padding-right: 100px !important
  }
  .mt-md-0 {
    margin-top: 0px !important
  }
  .mt-md-1 {
    margin-top: 10px !important
  }
  .mt-md-2 {
    margin-top: 20px !important
  }
  .mt-md-3 {
    margin-top: 30px !important
  }
  .mt-md-4 {
    margin-top: 40px !important
  }
  .mt-md-5 {
    margin-top: 50px !important
  }
  .mt-md-6 {
    margin-top: 60px !important
  }
  .mt-md-7 {
    margin-top: 70px !important
  }
  .mt-md-8 {
    margin-top: 80px !important
  }
  .mt-md-9 {
    margin-top: 90px !important
  }
  .mt-md-10 {
    margin-top: 100px !important
  }
  .mb-md-0 {
    margin-bottom: 0px !important
  }
  .mb-md-1 {
    margin-bottom: 10px !important
  }
  .mb-md-2 {
    margin-bottom: 20px !important
  }
  .mb-md-3 {
    margin-bottom: 30px !important
  }
  .mb-md-4 {
    margin-bottom: 40px !important
  }
  .mb-md-5 {
    margin-bottom: 50px !important
  }
  .mb-md-6 {
    margin-bottom: 60px !important
  }
  .mb-md-7 {
    margin-bottom: 70px !important
  }
  .mb-md-8 {
    margin-bottom: 80px !important
  }
  .mb-md-9 {
    margin-bottom: 90px !important
  }
  .mb-md-10 {
    margin-bottom: 100px !important
  }
  .ms-md-0 {
    margin-left: 0px !important
  }
  .ms-md-1 {
    margin-left: 10px !important
  }
  .ms-md-2 {
    margin-left: 20px !important
  }
  .ms-md-3 {
    margin-left: 30px !important
  }
  .ms-md-4 {
    margin-left: 40px !important
  }
  .ms-md-5 {
    margin-left: 50px !important
  }
  .ms-md-6 {
    margin-left: 60px !important
  }
  .ms-md-7 {
    margin-left: 70px !important
  }
  .ms-md-8 {
    margin-left: 80px !important
  }
  .ms-md-9 {
    margin-left: 90px !important
  }
  .ms-md-10 {
    margin-left: 100px !important
  }
  .me-md-0 {
    margin-right: 0px !important
  }
  .me-md-1 {
    margin-right: 10px !important
  }
  .me-md-2 {
    margin-right: 20px !important
  }
  .me-md-3 {
    margin-right: 30px !important
  }
  .me-md-4 {
    margin-right: 40px !important
  }
  .me-md-5 {
    margin-right: 50px !important
  }
  .me-md-6 {
    margin-right: 60px !important
  }
  .me-md-7 {
    margin-right: 70px !important
  }
  .me-md-8 {
    margin-right: 80px !important
  }
  .me-md-9 {
    margin-right: 90px !important
  }
  .me-md-10 {
    margin-right: 100px !important
  }
}
@media (min-width:576px) {
  .pt-sm-0 {
    padding-top: 0px !important
  }
  .pt-sm-1 {
    padding-top: 10px !important
  }
  .pt-sm-2 {
    padding-top: 20px !important
  }
  .pt-sm-3 {
    padding-top: 30px !important
  }
  .pt-sm-4 {
    padding-top: 40px !important
  }
  .pt-sm-5 {
    padding-top: 50px !important
  }
  .pt-sm-6 {
    padding-top: 60px !important
  }
  .pt-sm-7 {
    padding-top: 70px !important
  }
  .pt-sm-8 {
    padding-top: 80px !important
  }
  .pt-sm-9 {
    padding-top: 90px !important
  }
  .pt-sm-10 {
    padding-top: 100px !important
  }
  .pb-sm-0 {
    padding-bottom: 0px !important
  }
  .pb-sm-1 {
    padding-bottom: 10px !important
  }
  .pb-sm-2 {
    padding-bottom: 20px !important
  }
  .pb-sm-3 {
    padding-bottom: 30px !important
  }
  .pb-sm-4 {
    padding-bottom: 40px !important
  }
  .pb-sm-5 {
    padding-bottom: 50px !important
  }
  .pb-sm-6 {
    padding-bottom: 60px !important
  }
  .pb-sm-7 {
    padding-bottom: 70px !important
  }
  .pb-sm-8 {
    padding-bottom: 80px !important
  }
  .pb-sm-9 {
    padding-bottom: 90px !important
  }
  .pb-sm-10 {
    padding-bottom: 100px !important
  }
  .ps-sm-0 {
    padding-left: 0px !important
  }
  .ps-sm-1 {
    padding-left: 10px !important
  }
  .ps-sm-2 {
    padding-left: 20px !important
  }
  .ps-sm-3 {
    padding-left: 30px !important
  }
  .ps-sm-4 {
    padding-left: 40px !important
  }
  .ps-sm-5 {
    padding-left: 50px !important
  }
  .ps-sm-6 {
    padding-left: 60px !important
  }
  .ps-sm-7 {
    padding-left: 70px !important
  }
  .ps-sm-8 {
    padding-left: 80px !important
  }
  .ps-sm-9 {
    padding-left: 90px !important
  }
  .ps-sm-10 {
    padding-left: 100px !important
  }
  .pe-sm-0 {
    padding-right: 0px !important
  }
  .pe-sm-1 {
    padding-right: 10px !important
  }
  .pe-sm-2 {
    padding-right: 20px !important
  }
  .pe-sm-3 {
    padding-right: 30px !important
  }
  .pe-sm-4 {
    padding-right: 40px !important
  }
  .pe-sm-5 {
    padding-right: 50px !important
  }
  .pe-sm-6 {
    padding-right: 60px !important
  }
  .pe-sm-7 {
    padding-right: 70px !important
  }
  .pe-sm-8 {
    padding-right: 80px !important
  }
  .pe-sm-9 {
    padding-right: 90px !important
  }
  .pe-sm-10 {
    padding-right: 100px !important
  }
  .mt-sm-0 {
    margin-top: 0px !important
  }
  .mt-sm-1 {
    margin-top: 10px !important
  }
  .mt-sm-2 {
    margin-top: 20px !important
  }
  .mt-sm-3 {
    margin-top: 30px !important
  }
  .mt-sm-4 {
    margin-top: 40px !important
  }
  .mt-sm-5 {
    margin-top: 50px !important
  }
  .mt-sm-6 {
    margin-top: 60px !important
  }
  .mt-sm-7 {
    margin-top: 70px !important
  }
  .mt-sm-8 {
    margin-top: 80px !important
  }
  .mt-sm-9 {
    margin-top: 90px !important
  }
  .mt-sm-10 {
    margin-top: 100px !important
  }
  .mb-sm-0 {
    margin-bottom: 0px !important
  }
  .mb-sm-1 {
    margin-bottom: 10px !important
  }
  .mb-sm-2 {
    margin-bottom: 20px !important
  }
  .mb-sm-3 {
    margin-bottom: 30px !important
  }
  .mb-sm-4 {
    margin-bottom: 40px !important
  }
  .mb-sm-5 {
    margin-bottom: 50px !important
  }
  .mb-sm-6 {
    margin-bottom: 60px !important
  }
  .mb-sm-7 {
    margin-bottom: 70px !important
  }
  .mb-sm-8 {
    margin-bottom: 80px !important
  }
  .mb-sm-9 {
    margin-bottom: 90px !important
  }
  .mb-sm-10 {
    margin-bottom: 100px !important
  }
  .ms-sm-0 {
    margin-left: 0px !important
  }
  .ms-sm-1 {
    margin-left: 10px !important
  }
  .ms-sm-2 {
    margin-left: 20px !important
  }
  .ms-sm-3 {
    margin-left: 30px !important
  }
  .ms-sm-4 {
    margin-left: 40px !important
  }
  .ms-sm-5 {
    margin-left: 50px !important
  }
  .ms-sm-6 {
    margin-left: 60px !important
  }
  .ms-sm-7 {
    margin-left: 70px !important
  }
  .ms-sm-8 {
    margin-left: 80px !important
  }
  .ms-sm-9 {
    margin-left: 90px !important
  }
  .ms-sm-10 {
    margin-left: 100px !important
  }
  .me-sm-0 {
    margin-right: 0px !important
  }
  .me-sm-1 {
    margin-right: 10px !important
  }
  .me-sm-2 {
    margin-right: 20px !important
  }
  .me-sm-3 {
    margin-right: 30px !important
  }
  .me-sm-4 {
    margin-right: 40px !important
  }
  .me-sm-5 {
    margin-right: 50px !important
  }
  .me-sm-6 {
    margin-right: 60px !important
  }
  .me-sm-7 {
    margin-right: 70px !important
  }
  .me-sm-8 {
    margin-right: 80px !important
  }
  .me-sm-9 {
    margin-right: 90px !important
  }
  .me-sm-10 {
    margin-right: 100px !important
  }
}
@media (min-width:992px) {
  .pt-lg-0 {
    padding-top: 0px !important
  }
  .pt-lg-1 {
    padding-top: 10px !important
  }
  .pt-lg-2 {
    padding-top: 20px !important
  }
  .pt-lg-3 {
    padding-top: 30px !important
  }
  .pt-lg-4 {
    padding-top: 40px !important
  }
  .pt-lg-5 {
    padding-top: 50px !important
  }
  .pt-lg-6 {
    padding-top: 60px !important
  }
  .pt-lg-7 {
    padding-top: 70px !important
  }
  .pt-lg-8 {
    padding-top: 80px !important
  }
  .pt-lg-9 {
    padding-top: 90px !important
  }
  .pt-lg-10 {
    padding-top: 100px !important
  }
  .pb-lg-0 {
    padding-bottom: 0px !important
  }
  .pb-lg-1 {
    padding-bottom: 10px !important
  }
  .pb-lg-2 {
    padding-bottom: 20px !important
  }
  .pb-lg-3 {
    padding-bottom: 30px !important
  }
  .pb-lg-4 {
    padding-bottom: 40px !important
  }
  .pb-lg-5 {
    padding-bottom: 50px !important
  }
  .pb-lg-6 {
    padding-bottom: 60px !important
  }
  .pb-lg-7 {
    padding-bottom: 70px !important
  }
  .pb-lg-8 {
    padding-bottom: 80px !important
  }
  .pb-lg-9 {
    padding-bottom: 90px !important
  }
  .pb-lg-10 {
    padding-bottom: 100px !important
  }
  .ps-lg-0 {
    padding-left: 0px !important
  }
  .ps-lg-1 {
    padding-left: 10px !important
  }
  .ps-lg-2 {
    padding-left: 20px !important
  }
  .ps-lg-3 {
    padding-left: 30px !important
  }
  .ps-lg-4 {
    padding-left: 40px !important
  }
  .ps-lg-5 {
    padding-left: 50px !important
  }
  .ps-lg-6 {
    padding-left: 60px !important
  }
  .ps-lg-7 {
    padding-left: 70px !important
  }
  .ps-lg-8 {
    padding-left: 80px !important
  }
  .ps-lg-9 {
    padding-left: 90px !important
  }
  .ps-lg-10 {
    padding-left: 100px !important
  }
  .pe-lg-0 {
    padding-right: 0px !important
  }
  .pe-lg-1 {
    padding-right: 10px !important
  }
  .pe-lg-2 {
    padding-right: 20px !important
  }
  .pe-lg-3 {
    padding-right: 30px !important
  }
  .pe-lg-4 {
    padding-right: 40px !important
  }
  .pe-lg-5 {
    padding-right: 50px !important
  }
  .pe-lg-6 {
    padding-right: 60px !important
  }
  .pe-lg-7 {
    padding-right: 70px !important
  }
  .pe-lg-8 {
    padding-right: 80px !important
  }
  .pe-lg-9 {
    padding-right: 90px !important
  }
  .pe-lg-10 {
    padding-right: 100px !important
  }
  .mt-lg-0 {
    margin-top: 0px !important
  }
  .mt-lg-1 {
    margin-top: 10px !important
  }
  .mt-lg-2 {
    margin-top: 20px !important
  }
  .mt-lg-3 {
    margin-top: 30px !important
  }
  .mt-lg-4 {
    margin-top: 40px !important
  }
  .mt-lg-5 {
    margin-top: 50px !important
  }
  .mt-lg-6 {
    margin-top: 60px !important
  }
  .mt-lg-7 {
    margin-top: 70px !important
  }
  .mt-lg-8 {
    margin-top: 80px !important
  }
  .mt-lg-9 {
    margin-top: 90px !important
  }
  .mt-lg-10 {
    margin-top: 100px !important
  }
  .mb-lg-0 {
    margin-bottom: 0px !important
  }
  .mb-lg-1 {
    margin-bottom: 10px !important
  }
  .mb-lg-2 {
    margin-bottom: 20px !important
  }
  .mb-lg-3 {
    margin-bottom: 30px !important
  }
  .mb-lg-4 {
    margin-bottom: 40px !important
  }
  .mb-lg-5 {
    margin-bottom: 50px !important
  }
  .mb-lg-6 {
    margin-bottom: 60px !important
  }
  .mb-lg-7 {
    margin-bottom: 70px !important
  }
  .mb-lg-8 {
    margin-bottom: 80px !important
  }
  .mb-lg-9 {
    margin-bottom: 90px !important
  }
  .mb-lg-10 {
    margin-bottom: 100px !important
  }
  .ms-lg-0 {
    margin-left: 0px !important
  }
  .ms-lg-1 {
    margin-left: 10px !important
  }
  .ms-lg-2 {
    margin-left: 20px !important
  }
  .ms-lg-3 {
    margin-left: 30px !important
  }
  .ms-lg-4 {
    margin-left: 40px !important
  }
  .ms-lg-5 {
    margin-left: 50px !important
  }
  .ms-lg-6 {
    margin-left: 60px !important
  }
  .ms-lg-7 {
    margin-left: 70px !important
  }
  .ms-lg-8 {
    margin-left: 80px !important
  }
  .ms-lg-9 {
    margin-left: 90px !important
  }
  .ms-lg-10 {
    margin-left: 100px !important
  }
  .me-lg-0 {
    margin-right: 0px !important
  }
  .me-lg-1 {
    margin-right: 10px !important
  }
  .me-lg-2 {
    margin-right: 20px !important
  }
  .me-lg-3 {
    margin-right: 30px !important
  }
  .me-lg-4 {
    margin-right: 40px !important
  }
  .me-lg-5 {
    margin-right: 50px !important
  }
  .me-lg-6 {
    margin-right: 60px !important
  }
  .me-lg-7 {
    margin-right: 70px !important
  }
  .me-lg-8 {
    margin-right: 80px !important
  }
  .me-lg-9 {
    margin-right: 90px !important
  }
  .me-lg-10 {
    margin-right: 100px !important
  }
}
@media (min-width:1200px) {
  .pt-xl-0 {
    padding-top: 0px !important
  }
  .pt-xl-1 {
    padding-top: 10px !important
  }
  .pt-xl-2 {
    padding-top: 20px !important
  }
  .pt-xl-3 {
    padding-top: 30px !important
  }
  .pt-xl-4 {
    padding-top: 40px !important
  }
  .pt-xl-5 {
    padding-top: 50px !important
  }
  .pt-xl-6 {
    padding-top: 60px !important
  }
  .pt-xl-7 {
    padding-top: 70px !important
  }
  .pt-xl-8 {
    padding-top: 80px !important
  }
  .pt-xl-9 {
    padding-top: 90px !important
  }
  .pt-xl-10 {
    padding-top: 100px !important
  }
  .pb-xl-0 {
    padding-bottom: 0px !important
  }
  .pb-xl-1 {
    padding-bottom: 10px !important
  }
  .pb-xl-2 {
    padding-bottom: 20px !important
  }
  .pb-xl-3 {
    padding-bottom: 30px !important
  }
  .pb-xl-4 {
    padding-bottom: 40px !important
  }
  .pb-xl-5 {
    padding-bottom: 50px !important
  }
  .pb-xl-6 {
    padding-bottom: 60px !important
  }
  .pb-xl-7 {
    padding-bottom: 70px !important
  }
  .pb-xl-8 {
    padding-bottom: 80px !important
  }
  .pb-xl-9 {
    padding-bottom: 90px !important
  }
  .pb-xl-10 {
    padding-bottom: 100px !important
  }
  .ps-xl-0 {
    padding-left: 0px !important
  }
  .ps-xl-1 {
    padding-left: 10px !important
  }
  .ps-xl-2 {
    padding-left: 20px !important
  }
  .ps-xl-3 {
    padding-left: 30px !important
  }
  .ps-xl-4 {
    padding-left: 40px !important
  }
  .ps-xl-5 {
    padding-left: 50px !important
  }
  .ps-xl-6 {
    padding-left: 60px !important
  }
  .ps-xl-7 {
    padding-left: 70px !important
  }
  .ps-xl-8 {
    padding-left: 80px !important
  }
  .ps-xl-9 {
    padding-left: 90px !important
  }
  .ps-xl-10 {
    padding-left: 100px !important
  }
  .pe-xl-0 {
    padding-right: 0px !important
  }
  .pe-xl-1 {
    padding-right: 10px !important
  }
  .pe-xl-2 {
    padding-right: 20px !important
  }
  .pe-xl-3 {
    padding-right: 30px !important
  }
  .pe-xl-4 {
    padding-right: 40px !important
  }
  .pe-xl-5 {
    padding-right: 50px !important
  }
  .pe-xl-6 {
    padding-right: 60px !important
  }
  .pe-xl-7 {
    padding-right: 70px !important
  }
  .pe-xl-8 {
    padding-right: 80px !important
  }
  .pe-xl-9 {
    padding-right: 90px !important
  }
  .pe-xl-10 {
    padding-right: 100px !important
  }
  .mt-xl-0 {
    margin-top: 0px !important
  }
  .mt-xl-1 {
    margin-top: 10px !important
  }
  .mt-xl-2 {
    margin-top: 20px !important
  }
  .mt-xl-3 {
    margin-top: 30px !important
  }
  .mt-xl-4 {
    margin-top: 40px !important
  }
  .mt-xl-5 {
    margin-top: 50px !important
  }
  .mt-xl-6 {
    margin-top: 60px !important
  }
  .mt-xl-7 {
    margin-top: 70px !important
  }
  .mt-xl-8 {
    margin-top: 80px !important
  }
  .mt-xl-9 {
    margin-top: 90px !important
  }
  .mt-xl-10 {
    margin-top: 100px !important
  }
  .mb-xl-0 {
    margin-bottom: 0px !important
  }
  .mb-xl-1 {
    margin-bottom: 10px !important
  }
  .mb-xl-2 {
    margin-bottom: 20px !important
  }
  .mb-xl-3 {
    margin-bottom: 30px !important
  }
  .mb-xl-4 {
    margin-bottom: 40px !important
  }
  .mb-xl-5 {
    margin-bottom: 50px !important
  }
  .mb-xl-6 {
    margin-bottom: 60px !important
  }
  .mb-xl-7 {
    margin-bottom: 70px !important
  }
  .mb-xl-8 {
    margin-bottom: 80px !important
  }
  .mb-xl-9 {
    margin-bottom: 90px !important
  }
  .mb-xl-10 {
    margin-bottom: 100px !important
  }
  .ms-xl-0 {
    margin-left: 0px !important
  }
  .ms-xl-1 {
    margin-left: 10px !important
  }
  .ms-xl-2 {
    margin-left: 20px !important
  }
  .ms-xl-3 {
    margin-left: 30px !important
  }
  .ms-xl-4 {
    margin-left: 40px !important
  }
  .ms-xl-5 {
    margin-left: 50px !important
  }
  .ms-xl-6 {
    margin-left: 60px !important
  }
  .ms-xl-7 {
    margin-left: 70px !important
  }
  .ms-xl-8 {
    margin-left: 80px !important
  }
  .ms-xl-9 {
    margin-left: 90px !important
  }
  .ms-xl-10 {
    margin-left: 100px !important
  }
  .me-xl-0 {
    margin-right: 0px !important
  }
  .me-xl-1 {
    margin-right: 10px !important
  }
  .me-xl-2 {
    margin-right: 20px !important
  }
  .me-xl-3 {
    margin-right: 30px !important
  }
  .me-xl-4 {
    margin-right: 40px !important
  }
  .me-xl-5 {
    margin-right: 50px !important
  }
  .me-xl-6 {
    margin-right: 60px !important
  }
  .me-xl-7 {
    margin-right: 70px !important
  }
  .me-xl-8 {
    margin-right: 80px !important
  }
  .me-xl-9 {
    margin-right: 90px !important
  }
  .me-xl-10 {
    margin-right: 100px !important
  }
}
@media (min-width:1400px) {
  .pt-xxl-0 {
    padding-top: 0px !important
  }
  .pt-xxl-1 {
    padding-top: 10px !important
  }
  .pt-xxl-2 {
    padding-top: 20px !important
  }
  .pt-xxl-3 {
    padding-top: 30px !important
  }
  .pt-xxl-4 {
    padding-top: 40px !important
  }
  .pt-xxl-5 {
    padding-top: 50px !important
  }
  .pt-xxl-6 {
    padding-top: 60px !important
  }
  .pt-xxl-7 {
    padding-top: 70px !important
  }
  .pt-xxl-8 {
    padding-top: 80px !important
  }
  .pt-xxl-9 {
    padding-top: 90px !important
  }
  .pt-xxl-10 {
    padding-top: 100px !important
  }
  .pb-xxl-0 {
    padding-bottom: 0px !important
  }
  .pb-xxl-1 {
    padding-bottom: 10px !important
  }
  .pb-xxl-2 {
    padding-bottom: 20px !important
  }
  .pb-xxl-3 {
    padding-bottom: 30px !important
  }
  .pb-xxl-4 {
    padding-bottom: 40px !important
  }
  .pb-xxl-5 {
    padding-bottom: 50px !important
  }
  .pb-xxl-6 {
    padding-bottom: 60px !important
  }
  .pb-xxl-7 {
    padding-bottom: 70px !important
  }
  .pb-xxl-8 {
    padding-bottom: 80px !important
  }
  .pb-xxl-9 {
    padding-bottom: 90px !important
  }
  .pb-xxl-10 {
    padding-bottom: 100px !important
  }
  .ps-xxl-0 {
    padding-left: 0px !important
  }
  .ps-xxl-1 {
    padding-left: 10px !important
  }
  .ps-xxl-2 {
    padding-left: 20px !important
  }
  .ps-xxl-3 {
    padding-left: 30px !important
  }
  .ps-xxl-4 {
    padding-left: 40px !important
  }
  .ps-xxl-5 {
    padding-left: 50px !important
  }
  .ps-xxl-6 {
    padding-left: 60px !important
  }
  .ps-xxl-7 {
    padding-left: 70px !important
  }
  .ps-xxl-8 {
    padding-left: 80px !important
  }
  .ps-xxl-9 {
    padding-left: 90px !important
  }
  .ps-xxl-10 {
    padding-left: 100px !important
  }
  .pe-xxl-0 {
    padding-right: 0px !important
  }
  .pe-xxl-1 {
    padding-right: 10px !important
  }
  .pe-xxl-2 {
    padding-right: 20px !important
  }
  .pe-xxl-3 {
    padding-right: 30px !important
  }
  .pe-xxl-4 {
    padding-right: 40px !important
  }
  .pe-xxl-5 {
    padding-right: 50px !important
  }
  .pe-xxl-6 {
    padding-right: 60px !important
  }
  .pe-xxl-7 {
    padding-right: 70px !important
  }
  .pe-xxl-8 {
    padding-right: 80px !important
  }
  .pe-xxl-9 {
    padding-right: 90px !important
  }
  .pe-xxl-10 {
    padding-right: 100px !important
  }
  .mt-xxl-0 {
    margin-top: 0px !important
  }
  .mt-xxl-1 {
    margin-top: 10px !important
  }
  .mt-xxl-2 {
    margin-top: 20px !important
  }
  .mt-xxl-3 {
    margin-top: 30px !important
  }
  .mt-xxl-4 {
    margin-top: 40px !important
  }
  .mt-xxl-5 {
    margin-top: 50px !important
  }
  .mt-xxl-6 {
    margin-top: 60px !important
  }
  .mt-xxl-7 {
    margin-top: 70px !important
  }
  .mt-xxl-8 {
    margin-top: 80px !important
  }
  .mt-xxl-9 {
    margin-top: 90px !important
  }
  .mt-xxl-10 {
    margin-top: 100px !important
  }
  .mb-xxl-0 {
    margin-bottom: 0px !important
  }
  .mb-xxl-1 {
    margin-bottom: 10px !important
  }
  .mb-xxl-2 {
    margin-bottom: 20px !important
  }
  .mb-xxl-3 {
    margin-bottom: 30px !important
  }
  .mb-xxl-4 {
    margin-bottom: 40px !important
  }
  .mb-xxl-5 {
    margin-bottom: 50px !important
  }
  .mb-xxl-6 {
    margin-bottom: 60px !important
  }
  .mb-xxl-7 {
    margin-bottom: 70px !important
  }
  .mb-xxl-8 {
    margin-bottom: 80px !important
  }
  .mb-xxl-9 {
    margin-bottom: 90px !important
  }
  .mb-xxl-10 {
    margin-bottom: 100px !important
  }
  .ms-xxl-0 {
    margin-left: 0px !important
  }
  .ms-xxl-1 {
    margin-left: 10px !important
  }
  .ms-xxl-2 {
    margin-left: 20px !important
  }
  .ms-xxl-3 {
    margin-left: 30px !important
  }
  .ms-xxl-4 {
    margin-left: 40px !important
  }
  .ms-xxl-5 {
    margin-left: 50px !important
  }
  .ms-xxl-6 {
    margin-left: 60px !important
  }
  .ms-xxl-7 {
    margin-left: 70px !important
  }
  .ms-xxl-8 {
    margin-left: 80px !important
  }
  .ms-xxl-9 {
    margin-left: 90px !important
  }
  .ms-xxl-10 {
    margin-left: 100px !important
  }
  .me-xxl-0 {
    margin-right: 0px !important
  }
  .me-xxl-1 {
    margin-right: 10px !important
  }
  .me-xxl-2 {
    margin-right: 20px !important
  }
  .me-xxl-3 {
    margin-right: 30px !important
  }
  .me-xxl-4 {
    margin-right: 40px !important
  }
  .me-xxl-5 {
    margin-right: 50px !important
  }
  .me-xxl-6 {
    margin-right: 60px !important
  }
  .me-xxl-7 {
    margin-right: 70px !important
  }
  .me-xxl-8 {
    margin-right: 80px !important
  }
  .me-xxl-9 {
    margin-right: 90px !important
  }
  .me-xxl-10 {
    margin-right: 100px !important
  }
}
.entry-footer, .page-content, .entry-header {
  display: grid;
  column-gap: var(--sp-10);
  row-gap: var(--sp-10)
}
.comment-body, .comment-respond, .comment-form, {
  display: grid;
  column-gap: var(--sp-10)
}
.card > *:not(.card-image), .comment-form > *, .comment-respond > *, .comment-body > * {
  padding-block-end: 0px
}
.comment-meta, .wp-block-group__inner-container, .wp-block-search, .post_nav_section, .comment-form-comment, .comment-form-rating {
  display: grid;
  column-gap: var(--sp-10);
  row-gap: 0px
}
.comment {
  display: grid;
  column-gap: var(--horizontal-spacing-px);
  row-gap: var(--vertical-spacing-px)
}
.default-page {
  display: grid;
  column-gap: var(--horizontal-spacing);
  row-gap: var(--vertical-spacing)
}
.comment-respond small, .comment-respond .small {
  margin-left: var(--sp-10)
}
.wp-block-latest-comments__comment {
  list-style: none;
  margin-bottom: 0
}
small, .small {
  font-size: 14px
}
.post-tags a {
  margin-right: var(--sp-10)
}
.header_search_modal {
  height: fit-content !important
}
.header-icon i {
  font-size: var(--header-icon-size)
}
.navigation-menu {
  display: flex;
  align-items: center
}
.breadcrumb-wrapper {
  background-size: cover
}
.woocommerce #content div.product div.summary, .woocommerce div.product div.summary, .woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary, .product_meta, .wc-tab, #comments, .woocommerce-loop-product__link {
  display: grid;
  column-gap: var(--sp-10);
}
ul.tabs {
  padding-left: 0;
  border-bottom: var(--border);
  margin-bottom: var(--sp-10)
}
ul.tabs li {
  list-style: none;
  margin: 0
}
.wc-tab {
  padding: var(--sp-20) 0
}
.tablink, button.tablink, .woocommerce div.product .woocommerce-tabs ul.tabs li {
  font-size: 18px;
  background: rgb(var(--color-background));
  color: rgb(var(--color-foreground));
  cursor: pointer;
  border: 0 solid rgba(var(--color-background), 0);
  transition: var(--duration-default, 0.25s) all;
  text-wrap: nowrap;
  padding: var(--sp-12) var(--sp-20);
  margin-bottom: 0
}
.tablink.active, .tablink:hover {
  opacity: 1;
  color: rgb(var(--color-foreground));
  margin-bottom: 0
}
.tablink.active:after {
  width: 100%
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  display: inline-block;
  position: unset;
  z-index: 0;
  margin: 0;
  padding: 0em
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::after, .woocommerce div.product .woocommerce-tabs ul.tabs li::before {
  border: none;
  position: unset;
  bottom: -1px;
  width: 5px;
  height: 5px;
  content: " ";
  box-sizing: border-box
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  padding: 1em 0
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  list-style: none;
  padding: 0;
  margin: 0 0 1.618em;
  overflow: hidden;
  position: relative
}
.wc-tabs {
  display: flex;
  column-gap: var(--horizontal-spacing);
  row-gap: var(--vertical-spacing);
  overflow: auto;
  scroll-behavior: smooth
}
.woocommerce #content div.product .woocommerce-tabs ul.tabs li, .woocommerce div.product .woocommerce-tabs ul.tabs li, .woocommerce-page #content div.product .woocommerce-tabs ul.tabs li, .woocommerce-page div.product .woocommerce-tabs ul.tabs li {
  display: inline-block;
  margin-bottom: 1px
}
.woocommerce div.product form.cart {
  margin-bottom: 0;
  gap: 0px;
  display: grid
}
.woocommerce div.product form.cart .variations:not(:empty) {
  margin-bottom: 0em;
  border: 0;
  width: 100%;
}
.woocommerce span.onsale, span.onsale {
  min-height: auto;
  min-width: 3.236em;
  padding: unset;
  font-size: 12px;
  font-weight: 500;
  position: absolute;
  text-align: center;
  line-height: inherit;
  top: 2em;
  left: 2em;
  margin: 0;
  border-radius: 0px;
  z-index: 9
}
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .stock {
  color: rgb(var(--color-foreground))
}
.woocommerce div.product p.price, .woocommerce div.product span.price {
  display: flex;
  row-gap: var(--sp-10);
  column-gap: var(--sp-10)
}
.woocommerce div.product .woocommerce-product-rating {
  margin-bottom: 0;
  align-items: center;
  display: flex;
}
.woocommerce #content div.product div.images, .woocommerce div.product div.images, .woocommerce-page #content div.product div.images, .woocommerce-page div.product div.images {
  float: left;
  width: 100%;
  gap: var(--sp-20);
  display: flex;
  flex-direction: column;
    top: 0px;
}
.woocommerce div.product div.images .flex-control-thumbs {
  overflow: hidden;
  zoom: 1;
  margin: 0;
  padding: 0;
  gap: var(--sp-10);
  display: flex;
  flex-wrap: wrap
}
.woocommerce div.product div.images .flex-control-thumbs li {
  width: calc(25% - 10px);
  float: left;
  margin: 0;
  list-style: none
}
.woocommerce-loop-product__link {
  position: relative
}
.woocommerce-loop-product__link span.onsale, span.onsale {
  top: 20px;
  right: auto;
  left: 20px
}
#carousel ul.slides li {
  border: var(--border);
  padding: var(--sp-10)
}
.th-cart-drawer .quantity__button:not(:focus-visible):not(.focused) {
  height: 30px;
  min-width: 30px
}
.th-cart-drawer input.quantity-input, .quantity-input {
  height: 30px;
  padding: 0
}
.th-cart-drawer .woocommerce-Price-amount {
  font-family: var(--font-family-body);
  line-height: var(--font-line-height-body);
  font-size: var(--font-size-body)
}
.th-cart-drawer table.shop_table th {
  font-weight: inherit;
  padding: 0;
  line-height: revert
}
.th-cart-drawer table.shop_table td {
  border-top: var(--border);
  padding: 0;
  vertical-align: middle;
  line-height: revert
}
.th-cart-drawer table.shop_table {
  border: 0 solid rgba(var(--color-foreground), .1);
  margin: 0;
  text-align: left;
  width: 100%;
  border-collapse: separate;
  border-radius: 0px;
  padding: 0rem;
  box-shadow: none;
  border-spacing: 0 1px
}
.th-cart-drawer .cart_totals {
  display: grid
}
.cart-collaterals > *, .th-cart-drawer .cart_totals > * {
  padding-block: var(--sp-6)
}
.th-cart-drawer .woocommerce-cart-form__contents {
  display: grid;
  column-gap: 0;
  row-gap: 0;
}
.th-cart-drawer .quantity {
  width: auto;
  height: 30px;
}
.th-cart-drawer .product-remove {
  padding: 0 var(--sp-10)
}
.th-cart-drawer .cart-item__details {
  display: grid;
  column-gap: var(--sp-6);
  row-gap: var(--sp-6);
  margin-bottom: 0
}
.remove-coupon {
  display: block;
  font-size: 20px;
  height: 1em;
  width: 1em;
  text-align: center;
  line-height: 1;
  border-radius: 100%;
  color: var(--wc-var(--color-danger)) !important;
  text-decoration: none;
  font-weight: 700;
  border: 0;
  background: rgb(var(--color-background))
}
.th-cart-drawer .woocommerce-remove-coupon {
  display: none
}
.cart-item-card {
  padding-left: 0;
  padding-right: 0
}
.coupon-notification:empty {
  display: none
}
.wc-block-components-form .wc-block-components-checkout-step {
  background: none;
  border: none;
  margin: 0 0 var(--sp-20);
  padding: 0;
  position: relative
}
.badge {
  display: inline-block;
  padding: var(--sp-6) var(--sp-10);
  color: rgb(var(--color-background));
  font-size: 12px;
  font-weight: 700;
  border-radius: 0px;
  margin-right: var(--sp-6);
  white-space: nowrap
}
.sale-badge {
  background-color: var(--color-danger)
}
.featured-badge {
  background-color: var(--color-info)
}
.out-of-stock-badge {
  background-color: var(--color-muted)
}
.new-arrival-badge {
  background-color: var(--color-success)
}
.best-seller-badge {
  background-color: var(--color-warning)
}
.wp-block-search__inside-wrapper {
  display: flex
}
.th_product_variations input[type="radio"] + .button-swatch {
  border: var(--swatch_button_border_width) solid rgb(var(--color-button));
  border-radius: var(--swatch_button_radius);
  margin: inherit;
  text-align: center;
  vertical-align: middle;
  background: rgb(var(--color-button-text));
  color: rgb(var(--color-button))
}
.th_product_variations input[type="radio"]:checked + .button-swatch, .th_product_variations input[type="radio"]:hover + .button-swatch {
  border: var(--swatch_button_border_width) solid rgb(var(--color-button));
  background: rgb(var(--color-button));
  color: rgb(var(--color-button-text))
}
.woocommerce div.product form.cart .variations label {
  font-weight: 500;
  margin-bottom: var(--sp-6);
  justify-content: center;
  align-items: center;
}
.woocommerce div.product form.cart .variations select {
  margin-bottom: var(--sp-10) !important
}
.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme {
  display: inline-flex;
  align-items: center;
  margin-bottom: var(--sp-10)
}
.woocommerce .woocommerce-form-login .woocommerce-form-login__submit {
  float: left;
  margin-right: 1em;
  width: 100%
}
.wc-block-components-form .wc-block-components-text-input input[type=email], .wc-block-components-form .wc-block-components-text-input input[type=number], .wc-block-components-form .wc-block-components-text-input input[type=password], .wc-block-components-form .wc-block-components-text-input input[type=tel], .wc-block-components-form .wc-block-components-text-input input[type=text], .wc-block-components-form .wc-block-components-text-input input[type=url], .wc-block-components-text-input input[type=email], .wc-block-components-text-input input[type=number], .wc-block-components-text-input input[type=password], .wc-block-components-text-input input[type=tel], .wc-block-components-text-input input[type=text], .wc-block-components-text-input input[type=url], .wc-blocks-components-select .wc-blocks-components-select__select {
  border: var(--border);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  border-bottom: var(--border)
}
.swiper-pagination-bullet-active {
  background: rgb(var(--color-foreground))
}
.product-category a {
  display: grid;
  row-gap: var(--sp-10);
  column-gap: var(--sp-10);
  padding: 0px;
  text-align: center
}
.product-category a .woocommerce-loop-category__title, .product-category a .woocommerce-loop-category__title .count {
  font-size: var(--font-heading5-size)
}
.column-select {
  display: flex;
  gap: var(--sp-6);
  justify-content: center
}
.column-select input {
  display: none
}
.column-select label {
  border: var(--border);
  cursor: pointer;
  border-radius: 0px;
  height: 40px;
  width: 40px;
  align-items: center;
  justify-content: center;
  text-align: center;
  display: flex
}
.column-select input:checked + label {
  border: 2px solid rgba(var(--color-foreground), .1);
  background-color: rgb(var(--color-background));
  color: rgb(var(--color-foreground))
}
.swiper-button-next, .swiper-button-prev {
  color: rgb(var(--color-foreground));
  background: rgb(var(--color-background));
  width: 50px;
  height: 50px;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 0 rgba(var(--color-foreground), .2);
  font-size: 40px
}
.qodef-qi-swiper-container .swiper-button-next, .qodef-qi-swiper-container .swiper-button-prev, .qodef-qi-swiper-container ~ .qodef-swiper-together-nav .swiper-button-next, .qodef-qi-swiper-container ~ .qodef-swiper-together-nav .swiper-button-prev, .qodef-qi-swiper-container ~ .swiper-button-next, .qodef-qi-swiper-container ~ .swiper-button-prev {
  font-size: 14px;
  transition: color .2s ease-out, background-color .2s ease-out;
  transform: translateY(-50%);
  color: rgb(var(--color-foreground));
  background: rgba(var(--color-background), 0.4);
  backdrop-filter: blur(12px);
  width: 50px important;
  height: 50px important;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 10px rgba(var(--color-foreground), .2)
}
.woocommerce div.product form.cart div.quantity {
  float: none;
  margin: 0 0 0 0;
  height: 100%;
  align-items: center;
  max-height: 50px
}
#quickViewModal .buy-it-now-wrapper {
  display: block
}
.single-product-iwt {
  display: grid;
  row-gap: var(--sp-10);
  column-gap: var(--sp-10)
}
.woocommerce-custom-tabs {
  display: grid;
  row-gap: var(--sp-20);
  column-gap: var(--sp-20)
}
.woocommerce .star-rating span::before {
  color: var(--color-star) !important
}
.woocommerce #reviews #comments h2 {
  margin-bottom: var(--sp-10)
}
.cosmetic-logo-slider img {
  opacity: .5
}
.woocommerce div.product p.price ins, .woocommerce div.product span.price ins {
  font-size: 16px !important;
  color: var(--color-danger) !important
}
.woocommerce div.product p.price del .woocommerce-Price-amount, .woocommerce div.product span.price del {
  color: rgb(var(--color-foreground));
  text-decoration: line-through;
  font-weight: 700
}
.variant-swatches {
  margin-top: var(--sp-10)
}
.swatch-group {
  display: flex;
  align-items: center;
  margin-bottom: var(--sp-10)
}
.swatch {
  width: 30px;
  height: 30px;
  display: inline-block;
  cursor: pointer;
  margin-right: var(--sp-6);
  border-radius: 0;
  border: 2px solid rgba(var(--color-background), 0);
  transition: border 0.2s ease-in-out
}
.swatch:hover, .swatch.active {
  border: 3px solid rgba(var(--color-foreground), .6);
}
.reset_variations {
  display: none
}
.woocommerce .price, .woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price {
  text-decoration: none !important
}
.woocommerce div.product p.price ins, .woocommerce div.product span.price ins {
  background: inherit;
  font-weight: 700;
  display: inline-block;
  text-decoration: none
}
#quick-view-content .woocommerce-custom-tabs {
  display: none
}
.add_to_quantity_w_btn {
  row-gap: var(--sp-10);
  column-gap: var(--sp-10)
}
.themeshawk-woocommerce-tabs, .themeshawk-woo-related-products, .recently-viewed {
  margin-top: var(--sp-32)
}
.woocommerce-message::before {
  color: var(--theme-base-color)
}
.variations_form .swatch.selected {
  border: 3px solid rgba(var(--color-foreground), .6);
  box-shadow: 0 0 5px rgba(var(--color-foreground), .3)
}
.btn {
  transition: all .25s cubic-bezier(.645, .045, .355, 1)
}
.form-select {
  padding: var(--sp-10)
}
#quick-view-content .themeshawk-woocommerce-tabs, #quick-view-content .themeshawk-woo-related-products {
  margin-top: 0
}
#quick-view-content .themeshawk-woo-related-products, #quick-view-content .recently-viewed {
  display: none
}
.product-loop-footer {
  position: absolute;
  right: var(--product-card-footer-spacing-right);
  left: var(--product-card-footer-spacing-left);
  bottom: var(--product-card-footer-spacing-bottom)
}
.loop-category-link {
  font-size: 11px;
  background-color: rgba(var(--color-foreground), .05);
  color: rgba(var(--color-foreground), 1);
  padding: var(--sp-4) var(--sp-10);
  border-radius: 0;
  font-weight: 500
}
.themeshawk-product-card-image-wrapper {
  position: relative;
  margin-bottom: 0
}
.woocommerce .star-rating {
  align-items: center
}
.themeshawk-woo-product-list .price, .themeshawk-woo-product-list .price .woocommerce-Price-amount, .woocommerce-loop-product__title {
  align-items: center;
  height: fit-content
}
.themeshawk-woo-product-list .price, .themeshawk-woo-product-list .price .woocommerce-Price-amount {
  font-weight: 600
}
.product-loop-categories {
  align-items: center;
  height: fit-content;
  gap: var(--sp-6)
}
.product-info {
  margin-top: var(--sp-10);
  display: grid;
  row-gap: var(--sp-6);
  column-gap: var(--sp-10)
}
.woocommerce del {
  text-decoration: none;
}
.woocommerce ins {
  text-decoration: none
}
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
  color: rgb(var(--color-foreground));
  ;
  font-size: 30px;
  font-weight: 500
}
.price {
  margin-bottom: 0 !important
}
.swiper-button-next:after, .swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: 20px;
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
  font-weight: 700
}
.icon-search {
  margin-top: 0
}
.drawer {
  z-index: 99999;
  width: 100vw;
  height: 100%;
  display: flex;
  justify-content: flex-end;
  background-color: rgba(var(--color-background), 1)
}
.offcanvas {
  display: flex;
  flex-direction: column
}
.cart-drawer-offcanvas {
  flex-direction: unset
}
.drawer__inner {
  height: 100%;
  width: 100%;
  padding: 0rem;
  border: 0rem solid rgba(var(--color-foreground), .2);
  border-right: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column
}
@media (max-width:575px) {
  cart-drawer .cart-drawer, .cart-drawer {
    width: 100%
  }
}
.drawer__inner-empty {
  height: 100%;
  padding: 0 1.5rem;
  overflow: hidden;
  display: flex;
  flex-direction: column
}
.cart-drawer__warnings {
  display: flex;
  justify-content: center;
  padding: 2rem
}
cart-drawer.is-empty .drawer__inner {
  display: grid;
  grid-template-rows: 1fr;
  align-items: center;
  padding: 0
}
cart-drawer.is-empty .drawer__header {
  display: none
}
cart-drawer:not(.is-empty) .cart-drawer__warnings, cart-drawer:not(.is-empty) .cart-drawer__collection {
  display: none
}
.cart-drawer__warnings--has-collection .cart__login-title {
  margin-top: 2.5rem
}
.drawer__header {
  position: relative;
  background: rgba(var(--color-background), 1);
  padding: 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center
}
.drawer__heading {
  margin: 0 0 1rem
}
.drawer__close {
  display: inline-block;
  padding: 0;
  min-width: 2rem;
  min-height: 2rem;
  box-shadow: 0 0 0 .2rem rgba(var(--color-button), 0);
  top: 0;
  right: 0;
  color: rgba(var(--color-foreground), var(--alpha-font-opacity));
  background-color: rgb(var(--color-background));
  border: none;
  cursor: pointer
}
.cart-drawer__warnings .drawer__close {
  right: 2rem;
  position: absolute
}
.drawer__close svg {
  height: 1rem;
  width: 1rem
}
.drawer__contents {
  flex-grow: 1;
  display: flex;
  flex-direction: column
}
.drawer__footer {
  background: rgba(var(--color-background), 1);
  border-top: var(--border);
  padding: 1rem;
  bottom: 0;
  display: flow
}
cart-drawer-items.is-empty + .drawer__footer {
  display: none
}
.drawer__footer > details {
  margin-top: 0rem
}
.drawer__footer > details[open] {
  padding-bottom: 1rem
}
.drawer__footer summary {
  display: flex;
  position: relative;
  line-height: inherit;
  padding: var(--sp-6) 0 var(--sp-10) 0;
  align-items: center
}
.drawer__footer > details + .cart-drawer__footer {
  padding-top: 1rem
}
cart-drawer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%
}
.cart-drawer__overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0
}
.cart-drawer__overlay:empty {
  display: block
}
.cart-drawer__form {
  flex-grow: 1;
  display: contents;
  flex-wrap: wrap
}
.cart-drawer__collection {
  margin: 0 2.5rem 1.5rem
}
.cart-drawer .drawer__cart-items-wrapper {
  flex-grow: 1
}
.cart-drawer .cart-items, .cart-drawer tbody {
  display: block;
  width: 100%
}
.cart-drawer thead {
  display: inline-table;
  width: 100%;
  position: sticky;
  top: 0;
  z-index: 2;
  background: rgba(var(--color-background), 1)
}
cart-drawer-items {
  overflow-y: auto;
  flex: 1;
  overflow-x: hidden;
  padding: 0rem
}
@media screen and (max-height:650px) {
  cart-drawer-items {
    overflow: visible
  }
  .drawer__inner {
    overflow-y: scroll
  }
}
.cart-drawer .cart-item {
  display: grid;
  grid-template: repeat(2, auto) / repeat(4, 1fr);
  gap: var(--sp-6);
  margin-bottom: 0
}
.cart-drawer .cart-item__media {
  grid-row: 1 / 3
}
.cart-drawer .cart-item__image {
  max-width: 100%
}
.cart-drawer .cart-items thead {
  margin-bottom: .5rem
}
.cart-drawer .cart-items thead th:first-child, .cart-drawer .cart-items thead th:last-child {
  width: 0;
  padding: 0
}
.cart-drawer .cart-items thead th:nth-child(2) {
  width: 50%;
  padding-left: 0
}
.cart-drawer .cart-items thead tr {
  display: table-row;
  margin-bottom: 0
}
.cart-drawer .cart-items th {
  border-bottom: var(--border)
}
.cart-drawer .cart-item:last-child {
  margin-bottom: 1.5rem
}
.cart-drawer .cart-item .loading-overlay {
  right: 5px;
  padding-top: 2.5rem
}
.cart-drawer .cart-items td {
  padding-top: var(--sp-10)
}
.cart-drawer .cart-item > td + td {
  padding-left: var(--sp-10)
}
.cart-drawer .cart-item__totals {
  pointer-events: none;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end
}
.cart-drawer.cart-drawer .cart-item__price-wrapper > *:only-child {
  margin-top: 0
}
.cart-drawer .cart-item__price-wrapper .cart-item__discounted-prices {
  display: flex;
  flex-direction: column;
  gap: .6rem
}
.cart-drawer .unit-price {
  margin-top: .6rem
}
.cart-drawer .cart-items .cart-item__quantity {
  padding-top: 0;
  grid-column: 2 / 5
}
.icon-trash-cart {
  margin-left: 2px;
  right: 21px;
  border: var(--border);
  border-radius: 0;
  height: 50px;
  width: 50px;
  text-align: center;
  justify-content: center;
  padding: 0;
  margin-top: 0
}
.icon-trash-cart-page {
  margin-left: 2px;
  right: 21px;
  border: var(--border);
  border-radius: 0;
  height: 50px;
  width: 50px;
  text-align: center;
  justify-content: center;
  padding: var(--sp-12)
}
.cart-drawer__footer > * + * {
  margin-top: var(--sp-6)
}
.cart-drawer .totals {
  justify-content: space-between
}
.cart-drawer .price {
  line-height: inherit
}
.cart-drawer .tax-note {
  margin: var(--sp-6) 0;
  text-align: left
}
.cart-drawer .product-option dd {
  word-break: break-word
}
.cart-drawer details[open] > summary .icon-caret {
  transform: rotate(180deg)
}
.cart-drawer .cart__checkout-button {
  max-width: none
}
.drawer__footer .cart__dynamic-checkout-buttons {
  max-width: 100%
}
.drawer__footer #dynamic-checkout-cart ul {
  flex-wrap: wrap !important;
  flex-direction: row !important;
  margin: .5rem -.5rem 0 0 !important;
  gap: .5rem
}
.drawer__footer [data-shopify-buttoncontainer] {
  justify-content: flex-start
}
.drawer__footer #dynamic-checkout-cart ul > li {
  flex-basis: calc(50% - 0.5rem) !important;
  margin: 0 !important
}
.drawer__footer #dynamic-checkout-cart ul > li:only-child {
  flex-basis: 100% !important;
  margin-right: 0.5rem !important
}
@media screen and (min-width:750px) {
  .drawer__footer #dynamic-checkout-cart ul > li {
    flex-basis: calc(100% / 3 - 0.5rem) !important;
    margin: 0 !important
  }
  .drawer__footer #dynamic-checkout-cart ul > li:first-child:nth-last-child(2), .drawer__footer #dynamic-checkout-cart ul > li:first-child:nth-last-child(2) ~ li, .drawer__footer #dynamic-checkout-cart ul > li:first-child:nth-last-child(4), .drawer__footer #dynamic-checkout-cart ul > li:first-child:nth-last-child(4) ~ li {
    flex-basis: calc(50% - 0.5rem) !important
  }
}
cart-drawer-items::-webkit-scrollbar {
  width: 3px
}
cart-drawer-items::-webkit-scrollbar-thumb {
  background-color: rgba(var(--color-foreground), .7);
  border-radius: 100px
}
cart-drawer-items::-webkit-scrollbar-track-piece {
  margin-top: var(--sp-32)
}
.cart-items td, .cart-items th {
  padding: 0;
  border: none
}
.cart-items th {
  text-align: left;
  padding-bottom: 1.8rem;
  opacity: .85;
  font-weight: 400
}
.cart-item__quantity-wrapper {
  display: flex
}
.cart-item__totals {
  position: relative
}
.cart-items *.right {
  text-align: right
}
.cart-item__image-container {
  display: inline-flex;
  align-items: flex-start
}
.cart-item__image-container:after {
  content: none
}
.cart-item__image {
  height: auto;
  max-width: 10rem
}
@media screen and (min-width:750px) {
  .cart-item__image {
    max-width: 100%
  }
}
.cart-item__details > * {
  margin: 0;
  max-width: 100%
}
.cart-item__details > * + * {
  margin-top: 0rem
}
.cart-item__media {
  position: relative
}
.cart-item__link {
  display: block;
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0
}
.cart-item__name {
  text-decoration: none;
  display: block;
  font-weight: inherit;
}
.cart-item__name:hover {
  text-decoration: none
}
.cart-item__price-wrapper > * {
  display: block;
  margin: 0;
  padding: 0
}
.cart-item__discounted-prices dd {
  margin: 0
}
.cart-item__old-price {
  opacity: .7
}
.cart-item__final-price {
  font-weight: 400
}
.product-option {
  word-break: break-all
}
.cart-item cart-remove-button {
  display: flex;
  margin-left: 1rem;
  align-items: center
}
@media screen and (min-width:750px) and (max-width:989px) {
  .cart-item cart-remove-button {
    width: 4.5rem;
    height: 4.5rem
  }
}
cart-remove-button .button {
  min-width: 4.5rem;
  min-height: 4.5rem;
  padding: 0;
  margin: 0 .1rem .1rem 0
}
cart-remove-button .button:before, cart-remove-button .button:after {
  content: none
}
cart-remove-button .button:not([disabled]):hover {
  color: rgb(var(--color-foreground))
}
@media screen and (min-width:750px) {
  cart-remove-button .button {
    min-width: 3.5rem;
    min-height: 3.5rem
  }
}
cart-remove-button .icon-remove {
  height: 1.5rem;
  width: 1.5rem
}
.cart-item .loading-overlay {
  top: 0;
  left: auto;
  right: auto;
  bottom: 0;
  padding: 0
}
@media screen and (min-width:750px) {
  .cart-item .loading-overlay {
    right: 0;
    padding-top: 4.5rem;
    bottom: auto
  }
}
.cart-item .loading-overlay:not(.hidden) ~ * {
  visibility: hidden
}
.cart-item__error {
  display: flex;
  align-items: flex-start;
  margin-top: 1rem
}
.cart-item__error-text {
  order: 1
}
.cart-item__error-text + svg {
  flex-shrink: 0;
  width: 1.2rem;
  margin-right: .7rem
}
.cart-item__error-text:empty + svg {
  display: none
}
.product-option + .product-option {
  margin-top: .4rem
}
.product-option * {
  display: inline;
  margin: 0
}
.cart-items thead th {
  text-transform: uppercase
}
@media screen and (max-width:749px) {
  .cart-items, .cart-items thead, .cart-items tbody {
    display: block;
    width: 100%
  }
  .cart-items thead tr {
    display: flex;
    justify-content: space-between;
    border-bottom: var(--border);
    margin-bottom: 4rem
  }
  .cart-item {
    display: grid;
    grid-template: repeat(2, auto) / repeat(4, 1fr);
    gap: 1.5rem;
    margin-bottom: 3.5rem
  }
  .cart-item:last-child {
    margin-bottom: 0
  }
  .cart-item__media {
    grid-row: 1 / 3
  }
  .cart-item__details {
    grid-column: 2 / 4
  }
  .cart-item__quantity {
    grid-column: 2 / 5
  }
  .cart-item__quantity-wrapper {
    flex-wrap: wrap
  }
  .cart-item__totals {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end
  }
}
.cart-item__error-text + svg {
  margin-top: .4rem
}
@media screen and (min-width:750px) {
  .cart-items {
    border-spacing: 0;
    border-collapse: separate;
    box-shadow: none;
    width: 100%;
    display: table
  }
  .cart-items th {
    border-bottom: var(--border)
  }
  .cart-items thead th:first-child {
    width: 50%
  }
  .cart-items th + th {
    padding-left: 4rem
  }
  .cart-items td {
    vertical-align: top;
    padding-top: 2rem
  }
  .cart-item {
    display: table-row
  }
  .cart-item > td + td {
    padding-left: 2rem
  }
  .cart-item__price-wrapper > *:only-child:not(.cart-item__discounted-prices) {
    margin-top: 1rem
  }
}
@media screen and (min-width:990px) {
  .cart-item .cart-item__quantity, .cart-items .cart-items__heading--wide {
    padding-left: 2rem
  }
}
.cart-notification-wrapper {
  position: relative
}
.cart-notification-wrapper .cart-notification {
  display: block
}
.cart-notification {
  border-bottom-right-radius: var(--popup-corner-radius);
  border-bottom-left-radius: var(--popup-corner-radius);
  border-color: rgba(var(--color-foreground), var(--popup-border-opacity));
  border-style: solid;
  border-width: 0 0 var(--popup-border-width);
  padding: 2.5rem 3.5rem;
  position: absolute;
  right: 0;
  transform: translateY(-100%);
  visibility: hidden;
  width: 100%;
  box-shadow: var(--popup-shadow-horizontal-offset) var(--popup-shadow-vertical-offset) var(--popup-shadow-blur-radius) rgba(var(--color-shadow), var(--popup-shadow-opacity));
  z-index: -1
}
@media screen and (min-width:750px) {
  .header-wrapper:not(.header-wrapper--border-bottom) + cart-notification .cart-notification {
    border-top-width: var(--popup-border-width)
  }
  .cart-notification {
    border-width: 0 var(--popup-border-width) var(--popup-border-width);
    max-width: 36.8rem;
    right: 4rem
  }
}
.cart-notification.animate {
  transition: transform var(--duration-short) ease, visibility 0s var(--duration-short) ease
}
.cart-notification.active {
  transform: translateY(0);
  transition: transform var(--duration-default) ease, visibility 0s;
  visibility: visible
}
.cart-notification__header {
  align-items: flex-start;
  display: flex
}
.cart-notification__heading {
  align-items: center;
  display: flex;
  flex-grow: 1;
  margin-bottom: 0;
  margin-top: 0
}
.cart-notification__heading .icon-checkmark {
  color: rgba(var(--color-foreground), var(--alpha-font-opacity));
  margin-right: 1rem;
  width: 1.3rem
}
.cart-notification__close {
  margin-top: -2rem;
  margin-right: -3rem
}
.cart-notification__links {
  text-align: center
}
.cart-notification__links > * {
  margin-top: 1rem
}
.cart-notification-product {
  align-items: flex-start;
  display: flex;
  padding-bottom: 3rem;
  padding-top: 2rem
}
.cart-notification-product dl {
  margin-bottom: 0;
  margin-top: 0
}
.cart-notification-product__image {
  display: inline-flex;
  margin-right: 1.5rem;
  margin-top: .5rem
}
.cart-notification-product__image:after {
  content: none
}
.cart-notification-product__name {
  margin-bottom: .5rem;
  margin-top: 0
}
.cart-drawer-offcanvas {
  top: 0;
  right: 0;
  width: var(--bs-offcanvas-width);
  border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateX(100%);
  z-index: 99999
}
.woocommerce .quantity .qty {
  text-align: center;
  width: 40px;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  line-height: normal;
  font-size: 14px;
  vertical-align: middle;
  border: var(--border);
  -webkit-appearance: none;
  -moz-appearance: textfield
}
.woocommerce .quantity .qty::-webkit-inner-spin-button, .woocommerce .quantity .qty::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0
}
.woocommerce .quantity .qty:focus, .woocommerce .quantity .qty:active {
  text-align: center !important
}
.woocommerce .quantity {
  display: inline-block
}
.th-cart-drawer {
  height: 100%;
  box-shadow: var(--shadow-sm)
}
.cart-item__link {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  object-fit: contain
}
.woocommerce a.remove {
  display: block;
  height: 20px;
  width: 20px;
  text-align: center;
  line-height: 1;
  border-radius: 100%;
  color: rgb(var(--color-foreground)) !important;
  text-decoration: none;
  font-weight: 400;
  border: 0
}
.woocommerce-cart-form__contents {
  padding: var(--sp-20)
}
thead, tbody, tfoot, tr, td, th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  width: 100%
}
dd {
  margin-bottom: 0;
  margin-left: 0
}
.wc-block-cart-items thead, .wc-block-cart-items tbody, .wc-block-cart-items tfoot, .wc-block-cart-items tr, .wc-block-cart-items td, .wc-block-cart-items th {
  width: auto !important
}
.wc-block-components-product-metadata {
  font-size: inherit !important
}
.cart-drawer {
  width: 100%
}
.woocommerce a.remove:hover {
  color: rgb(var(--color-foreground)) !important;
  background: rgb(var(--color-background))
}
.offcanvas.offcanvas-end {
  width: 400px !important;
  border-left: 0
}
@media only screen and (max-width:768px) {
  .woocommerce table.shop_table_responsive tr:nth-child(2n) td, .woocommerce-page table.shop_table_responsive tr:nth-child(2n) td {
    background-color: rgba(var(--color-background), 0)
  }
  .header-customer-links ul li {
    padding: 0
  }
  .themeshawk-woo-product-list-wrapper .card {
    display: grid;
    column-gap: 0;
    row-gap: 0
  }
  .icon {
    display: flex;
    width: 15px;
    height: 15px;
    stroke-width: 1px;
    stroke: rgba(var(--color-foreground), .5)
  }
  .offcanvas.offcanvas-end {
    width: 100% !important;
    border-left: 0
  }
}
.breadcrumb-heading-wrapper, .breadcrumb-menu-wrapper {
  margin: 0
}
.breadcrumb-inside {
  gap: 0
}
.text-center {
  text-align: center
}
.ctn-preloader {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  cursor: default;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 99999;
  background: rgb(var(--color-background))
}
.ctn-preloader .animation-preloader {
  z-index: 1000
}
.ctn-preloader .animation-preloader .spinner {
  -webkit-animation: spinner 1s infinite linear;
  animation: spinner 1s infinite linear;
  border-radius: 0;
  border: 3px solid rgba(var(--color-foreground), .2);
  border-top-color: rgb(var(--color-foreground));
  height: 9em;
  margin: 0 auto 3.5em auto;
  width: 9em
}
.ctn-preloader .animation-preloader .txt-loading, .ctn-preloader .loading {
  font-family: var(--font-family-heading);
  font-size: 5em;
  font-weight: 700;
  text-align: center;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}
.ctn-preloader .animation-preloader .txt-loading .letters-loading {
  color: rgba(var(--color-foreground), .2);
  position: relative
}
.ctn-preloader .animation-preloader .txt-loading .letters-loading:before {
  -webkit-animation: letters-loading 4s infinite;
  animation: letters-loading 4s infinite;
  color: rgb(var(--color-foreground));
  content: attr(data-text-preloader);
  left: 0;
  opacity: 0;
  font-family: var(--font-family-heading);
  position: absolute;
  top: -3px;
  -webkit-transform: rotateY(-90deg);
  transform: rotateY(-90deg)
}
.ctn-preloader .animation-preloader .txt-loading .letters-loading:nth-child(2):before {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s
}
.ctn-preloader .animation-preloader .txt-loading .letters-loading:nth-child(3):before {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s
}
.ctn-preloader .animation-preloader .txt-loading .letters-loading:nth-child(4):before {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s
}
.ctn-preloader .animation-preloader .txt-loading .letters-loading:nth-child(5):before {
  -webkit-animation-delay: 0.8s;
  animation-delay: 0.8s
}
.ctn-preloader .animation-preloader .txt-loading .letters-loading:nth-child(6):before {
  -webkit-animation-delay: 1s;
  animation-delay: 1s
}
.ctn-preloader .animation-preloader .txt-loading .letters-loading:nth-child(7):before {
  -webkit-animation-delay: 1.2s;
  animation-delay: 1.2s
}
.ctn-preloader .animation-preloader .txt-loading .letters-loading:nth-child(8):before {
  -webkit-animation-delay: 1.4s;
  animation-delay: 1.4s
}
.ctn-preloader.dark .animation-preloader .spinner {
  border-color: rgba(var(--color-background), .2);
  border-top-color: rgba(var(--color-background), 1)
}
.ctn-preloader.dark .animation-preloader .txt-loading .letters-loading {
  color: rgba(var(--color-background), .2)
}
.ctn-preloader.dark .animation-preloader .txt-loading .letters-loading:before {
  color: rgba(var(--color-background), 1)
}
.ctn-preloader p {
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 8px;
  color: rgb(var(--color-foreground))
}
.ctn-preloader .loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-size: 0;
  z-index: 1;
  pointer-events: none
}
.ctn-preloader .loader .row {
  height: 100%
}
.ctn-preloader .loader .loader-section {
  padding: 0
}
.ctn-preloader .loader .loader-section .bg {
  background-color: rgba(var(--color-background), 1);
  height: 100%;
  left: 0;
  width: 100%;
  -webkit-transition: all 800ms cubic-bezier(.77, 0, .175, 1);
  -o-transition: all 800ms cubic-bezier(.77, 0, .175, 1);
  transition: all 800ms cubic-bezier(.77, 0, .175, 1)
}
.ctn-preloader .loader.dark_bg .loader-section .bg {
  background: rgb(var(--color-foreground))
}
.ctn-preloader.loaded .animation-preloader {
  -webkit-transition: var(--duration-medium) ease-out;
  -o-transition: var(--duration-medium) ease-out
}
.ctn-preloader.loaded .loader-section .bg {
  width: 0;
  -webkit-transition: var(--duration-extra-longer) var(--duration-medium) allcubic-bezier(.1, .1, .1, 1);
  -o-transition: var(--duration-extra-longer) var(--duration-medium) allcubic-bezier(.1, .1, .1, 1);
  transition: var(--duration-extra-longer) var(--duration-medium) allcubic-bezier(.1, .1, .1, 1)
}
@-webkit-keyframes spinner {
  to {
    -webkit-transform: rotateZ(360deg);
    transform: rotateZ(360deg)
  }
}
@keyframes spinner {
  to {
    -webkit-transform: rotateZ(360deg);
    transform: rotateZ(360deg)
  }
}
@-webkit-keyframes letters-loading {
  0%, 75%, 100% {
    opacity: 0;
    -webkit-transform: rotateY(-90deg);
    transform: rotateY(-90deg)
  }
  25%, 50% {
    opacity: 1;
    -webkit-transform: rotateY(0deg);
    transform: rotateY(0deg)
  }
}
@keyframes letters-loading {
  0%, 75%, 100% {
    opacity: 0;
    -webkit-transform: rotateY(-90deg);
    transform: rotateY(-90deg)
  }
  25%, 50% {
    opacity: 1;
    -webkit-transform: rotateY(0deg);
    transform: rotateY(0deg)
  }
}
.ctn-preloader.loaded .animation-preloader {
  opacity: 0;
  transition: var(--duration-medium) ease-out
}
.ctn-preloader.loaded {
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--duration-long) ease
}
@media (max-width:576px) {
  .ctn-preloader .animation-preloader .spinner {
    height: 2em;
    margin: 0 auto 1em auto;
    width: 2em
  }
  .ctn-preloader .animation-preloader .txt-loading, .ctn-preloader .loading {
    font-size: 2em
  }
}
.loading {
  font-family: var(--font-family-heading);
  text-align: center
}
.loading span {
  display: inline-block;
  margin: 0 -.05em;
  --i: 0;
  animation-delay: calc(var(--i) * 0.1s)
}
.loading01 span {
  animation: loading01 1.4s infinite alternate
}
@keyframes loading01 {
  0% {
    opacity: 1
  }
  100% {
    opacity: 0
  }
}
.loading02 span {
  animation: loading02 1.2s infinite alternate
}
@keyframes loading02 {
  0% {
    filter: blur(0);
    opacity: 1
  }
  100% {
    filter: blur(5px);
    opacity: .2
  }
}
.loading03 span {
  margin: 0 -.075em;
  animation: loading03 0.7s infinite alternate
}
@keyframes loading03 {
  0% {
    transform: scale(1)
  }
  100% {
    transform: scale(.8)
  }
}
.loading04 span {
  animation: loading04 0.7s infinite
}
@keyframes loading04 {
  0%, 100% {
    transform: translateY(0)
  }
  50% {
    transform: translateY(15px)
  }
}
.loading05 {
  perspective: 1000px
}
.loading05 span {
  transform-origin: 50% 50% -25px;
  transform-style: preserve-3d;
  animation: loading05 1.6s infinite
}
@keyframes loading05 {
  0% {
    transform: rotateX(-360deg)
  }
  70% {
    transform: rotateX(0)
  }
}
.loading06 span {
  position: relative;
  color: rgba(var(--color-foreground), .2)
}
.loading06 span::after {
  position: absolute;
  top: 0;
  left: 0;
  content: attr(data-text);
  color: rgb(var(--color-background));
  ;
  opacity: 0;
  transform: rotateY(-90deg);
  animation: loading06 4s infinite;
  animation-delay: calc(var(--i) * 0.2s)
}
@keyframes loading06 {
  0%, 75%, 100% {
    transform: rotateY(-90deg);
    opacity: 0
  }
  25%, 50% {
    transform: rotateY(0);
    opacity: 1
  }
}
.loading07 span {
  position: relative;
  color: rgba(var(--color-foreground), .2)
}
.loading07 span::after {
  position: absolute;
  top: 0;
  left: 0;
  content: attr(data-text);
  color: rgb(var(--color-background));
  opacity: 0;
  transform: scale(1.5);
  animation: loading07 3s infinite;
  animation-delay: calc(var(--i) * 0.1s)
}
@keyframes loading07 {
  0%, 75%, 100% {
    transform: scale(1.5);
    opacity: 0
  }
  25%, 50% {
    transform: scale(1);
    opacity: 1
  }
}
.loading08 span {
  position: relative;
  color: rgba(var(--color-foreground), .2);
  animation: loading08-parent 5s infinite
}
.loading08 span::after {
  position: absolute;
  top: 0;
  left: 0;
  content: attr(data-text);
  color: rgb(var(--color-background));
  ;
  opacity: 0;
  animation: loading08-child 5s infinite;
  animation-delay: calc(var(--i) * 0.2s)
}
@keyframes loading08-parent {
  0%, 35%, 100% {
    color: rgba(var(--color-foreground), .2)
  }
  60%, 80% {
    color: rgb(var(--color-background))
  }
}
@keyframes loading08-child {
  0% {
    opacity: 1
  }
  25%, 100% {
    opacity: 0
  }
}
.spinner-icon {
  position: absolute
}
.header-icon .icon {
  width: 30px;
  height: 30px
}
@media (max-width:767px) {
  .header-icon .icon {
    width: 24px;
    height: 24px
  }
  .customer-links {
    display: flex;
    gap: var(--sp-6) !important
  }
}
.cart-drawer-empty {
  text-align: center;
  padding: var(--sp-32) var(--sp-20);
  background: rgba(var(--color-foreground), .02);
  border-radius: 0px;
  margin: var(--sp-10)
}
.cart-empty-icon {
  margin-bottom: var(--sp-16);
  stroke: rgb(var(--color-foreground))
}
.cart-drawer-empty h3 {
  font-size: 1.5em;
  color: rgb(var(--color-foreground));
  margin: 0 0 var(--sp-10);
  font-weight: 600
}
.cart-drawer-empty p {
  font-size: 1em;
  color: rgb(var(--color-foreground));
  margin: 0 0 var(--sp-20);
  line-height: 1.4
}
.dropdown-menu.megamenu {
  transform: translateY(2rem);
  opacity: 0;
  visibility: hidden;
  pointer-events: none
}
.dropdown:hover .dropdown-menu.megamenu {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
  pointer-events: auto
}
.dropdown-menu.megamenu {
  z-index: 1000;
  background-color: rgb(var(--color-background));
  padding: 1rem;
  transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s;
  display: block !important
}
.mega-menu-wrapper {
  padding: 1rem
}
@media (max-width:767px) {
  .mega-menu-wrapper {
    padding: 0rem
  }
}
.elementor-nav-menu--dropdown {
  display: none
}
.caret {
  margin-left: var(--sp-6)
}
.sidebar .widget-title {
  font-size: 20px;
  margin-bottom: var(--sp-10)
}
.single-product-actions-buttons {
  display: flex;
  gap: var(--sp-20)
}
.single-product-actions-buttons .product-action-compare, .single-product-actions-buttons .product-action-wishlist {
  position: relative;
  top: auto;
  right: auto;
  width: auto;
  height: var(--btn-min-height, 45px);
  display: flex;
  background: rgb(var(--color-background));
  border: 0 solid rgb(var(--color-foreground));
  color: rgb(var(--color-foreground));
  margin-bottom: var(--sp-10);
  justify-content: center;
  align-items: center;
  text-align: center;
  box-shadow: none;
  padding: 0
}
.wishlist-text, .compare-text {
  display: flex;
  gap: var(--sp-6);
  align-items: center
}
.single-product-actions-buttons .product-action-compare .compare-btn-text, .single-product-actions-buttons .product-action-wishlist .wishlist-btn-text {
  display: flex
}
.product-actions-buttons .product-action-compare .compare-btn-text, .product-actions-buttons .product-action-wishlist .wishlist-btn-text {
  display: none
}
.single-product-actions-buttons .shadow {
  box-shadow: unset !important
}
.single-product-actions-buttons .border {
  border: 0 solid var(--color-border)
}
.scroll-container {
  display: flex;
  overflow-x: auto
}
.scroll-container::-webkit-scrollbar {
  display: none
}
.scroll-container {
  -ms-overflow-style: none;
  scrollbar-width: none;
  scroll-behavior: smooth
}
.card-body .variation {
  gap: var(--sp-6);
  margin: 0px !important;
}
.card-items-body {
  display: flex;
  justify-content: space-between
}
.dropdown-menu {
  --bs-dropdown-zindex: 1000;
  --bs-dropdown-min-width: 10rem;
  --bs-dropdown-padding-x: 0;
  --bs-dropdown-padding-y: 0.5rem;
  --bs-dropdown-spacer: 0.125rem;
  --bs-dropdown-font-size: 1rem;
  --bs-dropdown-color: var(--bs-body-color);
  --bs-dropdown-bg: var(--bs-body-bg);
  --bs-dropdown-border-color: var(--bs-border-color-translucent);
  --bs-dropdown-border-radius: var(--bs-border-radius);
  --bs-dropdown-border-width: var(--bs-border-width);
  --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  --bs-dropdown-divider-margin-y: 0.5rem;
  --bs-dropdown-box-shadow: var(--bs-box-shadow);
  --bs-dropdown-link-color: var(--bs-body-color);
  --bs-dropdown-link-hover-color: var(--bs-body-color);
  --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);
  --bs-dropdown-link-active-color: rgba(var(--color-background), 1);
  --bs-dropdown-link-active-bg: rgba(var(--color-foreground), .07);
  --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
  --bs-dropdown-item-padding-x: 1rem;
  --bs-dropdown-item-padding-y: 0.25rem;
  --bs-dropdown-header-color: rgba(var(--color-foreground), .07);
  --bs-dropdown-header-padding-x: 1rem;
  --bs-dropdown-header-padding-y: 0.5rem;
  z-index: var(--bs-dropdown-zindex);
  min-width: var(--bs-dropdown-min-width);
  padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
  margin: 0;
  font-size: var(--bs-dropdown-font-size);
  color: var(--color-foreground);
  text-align: left;
  list-style: none;
  background-color: var(--color-background);
  background-clip: padding-box;
  border: 0 solid var(--bs-dropdown-border-color);
  border-radius: 0;
  box-shadow: var(--shadow-sm)
}
.quick-view-product .add_to_quantity_w_btn, .quick-view-product .buy-it-now-wrapper {
  width: 100% !important
}
.product-info-wrapper {
  padding: 0 0 0 var(--sp-64);
}
@media (max-width: 767px) {
  .product-info-wrapper {
    padding: 0 0 0 0px;
  }
}
.quick-view-product .product-info-wrapper, .product-info-wrapper {
  gap: var(--sp-10);
  display: flex;
  flex-direction: column;
}
.quick-view-product .product-info-wrapper {
  padding: 0px 0 0 var(--sp-20);
}
@media (max-width: 767px) {
  .quick-view-product .product-info-wrapper {
    padding: 0 0 0 0px;
  }
}
.product-info-wrapper form.cart {
  margin-bottom: 0;
  gap: var(--sp-10);
}
.quick-view-product .product-info-wrapper form.cart {
  margin-bottom: 0;
  gap: var(--sp-10);
  align-items: center
}
.offcanvas .dropdown-menu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease
}
.offcanvas .dropdown-menu.open {
  max-height: inherit;
  overflow: visible
}
@media (max-width:992px) {
  .dropdown-menu.megamenu {
    padding: 0rem
  }
  .nav-link, .navbar-expand-lg .navbar-nav .nav-link {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: var(--sp-10) !important;
    padding-bottom: var(--sp-10) !important
  }
  .woo-product-tabs-nav .nav-link, .woo-product-tabs-nav .navbar-expand-lg .navbar-nav .nav-link {
    padding-left: var(--sp-10) !important;
    padding-right: var(--sp-10) !important;
    padding-top: var(--sp-10) !important;
    padding-bottom: var(--sp-10) !important
  }
  .mobile-offcanvas {
    gap: var(--sp-20);
    display: flex;
    flex-direction: column
  }
  .dropdown-menu.megamenu {
    transform: translateY(0rem);
    opacity: 1;
    visibility: visible;
    pointer-events: none;
    transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s;
    display: block !important;
  z-index: 1000;
  background-color: rgb(var(--color-background));
  box-shadow: 0 0 0x rgba(var(--color-foreground), 0)
  }
  .dropdown-item {
    display: block;
    width: 100%;
    padding: var(--bs-dropdown-item-padding-y) 0;
    clear: both;
    font-weight: 400;
    color: var(--bs-dropdown-link-color);
    text-align: inherit;
    text-decoration: none;
    white-space: nowrap;
    background-color: rgb(var(--color-background));
    border: 0;
    border-radius: var(--bs-dropdown-item-border-radius, 0)
  }
  .dropdown-item:hover, .dropdown-item:focus {
    background-color: transparent !important
  }
  .icon-search {
    margin-top: 0
  }
  .mega-menu-wrapper {
    padding: 0
  }
}
.mobile-offcanvas .dropdown-menu.megamenu {
  z-index: 1000;
  background-color: rgb(var(--color-background));
  box-shadow: 0 0 0x rgba(var(--color-foreground), 0);
  padding: 0rem
}
.mobile-offcanvas .nav-link, .mobile-offcanvas .navbar-expand-lg .navbar-nav .nav-link {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: var(--sp-10) !important;
  padding-bottom: var(--sp-10) !important
}
.mobile-header-heading {
  margin-bottom: var(--sp-10)
}
.utility-links {
  gap: var(--sp-10)
}
.footer-sticky .icon, .footer-sticky svg {
  display: inline;
  width: 24px;
  height: 24px
}
.footer-sticky .cart-notification-bubble-wrapper {
  top: 3px;
  right: 17px
}
@media only screen and (max-width:768px) {
  .footer-sticky .icon, .footer-sticky svg {
    display: inline;
    width: 24px !important;
    height: 24px !important
  }
}
.related-products-slider {
  display: flex !important
}
.woo-card-primary-image, .woo-card-secondary-image {
  /*height: 100% !important*/
}
.th-summary > * {
  padding-block: var(--sp-6)
}
.product-image-wrapper {
  position: relative;
  overflow: hidden;
  gap: var(--sp-10);
  display: grid;
  padding: 0px;
}
.add-to-cart-wrapper {
  position: absolute;
  bottom: -100%;
  left: 0;
  right: 0;
  text-align: center;
  background: rgba(var(--color-background), .7);
  padding: var(--sp-10);
  transition: bottom 0.3s ease-in-out;
  justify-content: center;
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: var(--sp-10)
}
.product-image-wrapper:hover + .add-to-cart-wrapper, .add-to-cart-wrapper:hover {
  bottom: 0
}
.add-to-cart-wrapper .button {
  margin: 0;
  background-color: var(--bs-btn-bg);
  color: var(--bs-btn-color);
  padding: var(--sp-10) var(--sp-20);
  border-radius: 0px;
  text-decoration: none
}
.add-to-cart-wrapper .button:hover {
  background-color: var(--bs-btn-color);
  color: var(--bs-btn-bg);
}
.owl-prev span, .owl-next span, .owl-prev, .owl-next {
  font-size: 40px;
  line-height: 0;
  height: 10px;
  width: 45px
}
.owl-carousel .owl-stage-outer {
  padding: 0 0
}
.owl-carousel .owl-dots.disabled, .owl-carousel .owl-nav.disabled {
  display: block !important
}
.owl-carousel .owl-nav button.owl-prev, .owl-carousel .owl-nav button.owl-next {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  position: absolute;
  top: calc(50% - 22.5px);
  transform: translateY(-50%);
  background: rgba(var(--color-background), 1) !important;
  color: rgba(var(--color-foreground), 1) !important;
  align-items: center;
  justify-content: center;
  display: flex;
  width: 45px;
  height: 45px;
  border-radius: 0;
  box-shadow: 0 0 14px rgba(var(--color-foreground), 0.102);
  padding-bottom: var(--sp-6)
}
.owl-carousel .owl-nav button.owl-prev {
  left: 10px
}
.owl-carousel .owl-nav button.owl-next {
  right: 10px
}
.owl-carousel:hover .owl-nav button.owl-prev, .owl-carousel:hover .owl-nav button.owl-next {
  opacity: 1
}
.slick-prev, .slick-next {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(var(--color-background), 1) !important;
  color: rgba(var(--color-foreground), 1) !important;
  align-items: center;
  justify-content: center;
  display: flex;
  width: 45px;
  height: 45px;
  border-radius: 0;
  box-shadow: 0 0 14px rgba(var(--color-foreground), 0.102);
  z-index: 2;
  padding-bottom: var(--sp-6)
}
.slick-prev:before, .slick-next:before {
  font-size: 40px;
  line-height: 1;
  color: inherit;
  opacity: 1
}
.slick-prev {
  left: 10px
}
.slick-next {
  right: 10px
}
.slick-slider:hover .slick-prev, .slick-slider:hover .slick-next {
  opacity: 1
}
.swiper-button-prev, .swiper-button-next, .swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(var(--color-foreground), 1) !important;
  background: rgba(var(--color-background), 0.4) !important;
  backdrop-filter: blur(12px);
  align-items: center;
  justify-content: center;
  display: flex;
  width: 40px;
  height: 40px;
  border-radius: 0;
  box-shadow: 0 0 14px rgba(var(--color-foreground), 0.102);
  z-index: 10;
  padding-bottom: 0px
}
.swiper-button-prev:after, .swiper-button-next:after {
  font-size: 24px;
  color: inherit;
}
.swiper-button-prev {
  left: 10px
}
.swiper-button-next {
  right: 10px
}
.swiper:hover .swiper-button-prev, .swiper:hover .swiper-button-next, .swiper:hover .swiper-button-next.swiper-button-disabled, .swiper:hover .swiper-button-prev.swiper-button-disabled {
  opacity: 1
}
.top-menu-with-social-media-wrapper {
  z-index: 10;
  position: relative
}
.top-bar-menu .has-megamenu {
  position: static
}
.top-bar-menu .megamenu {
  left: 0;
  right: 0;
  position: absolute
}
.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img, table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img {
  margin: 0;
  width: auto !important
}
.woocommerce .products ul, .woocommerce ul.products {
  margin: revert-rule !important;
  padding: 0;
  list-style: none outside;
  clear: both
}
.woocommerce-loop-product__title {
  margin-bottom: 0px !important
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button {
  line-height: 1.5
}
.th-c .content-article .entry-title {
  display: none
}
.widget-area > *, .widget-area ul li {
  padding-block: var(--sp-4);
  padding-inline: var(--sp-4);
}
#footer-1 h5 {
  padding-left: var(--sp-10);
  border-left: 3px solid var(--color-border);
  padding-bottom: var(--sp-6);
  margin-bottom: var(--sp-20)
}
#footer-1 a {
  text-decoration: none !important;
  background-color: rgba(var(--color-background), 0);
  -webkit-text-decoration-skip: objects
}
#footer-1 ul.social li {
  padding: var(--sp-4) 0
}
#footer-1 ul.social li a i {
  margin-right: var(--sp-6);
  font-size: 25px;
  -webkit-transition: .5s all ease;
  -moz-transition: .5s all ease;
  transition: .5s all ease
}
#footer-1 ul.social li:hover a i {
  font-size: 30px;
  margin-top: -10px
}
#footer-1 ul.quick-links li {
  padding: var(--sp-4) 0;
  -webkit-transition: .5s all ease;
  -moz-transition: .5s all ease;
  transition: .5s all ease
}
#footer-1 ul.quick-links li:hover {
  padding: var(--sp-4) 0;
  margin-left: var(--sp-6);
  font-weight: 700
}
#footer-1 ul.quick-links li a i {
  margin-right: var(--sp-6)
}
#footer-1 ul.quick-links li:hover a i {
  font-weight: 700
}
@media (max-width:767px) {
  #footer-1 h5 {
    padding-left: 0;
    border-left: rgba(var(--color-background), 0);
    padding-bottom: 0;
    margin-bottom: var(--sp-10)
  }
}
#GoToTop {
  position: fixed;
  z-index: 99;
  border: none;
  outline: none;
  cursor: pointer;
  border-radius: 100px;
  width: 50px;
  height: 50px;
  opacity: 0;
  transition: all .3s ease;
  padding: var(--sp-14)
}
.wp-block-search__label {
  width: 100%;
  display: none
}
.entry-header .entry-title {
  display: none !important
}
.orderby {
  height: 40px !important
}
.navbar .megamenu {
  padding: 1rem
}
@media all and (min-width:992px) {
  .navbar .has-megamenu {
    position: static !important
  }
  .navbar .megamenu:not(.megamenu.dropdown) {
    left: 0;
    right: 0;
    width: var(--mega-menu-width);
    min-width: 10rem;
    margin: 0 auto;
    border-radius: var(--menus-border-radius)
  }
  .navbar .megamenu.dropdown {
    width: var(--mega-menu-width);
    min-width: 10rem;
    border-radius: var(--menus-border-radius)
  }
}
@media(max-width:991px) {
  .navbar.fixed-top .navbar-collapse, .navbar.sticky-top .navbar-collapse {
    overflow-y: auto;
    max-height: 90vh;
    margin-top: var(--sp-10)
  }
}
@media (min-width:992px) {
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    width: fit-content;
    /*position: fixed;*/
  }
}
.wp-caption {
  max-width: 100%;
  margin: 1em auto;
  text-align: center
}
.wp-caption img {
  max-width: 100%;
  height: auto
}
.wp-caption-text {
  font-size: .9em;
  color: rgb(var(--color-foreground));
  margin-top: .5em
}
.gallery-caption {
  font-size: .85em;
  color: rgb(var(--color-foreground));
  text-align: center;
  margin-top: .3em
}
.bypostauthor {
  border-left: 3px solid var(--color-border);
  padding-left: .5em
}
.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto
}
.header-icon {
    display: flex;
    align-items: center;
}
.th-product-card {
  border-radius: 0px;
  overflow: hidden;
  position: relative
}
.th-product-card .th-product-image {
  position: relative;
  overflow: hidden
}
.th-product-card .th-product-image .th-product-actions {
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translate(-50%, 20px);
  display: flex;
  width: 100%;
  gap: var(--sp-10);
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
    z-index: 3;
}
.th-product-card .th-product-content {
  text-align: center
}
.th-product-content > * {
  padding-block: var(--sp-6)
}
.th-product-card .th-product-content .woocommerce-loop-product__title {
  margin: 0 0 var(--sp-6)
}
.th-product-card .th-product-actions {
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translate(-50%, 20px);
  display: flex;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease
}
.th-product-card:hover .th-product-actions {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0)
}
.th-product-card .th-product-actions .button {
  transition: background 0.3s ease
}
.th-actions-desktop {
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translate(-50%, 20px);
  display: flex;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease
}
.th-product-card:hover .th-actions-desktop {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0)
}
.th-actions-mobile {
  display: none
}
@media (max-width:768px) {
  .th-product-card .th-product-actions {
    position: relative
  }
  .th-product-card .th-actions-mobile {
    bottom: 10px !important;
    left: 10px !important;
    right: 10px !important;
    transform: none !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-align: center
  }
  .th-actions-desktop {
    display: none !important
  }
  .th-actions-mobile {
    display: block;
    margin-top: var(--sp-10)
  }
}
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important
}
.screen-reader-text:focus {
  background-color: var(--color-surface);
  border-radius: 0px;
  box-shadow: 0 0 2px 2px rgba(var(--color-foreground), 0.6);
  clip: auto !important;
  -webkit-clip-path: none;
  clip-path: none;
  color: var(--color-accent);
  display: block;
  font-size: 14px;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: var(--sp-16) var(--sp-24) var(--sp-14);
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000
}
@media only screen and (max-width:768px) {
  .customer-links button .icon {
    stroke-width: 1px;
    stroke: rgba(var(--color-foreground), .5)
  }
}
.woocommerce .star-rating::before {
  float: none
}
.modal-content {
  padding: 0px;
}
.widget-area {
  display: flex;
  flex-direction: column;
  gap: var(--sp-20)
}
ul#menu-main-menu-1.navbar-nav {
  min-height: 60px
}
ul.navbar-nav li {
  align-content: center;
  flex-wrap: wrap
}
.footer-wrapper .widget-area {
  display: flex;
  flex-direction: column;
  gap: 0
}
.offcanvas {
  color: rgb(var(--color-foreground));
  background-color: rgb(var(--color-background));
  z-index: 99999
}
@media (max-width:576px) {
  .mobile-scroll {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none;
    scroll-snap-type: x mandatory
  }
  .mobile-scroll::-webkit-scrollbar {
    display: none
  }
  .mobile-scroll > * {
    flex: 0 0 auto;
    scroll-snap-align: start
  }
  .mobile-scroll.one-half-per-view > * {
    min-width: 66% !important
  }
  .mobile-scroll.two-half-per-view > * {
    min-width: 40% !important
  }
  .mobile-scroll.three-half-per-view > * {
    min-width: 28% !important
  }
  .mobile-scroll.four-half-per-view > * {
    min-width: 22% !important
  }
}
.woocommerce #review_form #respond p {
  margin: var(--sp-10) 0 var(--sp-6);
}
header.site-header {
  position: relative;
  z-index: 10;
}
.themeshawk-woo-product-list {
  transition: all 0s ease-in-out
}
.navbar {
  transition: all 0s ease-in-out
}
.widget_block {
  margin-top: 0
}
.header-icon {
  border: none;
  background: rgba(var(--color-background), 0)
}
/*.header_search_modal {
  max-height: 300px !important;
  height: fit-content !important;
  padding: var(--sp-20) 0;
  min-height: 200px;
  align-items: center;
  justify-content: center
}*/
.header_search_modal {
  max-height: 100% !important;
  height: 100% !important;
  padding: var(--sp-20) 0;
  min-height: 200px;
  align-items: start;
  justify-content: start
}

.header-search-result {
    position: relative;
    width: 100%;
    left: 0;
    right: 0;
    padding: 0;
    background: rgb(var(--color-background));
    z-index: 1;
    margin-top: var(--sp-20);
}

.offcanvas .logo {
  max-width: 120px
}
[data-bs-theme="light"] .logo-dark {
  display: inline
}
[data-bs-theme="light"] .logo-light {
  display: none
}
[data-bs-theme="dark"] .logo-dark {
  display: none
}
[data-bs-theme="dark"] .logo-light {
  display: inline
}
.custom-heading-wrapper {
  display: grid
}
.widget-area ul li {
  list-style: none
}
p:last-child {
  margin-bottom: 0px !important
}
p:empty {
  display: none
}
header.site-header {
  align-items: center;
  display: grid
}
.glide {
  align-items: center
}
.custom-heading-wrapper p {
  margin: 0
}
.woocommerce div.product .product_title {
  display: block
}
.woocommerce div.product p.stock {
  font-size: .92em;
  display: none
}
.btn-primary::before, .btn-secondary::before, .button::before, .elementor-button:before, .wc-block-components-button:before {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(120deg, rgba(var(--color-background), 0) 0%, rgba(var(--color-background), 0.4) 50%, rgba(var(--color-background), 0) 100%);
  transform: skewX(-25deg)
}
.btn-primary:hover::before, .btn-secondary:hover::before, .button:hover::before, .elementor-button:hover::before, .wc-block-components-button:hover:before {
  animation: shine 0.9s forwards
}
@keyframes shine {
  100% {
    left: 125%
  }
}
.btn-primary:active, .btn-secondary:active, .button:active, .elementor-button:active, .wc-block-components-button:hover {
  transform: translateY(0px)
}
.btn-primary, .btn-secondary, .button, .elementor-button, .wc-block-components-button {
  position: relative;
  transition: all 0.3s ease;
  min-height: var(--btn-min-height, 45px);
  overflow: hidden;
}
.btn-primary::after, .btn-secondary::after, .button::after, .elementor-button::after, .wc-block-components-button::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background-color: currentColor;
  transition: all 0.3s ease;
  transform: translateX(-50%)
}
.btn-primary:hover::after, .btn-secondary:hover::after, .button:hover::after, .elementor-button:hover::after, .wc-block-components-button:hover::after {
  width: 80%
}
.btn-primary:hover, .btn-secondary:hover, .button:hover, .elementor-button:hover, .wc-block-components-button:hover {
  transform: translateY(0px);
  box-shadow: var(--shadow-md)
}
.btn-primary:active, .btn-secondary:active, .button:active, .elementor-button:active, .wc-block-components-button:active {
  transform: scale(1)
}
.themeshawk-woocommerce-products-info {
  align-items: flex-start
}
.product-sticky {
  position: static;
}
@media (min-width: 992px) {
  .product-sticky {
    position: sticky;
    top: 100px;
    transition: transform 0.3s ease;
  }
}
.mailchimp-input-wrapper {
  position: relative;
  width: 100%;
  max-width: 400px
}
.mailchimp-input-wrapper input[type="email"] {
  width: 100%;
  padding: var(--sp-28) 110px var(--sp-28) var(--sp-16);
  border: var(--border);
  border-radius: 50px;
  font-size: 16px;
  outline: none;
  transition: border-color 0.3s
}
.mailchimp-input-wrapper button {
  position: absolute;
  right: 5px;
  top: 5px;
  bottom: 5px;
  cursor: pointer
}
html, body, [data-bs-theme] {
  transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease
}
[data-bs-theme="dark"] * {
  transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease
}
p {
  margin: 0 0 1.5em;
  color: inherit
}
.coupon-input-wrapper {
  position: relative;
  width: 100%;
  max-width: 400px
}
.coupon-input-wrapper input[type="text"] {
  width: 100%;
  padding: var(--sp-24) 110px var(--sp-24) var(--sp-16) !important;
  border: var(--border);
  border-radius: 0px;
  font-size: inherit;
  outline: none;
  transition: border-color 0.3s
}
.coupon-input-wrapper button {
  position: absolute;
  right: 5px;
  top: 5px;
  bottom: 5px;
  cursor: pointer;
  max-height: 40px
}
.swiper-slide {
  transition: transform 0.3s ease;
  transform: scale(1);
  cursor: pointer
}
.tablink.active, .tablink:hover {
  border-bottom: 0 solid rgb(var(--color-foreground))
}
.tablink {
  position: relative;
  opacity: .7;
  color: rgba(var(--color-foreground), .7);
  text-decoration: none;
  transition: color 0.3s ease, opacity 0.3s ease
}
.tablink::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0%;
  height: 2px;
  background-color: rgb(var(--color-foreground));
  transition: width 0.3s ease
}
.tablink:hover, .tablink.active {
  opacity: 1;
  color: rgb(var(--color-foreground))
}
.tablink:hover::after, .tablink.active::after {
  width: 100%
}
.woocommerce-advanced-search {
  width: 100%;
  margin: 0 auto;
  padding: 0 var(--sp-72)
}
.search-bar-wrapper {
  display: flex;
  align-items: stretch;
  border: 2px solid rgba(var(--color-foreground), .1);
  overflow: hidden;
  background: rgb(var(--color-background));
  transition: border-color 0.3s ease;
  padding: var(--sp-6);
  gap: var(--sp-6);
  border-radius: 0px
}
.search-category select {
  border: none;
  border-right: 2px solid rgba(var(--color-foreground), .1);
  padding: var(--sp-8) var(--sp-16);
  outline: none;
  appearance: none;
  cursor: pointer;
  border-radius: 0px !important
}
.search-keyword {
  flex: 1;
  border: none !important;
  padding: var(--sp-8) var(--sp-16) !important;
  outline: none;
  background: rgb(var(--color-background));
  height: 40px
}
.search-bar-wrapper .search-submit {
  height: 40px
}
@media (max-width:600px) {
  .search-bar-wrapper {
    flex-direction: column;
    border-radius: 0px
  }
  .search-category select {
    border-right: none;
    border-bottom: var(--border);
  }
  .search-submit {
    border-radius: 0 0 10px 10px;
    width: 100%;
    padding: var(--sp-12) 0
  }
}
.header-bottom-contact-info {
  display: flex;
  gap: var(--sp-8);
  height: 100%;
  align-items: center
}
.contact-icon svg {
  width: 50px;
  height: 50px
}
.contact-number {
  font-weight: 700
}
.bounce {
  animation: bounce 2s infinite ease-in-out
}
@keyframes bounce {
  0%, 100% {
    transform: translateY(0)
  }
  50% {
    transform: translateY(-8px)
  }
}
.float-updown {
  animation: floatUpDown 3s ease-in-out infinite;
  display: inline-block
}
@keyframes floatUpDown {
  0%, 100% {
    transform: translateY(0)
  }
  50% {
    transform: translateY(-10px)
  }
}
.float-leftright {
  animation: floatLeftRight 3s ease-in-out infinite
}
@keyframes floatLeftRight {
  0%, 100% {
    transform: translateX(0)
  }
  50% {
    transform: translateX(10px)
  }
}
.float-diagonal {
  animation: floatDiagonal 4s ease-in-out infinite
}
@keyframes floatDiagonal {
  0%, 100% {
    transform: translate(0, 0)
  }
  50% {
    transform: translate(10px, -10px)
  }
}
.fade-in {
  animation: fadeIn 1s ease forwards
}
@keyframes fadeIn {
  from {
    opacity: 0
  }
  to {
    opacity: 1
  }
}
.fade-out {
  animation: fadeOut 1s ease forwards
}
@keyframes fadeOut {
  from {
    opacity: 1
  }
  to {
    opacity: 0
  }
}
.fade-in-up {
  animation: fadeInUp 1.2s ease both
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px)
  }
  to {
    opacity: 1;
    transform: translateY(0)
  }
}
.fade-in-down {
  animation: fadeInDown 1.2s ease both
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-20px)
  }
  to {
    opacity: 1;
    transform: translateY(0)
  }
}
.fade-in-left {
  animation: fadeInLeft 1.2s ease both
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-20px)
  }
  to {
    opacity: 1;
    transform: translateX(0)
  }
}
.fade-in-right {
  animation: fadeInRight 1.2s ease both
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(20px)
  }
  to {
    opacity: 1;
    transform: translateX(0)
  }
}
.zoom-in {
  animation: zoomIn 0.4s ease forwards
}
@keyframes zoomIn {
  from {
    transform: scale(.8);
    opacity: 0
  }
  to {
    transform: scale(1);
    opacity: 1
  }
}
.zoom-out {
  animation: zoomOut 0.4s ease forwards
}
@keyframes zoomOut {
  from {
    transform: scale(1.2);
    opacity: 1
  }
  to {
    transform: scale(1);
    opacity: 0
  }
}
.zoom-bounce {
  animation: zoomBounce 1.2s ease-out infinite
}
@keyframes zoomBounce {
  0%, 100% {
    transform: scale(1)
  }
  50% {
    transform: scale(1.05)
  }
}
.rotate {
  animation: rotate 3s linear infinite
}
@keyframes rotate {
  from {
    transform: rotate(0deg)
  }
  to {
    transform: rotate(360deg)
  }
}
.rotate-reverse {
  animation: rotateReverse 3s linear infinite
}
@keyframes rotateReverse {
  from {
    transform: rotate(360deg)
  }
  to {
    transform: rotate(0deg)
  }
}
.rotate-swing {
  animation: rotateSwing 2s ease-in-out infinite
}
@keyframes rotateSwing {
  0%, 100% {
    transform: rotate(0deg)
  }
  50% {
    transform: rotate(10deg)
  }
}
.pulse {
  animation: pulse 1.5s ease-in-out infinite
}
@keyframes pulse {
  0%, 100% {
    transform: scale(1)
  }
  50% {
    transform: scale(1.05)
  }
}
.pulse-slow {
  animation: pulse 3s ease-in-out infinite
}
.pulse-glow {
  animation: pulseGlow 2s ease-in-out infinite
}
@keyframes pulseGlow {
  0%, 100% {
    box-shadow: 0 0 0 rgba(var(--color-background), 0)
  }
  50% {
    box-shadow: 0 0 20px rgba(var(--color-background), 0.8)
  }
}
.shake {
  animation: shake 0.8s linear infinite
}
@keyframes shake {
  0%, 100% {
    transform: translateX(0)
  }
  25% {
    transform: translateX(-3px)
  }
  75% {
    transform: translateX(3px)
  }
}
.wobble {
  animation: wobble 1s ease-in-out infinite
}
@keyframes wobble {
  0%, 100% {
    transform: rotate(0deg)
  }
  25% {
    transform: rotate(2deg)
  }
  75% {
    transform: rotate(-2deg)
  }
}
.jelly {
  animation: jelly 1s ease-in-out infinite
}
@keyframes jelly {
  0%, 100% {
    transform: scale(1, 1)
  }
  25% {
    transform: scale(1.1, .9)
  }
  50% {
    transform: scale(.9, 1.1)
  }
  75% {
    transform: scale(1.05, .95)
  }
}
.slide-up {
  animation: slideUp 1s ease both
}
@keyframes slideUp {
  from {
    transform: translateY(100%)
  }
  to {
    transform: translateY(0)
  }
}
.slide-down {
  animation: slideDown 1s ease both
}
@keyframes slideDown {
  from {
    transform: translateY(-100%)
  }
  to {
    transform: translateY(0)
  }
}
.slide-left {
  animation: slideLeft 1s ease both
}
@keyframes slideLeft {
  from {
    transform: translateX(100%)
  }
  to {
    transform: translateX(0)
  }
}
.slide-right {
  animation: slideRight 1s ease both
}
@keyframes slideRight {
  from {
    transform: translateX(-100%)
  }
  to {
    transform: translateX(0)
  }
}
.flip {
  animation: flip 1.2s ease-in-out infinite;
  transform-style: preserve-3d
}
@keyframes flip {
  0%, 100% {
    transform: rotateY(0)
  }
  50% {
    transform: rotateY(180deg)
  }
}
.flip-x {
  animation: flipX 1.5s ease-in-out infinite
}
@keyframes flipX {
  0%, 100% {
    transform: rotateX(0)
  }
  50% {
    transform: rotateX(180deg)
  }
}
.tada {
  animation: tada 1.5s ease-in-out infinite
}
@keyframes tada {
  0%, 100% {
    transform: scale(1)
  }
  10%, 20% {
    transform: scale(.9) rotate(-3deg)
  }
  30%, 50%, 70%, 90% {
    transform: scale(1.1) rotate(3deg)
  }
  40%, 60%, 80% {
    transform: scale(1.1) rotate(-3deg)
  }
}
.swing {
  animation: swing 2s ease-in-out infinite;
  transform-origin: top center
}
@keyframes swing {
  0%, 100% {
    transform: rotate(0deg)
  }
  25% {
    transform: rotate(5deg)
  }
  75% {
    transform: rotate(-5deg)
  }
}
.bounce-slow {
  animation: bounceSlow 2.5s ease-in-out infinite
}
@keyframes bounceSlow {
  0%, 100% {
    transform: translateY(0)
  }
  50% {
    transform: translateY(-15px)
  }
}
.blink {
  animation: blink 1s step-start infinite
}
@keyframes blink {
  50% {
    opacity: 0
  }
}
.flash {
  animation: flash 1.5s ease-in-out infinite
}
@keyframes flash {
  0%, 100% {
    opacity: 1
  }
  50% {
    opacity: .3
  }
}
.glow {
  animation: glow 2s ease-in-out infinite
}
@keyframes glow {
  0%, 100% {
    filter: brightness(1)
  }
  50% {
    filter: brightness(1.5)
  }
}
.wave {
  animation: wave 2s linear infinite;
  transform-origin: bottom center
}
@keyframes wave {
  0%, 100% {
    transform: rotate(0deg)
  }
  25% {
    transform: rotate(4deg)
  }
  75% {
    transform: rotate(-4deg)
  }
}
.swing-rotate {
  animation: swingRotate 3s ease-in-out infinite
}
@keyframes swingRotate {
  0%, 100% {
    transform: rotate(0)
  }
  50% {
    transform: rotate(8deg)
  }
}
@media (min-width:990px) {
  .dropdown-menu.megamenu {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    display: block !important;
    transition: all 0.4s ease;
    transform-origin: top center
  }
  .dropdown:hover .dropdown-menu.megamenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto
  }
  .effect-1 {
    transform: scale(.9) !important
  }
  .dropdown:hover .effect-1 {
    transform: scale(1) !important
  }
  .effect-2 {
    transform: scale(1.2) !important
  }
  .dropdown:hover .effect-2 {
    transform: scale(1) !important
  }
  .effect-3 {
    transform: none !important;
    opacity: 0
  }
  .dropdown:hover .effect-3 {
    opacity: 1
  }
  .effect-4 {
    transform: translateY(-15px) !important
  }
  .dropdown:hover .effect-4 {
    transform: translateY(0) !important
  }
  .effect-5 {
    transform: translateY(15px) !important
  }
  .dropdown:hover .effect-5 {
    transform: translateY(0) !important
  }
  .effect-6 {
    transform: translateX(20px) !important
  }
  .dropdown:hover .effect-6 {
    transform: translateX(0) !important
  }
  .effect-7 {
    transform: translateX(-20px) !important
  }
  .dropdown:hover .effect-7 {
    transform: translateX(0) !important
  }
  .effect-8 {
    transform: scale(.8) !important;
    opacity: 0
  }
  .dropdown:hover .effect-8 {
    transform: scale(1) !important;
    opacity: 1
  }
  .effect-9 {
    transform: scale(.85) !important;
    filter: blur(6px)
  }
  .dropdown:hover .effect-9 {
    transform: scale(1) !important;
    filter: blur(0)
  }
  .effect-10 {
    transform: scale(.8) !important;
    transition-timing-function: cubic-bezier(.34, 1.56, .64, 1)
  }
  .dropdown:hover .effect-10 {
    transform: scale(1) !important
  }
  .effect-11 {
    transform: rotateX(-90deg) !important
  }
  .dropdown:hover .effect-11 {
    transform: rotateX(0) !important
  }
  .effect-12 {
    transform: rotateX(90deg) !important
  }
  .dropdown:hover .effect-12 {
    transform: rotateX(0) !important
  }
  .effect-13 {
    transform: rotateY(-90deg) !important
  }
  .dropdown:hover .effect-13 {
    transform: rotateY(0) !important
  }
  .effect-14 {
    transform: perspective(600px) rotateX(-10deg) scale(.9) !important
  }
  .dropdown:hover .effect-14 {
    transform: perspective(600px) rotateX(0) scale(1) !important
  }
  .effect-15 {
    transform: rotateX(-20deg) !important;
    transform-origin: top
  }
  .dropdown:hover .effect-15 {
    transform: rotateX(0) !important
  }
  .effect-16 {
    transform: translateY(-20px) !important;
    transition-timing-function: cubic-bezier(.68, -.55, .27, 1.55)
  }
  .dropdown:hover .effect-16 {
    transform: translateY(0) !important
  }
  .effect-17 {
    transform: scale(.7) !important;
    transition-timing-function: cubic-bezier(.17, .67, .83, .67)
  }
  .dropdown:hover .effect-17 {
    transform: scale(1) !important
  }
  .effect-18 {
    transform: perspective(800px) translateY(-20px) rotateX(-10deg) !important
  }
  .dropdown:hover .effect-18 {
    transform: perspective(800px) translateY(0) rotateX(0) !important
  }
  .effect-19 {
    transform: rotateZ(-5deg) !important
  }
  .dropdown:hover .effect-19 {
    transform: rotateZ(0) !important
  }
  .effect-20 {
    transform: translateY(-10px) scale(.9) !important
  }
  .dropdown:hover .effect-20 {
    transform: translateY(0) scale(1) !important
  }
  .effect-21 {
    transform: translateY(20px) scale(.95) !important
  }
  .dropdown:hover .effect-21 {
    transform: translateY(0) scale(1) !important
  }
  .effect-22 {
    transform: scaleY(0) !important;
    transform-origin: top
  }
  .dropdown:hover .effect-22 {
    transform: scaleY(1) !important
  }
  .effect-23 {
    transform: skewY(-8deg) !important
  }
  .dropdown:hover .effect-23 {
    transform: skewY(0) !important
  }
  .effect-24 {
    transform: rotateX(-180deg) !important
  }
  .dropdown:hover .effect-24 {
    transform: rotateX(0) !important
  }
  .effect-25 {
    transform: perspective(600px) scale(.85) rotateX(-5deg) !important
  }
  .dropdown:hover .effect-25 {
    transform: perspective(600px) scale(1) rotateX(0) !important
  }
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button {
  overflow: hidden !important
}
[class^="hvr-"], [class*=" hvr-"] {
  display: inherit !important
}
.hvr-radial-out:before, .hvr-radial-in, .hvr-rectangle-in, .hvr-rectangle-out:before, .hvr-shutter-in-horizontal, .hvr-shutter-out-horizontal:before, .hvr-shutter-in-vertical, .hvr-shutter-out-vertical:before {
  background: var(--color-accent) !important
}
.hvr-radial-out {
  background: inherit !important
}
.hvr-radial-in:before, .hvr-rectangle-in:before, .hvr-rectangle-out, .hvr-shutter-in-horizontal:before, .hvr-shutter-out-horizontal, .hvr-shutter-in-vertical:before, .hvr-shutter-out-vertical {
  background: rgb(var(--color-background)) !important
}
.hvr-border-fade:hover, .hvr-border-fade:focus, .hvr-border-fade:active {
  box-shadow: inset 0 0 0 4px var(--color-accent), 0 0 1px rgba(var(--color-background), 0)
}
.elementor-element .swiper .elementor-swiper-button, .elementor-element .swiper ~ .elementor-swiper-button, .elementor-lightbox .swiper .elementor-swiper-button, .elementor-lightbox .swiper ~ .elementor-swiper-button {
  background: rgb(var(--color-background)) !important;
  padding: var(--sp-10);
  border-radius: 0px;
  color: rgb(var(--color-foreground)) !important;
  box-shadow: 0 0 14px rgba(var(--color-foreground), 0.102)
}
.elementor-main-swiper .elementor-swiper-button {
  opacity: 0;
  visibility: hidden;
  transform: scale(.95);
  transition: all 0.35s ease-in-out
}
.elementor-main-swiper:hover .elementor-swiper-button {
  opacity: 1;
  visibility: visible;
  transform: scale(1)
}
.wishlist-empty {
  margin-bottom: var(--sp-20)
}
.th-cart-notification-bubble {
  box-shadow: 0 0 20px rgba(var(--color-foreground), .5) !important
}
.closeX {
  position: absolute;
  top: 0;
  right: 10px
}
.icons-block .icon {
  align-items: center;
  justify-content: center
}
.shadow {
  box-shadow: var(--shadow-md) !important
}
.shadow-lg {
  box-shadow: var(--shadow-lg) !important
}
.shadow-sm {
  box-shadow: var(--shadow-sm) !important
}
.post-card__content .btn {
  max-width: 200px
}
.wc-block-cart-item__wrap {
  text-align: start
}
/*.mobile_header.fixed-top {
  width: 100%;
  margin: 0 auto;
  border-radius: 0;
  top: 0;
  padding: var(--sp-16) var(--sp-10)
}
.mobile_header {
  width: 90%;
  margin: 0 auto;
  border-radius: 100px;
  top: 10px;
  padding: var(--sp-16) var(--sp-10)
}*/
.navbar-brand {
  align-items: center;
  justify-content: center;
  display: flex
}
/* =====================================================================
   Header scroll behaviour (Theme Options > Header > Scroll behaviour).
   header-behavior.js toggles .fixed-top, .header-hidden and the body classes
   cl-hd-scrolled / cl-hd-shrunk; the values below come from the options.
   ===================================================================== */
/* #navbar_top / #navbar_mobile are listed because an earlier rule sets z-index and transition on those ids. */
.fixed-top, body #navbar_top.fixed-top, body #navbar_mobile.fixed-top {
  z-index: var(--hd-z, 1030);
  transition: transform var(--hd-speed, .3s) ease, opacity var(--hd-speed, .3s) ease, background-color var(--hd-speed, .3s) ease, box-shadow var(--hd-speed, .3s) ease, padding var(--hd-speed, .3s) ease;
}
body.admin-bar .fixed-top { top: 32px; }
@media (max-width: 782px) { body.admin-bar .fixed-top { top: 46px; } }
.fixed-top.header-hidden { transform: translateY(-100%); pointer-events: none; }
body.cl-hd-fx-fade .fixed-top.header-hidden { transform: none; opacity: 0; }
body.cl-hd-fx-slide-fade .fixed-top.header-hidden { opacity: 0; }

/* Shrink on scroll */
body.cl-hd-shrink.cl-hd-shrunk .navbar.fixed-top { padding-top: var(--hd-shrink-pad, 6px); padding-bottom: var(--hd-shrink-pad, 6px); }
body.cl-hd-shrink.cl-hd-shrunk .fixed-top :is(img.logo, .header-logo img, .navbar-brand img) { zoom: var(--hd-logo-scale, .8); transition: zoom var(--hd-speed, .3s) ease; }
@supports not (zoom: 1) {
  body.cl-hd-shrink.cl-hd-shrunk .fixed-top :is(img.logo, .header-logo img, .navbar-brand img) { transform: scale(var(--hd-logo-scale, .8)); transform-origin: left center; }
}

/* Transparent header at the top of the page */
body.cl-hd-transparent .site-header { position: relative; min-height: 0; }
body.cl-hd-transparent .site-header > nav:not(.fixed-top) {
  position: absolute; top: 0; left: 0; right: 0; width: 100%; max-width: 100%; z-index: var(--hd-z, 1030);
  background: transparent !important; box-shadow: none !important; border-color: transparent !important;
  -webkit-backdrop-filter: none; backdrop-filter: none;
}
body.cl-hd-transparent .site-header > nav:not(.fixed-top) :is(.nav-link, .header-icon, .navbar-brand, .navbar-toggler, .customer-links a) { color: var(--hd-transparent-text, rgb(var(--color-background))) !important; }

@media (prefers-reduced-motion: reduce) {
  .fixed-top, body #navbar_top.fixed-top, body #navbar_mobile.fixed-top, body.cl-hd-shrink.cl-hd-shrunk .fixed-top :is(img.logo, .header-logo img, .navbar-brand img) { transition: none; }
}
select, input:not([type='checkbox']):not([type=radio]):not([type='submit']) {
  min-width: 50px;
}
.add_to_quantity_w_btn {
  align-items: center;
}
.card.themeshawk-woo-product-list .star-rating {
  height: 30px;
  line-height: 1;
  width: 100%;
  align-items: center
}
/* WooCommerce star rating alignment fix */
.woocommerce .star-rating {
  position: relative;
  display: inline-block; /* IMPORTANT */
  font-family: "star";
  font-size: 18px;
  line-height: 1;
  height: 1em;
  width: 5.4em;
  overflow: hidden;
}
.woocommerce .star-rating::before {
  /*content: "★★★★★";*/
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  color: var(--color-line);
}
.woocommerce .star-rating span {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  overflow: hidden;
  float: left;
  padding-top: 6.5em !important;
}
.woocommerce .star-rating span::before {
  content: "★★★★★";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  color: var(--color-star);
}
.wc-block-cart .wp-block-woocommerce-cart-order-summary-block {
  font-size: inherit !important;
}
.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name, table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
  display: block;
  font-size: inherit !important;
  line-height: 1.4;
  max-width: max-content;
}
.wc-blocks-components-select .wc-blocks-components-select__select {
  border: var(--border) !important;
}
.contact-info-phone-number a, .contact-info-email a, .contact-info-text a {
  gap: var(--sp-8);
}
.quick-view-product .woocommerce div.product {
  padding: 0px !important;
}
.quick-view-modal-close-btn {
  position: absolute;
  right: 10px;
  top: 10px;
}
.themeshawk-woocommerce-products-info {
  gap: 0px !important;
  margin-top: 0px !important;
}
.woocommerce .woocommerce-product-rating .star-rating {
  margin: 0px !important;
}
.border {
  border: var(--bs-border-width) var(--bs-border-style) rgba(var(--color-border), 0.1) !important;
}
.border-top {
  border-top: var(--bs-border-width) var(--bs-border-style) rgba(var(--color-border), 0.1) !important;
}
.border-end {
  border-right: var(--bs-border-width) var(--bs-border-style) rgba(var(--color-border), 0.1) !important;
}
.border-bottom {
  border-bottom: var(--bs-border-width) var(--bs-border-style) rgba(var(--color-border), 0.1) !important;
}
.border-start {
  border-left: var(--bs-border-width) var(--bs-border-style) rgba(var(--color-border), 0.1) !important;
}
.woocommerce .products .star-rating {
  display: block;
  margin: 0 !important;
  float: none;
}
.icon {
  display: flex;
  width: 20px;
  height: 20px;
}
.product-actions-buttons svg {
  width: 20px;
  height: 20px;
}
svg path {
  stroke-width: 1.5px !important;
}
ol, ul {
  padding-left: 0rem !important;
}
.wp-block-list {
    padding-left: var(--sp-20) !important;
}
.quick-view-btn svg, .quick-view-btn svg * {
  pointer-events: none;
}
.zoom-image, .woo-card-primary-image, .product-category img {
  opacity: 0;
  transform: scale(1.3);
  transition: transform .3s ease, opacity .3s ease;
  object-fit: cover;
}
.zoom-image.loaded, .woo-card-primary-image.loaded, .product-category img.loaded {
  opacity: 1;
  transform: scale(1);
}
.elementor-editor-active .zoom-image, .elementor-editor-active .woo-card-primary-image, .elementor-editor-active .product-category img {
  opacity: 1 !important;
  transform: scale(1.3);
  transition: transform .3s ease, opacity .3s ease;
}
.button {
  align-items: center;
  justify-content: center;
  display: flex;
}
.single_variation_wrap {
  gap: var(--sp-10);
  display: flex;
  flex-direction: column;
}
.woocommerce .woocommerce-error .button, .woocommerce .woocommerce-info .button, .woocommerce .woocommerce-message .button, .woocommerce-page .woocommerce-error .button, .woocommerce-page .woocommerce-info .button, .woocommerce-page .woocommerce-message .button {
  float: right;
  align-items: center;
  justify-content: center;
  display: flex;
}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
  background: none transparent;
  border: 0;
  box-shadow: none;
  color: currentColor;
  cursor: pointer;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  margin: 0;
  min-width: 30px;
  opacity: 1;
  padding: 0;
  text-align: center;
  text-decoration: none;
}
.wc-block-cart-items .wc-block-components-quantity-selector > .wc-block-components-quantity-selector__button--minus, .wc-block-cart-items .wc-block-components-quantity-selector > .wc-block-components-quantity-selector__button--plus, .wc-block-cart-items select, .wc-block-cart-items input:not([type='checkbox']):not([type=radio]):not([type='submit']) {
  height: 40px !important;
}
.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link, table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
  height: 30px !important;
  width: 30px !important;
}
.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity, table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: var(--sp-6);
}
.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices, table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  font-size: inherit;
  gap: var(--sp-8);
  line-height: 1.4;
}
.wc-block-components-product-details.wc-block-components-product-details {
  font-size: inherit;
  line-height: 1.4;
}
.wc-block-components-totals-wrapper {
  border-top: 0px solid rgba(var(--color-foreground), 0.1);
  padding: var(--sp-10) 0;
}
.wp-block-woocommerce-cart-order-summary-totals-block {
  border-top: 0px solid rgba(var(--color-foreground), 0.1);
  padding-bottom: var(--sp-16);
}
.wc-block-cart .wp-block-woocommerce-cart-order-summary-block {
  border-bottom: 0px solid rgba(var(--color-foreground), 0.1);
  font-size: var(--wp--preset--font-size--small, 14px);
  line-height: 1.4;
  margin-bottom: var(--sp-16);
}
.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__header, table.wc-block-cart-items .wc-block-cart-items__header {
  font-size: inherit;
  line-height: 1.4;
  text-transform: uppercase;
}
.wc-block-cart__main .wc-block-cart-items {
  border-bottom: 0px solid rgba(var(--color-foreground), 0.1);
  border-spacing: 0;
}
.wc-block-components-quantity-selector > .wc-block-components-quantity-selector__button--plus {
  border-radius: 0;
  order: 3;
}
.wc-block-components-quantity-selector > .wc-block-components-quantity-selector__button--minus {
  border-radius: 0;
  order: 1;
}
.wc-block-components-quantity-selector {
  border: 1px solid rgba(var(--color-foreground), 0.1);
  border-radius: 0;
  box-sizing: border-box;
  display: flex;
  position: relative;
  width: 107px;
}
.card-image img, .card-image img:nth-child(1) {
  object-fit: cover;
}
.card-image .th-post-card-image { height: 100%; object-fit: cover; }
/*Bootstrap Utilities*/
.w-fit {
  width: fit-content;
}
/* ==================================================
   Custom Bootstrap row-cols utilities (7 → 12)
   Fully responsive: base, sm, md, lg, xl, xxl
   ================================================== */
/* ---------- Base (all devices) ---------- */
.row-cols-7 > * {
  flex: 0 0 auto;
  width: calc(100% / 7);
}
.row-cols-8 > * {
  flex: 0 0 auto;
  width: calc(100% / 8);
}
.row-cols-9 > * {
  flex: 0 0 auto;
  width: calc(100% / 9);
}
.row-cols-10 > * {
  flex: 0 0 auto;
  width: calc(100% / 10);
}
.row-cols-11 > * {
  flex: 0 0 auto;
  width: calc(100% / 11);
}
.row-cols-12 > * {
  flex: 0 0 auto;
  width: calc(100% / 12);
}
/* ---------- SM ≥576px ---------- */
@media (min-width: 576px) {
  .row-cols-sm-7 > * {
    width: calc(100% / 7);
  }
  .row-cols-sm-8 > * {
    width: calc(100% / 8);
  }
  .row-cols-sm-9 > * {
    width: calc(100% / 9);
  }
  .row-cols-sm-10 > * {
    width: calc(100% / 10);
  }
  .row-cols-sm-11 > * {
    width: calc(100% / 11);
  }
  .row-cols-sm-12 > * {
    width: calc(100% / 12);
  }
}
/* ---------- MD ≥768px ---------- */
@media (min-width: 768px) {
  .row-cols-md-7 > * {
    width: calc(100% / 7);
  }
  .row-cols-md-8 > * {
    width: calc(100% / 8);
  }
  .row-cols-md-9 > * {
    width: calc(100% / 9);
  }
  .row-cols-md-10 > * {
    width: calc(100% / 10);
  }
  .row-cols-md-11 > * {
    width: calc(100% / 11);
  }
  .row-cols-md-12 > * {
    width: calc(100% / 12);
  }
}
/* ---------- LG ≥992px ---------- */
@media (min-width: 992px) {
  .row-cols-lg-7 > * {
    width: calc(100% / 7);
  }
  .row-cols-lg-8 > * {
    width: calc(100% / 8);
  }
  .row-cols-lg-9 > * {
    width: calc(100% / 9);
  }
  .row-cols-lg-10 > * {
    width: calc(100% / 10);
  }
  .row-cols-lg-11 > * {
    width: calc(100% / 11);
  }
  .row-cols-lg-12 > * {
    width: calc(100% / 12);
  }
}
/* ---------- XL ≥1200px ---------- */
@media (min-width: 1200px) {
  .row-cols-xl-7 > * {
    width: calc(100% / 7);
  }
  .row-cols-xl-8 > * {
    width: calc(100% / 8);
  }
  .row-cols-xl-9 > * {
    width: calc(100% / 9);
  }
  .row-cols-xl-10 > * {
    width: calc(100% / 10);
  }
  .row-cols-xl-11 > * {
    width: calc(100% / 11);
  }
  .row-cols-xl-12 > * {
    width: calc(100% / 12);
  }
}
/* ---------- XXL ≥1400px ---------- */
@media (min-width: 1400px) {
  .row-cols-xxl-7 > * {
    width: calc(100% / 7);
  }
  .row-cols-xxl-8 > * {
    width: calc(100% / 8);
  }
  .row-cols-xxl-9 > * {
    width: calc(100% / 9);
  }
  .row-cols-xxl-10 > * {
    width: calc(100% / 10);
  }
  .row-cols-xxl-11 > * {
    width: calc(100% / 11);
  }
  .row-cols-xxl-12 > * {
    width: calc(100% / 12);
  }
}
ul.row li {
  list-style: none;
}
/*Grayscale Image: Use This Class*/
.grayscale-hover img {
  filter: grayscale(100%);
  transition: filter var(--duration-medium) ease;
}
.grayscale-hover img:hover {
  filter: grayscale(0%);
}

.quick-view-product .product-rating {
    justify-content: flex-start;
    display: flex;
    align-items: center;
}

.quick-view-product .product-info-wrapper > * {
    padding-block: 2px !important;
}

.quick-view-product  .woocommerce div.product form.cart .variations select {
    margin-bottom: 0 !important;
}

.quick-view-product  .woocommerce div.product form.cart .variations:not(:empty) {
    margin-bottom: 0 !important;
    border: 0;
    width: 100%;
}
.modal-body {
    position: relative;
    flex: 1 1 auto;
    padding: var(--sp-20);
}

.quick-view-product  .woocommerce div.product {
    padding-top: var(--sp-20);
    padding-right: var(--sp-20);
    padding-bottom: var(--sp-20);
    padding-left: var(--sp-20);
}

.quick-view-product .themeshawk-woocommerce-products-info .quantity .qty {
    text-align: center;
    width: 100% !important;
    margin: 0;
    box-sizing: border-box;
    line-height: normal;
    font-size: 14px;
    vertical-align: middle;
    border: 1px solid rgba(var(--color-foreground), .05);
    -webkit-appearance: none;
    height: 40px;
    padding: var(--sp-20);
}

.woocommerce div.product {
    background-color: transparent;
    align-items: start;
}
.comment-form-cookies-consent {
    margin-top: var(--sp-10);
}

/* >>> COURTEOUS CARD STYLES START >>> */
/* =====================================================================
   CARD STYLES
   Product cards 4-20 (.cl-pc) and post cards 2-20 (.cl-bc).
   Cards 1-3 (products) and card 1 (posts) keep their original styles.
   Accent colour and radius come from Theme Options (--cl-pc-*, --cl-bc-*).
   ===================================================================== */

/* ---------- Colour tokens: everything below follows the theme colours (Theme Options > Colors) ---------- */
/* Palette defaults: Theme Options > Colors > Extended palette overrides these when a colour is set (see Courteous_Color_System).
   Neutral colours are derived from foreground / background so they follow dark mode. Status colours (success, info, warning,
   danger, star) are printed from the options. */
:root {
  --color-secondary: var(--color-accent);
  --color-secondary-rgb: var(--color-accent-rgb);
  --color-surface: color-mix(in srgb, rgb(var(--color-foreground)) 4%, rgb(var(--color-background)));
  --color-line: rgba(var(--color-foreground), .14);
  --color-muted: rgba(var(--color-foreground), .62);
  --cl-bg: rgb(var(--color-background));
  --cl-fg: rgb(var(--color-foreground));
  --cl-muted: var(--color-muted);
  --cl-line: var(--color-line);
  --cl-soft: var(--color-surface);
  --cl-on-bg: rgba(var(--color-background), .82);
  --cl-on: var(--cl-on-accent, var(--cl-on-global, var(--cl-bg)));
}

/* ---------- Product cards: shared ---------- */
.cl-pc.themeshawk-woo-product-list {
  --pc-a: var(--cl-pc-accent, var(--color-accent));
  --pc-r: var(--cl-pc-radius, 10px);
  --pc-on: var(--cl-pc-on, var(--cl-on-global, var(--cl-bg)));
  --pc-ink: var(--cl-pc-ink, var(--cl-fg));
  --pc-muted: color-mix(in srgb, var(--pc-ink) 62%, transparent);
  --pc-line: var(--cl-pc-line, var(--cl-line));
  --pc-bw: var(--cl-pc-bw, 1px);
  --pc-gap: var(--cl-pc-gap, 6px);
  --pc-pad-x: var(--cl-pc-pad, var(--cl-card-pad-x, 16px));
  --pc-pad-y: var(--cl-pc-pad, var(--cl-card-pad-y, 14px));
  --pc-overlay: var(--cl-pc-overlay, .8);
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 0;
  background: var(--cl-pc-bg, var(--cl-bg));
  color: var(--pc-ink);
  border: var(--pc-bw) solid var(--pc-line);
  border-radius: var(--pc-r);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
}
.cl-pc *, .cl-pc *::before, .cl-pc *::after { box-sizing: border-box; }
/* Content alignment (Theme Options > WooCommerce > Cards). Two classes so the plugin card styles cannot override it. */
.cl-pc.cl-pc--align-center { text-align: center; }
.cl-pc.cl-pc--align-left { text-align: left; }
.cl-pc.cl-pc--align-right { text-align: right; }
.cl-pc--shadow { box-shadow: var(--shadow-lg); }
.cl-pc--align-left .star-rating { margin: 0; }
.cl-pc--align-left .cl-pc__actions, .cl-pc--align-left .cl-pc__meta { justify-content: flex-start; }
.cl-pc__media { position: relative; overflow: hidden; }
.cl-pc__media img { display: block; width: 100%; height: auto; }
/* Product image box ("Image size" option). Fixed-ratio mode (wrapper has .ratio): the box is sized by padding and both the
   primary and the hover image fill it. Adapt-to-image mode: the primary image sets the height and the hover image is stacked
   on top at the same size. Used by every product card (1-20); the selectors are strong on purpose so the hover-effect CSS
   (body .themeshawk-product-card-image-wrapper ...) and older image rules cannot change the image size. */
body .themeshawk-product-card-image-wrapper.woo-card-primary-image-wrapper { position: relative; display: block; width: 100%; height: auto; overflow: hidden; margin: 0; padding: 0; }
body .themeshawk-product-card-image-wrapper.woo-card-primary-image-wrapper::before { content: none; display: none; }
body .themeshawk-product-card-image-wrapper.woo-card-primary-image-wrapper.ratio { height: 0; padding-top: var(--bs-aspect-ratio, 100%); }
/* "img" (not "> img") so the images still fill the box when a lazy-load or WebP plugin wraps them in <picture> or <span>. */
body .themeshawk-product-card-image-wrapper.woo-card-primary-image-wrapper.ratio img { position: absolute; top: 0; left: 0; right: 0; bottom: 0; display: block; width: 100%; height: 100%; min-height: 100%; max-width: none; margin: 0; object-fit: cover; object-position: center; }
body .themeshawk-product-card-image-wrapper.woo-card-primary-image-wrapper:not(.ratio) img:first-of-type { position: relative; display: block; width: 100%; height: auto; max-width: 100%; }
body .themeshawk-product-card-image-wrapper.woo-card-primary-image-wrapper:not(.ratio) img ~ img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.cl-pc__stretch { position: absolute; inset: 0; z-index: 1; }
.cl-pc__media .onsale { z-index: 4; }
.cl-pc .cl-pc__body { display: flex; flex-direction: column; gap: var(--pc-gap); flex: 1 1 auto; padding: var(--pc-pad-y) var(--pc-pad-x) calc(var(--pc-pad-y) + 2px); }
:where(.cl-pc__cat) { letter-spacing: .07em; text-transform: uppercase; }
:where(.cl-pc__cat a) { color: var(--pc-muted); }
.cl-pc .cl-pc__cat a { padding: 0; background: none; border: 0; text-decoration: none; }
.cl-pc__cat a:hover { color: var(--pc-a); }
.cl-pc .woocommerce-loop-product__title { margin: 0; }
.cl-pc .woocommerce-loop-product__title a { color: inherit; text-decoration: none; }
.cl-pc .woocommerce-loop-product__title a:hover { color: var(--cl-pc-hover, var(--pc-a)); }
.cl-pc .price { margin: 0; }
:where(.cl-pc .price) { color: var(--pc-ink); }
.cl-pc .price del { opacity: .55; }
.cl-pc .price ins { background: none; text-decoration: none; color: var(--pc-a); }
.cl-pc.themeshawk-woo-product-list .star-rating { float: none; width: 5.4em; height: 1em; margin: 0 auto 0 0; align-items: initial; }
.cl-pc.cl-pc--align-center .star-rating { margin: 0 auto; }
.cl-pc.cl-pc--align-right .star-rating { margin: 0 0 0 auto; }
.cl-pc .woocommerce-product-rating { margin: 0; }
:where(.cl-pc) :is(a.button, .button, a.add_to_cart_button) {
  display: inline-flex; align-items: center; justify-content: center;
  margin: 0; padding: var(--cl-btn-pad-y, 9px) var(--cl-btn-pad-x, 16px);
  background: var(--pc-a); color: var(--pc-on); border: 1px solid var(--pc-a);
  border-radius: calc(var(--pc-r) * .8); text-decoration: none; text-transform: none;
  transition: filter .2s ease, background-color .2s ease, color .2s ease;
}
:where(.cl-pc) :is(a.button, .button):hover { filter: brightness(.92); color: var(--pc-on); }
.cl-pc .added_to_cart { display: none; }
.cl-pc.themeshawk-woo-product-list :is(.cl-pc__body, .cl-pc__foot, .cl-pc__bar, .cl-pc__slide, .cl-pc__reveal, .cl-pc__back, .cl-pc__fab, .cl-pc__minibtn, .cl-pc__actions, .cl-pc__glass) .button { margin: 0; }
.cl-pc__actions { display: flex; margin-top: var(--sp-4); }
.cl-pc--align-center .cl-pc__actions { justify-content: center; }
.cl-pc--align-right .cl-pc__actions { justify-content: flex-end; }
.cl-pc .cl-pc__foot { padding: var(--sp-10) var(--sp-14) var(--sp-14); }
.cl-pc__meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-4) var(--sp-10); }
.cl-pc--align-center .cl-pc__meta { justify-content: center; }
.cl-pc__rule { height: 1px; background: var(--pc-ink); opacity: .2; margin: var(--sp-6) 0; }
.cl-pc:hover { transform: translateY(calc(var(--cl-pc-lift, 3) * -1px)); }
.cl-pc .cl-pc__media .themeshawk-product-card-image-wrapper { transition: transform .5s ease; }
.cl-pc:hover .cl-pc__media .themeshawk-product-card-image-wrapper { transform: scale(var(--cl-pc-zoom, 1)); }

/* 04 Slide-up button */
.cl-pc--04 .cl-pc__slide {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; padding: var(--sp-10);
  transform: translateY(105%); transition: transform .3s ease;
  background: linear-gradient(to top, rgba(var(--color-foreground), calc(var(--pc-overlay) * .45)), transparent);
}
.cl-pc--04:hover .cl-pc__slide, .cl-pc--04:focus-within .cl-pc__slide { transform: translateY(0); }
.cl-pc--04 .cl-pc__slide .button { width: 100%; }
@media (hover: none) { .cl-pc--04 .cl-pc__slide { transform: none; } }

/* 05 Minimal text */
/* Cards 5, 11 (product) and 04, 11, 17 (post) sit directly on the page, so they use the theme text colour instead of the card colours. */
.cl-pc--05.themeshawk-woo-product-list, .cl-pc--18.themeshawk-woo-product-list { --pc-ink: var(--cl-fg); }
.cl-pc--05.themeshawk-woo-product-list { background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.cl-pc--05:hover { transform: none; }
.cl-pc--05 .cl-pc__media { border-radius: var(--pc-r); }
.cl-pc--05 .cl-pc__body { padding: var(--sp-12) 2px; gap: var(--sp-4); }
.cl-pc--05 .woocommerce-loop-product__title a { background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .3s ease; }
.cl-pc--05:hover .woocommerce-loop-product__title a { background-size: 100% 1px; }
.cl-pc--05 .price { color: var(--pc-muted); }

/* 06 Horizontal (stacks when the card itself is narrow) */
.cl-pc--06.themeshawk-woo-product-list { container-type: inline-size; }
.cl-pc__row { display: grid; grid-template-columns: 42% 1fr; align-items: stretch; height: 100%; }
.cl-pc--06 .cl-pc__body { justify-content: center; padding: var(--sp-14) var(--sp-20); }
.cl-pc--06:hover { transform: none; }
.cl-pc--06 .cl-pc__media { aspect-ratio: var(--cl-pc-ratio, auto); min-height: 110px; }
.cl-pc.cl-pc--06 .cl-pc__media .themeshawk-product-card-image-wrapper, .cl-pc.cl-pc--06 .cl-pc__media .themeshawk-product-card-image-wrapper.ratio { position: absolute; inset: 0; width: 100%; height: 100%; padding-top: 0; }
.cl-pc.cl-pc--06 .cl-pc__media .themeshawk-product-card-image-wrapper img, .cl-pc.cl-pc--06 .cl-pc__media .themeshawk-product-card-image-wrapper:not(.ratio) img:first-of-type { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
@container (max-width: 300px) { .cl-pc__row { grid-template-columns: 1fr; } .cl-pc--06 .cl-pc__body { padding: var(--sp-12) var(--sp-14) var(--sp-14); } }
@media (max-width: 480px) { .cl-pc__row { grid-template-columns: 38% 1fr; } .cl-pc--06 .cl-pc__body { padding: var(--sp-10) var(--sp-12); } }

/* 07 Title on image */
.cl-pc--07 .cl-pc__caption {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; pointer-events: none;
  padding: var(--sp-48) var(--sp-16) var(--sp-14); color: var(--cl-bg);
  background: linear-gradient(to top, rgba(var(--color-foreground), var(--pc-overlay)), transparent);
}
.cl-pc--07 .cl-pc__caption a { pointer-events: auto; color: var(--cl-bg); }
.cl-pc--07 .cl-pc__caption .price, .cl-pc--07 .cl-pc__caption .price ins { color: var(--cl-bg); }
.cl-pc--07 .cl-pc__foot .button { width: 100%; }

/* 08 Framed */
.cl-pc--08.themeshawk-woo-product-list { border: 2px solid var(--pc-a); }
.cl-pc .cl-pc__frame { display: flex; flex-direction: column; height: 100%; padding: var(--sp-10); }
.cl-pc--08 .cl-pc__media { border-radius: calc(var(--pc-r) * .6); }
.cl-pc--08 .cl-pc__body { padding: var(--sp-12) var(--sp-4) var(--sp-4); }
.cl-pc__split { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: var(--sp-8) var(--sp-10); }
.cl-pc__col { display: flex; flex-direction: column; gap: var(--sp-4); flex: 1 1 130px; min-width: 0; }
.cl-pc__pricebox { flex: none; padding: var(--sp-4) var(--sp-10); background: var(--pc-a); color: var(--pc-on); border-radius: calc(var(--pc-r) * .6); white-space: nowrap; }
.cl-pc__pricebox .price, .cl-pc__pricebox .price ins, .cl-pc__pricebox .price del { color: var(--pc-on); }

/* 09 Price bar */
.cl-pc .cl-pc__bar { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-10); padding: var(--sp-10) var(--sp-16) var(--sp-14); border-top: 1px solid var(--pc-line); }
.cl-pc--09 .cl-pc__body { padding-bottom: var(--sp-10); }
.cl-pc--09 .cl-pc__barbtn .button, .cl-pc--12 .cl-pc__fab .button, .cl-pc--17 .cl-pc__minibtn .button {
  flex: none; width: 40px; height: 40px; min-height: 0; padding: 0; border-radius: 50%; font-size: 0; overflow: hidden;
}
.cl-pc--09 .cl-pc__barbtn .button::before, .cl-pc--12 .cl-pc__fab .button::before, .cl-pc--17 .cl-pc__minibtn .button::before {
  content: "+"; position: static !important; inset: auto !important; width: auto !important; height: auto !important;
  background: none !important; transform: none !important; font-size: 1.5rem; font-weight: 400; line-height: 1; color: var(--pc-on);
}
.cl-pc--09 .cl-pc__barbtn .button::after, .cl-pc--12 .cl-pc__fab .button::after, .cl-pc--17 .cl-pc__minibtn .button::after { display: none !important; }

/* 10 Hover reveal */
.cl-pc--10 .cl-pc__reveal {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 3;
  display: flex; flex-direction: column; align-items: center; gap: var(--sp-8); padding: var(--sp-12);
  background: rgba(var(--color-background), .96);
  transform: translateY(101%); transition: transform .3s ease;
}
.cl-pc--10:hover .cl-pc__reveal, .cl-pc--10:focus-within .cl-pc__reveal { transform: translateY(0); }
@media (hover: none) { .cl-pc--10 .cl-pc__reveal { position: static; transform: none; } }

/* 11 Flip */
.cl-pc--11.themeshawk-woo-product-list { overflow: visible; background: transparent; border: 0; perspective: 1000px; }
.cl-pc--11:hover { transform: none; }
.cl-pc__flip { position: relative; height: 100%; transition: transform .6s ease; transform-style: preserve-3d; }
.cl-pc--11:hover .cl-pc__flip, .cl-pc--11:focus-within .cl-pc__flip { transform: rotateY(180deg); }
.cl-pc__front {
  height: 100%; background: var(--cl-bg); border: 1px solid var(--pc-line); border-radius: var(--pc-r);
  overflow: hidden; backface-visibility: hidden; -webkit-backface-visibility: hidden;
}
.cl-pc__back {
  position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--sp-12);
  padding: var(--sp-20); text-align: center; background: var(--pc-a); color: var(--pc-on); border-radius: var(--pc-r);
  transform: rotateY(180deg); backface-visibility: hidden; -webkit-backface-visibility: hidden;
}
.cl-pc__back .cl-pc__cat a { color: rgba(var(--color-background), .85); }
.cl-pc__back .button { background: var(--pc-on); color: var(--pc-a); border-color: var(--pc-on); }
.cl-pc.themeshawk-woo-product-list .cl-pc__back .star-rating { margin: 0 auto; }
@media (hover: none) { .cl-pc--11:hover .cl-pc__flip { transform: none; } }

/* 12 Soft rounded */
.cl-pc--12.themeshawk-woo-product-list { background: var(--cl-soft); border: 0; border-radius: calc(var(--pc-r) * 2); }
.cl-pc .cl-pc__soft { display: flex; flex-direction: column; height: 100%; padding: var(--sp-12); }
.cl-pc--12 .cl-pc__media { border-radius: calc(var(--pc-r) * 1.5); }
.cl-pc--12 .cl-pc__fab { position: absolute; right: 12px; bottom: 12px; z-index: 3; }
.cl-pc--12 .cl-pc__body { padding: var(--sp-14) var(--sp-6) var(--sp-4); }

/* 13 Price ribbon */
.cl-pc--13 .cl-pc__tag {
  position: absolute; left: 0; top: 14px; z-index: 3; padding: var(--sp-6) var(--sp-20) var(--sp-6) var(--sp-12);
  background: var(--pc-a); color: var(--pc-on);
  clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 50%, 100% 100%, 0 100%);
}
.cl-pc--13 .cl-pc__tag .price, .cl-pc--13 .cl-pc__tag .price ins, .cl-pc--13 .cl-pc__tag .price del { color: var(--pc-on); }
.cl-pc--13 .cl-pc__tag .price del { display: none; }
.cl-pc--13 .cl-pc__media .onsale { left: auto; right: 10px; top: 10px; }
.cl-pc--13 .button { background: transparent; color: var(--pc-a); }
.cl-pc--13 .button:hover { background: var(--pc-a); color: var(--pc-on); filter: none; }
.cl-pc--13 .cl-pc__body .button { align-self: flex-start; }
.cl-pc--13.cl-pc--align-center .cl-pc__body .button { align-self: center; }
.cl-pc--13.cl-pc--align-right .cl-pc__body .button { align-self: flex-end; }

/* 14 Badge stack */
.cl-pc--14 .cl-pc__body { align-items: flex-start; gap: var(--sp-8); padding: var(--sp-16); }
.cl-pc--14.cl-pc--align-center .cl-pc__body { align-items: center; }
.cl-pc--14.cl-pc--align-right .cl-pc__body { align-items: flex-end; }
.cl-pc--14 .cl-pc__cat a { display: inline-block; padding: var(--sp-4) var(--sp-12); border-radius: 999px; background: var(--pc-a); color: var(--pc-on); }
.cl-pc--14 .cl-pc__actions { width: 100%; }
.cl-pc--14 .cl-pc__actions .button { width: 100%; background: transparent; color: var(--pc-a); }
.cl-pc--14 .cl-pc__actions .button:hover { background: var(--pc-a); color: var(--pc-on); filter: none; }

/* 15 Dark */
.cl-pc--15.themeshawk-woo-product-list { background: var(--cl-fg); border-color: var(--cl-fg); color: var(--cl-bg); --pc-ink: var(--cl-bg); --pc-muted: var(--cl-on-bg); --pc-line: var(--cl-on-bg); }
.cl-pc--15 .woocommerce-loop-product__title a, .cl-pc--15 .price, .cl-pc--15 .price .amount { color: var(--cl-bg); }
.cl-pc--15 .price ins, .cl-pc--15 .price ins .amount { color: var(--pc-a); }
.cl-pc--15 .star-rating::before { color: rgba(var(--color-background), .3); }
.cl-pc--15 .cl-pc__actions { width: 100%; }
.cl-pc--15 .cl-pc__actions .button { width: 100%; }

/* 16 Side actions */
.cl-pc--16 .hover-buttons {
  position: absolute !important; top: 12px !important; right: 12px !important; left: auto !important; bottom: auto !important;
  display: flex !important; flex-direction: column; gap: var(--sp-8); max-width: none;
  opacity: 0; visibility: hidden; transform: translateX(14px) !important; transition: all .3s ease;
}
.cl-pc--16:hover .hover-buttons, .cl-pc--16:focus-within .hover-buttons { opacity: 1; visibility: visible; transform: none !important; }
.cl-pc--16 .cl-pc__actions .button { width: 100%; }
@media (hover: none) { .cl-pc--16 .hover-buttons { opacity: 1; visibility: visible; transform: none !important; } }

/* 17 Compact row */
.cl-pc--17.themeshawk-woo-product-list { container-type: inline-size; border-radius: calc(var(--pc-r) * .8); }
@container (max-width: 250px) {
  .cl-pc__mini { grid-template-columns: 56px 1fr; }
  .cl-pc--17 .cl-pc__media { width: 56px; }
  .cl-pc--17 .cl-pc__minibtn { grid-column: 1 / -1; }
  .cl-pc--17 .cl-pc__minibtn .button { width: 100%; border-radius: calc(var(--pc-r) * .8); }
}
.cl-pc--17:hover { transform: none; }
.cl-pc .cl-pc__mini { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; align-items: center; gap: var(--sp-12); padding: var(--sp-10); }
.cl-pc--17 .cl-pc__media { width: 72px; border-radius: calc(var(--pc-r) * .6); }
.cl-pc--17 .cl-pc__media .hover-buttons, .cl-pc--17 .cl-pc__media .onsale { display: none; }
.cl-pc--17 .cl-pc__body { padding: 0; gap: 2px; min-width: 0; text-align: left; }
.cl-pc--17 .cl-pc__minibtn .button { width: 36px; height: 36px; }

/* 18 Magazine */
.cl-pc--18.themeshawk-woo-product-list { background: transparent; border: 0; border-radius: 0; }
.cl-pc--18:hover { transform: none; }
.cl-pc--18 .cl-pc__media { border-radius: 2px; }
.cl-pc--18 .cl-pc__body { padding: var(--sp-14) 0 0; }
.cl-pc--18 .cl-pc__cat { letter-spacing: .14em; }
.cl-pc--18 .woocommerce-loop-product__title { font-family: Georgia, "Times New Roman", serif; }
.cl-pc--18 .cl-pc__foot { display: flex; align-items: center; justify-content: space-between; padding: 0; }
.cl-pc--18 .button { padding: 0; background: transparent; border: 0; border-radius: 0; color: var(--pc-ink); text-decoration: underline; text-underline-offset: 4px; }
.cl-pc--18 .button:hover { color: var(--pc-a); filter: none; }

/* 19 Glass panel */
.cl-pc--19 .cl-pc__glass {
  position: absolute; left: 12px; right: 12px; bottom: 12px; z-index: 3; display: flex; flex-direction: column; gap: var(--sp-4);
  padding: var(--sp-10) var(--sp-14); border: 1px solid rgba(var(--color-background), .7); border-radius: calc(var(--pc-r) * .8);
  background: rgba(var(--color-background), .55); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.cl-pc--19 .cl-pc__foot .button { width: 100%; }

/* 20 Offset shadow */
.cl-pc--20.themeshawk-woo-product-list { overflow: visible; border: 2px solid var(--cl-fg); border-radius: calc(var(--pc-r) * .5); box-shadow: 6px 6px 0 var(--cl-fg); }
.cl-pc--20:hover { transform: translate(-3px, -3px); box-shadow: 9px 9px 0 var(--cl-fg); }
.cl-pc--20 .cl-pc__media { border-bottom: 2px solid var(--cl-fg); border-radius: calc(var(--pc-r) * .5) calc(var(--pc-r) * .5) 0 0; }
.cl-pc--20 .woocommerce-loop-product__title { text-transform: uppercase; letter-spacing: .02em; }
.cl-pc--20 .cl-pc__foot { padding: 0; }
.cl-pc--20 .cl-pc__foot .price { display: inline-block; padding: 2px var(--sp-10); background: var(--pc-a); color: var(--pc-on); border: 2px solid var(--cl-fg); }
.cl-pc--20 .cl-pc__foot .price ins { color: var(--pc-on); }
.cl-pc--20 .button { background: var(--cl-fg); color: var(--cl-bg); border-color: var(--cl-fg); border-radius: 0; width: 100%; }

/* ---------- Post cards: shared ---------- */
.cl-bc {
  --bc-a: var(--cl-bc-accent, var(--color-accent));
  --bc-r: var(--cl-bc-radius, 10px);
  --bc-on: var(--cl-bc-on, var(--cl-on-global, var(--cl-bg)));
  --bc-ink: var(--cl-bc-ink, var(--cl-fg));
  --bc-muted: color-mix(in srgb, var(--bc-ink) 62%, transparent);
  --bc-line: var(--cl-bc-line, var(--cl-line));
  --bc-bw: var(--cl-bc-bw, 1px);
  --bc-gap: var(--cl-bc-gap, 8px);
  --bc-pad-x: var(--cl-bc-pad, var(--cl-card-pad-x, 18px));
  --bc-pad-y: var(--cl-bc-pad, var(--cl-card-pad-y, 16px));
  --bc-overlay: var(--cl-bc-overlay, .82);
  position: relative; display: flex; flex-direction: column; height: 100%;
  background: var(--cl-bc-bg, var(--cl-bg)); color: var(--bc-ink);
  border: var(--bc-bw) solid var(--bc-line); border-radius: var(--bc-r);
  overflow: hidden; transition: transform .25s ease, box-shadow .25s ease;
}
.cl-bc *, .cl-bc *::before, .cl-bc *::after { box-sizing: border-box; }
.cl-bc--shadow { box-shadow: var(--shadow-lg); }
.cl-bc__media { position: relative; display: block; width: 100%; overflow: hidden; aspect-ratio: var(--cl-bc-ratio, 16 / 10); background: var(--cl-soft); }
.cl-bc__media[style*="--cl-bc-ratio:auto"] { aspect-ratio: auto; }
.cl-bc__stretch { position: absolute; inset: 0; z-index: 2; }
.cl-bc__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.cl-bc__media[style*="--cl-bc-ratio:auto"] .cl-bc__img { position: static; height: auto; }
.cl-bc__ph { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(var(--color-accent-rgb), .18), var(--cl-soft)); }
.cl-bc:hover .cl-bc__img { transform: scale(var(--cl-bc-zoom, 1.05)); }
.cl-bc .cl-bc__body { display: flex; flex-direction: column; gap: var(--bc-gap); flex: 1 1 auto; padding: var(--bc-pad-y) var(--bc-pad-x) calc(var(--bc-pad-y) + 2px); }
.cl-bc .cl-bc__title { margin: 0; color: var(--bc-ink); }
.cl-bc .cl-bc__title a { color: inherit; text-decoration: none; }
.cl-bc .cl-bc__title a:hover { color: var(--bc-a); }
.cl-bc__meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-4) var(--sp-14); color: var(--bc-muted); }
.cl-bc__cat { display: inline-block; align-self: flex-start; letter-spacing: .07em; text-transform: uppercase; color: var(--bc-a); text-decoration: none; }
.cl-bc__excerpt { margin: 0; color: var(--bc-muted); }
.cl-bc__more { align-self: flex-start; color: var(--bc-a); text-decoration: none; }
.cl-bc__more::after { content: " \2192"; transition: margin-left .2s ease; }
.cl-bc__more:hover::after { margin-left: var(--sp-4); }
.cl-bc__tags a { margin-right: var(--sp-8); color: var(--bc-muted); text-decoration: none; }
.cl-bc__avatar { width: 36px; height: 36px; border-radius: 50%; }
.cl-bc__caption, .cl-bc__glass { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; display: flex; flex-direction: column; gap: var(--sp-6); padding: var(--sp-48) var(--sp-20) var(--sp-20); color: var(--cl-bg); pointer-events: none; }
.cl-bc__caption a, .cl-bc__glass a { pointer-events: auto; }
.cl-bc__caption .cl-bc__title a, .cl-bc__glass .cl-bc__title a { color: var(--cl-bg); }
.cl-bc__caption .cl-bc__meta, .cl-bc__glass .cl-bc__meta { color: rgba(var(--color-background), .85); }
.cl-bc__caption .cl-bc__cat, .cl-bc__glass .cl-bc__cat { color: var(--cl-bg); }
.cl-bc:hover { transform: translateY(calc(var(--cl-bc-lift, 3) * -1px)); }

/* 02 Overlay title */
/* Overlay cards keep a minimum height so the caption always fits, whatever the image size option is. */
.cl-bc--02 .cl-bc__media, .cl-bc--14 .cl-bc__media, .cl-bc--18 .cl-bc__media { min-height: 240px; }
.cl-bc--02 .cl-bc__media[style*="--cl-bc-ratio:auto"], .cl-bc--14 .cl-bc__media[style*="--cl-bc-ratio:auto"], .cl-bc--18 .cl-bc__media[style*="--cl-bc-ratio:auto"] { min-height: 280px; }
.cl-bc--02 .cl-bc__caption { background: linear-gradient(to top, rgba(var(--color-foreground), var(--bc-overlay)), transparent); }
.cl-bc--02 .cl-bc__cat { padding: var(--sp-4) var(--sp-10); background: var(--bc-a); border-radius: 999px; }

/* 03 Horizontal (stacks when the card itself is narrow) */
.cl-bc--03 { container-type: inline-size; }
.cl-bc__row { display: grid; grid-template-columns: 40% 1fr; height: 100%; }
.cl-bc--03 .cl-bc__media { min-height: 100%; }
.cl-bc--03 .cl-bc__body { justify-content: center; }
.cl-bc--03:hover { transform: none; }
@container (max-width: 380px) { .cl-bc__row { grid-template-columns: 1fr; } .cl-bc--03 .cl-bc__media { min-height: 0; aspect-ratio: var(--cl-bc-ratio, 16 / 10); } }
@media (max-width: 575px) { .cl-bc__row { grid-template-columns: 1fr; } .cl-bc--03 .cl-bc__media { min-height: 200px; } }

/* 04 Minimal text */
.cl-bc--04 { --bc-ink: var(--cl-fg); background: transparent; border: 0; border-top: 4px solid var(--bc-a); border-radius: 0; }
.cl-bc--04 .cl-bc__body { padding: var(--sp-20) 0 var(--sp-8); }
.cl-bc--04:hover { transform: none; }

/* 05 Date badge */
.cl-bc__datebadge { position: absolute; top: 14px; left: 14px; z-index: 3; display: flex; flex-direction: column; align-items: center; padding: var(--sp-8) var(--sp-12); background: var(--bc-a); color: var(--bc-on); border-radius: calc(var(--bc-r) * .6); line-height: 1; pointer-events: none; }
.cl-bc__datebadge b { font-size: 1.3rem; }
.cl-bc__datebadge i { margin-top: var(--sp-4); font-size: .68rem; font-style: normal; letter-spacing: .08em; text-transform: uppercase; }

/* 06 Category chip */
.cl-bc__chip { position: absolute; left: 14px; bottom: 14px; z-index: 3; padding: var(--sp-4) var(--sp-12); background: var(--bc-a); color: var(--bc-on); border-radius: 999px; pointer-events: none; }

/* 07 Colored body */
.cl-bc--07 { background: var(--bc-a); border-color: var(--bc-a); }
.cl-bc--07 .cl-bc__body, .cl-bc--07 .cl-bc__title a, .cl-bc--07 .cl-bc__cat, .cl-bc--07 .cl-bc__more { color: var(--bc-on); }
.cl-bc--07 .cl-bc__excerpt, .cl-bc--07 .cl-bc__meta { color: rgba(var(--color-background), .82); }
.cl-bc--07 .cl-bc__title a:hover { color: var(--bc-on); text-decoration: underline; }

/* 08 Centered */
.cl-bc--08 .cl-bc__body { align-items: center; text-align: center; padding: var(--sp-20); }
.cl-bc--08 .cl-bc__cat, .cl-bc--08 .cl-bc__more { align-self: center; }
.cl-bc--08 .cl-bc__meta { justify-content: center; }
.cl-bc__rule { display: block; width: 36px; height: 3px; background: var(--bc-a); border-radius: 2px; }

/* 09 Hover reveal */
.cl-bc--09 .cl-bc__reveal { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; display: flex; flex-direction: column; gap: var(--sp-8); padding: var(--sp-16) var(--sp-20); background: rgba(var(--color-foreground), .9); color: var(--cl-bg); transform: translateY(101%); transition: transform .3s ease; }
.cl-bc--09:hover .cl-bc__reveal, .cl-bc--09:focus-within .cl-bc__reveal { transform: translateY(0); }
.cl-bc--09 .cl-bc__reveal .cl-bc__excerpt { color: var(--cl-on-bg); }
.cl-bc--09 .cl-bc__reveal .cl-bc__more { color: var(--cl-bg); }
@media (hover: none) { .cl-bc--09 .cl-bc__reveal { position: static; transform: none; } }

/* 10 Framed */
.cl-bc--10 { border: 2px solid var(--bc-a); }
.cl-bc .cl-bc__frame { display: flex; flex-direction: column; height: 100%; padding: var(--sp-10); }
.cl-bc--10 .cl-bc__media { border-radius: calc(var(--bc-r) * .6); }
.cl-bc--10 .cl-bc__body { padding: var(--sp-14) var(--sp-6) var(--sp-10); }
.cl-bc .cl-bc__foot { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-10); margin-top: auto; padding: var(--sp-10) var(--sp-6) var(--sp-4); border-top: 1px solid var(--bc-line); }

/* 11 Magazine */
.cl-bc--11 { --bc-ink: var(--cl-fg); background: transparent; border: 0; border-radius: 0; }
.cl-bc--11 .cl-bc__body { padding: var(--sp-16) 0 0; gap: var(--sp-10); }
.cl-bc--11 .cl-bc__title { font-family: Georgia, "Times New Roman", serif; }
.cl-bc--11 .cl-bc__meta { padding: var(--sp-8) 0; border-block: 1px solid var(--bc-line); letter-spacing: .06em; text-transform: uppercase; }
.cl-bc--11:hover { transform: none; }

/* 12 Author row / 19 Quote bar share the author row */
.cl-bc__authorrow { display: flex; align-items: center; gap: var(--sp-10); margin-top: auto; padding-top: var(--sp-12); border-top: 1px solid var(--bc-line); }
.cl-bc__who { display: flex; flex-direction: column; }
.cl-bc__who .cl-bc__date { color: var(--bc-muted); }

/* 13 Numbered */
.cl-bc--13 .cl-bc__body { position: relative; padding-top: var(--sp-32); }
.cl-bc__num { position: absolute; top: -26px; right: 16px; padding: 0 var(--sp-8); background: var(--bc-on); font-size: 3.2rem; font-weight: 800; line-height: 1; color: transparent; -webkit-text-stroke: 2px var(--bc-a); }

/* 14 Glass panel */
.cl-bc--14 .cl-bc__glass { left: 14px; right: 14px; bottom: 14px; padding: var(--sp-14) var(--sp-16); border: 1px solid rgba(var(--color-background), .45); border-radius: calc(var(--bc-r) * .8); background: rgba(var(--color-background), .2); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }

/* 15 Dark */
.cl-bc--15 { background: var(--cl-fg); border-color: var(--cl-fg); color: var(--cl-bg); --bc-ink: var(--cl-bg); --bc-muted: var(--cl-on-bg); --bc-line: var(--cl-on-bg); }
.cl-bc--15 .cl-bc__title a { color: var(--cl-bg); }
.cl-bc--15 .cl-bc__title a:hover { color: var(--bc-a); }

/* 16 Offset shadow */
.cl-bc--16 { overflow: visible; border: 2px solid var(--cl-fg); border-radius: calc(var(--bc-r) * .5); box-shadow: 6px 6px 0 var(--cl-fg); }
.cl-bc--16:hover { transform: translate(-3px, -3px); box-shadow: 9px 9px 0 var(--cl-fg); }
.cl-bc--16 .cl-bc__media { border-bottom: 2px solid var(--cl-fg); border-radius: calc(var(--bc-r) * .5) calc(var(--bc-r) * .5) 0 0; }
.cl-bc--16 .cl-bc__cat { padding: 2px var(--sp-10); background: var(--bc-a); color: var(--bc-on); border: 2px solid var(--cl-fg); }
.cl-bc--16 .cl-bc__title { text-transform: uppercase; letter-spacing: .01em; }
.cl-bc--16 .cl-bc__more { color: var(--cl-fg); text-decoration: underline; }

/* 17 Compact list */
.cl-bc--17 { --bc-ink: var(--cl-fg); background: transparent; border: 0; border-bottom: 1px solid var(--bc-line); border-radius: 0; }
.cl-bc--17:hover { transform: none; }
.cl-bc .cl-bc__mini { display: grid; grid-template-columns: 96px 1fr; align-items: center; gap: var(--sp-14); padding: var(--sp-10) 0; }
.cl-bc--17 .cl-bc__media { border-radius: calc(var(--bc-r) * .7); }
.cl-bc--17 .cl-bc__body { padding: 0; gap: var(--sp-4); }

/* 18 Full cover */
.cl-bc--18 .cl-bc__caption { background: linear-gradient(to top, rgba(var(--color-foreground), calc(var(--bc-overlay) + .03)), transparent); }
.cl-bc--18 .cl-bc__caption .cl-bc__excerpt { max-height: 0; overflow: hidden; color: var(--cl-on-bg); opacity: 0; transition: max-height .4s ease, opacity .4s ease; }
.cl-bc--18:hover .cl-bc__caption .cl-bc__excerpt { max-height: 8em; opacity: 1; }
@media (hover: none) { .cl-bc--18 .cl-bc__caption .cl-bc__excerpt { max-height: 8em; opacity: 1; } }

/* 19 Quote bar */
.cl-bc--19 { background: var(--cl-soft); border: 0; border-left: 5px solid var(--bc-a); border-radius: 0 var(--bc-r) var(--bc-r) 0; }
.cl-bc--19 .cl-bc__body { padding: var(--sp-24); gap: var(--sp-14); }
.cl-bc__quote { position: relative; color: var(--bc-ink); font-style: italic; }
.cl-bc__quote::before { content: "\201C"; display: block; height: .42em; font-size: 4.4rem; font-style: normal; font-weight: 700; line-height: 1; color: var(--bc-a); }

/* 20 Ribbon date */
.cl-bc__ribbon { position: absolute; top: 20px; right: -40px; z-index: 3; width: 160px; padding: var(--sp-6) 0; background: var(--bc-a); color: var(--bc-on); font-size: .68rem; font-weight: 700; letter-spacing: .05em; text-align: center; text-transform: uppercase; transform: rotate(45deg); pointer-events: none; }

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .cl-pc, .cl-bc, .cl-pc *, .cl-bc * { transition: none !important; }
  .cl-pc:hover, .cl-bc:hover { transform: none; }
}
/* <<< COURTEOUS CARD STYLES END <<< */

/* >>> COURTEOUS PREMIUM FEATURES START >>> */
/* =====================================================================
   PREMIUM FEATURES
   Reading progress bar, cookie notice, reading time.
   (Glass / blur, density and reveal rules are generated from Theme Options.)
   ===================================================================== */
.cl-progress {
  position: fixed; left: 0; right: 0; z-index: 9999;
  height: var(--cl-progress-height, 4px);
  pointer-events: none;
}
.cl-progress--top { top: 0; }
.cl-progress--bottom { bottom: 0; }
body.admin-bar .cl-progress--top { top: 32px; }
@media (max-width: 782px) { body.admin-bar .cl-progress--top { top: 46px; } }
.cl-progress__bar {
  display: block; width: 100%; height: 100%;
  background: var(--cl-progress-color, var(--color-accent));
  transform: scaleX(0); transform-origin: left center; will-change: transform;
}
[dir="rtl"] .cl-progress__bar { transform-origin: right center; }

.cl-cookie {
  position: fixed; bottom: 20px; z-index: 10000;
  display: flex; flex-direction: column; gap: var(--sp-12);
  width: calc(100% - 40px); max-width: 420px; padding: var(--sp-16) var(--sp-20);
  background: var(--cl-bg); color: var(--cl-fg);
  border: 1px solid var(--cl-line); border-radius: 14px; box-shadow: var(--shadow-xl);
  opacity: 0; transform: translateY(16px);
  transition: opacity .35s ease, transform .35s ease;
}
.cl-cookie[hidden] { display: none; }
.cl-cookie.is-visible { opacity: 1; transform: none; }
.cl-cookie--bottom-left { left: 20px; }
.cl-cookie--bottom-right { right: 20px; }
.cl-cookie--bottom-center { left: 0; right: 0; margin-inline: auto; }
.cl-cookie__text { margin: 0; }
.cl-cookie__text a { color: var(--cl-pc-accent, var(--color-accent)); text-decoration: underline; }
.cl-cookie__actions { display: flex; flex-wrap: wrap; gap: var(--sp-10); }
.cl-cookie__btn {
  padding: var(--sp-10) var(--sp-20); cursor: pointer;
  border: 1px solid var(--cl-pc-accent, var(--color-accent)); border-radius: 10px;
  transition: filter .2s ease;
}
.cl-cookie__btn--accept { background: var(--cl-pc-accent, var(--color-accent)); color: var(--cl-pc-on, var(--cl-on-global, var(--cl-bg))); }
.cl-cookie__btn--decline { background: transparent; color: var(--cl-pc-accent, var(--color-accent)); }
.cl-cookie__btn:hover { filter: brightness(.93); }
@media (max-width: 480px) {
  .cl-cookie { bottom: 12px; width: calc(100% - 24px); }
  .cl-cookie--bottom-left { left: 12px; }
  .cl-cookie--bottom-right { right: 12px; }
}
@media (prefers-reduced-motion: reduce) { .cl-cookie { transition: none; } }

.cl-bc__read { white-space: nowrap; }
/* <<< COURTEOUS PREMIUM FEATURES END <<< */

/* >>> COURTEOUS LAYOUTS START >>> */
/* =====================================================================
   HEADERS 6-15 AND FOOTERS 2-11
   Accent colour: Theme Options > Premium Style > Layout & Accessibility.
   Headers 1-5 and Footer 1 keep their original styles.
   ===================================================================== */

/* ---------- Headers: shared ---------- */
.cl-hd { --cl-hd-line: var(--cl-line); --cl-hd-accent: var(--cl-accent, var(--color-accent)); }
.cl-hd.page-width { padding-left: var(--sp-16); padding-right: var(--sp-16); }
.cl-hd__row { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-24); }
.cl-hd__start, .cl-hd__end { display: flex; align-items: center; flex: 1 1 0; min-width: 0; }
.cl-hd__end { justify-content: flex-end; }
.cl-hd__end--auto { flex: 0 0 auto; }
.cl-hd__center { display: flex; justify-content: center; flex: 0 0 auto; }
.cl-hd__menu { flex: 1 1 auto; min-width: 0; }
.cl-hd .navbar-collapse { display: flex !important; flex-basis: auto; flex-grow: 1; }
.cl-hd__menu--center .navbar-collapse { justify-content: center !important; }
.cl-hd .header-logo { display: flex; align-items: center; }
.cl-hd .header-customer-links { height: auto; }
.cl-hd .searchbar { border-radius: 999px; overflow: hidden; }

/* 6 Centered stack */
.cl-hd--6 .cl-hd__row--top { padding: var(--sp-14) 0; }
.cl-hd--6 .cl-hd__row--menu { border-top: 1px solid var(--cl-hd-line); }
.cl-hd--6 .cl-hd__row--menu .navbar-collapse { justify-content: center !important; }
.cl-hd--6 .cl-hd__start .searchbar { width: 100%; max-width: 250px; }

/* 7 Minimal */
.header-7.navbar { padding-top: .2rem; padding-bottom: .2rem; }
.cl-hd--7 .cl-hd__menu .navbar-collapse { justify-content: flex-end !important; }
.cl-hd--7 .nav-link { position: relative; }
.cl-hd--7 .nav-link::after {
  content: ""; position: absolute; left: .6rem; right: .6rem; bottom: .25rem; height: 2px;
  background: var(--cl-hd-accent); transform: scaleX(0); transform-origin: left; transition: transform .25s ease;
}
.cl-hd--7 .nav-link:hover::after, .cl-hd--7 .current-menu-item > .nav-link::after { transform: scaleX(1); }

/* 8 Floating pill */
.site-header--8 { padding-top: var(--sp-14); }
.header-8.navbar { padding: 0; background: transparent !important; border: 0 !important; box-shadow: none !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
.cl-hd--8 { padding: var(--sp-8) var(--sp-28); background: var(--cl-bg); border: 1px solid var(--cl-line); border-radius: 999px; box-shadow: var(--shadow-xl); }
.header-8.fixed-top { padding-top: var(--sp-10); }

/* 9 Info strip */
.cl-hd__strip { background: rgba(var(--color-foreground), .045); border-bottom: 1px solid var(--cl-hd-line); padding: var(--sp-6) 0; }
.cl-hd__info { display: flex; align-items: center; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.cl-hd__info li { margin-right: var(--sp-20); list-style: none; }
.cl-hd__info a { display: inline-flex; align-items: center; gap: var(--sp-6); text-decoration: none; }
.cl-hd__info li:last-child { margin-right: 0; }
.cl-hd__social ul { display: flex; align-items: center; justify-content: flex-end; gap: var(--sp-14); margin: 0; padding: 0; list-style: none; }
.cl-hd__social li { margin: 0; }
.cl-hd--9 { padding-top: var(--sp-12); padding-bottom: var(--sp-12); }

/* 10 Accent menu bar */
.cl-hd--10 .cl-hd__row--top { padding: var(--sp-14) 0; }
.cl-hd--10 .cl-hd__search { width: 100%; max-width: 520px; margin-inline: auto; }
.cl-hd__bar { background: var(--cl-accent, var(--color-accent)); }
.cl-hd__bar .navbar-collapse { display: flex !important; justify-content: flex-start !important; }
.cl-hd__bar .nav-link, .cl-hd__bar .nav-link:hover { color: var(--cl-on) !important; }
.cl-hd__bar .nav-link { padding-top: .85rem; padding-bottom: .85rem; }
.cl-hd__bar .nav-link:hover { background: rgba(var(--color-background), .16); }

/* 11 Classic centered */
.cl-hd__logo-row { position: relative; display: flex; justify-content: center; padding: var(--sp-20) 0 var(--sp-8); }
.cl-hd__float-end { position: absolute; right: 0; top: 50%; transform: translateY(-50%); }
.cl-hd__menu-row { border-top: 1px solid var(--cl-hd-line); border-bottom: 1px solid var(--cl-hd-line); }
.cl-hd__menu-row .navbar-collapse { display: flex !important; justify-content: center !important; }

/* 12 Boxed card */
.header-12.navbar { padding: 0; background: transparent !important; border: 0 !important; box-shadow: none !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
.cl-hd--12 { margin-top: var(--sp-14); padding: var(--sp-10) var(--sp-24); background: var(--cl-bg); border: 1px solid var(--cl-line); border-radius: 16px; box-shadow: var(--shadow-md); }
.header-12.fixed-top .cl-hd--12 { margin-top: var(--sp-8); }

/* 13 Dark */
.header-13.navbar { background: var(--cl-fg) !important; border-bottom: 1px solid var(--cl-on-bg) !important; }
.header-13 .nav-link, .header-13 .header-icon, .header-13 .nav-link:focus { color: var(--cl-on-bg) !important; }
.header-13 .nav-link:hover, .header-13 .header-icon:hover { color: var(--cl-bg) !important; }
.header-13 img.logo { filter: brightness(0) invert(1); }
.header-13 .searchbar { background: rgba(var(--color-background), .08); border-color: rgba(var(--color-background), .15) !important; }

/* 14 Transparent overlay */
.site-header--14 { position: absolute; left: 0; right: 0; top: 0; z-index: 1030; }
body.admin-bar .site-header--14 { top: 32px; }
.header-14.navbar { background: transparent !important; border: 0 !important; box-shadow: none !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
.header-14:not(.fixed-top) .nav-link, .header-14:not(.fixed-top) .header-icon { color: var(--cl-bg) !important; }
.header-14:not(.fixed-top) img.logo { filter: brightness(0) invert(1); }
.header-14.fixed-top.navbar { background: rgba(var(--color-foreground), .86) !important; -webkit-backdrop-filter: blur(12px) !important; backdrop-filter: blur(12px) !important; }
.header-14.fixed-top .nav-link, .header-14.fixed-top .header-icon { color: var(--cl-bg) !important; }
.header-14.fixed-top img.logo { filter: brightness(0) invert(1); }

/* 15 Icon chips */
.cl-hd--15 .customer-links .header-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 42px; height: 42px; padding: 0; border: 0; border-radius: 50%;
  background: rgba(var(--color-accent-rgb), .14);
  background: color-mix(in srgb, var(--cl-hd-accent) 14%, transparent);
  color: var(--cl-hd-accent);
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.cl-hd--15 .customer-links .header-icon:hover { background: var(--cl-hd-accent); color: var(--cl-on); transform: translateY(-1px); }
.cl-hd--15 .customer-links .btn.header-icon, .cl-hd--15 .customer-links li a.header-icon:has(.btn) { width: auto; height: auto; background: transparent; border-radius: 0; }

/* ---------- Footers: shared ---------- */
.cl-ft { --cl-ft-accent: var(--cl-accent, var(--color-accent)); --cl-ft-line: var(--cl-line); }
.cl-ft .widget-area .widget { margin-bottom: 1.5rem; }
.cl-ft__bar {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-12) var(--sp-24);
  margin-top: var(--sp-28); padding: var(--sp-20) 0; border-top: 1px solid var(--cl-ft-line);
}
.cl-ft__bar--center { justify-content: center; text-align: center; }
.cl-ft__copy { margin: 0; opacity: .88; }
.cl-ft__menu ul { display: flex; flex-wrap: wrap; gap: var(--sp-6) var(--sp-24); margin: 0; padding: 0; list-style: none; }
.cl-ft__menu a { text-decoration: none; }
.cl-ft__social { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-10); margin: 0; padding: 0; list-style: none; }
.cl-ft__social li { margin: 0 !important; }
.cl-ft__social li { list-style: none; }
.cl-ft__social a {
  display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px;
  border-radius: 50%; background: rgba(var(--color-foreground), .1); transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.cl-ft__social a:hover { background: var(--cl-ft-accent); color: var(--cl-on); transform: translateY(-2px); }
.cl-ft__center { display: flex; flex-direction: column; align-items: center; gap: var(--sp-20); padding: var(--sp-32) 0 var(--sp-8); text-align: center; }
.cl-ft__center .cl-ft__social { justify-content: center; }
.cl-ft__center .cl-ft__menu ul { justify-content: center; }
.cl-ft__after { padding: var(--sp-8) 0; }

/* 3 Dark columns */
.cl-ft__dark { padding: var(--sp-56) 0 var(--sp-24); background: var(--cl-fg); color: var(--cl-on-bg); }
.cl-ft__dark a, .cl-ft__dark .widget-title, .cl-ft__dark h1, .cl-ft__dark h2, .cl-ft__dark h3, .cl-ft__dark h4, .cl-ft__dark h5, .cl-ft__dark h6 { color: var(--cl-bg); }
.cl-ft__dark a:hover { color: var(--cl-bg); }
.cl-ft__dark .cl-ft__bar { border-top-color: rgba(var(--color-background), .14); }

/* 4 Minimal bar */
.cl-ft--4 .cl-ft__bar { margin-top: 0; border-top: 0; padding: var(--sp-24) 0; }
.cl-ft--4 .cl-ft__bar + .cl-ft__bar { border-top: 1px solid var(--cl-ft-line); }

/* 5 Two tone */
.cl-ft__top { padding: var(--sp-56) 0 var(--sp-20); background: var(--cl-soft); color: var(--cl-fg); }
.cl-ft__top a, .cl-ft__top .widget-title, .cl-ft__top h1, .cl-ft__top h2, .cl-ft__top h3, .cl-ft__top h4, .cl-ft__top h5, .cl-ft__top h6 { color: var(--cl-fg); }
.cl-ft__top a:hover { color: var(--cl-ft-accent); }
.cl-ft__bottom { background: var(--cl-ft-accent); color: var(--cl-on); }
.cl-ft__bottom .cl-ft__bar { margin: 0; padding: var(--sp-14) 0; border-top: 0; }
.cl-ft__bottom a, .cl-ft__bottom .cl-ft__copy { color: var(--cl-on); }

/* 6 Call to action */
.cl-ft__cta { padding: var(--sp-48) 0; color: var(--cl-on); background: var(--cl-ft-accent); background: linear-gradient(135deg, var(--cl-ft-accent), color-mix(in srgb, var(--cl-ft-accent) 60%, var(--cl-fg))); }
.cl-ft__cta-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-20) var(--sp-32); }
.cl-ft__cta-title { margin: 0 0 var(--sp-6); color: var(--cl-on); }
.cl-ft__cta-text { margin: 0; max-width: 560px; opacity: .92; }
.cl-ft__cta-btn { display: inline-block; padding: var(--sp-14) var(--sp-32); background: var(--cl-on); color: var(--cl-ft-accent); border-radius: 999px; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.cl-ft__cta-btn:hover { color: var(--cl-ft-accent); transform: translateY(-2px); box-shadow: var(--shadow-xl); }
.cl-ft--6 > .page-width { padding-top: var(--sp-48); }

/* 7 About column and 10 Split */
.cl-ft__grid { display: grid; grid-template-columns: minmax(240px, 1.2fr) 3fr; gap: var(--sp-48); padding-top: var(--sp-56); }
.cl-ft__split { display: grid; grid-template-columns: minmax(260px, 1fr) 2fr; gap: var(--sp-56); padding: var(--sp-56) 0 var(--sp-16); }
.cl-ft__brand { display: flex; flex-direction: column; align-items: flex-start; gap: var(--sp-16); }
.cl-ft__about { max-width: 360px; margin: 0; opacity: .88; }
.cl-ft__brand .cl-ft__social { justify-content: flex-start; }
@media (max-width: 767.98px) { .cl-ft__grid, .cl-ft__split { grid-template-columns: 1fr; gap: var(--sp-32); } }

/* 8 Floating card */
.cl-ft__card-wrap { padding: var(--sp-44); background: var(--cl-bg); color: var(--cl-fg); border-radius: 24px; box-shadow: var(--shadow-2xl); }
.cl-ft__card-wrap a, .cl-ft__card-wrap .widget-title, .cl-ft__card-wrap h1, .cl-ft__card-wrap h2, .cl-ft__card-wrap h3, .cl-ft__card-wrap h4, .cl-ft__card-wrap h5, .cl-ft__card-wrap h6 { color: var(--cl-fg); }
.cl-ft__card-wrap a:hover { color: var(--cl-ft-accent); }
@media (max-width: 575.98px) { .cl-ft__card-wrap { padding: var(--sp-28) var(--sp-20); border-radius: 18px; } }

/* 9 Social focus */
.cl-ft--9 .cl-ft__center { gap: var(--sp-24); padding: var(--sp-48) 0 var(--sp-12); }
.cl-ft--9 .cl-ft__social a { width: 54px; height: 54px; font-size: 1.25rem; }

/* 11 Contact cards */
.cl-ft__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--sp-20); padding: var(--sp-48) 0 var(--sp-12); }
.cl-ft__card { display: flex; flex-direction: column; gap: var(--sp-4); padding: var(--sp-24) var(--sp-24); background: rgba(var(--color-foreground), .07); border: 1px solid var(--cl-ft-line); border-radius: 16px; }
.cl-ft__card strong { letter-spacing: .1em; text-transform: uppercase; opacity: .7; }
.cl-ft__card a, .cl-ft__card span { text-decoration: none; }
.cl-ft__card a:hover { color: var(--cl-ft-accent); }

@media (prefers-reduced-motion: reduce) {
  .cl-hd--7 .nav-link::after, .cl-ft__social a, .cl-ft__cta-btn, .cl-hd--15 .customer-links .header-icon { transition: none; }
}

/* ---------- Live search results (all headers) ---------- */
.cl-sr { padding: var(--sp-8); }
.cl-sr__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--sp-6) var(--sp-14); margin: 0; padding: 0; list-style: none; }
.cl-sr__item { margin: 0; list-style: none; }
.cl-sr__link { display: flex; align-items: center; gap: var(--sp-12); padding: var(--sp-8); border-radius: 10px; color: inherit; text-decoration: none; transition: background-color .2s ease; }
.cl-sr__link:hover { background: rgba(var(--color-foreground), .07); }
.cl-sr__thumb { flex: 0 0 56px; width: 56px; height: 56px; overflow: hidden; border-radius: 8px; background: rgba(var(--color-foreground), .09); }
.cl-sr__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cl-sr__empty { margin: 0; padding: var(--sp-14) var(--sp-10); }

/* Headers 6-15: results float below the header instead of pushing it taller */
.cl-hd { position: relative; }
.cl-hd #datafetch { position: absolute; left: 15px; right: 15px; top: 100%; z-index: 1040; }
.cl-hd #datafetch .header-search-result {
  margin-top: var(--sp-8); max-height: min(70vh, 520px); overflow: auto; padding: var(--sp-8);
  background: rgb(var(--color-background, 255, 255, 255)); color: rgb(var(--color-foreground, 31, 41, 55));
  border: 1px solid var(--cl-hd-line); border-radius: 14px; box-shadow: var(--shadow-xl);
}
.cl-hd #datafetch:empty { display: none; }

/* ---------- Footer widget grid (no framework classes) ---------- */
.cl-ft__cols-grid { display: grid; grid-template-columns: repeat(var(--cl-ft-cols, 4), minmax(0, 1fr)); gap: var(--sp-24); }
.cl-ft__cols-grid--center { text-align: center; }
.cl-ft__col { min-width: 0; }
@media (max-width: 991.98px) { .cl-ft__cols-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .cl-ft__cols-grid { grid-template-columns: 1fr; } }
.cl-ft__after { text-align: center; }
.cl-ft__social.justify-content-center { justify-content: center; }
.cl-ft__social.justify-content-end { justify-content: flex-end; }
.cl-ft__social.justify-content-start { justify-content: flex-start; }
.cl-hd__social-list { display: flex; align-items: center; justify-content: flex-end; gap: var(--sp-14); margin: 0; padding: 0; list-style: none; }
/* <<< COURTEOUS LAYOUTS END <<< */

/* >>> COURTEOUS BOOTSTRAP BRIDGE START >>>
 * Bootstrap ships fixed light colors (white backgrounds, #212529 text, #dee2e6 borders). These variables map them
 * to the theme palette (Theme Options > Colors), so cards, offcanvas panels, the cart drawer, modals, dropdowns,
 * tables and forms follow the background / foreground colors and dark mode. No color is fixed here.
 */
:root,
[data-bs-theme],
body {
  --bs-body-bg: rgb(var(--color-background));
  --bs-body-bg-rgb: var(--color-background);
  --bs-body-color: rgb(var(--color-foreground));
  --bs-body-color-rgb: var(--color-foreground);
  --bs-emphasis-color: rgb(var(--color-foreground));
  --bs-emphasis-color-rgb: var(--color-foreground);
  --bs-secondary-color: rgba(var(--color-foreground), .72);
  --bs-secondary-color-rgb: var(--color-foreground);
  --bs-secondary-bg: color-mix(in srgb, rgb(var(--color-foreground)) 8%, rgb(var(--color-background)));
  --bs-tertiary-color: rgba(var(--color-foreground), .5);
  --bs-tertiary-bg: color-mix(in srgb, rgb(var(--color-foreground)) 4%, rgb(var(--color-background)));
  --bs-border-color: rgba(var(--color-foreground), .14);
  --bs-border-color-translucent: rgba(var(--color-foreground), .14);
  --bs-heading-color: inherit;
}

/* Offcanvas panels (cart drawer, mobile menu, filters, search) */
.offcanvas,
.offcanvas-lg,
.offcanvas-md,
.offcanvas-sm,
.offcanvas-xl,
.offcanvas-xxl {
  --bs-offcanvas-bg: rgb(var(--color-background));
  --bs-offcanvas-color: rgb(var(--color-foreground));
  --bs-offcanvas-border-color: rgba(var(--color-foreground), .12);
  background-color: rgb(var(--color-background));
  color: rgb(var(--color-foreground));
}
.offcanvas-header {
  background-color: rgb(var(--color-background));
  color: rgb(var(--color-foreground));
}
.offcanvas-header.border-bottom,
.offcanvas-header.drawer__header,
.offcanvas-footer {
  border-color: rgba(var(--color-foreground), .1) !important;
}
.offcanvas-header h1,
.offcanvas-header h2,
.offcanvas-header h3,
.offcanvas-header h4,
.offcanvas-header h5,
.offcanvas-header h6,
.offcanvas-title {
  color: rgb(var(--color-foreground));
}
.offcanvas-backdrop {
  --bs-backdrop-bg: rgb(var(--color-foreground));
}

/* Close button: drawn with the foreground color instead of Bootstrap's black image */
.btn-close:not(.btn-close-white) {
  --bs-btn-close-bg: none;
  background-image: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgb(var(--color-foreground));
  opacity: .65;
  filter: none;
}
.btn-close:not(.btn-close-white)::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center / 100% no-repeat;
  mask: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center / 100% no-repeat;
}
.btn-close:not(.btn-close-white):hover,
.btn-close:not(.btn-close-white):focus { opacity: 1; }

/* Cart drawer */
.cart-drawer,
.cart-drawer-offcanvas,
.th-cart-drawer,
.th-cart-drawer .drawer__inner {
  background-color: rgb(var(--color-background));
  color: rgb(var(--color-foreground));
}
.th-cart-drawer .drawer__header {
  background-color: rgb(var(--color-background));
  color: rgb(var(--color-foreground));
  border-bottom: 1px solid rgba(var(--color-foreground), .1);
}
/* Items: Bootstrap .card is white, so the item cards are made transparent and separated by a hairline */
.th-cart-drawer .cart-item-card,
.th-cart-drawer .card {
  --bs-card-bg: transparent;
  --bs-card-color: rgb(var(--color-foreground));
  --bs-card-border-color: rgba(var(--color-foreground), .1);
  --bs-card-cap-bg: transparent;
  background-color: transparent;
  color: rgb(var(--color-foreground));
  border: 0;
  border-bottom: 1px solid rgba(var(--color-foreground), .08);
  border-radius: 0;
}
.th-cart-drawer .cart-item-card:last-of-type { border-bottom: 0; }
.th-cart-drawer .cart-item-card .card-body {
  background-color: transparent;
  color: inherit;
}
.th-cart-drawer .cart-item__name,
.th-cart-drawer .cart-item__details a {
  color: rgb(var(--color-foreground));
}
.th-cart-drawer .cart-item__name:hover,
.th-cart-drawer .cart-item__details a:hover { color: var(--color-accent); }
.th-cart-drawer .woocommerce-Price-amount,
.th-cart-drawer .woocommerce-product-price-cart,
.th-cart-drawer .woocommerce-product-price-subtotal-cart {
  color: rgb(var(--color-foreground));
}
.th-cart-drawer .product-remove .remove,
.th-cart-drawer a.remove {
  color: rgba(var(--color-foreground), .6) !important;
  background: transparent;
}
.th-cart-drawer .product-remove .remove:hover,
.th-cart-drawer a.remove:hover {
  color: var(--color-danger, currentColor) !important;
  background: transparent;
}
.th-cart-drawer .cart-item__details dl,
.th-cart-drawer .cart-item__details .variation { color: rgba(var(--color-foreground), .7); }
.th-cart-drawer .cart-drawer-empty { color: rgb(var(--color-foreground)); }
.th-cart-drawer .cart-drawer-empty .cart-empty-icon { color: rgba(var(--color-foreground), .45); }
.th-cart-drawer .cart-drawer-empty p { color: rgba(var(--color-foreground), .7); }

/* Quantity box */
.th-cart-drawer .quantity,
.th-cart-drawer .quantity input,
.th-cart-drawer input.quantity-input,
.th-cart-drawer input.qty {
  background-color: rgb(var(--color-background));
  color: rgb(var(--color-foreground));
  border-color: rgba(var(--color-foreground), .2);
}
.th-cart-drawer .quantity button,
.th-cart-drawer .quantity__button {
  background-color: transparent;
  color: rgb(var(--color-foreground));
}

/* Footer: coupon, subtotal, total and the buttons */
.th-cart-drawer .drawer__footer,
.th-cart-drawer .offcanvas-footer {
  background-color: color-mix(in srgb, rgb(var(--color-foreground)) 4%, rgb(var(--color-background)));
  color: rgb(var(--color-foreground));
  border-top: 1px solid rgba(var(--color-foreground), .1);
}
.th-cart-drawer .cart-collaterals,
.th-cart-drawer .cart_totals {
  background-color: transparent;
  color: rgb(var(--color-foreground));
  border: 0;
}
.th-cart-drawer .cart_totals .shop_table,
.th-cart-drawer .cart_totals .shop_table > div {
  background-color: transparent;
  color: rgb(var(--color-foreground));
  border-color: rgba(var(--color-foreground), .1);
}
.th-cart-drawer .cart_totals .label,
.th-cart-drawer .cart_totals .value { color: rgb(var(--color-foreground)); }
.th-cart-drawer .cart_totals .cart-subtotal .label { color: rgba(var(--color-foreground), .72); }
.th-cart-drawer .cart_totals .order-total {
  color: rgb(var(--color-foreground));
  font-weight: 700;
  border-top: 1px solid rgba(var(--color-foreground), .12);
  padding-top: var(--sp-10);
}
.th-cart-drawer .cart_totals .woocommerce-Price-amount { color: inherit; }
.th-cart-drawer .cart_totals .cart-discount .value,
.th-cart-drawer .cart_totals .cart-discount .woocommerce-Price-amount { color: var(--color-success, inherit); }
.th-cart-drawer .applied-coupon { color: rgb(var(--color-foreground)); }
.th-cart-drawer .coupon-notification,
.th-cart-drawer .tax-note { color: rgba(var(--color-foreground), .7); }
.th-cart-drawer .coupon input.input-text,
.th-cart-drawer .coupon-input-wrapper input {
  background-color: rgb(var(--color-background));
  color: rgb(var(--color-foreground));
  border: 1px solid rgba(var(--color-foreground), .2);
}
.th-cart-drawer .coupon input.input-text::placeholder { color: rgba(var(--color-foreground), .5); }
.th-cart-drawer .cart-footer-payment-icons img { max-width: 100%; }

/* Same variables for the other Bootstrap surfaces inside the theme */
.modal-content,
.dropdown-menu,
.popover,
.toast,
.list-group-item,
.accordion-item,
.accordion-button,
.page-link {
  --bs-modal-bg: rgb(var(--color-background));
  --bs-modal-color: rgb(var(--color-foreground));
  --bs-modal-border-color: rgba(var(--color-foreground), .12);
  --bs-dropdown-bg: rgb(var(--color-background));
  --bs-dropdown-color: rgb(var(--color-foreground));
  --bs-dropdown-link-color: rgb(var(--color-foreground));
  --bs-dropdown-link-hover-color: rgb(var(--color-foreground));
  --bs-dropdown-link-hover-bg: color-mix(in srgb, rgb(var(--color-foreground)) 6%, rgb(var(--color-background)));
  --bs-dropdown-border-color: rgba(var(--color-foreground), .12);
  --bs-dropdown-divider-bg: rgba(var(--color-foreground), .12);
  --bs-list-group-bg: rgb(var(--color-background));
  --bs-list-group-color: rgb(var(--color-foreground));
  --bs-list-group-border-color: rgba(var(--color-foreground), .12);
  --bs-accordion-bg: rgb(var(--color-background));
  --bs-accordion-color: rgb(var(--color-foreground));
  --bs-accordion-border-color: rgba(var(--color-foreground), .12);
  --bs-accordion-btn-bg: rgb(var(--color-background));
  --bs-accordion-btn-color: rgb(var(--color-foreground));
  --bs-accordion-active-bg: color-mix(in srgb, rgb(var(--color-foreground)) 5%, rgb(var(--color-background)));
  --bs-accordion-active-color: rgb(var(--color-foreground));
  --bs-pagination-bg: rgb(var(--color-background));
  --bs-pagination-color: rgb(var(--color-foreground));
  --bs-pagination-border-color: rgba(var(--color-foreground), .14);
  --bs-popover-bg: rgb(var(--color-background));
  --bs-popover-body-color: rgb(var(--color-foreground));
  --bs-toast-bg: rgb(var(--color-background));
  --bs-toast-color: rgb(var(--color-foreground));
}
.card {
  --bs-card-bg: rgb(var(--color-background));
  --bs-card-color: rgb(var(--color-foreground));
  --bs-card-border-color: rgba(var(--color-foreground), .12);
  --bs-card-cap-bg: color-mix(in srgb, rgb(var(--color-foreground)) 4%, rgb(var(--color-background)));
}
.table {
  --bs-table-color: rgb(var(--color-foreground));
  --bs-table-bg: transparent;
  --bs-table-border-color: rgba(var(--color-foreground), .12);
  --bs-table-striped-bg: color-mix(in srgb, rgb(var(--color-foreground)) 4%, rgb(var(--color-background)));
  --bs-table-striped-color: rgb(var(--color-foreground));
  --bs-table-hover-bg: color-mix(in srgb, rgb(var(--color-foreground)) 6%, rgb(var(--color-background)));
  --bs-table-hover-color: rgb(var(--color-foreground));
}
.form-control,
.form-select {
  background-color: rgb(var(--color-background));
  color: rgb(var(--color-foreground));
  border-color: rgba(var(--color-foreground), .1);
}
.form-control::placeholder { color: rgba(var(--color-foreground), .5); }
.form-control:disabled,
.form-select:disabled { background-color: color-mix(in srgb, rgb(var(--color-foreground)) 6%, rgb(var(--color-background))); }
.border,
.border-top,
.border-bottom,
.border-start,
.border-end { border-color: rgba(var(--color-foreground), .14) !important; }
.bg-body { background-color: rgb(var(--color-background)) !important; }
.text-body { color: rgb(var(--color-foreground)) !important; }
.text-muted,
.text-body-secondary { color: rgba(var(--color-foreground), .65) !important; }
.bg-body-tertiary,
.bg-light { background-color: color-mix(in srgb, rgb(var(--color-foreground)) 5%, rgb(var(--color-background))) !important; }
.text-dark,
.link-dark { color: rgb(var(--color-foreground)) !important; }
hr { color: rgba(var(--color-foreground), .2); }
/* <<< COURTEOUS BOOTSTRAP BRIDGE END <<< */

/* >>> COURTEOUS OFFCANVAS CLOSE START >>>
 * One position and size for the close button of every offcanvas (cart drawer, mobile menu, shop filters, search):
 * a 40px button the same distance from the top and from the inline end (right in LTR, left in RTL).
 */
:root { --cl-oc-pad: var(--sp-20, 1.25rem); --cl-oc-close: 2.5rem; }
body .offcanvas .offcanvas-header {
  width: 100%;
  box-sizing: border-box;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-12, .75rem);
  padding: var(--cl-oc-pad);
  min-height: calc(var(--cl-oc-close) + 2 * var(--cl-oc-pad));
}
body .offcanvas .offcanvas-header :is(h1, h2, h3, h4, h5, h6, .offcanvas-title) { margin: 0; }
body .offcanvas .btn-close {
  flex: 0 0 var(--cl-oc-close);
  width: var(--cl-oc-close);
  height: var(--cl-oc-close);
  margin: 0 !important;
  padding: .75rem !important;
  box-sizing: border-box;
  border-radius: 50%;
  background-clip: border-box;
  transition: background-color .15s, opacity .15s;
}
body .offcanvas .btn-close:hover,
body .offcanvas .btn-close:focus-visible { background-color: rgba(var(--color-foreground), .08); }
body .offcanvas .btn-close::before { width: 100%; height: 100%; }
/* Close buttons placed outside a header (search canvas) sit at the same corner offset */
body .offcanvas .offcanvas-close-float {
  position: absolute;
  top: var(--cl-oc-pad);
  inset-inline-end: var(--cl-oc-pad);
  z-index: 3;
}
/* Search canvas: same header (title + close button) as the cart drawer, the search field in the body */
body .header_search_modal.offcanvas-top-search { padding: 0; }
body .header_search_modal .search-offcanvas-body { padding: var(--cl-oc-pad); width: 100%; box-sizing: border-box; }
/* Page scroll is stopped while a panel is open (assets/js/offcanvas-scroll-lock.js adds the class); the panel scrolls on its own. */
html.cl-scroll-locked,
html.cl-scroll-locked body { overflow: hidden !important; }
.offcanvas,
.offcanvas-body { overscroll-behavior: contain; }
.offcanvas-body { overflow-y: auto; -webkit-overflow-scrolling: touch; }
/* <<< COURTEOUS OFFCANVAS CLOSE END <<< */

/* >>> COURTEOUS SHADOW TOKENS START >>>
 * One shadow scale for the whole theme. The values below are the built-in defaults (Theme Options > Shadows & Depth
 * prints the same variables from the saved settings), so the theme keeps its premium look without the Redux plugin.
 */
:root {
  --shadow-rgb:15,23,42;
  --shadow-xs:0 1px 2px rgba(15,23,42,0.06),0 1px 1px rgba(15,23,42,0.04);
  --shadow-sm:0 1px 2px rgba(15,23,42,0.04),0 2px 4px rgba(15,23,42,0.05),0 4px 8px rgba(15,23,42,0.04);
  --shadow-md:0 2px 4px rgba(15,23,42,0.04),0 6px 12px rgba(15,23,42,0.06),0 12px 24px rgba(15,23,42,0.06);
  --shadow-lg:0 4px 8px rgba(15,23,42,0.04),0 12px 24px rgba(15,23,42,0.07),0 24px 48px rgba(15,23,42,0.08);
  --shadow-xl:0 8px 16px rgba(15,23,42,0.05),0 20px 40px rgba(15,23,42,0.08),0 40px 80px rgba(15,23,42,0.1);
  --shadow-2xl:0 16px 32px rgba(15,23,42,0.06),0 32px 64px rgba(15,23,42,0.1),0 64px 128px rgba(15,23,42,0.14);
  --shadow-card:var(--shadow-sm);
  --shadow-card-hover:var(--shadow-lg);
  --shadow-header:var(--shadow-sm);
  --shadow-dropdown:var(--shadow-lg);
  --shadow-drawer:none;
  --shadow-modal:var(--shadow-2xl);
  --shadow-button:none;
  --shadow-button-hover:var(--shadow-md);
  --bs-box-shadow:var(--shadow-md);
  --bs-box-shadow-sm:var(--shadow-sm);
  --bs-box-shadow-lg:var(--shadow-lg);
  --bs-dropdown-box-shadow:var(--shadow-dropdown);
  --bs-modal-box-shadow:var(--shadow-modal);
  --bs-offcanvas-box-shadow:var(--shadow-drawer);
  --btn-min-height:45px;
}
/* Cards (only when the card shadow option is on) */
.cl-pc--shadow,
.th-product-card.shadow,
.post-card.shadow,
.card.shadow {
  box-shadow: var(--shadow-card) !important;
  transition: box-shadow .25s ease, transform .25s ease;
}
.cl-pc--shadow:hover,
.th-product-card.shadow:hover,
.post-card.shadow:hover,
.card.shadow:hover {
  box-shadow: var(--shadow-card-hover) !important;
}
/* Floating lists, mega menu and live search results */
.dropdown-menu,
.mega-menu-wrapper,
.header-search-result {
  box-shadow: var(--shadow-dropdown);
}
/* Popups (Bootstrap reads --bs-modal-box-shadow as well) */
.modal-content {
  box-shadow: var(--shadow-modal);
}
/* Buttons: zero-specificity rules, so the Buttons section options (Theme Options > Buttons) still win */
:where(.btn-primary, .btn-secondary, .single_add_to_cart_button, .checkout-button, .wp-block-button__link) {
  box-shadow: var(--shadow-button);
}
:where(.btn-primary, .btn-secondary, .single_add_to_cart_button, .checkout-button, .wp-block-button__link):is(:hover, :focus-visible) {
  box-shadow: var(--shadow-button-hover);
}
/* Sticky header: Theme Options > Header > Look when scrolled can choose another level */
body #navbar_top.fixed-top,
body #navbar_mobile.fixed-top {
  box-shadow: var(--shadow-header);
}
/* <<< COURTEOUS SHADOW TOKENS END <<< */

/* courteous:content-styles:start */
/* A grid column must be allowed to shrink, or one wide table or code block widens the whole page. */
#comments,
.comments-area,
.comment-body,
.content-article,
.post-card,
article.post,
article.page {
  grid-template-columns: minmax(0, 1fr);
}
.content-article > *,
.comment-body > *,
.comment-meta,
.comment-meta > *,
.comment-metadata,
.comment-content,
.entry-content,
.entry-header {
  min-width: 0;
}
/*
 * Content styles: spacing, lists, alignment, captions, galleries and focus states for posts, pages,
 * comments and widgets. They use the theme variables, so they follow the colors and fonts of Theme Options.
 */
.entry-content,
.comment-content,
.textwidget,
.page-content {
  overflow-wrap: break-word;
  word-wrap: break-word;
}
.entry-content > * + *,
.comment-content > * + * {
  margin-top: 0;
}
.entry-content p,
.comment-content p,
.textwidget p,
.page-content p {
  margin-top: 0;
  margin-bottom: 1.25rem;
}
.entry-content h1, .entry-content h2, .entry-content h3,
.entry-content h4, .entry-content h5, .entry-content h6,
.comment-content h1, .comment-content h2, .comment-content h3,
.comment-content h4, .comment-content h5, .comment-content h6 {
  margin-top: 0;
  margin-bottom: .75rem;
}
.entry-content > :first-child,
.comment-content > :first-child {
  margin-top: 0;
}
.entry-content ul, .entry-content ol,
.comment-content ul, .comment-content ol,
.textwidget ul, .textwidget ol {
  margin: 0 0 1.25rem;
  padding-inline-start: 1.75rem !important; /* a global rule sets ol, ul to 0 !important */
}
.entry-content ul, .comment-content ul, .textwidget ul {
  list-style: disc;
}
.entry-content ol, .comment-content ol, .textwidget ol {
  list-style: decimal;
}
.entry-content ul ul, .comment-content ul ul, .textwidget ul ul {
  list-style: circle;
}
.entry-content ul ul ul, .comment-content ul ul ul {
  list-style: square;
}
.entry-content li, .comment-content li, .textwidget li {
  margin-bottom: .35rem;
}
.entry-content li > ul, .entry-content li > ol,
.comment-content li > ul, .comment-content li > ol {
  margin-top: .35rem;
  margin-bottom: 0;
}
.entry-content dl, .comment-content dl {
  margin: 0 0 1.25rem;
}
.entry-content dt, .comment-content dt {
  font-weight: 700;
}
.entry-content dd, .comment-content dd {
  margin: 0 0 .75rem;
  padding-inline-start: 1.5rem;
}
.entry-content blockquote, .comment-content blockquote {
  margin: 0 0 1.5rem;
}
.entry-content pre, .comment-content pre {
  max-width: 100%;
  margin: 0 0 1.5rem;
  padding: 1rem;
  overflow: auto;
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: .375rem;
  white-space: pre;
}
.entry-content table, .comment-content table {
  width: 100%;
  margin: 0 0 1.5rem;
}
.entry-content hr, .comment-content hr {
  margin: 2rem 0;
}
.entry-content img, .comment-content img,
.entry-content video, .entry-content iframe, .entry-content embed, .entry-content object {
  max-width: 100%;
}
.entry-content img, .comment-content img {
  height: auto;
}
.entry-content figure, .entry-content .wp-caption {
  margin: 0 0 1.5rem;
}

/* Alignment */
.alignleft {
  float: left;
  margin: .25rem 1.5rem 1rem 0;
}
.alignright {
  float: right;
  margin: .25rem 0 1rem 1.5rem;
}
.aligncenter {
  display: block;
  margin: 0 auto 1.25rem;
  clear: both;
  text-align: center;
}
img.aligncenter, .wp-caption.aligncenter {
  margin-left: auto;
  margin-right: auto;
}
.entry-content::after, .comment-content::after, .page-content::after {
  content: "";
  display: table;
  clear: both;
}
@media (max-width: 575.98px) {
  .alignleft, .alignright {
    float: none;
    display: block;
    margin: 0 auto 1rem;
  }
}

/* Captions and galleries */
.wp-caption {
  max-width: 100%;
}
.wp-caption img {
  display: block;
  max-width: 100%;
  height: auto;
}
.wp-caption-text, .wp-caption-dd, .gallery-caption, figcaption {
  margin: .5rem 0 0;
  font-size: .875rem;
  line-height: 1.5;
  color: var(--color-muted);
}
.gallery {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin: 0 0 1.5rem;
}
.gallery-item {
  flex: 0 0 auto;
  max-width: 100%;
  margin: 0;
  text-align: center;
}
.gallery-columns-1 .gallery-item { width: 100%; }
.gallery-columns-2 .gallery-item { width: calc(50% - .375rem); }
.gallery-columns-3 .gallery-item { width: calc(33.333% - .5rem); }
.gallery-columns-4 .gallery-item { width: calc(25% - .5625rem); }
.gallery-columns-5 .gallery-item { width: calc(20% - .6rem); }
.gallery-columns-6 .gallery-item { width: calc(16.666% - .625rem); }
.gallery-columns-7 .gallery-item { width: calc(14.285% - .65rem); }
.gallery-columns-8 .gallery-item { width: calc(12.5% - .66rem); }
.gallery-columns-9 .gallery-item { width: calc(11.111% - .67rem); }
.gallery-item img {
  width: 100%;
  height: auto;
}
@media (max-width: 575.98px) {
  .gallery-columns-3 .gallery-item,
  .gallery-columns-4 .gallery-item,
  .gallery-columns-5 .gallery-item,
  .gallery-columns-6 .gallery-item,
  .gallery-columns-7 .gallery-item,
  .gallery-columns-8 .gallery-item,
  .gallery-columns-9 .gallery-item {
    width: calc(50% - .375rem);
  }
}

/* Sticky and author comments */
.sticky {
  position: relative;
}
.sticky .entry-title::before,
article.sticky .post-title::before {
  content: "\2605";
  display: inline-block;
  margin-inline-end: .4rem;
  color: var(--color-accent);
}
.bypostauthor > .comment-body .fn,
.bypostauthor > .comment-body .comment-author .fn {
  font-weight: 700;
}
.bypostauthor > .comment-body::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: 3px;
  background: var(--color-accent);
}

/* Comments */
.comment-list, .comment-list .children {
  margin: 0;
  padding: 0;
  list-style: none;
}
.comment-list .children {
  margin-top: 1rem;
  padding-inline-start: 1.5rem;
}
.comment-list .comment-body {
  position: relative;
  margin-bottom: 1rem;
  padding: 1rem 1.25rem;
  border: 0;
  border-radius: .375rem;
}
.comment-list .comment-author .avatar {
  float: left;
  margin: 0 .75rem .5rem 0;
  border-radius: 50%;
}
.comment-list .comment-meta, .comment-list .comment-metadata {
  margin-bottom: .5rem;
  font-size: .875rem;
  color: var(--color-muted);
}
.comment-respond {
  margin-top: 2rem;
}
.comment-form p {
  margin-bottom: 1rem;
}
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
  width: 100%;
}
.post-password-form label {
  display: block;
  margin-bottom: .5rem;
}
.page-links {
  clear: both;
  margin: 0 0 1.5rem;
}
.page-links .post-page-numbers {
  display: inline-block;
  min-width: 2rem;
  margin-inline-end: .25rem;
  padding: .25rem .5rem;
  text-align: center;
  border: 1px solid var(--color-line);
  border-radius: .25rem;
}
.page-links .current {
  background: var(--color-accent);
  border-color: var(--color-accent);
  color: rgb(var(--color-background));
}

/* Screen reader text and skip link */
.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
  word-wrap: normal !important;
}
.screen-reader-text:focus,
.skip-link:focus {
  position: fixed !important;
  top: 8px;
  inset-inline-start: 8px;
  z-index: 100000;
  width: auto;
  height: auto;
  margin: 0;
  padding: .75rem 1.25rem;
  clip: auto;
  clip-path: none;
  overflow: visible;
  background: rgb(var(--color-background));
  color: rgb(var(--color-foreground));
  border: 2px solid var(--color-accent);
  border-radius: .25rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .25);
}

/* Visible keyboard focus: only after the Tab key was used, never after a mouse click or a tap. */
html.courteous-keyboard a:focus,
html.courteous-keyboard button:focus,
html.courteous-keyboard input:focus,
html.courteous-keyboard select:focus,
html.courteous-keyboard textarea:focus,
html.courteous-keyboard summary:focus,
html.courteous-keyboard [tabindex]:focus,
html.courteous-keyboard .btn:focus,
html.courteous-keyboard .nav-link:focus,
html.courteous-keyboard .dropdown-item:focus,
html.courteous-keyboard .page-link:focus {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}
html:not(.courteous-keyboard) :focus {
  outline: none;
}
html:not(.courteous-keyboard) :is(input, textarea, select, .form-control, .form-select):focus {
  border-color: var(--form-border-color, var(--bs-border-color));
  box-shadow: none;
}
/* The fixed bottom bar on phones must not cover the end of the page. */
@media (max-width: 991.98px) {
  body:has(.mobile-stick-bottom) {
    padding-bottom: 4.5rem;
  }
}
/* The close buttons of the top bars are real buttons. */
button.closeX, button.ciwsm_closeX, button.tmwci_closeX, button.tmwsm_closeX {
  position: absolute;
  top: 0;
  right: 10px;
  padding: 0 .5rem;
  background: none;
  border: 0;
  color: rgb(var(--color-background, 255, 255, 255));
  font-size: 1.5rem;
  line-height: 1.2;
  cursor: pointer;
}
/* Values that used to be written into the markup. */
.cl-ar-square { aspect-ratio: 1; }
.cl-ar-portrait { aspect-ratio: 0.5625; }
.cl-ar-landscape { aspect-ratio: 1.7778; }
.cl-ar-adapt-to-image { aspect-ratio: auto; }
.cl-ft__cols-grid--1 { --cl-ft-cols: 1; }
.cl-ft__cols-grid--2 { --cl-ft-cols: 2; }
.cl-ft__cols-grid--3 { --cl-ft-cols: 3; }
.cl-ft__cols-grid--4 { --cl-ft-cols: 4; }
.cl-ft__cols-grid--5 { --cl-ft-cols: 5; }
.cl-ft__cols-grid--6 { --cl-ft-cols: 6; }
#dark-mode-toggler > span {
  margin-inline-start: 5px;
}
#dark-mode-toggler > span::before {
  content: attr(data-off);
}
#dark-mode-toggler[aria-pressed="true"] > span::before {
  content: attr(data-on);
}
.wp-block-search__button::before {
  width: 15px;
  height: 15px;
  background-size: 15px auto;
}
body .wp-block-search__button,
body .wp-block-search__button.wp-element-button,
body .wp-block-search__button:hover,
body .wp-block-search__button:focus {
  box-shadow: none !important;
}
/* courteous:content-styles:end */
