/* Pulled from Customizer Additional CSS */
/* =====================================================
   Navigation
===================================================== */
.nav-custom .hfe-submenu-icon-arrow
.hfe-nav-menu__layout-horizontal
.menu-item-has-children ul a
.sub-arrow i::before {
  content: "→";
  font-family: inherit;
}

.nav-custom .hfe-has-submenu-container .hfe-menu-item span {
  color: #858585;
  -webkit-transition: transform 0.3s ease;
  transition: transform 0.3s ease;
}

.nav-custom .hfe-has-submenu-container .hfe-menu-item span:hover {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.nav-custom ul.sub-menu li.menu-item {
  margin: 0;
}
.sub-menu a.hfe-sub-menu-item:hover{
	text-shadow: 0.03em 0 0 currentColor, -0.03em 0 0 currentColor;
}
.hfe-nav-menu .sub-menu > li {
    margin-bottom: 16px; /* spacing between submenu items */
}

/* Remove margin from last submenu item to avoid extra space */
.hfe-nav-menu .sub-menu > li:last-child {
    margin-bottom: 0;
}

/* =====================================================
   Slider
===================================================== */
.since-text {
  display: block;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--color-brand-turquoise);
  margin-bottom: -30px;
  line-height: 0;
}

.home-slider-content .swiper-slide-contents {
  background: #ffffff;
  padding: 40px;
  border-radius: 16px;
  -webkit-border-radius: 16px;
  max-width: 486px;
  margin-right: 30px;
  -webkit-box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
}

.home-slider-content.elementor-element
.swiper
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: 10px;
}

.home-slider-content .elementor-slide-heading,
.home-slider-content
.elementor-slides
.swiper-slide-inner
.elementor-slide-heading:not(:last-child) {
  margin-bottom: 8px !important;
}

.home-slider-content
.elementor-slides
.swiper-slide-inner {
  left: unset !important;
  margin-right: 230px !important;
}

.home-slider-content .elementor-slide-description {
  padding-top: 16px !important;
  padding-bottom: 24px !important;
}
.hfe-menu-item[aria-expanded="true"] .sub-arrow i {
    transform: rotate(180deg); /* point up */
    transition: transform 0.3s;
}
/* =====================================================
   Buttons & Links
===================================================== */
/* icon transition */
/* keep spacing fixed */
/* Button text underline setup */
/* remove default underline */
.homepage-text-button a.elementor-button.elementor-button-link.elementor-size-sm{
  text-decoration: none;
	border:none !important;
	
}

/* text wrapper */
.homepage-text-button .elementor-button-text{
  position: relative;
  display: inline-block;
  padding-bottom:8px; /* space between text and underline */
}

/* custom underline (same width as text initially) */
.homepage-text-button .elementor-button-text::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:100%;
  height:1px;
  background:var(--color-brand-turquoise);
  transform-origin:left;
  transition:transform 0.35s ease;
}

/* arrow animation */
.homepage-text-button .elementor-button-icon svg{
  transition:transform 0.35s ease;
}

/* hover effects */
.homepage-text-button:hover .elementor-button-text::after{
  transform:scaleX(1.25); /* underline grows */
}

.homepage-text-button:hover .elementor-button-icon svg{
  transform:translateX(8px);
}
.entry-content a {
  text-decoration: none !important;
}


.hfe-search-submit{
	border:none !important;
}

/* Video Button circle */
.play-color .elementor-custom-embed-play{
    background:#fff;
    border-radius:50%;
    transition:all .3s ease;
}

/* Default arrow */
.play-color .eicon-play:after{
    content:'';
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath fill='%23176E92' d='M0,2.22v17.56c0,1.68,1.89,2.75,3.45,1.96l17.31-8.78c1.65-.84,1.65-3.08,0-3.91L3.45,.27C1.89-.53,0,.55,0,2.22Z'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:center;
    background-size:16px;
}
.eicon-play:hover{
	background:var(--color-brand-dark-yellow) !important;
}
/* Hover circle */
.play-color .elementor-custom-embed-play:hover{
    background:var(--color-brand-dark-yellow) !important;
	opacity:1 !important;
}
.play-color .elementor-custom-embed-image-overlay{
    opacity:1;
}
/* Hover arrow */
.play-color .elementor-custom-embed-play:hover .eicon-play:after{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath fill='%23000000' d='M0,2.22v17.56c0,1.68,1.89,2.75,3.45,1.96l17.31-8.78c1.65-.84,1.65-3.08,0-3.91L3.45,.27C1.89-.53,0,.55,0,2.22Z'/%3E%3C/svg%3E");
}


