@charset "UTF-8";
/*
Theme Name: Modular Infotech
Theme URI: https://example.com
Author: LS
Description: Block theme for hotel websites.
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 8.0
Version: 0.1.23
Text Domain: modular-infotech
*/
@import url("https://fonts.googleapis.com/css2?family=Google+Sans:ital,opsz,wght@0,17..18,400..700;1,17..18,400..700&display=swap");
/*
Reset
*/
*,
::after,
::before {
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Google Sans", sans-serif !important;
}

main {
  margin-top: 0;
}

a {
  text-decoration: none;
  opacity: 1;
}
a:hover {
  text-decoration: none;
  opacity: 0.8;
  transition: all 0.2s linear;
}

.wp-block-ls-blocks-svg-embed {
  display: flex;
  align-items: center;
}

/*
Utility
*/
.fw-bold {
  font-weight: bold;
}

.fs-s {
  font-size: var(--wp--preset--font-size--small);
}

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

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

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

/*
Decorative full-width slanted section edge.
Add `shape-slant-top` to a Group/Cover block.
*/
:has(+ .shape-slant-top) {
  position: relative;
  z-index: 1;
}

.shape-slant-top {
  --shape-slant-height: clamp(80px, 10vw, 180px);
  position: relative;
  z-index: 0;
  isolation: isolate;
}
.shape-slant-top::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--shape-slant-height);
  background: var(--wp--preset--color--accent-5) !important;
  clip-path: polygon(0 0, 0 100%, 100% 100%);
  pointer-events: none;
  transform: translateY(-100%);
}
.shape-slant-top > * {
  position: relative;
  z-index: 1;
}
.shape-slant-top.shape-slant-top-flipped::before {
  clip-path: polygon(0 0, 100% 0, 0 100%);
  transform: none;
}
.shape-slant-top.shape-slant-horizontal-flipped::before {
  clip-path: polygon(100% 0, 0 100%, 100% 100%);
}
.shape-slant-top.shape-slant-top-flipped.shape-slant-horizontal-flipped::before {
  clip-path: polygon(0 0, 100% 0, 100% 100%);
}

@media screen and (min-width: 982px) {
  .text-md-center {
    text-align: center;
  }
  .text-md-left {
    text-align: left;
  }
  .text-md-right {
    text-align: right;
  }
}
.mb-child > * {
  margin-bottom: var(--wp--preset--spacing--70, 0.5rem);
}

p strong,
li strong {
  font-weight: 600;
}

.gradient-border {
  padding: 5px 10px;
  font-size: var(--wp--preset--font-size--small);
}

.gradient-border,
.wp-block-accordion-item.is-open {
  position: relative;
}
.gradient-border::before,
.wp-block-accordion-item.is-open::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 12px;
  background: linear-gradient(90deg, #663cf6 0%, #fee89c 100%);
  padding: 2px;
  z-index: 1;
  -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;
  pointer-events: none;
  transition: all 0.4s cubic-bezier(0.18, 0.82, 0.41, 1);
  width: 100%;
  height: 100%;
  opacity: 1;
  filter: unset;
}

.alternating-bg-colors > *:nth-child(odd) {
  background-color: var(--wp--preset--color--white);
}
.alternating-bg-colors > *:nth-child(even) {
  background-color: color-mix(in srgb, var(--wp--preset--color--accent-4) 5%, transparent);
}

/*
Main
*/
body.page-template-default .entry-content > * {
  padding-top: 2.5em;
  padding-bottom: 2.5em;
}
@media (min-width: 982px) {
  body.page-template-default .entry-content > * {
    padding-top: 4em;
    padding-bottom: 4em;
  }
}

