/*
 * Abstracts: Sass Functions
 *
 * DESCRIPTION
 * Custom Sass functions for calculations, conversions, and utilities.
 * Used throughout the codebase for consistent value transformations.
 *
 * KEY FUNCTIONS
 * - decimal-round: Rounds numbers to specific decimal places
 * - rem: Converts px values to rem units using $base (16px)
 * - Other utility functions for calculations
 *
 * USAGE
 * @use "function" as *;
 * $font-size: rem(24);  // Returns 1.5rem
 */
/**
 * Rounds a number to specified decimal places
 *
 * @param {number} $number - Value to round
 * @param {number} $digits - Number of decimal places
 * @param {string} $mode - round, ceil, or floor
 * @return {number} Rounded value
 */
/*
 * Abstracts: Core Exports
 *
 * DESCRIPTION
 * Entry point that forwards all abstract modules (functions, variables,
 * mixins) for convenient importing throughout the codebase.
 *
 * USAGE
 * Import entire abstracts layer: @use "../../abstracts/core" as *;
 * All functions, variables, and mixins become available after import.
 */
/*
 * Abstracts: Global Variables
 *
 * DESCRIPTION
 * Application-wide Sass variables including typography, color system,
 * spacing scales, and breakpoint definitions. All color and sizing
 * variables are defined here for consistent theming across components.
 *
 * USAGE
 * Import as: @use "variables" as *;
 * Access variables directly: $primary-100, $font-size-base, etc.
 */
/* Note: If need Disable Decimal-value functionilty open function.scss file */
/*
 * Abstracts: Core Exports
 *
 * DESCRIPTION
 * Entry point that forwards all abstract modules (functions, variables,
 * mixins) for convenient importing throughout the codebase.
 *
 * USAGE
 * Import entire abstracts layer: @use "../../abstracts/core" as *;
 * All functions, variables, and mixins become available after import.
 */
/*
 * Abstracts: Global Mixins
 *
 * DESCRIPTION
 * Reusable Sass mixins for responsive design, utility patterns, and
 * common styling needs. Includes media query helpers, flexbox utilities,
 * and other frequently used patterns.
 *
 * KEY MIXINS
 * - respond-above: Media query min-width breakpoint
 * - respond-below: Media query max-width breakpoint
 * - respond-between: Media query range between two breakpoints
 * - flex patterns and other utility mixins
 *
 * USAGE
 * Import as: @use "mixins" as *;
 * Call mixin: @include respond-above(md) { ... }
 */
/* mini laptop resolution 1349 X 662 and 1246 X 681 and 1218 X 672 */
/* Mozila Firefox */
.template-product-v2 {
  /*
     * 50-50 Landing Hero
     */
}
.template-product-v2 .fifty-fifty-landing-hero .bg-animation,
.template-product-v2 .fifty-fifty-landing-hero .bg-image,
.template-product-v2 .fifty-fifty-landing-hero .bg-video {
  position: absolute;
  top: 0;
  right: 0%;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}
