/**
 * Compiled SCSS file
 * Generated by Csh SCSS Compiler
 * 2026-06-25 08:15:47
 * Source: theme.scss
 */
@charset "UTF-8";
/*!
 * Noma Theme Styles
 * Main SCSS file for the Noma theme
 */
:root {
  --body-font-size: 18px;
  --body-font-line-height: 1.555;
  --cms-background-color-body: #fff;
  --swiper-navigation-sides-offset: 0;
  --swiper-navigation-size: 20px;
  --swiper-navigation-color: #fff;
  --swiper-pagination-bullet-horizontal-gap: 0;
  --cms-color-black: #000;
  --cms-color-white: #fff;
  --cms-button-border-radius: 8px;
  --cms-background-color-white-light: #F6F6F6;
  --cms-background-color-white-light-cl: #F5F5FC;
  --cms-background-image-container-color: #C0C0C0;
  --cms-color-divider-light: rgba(var(--cms-color-divider-rgb), 0.5);
}
/* fluid size use px */
*, *::before, *::after {
  box-sizing: border-box;
}
html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
  margin: 0;
  font-family: var(--body-font, Inter);
  font-size: var(--body-font-size);
  line-height: var(--body-font-line-height);
  font-weight: 400;
  color: var(--cms-color-body);
}
.primary-menu {
  font-family: var(--menu-font, Poppins);
}
h1, h2, h3, h4, h5, h6 {
  font-family: var(--heading-font);
  color: var(--cms-color-heading);
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 600;
  line-height: 1.2;
}
.h1-3xl {
  font-size: clamp(72px, calc(32vw + -64px), 320px);
  font-weight: 600;
  line-height: 0.82;
  font-family: var(--heading-font);
}
.h1-2xl {
  font-size: clamp(72px, calc(7.226vw + 41.29px), 128px);
  line-height: 1;
  font-family: var(--heading-font);
}
.h1-2xl-slider {
  font-size: clamp(40px, calc(11.355vw + -8.258px), 128px);
  line-height: 1;
  font-family: var(--heading-font);
}
h1, .h1 {
  font-size: clamp(80px, calc(2.065vw + 71.226px), 96px);
  line-height: 1.0416666667;
}
h2, .h2 {
  font-size: clamp(64px, calc(2.065vw + 55.226px), 80px);
  line-height: 1.05;
}
h3, .h3 {
  font-size: clamp(48px, calc(2.065vw + 39.226px), 64px);
  line-height: 1.0625;
}
h4, .h4 {
  font-size: clamp(40px, calc(1.032vw + 35.613px), 48px);
  line-height: 1.0833333333;
}
h5, .h5, #comments .comment-respond .comment-reply-title {
  font-size: clamp(36px, calc(0.516vw + 33.806px), 40px);
  line-height: 1.1;
}
h6, .h6, .single-product .related.products > h2, .cart_totals h2, form.checkout.woocommerce-checkout h3, .woocommerce-MyAccount-content h2, .summary .price {
  font-size: clamp(28px, calc(1.032vw + 23.613px), 36px);
  line-height: 1.1111111111;
}
p {
  margin-top: 0;
  margin-bottom: 1.5rem;
}
p:last-child {
  margin-bottom: 0;
}
.text-xl, .widget h2, .widget h3 {
  font-family: var(--heading-font);
  font-size: clamp(18px, calc(1.29vw + 12.516px), 28px);
  line-height: 1.1428571429;
}
.text-lg, .site-footer h3, .widget.cms-shop-widget, .single-product .woocommerce-tabs .wc-tabs li a, .single-product .woocommerce-Tabs-panel .woocommerce-Reviews-title {
  font-size: clamp(16px, calc(0.258vw + 14.903px), 18px);
  line-height: 1.5555555556;
}
.text-md, input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea, select, .sku_wrapper, .posted_in, .tagged_as {
  font-size: clamp(14px, calc(0.258vw + 12.903px), 16px);
  line-height: 1.5;
}
.text-sm, .cms-contact-form label {
  font-size: clamp(12px, calc(0.258vw + 10.903px), 14px);
  line-height: 1.4285714286;
}
.text-xs, .tags-links a, .tagcloud a {
  font-size: clamp(10px, calc(0.258vw + 8.903px), 12px);
  line-height: 1.5;
}
a {
  color: var(--cms-color-primary);
  text-decoration: none;
  transition: all 300ms linear 0ms;
}
a:hover {
  color: var(--cms-color-secondary);
}
.current-menu-item a {
  color: var(--cms-color-secondary);
}
ul, ol {
  padding-inline-start: 2rem;
  margin-top: 0;
  margin-bottom: 1rem;
}
ul li::marker {
  color: var(--cms-color-primary);
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  border-style: none;
}
table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
}
th {
  text-align: inherit;
  font-weight: bold;
}
code, pre {
  font-size: 1rem;
}
hr {
  border: 1px solid var(--cms-color-divider);
}
blockquote {
  margin: 2rem 0;
  padding: 2rem;
  font-family: var(--heading-font, "Playfair Display, sans-serif");
  font-size: clamp(1.5rem, calc(3.43vw + 0.103rem), 2rem);
  font-style: italic;
  line-height: normal;
  background-color: rgba(var(--cms-color-primary-rgb), 0.3);
  border-left: 6px solid var(--cms-color-primary);
}
blockquote p:last-child {
  margin-bottom: 0;
}
blockquote > cite {
  font-size: clamp(1.125rem, calc(2.15vw + 0.063rem), 1.25rem);
  color: var(--cms-color-primary);
}
:focus {
  outline: none;
}
fieldset {
  border: 1px solid var(--cms-color-stroke-dark);
}
embed, iframe, object {
  max-width: 100%;
}
/* Container for the iframe to maintain aspect ratio */
.post-format-video {
  position: relative;
  width: 100%;
  max-width: 1200px;
  /* Maximum width */
  aspect-ratio: 1.7777777778;
  /* Maintains 16:9 aspect ratio */
}
/* Style the iframe to fill the container */
.post-format-video iframe {
  width: 100%;
  height: 100%;
}
.svg-icon-fill svg, svg.svg-icon-fill {
  fill: currentColor;
  stroke: none;
}
.svg-icon-stroke svg, svg.svg-icon-stroke {
  fill: none;
  stroke: currentColor;
}
/* -------------------------------------------------------------------
  Microtip

  Modern, lightweight css-only tooltips
  Just 1kb minified and gzipped

  @author Ghosh
  @package Microtip

----------------------------------------------------------------------
  1. Base Styles
  2. Direction Modifiers
  3. Position Modifiers
--------------------------------------------------------------------*/
/* ------------------------------------------------
  [1] Base Styles
-------------------------------------------------*/
[aria-label][data-tooltip~="tooltip"] {
  position: relative;
}
[aria-label][data-tooltip~="tooltip"]::before, [aria-label][data-tooltip~="tooltip"]::after {
  transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: transform;
  opacity: 0;
  pointer-events: none;
  transition: all var(--tooltip-transition-duration, 0.18s) var(--tooltip-transition-easing, ease-in-out) var(--tooltip-transition-delay, 0s);
  position: absolute;
  box-sizing: border-box;
  z-index: 10;
  transform-origin: top;
}
[aria-label][data-tooltip~="tooltip"]::before {
  background-size: 100% auto !important;
  content: "";
}
[aria-label][data-tooltip~="tooltip"]::after {
  background: rgba(17, 17, 17, 0.9);
  border-radius: 4px;
  color: #ffffff;
  content: attr(aria-label);
  font-size: var(--tooltip-font-size, 13px);
  font-weight: var(--tooltip-font-weight, normal);
  text-transform: var(--tooltip-text-transform, none);
  padding: 0.5em 1em;
  white-space: nowrap;
  box-sizing: content-box;
}
[aria-label][data-tooltip~="tooltip"]:hover::before, [aria-label][data-tooltip~="tooltip"]:hover::after, [aria-label][data-tooltip~="tooltip"]:focus::before, [aria-label][data-tooltip~="tooltip"]:focus::after {
  opacity: 1;
  pointer-events: auto;
}
/* ------------------------------------------------
    [2] Position Modifiers
  -------------------------------------------------*/
[data-tooltip~="tooltip"][data-tooltip-position|="top"]::before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%280%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E") no-repeat;
  height: 6px;
  width: 18px;
  margin-bottom: 5px;
}
[data-tooltip~="tooltip"][data-tooltip-position|="top"]::after {
  margin-bottom: 11px;
}
[data-tooltip~="tooltip"][data-tooltip-position|="top"]::before {
  transform: translate3d(-50%, 0, 0);
  bottom: 100%;
  left: 50%;
}
[data-tooltip~="tooltip"][data-tooltip-position|="top"]:hover::before {
  transform: translate3d(-50%, -5px, 0);
}
[data-tooltip~="tooltip"][data-tooltip-position|="top"]::after {
  transform: translate3d(-50%, 0, 0);
  bottom: 100%;
  left: 50%;
}
[data-tooltip~="tooltip"][data-tooltip-position="top"]:hover::after {
  transform: translate3d(-50%, -5px, 0);
}
/* ------------------------------------------------
    [2.1] Top Left
  -------------------------------------------------*/
[data-tooltip~="tooltip"][data-tooltip-position="top-left"]::after {
  transform: translate3d(calc(-100% + 16px), 0, 0);
  bottom: 100%;
}
[data-tooltip~="tooltip"][data-tooltip-position="top-left"]:hover::after {
  transform: translate3d(calc(-100% + 16px), -5px, 0);
}
/* ------------------------------------------------
    [2.2] Top Right
  -------------------------------------------------*/
[data-tooltip~="tooltip"][data-tooltip-position="top-right"]::after {
  transform: translate3d(calc(0% + -16px), 0, 0);
  bottom: 100%;
}
[data-tooltip~="tooltip"][data-tooltip-position="top-right"]:hover::after {
  transform: translate3d(calc(0% + -16px), -5px, 0);
}
/* ------------------------------------------------
    [2.3] Bottom
  -------------------------------------------------*/
[data-tooltip~="tooltip"][data-tooltip-position|="bottom"]::before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%28180%2018%206%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E") no-repeat;
  height: 6px;
  width: 18px;
  margin-top: 5px;
  margin-bottom: 0;
}
[data-tooltip~="tooltip"][data-tooltip-position|="bottom"]::after {
  margin-top: 11px;
}
[data-tooltip~="tooltip"][data-tooltip-position|="bottom"]::before {
  transform: translate3d(-50%, -10px, 0);
  bottom: auto;
  left: 50%;
  top: 100%;
}
[data-tooltip~="tooltip"][data-tooltip-position|="bottom"]:hover::before {
  transform: translate3d(-50%, 0, 0);
}
[data-tooltip~="tooltip"][data-tooltip-position|="bottom"]::after {
  transform: translate3d(-50%, -10px, 0);
  top: 100%;
  left: 50%;
}
[data-tooltip~="tooltip"][data-tooltip-position="bottom"]:hover::after {
  transform: translate3d(-50%, 0, 0);
}
/* ------------------------------------------------
    [2.4] Bottom Left
  -------------------------------------------------*/
[data-tooltip~="tooltip"][data-tooltip-position="bottom-left"]::after {
  transform: translate3d(calc(-100% + 16px), -10px, 0);
  top: 100%;
}
[data-tooltip~="tooltip"][data-tooltip-position="bottom-left"]:hover::after {
  transform: translate3d(calc(-100% + 16px), 0, 0);
}
/* ------------------------------------------------
    [2.5] Bottom Right
  -------------------------------------------------*/
[data-tooltip~="tooltip"][data-tooltip-position="bottom-right"]::after {
  transform: translate3d(calc(0% + -16px), -10px, 0);
  top: 100%;
}
[data-tooltip~="tooltip"][data-tooltip-position="bottom-right"]:hover::after {
  transform: translate3d(calc(0% + -16px), 0, 0);
}
/* ------------------------------------------------
    [2.6] Left
  -------------------------------------------------*/
[data-tooltip~="tooltip"][data-tooltip-position="left"]::before, [data-tooltip~="tooltip"][data-tooltip-position="left"]::after {
  bottom: auto;
  left: auto;
  right: 100%;
  top: 50%;
  transform: translate3d(10px, -50%, 0);
}
[data-tooltip~="tooltip"][data-tooltip-position="left"]::before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%28-90%2018%2018%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E") no-repeat;
  height: 18px;
  width: 6px;
  margin-inline-end: 5px;
  margin-bottom: 0;
}
[data-tooltip~="tooltip"][data-tooltip-position="left"]::after {
  margin-inline-end: 11px;
}
[data-tooltip~="tooltip"][data-tooltip-position="left"]:hover::before, [data-tooltip~="tooltip"][data-tooltip-position="left"]:hover::after {
  transform: translate3d(0, -50%, 0);
}
/* ------------------------------------------------
    [2.7] Right
  -------------------------------------------------*/
[data-tooltip~="tooltip"][data-tooltip-position="right"]::before, [data-tooltip~="tooltip"][data-tooltip-position="right"]::after {
  bottom: auto;
  left: 100%;
  top: 50%;
  transform: translate3d(-10px, -50%, 0);
}
[data-tooltip~="tooltip"][data-tooltip-position="right"]::before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%2890%206%206%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E") no-repeat;
  height: 18px;
  width: 6px;
  margin-bottom: 0;
  margin-inline-start: 5px;
}
[data-tooltip~="tooltip"][data-tooltip-position="right"]::after {
  margin-inline-start: 11px;
}
[data-tooltip~="tooltip"][data-tooltip-position="right"]:hover::before, [data-tooltip~="tooltip"][data-tooltip-position="right"]:hover::after {
  transform: translate3d(0, -50%, 0);
}
/* ------------------------------------------------
    [3] Size
  -------------------------------------------------*/
[data-tooltip~="tooltip"][data-tooltip-size="small"]::after {
  white-space: initial;
  width: 80px;
}
[data-tooltip~="tooltip"][data-tooltip-size="medium"]::after {
  white-space: initial;
  width: 150px;
}
[data-tooltip~="tooltip"][data-tooltip-size="large"]::after {
  white-space: initial;
  width: 260px;
}
.cms-container {
  width: 100%;
  max-width: 1248px;
  padding-inline-end: 1rem;
  padding-inline-start: 1rem;
  margin-inline-end: auto;
  margin-inline-start: auto;
}
.cms-container-full-width {
  width: 100%;
  max-width: 100%;
  padding-inline-end: 48px;
  padding-inline-start: 48px;
}
@media (max-width: 1200px) {
  .cms-container-full-width {
    padding-inline-end: 24px;
    padding-inline-start: 24px;
  }
}
.site {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.site > header {
  z-index: 3;
}
.site > header + div {
  z-index: 1;
}
.site > footer {
  z-index: 2;
}
.site #content {
  z-index: 1;
}
.site-header-wrap > .elementor {
  font-size: 14px;
  line-height: 1.429;
}
.cms-header-right > *:last-child {
  margin-inline-start: auto;
}
@media (max-width: 1200px) {
  .header-actions {
    display: flex;
    gap: 10px;
    z-index: 1000;
  }
}
/* Default Header */
.body-default-header .cms-header {
  position: relative;
}
/* Fixed Header */
.body-fixed-header .site-header-wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}
/* Sticky Header */
.body-sticky-header .site-header.is-sticky .cms-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  transform: translateY(0);
  animation: slideDown 0.3s ease;
}
.is-sticky .header-actions.cms-color-white {
  color: var(--cms-color-menu);
}
.is-sticky .btn-color-white {
  background-color: var(--cms-color-secondary);
  color: var(--cms-color-white);
}
.is-sticky .cms-container-full-width {
  border-radius: 0;
}
/* header layout */
@media (max-width: 1200px) {
  .header-layout-3 .cms-header-content {
    justify-content: flex-start;
  }
  .header-layout-3 .cms-header-button {
    margin-inline-start: auto;
  }
}
@keyframes slideDown {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}
.body-sticky-header .site-header.is-sticky .custom-logo {
  transition: all 0.3s ease;
}
/* Adjust the body padding when fixed header is enabled */
.admin-bar.body-fixed-header .cms-header, .admin-bar.body-sticky-header .cms-header {
  top: 32px !important;
}
@media screen and (max-width: 782px) {
  .admin-bar.body-fixed-header .cms-header, .admin-bar.body-sticky-header .cms-header {
    top: 46px !important;
  }
}
body:not(.site-layout-boxed) .cms-header {
  background-color: inherit;
}
body.site-layout-boxed .cms-header .cms-container {
  border-bottom: 1px solid var(--cms-color-divider);
}
@media (min-width: 1200.02px) {
  .primary-menu > li > a {
    line-height: var(--header-height, 100px);
  }
}
.site-branding {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.site-branding img {
  max-height: 40px;
  width: auto;
}
body.search-popup-open, body.side-nav-popup-open, body.cart-popup-open {
  overflow: hidden;
}
body.search-popup-open::before, body.side-nav-popup-open::before, body.cart-popup-open::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9998;
  opacity: 0;
  animation: fadeIn 0.3s ease forwards;
}
.cart-popup-content {
  padding: 60px 20px 20px;
  flex: 1;
  overflow-y: auto;
  position: relative;
  background: #fff;
  z-index: 1;
}
@keyframes fadeIn {
  to {
    opacity: 1;
  }
}
.cart-popup, .side-nav-popup {
  position: fixed;
  top: 0;
  bottom: 0;
  right: -400px;
  width: 400px;
  background: #fff;
  box-shadow: -2px 0 20px rgba(0, 0, 0, 0.15);
  z-index: 9999;
  transition: right 0.3s ease-in-out;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}
@media (max-width: 768px) {
  .cart-popup, .side-nav-popup {
    max-width: 400px;
    width: 100%;
  }
}
.cart-popup.active, .side-nav-popup.active {
  right: 0;
}
.search-popup {
  padding: 64px 0;
  position: fixed;
  left: 0;
  right: 0;
  top: -200px;
  background: #fff;
  box-shadow: -2px 0 20px rgba(0, 0, 0, 0.15);
  z-index: 9999;
  transition: top 0.3s ease-in-out;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.search-popup.active {
  top: 0;
}
.search-popup .search-input {
  width: 480px;
  max-width: 100%;
}
.rtl .cart-popup, .rtl .side-nav-popup {
  right: auto;
  left: -400px;
  transition: left 0.3s ease-in-out;
}
.rtl .cart-popup.active, .rtl .side-nav-popup.active {
  left: 0;
  right: auto;
}
/* Side nav */
.side-nav-popup-content > .elementor {
  height: 100%;
}
/* Search Results */
.search-results-item {
  border-top: 1px solid var(--cms-color-divider);
}
.search-results-item img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  margin-inline-end: 20px;
  border-radius: 4px;
}
.search-loading {
  text-align: center;
  padding: 30px;
}
.search-loading .spinner {
  display: inline-block;
  width: 40px;
  height: 40px;
  border: 3px solid rgba(255, 255, 255, 0.3);
  border-top: 3px solid #fff;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Cart Count Styles */
.cart-page {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
}
.cart-count {
  position: absolute;
  top: -8px;
  right: -8px;
  background: var(--cms-color-primary);
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  min-width: 16px;
  height: 16px;
  line-height: 16px;
  text-align: center;
  border-radius: 50%;
  display: none;
  z-index: 10;
}
.cart-count.has-items {
  display: block;
  animation: cartBounce 0.3s ease;
}
@keyframes cartBounce {
  0% {
    transform: scale(0);
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
.site-title {
  font-size: 2rem;
  font-weight: bold;
}
.page-custom-title {
  background-color: var(--cms-color-primary);
  padding: 50px 0;
  text-align: center;
  color: #fff;
}
.page-custom-title h1 {
  font-size: clamp(2rem, calc(6.29vw + 0.333rem), 3.5rem);
  font-style: italic;
  margin: 0;
  color: #fff;
  line-height: 1.2;
}
#primary, #secondary {
  max-width: 100%;
  min-width: 0;
}
@media (min-width: 768.02px) {
  #primary, #secondary {
    position: sticky;
    top: 20px;
    height: fit-content;
  }
}
.no-sidebar #primary {
  max-width: 840px;
  margin: 0 auto;
}
body:not(.body-elementor) #content {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
body:not(.body-elementor).single #content {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
body.archive #content {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media (min-width: 1366.02px) {
  #content.has-sidebar #primary {
    flex: 0 0 760px;
  }
}
@media (max-width: 1366px) {
  #content.has-sidebar #primary {
    flex: 0 0 65.65%;
  }
}
@media (min-width: 768.02px) {
  #content.sidebar-left #primary {
    order: 2;
  }
}
@media (max-width: 768px) {
  #content {
    flex: none;
    width: 100%;
    order: 0;
  }
}
body.archive.woocommerce .cms-container {
  gap: 48px;
}
@media (min-width: 1366.02px) {
  body.archive.woocommerce #content.has-sidebar #primary {
    flex: 0 0 904px;
  }
}
.site-content-padding-off #content {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
@media (min-width: 768.02px) {
  #secondary {
    flex: 1;
    top: 20px;
    height: fit-content;
    z-index: 10;
    transition: all 0.3s ease;
  }
}
#secondary.sticky-supported {
  will-change: transform;
}
.body-fixed-header #secondary {
  top: 120px;
}
@media (max-width: 1200px) {
  .body-fixed-header #secondary {
    top: 80px;
  }
}
.header-is-sticky {
  --header-background: #fff!important;
}
.header-is-sticky #secondary {
  top: 120px;
}
@media (max-width: 1024px) {
  .header-is-sticky #secondary {
    top: 80px;
  }
}
.site-footer {
  width: 100%;
}
.site-footer .site-info {
  padding: 25px 0;
}
.site-footer h3 {
  font-family: var(--body-font);
  font-weight: 400;
}
/* Scroll Top Button */
.scroll-to-top {
  position: fixed;
  width: 50px;
  height: 50px;
  background: var(--cms-color-primary);
  color: #fff;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(var(--cms-color-primary-rgb), 0.3);
}
.scroll-to-top.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.scroll-to-top:hover {
  background: var(--cms-color-secondary);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(var(--cms-color-primary-rgb), 0.4);
}
.scroll-to-top svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}
.wrapper-hover-animation-icon-scale:hover .icon-scale {
  transform: scale(1.08);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
}
.wrapper-hover-animation-icon-scale:hover .icon-scale svg {
  transform: rotate(45deg);
}
.wrapper-hover-animation-icon-float:hover .icon-float svg {
  animation: iconFloat 1.2s ease-in-out infinite alternate;
}
@keyframes iconFloat {
  from {
    transform: translateY(0) scale(1);
  }
  to {
    transform: translateY(-6px) scale(1.12);
  }
}
.button, .btn, .added_to_cart, button, input[type="button"], input[type="reset"], input[type="submit"] {
  line-height: 1.143;
  font-size: 1rem;
  display: inline-flex;
  background-color: var(--cms-color-secondary);
  color: #fff;
  font-weight: bold;
  text-align: center;
  /* white-space: nowrap; */
  vertical-align: middle;
  user-select: none;
  border: none;
  padding: 1.3rem 2rem;
  border-radius: var(--cms-button-border-radius);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  cursor: pointer;
}
.button:hover, .button:focus, .button.active, .btn:hover, .btn:focus, .btn.active, .added_to_cart:hover, .added_to_cart:focus, .added_to_cart.active, button:hover, button:focus, button.active, input[type="button"]:hover, input[type="button"]:focus, input[type="button"].active, input[type="reset"]:hover, input[type="reset"]:focus, input[type="reset"].active, input[type="submit"]:hover, input[type="submit"]:focus, input[type="submit"].active {
  text-decoration: none;
  background-color: var(--cms-color-primary);
  color: #fff;
}
.button:focus, .btn:focus, .added_to_cart:focus, button:focus, input[type="button"]:focus, input[type="reset"]:focus, input[type="submit"]:focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(var(--cms-color-primary), 0.25);
}
.btn-icon svg {
  width: 10px;
  height: auto;
}
.btn-size-tiny {
  font-size: 12px;
  line-height: 1.5;
  padding: 0.25rem 0.5rem;
  gap: 0.25rem;
}
.btn-size-tiny svg {
  width: 6px;
}
.btn-size-small {
  padding: 0.75rem 1rem;
  gap: 0.5rem;
}
.btn-size-small svg {
  width: 8px;
}
.btn-size-medium {
  padding: 1rem 1.25rem;
  gap: 1rem;
}
.btn-size-large {
  padding: 1.5rem 2rem;
  gap: 1rem;
}
.btn-size-extra-large {
  padding: 1.75rem 2rem;
  gap: 1rem;
}
.btn-size-extra-large svg {
  width: 12px;
}
.btn-color-black {
  background-color: var(--cms-color-black);
  color: #fff;
}
.btn-color-menu {
  background-color: var(--cms-color-menu);
  color: #fff;
}
.btn-color-white {
  background-color: var(--cms-color-white);
  color: var(--cms-color-menu);
}
.btn-color-primary {
  background-color: var(--cms-color-primary);
  color: #fff;
}
.btn-color-primary:hover {
  background-color: var(--cms-color-secondary);
  color: #fff;
}
.btn-color-secondary {
  background-color: var(--cms-color-secondary);
  color: #fff;
}
.btn-color-gradient {
  background: linear-gradient(69.88deg, var(--cms-color-primary) 2.47%, var(--cms-color-menu) 98.44%);
  color: #fff;
}
.btn-color-gradient:hover {
  background: linear-gradient(69.88deg, var(--cms-color-primary) 2.47%, var(--cms-color-primary) 98.44%);
  color: #fff;
}
.btn-circle-hover {
  position: relative;
  overflow: hidden;
}
.btn-circle-hover:before {
  --size: 0;
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: var(--size);
  height: var(--size);
  background: radial-gradient(circle closest-side, var(--cms-color-primary), transparent);
  transform: translate(-50%, -50%);
  transition: width 0.2s ease, height 0.2s ease;
}
.btn-circle-hover:hover:before {
  --size: 300px;
}
.btn-outline-white, .elementor .btn-outline-white {
  background-color: transparent;
  color: var(--cms-color-white);
  box-shadow: 0 0 0 2px var(--cms-color-white) inset;
}
.btn-outline-white:hover, .elementor .btn-outline-white:hover {
  background-color: var(--cms-color-white);
  color: var(--cms-color-black);
}
.btn-outline-black, .elementor .btn-outline-black {
  background-color: transparent;
  color: var(--cms-color-black);
  box-shadow: 0 0 0 2px var(--cms-color-black) inset;
}
.btn-outline-black:hover, .elementor .btn-outline-black:hover {
  background-color: var(--cms-color-black);
  color: #fff;
}
.btn-outline-primary, .elementor .btn-outline-primary {
  background-color: transparent;
  color: var(--cms-color-primary);
  box-shadow: 0 0 0 2px var(--cms-color-primary) inset;
}
.btn-outline-primary:hover, .elementor .btn-outline-primary:hover {
  background-color: var(--cms-color-primary);
  color: #fff;
}
.btn-outline-secondary, .elementor .btn-outline-secondary {
  background-color: transparent;
  color: var(--cms-color-secondary);
  box-shadow: 0 0 0 2px var(--cms-color-secondary) inset;
}
.btn-outline-secondary:hover, .elementor .btn-outline-secondary:hover {
  background-color: var(--cms-color-secondary);
  color: #fff;
}
.btn-outline-secondary-primary, .elementor .btn-outline-secondary-primary {
  background-color: transparent;
  color: var(--cms-color-secondary);
  box-shadow: 0 0 0 2px var(--cms-color-secondary) inset;
}
.btn-outline-secondary-primary:hover, .elementor .btn-outline-secondary-primary:hover {
  background-color: var(--cms-color-primary);
  color: #fff;
  box-shadow: 0 0 0 2px var(--cms-color-primary) inset;
}
.btn-outline-gradient, .elementor .btn-outline-gradient {
  position: relative;
  background-color: transparent;
  color: var(--cms-color-menu);
  border: none;
  /* Remove default border */
  overflow: hidden;
  z-index: 1;
  transition: color 0.3s ease;
  /* Smooth color transition on hover */
}
.btn-outline-gradient:before, .elementor .btn-outline-gradient:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  background: linear-gradient(69.88deg, var(--cms-color-primary) 2.47%, var(--cms-color-menu) 98.44%);
  padding: 2px;
  /* Controls the thickness of the gradient border */
  border-radius: var(--cms-button-border-radius);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}
