/* 
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 */
:root {
  --primary-font: "Bebas Neue", sans-serif;
  --secondary-font: "Instrument Sans", sans-serif;
}
.pr-ff,.pr-ff span,.pr-ff a, .pr-ff .elementor-heading-title{
		font-family: var(--primary-font) !important;
}
.sc-ff, .sc-ff a,.sc-ff .elementor-heading-title,.sc-ff .elementor-counter-number-wrapper{
	font-family: var(--secondary-font) !important;
}
.txt-upper .elementor-heading-title{
	text-transform: uppercase;
}
.elementor-widget-text-editor p:last-child {
   margin-bottom: 0 !important;
}
.fw4 .elementor-heading-title, .fw4.elementor-widget-text-editor, .fw4 span,.fw4 .elementor-icon-box-description{
	font-weight: 400 !important;
}
.fw5 .elementor-heading-title, .fw5.elementor-widget-text-editor, .fw5 span{
	font-weight: 500 !important;
}
.fw6 .elementor-heading-title, .fw6.elementor-widget-text-editor, .fw6 span{
	font-weight: 600 !important;
}
.white-txt{
	color: #fff !important;
}
.lh-10.elementor-widget-text-editor, .lh-10 .elementor-heading-title {
    line-height: 1.0 !important; 
}

.lh-11.elementor-widget-text-editor {
    line-height: 1.1;
}
.lh-12.elementor-widget-text-editor, .lh-12 .elementor-heading-title {
    line-height: 1.2 !important;
}
.lh-115.elementor-widget-text-editor {
    line-height: 1.15;
}

.ul-reset ul{
	padding-left: 20px;
}
/* Button */
.elementor-widget-button.btn-effect {
  line-height: 0;
}
.ky-swiper.elementor-widget-n-carousel .swiper-pagination-bullet {
    width: 46px;
    border-radius: 0;
}
.ky-swiper-l2.elementor-widget-n-carousel .swiper-pagination-bullet {
    border-radius: 0;
}
.custom-breadcrumb {
    display: flex;
    align-items: center;
}

.custom-breadcrumb a {
    color: #000000;
    text-decoration: none;
}


.custom-breadcrumb .separator {
    margin: 0 5px;
    font-weight: 300 !important;
    font-size: 28px;
    line-height: 1;
}

.custom-breadcrumb .current {
    font-weight: 600 !important;
    font-size: inherit;
    margin: 0;
}
.elementor-widget-button.btn-effect .elementor-button {
  --btn-bg: #000;
  --btn-hover-bg: #f9b700;
  --btn-border: #000;
  --btn-hover-border: #f9b700;
  --btn-color: #fff;
  --btn-hover-color: #000;
  
  position: relative;
  overflow: hidden;
  background: var(--btn-bg) !important;
  border: 1px solid var(--btn-border) !important;
  color: var(--btn-color) !important;
  transition:
    border-color 0.5s cubic-bezier(0.77, 0, 0.18, 1),
    color 0.5s cubic-bezier(0.77, 0, 0.18, 1);
  z-index: 1;
  line-height: 1.2;
}

.elementor-widget-button.btn-effect .elementor-button:before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--btn-hover-bg);
  transform: translateX(-101%);
  transition: transform 0.5s cubic-bezier(0.77, 0, 0.18, 1);
  z-index: -1;
}

.elementor-widget-button.btn-effect .elementor-button:hover:before {
  transform: translateX(0);
}

.elementor-widget-button.btn-effect .elementor-button:hover {
  color: var(--btn-hover-color) !important;
  border-color: var(--btn-hover-border) !important;
}

/* Button Variations */
.elementor-widget-button.btn-white .elementor-button {
  --btn-bg: transparent !important;
  --btn-hover-bg: #fff;
  --btn-border: #fff;
  --btn-hover-border: #fff;
  --btn-color: #fff;
  --btn-hover-color: #000;
}

.elementor-widget-button.btn-black .elementor-button {
  --btn-bg: #000;
  --btn-hover-bg: #f9b700;
  --btn-border: #000;
  --btn-hover-border: #f9b700;
  --btn-color: #fff;
  --btn-hover-color: #000;
}

.elementor-widget-button.btn-black.v2 .elementor-button {
  --btn-bg: rgba(0,0,0,0);
  --btn-hover-bg: #f9b700;
  --btn-border: #000;
  --btn-hover-border: #f9b700;
  --btn-color: #000;
  --btn-hover-color: #000;
}