ul.type-1 {
  list-style: none;
  padding-left: 0;
}
ul.type-1 li {
  position: relative;
  padding-left: 1.875rem;
}
ul.type-1 li::before {
  content: "";
  position: absolute;
  top: 0.25em;
  left: 0;
  width: 24px;
  height: 24px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px 24px;
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 7L9.42857 17L6 13' stroke='%23663cf6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M18 7L11.767 14.2718' stroke='%23fee89c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

@media (min-width: 982px) {
  .grid-border-r > div {
    border-right: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 14%, transparent);
    padding-right: 1.5rem;
  }
  .grid-border-r > div:last-child {
    border-right: 0;
    padding-right: 0;
  }
}

/* Heading Group Pattern */
.heading-group {
  margin-bottom: 2em;
  gap: var(--wp--preset--spacing--20);
}
.heading-group .gradient-border {
  width: -moz-max-content;
  width: max-content;
  font-size: var(--wp--preset--font-size--small);
  padding: 5px 15px;
}

/* Button style: Naked Arrow */
.wp-block-button:not([class*=is-style-]) .wp-block-button__link, .wp-block-button.is-style-fill .wp-block-button__link, .wp-block-button.is-style-pill-arrow .wp-block-button__link, .wp-block-button.is-style-outline .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  white-space: nowrap;
}
.wp-block-button:not([class*=is-style-]) .wp-block-button__link::after, .wp-block-button.is-style-fill .wp-block-button__link::after, .wp-block-button.is-style-pill-arrow .wp-block-button__link::after, .wp-block-button.is-style-outline .wp-block-button__link::after {
  content: "→";
  display: inline-grid;
  place-items: center;
  width: 2.1rem;
  height: 2.1rem;
  margin-left: 0.8rem;
  border-radius: 999px;
  font-size: 1.15em;
  line-height: 1;
  flex-shrink: 0;
  background-color: #ffcb08;
  color: #000;
}
.wp-block-button.is-style-naked-arrow .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  border: none;
  border-radius: none;
  background: transparent !important;
  color: var(--wp--preset--color--contrast);
  padding: 0.78rem 1.35rem;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: none;
}
.wp-block-button.is-style-naked-arrow .wp-block-button__link::after {
  content: "→";
  display: inline-grid;
  place-items: center;
  width: 2.1rem;
  height: 2.1rem;
  margin-left: 0.8rem;
  border: 1.5px solid currentColor;
  border-radius: 999px;
  font-size: 1.15em;
  line-height: 1;
}
.wp-block-button.is-style-naked-arrow .wp-block-button__link:hover {
  opacity: 0.9;
}
.wp-block-button.no-arrow a:after {
  display: none !important;
}

/* Read More style: Naked Arrow */
.wp-block-read-more:not(.is-style-naked-arrow) {
  display: inline-flex;
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--base) !important;
  padding: 1rem 2.25rem;
  line-height: 1;
  text-decoration: none;
  box-shadow: none;
}
.wp-block-read-more:not(.is-style-naked-arrow):hover {
  background: color-mix(in srgb, var(--wp--preset--color--contrast) 85%, transparent);
  border-color: transparent;
  color: var(--wp--preset--color--base) !important;
  text-decoration: none;
}
.wp-block-read-more:not(.is-style-naked-arrow):focus-visible {
  outline: 2px solid var(--wp--preset--color--accent-4);
  outline-offset: 2px;
}
.wp-block-read-more.is-style-outline {
  border: 1px solid currentColor;
  background: transparent !important;
  color: var(--wp--preset--color--contrast) !important;
  padding: calc(1rem - 1px) calc(2.25rem - 1px);
}
.wp-block-read-more.is-style-outline:hover {
  background: color-mix(in srgb, var(--wp--preset--color--contrast) 5%, transparent) !important;
  color: var(--wp--preset--color--contrast) !important;
}
.wp-block-read-more.is-style-naked-arrow {
  display: inline-flex;
  align-items: center;
  background: transparent !important;
  color: var(--wp--preset--color--contrast);
  line-height: 1;
  text-decoration: none;
  box-shadow: none;
}
.wp-block-read-more.is-style-naked-arrow::after {
  content: "→";
  display: inline-grid;
  place-items: center;
  width: 2.1rem;
  height: 2.1rem;
  margin-left: 0.4rem;
  font-size: 1.15em;
  line-height: 1;
}
.wp-block-read-more.is-style-naked-arrow:hover {
  opacity: 0.9;
}

