/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
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: 1.0.1
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
*/

/** mega menu css start **/
.megamenuhead ul.elementor-icon-list-items {
    padding-left: 0;
    list-style-type: none;
}
.megamenuhead ul.mega-sub-menu {
    margin-top: 20px !important;
}
.megamenuhead span.mega-indicator {
    display: none !important;
}
/** mega menu css End **/

/** common css start **/
.elementor-button-icon svg {
    height: auto;
    width: 52px;
}
/** common css End **/

/** home page css start**/
.expertise_slider .swiper-slide.swiper-slide-active .experti_img img {
    opacity: 1;
    height: 500px;
}

/* .expertise_slider .swiper-slide.swiper-slide-active  .experti_excerpt{
    display:none;
} */

.expertise_slider .elementor-swiper-button-next{
    display:flex;
    align-items:center;
    gap:15px;
}

/*.expertise_slider .elementor-swiper-button-next::before,.teamslider .elementor-swiper-button-next::before{
    content: 'Next';
    position: relative;
    font-size: 16px;
    color: #000000F1;
    text-transform: uppercase;
    letter-spacing:1px;
	font-weight:400;
} */

/* REMOVED: was breaking prev arrow alignment on team slider */
/*
.teamslider .elementor-swiper-button-prev{
	display:none !important;
}
*/

.expertise_slider .experti_btn {
	display:none;
}
.expertise_slider .swiper-slide.swiper-slide-active::before {
    content: '';
    position: absolute;
    top: 0px;
    width: 100%;
    height: 2px;
    background: #AF9D84;
    z-index: 1;
}
.expertise_slider .swiper-slide{
    padding-top:30px;
}
.expertise_slider .swiper {
	overflow:visible;
}
.projectcard{
	padding-top:50px;
}
.projectcard:hover::before{
	content: '';
    position: absolute;
    top: 0px;
    width: 100%;
    height: 2px;
    background: #fff;
    z-index: 1;
}
.expertise_slider .swiper-slide.swiper-slide-active .experti_btn{
	display:block;
}
.autolinearslider .swiper-wrapper {
    transition-timing-function: linear !important;
}
.autolinearslider .swiper-slide {
    /* width: auto !important; */
}
/** home page css End **/

/** about us css start**/
.teambox .team_content{
	transition:top 0.4s;
}
.teambox:hover .team_content {
	top:0;
}
.teamslider .swiper {
    overflow: visible;
}

/* TEAM SLIDER - reserve space under the carousel so arrows DON'T sit on images */
.teamslider .swiper,
.teamslider .swiper-wrapper{
  padding-bottom: 85px !important; /* creates space below slides (adjust if needed) */
}

/* Base arrow styling (match services slider sizing/feel) */
.teamslider{
  position: relative;
}

.teamslider .elementor-swiper-button{
  position: absolute !important;
  top: auto !important;
  bottom: 20px !important;          /* sits inside the reserved padding area */
  left: auto !important;

  width: 54px !important;
  height: 40px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;

  background-color: transparent !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 54px auto !important;

  box-shadow: none !important;
  outline: none !important;
  z-index: 50 !important;
}

/* TEAM SLIDER - hard reset so prev/next align perfectly */
.teamslider .elementor-swiper-button{
  transform: none !important;      /* kills translateY etc */
  top: auto !important;
  bottom: 20px !important;
  display: block !important;       /* removes flex baseline quirks */
}

/* make sure BOTH are right-aligned (Elementor sometimes forces left on prev) */
.teamslider .elementor-swiper-button-prev{
  left: auto !important;
  right: 70px !important;
}

.teamslider .elementor-swiper-button-next{
  left: auto !important;
  right: 0 !important;
}

/* Hide Elementor's default SVG arrow */
.teamslider .elementor-swiper-button svg{
  display: none !important;
}

/* Right aligned pair (both on the right, same as services slider) */
.teamslider .elementor-swiper-button-next{
  right: 0 !important;
  background-image: url('/wp-content/uploads/2026/01/left-arrow-green.svg') !important;
}