.elementor-widget-button.btn-yellow .elementor-button {
  --btn-bg: #f9b700;
  --btn-hover-bg: #000;
  --btn-border: #f9b700;
  --btn-hover-border: #000;
  --btn-color: #000;
  --btn-hover-color: #fff;
}
.elementor-widget-button.btn-yellow.light .elementor-button{
	--btn-hover-bg: #fff;
	 --btn-hover-color: #000;
	  --btn-hover-border: #fff;
}
.elementor-widget-button.btn-white-light .elementor-button {
  --btn-bg: rgba(255, 255, 255, 0.10);
  --btn-hover-bg: #fff;
  --btn-border: #fff;
  --btn-hover-border: #fff;
  --btn-color: #fff;
  --btn-hover-color: #000;
}

/* Target internal Elementor elements for smooth transitions */
.elementor-widget-button.btn-effect .elementor-button .elementor-button-text,
.elementor-widget-button.btn-effect .elementor-button i,
.elementor-widget-button.btn-effect .elementor-button svg {
  position: relative;
  z-index: 2;
  transition: color 0.5s cubic-bezier(0.77, 0, 0.18, 1);
}

/*<-- Product Listing */
.testimonial-carousel .swiper-slide{
	transition: box-shadow .4s ease;
}
.pr-listing-l1:hover, .blog-lv1:hover, .testimonial-carousel .swiper-slide:hover, .cb-pc-card:hover, .card-bs:hover{
    box-shadow: rgba(249, 183, 0, 0.4) 5px 5px,  rgba(249, 183, 0, 0.3) 10px 10px !important;
}
.pr-listing-l1 .elementor-widget-image {
    overflow: hidden;
}
.pr-listing-l1 .elementor-widget-image img {
    transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
    transform: scale(1);
}
.pr-listing-l1:hover .elementor-widget-image img {
    transform: scale(1.08) rotate(1.5deg);
}
.pr-listing-yt .swiper-slide {
    box-shadow: 0 0 9.719px 0 rgba(0, 0, 0, 0.20);
}
.tech-features-sec .swiper-slide:hover > .elementor-element {
    background: var( --e-global-color-primary) !important;
}
.single-product table{
	margin-bottom: 0;
}
.single-product table td,.single-product table th,.single-product table thead:first-child tr:first-child th{
    border-color: #E1E1E1;
	padding: 20px;
	line-height: 1.35;
}
.single-product table tbody>tr:nth-child(odd)>td, .single-product table tbody>tr:nth-child(odd)>th{
	background: #fff;
}
.single-product table tbody tr:hover>td, .single-product table tbody tr:hover>th {
  background: #f3f3f3;
}
.single-product table tbody>tr:nth-child(odd)>th, .single-product table thead th {
    background: #F9B700;
	font-weight: 600;
	text-align: left;
}
.single-product table td strong{
	font-weight: 600;
}
.pr-hl-card::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 4px;
    background: #fdb900;
    transition: width .45s ease;
}
.pr-hl-card .elementor-icon svg {
    fill: transparent !important;
    color: #000;
    transition: color .35s ease, transform .45s ease;
}
.pr-hl-card h3.elementor-heading-title,
.pr-hl-card h4.elementor-heading-title {
    transition: color .35s ease;
}
.pr-hl-card:hover::after {
    width: 100%;
}
.pr-hl-card:hover .elementor-icon svg {
    color: #fff;
    transform: rotate(40deg);
}
.pr-hl-card:hover h3.elementor-heading-title,
.pr-hl-card:hover h4.elementor-heading-title {
    color: #fff !important;
}
.cb-table table tr td:nth-child(1),.cb-table table th td:nth-child(1){
	text-align: center;
	font-weight: 500;
}
.cb-table table tr td:nth-child(2){
	font-weight: 500;
}
/* Product Listing -->*/
/*<-- Single Blog */