/*
Accordion
*/
.wp-block-accordion .wp-block-accordion-item {
  padding: 0.75em;
  background-color: var(--wp--preset--color--accent-5);
  border-radius: 12px;
  border: 1px solid #f6f7f9;
}
.wp-block-accordion .wp-block-accordion-item.is-open {
  background: linear-gradient(90deg, rgba(102, 60, 246, 0.05) 0%, rgba(124, 72, 235, 0.05) 22.98%, rgba(223, 124, 181, 0.05) 52.95%, rgba(255, 151, 116, 0.05) 79.3%, rgba(254, 232, 156, 0.05) 100%);
  border: 1px solid #f6f7f9;
}

/*
Nav Tabs
*/
.nav-tabs-block .nav-tabs {
  border: 1px solid black;
  justify-content: center;
  width: -moz-max-content;
  width: max-content;
  margin: 0 auto;
  border-radius: 5em;
  padding: 0.25em;
}
.nav-tabs-block .nav-tabs .nav-link.active {
  border-radius: 5em;
}
.nav-tabs-block .nav-tabs .nav-link.active::after {
  display: none;
}
.nav-tabs-block .tab-content {
  margin-top: 0.75em;
}
.nav-tabs-block .tab-content .tab-panel {
  background-color: var(--wp--preset--color--accent-5);
  border: 0;
}

/*
Features Grid
*/
.wp-block-group.is-layout-grid.feature-grid {
  display: grid;
  grid-template-columns: 1fr;
}
.wp-block-group.is-layout-grid.feature-grid > .wp-block-group {
  background-color: #edf2ff;
  box-shadow: var(--wp--preset--shadow--small);
  padding: 0.5em;
  border-radius: 1em;
}
.wp-block-group.is-layout-grid.feature-grid > .wp-block-group:nth-child(3) {
  background-image: url(assets/images/features-image7.webp);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media (min-width: 982px) {
  .wp-block-group.is-layout-grid.feature-grid.wp-block-group-is-layout-grid {
    display: grid;
    grid-template-columns: 260px minmax(320px, 1fr) 260px;
    grid-template-rows: repeat(2, 1fr);
    gap: 24px;
    align-items: stretch;
  }
  .wp-block-group.is-layout-grid.feature-grid.wp-block-group-is-layout-grid > .wp-block-group:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
  }
  .wp-block-group.is-layout-grid.feature-grid.wp-block-group-is-layout-grid > .wp-block-group:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
  }
  .wp-block-group.is-layout-grid.feature-grid.wp-block-group-is-layout-grid > .wp-block-group:nth-child(3) {
    grid-column: 2;
    grid-row: 1/3;
  }
  .wp-block-group.is-layout-grid.feature-grid.wp-block-group-is-layout-grid > .wp-block-group:nth-child(4) {
    grid-column: 3;
    grid-row: 1;
  }
  .wp-block-group.is-layout-grid.feature-grid.wp-block-group-is-layout-grid > .wp-block-group:nth-child(5) {
    grid-column: 3;
    grid-row: 2;
  }
}

.service-card-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  gap: 2.5rem;
  justify-content: center;
}
.service-card-grid > .wp-block-group {
  width: min(100%, 360px);
  min-height: 280px;
  margin-inline: auto;
  padding: 1rem 1rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  background: var(--wp--preset--color--white);
  border-radius: 1em;
  box-shadow: var(--wp--preset--shadow--small);
}
.service-card-grid > .wp-block-group > .wp-block-group {
  padding-left: 0;
  padding-right: 0;
}
.service-card-grid .wp-block-ls-blocks-svg-embed {
  margin-bottom: 1.25rem;
}
.service-card-grid p {
  margin-bottom: 0;
}
@media (min-width: 782px) {
  .service-card-grid {
    grid-template-columns: repeat(2, minmax(280px, 360px));
  }
}
@media (min-width: 982px) {
  .service-card-grid {
    grid-template-columns: repeat(3, 360px);
    gap: 3rem 3.5rem;
  }
}
@media (min-width: 982px) {
  .service-card-grid.service-card-grid-2 {
    grid-template-columns: repeat(2, 360px);
    gap: 3rem 3.5rem;
  }
}