.teamslider .elementor-swiper-button-prev{
  right: 70px !important;
  background-image: url('/wp-content/uploads/2026/01/right-arrow-green-1.svg') !important;
}

/* Hide when disabled */
.teamslider .elementor-swiper-button.swiper-button-disabled{
  opacity: 0 !important;
  pointer-events: none !important;
}
/** about us css End**/

/** contact page css start**/
.contactform .gform_wrapper input,
.contactform select,
.contactform textarea {
    border: 1px solid #AF9D84 !important;
    border-radius: 0 !important;
    background-color:#fff !important;
    font-size:18px !important;
    font-weight:400;
}
.contactform input::placeholder,
.contactform select::placeholder,
.contactform textarea::placeholder{
    color: #0A1F1A4D !important;
    font-weight:400;
}
.contactform .gform_wrapper  input,
.contactform .gform_wrapper  select{
    min-height: 44px !important;
}
.contactform div#gform_fields_2 > .gfield {
    width: calc(50% - 10px) !important;
    /* flex: 0 0 50% !important; */
}
.contactform div#gform_fields_2 > .gfield:last-child{
    width:100% !important;
}
.contactform div#gform_fields_2 {
    display: flex;
    flex-wrap: wrap;
}
.contactform select {
    background: url('/wp-content/uploads/2025/12/chevron-down.png');
    background-repeat: no-repeat;
    background-position: calc(100% - 20px) center !important;
	background-size:20px !important;
}
/**contact page css end **/

@media(min-width:1920px){
	.megamenuhead ul.mega-sub-menu {
        margin-top: 40px !important;
    }
    .expertise_slider .elementor-swiper-button-next::before {
        font-size: 18px;
    }
    .expertise_slider .swiper-slide.swiper-slide-active .experti_img img {
        height: 600px;
    }
}

@media(max-width:1280px){
    .timelinesection .e-con-inner>div>div {
        width: max-content;
        max-width:160px;
    }
    .timelinesection .e-con-inner{
        width: max-content;
        overflow:auto;
    }
}

@media(max-width:1200px){
    .megamenuhead a.mega-menu-link {
        padding-top: 20px !important;
        border-bottom: 1px solid #fff !important;
        display: block !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        min-height: 70px !important;
    }
    .megamenuhead ul.mega-sub-menu {
        margin-top: 0px !important;
        padding: 0 !important;
    }
    .projectcard{
        padding-top:30px;
    }
    .megamenuhead{
        order:3 !important;	
    }
}

@media(max-width:991px){
	.brsmnone br{
		display:none;
	}
	.expertise_slider .swiper-slide.swiper-slide-active .experti_img img {
		height: 400px;
	}
	.expertise_slider .swiper-slide.swiper-slide-active  .experti_excerpt{
		display:block;
	}
}

@media(max-width:768px){
	.megamenuhead  ul.mega-menu.max-mega-menu {
        padding: 20px 16px !important;
        border-top: 1px solid #FFFFFF4D !important;
    }
    .megamenuhead ul.mega-sub-menu {
        padding: 0 !important;
        margin-top: 0 !important;
    }
    span.elementor-button-icon {
        display: none;
    }
	input#gform_submit_button_1, input#gform_submit_button_2{
		background-image:none !important;
		padding:20px !important;
		width:100%;
	}
    .projectcard img {
        opacity: 1 !important;
    }
    .projectcard:hover::before{
        display:none;
    }
    .projectcard {
        border-top: 2px solid #F5F5F5;
    }

    /* Team slider arrows on mobile: keep aligned */
    .teamslider .elementor-swiper-button{
      bottom: 20px !important; /* adjust if needed */
    }
}

/* service page css start **/
.services-slick .slideslick {
  padding: 0 15px;
}
.services-slick .slick-list {
  margin: 0 -15px;
}
.services-slick img {
  width: 100%;
  height: 260px;
  object-fit: cover;
}