.sb-post-content h1,
.sb-post-content h2,
.sb-post-content h3,
.sb-post-content h4,
.sb-post-content h5,
.sb-post-content h6{
    font-weight: 600;
	color: #000;
}
.sb-post-content b{
font-weight: 600;
}
.sb-post-content .elementor-widget-text-editor h2,
.sb-post-content h2{
    font-size: 25px;
    margin-top: 16px;
    margin-bottom: 5px;
}
.sb-post-content .elementor-widget-text-editor h3,
.sb-post-content h3{
    font-size: 20px;
    margin-top: 16px;
    margin-bottom: 5px;
}
.sb-post-content .elementor-widget-text-editor h4,
.sb-post-content h4{
    font-size: 18px;
    margin-top: 16px;
    margin-bottom: 5px;
}
.sb-post-content .elementor-widget-text-editor h5,
.sb-post-content h5{
    font-size: 16px;
    margin-top: 16px;
    margin-bottom: 5px;
}
.sb-post-content .elementor-widget-text-editor h6,
.sb-post-content h6{
    font-size: 14px;
    margin-top: 16px;
    margin-bottom: 5px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* first heading right after another block shouldn't add extra top gap */
.sb-post-content > *:first-child,
.elementor-widget-theme-post-content .e-con-inner div + div h2:first-child,
.elementor-widget-theme-post-content .e-con-inner div + div h3:first-child,
.elementor-widget-theme-post-content .e-con-inner div + div h4:first-child,
.elementor-widget-theme-post-content .e-con-inner div + div h5:first-child,
.elementor-widget-theme-post-content .e-con-inner div + div h6:first-child{
    margin-top: 0;
}

/* consistent rhythm for the rest of blog content */
.sb-post-content .elementor-widget-text-editor ul,
.sb-post-content ul,
.sb-post-content .elementor-widget-text-editor ol,
.sb-post-content ol{
    padding-left: 20px;
    margin-bottom: 10px;
}
.sb-post-content li{
    margin-bottom: 5px;
    line-height: 1.5;
}
.sb-post-content li:last-child{
    margin-bottom: 0;
}

.sb-post-content p{
    line-height: 1.5;
}

.sb-post-content blockquote{
    margin: 16px 0;
    padding: 10px 20px;
    border-left: 3px solid var( --e-global-color-primary );
    font-style: italic;
    color: #333;
}

.sb-post-content img{
    margin: 16px 0;
    border-radius: 4px;
}

.sb-post-content table{
    width: 100%;
    margin: 16px 0 10px;
    border-collapse: collapse;
}
.sb-post-content table th,
.sb-post-content table td{
    padding: 8px 12px;
    border: 1px solid #e0e0e0;
}
.sb-post-content a, .sb-post-content a > b{
    color: var( --e-global-color-primary ) !important;
} 
.sb-post-content a:hover, .sb-post-content a:hover > b{
    color: #000 !important;
}
.blog-lv1{
	height: 100%;
}
.blog-lv1 .elementor-widget-theme-post-featured-image a{
	width: 100%;
}
.blog-lv1 .elementor-widget.elementor-widget-theme-post-excerpt, .tech-card .elementor-widget-text-editor p {
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.6em !important;
    max-height: 4.8em !important;
}
.blog-lv1 ul.elementor-post-info li.elementor-icon-list-item:first-child {
    align-items: flex-start;
}
.blog-lv1 ul.elementor-post-info li.elementor-icon-list-item:first-child .elementor-icon-list-icon{
	margin-top: 5px;
}
.blog-lv1 ul.elementor-post-info li.elementor-icon-list-item a:hover,.blog-lv1 ul.elementor-post-info li.elementor-icon-list-item a:hover span{
	color: var( --e-global-color-primary ) !important;
}
.single-post__sidebar h5 {
    display: none;
}
.single-post__sidebar li.cat-item a,.single-post__sidebar li.cat-item  {
    font-family: "Instrument Sans";
    color: #797979;
}
.single-post__sidebar li.cat-item:hover a,.single-post__sidebar li.cat-item:hover {
    color:  var( --e-global-color-primary) ;
}
.single-post__sidebar .elementor-widget-wp-widget-categories ul{
	padding-left: 20px;
}
.single-post__sidebar .elementor-widget-wp-widget-categories ul li.cat-item{
	list-style: square;
}
.single-post__sidebar .elementor-post-info__item--type-custom a {
    background: #F3F3F3;
    padding: 10px;
}
.single-post__sidebar .elementor-post-info__item--type-custom a:hover {
    background:  var( --e-global-color-primary);
    color: #000 !important;
}
.single-post__sidebar .elementor-post-info__item--type-custom {
    display: flex !important;
    gap: 5px;
    flex-wrap: wrap;
}
html {
  scroll-padding-top: 160px; 
  scroll-behavior: smooth; /* Optional: adds native smooth scrolling */
}
/* Single Blog -->*/

/* Contact Form Start*/
/* Elementor Form Button - Black to Yellow */
.elementor-form .elementor-button {
  --btn-bg: #000;
  --btn-hover-bg: #f9b700;
  --btn-border: #000;
  --btn-hover-border: #f9b700;
  --btn-color: #fff;
  --btn-hover-color: #000;

  position: relative;
  overflow: hidden;
  background: var(--btn-bg) !important;
  border: 1px solid var(--btn-border) !important;
  color: var(--btn-color) !important;
  transition:
    border-color 0.5s cubic-bezier(0.77, 0, 0.18, 1),
    color 0.5s cubic-bezier(0.77, 0, 0.18, 1);
  z-index: 1;
  line-height: 1.2;
}

/* Yellow hover layer */
.elementor-form .elementor-button:before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--btn-hover-bg);
  transform: translateX(-101%);
  transition: transform 0.5s cubic-bezier(0.77, 0, 0.18, 1);
  z-index: -1;
}