/*
Contact Shortcode
*/
.contact-row {
  display: flex;
  -moz-column-gap: 1em;
       column-gap: 1em;
  padding: 1em;
  margin-top: 0;
  flex-direction: column;
}
@media (min-width: 982px) {
  .contact-row {
    flex-direction: row;
  }
}

.contact-region {
  flex: 50% 0 0;
}

.contact-meta {
  display: flex;
  -moz-column-gap: 1em;
       column-gap: 1em;
  flex: 50% 0 0;
}
.contact-meta p {
  margin: 0;
}

/*
Dealer Locator Shortcode
*/
.dealer-locator__field {
  position: relative;
}
.dealer-locator__field::after {
  content: "\f078";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  top: 50%;
  right: var(--wp--preset--spacing--50, 1rem);
  transform: translateY(-50%);
  pointer-events: none;
  font-size: 0.875rem;
  color: var(--wp--preset--color--contrast);
}

.dealer-locator__select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 100%;
  padding: var(--wp--preset--spacing--40, 0.8rem) calc(var(--wp--preset--spacing--50, 1rem) * 2.5) var(--wp--preset--spacing--40, 0.8rem) var(--wp--preset--spacing--50, 1rem);
  border-radius: var(--wp--preset--spacing--30, 0.5rem);
}

.dealer-locator__select:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}

.dealer-locator__select::-ms-expand {
  display: none;
}

.dealer-locator__controls {
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.dealer-card {
  background: var(--wp--preset--color--accent-5);
  margin-top: 1em;
  padding: 1em;
  border-radius: 10px;
}
.dealer-card > * {
  margin: 0;
}
.dealer-card .dealer-card__address {
  margin-top: 1em;
  margin-bottom: 1em;
}
.dealer-card .dealer-card__meta:not(:last-child) {
  margin-bottom: 0.5em;
}

/*
Brand Marquee
*/
/*
Marquee
*/
.marquee {
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  box-sizing: border-box;
}
.marquee .marquee-content {
  display: inline-block;
  white-space: nowrap;
  animation: marquee-left 60s linear infinite;
}
.marquee .marquee-content img {
  display: inline-block;
  vertical-align: middle;
}

@keyframes marquee-left {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}
/*
Contact Form 7
*/
.wpcf7 {
  width: 100%;
}
.wpcf7 .wpcf7-form {
  padding: 10px;
}
.wpcf7 .wpcf7-form label {
  width: 100%;
  font-size: 0.85rem;
  text-transform: uppercase;
  color: var(--wp--preset--color--accent-4);
}
.wpcf7 .wpcf7-form .wpcf7-form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--wp--preset--color--contrast);
  background-color: var(--wp--preset--color--base);
  background-clip: padding-box;
  border: 1px solid var(--wp--preset--color--accent-2);
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  background-color: transparent;
  border-top: 0;
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}
.wpcf7 .wpcf7-form .wpcf7-form-control:focus {
  border-color: var(--wp--preset--color--contrast);
}
.wpcf7 .wpcf7-form textarea.wpcf7-form-control {
  height: 50px;
}
.wpcf7 .wpcf7-form [type=text] {
  color: var(--wp--preset--color--contrast);
}
.wpcf7 .wpcf7-form .wpcf7-form-control.wpcf7-submit {
  padding: 0.5rem 2.5 rem;
  font-size: 0.95rem;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--wp--preset--color--base);
  background: var(--wp--preset--color--contrast);
  border-radius: 2.1875 rem;
  max-width: 300px;
}
.wpcf7 .wpcf7-form .wpcf7-form-control.wpcf7-submit:focus {
  background: var(--wp--preset--color--accent-4);
}

