/*
Theme Name: Hello Elementor Child
Template: hello-elementor
Description: Child theme for Hello Elementor
Version: 1.0
*/

/* Your custom CSS goes below this line */

/* IMG */
img{
	height:auto !important;
}

/* body, html{
	overflow-x:hidden !important;
} */

/* BUTTONS */
.clip-btn a{
    clip-path: polygon(0 0, 100% 0, 100% 70%, 87% 100%, 0 100%);
}

.clip-btn svg{
   transition: transform 0.7s ease;
}

 .clip-btn:hover svg{
   transform: translateX(6px);
}

.green-btn:hover path {
    stroke: #003624 !important;
    fill: transparent;
}

.yellow-btn:hover path {
    stroke: #f3e8cc !important;
    fill: transparent !important;
}
	
}




/* BORDER GLOW ANIMATION */
.border-glow, .border-glow-lg {
  position: relative;
  overflow: visible;
}

.border-glow::after, .border-glow-lg:after {
  content: '';
  position: absolute;
  top: 31%;
  left: 0px;
  transform: translateY(0%);
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    #bde8a6 40%,
    #bde8a6 60%,
    transparent 100%
  );
}

.border-glow::after {
  width: 120px;
  animation: glow-travel 5s linear infinite;
}

@keyframes glow-travel {
  0%   { left: 0; }
  100% { left: calc(100% - 120px); }
}

.border-glow-lg::after {
  width: 180px;
  animation: glow-travel-lg 5s linear infinite;
}

@keyframes glow-travel-lg {
  0%   { left: 0; }
  100% { left: calc(100% - 180px); }
}


/* EXPANDING ICONS */

/* Force the Elementor widget wrapper to full width */

.last-update, .last-update-green {
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: 30px;
  white-space: nowrap;
  overflow: hidden;
 
}

/* PILL BACKGROUNDS AND BLURS */
.last-update {
  background: rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(10px);
   padding: 8px 16px;
    animation: rollout 5s infinite ease-in-out;
}

.last-update-green{
    background: linear-gradient(90deg, rgba(3, 91, 66, 0.25) 0%, rgba(3, 91, 66, 0.5) 100%);
    backdrop-filter: blur(5px);
     padding: 10px 26px;
      animation: rollout-all 10s infinite ease-in-out;
}

.status-dot {
  flex: 0 0 20px !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
}

.last-update .update-text {
  font-size: 14px;
  color: #035B42;
  font-weight: 500;
  font-family: var(--e-global-typography-accent-font-family), Sans-serif;
}

.last-update-green .update-text {
  font-size: 20px;
  color: #FFF;
  font-weight: 500;
font-family: "Bilmond", Sans-serif;
}



@keyframes rollout {
  0%   { width: 21%; }   /* start collapsed */
  30%  { width: 100%; }  /* expand */
  60%  { width: 100%; }  /* hold open */
  90%  { width: 21%; }   /* shrink */
  100% { width: 21%; }   /* delay before next loop */
}


@keyframes rollout-all {
  0%   { width: 18%; }  
  30%  { width: 100%; } 
  60%  { width: 100%; }  
  90%  { width: 18%; }   
  100% { width: 18%; }  
}


/* MENU ITEM (FOOTER & HEADER) */
.menu-items li a{
	max-width:fit-content;
}

.menu-items li span.elementor-icon-list-text {
    padding-left: 0px !important;
}

.menu-items li.elementor-icon-list-item {
    max-width: fit-content;
    padding-left: 0px !important;
    padding-bottom: 8px !important;
}

.menu-items li a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 1px;
    width: 100%;
    height: 0.6px !important;
    background: #F3E8CC;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.6s ease;
}

.menu-items li a:hover::after {
    transform: scaleX(1);
}

@media (min-width: 320px) and (max-width: 480px) {

.last-update-green .update-text {
    font-size: 15px;
}
}


