/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
/* 1) Structure & positioning */

.adec-mm-panel .adec-mm-submenu--depth-0 > .adec-mm-item--depth-1.current_page_item > .adec-mm-link,
.adec-mm-panel .adec-mm-submenu--depth-1 > .adec-mm-item--depth-2.current-menu-item > .adec-mm-link,
.adec-mm-panel .adec-mm-submenu--depth-0 > .adec-mm-item--depth-1.current_page_parent > .adec-mm-link,
.adec-mm-panel .adec-mm-list > .adec-mm-item--depth-0.current_page_ancestor:not(.is-open) .adec-mm-link{
	color: #e6356f !important;
}

.hc-main-menu .menu > .menu-item { position: relative; }               /* top-level li */
.hc-main-menu  .sub-menu .menu-item { position: relative; }             /* nested li */

.hc-main-menu  .sub-menu {
  width: 300px;
  background: #fff;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .3s ease, visibility .3s ease;
  z-index: 1000;              /* sit above header */
}

/* 3) Reveal logic (no display:none to keep animations working) */
.hc-main-menu  .menu-item:hover > .sub-menu,
.hc-main-menu  .menu-item:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* 4) Waterfall fade for each panel as it opens */
@keyframes waterfall {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* Only animate the panel that is being opened */
.hc-main-menu  .menu > .menu-item:hover > .sub-menu,
.hc-main-menu .sub-menu .menu-item:hover > .sub-menu {
  animation: waterfall .5s forwards;
}

/* 5) Staggered list-item drop */
@keyframes drop {
  0%   { opacity: 0; transform: translateY(-10px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Apply the stagger only to items inside the submenu being shown */
.hc-main-menu  .menu-item:hover > .sub-menu > li,
.hc-main-menu  .menu-item:focus-within > .sub-menu > li {
  opacity: 0;
  transform: translateY(-10px);
  animation: drop .3s forwards;
}

/* Simple stagger; extend as needed */
.hc-main-menu  .menu-item:hover > .sub-menu > li:nth-child(1) { animation-delay: .08s; }
.hc-main-menu  .menu-item:hover > .sub-menu > li:nth-child(2) { animation-delay: .16s; }
.hc-main-menu  .menu-item:hover > .sub-menu > li:nth-child(3) { animation-delay: .24s; }
.hc-main-menu  .menu-item:hover > .sub-menu > li:nth-child(4) { animation-delay: .32s; }
/* add more nth-child rows if you have more items */

/* 6) Link sizing inside panels */
.hc-main-menu .sub-menu a {
  display: block;
  width: 300px !important;
  padding: .65rem .9rem;
  line-height: 1.2;
  white-space: normal;
}

/*Sub Menu Progress Bar */
/* Sticky wrapper */
#hcsubmenu {
  position: sticky;
  top: var(--hcsubmenu-top, 80px);
  z-index: 30;
  background: #f4f4f4;
}

/* Submenu bar */
.scroll-progress-nav {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0;
  border-bottom: none;
  overflow: hidden;
  white-space: nowrap;
}

/* Menu items */
.spn-item {
  flex: 1 1 0;
  text-align: center;
  padding: 12px 8px;
  text-decoration: none;
  color: #222;
  font-weight: 500;
  line-height: 1.2;
  position: relative;
  margin: 0 8px; /* tighter spacing between items */
}

/* Background track with small gaps between items */
.spn-item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 5px;   /* tighter gap on each side */
  right: 5px;
  height: 5px;
  background: #e5e7eb;
  border-radius: 2px;
  z-index: 1;
}

/* Shared fill bar base */
.spn-item::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 5px;
  height: 5px;
  width: var(--fill, 0%);
  border-radius: 2px;
  transition: width 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  z-index: 2;
  pointer-events: none;

  /* Each item gets its own slice of the continuous gradient */
  background: linear-gradient(to right, var(--g1, #3fb5a5), var(--g2, #d34e27));
}

/* Active label style */
.spn-item.is-active {
  color: #000;
}

/* Mobile handling */
@media (max-width: 768px) {
  #hcsubmenu {
    top: var(--hcsubmenu-top, 64px);
  }
  .scroll-progress-nav {
    overflow-x: auto;
    scrollbar-width: thin;
  }
  .spn-item {
    flex: 0 0 auto;
    padding: 12px 14px;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .spn-item::before {
    transition: none;
  }
}
.callouts {
  border-radius: 25px 10px 10px 10px !important;
  border: 1px solid transparent;           /* border thickness */
  background:
    /* inner background, change to your color/image if needed */
    linear-gradient(#f3f3f3, #f3f3f3) padding-box,
    /* gradient border */
    linear-gradient(70deg, #A9A9A9, #fff, #A9A9A9) border-box;
}
:root{
  --svc-bg:#ffffff;
  --svc-home:#3fb5a5;
  --svc-text:#072a3a;
  --svc-accent:#cc3362; /* fuschia */
  --svc-border:#eee;
  --svc-radius:5px;
  --svc-pad:14px 18px;
  --svc-speed:280ms;
}

/* Container box */
.service-item{
  background:#EFEFEF;
}

/* Header click area */
.service-trigger{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:var(--svc-pad);
  background:transparent;
  border:0;
  cursor:pointer;
  text-align:left;
}

/* Remove hover styling entirely */
.service-trigger:hover,
.service-trigger:active,
.service-trigger:focus-visible{
  background:transparent;
  color:inherit;
  outline:none;
}

/* Title text */
.service-title{
  font-weight:600;
  color:#cc3362;
  font-size: 1.2rem;
  line-height: 1em;
  display: block;
}
/* Title text */
.service-title-home{
  font-weight:600;
  color:#cc3362;
  font-size: 1.2rem;
  line-height: 1em;
  display: block;
}

/* Plus/X icon */
.plusx{
  position:relative;
  width:22px; height:22px;
}
.plusx i{
  position:absolute; left:50%; top:50%;
  width:18px; height:2px;
  background:var(--svc-accent);
  transform:translate(-50%,-50%);
  border-radius:2px;
  transition:transform var(--svc-speed) ease;
}
.plusx i:last-child{
  transform:translate(-50%,-50%) rotate(90deg);
}

/* Panel slide container */
.service-panel{
  height:0;
  overflow:hidden;
  transition:height var(--svc-speed) ease;
}

/* Panel text padding */
.service-inner{
  padding:12px 18px 18px 18px;
  color:#333;
  background: rgba(255,255,255,.75);
  display:flex;
  flex-direction:column;
  
}

/* Open State - rotates + to X */
.service-item.is-open .plusx i:first-child{
  transform:translate(-50%,-50%) rotate(45deg);
}
.service-item.is-open .plusx i:last-child{
  transform:translate(-50%,-50%) rotate(-45deg);
}
/* Remove all hover / active / pressed background changes */
.service-trigger,
.service-trigger:hover,
.service-trigger:active,
.service-trigger:focus,
.service-trigger:focus-visible {
  background: transparent !important;
  box-shadow: none !important;
  color: var(--svc-text) !important;
}

/* Also prevent Elementor "hover overlay" if present */
.service-item:hover .service-trigger {
  background: transparent !important;
}
.service-trigger{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:75px; /* <= This ensures closed height is always 75px */
  padding:0 18px; /* Remove vertical padding now that height is fixed */
  background:transparent;
  border:0;
  cursor:pointer;
  text-align:left;
}
/* default shell */
.service-item{
  border:1px solid var(--svc-border);
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  transition:border-color 180ms ease, box-shadow 180ms ease;
}

/* subtle hint on hover */
.service-item:hover{
  border-color:#ddd;
  box-shadow:0 2px 8px rgba(0,0,0,.06);
}

.service-learnmore{
  display:inline-block;
  margin-top:12px;
  padding:8px 16px;
  background:#cc3362;
  color:#fff;
  margin-left:auto;   /* pushes it to the right */
  text-decoration:none;
  font-weight:600;
  font-size:.9rem;
  transition:background 180ms ease;
}

.service-learnmore:hover{
  background:#b53813;
  color:#fff;
}
.elementor-post-info__terms-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

a.elementor-post-info__terms-list-item {
    display: inline-block !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    padding: 0px 3px !important;
	letter-spacing: 1px !important;
	margin-right: 5px !important;
    border-radius: 3px !important;
    border: 1px solid #00c1de !important;
    background: #00c1de90!important;
    color: #ffffff !important;
	text-transform: uppercase!important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

a.elementor-post-info__terms-list-item:hover {
    background: #00c1de !important;
    color: #fff !important;
}
.elementor-post-info__terms-list {
    padding-left: 0 !important;
    margin-left: 0 !important;
}

span.elementor-post-info__item--type-terms {
    padding-left: 0 !important;
    margin-left: 0 !important;
}

.elementor-icon-list-text {
    padding-left: 0 !important;
    margin-left: 0 !important;
}

@media and (min-width:769px) {
		#adec-stage {
	  		position: absolute;
		}
}