.styled-form .wpcf7-form:before {
  content: "";
  width: 50%;
  height: calc(100% + 30px);
  position: absolute;
  top: -15px;
  left: -15px;
  background: var(--wp--preset--color--accent-4) !important;
  z-index: -1;
  border-radius: 10px 0 0 10px;
}
.styled-form .wpcf7-form {
  position: relative;
  background: var(--wp--preset--color--white);
  max-width: 500px;
  box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
  border-radius: 10px;
}
.styled-form .wpcf7-form textarea {
  height: 150px !important;
}
.styled-form .wpcf7-form .wpcf7-form-control.wpcf7-submit {
  margin: 0 auto;
  padding-top: 10px;
  padding-bottom: 10px;
  background-color: var(--wp--preset--color--accent-4) !important;
}

/*
Sticky
*/
.sticky {
  position: sticky;
  top: 10px;
  align-self: flex-start;
}

/*
Footer
*/
footer {
  margin-top: 0;
}

/*
Play Button
*/
.youtube-play {
  position: relative;
  display: inline-block;
  cursor: pointer;
}

.youtube-play img {
  display: block;
  width: 100%;
  height: auto;
}

/* Play button circle + triangle */
.youtube-play::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 80px;
  height: 80px;
  background-color: #ff004c;
  background-image: url("data:image/svg+xml,%3Csvg width='28' height='32' viewBox='0 0 28 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 2L26 16L4 30V2Z' fill='white'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 28px 32px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

/* Pulse animation ring */
.youtube-play::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 80px;
  height: 80px;
  border: 2px solid #ff004c;
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(1);
  animation: pulse-ring 1.5s infinite;
  z-index: 1;
  pointer-events: none;
}

@keyframes pulse-ring {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }
  100% {
    transform: translate(-50%, -50%) scale(1.8);
    opacity: 0;
  }
}
/*
Numbered list timeline
*/
.timeline {
  list-style: none;
  padding: 0;
  counter-reset: timeline; /* Initiates the number counter */
}

.timeline li {
  position: relative;
  padding: 0 0 1rem 2rem; /* Left padding for spacing */
  border-left: 2px solid var(--wp--preset--color--accent-4); /* The vertical line color */
}

/* Connect the lines except for the last item */
.timeline li:not(:last-child)::after {
  content: "";
  position: absolute;
  left: -2px; /* Centers line under circle */
  top: 0px;
  bottom: -10px;
  width: 2px;
  background-color: var(--wp--preset--color--accent-4);
  z-index: -1;
}

/* Creates the numbered circle */
.timeline li::before {
  counter-increment: timeline;
  content: counter(timeline);
  position: absolute;
  left: -12px; /* Centers circle on line */
  top: 0;
  width: 25px;
  height: 25px;
  background-color: var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--accent-5);
  border-radius: 50%;
  text-align: center;
  font-size: 15px;
  line-height: 25px;
  font-weight: bold;
}

/*
CTA - Whatsapp Book Now
*/
.floating-buttons {
  position: fixed;
  z-index: 99;
  bottom: 15px;
  right: 15px;
}

@media screen and (min-width: 768px) {
  .floating-buttons {
    right: 90px;
    bottom: 50px;
  }
}
/*
Pulsating WhatsApp button.
*/
.pulsating-circle {
  width: 30px;
  height: 30px;
  position: absolute;
  bottom: 0;
  right: 0;
}
.pulsating-circle:before {
  content: "";
  position: relative;
  display: block;
  width: 300%;
  height: 300%;
  box-sizing: border-box;
  margin-left: -100%;
  margin-top: -100%;
  border-radius: 45px;
  background: #0d6f45;
  animation: pulse-ring 1.25s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
}
.pulsating-circle:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 15px;
  box-shadow: 0 0 8px rgba(116, 76, 7, 0.3);
  animation: pulse-dot 1.25s cubic-bezier(0.455, 0.03, 0.515, 0.955) -0.4s infinite;
}