.template-product-v2 .fifty-fifty-landing-hero .bg-animation::before,
.template-product-v2 .fifty-fifty-landing-hero .bg-image::before,
.template-product-v2 .fifty-fifty-landing-hero .bg-video::before {
  content: "";
  background: linear-gradient(270deg, rgba(243, 247, 249, 0) 0%, #f3f7f9 45%);
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  width: 100%;
  height: 100%;
}
.template-product-v2 .fifty-fifty-landing-hero .bg-animation img,
.template-product-v2 .fifty-fifty-landing-hero .bg-animation video,
.template-product-v2 .fifty-fifty-landing-hero .bg-image img,
.template-product-v2 .fifty-fifty-landing-hero .bg-image video,
.template-product-v2 .fifty-fifty-landing-hero .bg-video img,
.template-product-v2 .fifty-fifty-landing-hero .bg-video video {
  width: 100%;
  height: 100%;
  -o-object-position: right;
     object-position: right;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 991px) {
  .template-product-v2 .fifty-fifty-landing-hero .bg-animation::before,
  .template-product-v2 .fifty-fifty-landing-hero .bg-image::before,
  .template-product-v2 .fifty-fifty-landing-hero .bg-video::before {
    background: linear-gradient(270deg, rgba(243, 247, 249, 0.85) 0%, rgba(243, 247, 249, 0.85) 20%, #f3f7f9 45%);
  }
  .template-product-v2 .fifty-fifty-landing-hero .bg-animation img,
  .template-product-v2 .fifty-fifty-landing-hero .bg-animation video,
  .template-product-v2 .fifty-fifty-landing-hero .bg-image img,
  .template-product-v2 .fifty-fifty-landing-hero .bg-image video,
  .template-product-v2 .fifty-fifty-landing-hero .bg-video img,
  .template-product-v2 .fifty-fifty-landing-hero .bg-video video {
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.template-product-v2 .fifty-fifty-landing-hero .heading {
  font-size: 40px;
  font-weight: 600;
}
.template-product-v2 .fifty-fifty-landing-hero .heading,
.template-product-v2 .fifty-fifty-landing-hero .fflh-dec p {
  color: #081d4d;
}
.template-product-v2 {
  /*
     * Horizontal Tabbed Component
     */
}
.template-product-v2 .horizontal-tabbed-component .htc-tab-bg {
  min-height: auto;
  background: #1565c0;
  height: 3rem;
  border-radius: 1.75rem;
  padding: 0.75rem;
}
.template-product-v2 .horizontal-tabbed-component .htc-tabs .tab-link {
  min-height: auto;
  color: #081d4d;
  height: 3rem;
  border-radius: 1.75rem;
  padding: 0.75rem;
  flex: 1 0 auto;
}
@media (max-width: 767px) {
  .template-product-v2 .horizontal-tabbed-component .htc-tabs .tab-link {
    background-color: transparent;
  }
}
.template-product-v2 {
  /*
     * Promo Cards
     */
}
.template-product-v2 .promo-cards .pc-item:not(._no-link):hover .btn-link svg path {
  stroke: #081d4d;
}
@media (min-width: 992px) {
  .template-product-v2 .promo-cards .pc-item:not(._no-link):hover .btn-link svg path {
    stroke: #96eaaa;
  }
}
.template-product-v2 {
  /*
     * Expandable Listing
     */
}
.template-product-v2 .expandable-listing .el-accordion-wrap .el-tab-repet {
  padding: 0rem;
  border: 0;
  border-bottom: 1px solid #000;
  transition: all 0.3s ease 0s;
  margin-bottom: 0;
}
@media (min-width: 576px) {
  .template-product-v2 .expandable-listing .el-accordion-wrap .el-tab-repet {
    padding: 1rem 0rem;
  }
}
.template-product-v2 .expandable-listing .el-accordion-wrap .el-tab-repet .el-icon-heading {
  position: relative;
}
.template-product-v2 .expandable-listing .el-accordion-wrap .el-tab-repet .h5 {
  font-size: 1rem;
  padding: 0.5rem 1rem 0.5rem 0;
  font-weight: 600;
}
.template-product-v2 .expandable-listing .el-accordion-wrap .el-tab-repet .chevron {
  position: absolute;
  right: 0;
  top: 1rem;
}
.template-product-v2 .expandable-listing .el-accordion-wrap .el-tab-repet .chevron::after {
  width: 28px;
  height: 14px;
}
.template-product-v2 .expandable-listing .el-accordion-wrap .el-tab-repet.is-open .icon-plus {
  background: none;
}
.template-product-v2 .expandable-listing .el-accordion-wrap .el-tab-repet.is-open .icon-plus::before {
  content: "n";
}
.template-product-v2 .expandable-listing .el-accordion-wrap .el-icon-heading h5 {
  font-weight: 400;
}
.template-product-v2 .expandable-listing .el-accordion-wrap .el-icon-heading .icon-plus {
  border: 0;
  align-content: center;
  text-align: center;
  border-radius: unset;
}
.template-product-v2 .expandable-listing .el-accordion-wrap .el-icon-heading .icon-plus::before {
  content: "o";
  border: 0;
  background: none;
  font-size: 24px;
  display: inline-block;
  vertical-align: middle;
  position: unset;
  width: auto;
  height: auto;
}
.template-product-v2 .expandable-listing .el-accordion-wrap .el-icon-heading .icon-plus::after {
  display: none;
}
.template-product-v2 {
  /*
     * Latest Updates
     */
}
.template-product-v2 .latest-updates .container {
  -webkit-mask-image: linear-gradient(90deg, transparent 1%, #000 2%, #000 99%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 1%, #000 2%, #000 99%, transparent 100%);
  --container-width: 76.5rem;
  overflow: hidden;
  padding: 1rem 2rem;
}
.template-product-v2 .latest-updates .lu-heading {
  justify-content: center;
}
.template-product-v2 .latest-updates .lu-heading h2 {
  margin-bottom: 2rem;
}
.template-product-v2 .latest-updates .lu-swiper-arrows {
  margin-top: 2rem;
  position: unset;
  justify-content: space-between;
  width: 100%;
}
.template-product-v2 .latest-updates .lu-swiper-arrows-container {
  display: flex;
}
.template-product-v2 .latest-updates .lu-swiper-arrows button {
  background: none;
}
.template-product-v2 .latest-updates .lu-swiper-arrows button::after {
  display: none;
}
.template-product-v2 .latest-updates .lu-swiper-arrows button svg path {
  stroke: #081d4d;
}
.template-product-v2 {
  /*
     * Full Width Featured Promo
     */
}
.template-product-v2 .full-width-featured-promo-section .fwfp-img {
  text-align: right;
}
.template-product-v2 .full-width-featured-promo-section .fwfp-img img {
  max-height: 290px;
  width: auto;
}
.template-product-v2 .full-width-featured-promo-section .fwfp-contant {
  max-width: 520px;
}
@media (max-width: 991px) {
  .template-product-v2 .full-width-featured-promo-section .fwfp-contant {
    margin: auto;
    text-align: center;
  }
  .template-product-v2 .full-width-featured-promo-section .fwfp-contant .fwfp-btn-wrap {
    text-align: center;
  }
  .template-product-v2 .full-width-featured-promo-section .fwfp-contant .fwfp-btn-wrap .btn-link {
    margin: auto;
  }
}
.template-product-v2 .full-width-featured-promo-section .fwfp-contant .desc h2 {
  font-size: 24px;
  line-height: 1.5;
}
@media (max-width: 991px) {
  .template-product-v2 .full-width-featured-promo-section .fwfp-wrap {
    padding: 1.5rem 0;
  }
}
.template-product-v2 .full-width-featured-promo-section .fwfp-wrap.fwfp-wrap::after {
  content: "";
  position: absolute;
  height: calc(100% - 64px);
  top: 32px;
  right: 0;
  background: linear-gradient(90deg, rgba(243, 247, 249, 0.2) -0.49%, rgba(95, 214, 255, 0.2) 99.51%);
  width: 100%;
}
@media (max-width: 991px) {
  .template-product-v2 .full-width-featured-promo-section .fwfp-wrap.fwfp-wrap::after {
    height: 100%;
    top: 0px;
    background: rgba(95, 214, 255, 0.2);
  }
}
.template-product-v2 .full-width-featured-promo-section .fwfp-wrap.fwfp-wrap.multiple-slides {
  background: linear-gradient(90deg, rgba(243, 247, 249, 0.2) -0.49%, rgba(95, 214, 255, 0.2) 99.51%);
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.template-product-v2 .full-width-featured-promo-section .fwfp-wrap.fwfp-wrap.multiple-slides::after {
  content: none;
}
.template-product-v2 .full-width-featured-promo-section .fwfp-wrap.fwfp-wrap.multiple-slides .fwfp-pagination {
  margin-top: 0;
}
.template-product-v2 .full-width-featured-promo-section .fwfp-btn-wrap {
  margin-top: 0.5rem;
}
@media (min-width: 992px) {
  .template-product-v2 .full-width-featured-promo-section .fwfp-row-wrap .fwfp-left {
    width: 40%;
  }
}
@media (max-width: 991px) {
  .template-product-v2 .full-width-featured-promo-section .fwfp-row-wrap .fwfp-right {
    margin-top: 0 !important;
  }
}
@media (min-width: 992px) {
  .template-product-v2 .full-width-featured-promo-section .fwfp-row-wrap .fwfp-right {
    width: 60%;
  }
}
.template-product-v2 {
  /*
     * Promo Card
     */
}
.template-product-v2 .promo-card.space-md {
  padding-top: 0px;
}
.template-product-v2 .promo-card__row {
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
}
.template-product-v2 .promo-card__left {
  display: none;
}
.template-product-v2 .promo-card__right {
  text-align: center;
  width: 100%;
  z-index: 2;
}
.template-product-v2 .promo-card__headline {
  font-size: 2.5rem;
}
.template-product-v2 {
  /*
     * Promo Cards
     */
}
.template-product-v2 .promo-cards .pc-item {
  box-shadow: 0 6px 10px rgba(0, 0, 0, 0.01);
}
.template-product-v2 .promo-cards .pc-item-inner {
  background-color: #f3f7f9;
}
.template-product-v2 .anchor-link-listing {
  border-top: 1px solid #e0e0e0;
  border-bottom: 1px solid #e0e0e0;
}
.template-product-v2 .anchor-link-listing.snapping {
  position: fixed;
  top: 100px;
  width: 100%;
  z-index: 10;
  background: white;
}
.template-product-v2 .anchor-link-listing.snapping .all-list {
  margin: 12px 0;
}
.template-product-v2 .anchor-link-listing .all-list {
  margin: 16px 0;
}
.template-product-v2 .anchor-link-listing .all-list-item {
  padding: 0;
}
@media (max-width: 575px) {
  .template-product-v2 .anchor-link-listing .all-list-item {
    margin: 2px 16px;
  }
}
.template-product-v2 .anchor {
  scroll-margin-top: 50px;
}