/* =====================================================
   Forms
===================================================== */
.home-form .elementor-widget-container {
  border-radius: 24px !important;
}

.home-form input[type="submit"] {
  background-color: var(--color-brand-yellow) !important;
  border: 0 !important;
  color: #23201F !important;
  font-weight: 700 !important;
  border-radius: 4px !important;
  font-family: "Kanit", Kanit !important;
}

.home-form input[type="submit"]:hover {
  background-color: rgba(252, 201, 16, 1) !important;
}

.home-form .gfield_required {
  color: rgba(23, 110, 146, 1) !important;
}

.home-form h2.gform_title {
  display: none !important;
}

.home-form input::placeholder,
textarea::placeholder {
  color: rgba(205, 205, 205, 1) !important; 
  opacity: 1;    
}
.home-form form .ginput_container input,
.home-form form .ginput_container select {
  border: 1px solid #CDCDCD !important;
  border-radius:4px !important;
}    
.home-form form .ginput_container textarea {
border: 1px solid #CDCDCD !important;
    border-radius:4px !important;
}

.gfield:not(.gfield_contains_required) .gfield_label::after {
    content: " (optional)";
    font-weight: normal;
    font-size: 0.85em;
    color: #666; /* Adjust color to match your design */
}

/* Ensure the (optional) text doesn't appear on Section Breaks or HTML blocks */
.gfield_visibility_visible.gsection .gfield_label::after,
.gfield_html .gfield_label::after {
    content: "" !important;
}

/* =====================================================
   Tabs
===================================================== */
.tab-content-box {
  border-radius: 0 24px 24px 24px !important;
}

.home-tabs-border .e-n-tab-title {
  border-radius: 8px 8px 0 0 !important;
}

.home-tabs-border
.e-n-tab-title[aria-selected="true"]
span.e-n-tab-title-text {
  font-weight: 700 !important;
}

.home-tabs-border span.e-n-tab-icon {
  display: none !important;
}

.homepage-text-button a.elementor-button.elementor-button-link.elementor-size-sm{
	padding-left:0px !important;
}

/* =====================================================
   Tables
===================================================== */
.product-listing-table tbody tr:nth-child(even) {
  background-color: rgba(239, 252, 255, 1) !important;
}

.product-listing-table td,
.product-detail-table td,
.product-listing-table th,
.product-detail-table th {
  border: 0;
  border-bottom: 1px solid rgba(205, 205, 205, 1) !important;
}

.product-listing-table td span,
.product-detail-table td span {
  font-weight: 700 !important;
}

.product-listing-table td p,
.product-detail-table td p {
  color: rgba(23, 110, 146, 1) !important;
  font-weight: 700 !important;
}

/* Arrow icon */
.product-listing-table .arrow-link::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 6px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='%23176E92' d='M12 6L6 0L5.332.668 10.192 5.528H0v.945h10.191L5.332 11.332 6 12 12 6z'/%3E%3C/svg%3E");
}