/*
Bottom-center WhatsApp chat band.
Keeps the existing floating button markup and link behavior.
*/
.floating-buttons {
  left: auto;
  right: 20px;
  bottom: 20px;
  transform: none;
}

.pulsating-circle {
  position: relative;
  right: auto;
  bottom: auto;
  width: 115px;
  height: 48px;
}
.pulsating-circle a {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  padding: 0 24px 0 54px;
  border-radius: 999px;
  background: #25d366;
  box-shadow: 0 8px 24px rgba(13, 111, 69, 0.28);
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
}
.pulsating-circle a::before {
  content: "";
  position: absolute;
  z-index: 5;
  top: 50%;
  left: 12px;
  width: 30px;
  height: 30px;
  background: center/28px 28px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%23fff' d='M16.04 3A12.87 12.87 0 0 0 5.14 22.72L3 29l6.5-2.08A12.96 12.96 0 1 0 16.04 3zm0 23.6c-2.05 0-4.04-.59-5.75-1.7l-.41-.26-3.86 1.23 1.27-3.73-.27-.43A10.53 10.53 0 1 1 16.04 26.6zm5.77-7.9c-.32-.16-1.87-.92-2.16-1.03-.29-.1-.5-.16-.71.16-.21.32-.82 1.03-1 1.24-.19.21-.37.24-.69.08-.32-.16-1.34-.49-2.55-1.58-.94-.84-1.58-1.88-1.76-2.2-.19-.32-.02-.49.14-.65.14-.14.32-.37.48-.56.16-.18.21-.31.32-.52.1-.21.05-.4-.03-.56-.08-.16-.71-1.71-.97-2.35-.26-.61-.52-.53-.71-.54h-.61c-.21 0-.55.08-.84.4-.29.32-1.1 1.08-1.1 2.63 0 1.55 1.13 3.05 1.29 3.26.16.21 2.22 3.39 5.38 4.75.75.32 1.34.52 1.79.67.75.24 1.44.2 1.98.12.6-.09 1.87-.76 2.13-1.5.26-.74.26-1.37.18-1.5-.08-.13-.29-.21-.61-.37z'/%3E%3C/svg%3E");
  transform: translateY(-50%);
}
.pulsating-circle a::after {
  content: "Chat";
}
.pulsating-circle::before {
  position: absolute;
  z-index: 4;
  top: 5px;
  left: 8px;
  width: 38px;
  height: 38px;
  margin: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.42);
  animation: whatsapp-chat-pulse-ring 1.5s ease-out infinite;
  pointer-events: none;
}
.pulsating-circle::after {
  z-index: 4;
  top: 9px;
  left: 12px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
  animation: whatsapp-chat-pulse-dot 1.5s ease-in-out infinite;
  pointer-events: none;
}