/* Title styling */
.services-slick h4 {
  margin: 20px 0 20px;
  font-size: 20px;
  letter-spacing: 1px;
  color: #AF9D84;
  border-bottom: 1px solid #AF9D84; /* was 2px */
  line-height: 1.3;
  padding-bottom: 20px;
  text-transform: uppercase;
  font-family: "PP Neue Montreal", sans-serif;
  font-weight: 400;
}

/* Copy styling */
.services-slick p{
  font-size: 18px;
  font-family: "PP Neue Montreal", sans-serif;
  font-weight: 300; /* Light */
}

/* Arrows: both on right, larger, no "Next" text */
.services-slider{
  position: relative;
  overflow: visible !important; /* allow arrows outside */
}

/* IMPORTANT: keep slider viewport clipped so no peeking (desktop/tablet) */
.services-slider .slick-list{
  overflow: hidden !important;
}

/* arrow button base */
.services-slider .slick-arrow{
  position: absolute !important;
  top: unset !important;
  bottom: -103px;
  left: auto !important;
  z-index: 9999;

  width: 54px;
  height: 40px;
  padding: 0;
  border: 0;

  /* force visible + clickable */
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;

  background-color: transparent !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 54px auto !important;

  /* kill visible button text like "Next"/"Previous" */
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  text-shadow: none !important;
}

/* Slick theme sometimes injects arrows via :before - blank it */
.services-slider .slick-arrow:before{
  content: "" !important;
}

/* Next arrow (right-most) */
.services-slider .slick-next{
  right: 0 !important;
  background-image: url('/wp-content/uploads/2026/01/left-arrow-green.svg') !important;
}

/* Prev arrow (to the left of next, still right-aligned) */
.services-slider .slick-prev{
  right: 70px !important;
  background-image: url('/wp-content/uploads/2026/01/right-arrow-green-1.svg') !important;
}

/* Hide arrows when disabled (start/end, since infinite=false) */
.services-slider .slick-next.slick-disabled,
.services-slider .slick-prev.slick-disabled{
  display: none !important;
}

.services-slider button.slick-next.slick-arrow:hover,
.services-slider button.slick-next.slick-arrow:focus,
.services-slider button.slick-prev.slick-arrow:hover,
.services-slider button.slick-prev.slick-arrow:focus{
  background-color: transparent !important;
}

/* keep your layout rules */
.services-slick {
  display: flex;
  gap: 30px;
}

.slideslick {
  width: 100%;
}

.slideslick img {
  width: 100%;
  height: 400px;
  object-fit: cover;
}
.popupform .gform-theme.gform-theme--foundation {
    display: block !important;
    max-width: 610px;
    margin: 0 auto;
}
.popupform .gform_wrapper input {
    min-height: 64px !important;
}
.popupform .gform_button {
	width:100% !important;
	background-image:none !important;
}
.elementor-widget-image a {
    display: block;
}

/* Mobile view: 1-card slider (keep slick on mobile now) */
@media (max-width: 767px) {

  /* allow single card to fit nicely */
  .services-slick .slideslick {
    padding: 0 10px;
  }
  .services-slick .slick-list {
    margin: 0 -10px;
  }

  /* optional: slightly tighter arrows on mobile */
  .services-slider .slick-arrow{
    bottom: -70px !important;
    width: 54px;
    height: 40px;
  }
  .services-slider .slick-prev{
    right: 70px !important;
  }
  .services-slider .slick-next{
    right: 0 !important;
  }
}

/* service page css End **/ 

/* =========================================================
   MEGA MENU ALWAYS ON TOP (prevents slider arrows overlaying)
   ========================================================= */
.megamenuhead,
.megamenuhead .max-mega-menu,
.megamenuhead .mega-menu-wrap,
.megamenuhead .mega-menu,
.megamenuhead .mega-sub-menu {
  position: relative;
  z-index: 999999 !important;
}

/* Elementor header wrappers (common stacking context) */
header,
.elementor-location-header,
.elementor-location-header .elementor-section,
.elementor-location-header .elementor-container,
.elementor-location-header .elementor-widget-wrap,
.elementor-sticky,
.elementor-sticky--effects {
  position: relative;
  z-index: 999999 !important;
}