/* =====================================================
   Horizontal Scroll (WebKit + Firefox)
===================================================== */
.product-listing-table {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.product-listing-table::-webkit-scrollbar {
  display: none;
}

.product-detail-table {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.product-detail-table::-webkit-scrollbar {
  display: none;
}

/* =====================================================
   Cards
===================================================== */
.card,
.card-boom {
  background: #ffffff;
  border-radius: 24px;
  overflow: hidden;
  transition: all 0.4s ease;
  cursor: pointer;
  position: relative;
}
.card {
  width: 100%;
}


.card-boom {
  width: 100%;
}

.card:hover .card-content .card-icon,
.card-boom:hover .card-content .card-icon {
  max-height: 400px;
}

.card:hover .card-overlay,
.card-boom:hover .card-overlay {
  background: rgba(0, 0, 0, 0.4);
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
}

.card-content {
  background: #ffffff;
}

.card-content .card-icon {
  max-height: 0;
  overflow: hidden;
  transition: 0.4s ease-in-out;
}

@media (width < 1200px) {
  .card-content .card-icon {
    max-height: 400px;
  }
}

.card-content h3 {
  margin: 0 0 12px;
  font-size: 16px;
  color: #0a6ea8;
}

.card-content p {
  font-size: 14px;
  color: #777;
  line-height: 1.6;
}

/* =====================================================
   Breadcrumbs
===================================================== */
.span.hfe-breadcrumbs-text {
  color: rgba(35, 32, 31, 1) !important;
  font-size: 14px !important;
}

/* =====================================================
   Mobile / Off-canvas Menu (MASK IMAGE)
===================================================== */
@media (max-width: 1400px) {
  .homepage-text-button	span.elementor-button-content-wrapper {
    text-align: left;
    justify-content: flex-end;
  }
}

@media (width < 1200px) {
  .e-off-canvas .elementor-nav-menu--main button.submenu-toggle:before {
    -webkit-mask-image: url(https://abascostg.wpenginepowered.com/wp-content/uploads/2026/01/menu-arrow.svg);
    mask-image: url(https://abascostg.wpenginepowered.com/wp-content/uploads/2026/01/menu-arrow.svg);
    background-color: #000;
    width: 14px;
    height: 16px;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
  }

  .e-off-canvas .elementor-nav-menu--main ul li a:after {
    background-color: #D3D4D8;
  }

  .e-off-canvas .elementor-nav-menu--main button.submenu-back-button {
    display: flex;
    align-items: center;
    border: 0;
    padding: 13px 0;
    background: transparent;
    font-size: 16px;
    color: #707070;
		font-weight:400;
  }

  .e-off-canvas .elementor-nav-menu--main .submenu-back-button:before {
    -webkit-mask-image: url(https://abascostg.wpenginepowered.com/wp-content/uploads/2026/01/back-arrow.svg);
    mask-image: url(https://abascostg.wpenginepowered.com/wp-content/uploads/2026/01/back-arrow.svg);
    width: 14px;
    height: 16px;
    background-color: #707070;
    margin-right: 10px;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
  }
	/* slider */



.home-slider-content .swiper-slide-contents { margin-right:0px; !important } .since-text { line-height:2; } .home-slider-content .elementor-swiper-button { top:90% !important; } 
.home-slider-content.elementor-element .swiper .swiper-pagination-bullets.swiper-pagination-horizontal { bottom: 47px !important; }

.home-slider-content .elementor-slides .swiper-slide-inner{ left:0 !important; margin-right:0px !important; } 
	
}

/* =====================================================
   Responsive
===================================================== */
@media (min-width: 320px) and (width < 768px) {
  .card,
  .card-boom {
    width: 100% !important;
  }
}
/* Mobile */
@media (min-width:320px) and (width < 768px){
    .elementor-widget-off-canvas .e-off-canvas{
        top:0 !important;
        overflow-y:auto;			
    }
	.card-content .elementor-widget-text-editor p {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
		div#home-tabs { background: linear-gradient(rgba(255, 255, 255, 1), rgba(239, 252, 255, 1)); 
	
}
	.home-tabs-border .e-n-tab-title { border-radius: 8px!important; 
	} 
	.tab-content-box{ border-radius: 0 0 24px 24px !important;
	} 
	.home-tabs-border span.e-n-tab-icon{ display:block !important;
	} 
	.home-tabs-border button.e-n-tab-title { justify-content: space-between !important; 
	}
}

/* Tablet */
@media (min-width:768px) and (width < 1200px){
	div#home-tabs { background: linear-gradient(rgba(255, 255, 255, 1), rgba(239, 252, 255, 1)); 
	
}
	.home-tabs-border .e-n-tab-title { border-radius: 8px!important; 
	} 
	.tab-content-box{ border-radius: 0 0 24px 24px !important;
	} 
	.home-tabs-border span.e-n-tab-icon{ display:block !important;
	} 
	.home-tabs-border button.e-n-tab-title { justify-content: space-between !important; 
	}
}

.e-off-canvas .elementor-nav-menu--main ul li:first-child > a {
    color: #23201F;     
	  font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 100%;
    border-bottom: 1px solid var(--color-brand-turquoise);
}

.e-off-canvas .elementor-nav-menu--main ul li.submenu-back + li > a {
    color: #23201F;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 100%;
    border-bottom: 1px solid var(--color-brand-turquoise);
}

.e-off-canvas .elementor-nav-menu--main ul li a {
	padding-top:12px!important;
	padding-bottom:12px !important;
  padding-right: 40px !important;
  font-size:18px !important;
}

.hfe-nav-menu .sub-menu li.menu-item {
    position: initial !important;
    }

.hfe-nav-menu .sub-menu li.menu-item ul, .hfe-nav-menu .sub-menu {min-height:660px;}


@media (width < 1200px){

#menu-item-3391 > .sub-menu{
    right: 100%;
    left: auto;
    top: 0;
}
.hfe-nav-menu > li.menu-item:not(:last-child) {
     margin-right: 35px !important;
}
	.e-off-canvas .elementor-nav-menu--main button.submenu-back-button{
		text-transform: capitalize !important;
	}
.elementor-nav-menu--dropdown {
  overflow: hidden;
  
  
}

}