@media screen and (min-width: 768px) {
  .floating-buttons {
    right: 30px;
    bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .pulsating-circle {
    width: 44px;
    height: 44px;
    isolation: isolate;
  }
  .pulsating-circle a {
    z-index: 1;
    padding: 0;
    border-radius: 50%;
    background: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%2325d366' d='M16.04 3A12.87 12.87 0 0 0 5.14 22.72L3 29l6.5-2.08A12.96 12.96 0 1 0 16.04 3zm0 23.6c-2.05 0-4.04-.59-5.75-1.7l-.41-.26-3.86 1.23 1.27-3.73-.27-.43A10.53 10.53 0 1 1 16.04 26.6zm5.77-7.9c-.32-.16-1.87-.92-2.16-1.03-.29-.1-.5-.16-.71.16-.21.32-.82 1.03-1 1.24-.19.21-.37.24-.69.08-.32-.16-1.34-.49-2.55-1.58-.94-.84-1.58-1.88-1.76-2.2-.19-.32-.02-.49.14-.65.14-.14.32-.37.48-.56.16-.18.21-.31.32-.52.1-.21.05-.4-.03-.56-.08-.16-.71-1.71-.97-2.35-.26-.61-.52-.53-.71-.54h-.61c-.21 0-.55.08-.84.4-.29.32-1.1 1.08-1.1 2.63 0 1.55 1.13 3.05 1.29 3.26.16.21 2.22 3.39 5.38 4.75.75.32 1.34.52 1.79.67.75.24 1.44.2 1.98.12.6-.09 1.87-.76 2.13-1.5.26-.74.26-1.37.18-1.5-.08-.13-.29-.21-.61-.37z'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 34px 34px;
    box-shadow: none;
  }
  .pulsating-circle a::before {
    content: none;
  }
  .pulsating-circle a::after {
    content: none;
  }
  .pulsating-circle::before {
    z-index: 0;
    top: 0;
    left: 0;
    width: 44px;
    height: 44px;
    background: rgba(37, 211, 102, 0.35);
  }
  .pulsating-circle::after {
    display: none;
  }
}
@keyframes whatsapp-chat-pulse-ring {
  0% {
    opacity: 0.85;
    transform: scale(0.75);
  }
  80%, 100% {
    opacity: 0;
    transform: scale(1.35);
  }
}
@keyframes whatsapp-chat-pulse-dot {
  0%, 100% {
    transform: scale(0.92);
  }
  50% {
    transform: scale(1);
  }
}
@keyframes pulse-ring {
  0% {
    transform: scale(0.33);
  }
  80%, 100% {
    opacity: 0;
  }
}
@keyframes pulse-dot {
  0% {
    transform: scale(0.8);
  }
  50% {
    transform: scale(1);
  }
  100% {
    transform: scale(0.8);
  }
}
@keyframes bounce {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(8px);
  }
  100% {
    transform: translateY(0);
  }
}
/*
Carousel
*/
.wp-block-ls-blocks-carousel-slide .wp-block-cover {
  height: 100%;
}

/*
Button group labels
*/
.wp-block-buttons.labels .wp-block-button a {
  padding: 5px 10px !important;
  font-size: var(--wp--preset--font-size--small) !important;
  background: var(--wp--preset--gradient--surface);
  border: 1px solid var(--wp--preset--color--accent-2);
  box-shadow: var(--wp--preset--shadow--medium);
}

/*
Downloads
*/
.featured-download svg {
  background: #fff;
  box-shadow: var(--wp--preset--shadow--small);
  border-radius: 8px;
}
.featured-download > .wp-block-group {
  background: var(--wp--preset--color--accent-5);
  box-shadow: var(--wp--preset--shadow--medium);
  padding: 5px;
  border-radius: 8px;
  display: flex;
  align-items: center;
}
.featured-download > .wp-block-group .wp-block-group {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.featured-download > .wp-block-group .wp-element-button {
  padding: 0 !important;
  font-size: var(--wp--preset--font-size--small);
}

.catalogs .wp-block-group .wp-block-group {
  background: var(--wp--preset--color--white);
  padding: 5px;
  border-radius: 8px;
  overflow: hidden;
  text-align: center;
}
.catalogs .wp-block-group .wp-block-group p {
  font-weight: bold;
}
.catalogs .wp-block-group .wp-block-group .wp-block-buttons {
  margin-top: 0;
  justify-content: center;
}
.catalogs .wp-block-group .wp-block-group .wp-block-buttons .wp-element-button {
  padding: 0;
  color: var(--wp--preset--color--accent-4);
  font-size: var(--wp--preset--font-size--small);
}
.catalogs .wp-block-button.is-style-naked-arrow .wp-block-button__link {
  gap: 0.5rem;
  padding: 0 !important;
  border: 0;
  background: transparent !important;
  box-shadow: none;
}
.catalogs .wp-block-button.is-style-naked-arrow .wp-block-button__link::after {
  content: "";
  width: 2rem;
  height: 2rem;
  margin-left: 0;
  border: 0;
  border-radius: 0;
  background: transparent url("assets/images/pdf-download.svg") center/contain no-repeat;
}

/*
Gradient Overlay
*/
.gradient-overlay:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: #000000;
  background: linear-gradient(360deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%);
}