/* PHONE CAROUSEL */
/* Mobile carousel */
@media (max-width: 767px) {
  .phone-carousel {
    display: flex;
    overflow-x: auto;
    gap: 16px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
  .phone-carousel > * {
    min-width: 100%; /* controls card width */
    flex: 0 0 auto;
    scroll-snap-align: start;
  }
  /* Optional: hide scrollbar */
  .phone-carousel::-webkit-scrollbar {
    display: none;
  }
}

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


/* BLOG NAVIGATION */

.blog-nav span.page-numbers.current {
    border-radius: 5px;
    background: #003423;
    padding: 7px 14px;
    color: #F3E8CC !important;
}

.blog-nav a.page-numbers{
	 border-radius: 5px;
    padding: 7px 14px;
	border:0.5px solid #D9D9D9;
}


/* FADE IN & OUT ANIMATION */
.orbit-wrap {
  position: relative;
}

.ring {
  animation: breathe 6s ease-in-out infinite;
}

/* Stagger timing */
.r1 { animation-delay: 0s; }
.r2 { animation-delay: 1s; }
.r3 { animation-delay: 2s; }
.r4 { animation-delay: 3s; }
.r5 { animation-delay: 4s; }

@keyframes breathe {
  0%   { opacity: 1; }
  50%  { opacity: 0.3; }
  100% { opacity: 1; }
}


button.bf-filter-btn:hover, button.bf-filter-btn.is-active{
    background: #035B42 !important;
    color:white !important;
}

button.bf-filter-btn {
    padding: 12px 25px;
    background: transparent !important;
    border-radius: 25px;
    font-family: 'Lenia Sans';
    font-style: normal;
    font-weight: 500;
    font-size: 14px;
    line-height: 150%;
    text-transform: uppercase;
    color: #035B42 !important;
    border: 1px solid #035B42 !important;
}

.bf-filter-buttons {
    display: flex;
    gap: 15px;
}

button.bf-filter-btn:focus {
    outline: none !important;
}

.blog-img{
	background-size:cover;	
}

@media (min-width: 320px) and (max-width: 1024px) {
 
.bf-filter-buttons {
   flex-wrap: nowrap;
   overflow-x: auto;
    -webkit-overflow-scrolling: touch;
   scrollbar-width: none;      /* Firefox */
    -ms-overflow-style: none;   /* IE/Edge */
    padding-bottom: 4px;
    padding-left: 16px;
    padding-right: 16px;

}

.bf-filter-buttons::-webkit-scrollbar {
    display: none;            
}

.bf-filter-btn {
    flex: 0 0 auto;
    white-space: nowrap;
}
}

@media (min-width: 1024px){
.blog-box{
    height: 100% !important;
}
}

.bf-filter-buttons{
  flex-wrap:nowrap;
  overflow-x:auto;
  scrollbar-width:none;
}
.bf-filter-buttons::-webkit-scrollbar{ display:none; }
.bf-filter-btn{
  flex:0 0 auto;
  white-space:nowrap;
}

.cta-logo .logo-marquee::before {
    background: linear-gradient(to right, #17291f, transparent) !important;
}



@media (min-width: 320px) and (max-width: 1024px) {
	
	.stat-logo .logo-marquee::before {
        background: linear-gradient(to right, #003222, transparent) !important;
    }
 
	.cta-logo .logo-marquee::before {
    background: linear-gradient(to right, #091712, transparent) !important;
}


.cta-logo .logo-marquee::after {
    background: linear-gradient(to left, #091712, transparent) !important;
}
  
  .cta-logo .logo-marquee::before, .cta-logo .logo-marquee::after {
    width: 80px !important;
  }
	
}

.case-study-img{
	background-size: cover;
    background-position: center;
}


/* LEGAL COPY */
.legal-copy h4 span{
    font-weight: 600 !important;
    font-size: 20px;
    font-family: 'Lenia Sans' !important;
}