/* Hover animation */
.elementor-form .elementor-button:hover:before {
  transform: translateX(0);
}

/* Hover text + border */
.elementor-form .elementor-button:hover {
  color: var(--btn-hover-color) !important;
  border-color: var(--btn-hover-border) !important;
}

/* Keep Elementor button content above animation */
.elementor-form .elementor-button .elementor-button-text,
.elementor-form .elementor-button i,
.elementor-form .elementor-button svg {
  position: relative;
  z-index: 2;
  transition: color 0.5s cubic-bezier(0.77, 0, 0.18, 1);
}
.cp-form textarea#form-field-message {
    min-height: 260px;
}
.cp-map .elementor-custom-embed, .cp-map.elementor-widget-google_maps iframe{
    height: 100%;
}
/* Contact Form End*/
/* Footer */
#custom-scroll-btn {
    opacity: 0;
    pointer-events: none; /* Prevents clicking when invisible */
    transform: translateY(20px); /* Optional: Adds a slight slide-up effect */
    transition: all 0.4s ease-in-out;
}

/* The class JavaScript will add when scrolling down */
#custom-scroll-btn.show-btn {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    cursor: pointer;
}
#whatsapp-pulse .elementor-icon {
    position: relative;
    z-index: 1; /* Keeps the WhatsApp icon on top */
}


#whatsapp-pulse .elementor-icon::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #25d366; /* WhatsApp Green */
    z-index: -1; /* Pushes the ripple behind the icon */
    animation: pulse-ripple 2s infinite ease-out;
}
/* Add smooth movement to the entire WhatsApp widget */
#whatsapp-pulse {
    transition: transform 0.4s ease-in-out !important;
}

/* The class applied by JS when scrolling down */
#whatsapp-pulse.move-up {
    transform: translateY(-55px) !important; 
}

/* Controls the expanding and fading animation */
@keyframes pulse-ripple {
    0% {
        transform: scale(1);
        opacity: 0.7;
    }
    100% {
        transform: scale(1.6); /* Adjust for larger/smaller ripple */
        opacity: 0;
    }
}
@media (max-width: 1024px){
	
.main-header .e-n-menu-content.e-active .e-child {
    width: 100% !important;
}
.main-header .elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-item:hover .e-n-menu-title {
    background: #000 !important;
}

.main-header .elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-item:hover .e-n-menu-title .e-n-menu-title-text{
	color: var(--e-global-color-primary) !important;
}
.main-header .elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-item:hover .e-n-menu-title span svg{
	fill: var(--e-global-color-primary) !important;
	}
.product-sub-menu .menu-item .elementor-item,.product-sub-menu .menu-item .elementor-sub-item  {
	background: var(--e-global-color-primary) !important;
}
/* 	.product-sub-menu .menu-item:hover .elementor-item,.product-sub-menu .menu-item:hover .elementor-sub-item  {
	background: #000 !important;
		color: var(--e-global-color-primary) !important;
} */
}
@media (max-width: 767px){
	.ky-swiper.elementor-widget-n-carousel .swiper-pagination-bullet{
		width: 30px;
	}
	.pr-hl-card  h4.elementor-heading-title br{
		display: none;
	}
	.sp-tabs .e-n-tabs-heading{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
	.cb-pc-wrapper.e-con {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
	.single-product table td, .single-product table th, .single-product table thead:first-child tr:first-child th{
		padding: 5px 10px;
	}
	.cp-form textarea#form-field-message {
    min-height: 120px;
}
	.cp-map.elementor-widget-google_maps iframe{
		min-height: 300px;
	}
}


@media (min-width: 1200px){	
	.cb-table table tr td:nth-child(2),.cb-table table tr th:nth-child(2){
		width: 18%;
	}
}