/*
Navigation
*/
@media (min-width: 782px) {
  .wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
    left: 100%;
    right: auto;
  }
}
/*
Store Link
*/
header .wp-block-navigation__container > li:last-child > a {
  color: #ffcb08 !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

header .wp-block-navigation__container > li:last-child > a span {
  color: #ffcb08 !important;
}

header .wp-block-navigation__container > li:last-child > a::before {
  content: "";
  width: 24px;
  height: 24px;
  display: inline-block;
  background: #ffcb08;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.5 17c-.8 0-1.5.7-1.5 1.5S7.7 20 8.5 20s1.5-.7 1.5-1.5S9.3 17 8.5 17Zm7 0c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5 1.5-.7 1.5-1.5-.7-1.5-1.5-1.5Zm-6-3.8h5.1c1.2 0 2.2-.7 2.6-1.8l1.3-3.5c.3-.8-.3-1.7-1.2-1.7h-10l-.8-2h-3v1.5h2l2.7 6.7-.6 1.3c-.6 1.2.3 2.5 1.6 2.5h8.4v-1.5H9.2c-.2 0-.3-.2-.2-.4l.6-1.1ZM7.9 7.8h9L15.7 11c-.2.5-.6.8-1.2.8H9.4l-1.6-4Z'/%3E%3C/svg%3E") center/contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.5 17c-.8 0-1.5.7-1.5 1.5S7.7 20 8.5 20s1.5-.7 1.5-1.5S9.3 17 8.5 17Zm7 0c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5 1.5-.7 1.5-1.5-.7-1.5-1.5-1.5Zm-6-3.8h5.1c1.2 0 2.2-.7 2.6-1.8l1.3-3.5c.3-.8-.3-1.7-1.2-1.7h-10l-.8-2h-3v1.5h2l2.7 6.7-.6 1.3c-.6 1.2.3 2.5 1.6 2.5h8.4v-1.5H9.2c-.2 0-.3-.2-.2-.4l.6-1.1ZM7.9 7.8h9L15.7 11c-.2.5-.6.8-1.2.8H9.4l-1.6-4Z'/%3E%3C/svg%3E") center/contain no-repeat;
}

/*
Modal Menu
*/
/* Mobile menu full width + center alignment */
#modal-1.is-menu-open .wp-block-navigation__responsive-container-content,
#modal-1.is-menu-open .wp-block-navigation__container,
#modal-1.is-menu-open .wp-block-navigation__submenu-container {
  width: 100% !important;
  max-width: none !important;
  align-items: stretch !important;
  justify-content: center !important;
  text-align: center;
  gap: 1em;
}

/* Stack menu items full width */
#modal-1.is-menu-open li {
  width: 100%;
}

/* Center all menu links */
#modal-1.is-menu-open a.wp-block-navigation-item__content {
  width: 100%;
  justify-content: center;
  text-align: center;
  padding: 12px 16px;
}

/* Level 1 submenu */
#modal-1.is-menu-open .wp-block-navigation__submenu-container {
  position: static !important;
  background: #0b3f57 !important;
  padding: 10px;
  margin: 0 !important;
  border-radius: 6px;
}

/* Level 2 submenu */
#modal-1.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
  background: #14506b !important;
}

/* Center submenu arrow buttons */
#modal-1.is-menu-open .wp-block-navigation-submenu {
  justify-content: center;
}

#modal-1.is-menu-open .wp-block-navigation__submenu-icon {
  position: absolute;
  right: 18px;
}

/*
Footer - Buy Support
*/
.buy-support-sec {
  display: none !important;
}

.page-id-638 .buy-support-sec, .page-id-117 .buy-support-sec {
  display: flex !important;
}