.btn-outline-gradient:hover {
  color: #fff;
  background: linear-gradient(69.88deg, var(--cms-color-primary) 2.47%, var(--cms-color-menu) 98.44%);
}
.btn-outline-gradient:hover:before {
  background: none;
  /* Remove gradient border on hover */
}
.icon-before {
  order: -1;
}
.btn-color-black-hover:hover {
  background-color: var(--cms-color-black);
  color: #fff;
}
.btn-color-menu-hover:hover {
  background-color: var(--cms-color-menu);
  color: #fff;
}
.btn-color-white-hover:hover {
  background-color: var(--cms-color-white);
  color: var(--cms-color-black);
}
.btn-color-primary-hover:hover {
  background-color: var(--cms-color-primary);
  color: #fff;
}
.btn-color-secondary-hover:hover {
  background-color: var(--cms-color-secondary);
  color: #fff;
}
.btn-color-gradient-hover:hover {
  background: linear-gradient(69.88deg, var(--cms-color-primary) 2.47%, var(--cms-color-menu) 98.44%);
  color: #fff;
}
.btn-width-full {
  width: 100%;
}
.btn-width-full-2 {
  width: 100%;
  border-radius: 16px;
}
.btn-width-full-3 {
  width: 100%;
  justify-content: space-between !important;
}
.button-primary {
  color: #fff;
  background-color: var(--cms-color-primary);
  border-color: var(--cms-color-primary);
}
.button-primary:hover {
  color: #fff;
}
.button-secondary {
  color: #fff;
  background-color: var(--cms-color-secondary);
  border-color: var(--cms-color-secondary);
}
.button-secondary:hover {
  color: #fff;
}
.btn-text.cms-color-secondary:hover {
  color: var(--cms-color-primary);
}
input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea, select {
  font-family: var(--body-font);
  width: 100%;
  max-width: 100%;
  min-height: 59px;
  padding: 1rem 1.5rem;
  border-radius: var(--cms-button-border-radius);
  color: var(--cms-color-body);
  background: transparent;
  border: 1px solid var(--cms-color-divider);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="number"]:focus, input[type="tel"]:focus, input[type="range"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="time"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="color"]:focus, textarea:focus, select:focus {
  color: var(--cms-color-sub);
  border-color: var(--cms-color-sub);
  outline: 0;
}
input[type="text"]::placeholder, input[type="email"]::placeholder, input[type="url"]::placeholder, input[type="password"]::placeholder, input[type="search"]::placeholder, input[type="number"]::placeholder, input[type="tel"]::placeholder, input[type="range"]::placeholder, input[type="date"]::placeholder, input[type="month"]::placeholder, input[type="week"]::placeholder, input[type="time"]::placeholder, input[type="datetime"]::placeholder, input[type="datetime-local"]::placeholder, input[type="color"]::placeholder, textarea::placeholder, select::placeholder {
  color: var(--cms-color-sub);
  border-color: var(--cms-color-sub);
}
select {
  padding-inline-end: 40px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url(../images/select-arrow.svg);
  background-repeat: no-repeat;
  background-position: calc(100% - 20px) 50%;
}
.form-color-white select {
  background-image: url(../images/select-arrow-white.svg);
}
textarea {
  resize: vertical;
}
.form-group {
  margin-bottom: 1rem;
}
label {
  display: inline-block;
  margin-bottom: 0.5rem;
}
.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid var(--cms-color-divider);
}
.card .card-header {
  padding: 1rem;
  margin-bottom: 0;
  background-color: rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid var(--cms-color-divider);
}
.card .card-body {
  flex: 1 1 auto;
  padding: 1rem;
}
.card .card-footer {
  padding: 1rem;
  background-color: rgba(0, 0, 0, 0.03);
  border-top: 1px solid var(--cms-color-divider);
}
/* General styling for the gallery */
.gallery {
  display: grid;
  gap: 20px;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 2rem;
}
/* Styling for gallery items */
.gallery-item {
  margin: 0;
  box-sizing: border-box;
}
.gallery-item img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  /* Ensure images are not distorted */
}
/* Styling for specific column counts */
.gallery-columns-2 {
  grid-template-columns: repeat(2, 1fr);
}
.gallery-columns-3 {
  grid-template-columns: repeat(3, 1fr);
}
.gallery-columns-4 {
  grid-template-columns: repeat(4, 1fr);
}
.gallery-columns-5 {
  grid-template-columns: repeat(5, 1fr);
}
.gallery-columns-6 {
  grid-template-columns: repeat(6, 1fr);
}
.gallery-columns-7 {
  grid-template-columns: repeat(7, 1fr);
}
.gallery-columns-8 {
  grid-template-columns: repeat(8, 1fr);
}
/* Responsive: Adjust column count on smaller screens */
@media (max-width: 768px) {
  .gallery-columns-2, .gallery-columns-3, .gallery-columns-4, .gallery-columns-5, .gallery-columns-6, .gallery-columns-7, .gallery-columns-8 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .gallery-columns-2, .gallery-columns-3, .gallery-columns-4, .gallery-columns-5, .gallery-columns-6, .gallery-columns-7, .gallery-columns-8 {
    grid-template-columns: 1fr;
  }
}
.recent-posts-grid {
  display: grid;
  gap: 30px;
}
.recent-posts-grid .post-title a {
  letter-spacing: 0;
  text-transform: capitalize;
}
.recent-posts-grid .post-date {
  font-size: 10px;
  text-transform: uppercase;
  color: var(--cms-color-primary);
  line-height: 14px;
}
.recent-posts-grid .post-excerpt {
  font-size: 10px;
  color: #272727;
  line-height: 24px;
}
.recent-posts-grid .post-featured-img {
  position: relative;
  display: block;
  text-align: center;
}
.recent-posts-grid .post-featured-img:before {
  transition: all 300ms linear 0ms;
  position: absolute;
  height: 100%;
  width: 100%;
  background-color: var(--cms-color-primary);
  opacity: 0;
  z-index: 1;
  content: "";
}
.recent-posts-grid .recent-post-grid-item:hover .post-featured-img:before {
  opacity: 0.75;
}
.recent-posts-grid.columns-1 {
  grid-template-columns: 1fr;
}
.recent-posts-grid.columns-2 {
  grid-template-columns: 1fr 1fr;
}
.recent-posts-grid.columns-3 {
  grid-template-columns: 1fr 1fr 1fr;
}
/* comment */
#comments {
  margin-top: 80px;
}
#comments .comment-author-name a {
  color: var(--cms-color-secondary);
}
#comments .comment-author-name a:hover {
  color: var(--cms-color-primary);
}
#comments .comment-author > img {
  width: clamp(2.5rem, calc(3.87vw + 0.153rem), 5rem);
}
#comments .comment-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
#comments .comment-list .comment ol.children {
  list-style: none;
  padding-inline-start: 2rem;
  margin: 0;
}
#comments .comment-list .comment ol.children li {
  margin-top: 48px;
}
#comments .comment-list p {
  margin: 0;
}
#comments .comment-body {
  position: relative;
}
#comments .comment-body .comment-reply-link {
  display: flex;
  align-items: center;
  gap: 8px;
}
#comments .comment-respond {
  margin-top: 40px;
}
#comments .comment-respond .comment-reply-title {
  font-weight: 400;
  display: flex;
  align-items: center;
  gap: 32px;
}
#comments .comment-form {
  padding-top: 12px;
}
#comments textarea {
  max-width: 100%;
  width: 100%;
}
#comments .form-submit {
  text-align: right;
  line-height: normal;
}
#comments .comment-form-fields > div {
  flex: 1;
}
#comments .comment-form-fields > div input {
  width: 100%;
}
@media (max-width: 768px) {
  #comments .comment-form-fields {
    flex-wrap: wrap;
  }
  #comments .comment-form-fields > div {
    flex: 1 1 calc(50% - 12px);
  }
  #comments .comment-form-fields > div:nth-child(3) {
    flex: 1 1 100%;
  }
}
/* woo select 2 */
.select2.select2-container--default .select2-selection--single {
  height: 59px;
  border-radius: 1rem;
  border: 1px solid var(--cms-color-stroke-dark);
}
.select2.select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 15px !important;
  right: 15px !important;
}
[dir="rtl"] .select2.select2-container--default .select2-selection--single .select2-selection__arrow {
  right: auto !important;
  left: 15px !important;
}
.select2.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 56px !important;
  padding-inline-start: 1.5rem;
  padding-inline-end: 1.5rem;
}
.select2.select2-container--default .select2-selection--multiple .select2-selection__rendered {
  padding: 0;
}
.select2.select2-container--default .select2-selection--multiple .select2-selection__rendered li {
  margin: 0;
}
.select2.select2-container--default.select2-container--focus .select2-selection--multiple {
  border: none;
}
.select2-container.select2-container--default .select2-search--dropdown {
  padding: 4px 24px;
}
.select2-container.select2-container--default .select2-results__option {
  padding: 6px 24px;
}
/* swiper */
body .swiper-pagination-bullet {
  width: 32px !important;
  height: 8px !important;
  border-radius: 8px;
  --swiper-pagination-color: var(--cms-color-primary);
  --swiper-pagination-bullet-inactive-color: var(--cms-color-menu);
  --swiper-pagination-bullet-inactive-opacity: .5;
  --swiper-pagination-bullet-horizontal-gap: 4px;
}
.swiper-pagination-bullet-active:before {
  background-color: var(--cms-color-primary);
}
.swiper-pagination-progressbar-fill {
  --swiper-pagination-color: var(--cms-color-menu);
}
.swipe:has(.swiper-pagination-layout-1) .navigation-layout-1 .swiper-button-layout-1 {
  top: calc(50% - 24px);
}
.cms-swiper-button {
  border: 1px solid var(--cms-color-menu);
  color: var(--cms-color-menu);
}
.cms-swiper-button:hover {
  background-color: var(--cms-color-menu);
  color: var(--cms-color-white);
}
.cms-slider .swiper-pagination {
  bottom: 30px !important;
}
.cms-slider .swiper-pagination-bullet {
  width: 32px !important;
  height: 8px !important;
  border-radius: 8px;
  --swiper-pagination-color: var(--cms-color-primary);
  --swiper-pagination-bullet-inactive-color: var(--cms-color-white);
  --swiper-pagination-bullet-inactive-opacity: .5;
  --swiper-pagination-bullet-horizontal-gap: 4px;
}
.swiper-navigation-pagination-layout-1 .cms-swiper-navigation .cms-swiper-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
.swiper-navigation-pagination-layout-1 .cms-swiper-navigation .cms-swiper-button-prev {
  left: 8px;
}
.swiper-navigation-pagination-layout-1 .cms-swiper-navigation .cms-swiper-button-next {
  right: 8px;
}
.swiper-navigation-pagination-layout-1 .cms-swiper-pagination {
  position: relative;
  bottom: auto !important;
}
.swiper-navigation-pagination-layout-1 .swiper-pagination-progressbar {
  height: 2px !important;
}
.swiper-navigation-pagination-layout-1:has(.cms-swiper-pagination) .cms-swiper-button {
  top: calc(50% - 24px);
}
.swiper-navigation-pagination-layout-2 .cms-swiper-pagination {
  position: relative;
  bottom: auto !important;
}
.swiper-navigation-pagination-layout-2 .swiper-pagination-progressbar {
  height: 2px !important;
}
.swiper-navigation-pagination-layout-2 .cms-swiper-button {
  border: 1px solid var(--cms-color-menu);
  color: var(--cms-color-menu);
}
.swiper-navigation-pagination-layout-2 .cms-swiper-button:hover {
  background-color: var(--cms-color-menu);
  color: var(--cms-color-white);
}
.cms-carousel .swiper-wrapper {
  align-items: stretch;
}
.cms-carousel .swiper-slide {
  height: auto;
}
.swiper:not(.swiper-horizontal) .swiper-slide, .swiper:not(.swiper-horizontal) .cms-swiper-navigation-pagination {
  display: none;
}
/* Preloader */
#preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
}
#preloader .spinner {
  width: 40px;
  height: 40px;
  border: 3px solid #f3f3f3;
  border-top: 3px solid #E61313;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.site-layout-boxed {
  --cms-background-color-body: #fff;
}
.site-layout-boxed #page {
  max-width: 1200px;
  margin: 0 auto;
  background-color: #fff;
}
.site-page-title {
  background-color: var(--cms-color-page-title-background-color);
  background-size: cover;
  position: relative;
  overflow: hidden;
}
.site-page-title .cms-container-pt {
  padding: var(--cms-color-page-title-padding);
}
.body-transparent-header .site-page-title {
  padding-top: calc(var(--header-height) + 32px);
}
.body-transparent-header.single .site-page-title {
  padding-top: calc(var(--header-height) + 32px);
}
.cms-single-post-title {
  background-color: var(--cms-single-post-title-background-color);
  background-size: cover;
  position: relative;
  overflow: hidden;
}
.cms-single-post-title .cms-container-spt {
  padding: var(--cms-single-post-title-padding);
}
.cms-single-post-title .cms-background-overlay {
  background-color: var(--cms-single-post-title-background-overlay);
  pointer-events: none;
}
.cms-single-post-title .cms-post-breadcrumbs {
  color: var(--cms-single-post-title-text-color);
}
.cms-single-post-title .cms-post-breadcrumbs .breadcrumbs-box * {
  color: inherit !important;
}
@media (min-width: 768.02px) {
  .page-template-blog-list .post-list-thumbnail {
    max-width: 330px;
  }
}
@media (max-width: 768px) {
  .page-template-blog-list .post-list-content {
    flex-direction: column;
    overflow: hidden;
  }
}
.page-template-blog-list blockquote p {
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
}
.page-template-contact .contact-info {
  margin-bottom: 2rem;
}
.page-template-contact .contact-info .icon {
  color: var(--cms-color-primary);
  margin-inline-end: 0.5rem;
}
.page-template-contact .contact-form {
  margin-bottom: 2rem;
}
.no-results, .error {
  text-align: center;
  padding: 30px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 16px;
}
.error {
  color: #ff6b6b;
}
/* Contact Popup */
.contact-popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--cms-color-primary);
  z-index: 9999;
  display: none;
  justify-content: center;
  align-items: center;
}
.contact-popup.active {
  display: flex;
}
.contact-popup-content {
  width: 90%;
  max-width: 1000px;
  position: relative;
  padding: 100px;
  max-height: 100vh;
  overflow-y: auto;
  text-align: center;
}
@media (max-width: 768px) {
  .contact-popup-content {
    padding: 100px 5px;
  }
}
.contact-popup-content input, .contact-popup-content textarea {
  color: var(cms-color-body);
  font-size: 24px;
  padding: 15px 10px;
  text-align: center;
  margin-bottom: 1.5rem;
  font-family: Playfair Display;
  width: 100%;
  border: none;
}
.contact-popup-content input[type="submit"] {
  background-color: #fff;
}
.contact-popup-content input[type="submit"]:hover {
  background-color: #000;
  color: #fff;
}
/* Contact Popup Header Image */
.contact-popup-header-image {
  margin-bottom: 4rem;
}
.contact-popup-header-image img {
  max-width: 300px;
  max-height: 85px;
}
/* Responsive adjustments for contact popup header image */
@media (max-width: 1024px) {
  .contact-popup-header-image img {
    max-width: 250px;
  }
}
@media (max-width: 768px) {
  .contact-popup-header-image img {
    max-width: 200px;
  }
}
/* posts-navigation */
.pagination-blog-list .nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.pagination-blog-list .page-numbers, .pagination-blog-list .post-page-numbers {
  font-size: 14px;
  font-weight: bold;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  min-width: 56px;
  min-height: 56px;
  color: var(--cms-color-menu);
  border: 1px solid var(--cms-color-menu);
  background-color: #fff;
  padding: 0 10px;
  border-radius: 8px;
}
.pagination-blog-list .page-numbers:hover, .pagination-blog-list .page-numbers.current, .pagination-blog-list .post-page-numbers:hover, .pagination-blog-list .post-page-numbers.current {
  color: #fff;
  border-color: var(--cms-color-primary);
  background-color: var(--cms-color-primary);
}
.pagination-single .nav-links {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 4rem;
  margin-top: 2.5rem;
  font-size: 14px;
  font-weight: bold;
}
.pagination-single .nav-links .nav-previous a, .pagination-single .nav-links .nav-next a {
  color: var(--cms-color-menu);
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
}
.pagination-single .nav-links .nav-previous a .nav-subtitle, .pagination-single .nav-links .nav-next a .nav-subtitle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid var(--cms-color-menu);
}
.pagination-single .nav-links .nav-previous a:hover .nav-subtitle, .pagination-single .nav-links .nav-next a:hover .nav-subtitle {
  background-color: var(--cms-color-menu);
  color: #fff;
}
.pagination-single .nav-links:has(.nav-previous):not(:has(.nav-next)) {
  justify-content: flex-start;
}
.pagination-single .nav-links:has(.nav-next):not(:has(.nav-previous)) {
  justify-content: flex-end;
}
/* 404 */
.error-404 {
  padding: 300px 0;
}
/* elementor edit page*/
.single-cms-header-top {
  font-size: 14px;
}
/* search */
.search #content {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.search-form input {
  padding: 21px 32px;
  width: 100%;
  padding-inline-end: 64px;
}
.search-form button {
  background: none;
  padding: 22px 32px;
  padding-inline-start: 16px;
  display: flex;
  align-items: center;
  height: 100%;
}
.cms-blog-list > article:not(:last-child) {
  margin-bottom: 4rem;
}
.blog-author-post {
  margin: 3rem 0;
}
.post-format-image img {
  width: 100%;
  height: auto;
}
.tags-links .tag-title {
  font-size: 1rem;
  color: var(--cms-color-secondary);
  font-family: var(--heading-font);
}
.tags-links a, .tagcloud a {
  border-radius: 6px;
  background-color: var(--cms-color-menu);
  color: var(--cms-color-white);
  display: flex;
  align-items: center;
  font-size: 12px !important;
  padding: 5px 10px;
}
.tags-links a:hover, .tagcloud a:hover {
  background-color: var(--cms-color-primary);
}
.site-content .sticky-post-label {
  background-color: var(--cms-color-primary);
  border-radius: 2px;
  color: #fff;
  font-size: 10px;
  font-weight: normal;
  margin: 0 3px;
  padding: 4px 6px;
  font-family: Montserrat;
  text-transform: uppercase;
  display: inline-block;
  line-height: 1;
}
.site-content .post-thumbnail img {
  width: 100%;
}
.site-content .sticky .post-thumbnail {
  position: relative;
}
.site-content .sticky .post-thumbnail:before {
  border-color: var(--cms-color-primary) transparent transparent var(--cms-color-primary);
  border-style: solid;
  border-width: 55px;
  content: "";
  height: 0;
  left: 0;
  position: absolute;
  top: 0;
  width: 0;
}
.post-format-quote blockquote {
  margin: 0;
}
.post-sticky .cms-post-content {
  background-color: var(--cms-background-color-primary-light);
}
.widget h2, .widget h3 {
  font-weight: 600;
  margin-top: -6px;
  margin-bottom: 26px;
}
#secondary > section {
  margin-bottom: 40px;
}
#secondary > section:last-child {
  margin-bottom: 0;
}
#secondary .cms-shop-widget:not(:last-child) {
  margin-bottom: 56px;
}
.widget_noma_categories .category-count {
  background: #fff;
  border-radius: 50%;
  padding: 0 8px;
  height: 24px;
  min-width: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#secondary a:not(.btn):not(.tag-cloud-link) {
  color: var(--cms-color-secondary);
}
#secondary a:not(.btn):not(.tag-cloud-link):hover {
  color: var(--cms-color-primary);
}
#secondary > .widget:not(.cms-shop-widget) {
  background-color: var(--cms-background-color-white-light);
  border-radius: 16px;
  padding: 40px;
}
#secondary > .widget .wp-block-group ul:not(ul ul), #secondary > .widget .wp-block-group ol:not(ol ol) {
  margin-bottom: 0;
}
#secondary .wp-block-latest-comments__comment {
  list-style: decimal;
}
#secondary .widget_search {
  background-color: var(--cms-color-primary) !important;
}
#secondary .widget_search label, #secondary .widget_search .widget-title {
  color: #fff;
}
#secondary .widget_search input {
  background: #fff;
  border-color: #fff;
}
#secondary .widget_search button {
  border: none;
}
#secondary .widget_media_image {
  padding: 0 !important;
}
.tagcloud {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
/* ========= Begin Products Loop ========= */
ul.products:not(.elementor-grid) {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin: 0;
  padding: 0;
  list-style: none;
}
ul.products:not(.elementor-grid) > .product {
  position: relative;
  max-width: 600px;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  ul.products:not(.elementor-grid) {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 768px) {
  ul.products:not(.elementor-grid) {
    grid-template-columns: repeat(1, 1fr) !important;
  }
}
ul.products:not(.elementor-grid).columns-2 {
  grid-template-columns: repeat(2, 1fr);
}
ul.products:not(.elementor-grid).columns-3 {
  grid-template-columns: repeat(3, 1fr);
}
ul.products:not(.elementor-grid).columns-4 {
  grid-template-columns: repeat(4, 1fr);
}
ul.products:not(.elementor-grid).columns-5 {
  grid-template-columns: repeat(5, 1fr);
}
ul.products:not(.elementor-grid).columns-6 {
  grid-template-columns: repeat(6, 1fr);
}
/* ========= Begin Products Loop ========= */
/* ========= Begin Single Products ========= */
.single-product .site-page-title .cms-container-pt {
  padding: 16px 0 56px;
}
.single-product .woocommerce-notices-wrapper .woocommerce-message {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 40px;
  border: 10px solid var(--cms-color-divider);
  border-radius: 24px;
  padding: 22px;
  gap: 24px;
  justify-content: space-between;
  align-items: center;
}
.single-product .product {
  display: grid;
  gap: 96px;
}
.single-product .woocommerce-tabs .wc-tabs {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  padding: 0;
  margin: 0 0 40px 0;
  font-weight: 700;
  border-bottom: 1px solid var(--cms-color-divider);
}
.single-product .woocommerce-tabs .wc-tabs li {
  position: relative;
  z-index: 1;
  color: var(--cms-color-primary);
}
.single-product .woocommerce-tabs .wc-tabs li:after {
  content: "";
  position: absolute;
  left: 0;
  width: 0;
  bottom: -1px;
  height: 2px;
  background-color: currentColor;
  -webkit-transition: all 300ms linear 0ms;
  -khtml-transition: all 300ms linear 0ms;
  -moz-transition: all 300ms linear 0ms;
  -ms-transition: all 300ms linear 0ms;
  -o-transition: all 300ms linear 0ms;
  transition: all 300ms linear 0ms;
}
.single-product .woocommerce-tabs .wc-tabs li a {
  display: block;
  font-weight: bold;
  color: var(--cms-color-secondary);
  padding-bottom: 13px;
}
.single-product .woocommerce-tabs .wc-tabs li:hover, .single-product .woocommerce-tabs .wc-tabs li.active {
  color: var(--cms-color-primary);
}
.single-product .woocommerce-tabs .wc-tabs li:hover a, .single-product .woocommerce-tabs .wc-tabs li.active a {
  color: var(--cms-color-primary);
}
.single-product .woocommerce-tabs .wc-tabs li:hover:after, .single-product .woocommerce-tabs .wc-tabs li.active:after {
  width: 100%;
}
.single-product .woocommerce-Tabs-panel #comments {
  margin-top: 0;
}
.single-product .woocommerce-Tabs-panel .woocommerce-Reviews-title {
  display: none;
}
.single-product .woocommerce-Tabs-panel .comment-form-rating {
  display: flex;
  gap: 16px;
}
.single-product .woocommerce-Tabs-panel .comment-form-comment {
  display: grid;
}
.single-product .related.products > h2 {
  margin-bottom: 40px;
}
.woocommerce-product-gallery .flex-control-thumbs {
  list-style: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 40px;
}
/* ========= End Single Products ========= */
/* ========= Begin Comment Star ========= */
.comment-form-rating .stars {
  display: inline-flex;
  gap: 6px;
}
.comment-form-rating .stars a {
  font-size: 0;
  position: relative;
  cursor: pointer;
}
.comment-form-rating .stars a::before {
  content: "★";
  font-size: 22px;
  color: #ddd;
  transition: color 0.2s ease;
}
.comment-form-rating .stars:has(a:nth-child(1):hover) a:nth-child(-n+1)::before, .comment-form-rating .stars:has(a:nth-child(2):hover) a:nth-child(-n+2)::before, .comment-form-rating .stars:has(a:nth-child(3):hover) a:nth-child(-n+3)::before, .comment-form-rating .stars:has(a:nth-child(4):hover) a:nth-child(-n+4)::before, .comment-form-rating .stars:has(a:nth-child(5):hover) a:nth-child(-n+5)::before {
  color: #ffb400;
}
.comment-form-rating .stars.selected a::before {
  color: #ddd;
}
.comment-form-rating .stars.selected:has(a:nth-child(1).active) a:nth-child(-n+1)::before, .comment-form-rating .stars.selected:has(a:nth-child(2).active) a:nth-child(-n+2)::before, .comment-form-rating .stars.selected:has(a:nth-child(3).active) a:nth-child(-n+3)::before, .comment-form-rating .stars.selected:has(a:nth-child(4).active) a:nth-child(-n+4)::before, .comment-form-rating .stars.selected:has(a:nth-child(5).active) a:nth-child(-n+5)::before {
  color: #ffb400;
}
.commentlist {
  list-style: none;
  padding: 0;
  margin-bottom: 40px;
  display: grid;
  gap: 32px;
}
.commentlist .comment_container {
  display: flex;
  gap: 24px;
}
.commentlist .comment_container .avatar {
  width: 60px;
  height: 60px;
}
.commentlist .comment_container .comment-text {
  flex: 1;
  display: grid;
  gap: 8px;
}
.commentlist .comment_container .comment-text .meta {
  margin: 0;
}
.comment-respond .comment-reply-title {
  font-weight: bold;
  color: var(--cms-color-secondary);
  padding-bottom: 24px;
  display: flex;
  gap: 16px;
  align-items: center;
}
.comment-respond p.stars {
  margin-bottom: 0;
}
/* ========= End Comment Star ========= */
/* ========= Begin Review Star Display ========= */
.star-rating {
  position: relative;
  display: inline-block;
  width: 90px;
  height: 18px;
  overflow: hidden;
  font-size: 18px;
  line-height: 18px;
  vertical-align: middle;
  color: transparent;
}
.star-rating::before {
  content: "★★★★★";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  letter-spacing: 0;
  color: #ddd;
  font-size: 1em;
  line-height: 1;
}
.star-rating span {
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  height: 100%;
  font-size: 0 !important;
  overflow: hidden;
}
.star-rating span::before {
  content: "★★★★★";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  letter-spacing: 0;
  color: #ffb400;
  font-size: 18px;
  line-height: 1;
}
[dir="rtl"] .star-rating {
  direction: rtl;
}
[dir="rtl"] .star-rating span {
  inset-inline-start: auto;
  inset-inline-end: 0;
}
[dir="rtl"] .star-rating span::before, [dir="rtl"] .star-rating::before {
  inset-inline-start: auto;
  inset-inline-end: 0;
}
/* ========= End Review Star Display ========= */
/* ========= Begin Mini Cart ========= */
.cart-counter {
  padding: 0 5px;
  min-width: 18px;
  height: 18px;
  line-height: 18px;
  font-size: 10px;
  color: #fff;
  text-align: center;
  background-color: var(--cms-color-secondary);
  border-radius: 50%;
  white-space: nowrap;
  position: absolute;
  top: -9px;
  right: -9px;
}
.cart-counter[data-count="0"] {
  display: none;
}
.widget_shopping_cart, .widget_shopping_cart_content {
  color: var(--cms-color-body);
  text-transform: none;
}
.woocommerce-mini-cart {
  margin: 0;
  width: 100%;
}
.cms-mini-cart-bottom {
  position: relative;
}
.cms-mini-cart-bottom:before {
  content: "";
  height: 1px;
  position: absolute;
  left: 0;
  right: 0;
  background-color: var(--cms-color-divider);
}
.woocommerce-mini-cart-item {
  position: relative;
  display: flex;
  gap: 8px;
  padding: 16px 0;
  border-bottom: 1px solid var(--cms-color-divider);
}
.woocommerce-mini-cart-item:last-child {
  margin-bottom: 32px;
}
.woocommerce-mini-cart {
  margin: 0;
  width: 100%;
  /* Product link (image + title) */
  /* Thumbnail */
  /* Mini cart :quantity + price */
}
.woocommerce-mini-cart .product_list_widget {
  gap: 0;
}
.woocommerce-mini-cart .woocommerce-mini-cart-item .remove {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  z-index: 1;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  font-size: 20px;
  width: 24px;
  height: 24px;
  background-color: var(--cms-color-secondary);
  color: #fff;
  text-decoration: none;
  opacity: 0.6;
  border-radius: 50%;
  cursor: pointer;
}
.woocommerce-mini-cart .woocommerce-mini-cart-item .remove:hover {
  background: red;
}
.woocommerce-mini-cart .woocommerce-mini-cart-item .remove:hover {
  opacity: 1;
}
.woocommerce-mini-cart .woocommerce-mini-cart-item > a {
  color: var(--cms-color-menu);
}
.woocommerce-mini-cart .woocommerce-mini-cart-item > a:hover {
  color: var(--cms-color-primary);
}
.woocommerce-mini-cart .woocommerce-mini-cart-item > a:not(.remove) {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  text-decoration: none;
  font-size: 16px;
  font-weight: bold;
}
.woocommerce-mini-cart .woocommerce-mini-cart-item img {
  width: 70px;
  height: 70px;
  object-fit: cover;
  border-radius: 6px;
}
.woocommerce-mini-cart .woocommerce-mini-cart-item .quantity {
  width: 140px;
  gap: 5px;
  border: none;
  height: 100%;
  padding: 0;
  display: flex;
  align-items: center;
  font-size: 12px;
  opacity: 0.7;
}
.cart-popup-content .woocommerce-mini-cart__buttons {
  display: flex;
  gap: 20px;
}
/* ========= End Mini Cart ========= */
/* ========= Begin Cart Page ========= */
.wc-empty-cart-message {
  margin-bottom: 40px;
}
.cms-main > .woocommerce {
  width: 100%;
}
.woocommerce-cart #cms-main {
  margin-top: -40px;
}
.shop_table, table.woosw-items {
  border: none;
}
.shop_table tr, table.woosw-items tr {
  border-top: 1px solid var(--cms-color-divider);
}
.shop_table thead tr, table.woosw-items thead tr {
  border-top: 0;
}
.shop_table th, table.woosw-items th {
  border: none;
  padding: 10px 0;
}
.shop_table td, table.woosw-items td {
  padding: 30px 0;
  border: none;
}
.shop_table.cart th, table.woosw-items.cart th {
  font-size: 16px;
  color: var(--cms-color-body);
}
.shop_table .coupon, table.woosw-items .coupon {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.shop_table .coupon .input-text, table.woosw-items .coupon .input-text {
  max-width: 290px !important;
  max-height: 58px;
}
@media (min-width: 640px) {
  .shop_table button[name="update_cart"], table.woosw-items button[name="update_cart"] {
    margin-inline-end: 6px;
  }
  .shop_table .actions, table.woosw-items .actions {
    text-align: end;
  }
  .shop_table .coupon, table.woosw-items .coupon {
    float: left;
    flex-wrap: nowrap;
    width: 500px;
    max-width: 100%;
  }
  [dir="rtl"] .shop_table .coupon, [dir="rtl"] table.woosw-items .coupon {
    float: right;
  }
}
@media (max-width: 639px) {
  .shop_table .actions, table.woosw-items .actions {
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 20px;
    padding: 30px 10px;
  }
  .shop_table .actions > *, table.woosw-items .actions > * {
    flex: 0 0 100%;
  }
  .shop_table .actions > * .input-text, table.woosw-items .actions > * .input-text {
    max-width: 100% !important;
  }
  .shop_table .actions > * .button, table.woosw-items .actions > * .button {
    width: 100%;
  }
}
.cart_item .product-remove, tr.woosw-item .product-remove {
  width: 40px;
}
.cart_item .product-remove .remove, tr.woosw-item .product-remove .remove {
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: white;
  background-color: var(--cms-color-secondary);
  border-radius: 50%;
  font-size: 18px;
}
.cart_item .product-remove .remove:hover, tr.woosw-item .product-remove .remove:hover {
  background-color: red;
}
.cart_item .product-name, tr.woosw-item .product-name {
  font-size: 19px;
  font-family: var(--cms-heading-family);
  font-weight: 700;
}
.cart_item .product-name a, tr.woosw-item .product-name a {
  color: var(--cms-color-secondary);
}
.cart_item .product-name a:hover, tr.woosw-item .product-name a:hover {
  color: var(--cms-color-primary);
}
.cart_item .product-thumbnail, tr.woosw-item .product-thumbnail {
  width: 100px;
}
.cart_item .product-thumbnail a, tr.woosw-item .product-thumbnail a {
  display: block;
  width: 80px;
  background-color: var(--cms-color-primary);
  border-radius: 16px;
}
.cart_item dl.variation, tr.woosw-item dl.variation {
  display: flex;
  gap: 10px;
  margin: 0;
}
.cart_item dl.variation dt, .cart_item dl.variation dd, tr.woosw-item dl.variation dt, tr.woosw-item dl.variation dd {
  font-size: 15px;
  padding: 0;
  margin: 0;
  line-height: 1.2;
  text-transform: none;
}
.cart_item .woosw-item--actions .cms-loop-addtocart.flex-basic, tr.woosw-item .woosw-item--actions .cms-loop-addtocart.flex-basic {
  flex: 0 0 auto;
  justify-content: end;
  text-align: end;
}
.cart_item .woocommerce-Price-amount, tr.woosw-item .woocommerce-Price-amount {
  color: var(--cms-color-body);
}
.cart_totals .shop_table {
  margin-bottom: 40px;
}
.cart_totals .shop_table td {
  text-align: end;
  padding: 10px 0;
}
.cart_totals .shop_table .cart-subtotal {
  border-top: 0;
}
.cart_totals .shop_table .order-total {
  border-bottom: 1px solid var(--cms-color-divider);
}
.cart_totals ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
/* ========= End Cart Page ========= */
/* ========= Begin Checkout ========= */
.col2-set {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.col2-set > .col-1, .col2-set > .col-2 {
  width: calc(50% - 20px);
  flex: 0 0 calc(50% - 20px);
}
@media (max-width: 880px) {
  .col2-set > .col-1, .col2-set > .col-2 {
    width: 100%;
    flex: 0 0 100%;
  }
}
.col2-set#customer_details > * {
  width: 100%;
  flex: 0 0 100%;
}
.woocommerce-form-coupon-toggle .woocommerce-info {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 40px;
  border: 10px solid var(--cms-color-divider);
  border-radius: 24px;
  padding: 22px;
  gap: 24px;
  justify-content: space-between;
  align-items: center;
}
.woocommerce-form-coupon {
  display: flex;
  gap: 24px;
}
.woocommerce-form-login-toggle {
  padding-bottom: 25px;
}
.woocommerce-form-login-toggle + .woocommerce-message, .woocommerce-form-login-toggle + .woocommerce-error {
  margin-bottom: 40px;
}
form.checkout.woocommerce-checkout {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
form.checkout.woocommerce-checkout .wc-order-attribution-inputs {
  display: none;
}
form.checkout.woocommerce-checkout ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
form.checkout.woocommerce-checkout > * {
  flex: 1;
}
@media (max-width: 768px) {
  form.checkout.woocommerce-checkout > * {
    flex: 0 0 100%;
    width: 100%;
  }
}
form.checkout.woocommerce-checkout > *#customer_details > * {
  width: 100%;
  flex: 0 0 100%;
}
form.checkout.woocommerce-checkout .woocommerce-error a {
  color: red;
}
form.checkout.woocommerce-checkout .woocommerce-error a:hover {
  text-decoration: underline;
}
form.checkout.woocommerce-checkout .col2-set, form.checkout.woocommerce-checkout .cms-orderreview-wrap {
  position: sticky;
  top: 20px;
  height: fit-content;
}
form.checkout.woocommerce-checkout .woocommerce-NoticeGroup {
  flex: 0 0 100%;
  width: 100%;
}
form.checkout.woocommerce-checkout h3 {
  margin-bottom: 24px;
}
form.checkout.woocommerce-checkout .form-row {
  display: grid;
}
form.checkout.woocommerce-checkout .form-row .input-text {
  width: 100%;
}
form.checkout.woocommerce-checkout .wc_payment_methods {
  list-style: none;
  padding: 40px;
  margin-bottom: 40px;
  border: 1px solid var(--cms-color-divider);
}
form.checkout.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 40px;
}
/* ========= End Checkout ========= */
/* ========= Begin Add To Cart Loading ========= */
.woocommerce a.button.loading {
  position: relative;
  pointer-events: none;
  opacity: 0.7;
}
.woocommerce a.button.loading::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  border: 2px solid #fff;
  border-top-color: transparent;
  border-radius: 50%;
  animation: woo-spin 0.6s linear infinite;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@keyframes woo-spin {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
/* ========= End Add To Cart Loading ========= */
/* ========= Begin Quantity Form ========= */
.quantity {
  width: 88px;
  height: 60px;
  position: relative;
  border-radius: 8px;
  border: 1px solid var(--cms-color-secondary);
  /* Remove number input arrows*/
}
@media (max-width: 320px) {
  .quantity {
    width: 100%;
    flex: 0 0 100%;
  }
}
.quantity .input-text {
  width: 100%;
  border: none;
}
.quantity .cms-qty-act {
  cursor: pointer;
  width: 32px;
  height: 30px;
  display: block;
  border-radius: 0 0 8px 0;
  position: absolute;
  right: -1px;
  border: 1px solid var(--cms-color-secondary);
}
.quantity .cms-qty-act:before, .quantity .cms-qty-act:after {
  content: "";
  display: block;
  background-color: var(--cms-color-secondary);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -khtml-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.quantity .cms-qty-act:before {
  height: 1px;
  width: 12px;
}
.quantity .cms-qty-act:after {
  width: 1px;
  height: 12px;
}
.quantity .cms-qty-act.cms-qty-up {
  top: -1px;
  border-radius: 0 8px 0 0;
  height: 31px;
}
.quantity .cms-qty-act.cms-qty-down {
  bottom: -1px;
}
.quantity .cms-qty-act.cms-qty-down:after {
  opacity: 0;
  visibility: hidden;
}
.quantity input[type="number"].qty::-webkit-outer-spin-button, .quantity input[type="number"].qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* ========= End Quantity Form ========= */
/* ========= Begin My Account ========= */
.woocommerce-account:not(.logged-in) .cms-main > .woocommerce {
  max-width: 400px;
  margin: 0 auto;
}
.woocommerce-account:not(.logged-in) .woocommerce-notices-wrapper + h2, .woocommerce-account:not(.logged-in) [class^="u-column"] > h2 {
  margin-bottom: 30px;
}
.woocommerce-form-register .woocommerce-privacy-policy-text {
  margin-bottom: 30px;
}
.woocommerce-MyAccount-navigation ul {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin-bottom: 32px;
  justify-content: center;
  list-style: none;
}
.woocommerce-MyAccount-navigation ul > li {
  flex: 0 0 auto;
  margin: 10px;
}
.woocommerce-MyAccount-navigation ul a {
  display: block;
  padding: 15px 25px;
  border: 1px solid var(--cms-color-secondary);
  color: var(--cms-color-secondary);
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 15px;
  position: relative;
}
.woocommerce-MyAccount-navigation ul a:after {
  content: "";
  border-bottom: 1px solid;
  position: absolute;
  left: 25px;
  right: 25px;
  margin-top: 23px;
  transform-origin: right center;
  -webkit-transform-origin: right center;
  transform: scale(0, 1);
  transition: transform 0.25s cubic-bezier(0.37, 0.31, 0.2, 0.85);
}
.woocommerce-MyAccount-navigation ul a:hover, .woocommerce-MyAccount-navigation ul a.active, .woocommerce-MyAccount-navigation ul a.is-active {
  color: var(--cms-color-primary);
}
.woocommerce-MyAccount-navigation ul a:hover:after, .woocommerce-MyAccount-navigation ul a.active:after, .woocommerce-MyAccount-navigation ul a.is-active:after {
  transform-origin: left center;
  -webkit-transform-origin: left center;
  transform: scale(1, 1);
}
.woocommerce-MyAccount-navigation ul .is-active a {
  color: var(--cms-color-primary);
}
.woocommerce-MyAccount-navigation ul .is-active a:after {
  transform-origin: left center;
  -webkit-transform-origin: left center;
  transform: scale(1, 1);
}
.woocommerce-MyAccount-content h2 {
  margin-bottom: 24px;
}
.woocommerce-MyAccount-content .woocommerce-address-fields .form-row {
  display: grid;
}
.woocommerce-MyAccount-content .woocommerce-error {
  color: red;
}
button[name="save_account_details"], button[name="save_address"] {
  margin-top: 40px;
}
.woocommerce-EditAccountForm {
  max-width: 640px;
  margin: 0 auto;
}
.woocommerce-EditAccountForm .woocommerce-form-row {
  display: grid;
}
.password-input {
  position: relative;
}
.password-input .show-password-input {
  position: absolute !important;
  top: 0;
  bottom: 0;
  right: 0;
  background: 0 0 !important;
  padding: 0 var(--cms-form-field-padding-end, 20px) 0 var(--cms-form-field-padding-start, 20px) !important;
}
.password-input .show-password-input:before {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}
.password-input .show-password-input.display-password:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.94 10.94 0 0 1 12 20C5 20 1 12 1 12a21.77 21.77 0 0 1 5.06-6.94'/%3E%3Cpath d='M1 1l22 22'/%3E%3C/svg%3E");
}
.password-input .woocommerce-Input {
  width: 100%;
}
/* ========= End My Account ========= */
/* Message */
.woocommerce-message {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 40px;
  border: 10px solid var(--cms-color-divider);
  border-radius: 24px;
  padding: 22px;
  gap: 24px;
  justify-content: space-between;
  align-items: center;
}
/* add cart button */
.add_to_cart_button.added {
  display: none;
}
/* pagination */
.woocommerce-pagination {
  display: flex;
  margin-top: 45px;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
ul.page-numbers {
  list-style: none;
  padding: 0;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
li .page-numbers {
  min-width: 56px;
  min-height: 56px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--cms-color-secondary);
  border: 1px solid var(--cms-color-secondary);
}
li .page-numbers:hover, li .page-numbers.current {
  color: var(--cms-color-white);
  border-color: var(--cms-color-secondary);
  background-color: var(--cms-color-secondary);
}
.price {
  color: var(--cms-color-primary);
}
.price del {
  color: #ddd;
}
.price ins {
  text-decoration: none;
}
.summary .price {
  color: var(--cms-color-secondary);
}
.summary .woocommerce-product-details__short-description, .summary .cart, .summary .product_meta, .summary .cms-product-share {
  border-top: 1px solid var(--cms-color-divider);
}
.summary .woocommerce-product-details__short-description, .summary .cart, .summary .product_meta, .summary .cms-product-share {
  padding-top: 40px;
  margin-top: 40px;
}
form.cart:not(.variations_form), .woocommerce-variation-add-to-cart {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.onsale {
  position: absolute;
  top: 10px;
  left: 10px;
  background-color: var(--cms-color-white);
  color: var(--cms-color-primary);
  padding: 5px 10px;
  border-radius: 6px;
  font-size: 12px;
  z-index: 2;
}
.woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
}
.cms-btn-addtocart.added {
  display: none;
}
.cms-btn-addtocart.added + .added_to_cart {
  display: flex;
}
.cms-btn-addtocart:not(.added) + .added_to_cart {
  display: none;
}
.variations_form > * {
  width: 100%;
  flex: 0 0 100%;
}
.variations_form table.variations {
  border: none;
  margin-bottom: 0;
}
.variations_form table.variations th, .variations_form table.variations td {
  padding: 0;
  border: none;
}
.variations_form table.variations tr {
  border-top: 1px solid var(--cms-color-divider);
}
.variations_form table.variations tr:last-child {
  border-bottom: 1px solid var(--cms-color-divider);
}
.variations_form table.variations tr th, .variations_form table.variations tr td {
  padding: 30px 0;
}
.single_variation > div:not(:last-child):not(:empty) {
  margin-bottom: 30px;
}
.reset_variations {
  color: red;
  text-align: end;
  text-transform: uppercase;
  font-size: 15px;
  letter-spacing: 1px;
  border-bottom: 1px solid;
}
.reset_variations:hover {
  border-color: inherit;
}
.reset_variations:not(style), .reset_variations[style*="visibility: hidden;"] {
  display: none !important;
}
.reset_variations[style*="visibility: visible; display: inline;"] {
  display: block !important;
}
.out-of-stock {
  color: #c2272d;
}
.out-of-stock + .added_to_cart {
  display: none;
}
.woocommerce-variation-availability > .cms-product-stock {
  padding-bottom: 0;
  border-bottom: 0;
}
.woocommerce-variation-availability > .cms-product-stock.stock-simple {
  margin-top: 0;
}
.product_meta {
  display: grid;
  gap: 8px;
}
.sku_wrapper, .posted_in, .tagged_as {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
.sku_wrapper .title, .posted_in .title, .tagged_as .title {
  font-weight: 700;
  min-width: 100px;
}
.sku_wrapper .content a, .posted_in .content a, .tagged_as .content a {
  color: var(--cms-color-body);
}
.sku_wrapper .content a:hover, .posted_in .content a:hover, .tagged_as .content a:hover {
  color: var(--cms-color-primary);
}
/* widget */
.product_list_widget {
  list-style: none;
  display: grid;
  gap: 20px;
  padding: 0 20px 20px;
  margin: 0;
}
.product_list_widget li {
  margin-inline-start: -20px;
  margin-inline-end: -20px;
}
ul.product-categories {
  list-style: none;
  padding: 32px;
  margin: 0;
  border: 1px solid var(--cms-color-divider);
  border-radius: 16px;
}
ul.product-categories > li:not(:last-child) {
  border-bottom: 1px solid var(--cms-color-divider);
  padding-bottom: 16px;
  margin-bottom: 16px;
}
ul.product-categories li a:hover, ul.product-categories li.current-cat a {
  color: var(--cms-color-primary) !important;
}
/**
 * Price filter widget
 */
.widget_price_filter .price_slider {
  margin-bottom: 1em;
}
.widget_price_filter .price_slider_amount .price_label {
  display: flex;
  justify-content: space-between;
}
.widget_price_filter .ui-slider {
  position: relative;
  text-align: start;
}
.widget_price_filter .ui-slider .ui-slider-handle {
  position: absolute;
  z-index: 2;
  width: 10px;
  height: 10px;
  background-color: var(--cms-color-secondary);
  border-radius: 0;
  cursor: ew-resize;
  outline: none;
  top: -3px;
}
.widget_price_filter .ui-slider .ui-slider-handle + .ui-slider-handle {
  margin-inline-start: -10px;
}
.widget_price_filter .ui-slider .ui-slider-range {
  position: absolute;
  z-index: 1;
  border-radius: 0;
  background-color: var(--cms-color-secondary);
}
.widget_price_filter .price_slider_wrapper .ui-widget-content:before {
  content: "";
  position: absolute;
  top: 0px;
  left: 0;
  right: 0;
  height: 4px;
  background-color: var(--cms-color-divider);
}
.widget_price_filter .ui-slider-horizontal {
  height: 4px;
}
.widget_price_filter .ui-slider-horizontal .ui-slider-range {
  top: 0;
  height: 100%;
}
.widget_price_filter .ui-slider-horizontal .ui-slider-range-min {
  left: 0px;
}
.widget_price_filter .ui-slider-horizontal .ui-slider-range-max {
  right: 0px;
}
.price_slider_amount {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}
.price_slider_amount .price_label {
  order: -1;
  font-size: 14px;
}
.price_slider_amount .button {
  background-color: transparent !important;
  padding: 0 !important;
  color: var(--cms-accent) !important;
  border: none !important;
  border-radius: 0 !important;
  height: unset;
  min-height: unset !important;
}
.price_slider_amount .button:hover {
  color: var(--cms-accent-darken) !important;
}
.price_slider_amount .clear {
  display: none;
}
/* ========= Default Page From WooCommerce Block ========= */
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
  padding: 0;
  min-height: 20px;
}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
  display: block;
}
/* ========= End Default Page From WooCommerce Block ========= */
/* ============================ Elementor ============================ */
.e-con {
  --container-default-padding-top: 16px;
  --container-default-padding-right: 16px;
  --container-default-padding-bottom: 16px;
  --container-default-padding-left: 16px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.e-con:before {
  background-position: inherit;
  background-repeat: inherit;
  background-size: inherit;
  background-attachment: inherit;
}
.e-con.cms-econ-nospace {
  padding: 0;
}
.e-con.cms-econ-nospace > .e-con-inner {
  padding-block-start: 0;
  padding-block-end: 0;
}
.cms-container-width-boxed {
  padding-inline-start: 40px;
  padding-inline-end: 40px;
}
/* ============================ CMS Container Custom ============================ */
.elementor {
  /* Content Width Styles */
  /* Container Space Styles */
  /* Container Position Styles */
  /* Container Gradient Styles */
  /* Container Shape Styles */
  /* Responsive adjustments */
}
.elementor .cms-container-width-boxed-wide {
  width: calc(100% - 96px);
}
@media (max-width: 1024px) {
  .elementor .cms-container-width-boxed-wide {
    width: calc(100% - 40px);
  }
}
.elementor .cms-container-width-full-width-space-start {
  margin-inline-start: 48px;
  width: calc(100% - 48px);
}
.elementor .cms-container-width-full-width-space-end {
  margin-inline-end: 48px;
  width: calc(100% - 48px);
}
.elementor .cms-container-width-boxed-1320 {
  max-width: 1320px;
  margin: 0 auto;
}
.elementor .cms-container-width-auto-expand {
  flex: 1 !important;
}
.elementor .cms-container-width-boxed-full-left, .elementor .cms-container-width-boxed-full-right {
  padding-inline-start: 0;
  padding-inline-end: 0;
  max-width: calc(100vw - calc(calc(100vw - 1216px) / 2)) !important;
}
@media (min-width: 1320px) {
  .elementor .cms-container-width-boxed-full-left {
    margin-inline-end: calc(calc(100vw - 1216px) / 2) !important;
  }
}
@media (min-width: 1320px) {
  .elementor .cms-container-width-boxed-full-right {
    margin-inline-start: calc(calc(100vw - 1216px) / 2) !important;
  }
}
.elementor .cms-container-width-100vw-full-right {
  padding-inline-start: 0;
  padding-inline-end: 0;
  width: 100vw !important;
}
.elementor .e-parent:has(.cms-container-width-100vw-full-right) {
  overflow: hidden;
}
.elementor .cms-container-space-no-space {
  padding: 0 !important;
  margin: 0 !important;
}
.elementor .cms-container-space-no-space-left-right {
  padding-inline-start: 0 !important;
  padding-inline-end: 0 !important;
  margin-inline-start: 0 !important;
  margin-inline-end: 0 !important;
}
.elementor .cms-container-space-no-space-left {
  padding-inline-start: 0 !important;
  margin-inline-start: 0 !important;
}
.elementor .cms-container-space-no-space-right {
  padding-inline-end: 0 !important;
  margin-inline-end: 0 !important;
}
.elementor .cms-container-space-no-space-top {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.elementor .cms-container-space-no-space-bottom {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
.elementor .cms-container-space-no-space-top-bottom {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .elementor .cms-container-child-same-height-yes .cms-container-child-same-height-yes > .e-child, .elementor .cms-container-child-same-height-yes > .e-child > .elementor-widget, .elementor .cms-container-child-same-height-yes > .elementor-widget > .elementor-widget-container > div, .elementor .cms-container-child-same-height-yes > .e-child > .elementor-widget > .elementor-widget-container > div {
    height: 100%;
  }
  .elementor .cms-container-child-same-height-yes > .e-con-inner > .e-child > .elementor-widget, .elementor .cms-container-child-same-height-yes > .e-con-inner > .e-child > .elementor-widget > .elementor-widget-container > div {
    height: 100%;
  }
  .elementor .cms-container-child-same-height-no > .e-child, .elementor .cms-container-child-same-height-no > .e-child > .elementor-widget, .elementor .cms-container-child-same-height-no > .elementor-widget > .elementor-widget-container > div, .elementor .cms-container-child-same-height-no > .e-child > .elementor-widget > .elementor-widget-container > div {
    height: auto !important;
  }
}
@media (min-width: 768px) {
  .elementor .cms-container-position-sticky {
    position: sticky;
    top: 0;
    align-self: flex-start;
  }
}
.elementor .cms-gradient-grey-top-bottom {
  background: linear-gradient(180deg, #f8f9fa 0%, #e9ecef 100%) !important;
}
.elementor .cms-gradient-overlay-primary-top-bottom:before {
  content: "";
  width: 100% !important;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background: linear-gradient(0deg, rgba(var(--cms-color-primary-rgb), 0.85), rgba(var(--cms-color-primary-rgb), 0.85));
}
.elementor .cms-gradient-overlay-primary-top-bottom:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background: linear-gradient(0deg, var(--cms-background-color-primary-light) 0%, rgba(255, 255, 255, 0) 100%);
}
.elementor .cms-gradient-overlay-secondary-darken {
  position: relative;
}
.elementor .cms-gradient-overlay-secondary-darken:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(var(--cms-color-secondary-rgb), 0.3);
  z-index: 1;
  pointer-events: none;
}
.elementor .cms-has-shape {
  position: relative;
}
.elementor .cms-has-shape:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 0;
  pointer-events: none;
}
.elementor .cms-shape-position-left:before {
  left: 0;
  right: auto;
}
.elementor .cms-shape-position-right:before {
  right: 0;
  left: auto;
}
.elementor .cms-shape-position-full-start:before, .elementor .cms-shape-position-full-end:before {
  width: 100% !important;
}
@media (min-width: 1320px) {
  .elementor .cms-shape-position-full-start:before {
    right: 0;
    left: auto;
    width: calc(100% + calc(calc(100vw - 1320px)/2)) !important;
  }
  .elementor .cms-shape-position-full-end:before {
    left: 0;
    right: auto;
    width: calc(100% + calc(calc(100vw - 1320px)/2)) !important;
  }
}
.elementor .cms-shape-position-full-boxed-start:before {
  left: auto;
  right: 100%;
  width: calc(calc(100vw - 1320px)/2) !important;
}
.elementor .cms-shape-position-full-boxed-end:before {
  left: 100%;
  right: auto;
  width: calc(calc(100vw - 1320px)/2) !important;
}
@media (max-width: 768px) {
  .elementor .cms-content-width-full-width-space-start {
    padding-inline-start: 20px;
  }
  .elementor .cms-content-width-full-width-space-end {
    padding-inline-end: 20px;
  }
  .elementor .cms-content-width-full-width-header-left {
    margin-inline-start: 0;
  }
}
/*  Corner Radius Elementor */
.cms-container-corner-rounded {
  border-radius: 32px !important;
}
.cms-container-corner-rounded-12 {
  border-radius: 12px !important;
}
.cms-container-corner-rounded-16 {
  border-radius: 16px !important;
}
.cms-container-corner-rounded-24 {
  border-radius: 24px !important;
}
.cms-container-corner-rounded-top {
  border-radius: 32px 32px 0 0 !important;
}
.cms-container-corner-rounded-top > div, .cms-container-corner-rounded-top > div > div, .cms-container-corner-rounded-top > div > div > div {
  border-radius: inherit;
}
.cms-container-corner-rounded-bottom {
  border-radius: 0 0 32px 32px !important;
}
.cms-container-corner-rounded-bottom > div, .cms-container-corner-rounded-bottom > div > div, .cms-container-corner-rounded-bottom > div > div > div {
  border-radius: inherit;
}
.cms-container-corner-rounded-bottom-small {
  border-radius: 0 0 16px 16px !important;
}
[class*="cms-container-corner-rounded"] > div {
  border-radius: inherit;
}
[class*="cms-container-corner-rounded"]:before {
  border-radius: inherit !important;
}
/* ============================ CMS Slider ============================ */
.cms-slider.swiper {
  overflow: hidden !important;
}
.cms-slider-layout-1 .cms-video-button {
  width: 128px;
  height: 128px;
  border-radius: 50%;
  background: linear-gradient(142.13deg, rgba(254, 248, 255, 0.21) 1.8%, rgba(254, 248, 255, 0) 99.75%);
  backdrop-filter: blur(43.9804px);
  color: #ffffff;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
}
.cms-slider-layout-1 .cms-video-button::before {
  content: "";
  position: absolute;
  top: -48px;
  left: -48px;
  width: 224px;
  height: 224px;
  border: 1px solid rgba(68, 85, 78, 0.5);
  border-radius: 50%;
}
.cms-slider-layout-1 .cms-video-button:hover {
  background: var(--cms-color-primary);
  transform: scale(1.1);
}
.cms-slider-layout-1 .cms-video-button:hover:before {
  border-color: var(--cms-color-primary);
}
.cms-slider-layout-1 .cms-video-wrapper {
  animation: pulse 2s infinite;
}
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
.cms-slider-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 56px;
  height: 56px;
  background: rgba(var(--cms-color-secondary-rgb), 0.5);
  border-radius: 50%;
  z-index: 10;
  cursor: pointer;
}
.cms-slider-arrow.cms-slider-nav-next {
  right: 48px;
}
.cms-slider-arrow.cms-slider-nav-prev {
  left: 48px;
}
@media (max-width: 1440px) {
  .cms-slider-arrow {
    width: 48px;
    height: 48px;
  }
  .cms-slider-arrow.cms-slider-nav-next {
    right: 16px;
  }
  .cms-slider-arrow.cms-slider-nav-prev {
    left: 16px;
  }
}
/* End CMS Slider */
/* ============================ CMS Heading ============================ */
.cms-heading-has-separator {
  padding-bottom: 56px;
  border-bottom: 1px solid var(--cms-color-divider);
}
.cms-heading-layout-5 .cms-heading-icon svg {
  width: 100%;
  height: auto;
}
.cms-heading-layout-5 .cms-heading-icon svg path {
  fill: url(#icon_gradient);
}
.cms-heading-layout-2 .heading-line, .cms-heading-layout-2-1 .heading-line {
  display: inline-flex;
  width: 48px;
  height: 8px;
  background-color: var(--cms-color-primary);
  margin-inline-end: 48px;
}
/* End CMS Heading */
/* ============================ CMS Menu ============================ */
.cms-menu-layout-1 .cms-menu-link span, .cms-menu-layout-3 .cms-menu-link span {
  visibility: hidden;
  opacity: 0;
  transition: all 0.3s ease;
  margin-inline-start: -22px;
  transform: translate(-22px, 0);
}
.cms-menu-layout-1 .cms-menu-link:hover span, .cms-menu-layout-1 .cms-menu-link.active span, .cms-menu-layout-3 .cms-menu-link:hover span, .cms-menu-layout-3 .cms-menu-link.active span {
  visibility: visible;
  opacity: 1;
  margin-inline-start: 0;
  transform: translate(0, 0);
}
.cms-menu-layout-4 li:not(:last-child)::after {
  content: "";
  width: 1px;
  height: 10px;
  background-color: var(--cms-color-divider);
}
.cms-menu-layout-5 li:not(:last-child)::after {
  content: "-";
}
/* End CMS Menu */
/* ============================ CMS Newsletter ============================ */
.cms-newsletter-title-icon {
  width: 72px;
  height: 72px;
  border-radius: 12px;
  background-color: var(--cms-color-heading);
}
.cms-newsletter-layout-1 input {
  border-radius: var(--cms-button-border-radius);
  width: 100%;
}
/* End CMS Newsletter */
/* ============================ CMS Text Scroll ============================ */
.elementor-widget-cms-text-scroll {
  overflow: hidden;
}
.cms-text-scroll-track {
  display: flex;
  gap: 48px;
  will-change: transform;
  animation: cms-marquee 20s linear infinite;
}
.cms-text-scroll-wrap:hover .cms-text-scroll-track {
  animation-play-state: paused;
}
.cms-text-scroll-text {
  font-family: var(--heading-font, "Playfair Display, sans-serif");
  font-weight: 400;
  font-size: clamp(64px, calc(10.323vw + 20.129px), 144px);
  line-height: 1.3;
  white-space: nowrap;
  display: inline-block;
}
@keyframes cms-marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.cms-text-scroll-layout-2 {
  padding-top: 250px;
  padding-bottom: 250px;
}
.cms-text-scroll-layout-2 .cms-text-scroll-track:hover {
  animation-play-state: paused;
}
.cms-text-scroll-layout-2 .cms-text-scroll-text {
  font-size: clamp(80px, calc(17.548vw + 5.419px), 216px);
}
.cms-text-scroll-layout-2 .cms-text-scroll-layers {
  width: 66.7vw;
  height: 66.7vw;
  max-width: 820px;
  max-height: 820px;
}
.cms-text-scroll-layout-2 .cms-text-scroll-1 {
  width: 100%;
  height: 100%;
  background: linear-gradient(69.88deg, var(--cms-color-primary) 2.47%, var(--cms-color-menu) 98.44%);
  opacity: 0.9;
  filter: blur(100px);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 0;
}
.cms-text-scroll-layout-2 .cms-text-scroll-2 {
  width: 93%;
  height: 93%;
  border: 1px solid rgba(188, 212, 203, 0.5);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.cms-text-scroll-layout-2 .cms-text-scroll-3 {
  width: 76%;
  height: 76%;
  background: linear-gradient(142.13deg, rgba(254, 248, 255, 0.21) 1.8%, rgba(254, 248, 255, 0) 99.75%);
  backdrop-filter: blur(43.9804px);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.cms-text-scroll-layout-2 .cms-text-scroll-4 {
  width: 59%;
  height: 59%;
  background: linear-gradient(142.13deg, rgba(254, 248, 255, 0.21) 1.8%, rgba(254, 248, 255, 0) 99.75%);
  backdrop-filter: blur(43.9804px);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 4;
}
.cms-text-scroll-layout-2 .cms-text-scroll-image {
  width: auto;
  height: 90%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 5;
}
.cms-text-scroll-layout-2 .cms-text-scroll-image img {
  height: 100% !important;
  width: auto;
  object-fit: cover;
}
.cms-text-scroll-layout-2 .cms-text-scroll-track {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 3;
}
.cms-text-scroll-layout-3 {
  padding-top: 128px;
  padding-bottom: 112px;
}
.cms-text-scroll-layout-3 .cms-text-scroll-track:hover {
  animation-play-state: paused;
}
.cms-text-scroll-layout-3 .cms-text-scroll-text {
  font-size: clamp(80px, calc(17.548vw + 5.419px), 216px);
}
.cms-text-scroll-layout-3 .cms-text-scroll-layers {
  width: 66.7vw;
  height: 66.7vw;
  max-width: 820px;
  max-height: 820px;
}
.cms-text-scroll-layout-3 .cms-text-scroll-1 {
  width: 100%;
  height: 100%;
  background: var(--cms-color-primary);
  opacity: 0.3;
  filter: blur(100px);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 0;
}
.cms-text-scroll-layout-3 .cms-text-scroll-2 {
  width: 93%;
  height: 93%;
  border: 1px solid rgba(188, 212, 203, 0.5);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.cms-text-scroll-layout-3 .cms-text-scroll-3 {
  width: 76%;
  height: 76%;
  background: linear-gradient(142.13deg, rgba(254, 248, 255, 0.21) 1.8%, rgba(254, 248, 255, 0) 99.75%);
  backdrop-filter: blur(43.9804px);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.cms-text-scroll-layout-3 .cms-text-scroll-4 {
  width: 59%;
  height: 59%;
  background: linear-gradient(142.13deg, rgba(254, 248, 255, 0.21) 1.8%, rgba(254, 248, 255, 0) 99.75%);
  backdrop-filter: blur(43.9804px);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 4;
}
.cms-text-scroll-layout-3 .cms-text-scroll-image {
  width: auto;
  height: 90%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 5;
}
.cms-text-scroll-layout-3 .cms-text-scroll-image img {
  height: 100% !important;
  width: auto;
  object-fit: cover;
}
.cms-text-scroll-layout-3 .cms-text-scroll-track {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 3;
}
/* End CMS Text Scroll */
/* ============================ CMS Social ============================ */
.cms-social-link svg {
  object-fit: cover;
}
.cms-social-layout-1.cms-social-size-larger svg {
  width: 20px;
  height: 20px;
}
.cms-social-layout-1.cms-social-size-medium svg {
  width: 16px;
  height: 16px;
}
.cms-social-layout-1.cms-social-size-small svg {
  width: 12px;
  height: 12px;
}
.cms-social-layout-2.cms-social-size-larger .cms-social-icon {
  width: 40px;
  height: 40px;
}
.cms-social-layout-2.cms-social-size-larger .cms-social-icon svg {
  width: 20px;
  height: 20px;
}
.cms-social-layout-2.cms-social-size-medium .cms-social-icon {
  width: 36px;
  height: 36px;
}
.cms-social-layout-2.cms-social-size-medium .cms-social-icon svg {
  width: 16px;
  height: 16px;
}
.cms-social-layout-2.cms-social-size-small .cms-social-icon {
  width: 24px;
  height: 24px;
}
.cms-social-layout-2.cms-social-size-small .cms-social-icon svg {
  width: 12px;
  height: 12px;
}
.cms-social-layout-2 .cms-social-icon {
  border-radius: 8px;
}
.cms-social-layout-2 .cms-social-link .cms-social-icon {
  background: var(--cms-color-primary);
}
.cms-social-layout-2 .cms-social-link:hover .cms-social-icon {
  background: var(--cms-color-secondary);
}
/* End CMS Social */
/* ============================ CMS Heading ============================ */
/* End CMS Heading */
/* ============================ CMS Block ============================ */
/* Layout 3 Grid Styles */
.cms-blog-grid-layout-3-container {
  display: flex;
  gap: 70px;
  align-items: start;
}
/* Main Column */
.cms-blog-grid-layout-3-container .cms-blog-grid-main-column {
  flex: 0 0 calc(50% + 20px);
}
/* Sidebar Column */
.cms-blog-grid-layout-3-container .cms-blog-grid-sidebar-column {
  display: grid;
  gap: 40px;
}
.cms-blog-grid-layout-3-container .cms-blog-grid-sidebar-item {
  flex: 1;
}
.cms-blog-grid-layout-3-container .cms-blog-grid-sidebar-item:not(:last-child):after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--cms-color-divider);
}
.cms-blog-grid-image {
  object-fit: cover;
  aspect-ratio: 1.7277486911;
}
.cms-blog-grid-layout-3-container .cms-blog-grid-image-small img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 768.02px) {
  .cms-blog-grid-layout-3-container .cms-blog-grid-main-column, .cms-blog-grid-layout-3-container .cms-blog-grid-sidebar-column {
    position: sticky;
    top: 0;
  }
}
@media (max-width: 1024px) {
  .cms-blog-grid-layout-3-container {
    gap: 40px;
  }
  .cms-blog-grid-layout-3-container .cms-blog-grid-main-column {
    flex: 0 0 calc(40% + 20px);
  }
}
/* Responsive: 768px and below */
@media (max-width: 768px) {
  .cms-blog-grid-layout-3-container .cms-blog-grid-main-column {
    flex: 0 0 100%;
  }
}
/* End CMS Block */
/* ============================ CMS Fancy Box ============================ */
.cms-fancy-box:not(.cms-fancy-box-layout-4):hover .cms-fancy-box-icon {
  background: var(--cms-color-primary);
}
.cms-fancy-box:not(.cms-fancy-box-layout-4):hover .cms-fancy-box-icon svg {
  scale: 1.08;
}
.cms-fancy-box:not(.cms-fancy-box-layout-4):hover .cms-fancy-box-icon svg path {
  fill: #fff;
}
.cms-fancy-box:not(.cms-fancy-box-layout-4):hover .cms-fancy-box-image img {
  transform: scale(1.05);
}
.cms-fancy-box-layout-1 .cms-fancy-box-icon {
  width: 88px;
  height: 88px;
}
.cms-fancy-box-layout-1 .cms-fancy-box-icon svg {
  width: 48px;
  height: auto;
}
.cms-fancy-box-layout-2 {
  border: 1px solid var(--cms-color-divider);
}
.cms-fancy-box-layout-2 .cms-fancy-box-icon {
  width: 88px;
  height: 88px;
}
.cms-fancy-box-layout-2 .cms-fancy-box-icon svg {
  width: 48px;
  height: auto;
}
.cms-fancy-box-layout-2 .cms-fancy-box-icon svg path {
  fill: url(#icon_gradient);
}
.cms-fancy-box-layout-3 .cms-fancy-box-icon {
  width: 64px;
  height: 64px;
  background: var(--cms-background-color-primary-light);
  border-radius: 50%;
  margin-bottom: 8px;
}
.cms-fancy-box-layout-3 .cms-fancy-box-icon svg {
  width: 32px;
  height: auto;
  max-height: 32px;
}
.cms-fancy-box-layout-3 .cms-fancy-box-icon svg path {
  fill: url(#icon_gradient);
}
.cms-fancy-box-layout-3 .cms-fancy-box-title {
  display: grid;
  gap: 32px;
}
.cms-fancy-box-layout-3 .cms-fancy-box-title:after {
  content: "";
  width: 100%;
  height: 1px;
  background: rgba(var(--cms-color-divider-rgb), 0.5);
}
.cms-fancy-box-layout-3:hover {
  background: linear-gradient(142.13deg, rgba(254, 248, 255, 0.5) 1.8%, rgba(254, 248, 255, 0) 99.75%);
}
.cms-fancy-box-layout-4 {
  border: 1px solid var(--cms-color-divider-light);
}
.cms-fancy-box-layout-4 .cms-fancy-box-icon {
  width: 22px;
  height: 22px;
  border: 2px solid #fff;
}
.cms-fancy-box-layout-4 .cms-fancy-box-sub-title {
  width: 42px;
  height: 42px;
  background: var(--cms-color-sub-on-dark);
  border-radius: 8px;
}
.cms-item-effect-active .cms-fancy-box-layout-4 .cms-fancy-box-icon {
  border: 2px solid var(--cms-color-primary);
}
.cms-item-effect-active .cms-fancy-box-layout-4 .cms-fancy-box-icon::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--cms-color-primary);
}
.cms-fancy-box-layout-5 .cms-fancy-box-icon-wrap {
  border: 1px solid var(--cms-color-divider);
  padding: 8px;
}
.cms-fancy-box-layout-5 .cms-fancy-box-icon-wrap svg {
  width: 40px;
  height: auto;
}
.cms-fancy-box-layout-5 .cms-fancy-box-icon-wrap svg path {
  fill: url(#icon_gradient);
}
.cms-fancy-box-layout-6 .cms-fancy-box-icon svg {
  width: 48px;
  height: auto;
}
.cms-fancy-box-layout-6 .cms-fancy-box-icon svg path {
  fill: url(#icon_gradient);
}
.cms-fancy-box-layout-7 .cms-fancy-box-icon svg {
  width: 100%;
  height: auto;
}
.cms-fancy-box-layout-7:hover .cms-fancy-box-icon {
  padding: 16px;
  border-radius: 50%;
}
.cms-fancy-box-layout-8 .cms-fancy-box-image {
  object-fit: cover;
  aspect-ratio: 1.3052631579;
}
.cms-fancy-box-layout-8 .cms-fancy-box-content-text {
  min-width: 300px;
}
@media (min-width: 768px) {
  .cms-fancy-box-layout-8 .cms-fancy-box-content-text {
    padding-inline-end: 70px;
  }
}
.cms-fancy-box-layout-9:hover .cms-fancy-box-image-wrap {
  background: var(--cms-color-primary);
}
/* End CMS Fancy Box */
/* ============================ Item Effect ============================ */
.cms-item-effect-zoom {
  /* Active State - 1.5x larger */
}
.cms-item-effect-zoom.cms-item-effect-content {
  flex: 1 !important;
  overflow: hidden !important;
  transition: flex 0.4s ease, background 0.3s ease !important;
  cursor: pointer !important;
}
.cms-item-effect-zoom .cms-fancy-box-description {
  opacity: 0 !important;
  transition: max-height 0.4s ease, opacity 0.3s ease !important;
}
.cms-item-effect-zoom.cms-item-effect-content.cms-item-effect-active {
  flex: 1.5 !important;
}
.cms-item-effect-zoom.cms-item-effect-content.cms-item-effect-active .cms-fancy-box-description {
  opacity: 1 !important;
}
/* End Item Effect */
/* ============================ CMS Banner ============================ */
.cms-banner {
  min-height: 320px;
}
.cms-banner-layout-2 .cms-banner-image-small {
  max-height: 70%;
}
@media (min-width: 1600px) {
  .cms-banner-layout-2 .cms-banner-content-wrapper {
    left: 0;
    transform: translateX(-50%);
  }
}
@media (min-width: 1600px) {
  .rtl .cms-banner-layout-2 .cms-banner-content-wrapper {
    transform: translateX(50%);
  }
}
.cms-banner-layout-3 .cms-banner-text {
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background-color: var(--cms-color-primary);
  padding: 40px 24px;
  color: #fff;
  align-items: center;
  transform: translateY(-50%);
}
.cms-banner-layout-4 .cms-banner-icon {
  width: 104px;
  height: 104px;
  border-radius: 50%;
  background-color: #fff;
}
.cms-banner-layout-4 .cms-banner-icon svg {
  width: 56px;
  height: auto;
}
.cms-banner-layout-4 .cms-banner-content-wrapper {
  max-width: 230px;
  max-height: 320px;
  background: linear-gradient(142.13deg, rgba(254, 248, 255, 0.189) 1.8%, rgba(254, 248, 255, 0) 99.75%);
  backdrop-filter: blur(43.9804px);
}
.cms-banner-layout-4 .cms-banner-image {
  max-height: 700px;
  object-fit: cover;
}
.cms-banner-layout-5 .cms-banner-icon {
  width: 104px;
  height: 104px;
  border-radius: 50%;
  background-color: #fff;
}
.cms-banner-layout-5 .cms-banner-icon svg {
  width: 56px;
  height: auto;
}
.cms-banner-layout-5 .cms-banner-content-wrapper {
  max-width: 230px;
  max-height: 320px;
  background: linear-gradient(142.13deg, rgba(254, 248, 255, 0.189) 1.8%, rgba(254, 248, 255, 0) 99.75%);
  backdrop-filter: blur(43.9804px);
}
.cms-banner-layout-6 .cms-banner-icon svg {
  width: 56px;
  height: auto;
}
.cms-banner-layout-6 .cms-banner-content-wrapper {
  max-width: 290px;
  background: linear-gradient(142.13deg, rgba(254, 248, 255, 0.189) 1.8%, rgba(254, 248, 255, 0) 99.75%);
  backdrop-filter: blur(43.9804px);
}
.cms-banner-layout-7 .cms-banner-icon {
  width: 140px;
  height: 140px;
  background-color: #fff;
  opacity: 0.9;
}
.cms-banner-layout-7 .cms-banner-icon svg {
  width: 48px;
  height: auto;
}
.cms-banner-layout-7 .cms-banner-icon svg path {
  fill: url(#icon_gradient);
}
.cms-banner-layout-8 .cms-banner-content-wrapper {
  min-width: 220px;
  max-width: 80%;
}
.cms-banner-layout-9 .cms-banner-content {
  background: linear-gradient(142.13deg, rgba(254, 248, 255, 0.189) 1.8%, rgba(254, 248, 255, 0) 99.75%);
  backdrop-filter: blur(43.9804px);
}
.cms-banner-layout-9 .cms-banner-icon {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background-color: #fff;
  border: 8px solid var(--cms-color-sub-on-dark);
}
.cms-banner-layout-9 .cms-banner-icon svg {
  width: 40px;
  height: auto;
}
/* End CMS Banner */
/* ============================ CMS Pricing ============================ */
.cms-pricing .cms-pricing-feature-icon svg {
  width: 8px;
  height: auto;
}
.cms-pricing .cms-pricing-feature-icon {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  padding: 6px;
  color: var(--cms-color-sub);
  background-color: var(--cms-background-color-white-light);
  transition: all 300ms linear 0ms;
}
.cms-pricing .cms-pricing-feature-icon svg {
  width: 100%;
  height: auto;
}
.cms-pricing .feature-item-no .cms-pricing-feature-title {
  color: var(--cms-color-stroke-dark);
}
/* End CMS Pricing */
/* ============================ CMS Post Feature ============================ */
.cms-post-feature-3 .cms-post-feature-image-wrapper-3:before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(-100% - 32px);
  width: 100%;
  height: 100%;
  background-color: var(--cms-color-secondary);
}
.cms-post-feature-3 .cms-post-feature-image-wrapper-3:after {
  content: "";
  position: absolute;
  top: 0;
  left: calc(100% + 32px);
  width: 100%;
  height: 100%;
  background-color: var(--cms-color-secondary);
}
.cms-post-feature-3 .cms-post-feature-image-wrapper-3 img, .cms-post-feature-3 .cms-post-feature-image-wrapper-3:after, .cms-post-feature-3 .cms-post-feature-image-wrapper-3:before {
  border-radius: inherit;
}
/* End CMS Post Feature */
/* ============================ CMS List ============================ */
.cms-icon-list-icon {
  border-radius: 50%;
  background-color: var(--cms-background-color-secondary);
  padding: 6px;
  transition: all 300ms linear 0ms;
}
.cms-icon-list-icon svg {
  width: 8px;
  height: 8px;
}
.cms-icon-list-layout-1 .cms-icon-list-text .cms-icon-list-icon {
  color: var(--cms-color-primary);
  background-color: var(--cms-background-color-white-light);
}
.cms-icon-list-layout-1 .cms-icon-list-text:hover .cms-icon-list-icon {
  color: #fff;
  background-color: var(--cms-color-primary);
}
.cms-icon-list-layout-2 .cms-icon-list-text {
  position: relative;
}
.cms-icon-list-layout-2 .cms-icon-list-text .cms-icon-list-icon {
  color: #fff;
  background-color: var(--cms-color-primary);
  transition: all 300ms linear 0ms;
}
.cms-icon-list-layout-2 .cms-icon-list-text:hover .cms-icon-list-icon {
  color: var(--cms-color-primary);
  background-color: var(--cms-color-secondary);
}
.cms-icon-list-layout-2 .cms-icon-list-text:not(:last-child) {
  padding-bottom: 13px;
}
.cms-icon-list-layout-2 .cms-icon-list-text:not(:last-child):after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--cms-color-divider);
}
.cms-icon-list-layout-3 {
  counter-reset: section;
}
.cms-icon-list-layout-3 .cms-icon-list-text {
  position: relative;
  counter-increment: item;
  padding-bottom: 28px;
}
.cms-icon-list-layout-3 .cms-icon-list-text:before {
  content: counter(item,decimal-leading-zero) ".";
  color: var(--cms-color-primary);
}
.cms-icon-list-layout-3 .cms-icon-list-text:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: var(--cms-color-divider-dark);
}
/* End CMS List */
/* ============================ CMS Service ============================ */
.cms-service-layout-1 .cms-service-image:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--cms-color-white);
  border-radius: inherit;
  z-index: 1;
  transition: background-color 0.3s ease;
}
.cms-service-layout-1 .cms-service-item:hover .cms-service-image:before {
  background-color: rgba(255, 255, 255, 0.8);
}
.cms-service-layout-1-1 .cms-service-image:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--cms-color-sub);
  border-radius: inherit;
  z-index: 1;
  transition: background-color 0.3s ease;
}
.cms-service-layout-1-1 .cms-service-item:hover .cms-service-image:before {
  background-color: rgba(var(--cms-color-secondary-rgb), 0.1);
}
.cms-service-layout-3 .cms-background-ovelay-above-image:before {
  background-color: var(--cms-color-sub);
  transition: background-color 0.3s ease;
}
.cms-service-layout-3 .cms-service-item:hover .cms-background-ovelay-above-image:before {
  background-color: rgba(var(--cms-color-secondary-rgb), 0.1);
}
/* End CMS Service */
/* ============================ CMS Career ============================ */
.cms-career-layout-1 .cms-career-job-meta-item:first-child {
  background-color: var(--cms-background-color-primary-light);
  border-radius: 13px;
  padding: 3px 10px;
}
.cms-career-layout-1 .d-grid {
  display: grid !important;
}
/* End CMS Career */
/* ============================ CMS Video Player ============================ */
.cms-video-player svg {
  width: 20px;
  height: 20px;
}
.cms-video-player:hover .cms-video-icon {
  background-color: var(--cms-color-primary) !important;
  color: #fff !important;
}
.cms-video-player:hover .cms-video-text {
  color: var(--cms-color-primary) !important;
}
/* End CMS Video Player */
/* ============================ CMS Accordion ============================ */
.cms-accordion .cms-accordion-item {
  border-bottom: 1px solid var(--cms-color-divider);
}
.cms-accordion .cms-accordion-item:first-child {
  border-top: 1px solid var(--cms-color-divider);
}
.cms-accordion .cms-accordion-item .plus {
  transform: rotate(90deg);
}
.cms-accordion .cms-accordion-item.active .cms-accordion-toggle {
  background-color: var(--cms-color-primary) !important;
}
.cms-accordion .cms-accordion-item.active .cms-accordion-toggle-line {
  background-color: currentColor;
}
.cms-accordion .cms-accordion-item.active .cms-accordion-toggle-line.plus {
  transform: rotate(0deg);
}
.cms-accordion .cms-accordion-toggle {
  width: 32px;
  height: 32px;
  background-color: var(--cms-color-menu);
}
.cms-accordion .cms-accordion-toggle-icon {
  width: 14px;
  height: 14px;
}
.cms-accordion .cms-accordion-toggle-line {
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  left: 0;
  top: 50%;
  border-radius: 1px;
}
.cms-accordion.cms-accordion-layout-1 .cms-accordion-content {
  padding-inline-end: 56px;
}
.cms-accordion.cms-accordion-layout-2 .cms-accordion-content {
  padding-inline-start: 56px;
}
/* End CMS Accordion */
/* ============================ CMS Download ============================ */
.cms-download .cms-download-icon {
  width: 88px;
  border-inline-end: 1px solid var(--cms-color-divider);
}
/* End CMS Download */
/* ============================ CMS Testimonials ============================ */
.cms-testimonial-rating span {
  line-height: 1;
  display: inline-block;
}
.cms-testimonial-rating .star-full {
  color: #F37806;
}
.cms-testimonial-rating .star-half {
  background: linear-gradient(to right, #F37806 50%, #D3D3D3 50%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.cms-testimonial-rating .star-empty {
  color: #D3D3D3;
}
.cms-testimonials-layout-1 .cms-testimonial-image {
  max-width: 384px;
}
.cms-testimonials-layout-1 .test1-swiper-button {
  border: 1px solid currentColor;
}
.cms-testimonials-layout-1 .test1-swiper-button:hover {
  background-color: var(--cms-color-secondary);
  color: #fff;
}
.cms-testimonials-layout-2 .cms-testimonial-image {
  width: 78px;
}
.cms-testimonials-layout-2 .test1-swiper-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
.cms-testimonials-layout-2 .test1-swiper-button-prev {
  left: 8px;
}
.cms-testimonials-layout-2 .test1-swiper-button-next {
  right: 8px;
}
.cms-testimonials-layout-3 .cms-testimonial-item {
  border: 1px solid var(--cms-color-divider);
}
.cms-testimonials-layout-3 .cms-testimonial-item:hover {
  background-color: var(--cms-background-color-primary-light);
}
.cms-testimonials-layout-3 .cms-testimonial-item:hover .cms-testimonial-icon {
  color: var(--cms-color-divider-light);
}
.cms-testimonials-layout-3 .cms-testimonial-image {
  width: 88px;
}
.cms-testimonials-layout-3 .cms-testimonial-icon {
  width: 72px;
  height: 72px;
  right: 0;
  bottom: 0;
  z-index: -1;
}
/* End CMS Testimonials */
/* ============================ CMS Teams ============================ */
.cms-teams-layout-1 .cms-team-item:hover .cms-team-social, .cms-teams-layout-2 .cms-team-item:hover .cms-team-social {
  bottom: 10px;
}
/* End CMS Teams */
/* ============================ CMS Awards ============================ */
.cms-awards .cms-img-cursor {
  position: relative;
  cursor: pointer;
}
.cms-awards .cms-cursor-pointer {
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  opacity: 0;
  transition: opacity 0.3s ease-out;
  pointer-events: none;
  z-index: 100;
  will-change: top, left;
}
.cms-awards .cms-cursor-pointer.zoomOut {
  transform: scale(0);
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease-out;
}
.cms-awards .cms-img-cursor:hover .cms-cursor-pointer {
  opacity: 1;
  transform: scale(1);
}
.cms-awards .cms-cursor--pointer {
  position: relative;
  display: inline-block;
  vertical-align: top;
  width: auto;
  transform: translate3d(-50%, -100%, 0);
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
  background: #fff;
}
.cms-awards .cms-cursor--pointer img {
  display: block;
  max-width: 240px;
  max-height: 269px;
  width: auto;
  height: auto;
  object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.cms-awards .cms-img-cursor:hover .cms-cursor--pointer img {
  transform: scale(1.1);
}
.cms-awards .cms-award-item:hover {
  background-color: var(--cms-color-primary);
  padding-inline-start: 24px;
  padding-inline-end: 24px;
}
.cms-awards .cms-award-item:hover .cms-award-item-number, .cms-awards .cms-award-item:hover .cms-award-item-title, .cms-awards .cms-award-item:hover .cms-award-item-desc, .cms-awards .cms-award-item:hover .cms-award-item-year {
  color: var(--cms-color-white);
}
.cms-awards-layout-2 .cms-awards-list {
  width: 520px;
}
@media (max-width: 767px) {
  .cms-awards-layout-2 .cms-awards-list {
    width: 100%;
  }
}
/* End CMS Awards */
/* ============================ CMS Portfolio ============================ */
.cms-portfolio-item .cms-portfolio-link {
  bottom: -120px;
}
.cms-portfolio-item:hover .cms-portfolio-link {
  bottom: 0;
}
.cms-portfolio-layout-3 {
  /* Pattern 1: 6 - 4 */
  /* Pattern 2: full width */
  /* Pattern 3: 4 - 6 */
  /* Pattern 4: 5 - 5 */
}
.cms-portfolio-layout-3 .cms-portfolio-grid {
  display: grid;
  grid-template-columns: repeat(10, 1fr) !important;
}
@media (min-width: 1600px) {
  .cms-portfolio-layout-3 .cms-portfolio-grid {
    gap: 176px !important;
  }
}
.cms-portfolio-layout-3 .cms-portfolio-grid > *:nth-child(7n + 1) {
  grid-column: span 6;
}
.cms-portfolio-layout-3 .cms-portfolio-grid > *:nth-child(7n + 2) {
  grid-column: span 4;
}
.cms-portfolio-layout-3 .cms-portfolio-grid > *:nth-child(7n + 3) {
  grid-column: 3 / span 6;
}
.cms-portfolio-layout-3 .cms-portfolio-grid > *:nth-child(7n + 4) {
  grid-column: span 4;
}
.cms-portfolio-layout-3 .cms-portfolio-grid > *:nth-child(7n + 5) {
  grid-column: span 6;
}
.cms-portfolio-layout-3 .cms-portfolio-grid > *:nth-child(7n + 6), .cms-portfolio-layout-3 .cms-portfolio-grid > *:nth-child(7n + 7) {
  grid-column: span 5;
}
.cms-portfolio-layout-4 .portfolio-accordion {
  --full-height: 736px;
  --small-height: 186px;
  --overlap: 20px;
  display: flex;
  flex-direction: column;
  width: 100%;
}
.cms-portfolio-layout-4 .portfolio-accordion .cms-portfolio-item {
  position: relative;
  height: var(--small-height);
  margin-top: calc(var(--overlap) * -1);
  border-radius: 12px;
  overflow: hidden;
  transition: height 0.45s ease, transform 0.45s ease;
  cursor: pointer;
}
.cms-portfolio-layout-4 .portfolio-accordion .cms-portfolio-item:first-child {
  margin-top: 0;
}
.cms-portfolio-layout-4 .portfolio-accordion .cms-portfolio-item.active, .cms-portfolio-layout-4 .portfolio-accordion .cms-portfolio-item:hover {
  height: auto;
  z-index: 10;
}
/* End CMS Portfolio */
/* ============================ CMS Customers ============================ */
.cms-customers-layout-3 {
  --sticky-gap: 190px;
  position: relative;
}
.cms-customers-layout-3 .cms-customer-item {
  position: sticky;
  top: calc(var(--sticky-gap) * var(--i));
}
.cms-customers-layout-3 .cms-customer-item:first-child {
  top: 0 !important;
}
.cms-customers-layout-4 {
  --sticky-gap: 132px;
  position: relative;
}
.cms-customers-layout-4 .cms-customer-item {
  position: sticky;
  top: calc(var(--sticky-gap) * var(--i));
}
.cms-customers-layout-4 .cms-customer-item:first-child {
  top: 0 !important;
}
.cms-customers-layout-4 .cms-customer-title {
  padding-inline-end: 80px;
}
@media (max-width: 767px) {
  .cms-customers-layout-4 .cms-customer-title {
    padding-inline-end: 0;
  }
}
@media (max-width: 680px) {
  .cms-customer-item {
    flex-wrap: wrap;
  }
  .cms-customer-content {
    padding: 24px !important;
  }
}
/* End CMS Customers */
/* ============================ CMS Case ============================ */
@media (max-width: 767px) {
  .cms-case-grid {
    grid-template-columns: repeat(var(--columns-mobile), 1fr) !important;
    gap: var(--row-gap-mobile) var(--column-gap-mobile) !important;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .cms-case-grid {
    grid-template-columns: repeat(var(--columns-tablet), 1fr) !important;
    gap: var(--row-gap-tablet) var(--column-gap-tablet) !important;
  }
}
.cms-case .cms-case-filter-item {
  position: relative;
  padding-bottom: 8px;
}
.cms-case .cms-case-filter-item.active:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(69.88deg, var(--cms-color-primary) 2.47%, var(--cms-color-menu) 98.44%);
}
.cms-case-layout-2 .cms-case-item-inner {
  height: calc(100% - 40px);
}
.cms-case-layout-3 .cms-case-link-icon {
  width: 0;
  height: 0;
  opacity: 0;
}
.cms-case-layout-3 .cms-case-item:hover .cms-case-link-icon {
  width: 88px;
  height: 88px;
  opacity: 1;
}
/* End CMS Case */
/* ============================ CMS Icon ============================ */
.cms-icon-inner svg {
  display: block;
  width: 1em;
  height: 1em;
  fill: currentColor;
  transition: fill 0.25s ease;
}
.cms-icon-inner i {
  font-size: inherit;
  line-height: 1;
  display: block;
}
.cms-icon-box:hover {
  text-decoration: none;
}
.cms-color-gradient svg path, .cms-color-gradient-hover svg path {
  fill: url(#icon_gradient);
}
/* End CMS Icon */
/* ============================ CMS Counter ============================ */
.cms-counter-layout-3 .cms-counter-thumb {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  border-radius: 50%;
  border: 2px solid var(--cms-background-color-body, #fff);
}
.cms-counter-layout-3 .cms-counter-thumb:not(:first-child) {
  margin-inline-start: -12px;
}
.cms-counter-layout-3 .cms-counter-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.cms-counter-layout-4 {
  min-height: 192px;
}
.cms-counter-layout-4 .cms-counter-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.cms-counter-layout-4 .cms-counter-logo {
  max-width: 120px;
}
.cms-counter-layout-4 .cms-counter-logo img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
}
.cms-counter-layout-4 .cms-counter-thumb {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  border-radius: 50%;
}
.cms-counter-layout-4 .cms-counter-thumb:not(:first-child) {
  margin-inline-start: -12px;
}
.cms-counter-layout-4 .cms-counter-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.cms-counter-layout-4 .cms-counter-thumb {
  background: #fff;
  color: var(--cms-color-primary);
}
/* End CMS Counter */
/* ============================ CMS Gallery ============================ */
.cms-gallery-grid {
  display: grid;
  grid-template-columns: repeat(var(--cms-gallery-columns, 3), 1fr);
  gap: 20px;
  width: 100%;
}
.cms-gallery-item.cms-gallery-item-hidden {
  display: none;
}
.cms-gallery-item.cms-gallery-item-loading {
  opacity: 0;
  transform: scale(0.95);
}
.cms-gallery-link:hover .cms-gallery-image {
  transform: scale(1.05);
}
.cms-gallery-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(var(--cms-color-primary-rgb), 0.6);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 2;
}
.cms-gallery-link:hover .cms-gallery-overlay {
  opacity: 1;
  visibility: visible;
}
.cms-gallery-icon {
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background-color: var(--cms-color-primary, #000);
  transition: background-color 0.3s ease, transform 0.3s ease;
}
.cms-gallery-link:hover .cms-gallery-icon {
  background-color: var(--cms-color-white, #fff);
  transform: scale(1.1);
}
.cms-gallery-icon svg {
  width: 24px;
  height: 24px;
}
.cms-gallery-load-more-btn.cms-loading {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}
.cms-gallery-load-more-wrapper.cms-hidden {
  display: none;
}
.cms-gallery-empty {
  padding: 60px 20px;
  text-align: center;
  color: #6c757d;
  font-size: 16px;
  background-color: #f8f9fa;
  border-radius: 8px;
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.cms-gallery-item.cms-gallery-item-animate {
  animation: fadeInUp 0.4s ease forwards;
}
/* Reduce repaints - contain layout calculations */
.cms-gallery-item {
  contain: layout style paint;
}
/* Lighthouse optimization: Use content-visibility for off-screen items */
.cms-gallery-item-hidden {
  content-visibility: auto;
  contain-intrinsic-size: 0 400px;
  /* Estimated size for layout */
}
/* Optimize for touch devices */
@media (hover: none) {
  .cms-gallery-link:active .cms-gallery-overlay {
    opacity: 1;
  }
}
/* Prefers reduced motion - Accessibility */
@media (prefers-reduced-motion: reduce) {
  .cms-gallery-item, .cms-gallery-image, .cms-gallery-overlay, .cms-gallery-icon, .cms-gallery-load-more-btn {
    transition: none;
    animation: none;
  }
}
.elementor-element .swiper .elementor-swiper-button, .elementor-element .swiper ~ .elementor-swiper-button, .elementor-lightbox .swiper .elementor-swiper-button, .elementor-lightbox .swiper ~ .elementor-swiper-button {
  color: rgba(237, 237, 237, 0.9);
  cursor: pointer;
  display: inline-flex;
  font-size: 25px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
.elementor-element .swiper .elementor-swiper-button svg, .elementor-element .swiper ~ .elementor-swiper-button svg, .elementor-lightbox .swiper .elementor-swiper-button svg, .elementor-lightbox .swiper ~ .elementor-swiper-button svg {
  fill: rgba(237, 237, 237, 0.9);
  height: 1em;
  width: 1em;
}
/* End CMS Gallery */
/* ============================ CMS Google Map ============================ */
.cms-google-map-accordion {
  /* Icon animation */
}
.cms-google-map-accordion .cms-accordion-title.active .cms-accordion-icon {
  background-color: var(--cms-color-secondary);
  color: #fff;
}
.cms-google-map-accordion .cms-accordion-icon {
  border: 1px solid var(--cms-color-secondary);
  border-radius: 50%;
}
.cms-google-map-accordion .cms-accordion-title .icon-minus {
  opacity: 0;
}
.cms-google-map-accordion .cms-accordion-title .icon-plus {
  opacity: 1;
}
.cms-google-map-accordion .cms-accordion-title.active .icon-minus {
  opacity: 1;
}
.cms-google-map-accordion .cms-accordion-title.active .icon-plus {
  opacity: 0;
}
/* End CMS Google Map */
/* ============================ CMS Contact ============================ */
.cms-contact-layout-2 .contact-item:not(:last-child):after {
  content: "";
  width: 1px;
  height: 12px;
  background-color: var(--cms-color-divider-dark);
  margin-inline-start: 10px;
}
/* End CMS Contact */
/* ============================ CMS Contact Form ============================ */
.cms-contact-form .wpcf7-form {
  margin: 0;
}
.cms-contact-form p, .cms-contact-form input, .cms-contact-form textarea, .cms-contact-form label {
  width: 100%;
}
.cms-contact-form label {
  color: var(--cms-color-heading);
}
.cms-contact-form .wpcf7-not-valid-tip {
  font-size: 14px;
  font-style: italic;
}
.cms-contact-form textarea {
  height: 112px;
}
@media (max-width: 768px) {
  .cms-contact-form.cms-contact-form-layout-1 .cms-contact-form-wrapper {
    padding: 56px 16px;
  }
}
.cms-contact-form .wpcf7-checkbox span {
  margin: 0;
}
.cms-contact-form .wpcf7-checkbox label {
  display: flex;
  align-items: center;
  gap: 16px;
}
.cms-contact-form .wpcf7-checkbox label input[type="checkbox"] {
  width: 24px;
  height: 24px;
  margin: 0;
}
.cms-contact-form .wpcf7-response-output {
  border-color: var(--cms-color-stroke) !important;
  border-radius: 16px;
}
.form-color-black .wpcf7-form input, .form-color-black .wpcf7-form textarea, .form-color-black .wpcf7-form select {
  background: var(--cms-background-color-white-light);
}
.form-color-white .cms-contact-form-title {
  color: #fff;
}
.form-color-white .cms-contact-form-description {
  color: var(--cms-color-sub-on-dark);
}
.form-color-white .wpcf7-form input, .form-color-white .wpcf7-form textarea, .form-color-white .wpcf7-form select {
  color: var(--cms-color-sub-on-dark);
  border-color: var(--cms-color-divider-light);
}
.form-color-white .wpcf7-form label {
  color: var(--cms-color-sub-on-dark);
}
.form-color-white .wpcf7-form input::placeholder, .form-color-white .wpcf7-form textarea::placeholder, .form-color-white .wpcf7-form select::placeholder {
  color: #fff;
}
.form-color-white .wpcf7-form input:hover, .form-color-white .wpcf7-form textarea:hover, .form-color-white .wpcf7-form select:hover, .form-color-white .wpcf7-form input:focus, .form-color-white .wpcf7-form textarea:focus, .form-color-white .wpcf7-form select:focus {
  border-color: var(--cms-color-white);
}
/* End CMS Contact Form */
/* ============================ CMS Portfolio Feature ============================ */
.cms-portfolio-feature-layout-1 .cms-portfolio-feature-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 767px) {
  .cms-portfolio-feature-layout-1 .cms-portfolio-feature-list {
    grid-template-columns: 1fr;
  }
}
.cms-portfolio-feature-layout-2 .cms-portfolio-feature-item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
/* End CMS Portfolio Feature */
.cms-post-category-inner {
  border: 1px solid var(--cms-color-heading);
  border-radius: 8px;
  padding: 8px 10px;
}
.cms-post-category-inner:hover {
  border: 1px solid var(--cms-color-primary);
}
.cms-post-category-inner a {
  color: var(--cms-color-heading);
}
.main-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.main-navigation ul .sub-menu {
  display: none;
}
@media (min-width: 1200.02px) {
  .btn-nav-mobile {
    display: none;
  }
  .primary-menu {
    display: flex;
    gap: 32px;
  }
  .primary-menu li {
    position: relative;
  }
  .primary-menu li > a {
    font-size: 14px;
    font-weight: bold;
    line-height: 1.143;
    color: var(--cms-color-menu);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .primary-menu > li {
    display: flex;
    align-items: center;
    height: var(--header-height);
  }
  .primary-menu > li:hover > a, .primary-menu > li.current_page_item > a, .primary-menu > li.current-menu-item > a, .primary-menu > li.current_page_ancestor > a, .primary-menu > li.current-menu-ancestor > a {
    color: var(--cms-color-primary);
  }
  .primary-menu > li > a {
    color: var(--cms-color-menu);
    position: relative;
  }
  .primary-menu > li:last-child a {
    padding-inline-end: 0;
  }
  .primary-menu > li > ul.back {
    right: 0 !important;
    left: auto !important;
  }
  .primary-menu > li > ul.back li > ul.back {
    right: 100% !important;
    left: auto !important;
  }
  .primary-menu > li > .sub-menu li > ul.back {
    right: 100% !important;
    left: auto !important;
  }
  .primary-menu > li .sub-megamenu.back {
    left: auto;
    right: 0;
  }
  .primary-menu > li .main-menu-toggle {
    -webkit-transition: all 300ms linear 0ms;
    -khtml-transition: all 300ms linear 0ms;
    -moz-transition: all 300ms linear 0ms;
    -ms-transition: all 300ms linear 0ms;
    -o-transition: all 300ms linear 0ms;
    transition: all 300ms linear 0ms;
  }
  .primary-menu > li .main-menu-toggle.active {
    transform: rotate(-180deg);
  }
  .primary-menu .sub-menu {
    position: absolute;
    padding: 24px 40px;
    background: #fff;
    box-shadow: 0px 4px 24px rgba(27, 26, 26, 0.12);
    border-radius: 12px;
    top: 100%;
    left: 0;
    min-width: 286px;
    z-index: 1000;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: all 300ms linear 0ms;
    -khtml-transition: all 300ms linear 0ms;
    -moz-transition: all 300ms linear 0ms;
    -ms-transition: all 300ms linear 0ms;
    -o-transition: all 300ms linear 0ms;
    transition: all 300ms linear 0ms;
  }
  .primary-menu .sub-menu li {
    position: relative;
  }
  .primary-menu .sub-menu li:not(:last-child)::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: var(--cms-color-divider);
    height: 1px;
  }
  .primary-menu .sub-menu li:not(:last-child)::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1px;
    -webkit-transition: all 300ms linear 0ms;
    -khtml-transition: all 300ms linear 0ms;
    -moz-transition: all 300ms linear 0ms;
    -ms-transition: all 300ms linear 0ms;
    -o-transition: all 300ms linear 0ms;
    transition: all 300ms linear 0ms;
    background: var(--cms-color-primary);
  }
  .primary-menu .sub-menu li:hover:not(:last-child)::after, .primary-menu .sub-menu li.current_page_item:not(:last-child)::after, .primary-menu .sub-menu li.current-menu-item:not(:last-child)::after, .primary-menu .sub-menu li.current_page_ancestor:not(:last-child)::after, .primary-menu .sub-menu li.current-menu-ancestor:not(:last-child)::after {
    width: 100%;
  }
  .primary-menu .sub-menu li:hover > a, .primary-menu .sub-menu li.current_page_item > a, .primary-menu .sub-menu li.current-menu-item > a, .primary-menu .sub-menu li.current_page_ancestor > a, .primary-menu .sub-menu li.current-menu-ancestor > a {
    color: var(--cms-color-primary);
  }
  .primary-menu .sub-menu li:hover > a .submenu-arrow, .primary-menu .sub-menu li.current_page_item > a .submenu-arrow, .primary-menu .sub-menu li.current-menu-item > a .submenu-arrow, .primary-menu .sub-menu li.current_page_ancestor > a .submenu-arrow, .primary-menu .sub-menu li.current-menu-ancestor > a .submenu-arrow {
    visibility: visible;
    opacity: 1;
    transform: translate(0, 0);
    margin-inline-start: 0;
  }
  .primary-menu .sub-menu li a {
    padding: 13px 0;
    position: relative;
  }
  .primary-menu .sub-menu li:last-child > a {
    border-bottom: none;
  }
  .primary-menu .sub-menu .sub-menu {
    top: 0;
    left: 100%;
  }
  .primary-menu .sub-menu .submenu-arrow {
    margin-inline-start: -18px;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: all 300ms linear 0ms;
    -khtml-transition: all 300ms linear 0ms;
    -moz-transition: all 300ms linear 0ms;
    -ms-transition: all 300ms linear 0ms;
    -o-transition: all 300ms linear 0ms;
    transition: all 300ms linear 0ms;
    transform: translate(-18px, 0);
  }
  .primary-menu .sub-menu.submenu-open {
    visibility: visible !important;
    opacity: 1 !important;
    display: block !important;
  }
  .primary-menu .sub-menu .main-menu-toggle {
    margin-inline-start: auto;
    transform: rotate(-90deg) !important;
  }
  .primary-menu li:hover, .primary-menu li.focus {
    overflow: visible;
  }
  .primary-menu li:hover > .sub-menu, .primary-menu li.focus > .sub-menu {
    display: block !important;
    visibility: visible;
    opacity: 1;
  }
  .primary-menu li:hover > a:before, .primary-menu li.focus > a:before {
    width: 100%;
    opacity: 1;
  }
  .primary-menu li:hover:after, .primary-menu li.focus:after {
    width: 100%;
    opacity: 1;
  }
}
@media (max-width: 1200px) {
  .cms-header > div {
    position: relative;
  }
  .btn-nav-mobile {
    display: block;
    width: 42px;
    height: 42px;
    background: var(--cms-color-secondary);
    border-radius: 50%;
    cursor: pointer;
  }
  .btn-nav-mobile:before, .btn-nav-mobile:after, .btn-nav-mobile span {
    -webkit-transition: all 300ms linear 0ms;
    -khtml-transition: all 300ms linear 0ms;
    -moz-transition: all 300ms linear 0ms;
    -ms-transition: all 300ms linear 0ms;
    -o-transition: all 300ms linear 0ms;
    transition: all 300ms linear 0ms;
    content: "";
    background-color: var(--cms-color-white);
    display: block;
    height: 2px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    width: 22px;
  }
  .btn-nav-mobile:before {
    top: 14px;
  }
  .btn-nav-mobile span {
    top: 20px;
  }
  .btn-nav-mobile:after {
    top: 26px;
  }
  .btn-nav-mobile.btn-nav-mobile-open:before {
    top: 20px;
    -webkit-transform: rotate(45deg);
    -khtml-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .btn-nav-mobile.btn-nav-mobile-open span {
    width: 0;
  }
  .btn-nav-mobile.btn-nav-mobile-open:after {
    top: 20px;
    -webkit-transform: rotate(-45deg);
    -khtml-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .primary-menu {
    list-style: none;
    width: 100%;
    position: absolute;
    left: 0;
    top: var(--header-height);
    padding: 0 20px !important;
    background: #efefef;
    display: none;
    z-index: 1000;
    border-radius: 8px;
  }
  .primary-menu.nav-mobile-open {
    display: block;
    max-height: 100vh;
    overflow-y: scroll;
  }
  .primary-menu li {
    position: relative;
    list-style: none;
  }
  .primary-menu li > a {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 10px 0;
    font-size: 15px;
    color: #1b1a1a;
    font-weight: 700;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  }
  .primary-menu li.current_page_item > a, .primary-menu li.current-menu-item > a, .primary-menu li.current_page_ancestor > a, .primary-menu li.current-menu-ancestor > a {
    color: var(--cms-color-primary);
  }
  .primary-menu .sub-menu {
    position: relative;
    padding-inline-start: 20px;
    display: none;
  }
  .primary-menu .sub-menu li {
    position: relative;
  }
  .primary-menu .sub-menu li:not(:last-child)::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: var(--cms-color-divider);
    height: 1px;
  }
  .primary-menu .sub-menu li:not(:last-child)::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1px;
    -webkit-transition: all 300ms linear 0ms;
    -khtml-transition: all 300ms linear 0ms;
    -moz-transition: all 300ms linear 0ms;
    -ms-transition: all 300ms linear 0ms;
    -o-transition: all 300ms linear 0ms;
    transition: all 300ms linear 0ms;
    background: var(--cms-color-primary);
  }
  .primary-menu .sub-menu li:hover:not(:last-child)::after, .primary-menu .sub-menu li.current_page_item:not(:last-child)::after, .primary-menu .sub-menu li.current-menu-item:not(:last-child)::after, .primary-menu .sub-menu li.current_page_ancestor:not(:last-child)::after, .primary-menu .sub-menu li.current-menu-ancestor:not(:last-child)::after {
    width: 100%;
  }
  .primary-menu .sub-menu li:hover > a .submenu-arrow, .primary-menu .sub-menu li.current_page_item > a .submenu-arrow, .primary-menu .sub-menu li.current-menu-item > a .submenu-arrow, .primary-menu .sub-menu li.current_page_ancestor > a .submenu-arrow, .primary-menu .sub-menu li.current-menu-ancestor > a .submenu-arrow {
    visibility: visible;
    opacity: 1;
    transform: translate(0, 0);
    margin-inline-start: 0;
  }
  .primary-menu .sub-menu li:hover svg path, .primary-menu .sub-menu li.current_page_item svg path, .primary-menu .sub-menu li.current-menu-item svg path, .primary-menu .sub-menu li.current_page_ancestor svg path, .primary-menu .sub-menu li.current-menu-ancestor svg path {
    fill: url(#ibg_gradient);
  }
  .primary-menu .sub-menu .submenu-arrow {
    margin-inline-start: -28px;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: all 300ms linear 0ms;
    -khtml-transition: all 300ms linear 0ms;
    -moz-transition: all 300ms linear 0ms;
    -ms-transition: all 300ms linear 0ms;
    -o-transition: all 300ms linear 0ms;
    transition: all 300ms linear 0ms;
    transform: translate(-28px, 0);
  }
  .main-menu-toggle {
    -webkit-transition: all 300ms linear 0ms;
    -khtml-transition: all 300ms linear 0ms;
    -moz-transition: all 300ms linear 0ms;
    -ms-transition: all 300ms linear 0ms;
    -o-transition: all 300ms linear 0ms;
    transition: all 300ms linear 0ms;
    cursor: pointer;
    display: inline-block;
    height: 24px;
    width: 24px;
    line-height: 24px;
    position: absolute;
    right: 0;
    text-align: center;
    top: 10px;
    background-color: var(--cms-color-secondary);
    border-radius: 2px;
    color: #fff;
  }
  .main-menu-toggle.active {
    transform: rotate(90deg);
    background-color: var(--cms-color-primary);
  }
}
.sub-megamenu h3 {
  font-size: 16px;
  color: #ccc;
  text-transform: uppercase;
  margin-bottom: 15px;
  letter-spacing: 0.2em;
}
.sub-megamenu a {
  font-size: 15px;
  color: var(--cms-color-body);
  border: none;
}
.sub-megamenu a:hover {
  color: var(--cms-color-primary);
}
.sub-megamenu .news-date {
  font-size: 10px;
  text-transform: uppercase;
  color: var(--cms-color-primary);
  font-family: Montserrat;
  line-height: 14px;
}
@media (min-width: 1200.02px) {
  .noma-mega-menu.noma-mega-menu-width-container, .noma-mega-menu.noma-mega-menu-width-fullwidth {
    position: static !important;
  }
}
.mega-menu-content {
  padding: 15px 30px;
}
.mega-menu-content .wp-block-columns:last-child {
  margin-bottom: 0;
}
.sub-megamenu-auto {
  width: auto;
  min-width: 500px;
}
.sub-megamenu-container {
  width: 100%;
  max-width: 1154px;
  left: 50% !important;
  transform: translateX(-50%) translateY(0);
}
.sub-megamenu-fullwidth {
  width: 100vw;
}
.d-flex {
  display: flex;
}
.d-flex-important {
  display: flex !important;
}
.d-flex-wrap {
  display: flex;
  flex-wrap: wrap;
}
.d-inline-flex {
  display: inline-flex;
}
.d-inline-flex-wrap {
  display: inline-flex;
  flex-wrap: wrap;
}
.flex-1 {
  flex: 1;
}
.flex-1-important {
  flex: 1 !important;
}
.d-flex-center {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.d-flex-column {
  display: flex;
  flex-direction: column;
}
.flex-direction-column {
  flex-direction: column;
}
.flex-direction-row {
  flex-direction: row;
}
.justify-content-flex-start {
  justify-content: flex-start;
}
.justify-content-flex-end {
  justify-content: flex-end;
}
.justify-content-space-between {
  justify-content: space-between;
}
.justify-content-center {
  justify-content: center;
}
.justify-content-end {
  justify-content: end;
}
.align-items-start {
  align-items: start;
}
.align-items-center {
  align-items: center;
}
.align-items-end {
  align-items: end;
}
.align-self-end {
  align-self: end;
}
.align-content-start {
  align-content: start;
}
.align-content-space-between {
  align-content: space-between;
}
.align-content-end {
  align-content: end;
}
.justify-items-center {
  justify-items: center;
}
.d-block {
  display: block;
}
.d-inline {
  display: inline;
}
.d-inline-block {
  display: inline-block;
}
.d-table {
  display: table;
}
.d-table-row {
  display: table-row;
}
.d-table-cell {
  display: table-cell;
}
.d-none {
  display: none;
}
/* Grid */
.d-grid {
  display: grid;
}
.grid-column-1 {
  grid-template-columns: auto;
}
.grid-column-1-1-5 {
  grid-template-columns: 1fr 1.5fr;
}
.grid-column-2 {
  grid-template-columns: 1fr 1fr;
}
.grid-column-3 {
  grid-template-columns: 1fr 1fr 1fr;
}
.grid-column-4 {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
.grid-gap-60-30 {
  grid-gap: 60px 30px;
}
@media screen and (max-width: 768px) {
  .mobile-grid-column-1 {
    grid-template-columns: auto;
  }
}
.gap-2 {
  gap: 2px;
}
.gap-4 {
  gap: 4px;
}
.gap-6 {
  gap: 0.375rem;
}
.gap-8 {
  gap: 0.5rem;
}
.gap-10 {
  gap: 0.625rem;
}
.gap-12 {
  gap: 0.75rem;
}
.gap-16 {
  gap: 1rem;
}
.gap-18 {
  gap: 1.125rem;
}
.gap-20 {
  gap: 1.25rem;
}
.gap-24 {
  gap: 1.5rem;
}
.gap-25 {
  gap: 25px;
}
.gap-28 {
  gap: 1.75rem;
}
.gap-30 {
  gap: 1.875rem;
}
.gap-32 {
  gap: 2rem;
}
.gap-36 {
  gap: 2.25rem;
}
.gap-40 {
  gap: 2.5rem;
}
.gap-48 {
  gap: 3rem;
}
.gap-56 {
  gap: 3.5rem;
}
.gap-64 {
  gap: 4rem;
}
.gap-72 {
  gap: 4.5rem;
}
.gap-88 {
  gap: 88px;
}
.gap-96 {
  gap: 96px;
}
.gap-0-30 {
  gap: 0 30px;
}
.gap-15-30 {
  gap: 15px 30px;
}
.gap-1rem {
  gap: 1rem;
}
.gap-1-5rem {
  gap: 1.5rem;
}
.gap-4rem-1-5rem {
  gap: 4rem 1.5rem;
}
.gap-40-176-responsive {
  gap: var(--row-gap) var(--column-gap);
  --row-gap: clamp(24px, calc(2.065vw + 15.226px), 40px);
  --column-gap: clamp(40px, calc(17.548vw + -34.581px), 176px);
}
.z-index--1 {
  z-index: -1;
}
.z-index-0 {
  z-index: 0;
}
.z-index-1 {
  z-index: 1;
}
.z-index-2 {
  z-index: 2;
}
.z-index-10 {
  z-index: 10;
}
@media (max-width: 1366px) {
  .gap-laptop-40 {
    gap: 2.5rem;
  }
}
@media (min-width: 1200.02px) {
  .hidden-tablet-extra-up {
    display: none;
  }
}
@media (max-width: 1200px) {
  .hidden-tablet-extra-down {
    display: none;
  }
}
@media (max-width: 1024px) {
  .hidden-tablet-down {
    display: none;
  }
  .tablet-flex-direction-column {
    flex-direction: column;
  }
  .tablet-flex-direction-row {
    flex-direction: row;
  }
  .gap-tablet-24 {
    gap: 1.5rem;
  }
  .justify-content-tablet-start {
    justify-content: start;
  }
}
@media (max-width: 768px) {
  .gap-mobile-16 {
    gap: 1rem;
  }
  .mobile-flex-direction-column {
    flex-direction: column;
  }
  .mobile-flex-direction-row {
    flex-direction: row;
  }
  .mobile-justify-content-space-around {
    justify-content: space-around;
  }
  .hidden-mobile {
    display: none;
  }
}
/* Accessibility */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}
@media (max-width: 768px) {
  .screen-reader-text-mobile {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
  }
}
/* Alignments */
.alignleft {
  float: left;
  margin-inline-end: 1.5rem;
  margin-bottom: 1.5rem;
}
.alignright {
  float: right;
  margin-inline-start: 1.5rem;
  margin-bottom: 1.5rem;
}
.aligncenter {
  clear: both;
  display: block;
  margin-inline-start: auto;
  margin-inline-end: auto;
  margin-bottom: 1.5rem;
}
/* caption */
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}
.wp-caption img[class*="wp-image-"] {
  display: block;
  margin-inline-start: auto;
  margin-inline-end: auto;
  max-width: 98%;
  height: auto;
}
.wp-caption-text {
  font-size: 0.8em;
  font-style: italic;
  color: #767676;
  text-align: center;
  margin-top: 0.5em;
}
.sticky {
  display: block;
}
.gallery-caption {
  display: block;
  font-size: 0.8em;
  font-style: italic;
  color: #767676;
  padding: 0.5em 0;
  text-align: center;
}
.bypostauthor {
  font-weight: normal;
}
.bypostauthor cite:after {
  content: "";
}
.cms-gap {
  gap: var(--gap);
}
.cms-column-gap {
  column-gap: var(--column-gap);
}
.cms-row-gap {
  row-gap: var(--row-gap);
}
.cms-mg-l {
  margin-inline-start: var(--mg-l);
}
.cms-mg-r {
  margin-inline-end: var(--mg-r);
}
.cms-mg-t {
  margin-block-start: var(--mg-t);
}
.cms-mg-b {
  margin-block-end: var(--mg-b);
}
.cms-max-width {
  max-width: var(--max-width);
}
.cms-pd {
  padding: var(--pd);
}
.cms-pd-l {
  padding-inline-start: var(--pd-l);
}
.cms-pd-r {
  padding-inline-end: var(--pd-r);
}
.cms-pd-t {
  padding-block-start: var(--pd-t);
}
.cms-pd-b {
  padding-block-end: var(--pd-b);
}
.cms-justify-content {
  justify-content: var(--justify-content);
}
.cms-top {
  top: var(--top);
}
.cms-bottom {
  bottom: var(--bottom);
}
.cms-left {
  left: var(--left);
}
.cms-right {
  right: var(--right);
}
.cms-width {
  width: var(--width);
}
.cms-height {
  height: var(--height);
}
.cms-flex-direction {
  flex-direction: var(--flex-direction);
}
.cms-grid-template-columns {
  grid-template-columns: repeat(var(--grid-template-columns), 1fr);
}
@media (max-width: 1024px) {
  .cms-gap {
    gap: var(--gap-tablet, var(--gap));
  }
  .cms-column-gap {
    column-gap: var(--column-gap-tablet, var(--column-gap));
  }
  .cms-row-gap {
    row-gap: var(--row-gap-tablet, var(--row-gap));
  }
  .cms-mg-l {
    margin-inline-start: var(--mg-l-tablet, var(--mg-l));
  }
  .cms-mg-r {
    margin-inline-end: var(--mg-r-tablet, var(--mg-r));
  }
  .cms-mg-t {
    margin-block-start: var(--mg-t-tablet, var(--mg-t));
  }
  .cms-mg-b {
    margin-block-end: var(--mg-b-tablet, var(--mg-b));
  }
  .cms-max-width {
    max-width: var(--max-width-tablet, var(--max-width));
  }
  .cms-pd {
    padding: var(--pd-tablet, var(--pd));
  }
  .cms-pd-l {
    padding-inline-start: var(--pd-l-tablet, var(--pd-l));
  }
  .cms-pd-r {
    padding-inline-end: var(--pd-r-tablet, var(--pd-r));
  }
  .cms-pd-t {
    padding-block-start: var(--pd-t-tablet, var(--pd-t));
  }
  .cms-pd-b {
    padding-block-end: var(--pd-b-tablet, var(--pd-b));
  }
  .cms-justify-content {
    justify-content: var(--justify-content-tablet, var(--justify-content));
  }
  .cms-top {
    top: var(--top-tablet, var(--top));
  }
  .cms-bottom {
    bottom: var(--bottom-tablet, var(--bottom));
  }
  .cms-left {
    left: var(--left-tablet, var(--left));
  }
  .cms-right {
    right: var(--right-tablet, var(--right));
  }
  .cms-width {
    width: var(--width-tablet, var(--width));
  }
  .cms-height {
    height: var(--height-tablet, var(--height));
  }
  .cms-flex-direction {
    flex-direction: var(--flex-direction-tablet, var(--flex-direction));
  }
  .cms-grid-template-columns {
    grid-template-columns: repeat(var(--grid-template-columns-tablet, var(--grid-template-columns)), 1fr);
  }
}
@media (max-width: 1200px) {
  body {
    --header-height: 60px!important;
  }
  .site-branding img {
    height: 40px;
  }
}
@media (max-width: 768px) {
  .cms-gap {
    gap: var(--gap-mobile, var(--gap-tablet, var(--gap)));
  }
  .cms-column-gap {
    column-gap: var(--column-gap-mobile, var(--column-gap-tablet, var(--column-gap)));
  }
  .cms-row-gap {
    row-gap: var(--row-gap-mobile, var(--row-gap-tablet, var(--row-gap)));
  }
  .cms-mg-l {
    margin-inline-start: var(--mg-l-mobile, var(--mg-l-tablet, var(--mg-l)));
  }
  .cms-mg-r {
    margin-inline-end: var(--mg-r-mobile, var(--mg-r-tablet, var(--mg-r)));
  }
  .cms-mg-t {
    margin-block-start: var(--mg-t-mobile, var(--mg-t-tablet, var(--mg-t)));
  }
  .cms-mg-b {
    margin-block-end: var(--mg-b-mobile, var(--mg-b-tablet, var(--mg-b)));
  }
  .cms-max-width {
    max-width: var(--max-width-mobile, var(--max-width-tablet, var(--max-width)));
  }
  .cms-pd {
    padding: var(--pd-mobile, var(--pd-tablet, var(--pd)));
  }
  .cms-pd-l {
    padding-inline-start: var(--pd-l-mobile, var(--pd-l-tablet, var(--pd-l)));
  }
  .cms-pd-r {
    padding-inline-end: var(--pd-r-mobile, var(--pd-r-tablet, var(--pd-r)));
  }
  .cms-pd-t {
    padding-block-start: var(--pd-t-mobile, var(--pd-t-tablet, var(--pd-t)));
  }
  .cms-pd-b {
    padding-block-end: var(--pd-b-mobile, var(--pd-b-tablet, var(--pd-b)));
  }
  .cms-justify-content {
    justify-content: var(--justify-content-mobile, var(--justify-content-tablet, var(--justify-content)));
  }
  .cms-top {
    top: var(--top-mobile, var(--top-tablet, var(--top)));
  }
  .cms-bottom {
    bottom: var(--bottom-mobile, var(--bottom-tablet, var(--bottom)));
  }
  .cms-left {
    left: var(--left-mobile, var(--left-tablet, var(--left)));
  }
  .cms-right {
    right: var(--right-mobile, var(--right-tablet, var(--right)));
  }
  .cms-width {
    width: var(--width-mobile, var(--width-tablet, var(--width)));
  }
  .cms-height {
    height: var(--height-mobile, var(--height-tablet, var(--height)));
  }
  .cms-flex-direction {
    flex-direction: var(--flex-direction-mobile, var(--flex-direction-tablet, var(--flex-direction)));
  }
  .cms-grid-template-columns {
    grid-template-columns: repeat(var(--grid-template-columns-mobile, var(--grid-template-columns-tablet, var(--grid-template-columns))), 1fr);
  }
  .mobile-w-100-pc {
    width: 100% !important;
  }
}
.button-font-giant, .btn-size-extra-large {
  font-size: 18px;
  line-height: 1.3333333333;
  font-weight: bold;
}
.button-font-large, .btn-size-large {
  font-size: 16px;
  line-height: 1.25;
  font-weight: bold;
}
.button-font-medium, .btn-size-medium, ul.product-categories li {
  font-size: 14px;
  line-height: 1.1428571429;
  font-weight: bold;
}
.button-font-small, .btn-size-small {
  font-size: 12px;
  line-height: 1.3333333333;
  font-weight: bold;
}
.button-font-tiny {
  font-size: 10px;
  line-height: 1.2;
  font-weight: bold;
}
.cms-color-white {
  color: #fff;
}
.cms-color-white-hover:hover, .cms-color-white-hover.active {
  color: #fff;
}
.cms-color-black {
  color: #000;
}
.cms-color-black-hover:hover, .cms-color-black-hover.active {
  color: #000;
}
.cms-color-primary {
  color: var(--cms-color-primary);
}
.cms-color-primary-hover:hover, .cms-color-primary-hover.active {
  color: var(--cms-color-primary);
}
.cms-color-primary-focus:focus {
  color: var(--cms-color-primary);
}
.cms-color-primary-dark {
  color: var(--cms-color-primary-dark);
}
.cms-color-secondary {
  color: var(--cms-color-secondary);
}
.cms-color-secondary-hover:hover, .cms-color-secondary-hover.active {
  color: var(--cms-color-secondary);
}
.cms-color-secondary-08 {
  color: rgba(var(--cms-color-secondary-rgb), 0.8);
}
.cms-color-body {
  color: var(--cms-color-body);
}
.cms-color-menu {
  color: var(--cms-color-menu);
}
.cms-color-sub {
  color: var(--cms-color-sub);
}
.cms-color-desc {
  color: var(--cms-color-desc);
}
.cms-color-desc-hover:hover, .cms-color-desc-hover.active {
  color: var(--cms-color-desc);
}
.cms-color-sub-on-dark {
  color: var(--cms-color-sub-on-dark);
}
.cms-color-sub-on-dark-hover:hover, .cms-color-sub-on-dark-hover.active {
  color: var(--cms-color-sub-on-dark);
}
.cms-color-desc-on-dark {
  color: var(--cms-color-desc-on-dark);
}
.cms-color-desc-on-dark-hover:hover, .cms-color-desc-on-dark-hover.active {
  color: var(--cms-color-desc-on-dark);
}
.cms-color-gradient {
  background: linear-gradient(69.88deg, var(--cms-color-primary) 2.47%, var(--cms-color-menu) 98.44%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.cms-color-gradient:hover {
  background: linear-gradient(69.88deg, var(--cms-color-primary) 2.47%, var(--cms-color-primary) 98.44%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.cms-color-heading {
  color: var(--cms-color-heading);
}
.cms-color-divider {
  color: var(--cms-color-divider);
}
.cms-color-light-green {
  color: var(--cms-background-color-primary-light);
}
.cms-color-page-title-text {
  color: var(--cms-color-page-title-text-color, var(--cms-color-white));
}
.cms-color-page-title-sub {
  color: var(--cms-color-page-title-sub-color, var(--cms-color-white));
}
.cms-color-inherit {
  color: inherit;
}
:hover .cms-color-inherit-hover {
  color: inherit;
}
.text-black {
  color: #000;
}
.text-white {
  color: #fff;
}
.text-primary {
  color: var(--cms-color-primary);
}
.text-secondary {
  color: var(--cms-color-secondary);
}
.text-sub-on-dark {
  color: var(--cms-color-sub-on-dark);
}
.cms-background-color-primary {
  background-color: var(--cms-color-primary);
}
.cms-background-color-primary-hover:hover {
  background-color: var(--cms-color-primary);
}
.cms-background-color-secondary {
  background-color: var(--cms-color-secondary);
}
.cms-background-color-secondary-hover:hover {
  background-color: var(--cms-color-secondary);
}
.cms-background-color-menu {
  background-color: var(--cms-color-menu);
}
.cms-background-color-black {
  background-color: #000;
}
.cms-background-color-black-hover:hover {
  background-color: #000;
}
.cms-background-color-white {
  background-color: #fff;
}
.cms-background-color-white-hover:hover {
  background-color: #fff;
}
.cms-background-color-sub {
  background-color: var(--cms-color-sub);
}
.cms-background-color-desc {
  background-color: var(--cms-color-desc);
}
.cms-background-color-gradient {
  background: linear-gradient(69.88deg, var(--cms-color-primary) 2.47%, var(--cms-color-menu) 98.44%);
}
.cms-background-color-white-light {
  background-color: var(--cms-background-color-white-light);
}
.cms-background-color-white-light-hover:hover {
  background-color: var(--cms-background-color-white-light);
}
.cms-background-color-white-light-cl {
  background-color: var(--cms-background-color-white-light-cl);
}
.cms-background-color-white-light-cl-hover:hover {
  background-color: var(--cms-background-color-white-light-cl);
}
.cms-background-color-light-green {
  background-color: var(--cms-background-color-primary-light);
}
.cms-background-color-light-green-hover:hover {
  background-color: var(--cms-background-color-primary-light);
}
.cms-background-color-sub-on-dark {
  background-color: var(--cms-color-sub-on-dark);
}
.cms-background-color-divider-light {
  background-color: var(--cms-color-divider-light);
}
.cms-background-ovelay-above-image {
  position: relative;
}
.cms-background-ovelay-above-image:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(var(--cms-color-secondary-rgb), 0.1);
  border-radius: inherit;
  z-index: 1;
}
.cms-background-image-container-color {
  background-color: var(--cms-background-image-container-color);
}
.body-color {
  color: var(--cms-color-body);
}
.body-color-dark-90 {
  color: color-mix(in srgb, var(--cms-color-body) 90%, black);
}
.header-background {
  background-color: var(--header-background);
}
.header-height {
  height: var(--header-height);
}
.pd-t-header-height {
  padding-top: var(--header-height);
}
.cms-wrap-hover:hover .cms-item-color-white-hover {
  color: #fff;
}
.cms-wrap-hover:hover .cms-item-color-primary-hover {
  color: var(--cms-color-primary);
}
.cms-wrap-hover:hover .cms-item-color-sub-on-dark-hover {
  color: var(--cms-color-sub-on-dark);
}
.cms-wrap-hover:hover .cms-item-background-color-secondary-hover {
  background-color: var(--cms-color-secondary);
}
.cms-wrap-hover:hover .cms-item-background-color-light-green-hover {
  background-color: var(--cms-background-color-primary-light);
}
.h-auto {
  height: auto;
}
.h-auto-important {
  height: auto !important;
}
.h-12 {
  height: 0.75rem;
}
.h-20 {
  height: 1.25rem;
}
.h-32 {
  height: 2rem;
}
.h-36 {
  height: 2.25rem;
}
.h-40 {
  height: 2.5rem;
}
.h-44 {
  height: 2.75rem;
}
.h-48 {
  height: 3rem;
}
.h-56 {
  height: 3.5rem;
}
.h-64 {
  height: 4rem;
}
.h-88 {
  height: 5.5rem;
}
.h-50-pc {
  height: 50%;
}
.h-100-pc {
  height: 100%;
}
.h-100-pc-important {
  height: 100% !important;
}
.max-h-32 {
  max-height: 2rem;
}
.max-h-48 {
  max-height: 3rem;
}
.w-auto {
  width: auto;
}
.w-16 {
  width: 1rem;
}
.w-20 {
  width: 1.25rem;
}
.w-24 {
  width: 1.5rem;
}
.w-32 {
  width: 2rem;
}
.w-36 {
  width: 2.25rem;
}
.w-40 {
  width: 2.5rem;
}
.w-44 {
  width: 2.75rem;
}
.w-48 {
  width: 3rem;
}
.w-56 {
  width: 3.5rem;
}
.w-64 {
  width: 4rem;
}
.w-80 {
  width: 5rem;
}
.w-88 {
  width: 5.5rem;
}
.w-30-pc {
  width: 30%;
}
.w-35-pc {
  width: 35%;
}
.w-40-pc {
  width: 40%;
}
.w-50-pc {
  width: 50%;
}
.w-60-pc {
  width: 60%;
}
.w-70-pc {
  width: 70%;
}
.w-80-pc {
  width: 80%;
}
.w-90-pc {
  width: 90%;
}
.w-100-pc {
  width: 100%;
}
.max-w-696 {
  max-width: 696px;
}
.relative {
  position: relative;
}
.absolute {
  position: absolute;
}
.absolute.left-center {
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.absolute.right-center {
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.absolute.center-center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.position-sticky {
  position: sticky;
}
.top-0 {
  top: 0;
}
.bottom-0 {
  bottom: 0;
}
.bottom-40 {
  bottom: 40px;
}
.left-0 {
  left: 0;
}
.right-0 {
  right: 0;
}
.top-50-pc {
  top: 50%;
}
.left-50-pc {
  left: 50%;
}
.transform-translate--50-pc {
  transform: translate(-50%, -50%);
}
.top-20 {
  top: 20px;
}
.bottom-20 {
  bottom: 20px;
}
.left-20 {
  left: 20px;
}
.right-20 {
  right: 20px;
}
.empty-none:empty {
  display: none !important;
}
.order-1 {
  order: 1;
}
.order-2 {
  order: 2;
}
.order-3 {
  order: 3;
}
.list-style-none {
  list-style: none;
}
/* font family */
.font-family-body {
  font-family: var(--body-font);
}
.font-family-heading {
  font-family: var(--heading-font);
}
/* font size */
.font-size-10 {
  font-size: 10px;
}
.font-size-12 {
  font-size: 12px;
}
.font-size-14 {
  font-size: 14px;
}
.font-size-15 {
  font-size: 15px;
}
.font-size-16 {
  font-size: 16px;
}
.font-size-18 {
  font-size: 18px;
}
.font-size-20 {
  font-size: 20px;
}
.font-size-24 {
  font-size: 24px;
}
.font-size-72 {
  font-size: clamp(56px, calc(2.065vw + 47.226px), 72px);
}
/* font weight */
.font-weight-light {
  font-weight: 300;
}
.font-weight-regular, .cms-contact-form label {
  font-weight: 400;
}
.font-weight-medium {
  font-weight: 500;
}
.font-weight-semibold {
  font-weight: 600;
}
.font-weight-bold {
  font-weight: 700;
}
/* font style */
.font-style-italic {
  font-style: italic;
}
/* text */
.cms-text-box-trim {
  text-box: trim-both cap alphabetic;
}
.body-text {
  font-family: var(--body-font, Inter);
  font-size: var(--body-font-size);
  line-height: var(--body-font-line-height);
}
.text-transform-uppercase {
  text-transform: uppercase;
}
.text-align-start {
  text-align: start;
}
.text-align-center {
  text-align: center;
}
.text-align-end {
  text-align: end;
}
[class*=text-line-], .text-ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
}
.text-line-1 {
  line-clamp: 1;
  -webkit-line-clamp: 1;
}
.text-line-2 {
  line-clamp: 2;
  -webkit-line-clamp: 2;
}
.text-line-3 {
  line-clamp: 3;
  -webkit-line-clamp: 3;
}
.text-line-4 {
  line-clamp: 4;
  -webkit-line-clamp: 4;
}
.text-gradient, .cms-case .cms-case-filter-item.active, .cms-post-category-inner a:hover {
  background: linear-gradient(69.88deg, var(--cms-color-primary) 2.47%, var(--cms-color-menu) 98.44%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
/* line height */
.line-height-1 {
  line-height: 1;
}
.line-height-1-111 {
  line-height: 1.111;
}
.line-height-1-429 {
  line-height: 1.429;
}
.line-height-1-25 {
  line-height: 1.25;
}
.line-height-1-333 {
  line-height: 1.333;
}
.line-height-1-143 {
  line-height: 1.143;
}
.line-height-1-4 {
  line-height: 1.4;
}
.line-height-1-5 {
  line-height: 1.5;
}
.line-height-1-555 {
  line-height: 1.555;
}
/* margin */
.mg-0 {
  margin: 0;
}
.mg-t-8 {
  margin-top: 8px;
}
.mg-t--5 {
  margin-top: -5px;
}
.mg-t--6 {
  margin-top: -6px;
}
.mg-t--8 {
  margin-top: -8px;
}
.mg-t--16 {
  margin-top: -16px;
}
.mg-b--16 {
  margin-bottom: -16px;
}
.mg-t--80 {
  margin-top: -80px;
}
.mg-b-0 {
  margin-bottom: 0;
}
.mg-b-6 {
  margin-bottom: 0.375rem;
}
.mg-b-10 {
  margin-bottom: 0.625rem;
}
.mg-b-24 {
  margin-bottom: 1.5rem;
}
.mg-b-0-5rem {
  margin-bottom: 0.5rem;
}
.mg-b-1rem {
  margin-bottom: 1rem;
}
.mg-b-1-25rem {
  margin-bottom: 1.25rem;
}
.mg-b-1-5rem {
  margin-bottom: 1.5rem;
}
.mg-b-2rem {
  margin-bottom: 2rem;
}
.mg-b-10 {
  margin-bottom: 10px;
}
.mg-b-20 {
  margin-bottom: 20px;
}
.mg-t-12 {
  margin-top: 0.75rem;
}
.mg-t-16 {
  margin-top: 1rem;
}
.mg-t-32 {
  margin-top: 2rem;
}
.mg-t-40 {
  margin-top: 2.5rem;
}
.mg-b-8 {
  margin-bottom: 0.5rem;
}
.mg-b-12 {
  margin-bottom: 0.75rem;
}
.mg-b-16 {
  margin-bottom: 1rem;
}
.mg-b-18 {
  margin-bottom: 1.125rem;
}
.mg-b-32 {
  margin-bottom: 2rem;
}
.mg-b-36 {
  margin-bottom: 2.25rem;
}
.mg-b-40 {
  margin-bottom: 2.5rem;
}
.mg-b-48 {
  margin-bottom: 3rem;
}
.mg-tb--6 {
  margin-top: -6px;
  margin-bottom: -6px;
}
.mg-tb--8 {
  margin-top: -8px;
  margin-bottom: -8px;
}
.mg-tb--12 {
  margin-top: -12px;
  margin-bottom: -12px;
}
.mg-lr-70 {
  margin-inline-start: 70px;
  margin-inline-end: 70px;
}
/* padding */
.pd-0 {
  padding: 0;
}
.pd-8 {
  padding: 0.5rem;
}
.pd-6 {
  padding: 0.375rem;
}
.pd-10 {
  padding: 0.625rem;
}
.pd-16 {
  padding: 1rem;
}
.pd-20 {
  padding: 1.25rem;
}
.pd-24 {
  padding: 1.5rem;
}
.pd-28 {
  padding: 1.75rem;
}
.pd-tb-8 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.pd-tb-16 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.pd-lr-8 {
  padding-inline-start: 0.5rem;
  padding-inline-end: 0.5rem;
}
.pd-lr-12 {
  padding-inline-start: 0.75rem;
  padding-inline-end: 0.75rem;
}
.pd-lr-16 {
  padding-inline-start: 1rem;
  padding-inline-end: 1rem;
}
.pd-32 {
  padding: 2rem;
}
.pd-40 {
  padding: 2.5rem;
}
.pd-48 {
  padding: 3rem;
}
.pd-56 {
  padding: 3.5rem;
}
.pd-64 {
  padding: 4rem;
}
.pd-88 {
  padding: 5.5rem;
}
.pd-88-responsive {
  padding: clamp(24px, calc(8.258vw + -11.097px), 88px);
}
.pd-l-24 {
  padding-inline-start: 1.5rem;
}
.pd-r-24 {
  padding-inline-end: 1.5rem;
}
.pd-b-0 {
  padding-bottom: 0;
}
.pd-b-16 {
  padding-bottom: 1rem;
}
.pd-b-24 {
  padding-bottom: 1.5rem;
}
.pd-b-32 {
  padding-bottom: 2rem;
}
.pd-b-40 {
  padding-bottom: 2.5rem;
}
.pd-t-4 {
  padding-top: 0.25rem;
}
.pd-t-8 {
  padding-top: 0.5rem;
}
.pd-t-24 {
  padding-top: 1.5rem;
}
.pd-t-32 {
  padding-top: 2rem;
}
.pd-t-48 {
  padding-top: 3rem;
}
.pd-t-16 {
  padding-top: 1rem;
}
.pd-t-40 {
  padding-top: 2.5rem;
}
.pd-lr-20 {
  padding-inline-start: 1.25rem;
  padding-inline-end: 1.25rem;
}
.pd-lr-24 {
  padding-inline-start: 1.5rem;
  padding-inline-end: 1.5rem;
}
.pd-lr-32 {
  padding-inline-start: 2rem;
  padding-inline-end: 2rem;
}
.pd-tb-2 {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.pd-lr-40 {
  padding-inline-start: 2.5rem;
  padding-inline-end: 2.5rem;
}
.pd-lr-48 {
  padding-inline-start: 3rem;
  padding-inline-end: 3rem;
}
.pd-tb-16 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.pd-tb-20 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.pd-tb-24 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.pd-tb-32 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.pd-tb-40 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.pd-tb-48 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.pd-tb-56 {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}
.pd-tb-64 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.pd-tb-112 {
  padding-top: 112px !important;
  padding-bottom: 112px !important;
}
.pd-inline-end-60-important {
  padding-inline-end: 60px !important;
}
/* border solid */
.bd-1 {
  border: 1px solid var(--cms-color-divider);
}
.bd-1-color-inherit {
  border: 1px solid;
}
.bd-t-1 {
  border-top: 1px solid var(--cms-color-divider);
}
.bd-color-secondary-hover:hover {
  border-color: var(--cms-color-secondary);
}
/* border radius */
.border-radius-0 {
  border-radius: 0;
}
.border-radius-round {
  border-radius: 50%;
}
.border-radius-0-important {
  border-radius: 0 !important;
}
.border-radius-6 {
  border-radius: 0.375rem;
}
.border-radius-8 {
  border-radius: 0.5rem;
}
.border-radius-8-important {
  border-radius: 0.5rem !important;
}
.border-radius-10 {
  border-radius: 0.625rem;
}
.border-radius-12 {
  border-radius: 0.75rem;
}
.border-radius-16 {
  border-radius: 1rem;
}
.border-radius-16-top {
  border-radius: 1rem 1rem 0 0;
}
.border-radius-16-bottom {
  border-radius: 0 0 1rem 1rem;
}
.border-radius-20 {
  border-radius: 1.25rem;
}
.border-radius-24 {
  border-radius: 1.5rem;
}
.border-radius-24-important {
  border-radius: 1.5rem !important;
}
.border-radius-32 {
  border-radius: 2rem;
}
.border-radius-32-bottom {
  border-radius: 0 0 2rem 2rem;
}
.border-radius-48 {
  border-radius: 3rem;
}
.border-solid-2 {
  border: 2px solid var(--cms-color-divider);
}
/* backdrop */
.background-blur-1 {
  background: linear-gradient(142.13deg, rgba(254, 248, 255, 0.189) 1.8%, rgba(254, 248, 255, 0) 99.75%);
  backdrop-filter: blur(43.9804px);
}
.background-blur, .backdrop-filter-blur, .cms-background-color-blur, .cms-background-color-backdrop-filter-blur {
  backdrop-filter: blur(16px);
}
.cms-background-color-white-blur-16 {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(16px);
}
/* box shadow */
.box-shadow-0 {
  box-shadow: none;
}
.box-shadow-1 {
  box-shadow: 0px 4px 16px rgba(27, 26, 26, 0.06);
}
.cms-hover-change:hover .box-shadow-1-hover {
  box-shadow: 0px 4px 16px rgba(27, 26, 26, 0.12);
}
.box-shadow-2 {
  box-shadow: 0px 4px 16px rgba(27, 26, 26, 0.08);
}
.box-shadow-1-hover:hover {
  box-shadow: 0px 4px 16px rgba(27, 26, 26, 0.12);
}
.filter-box-shadow-1 {
  filter: drop-shadow(0px 4px 16px rgba(0, 0, 0, 0.05));
}
.box-shadow-low {
  box-shadow: 0px 4px 16px rgba(27, 26, 26, 0.06);
}
.box-shadow-hover:hover {
  box-shadow: 0px 4px 16px rgba(27, 26, 26, 0.12);
}
/* border */
.cms-border-1 {
  border: 1px solid;
}
.cms-border-top-1 {
  border-top: 1px solid;
}
.cms-border-bottom-1 {
  border-bottom: 1px solid;
}
.cms-border-color-divider {
  border-color: var(--cms-color-divider);
}
.cms-border-color-primary-hover:hover {
  border-color: var(--cms-color-primary);
}
.cms-border-color-primary-hover:hover .cms-border-color-primary-hover {
  border-color: var(--cms-color-primary);
}
.cms-border-color-divider-dark {
  border-color: var(--cms-color-divider-dark);
}
.cms-border-color-divider-light {
  border-color: var(--cms-color-divider-light);
}
/* divider */
.cms-divider-color {
  border-color: var(--cms-color-divider);
}
.cms-divider-color-light {
  border-color: var(--cms-color-divider-light);
}
.cms-divider-color-dark {
  border-color: var(--cms-color-divider-dark);
}
/* Visually hidden class for alternative solution */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-hidden-important {
  overflow: hidden !important;
}
.cursor-pointer {
  cursor: pointer;
}
/* Close Popup Button */
.close-popup {
  width: 40px;
  height: 40px;
}
.close-popup svg {
  transition: transform 0.3s ease;
}
.close-popup:hover {
  transform: scale(1.08);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
}
.close-popup:hover svg {
  transform: rotate(90deg);
}
@media (max-width: 768px) {
  .p-lr-mobile-20 {
    padding-inline-start: 1.25rem;
    padding-inline-end: 1.25rem;
  }
}
.cms-transition-transform {
  transition: transform 0.6s ease-in-out;
}
.cms-transition, .wrapper-hover-animation-icon-scale .icon-scale, .wrapper-hover-animation-icon-scale .icon-scale svg, .cms-fancy-box:not(.cms-fancy-box-layout-4) .cms-fancy-box-icon, .cms-fancy-box:not(.cms-fancy-box-layout-4) .cms-fancy-box-icon svg, .cms-fancy-box:not(.cms-fancy-box-layout-4) .cms-fancy-box-image {
  transition: all 300ms linear 0ms;
}
.cms-background-transition {
  transition: background-color 0.5s ease;
}
.hover-image-zoom-out img {
  transition: transform 0.6s ease-in-out;
}
.hover-image-zoom-out:hover img {
  transform: scale(1.05);
}
.hover-image-zoom-out-select-item .item-image-zoom-out img, .hover-image-zoom-out-select-item img.item-image-zoom-out {
  transition: transform 0.6s ease-in-out;
}
.hover-image-zoom-out-select-item:hover .item-image-zoom-out img, .hover-image-zoom-out-select-item:hover img.item-image-zoom-out {
  transform: scale(1.05);
}
.hover-background-image-zoom-out:hover {
  background-size: 110%;
}
.img-object-fit-cover {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}
.cms-background-overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
}
.background-overlay-color-secondary {
  background-color: rgba(var(--cms-color-secondary-rgb), 0.3);
}
.background-overlay-color-gradient {
  background: linear-gradient(270deg, rgba(var(--cms-color-primary-rgb), 0) 29.08%, rgba(var(--cms-color-secondary-rgb), 0.5) 92.09%);
}
.svg-fit svg, svg.svg-fit {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}
.img-fit img, img.img-fit {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}
.noma-image-clip-1 {
  object-fit: cover;
  clip-path: url(#noma-image-clip-1);
  overflow: hidden;
}
.noma-image-clip-1.img-fit {
  aspect-ratio: 0.8495575221;
}
/* author avatar */
.noma-image-clip-2 {
  object-fit: cover;
  clip-path: url(#noma-image-clip-2);
  overflow: hidden;
}
.noma-image-clip-2.img-fit {
  aspect-ratio: 0.8669950739;
}
/* author avatar comment */
.noma-image-clip-3 {
  object-fit: cover;
  clip-path: url(#noma-image-clip-3);
  overflow: hidden;
}
.noma-image-clip-3.img-fit {
  aspect-ratio: 0.8461538462;
}
/* cms counter layout 3 */
.noma-image-clip-4 {
  object-fit: cover;
  clip-path: url(#noma-image-clip-4);
  overflow: hidden;
}
.noma-image-clip-4.img-fit {
  aspect-ratio: 0.8687782805;
}
/* testimonials layout 2 */
.noma-image-clip-5 {
  object-fit: cover;
  clip-path: url(#noma-image-clip-5);
  overflow: hidden;
}
.noma-image-clip-5.img-fit {
  aspect-ratio: 0.8125;
}
/* image layout 1-1 */
.noma-image-clip-6 {
  object-fit: cover;
  clip-path: url(#noma-image-clip-6);
  overflow: hidden;
}
.noma-image-clip-6.img-fit {
  aspect-ratio: 0.8387096774;
}
/* image layout 1-2 */
.noma-image-clip-7 {
  object-fit: cover;
  clip-path: url(#noma-image-clip-7);
  overflow: hidden;
}
.noma-image-clip-7.img-fit {
  aspect-ratio: 0.9795918367;
}
/* image layout 1-3 */
.noma-image-clip-8 {
  object-fit: cover;
  clip-path: url(#noma-image-clip-8);
  overflow: hidden;
}
.noma-image-clip-8.img-fit {
  aspect-ratio: 1;
}
/* cms customers layout 4 */
.noma-image-clip-9 {
  object-fit: cover;
  clip-path: url(#noma-image-clip-9);
  overflow: hidden;
}
.noma-image-clip-9.img-fit {
  aspect-ratio: 1.4791666667;
}
/* cms slider layout 3 */
.noma-image-clip-10 {
  object-fit: cover;
  clip-path: url(#noma-image-clip-10);
  overflow: hidden;
}
.noma-image-clip-10.img-fit {
  aspect-ratio: 1.5;
}
.image-clip-1 {
  object-fit: cover;
  clip-path: url(#image-clip-1);
}
.image-clip-2 {
  object-fit: cover;
  clip-path: url(#image-clip-2);
  overflow: hidden;
}
.image-clip-2.img-fit {
  aspect-ratio: 0.7633587786;
}
.image-clip-3 {
  object-fit: cover;
  clip-path: url(#image-clip-3);
  overflow: hidden;
}
.image-clip-3.img-fit {
  aspect-ratio: 1.1897106109;
}
.image-clip-4 {
  object-fit: cover;
  clip-path: url(#image-clip-4);
  overflow: hidden;
}
.image-clip-4.img-fit {
  aspect-ratio: 1;
}
.image-clip-5 {
  object-fit: cover;
  clip-path: url(#image-clip-5);
}
.image-clip-5.img-fit {
  aspect-ratio: 0.7848101266;
}
.image-clip-6 {
  object-fit: cover;
  clip-path: url(#image-clip-6);
}
.image-clip-6.img-fit {
  aspect-ratio: 0.9154929577;
}
.image-clip-7 {
  object-fit: cover;
  clip-path: url(#image-clip-7);
}
.image-clip-8 {
  object-fit: cover;
  clip-path: url(#image-clip-8);
}
.image-clip-9 {
  object-fit: cover;
  clip-path: url(#image-clip-9);
}
.image-clip-10 {
  object-fit: cover;
  clip-path: url(#image-clip-10);
}
.image-clip-10.img-fit {
  aspect-ratio: 0.7857142857;
}
.image-clip-11 {
  object-fit: cover;
  clip-path: url(#image-clip-11);
}
.image-clip-12 {
  object-fit: cover;
  clip-path: url(#image-clip-12);
}
.image-clip-13 {
  object-fit: cover;
  clip-path: url(#image-clip-13);
}
.image-clip-14 {
  object-fit: cover;
  clip-path: url(#image-clip-14);
}
.image-clip-15 {
  object-fit: cover;
  clip-path: url(#image-clip-15);
}
.image-clip-16 {
  object-fit: cover;
  clip-path: url(#image-clip-16);
}
.image-clip-17 {
  object-fit: cover;
  clip-path: url(#image-clip-17);
  backdrop-filter: blur(43.9804px);
  overflow: hidden;
}
.image-clip-18 {
  object-fit: cover;
  clip-path: url(#image-clip-18);
  overflow: hidden;
}
.image-clip-18.img-fit {
  aspect-ratio: 1.0992907801;
}
.image-clip-19 {
  object-fit: cover;
  clip-path: url(#image-clip-19);
  backdrop-filter: blur(43.9804px);
  overflow: hidden;
}
.bg-gradient-tran-1 {
  background: linear-gradient(137.86deg, rgba(254, 248, 255, 0.189) 1.94%, rgba(254, 248, 255, 0) 107.63%);
  backdrop-filter: blur(43.9804px);
  transform: matrix(-1, 0, 0, 1, 0, 0);
}
.bg-gradient-tran-2 {
  background: linear-gradient(142.13deg, rgba(254, 248, 255, 0.189) 1.8%, rgba(254, 248, 255, 0) 99.75%);
  backdrop-filter: blur(43.9804px);
}
.image-clip-20 {
  object-fit: cover;
  clip-path: url(#image-clip-20);
  overflow: hidden;
}
.image-clip-20.img-fit {
  aspect-ratio: 1.0992907801;
}
body img.img-cover, body .img-cover > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cms-line-1 {
  width: 100%;
  height: 1px;
  background-color: var(--cms-color-divider);
}
/* loading spinner */
.spinner {
  border: 3px solid rgba(0, 0, 0, 0.1);
  border-top-color: var(--cms-primary-color, #000);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: spin 1s linear infinite;
  margin: 0 auto;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.cms-blog-filter-wrapper .active {
  color: var(--cms-color-primary);
}
.pd-box-shadow {
  padding: var(--container-default-padding-top);
  margin-inline: calc(var(--container-default-padding-top) * -1);
  overflow: hidden;
}
.pd-box-shadow .swiper {
  overflow: visible;
}
.pd-box-no-shadow {
  padding: 1px;
  overflow: hidden;
}
.cms-hover-show {
  visibility: hidden;
  opacity: 0;
  transform: translateY(100%);
}
.cms-hover-change:hover .cms-hover-show {
  visibility: visible;
  opacity: 1;
}
.cms-hover-change:hover .cms-hover-show.move-up {
  transform: translateY(0);
}
.fill-current-color {
  fill: currentColor;
}
.btn-category-outline {
  font-size: 12px;
  line-height: 1;
  padding: 7px 10px;
  color: var(--cms-color-menu);
  border: 1px solid var(--cms-color-divider-dark);
  border-radius: 6px;
}
.btn-category-outline:hover {
  background-color: var(--cms-color-primary);
  border-color: var(--cms-color-primary);
  color: #fff;
}
.btn-category-outline-white {
  font-size: 12px;
  line-height: 1;
  padding: 7px 10px;
  color: var(--cms-color-white);
  border: 1px solid var(--cms-color-divider-light);
  border-radius: 6px;
}
.btn-category-outline-white:hover {
  background-color: var(--cms-color-primary);
  border-color: var(--cms-color-primary);
  color: #fff;
}
.cms-default-filter-item {
  padding: 9px 16px;
}
.cms-default-filter-item:hover, .cms-default-filter-item.active {
  background-color: var(--cms-color-primary);
  color: #fff;
}
