/*
Theme Name: Nimo
Theme URI: https://studio21.co/
Template: hello-elementor
Author: Studio 21
Author URI: https://studio21.co/
Description: Nimo Theme
Tags: flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 2.4.0.1625113745
*/

/* Layout variables (edit here)

	•	section-xxl (For extra, extra large sections and small banners)
	•	section-xl (Extra large sections with plenty of spacing)
	•	section-l (Large sections and the one I use for most sections)
	•	section-m (Medium sections)
	•	section-s (Small sections)
	•	section-xs (Extra small sections)
	•	section-xxs (Extra extra small sections)
	•	section-hero (control the VH for hero banners, by default is set to 100vh)
	•	section-full (Creates a full width section removing padding on the sides, add another section class to add padding on the top and bottom)
	•	section-narrow (Creates a narrow section giving the content in the section 1000px)
	•	section-narrow-xs (Creates an extra narrow section giving the content in the section 720px)
	•	section-offset (Use for banners with overlay headers. This will offset the top padding)

*/

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x:hidden;
}


/* Nimo Styles */

.elementor-widget-text-editor a {color:#111}
.elementor-widget-text-editor a:hover {color:#444}

.e-n-accordion .elementor-widget-text-editor a {color:#111}

.fade-border-bottom {
  position: relative;
}

.fade-border-bottom::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;

  background: linear-gradient(
    to right,
    transparent,
    rgba(255,255,255,0.2),
    rgba(255,255,255,0.2),
    transparent
  );
}


.fade-border-top {
  position: relative;
}

.fade-border-top::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 1px;

  background: linear-gradient(
    to right,
    transparent,
    rgba(255,255,255,0.2),
    rgba(255,255,255,0.2),
    transparent
  );
}


.fade-border-bottom-dark {
  position: relative;
}

.fade-border-bottom-dark::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;

  background: linear-gradient(
    to right,
    transparent,
    rgba(0,0,0,0.2),
    rgba(0,0,0,0.2),
    transparent
  );
}


.fade-border-top-dark {
  position: relative;
}

.fade-border-top-dark::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 1px;

  background: linear-gradient(
    to right,
    transparent,
    rgba(0,0,0,0.2),
    rgba(0,0,0,0.2),
    transparent
  );
}


.featuretext {color:#FF5900}

.elementor-widget-text-editor a {
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, currentColor 30%, transparent);
}

.elementor-post-info__item-prefix {font-weight:bold}

/* Nimo Styles End */

.overlay-left {
  position: relative;
  overflow: hidden;
}

.overlay-left::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 50%; /* adjust fade width */
  height: 100%;
  pointer-events: none;
z-index: 1;
  background: linear-gradient(
    to right,
    #122229 0%,
    rgba(18, 33, 41, 0) 100%
  );
}

/* Slider Fade */

.fade-left-right {
  position: relative;
}

.fade-left-right::before,
.fade-left-right::after {
  content: "";
  position: absolute;
  top: 0;
  width: 20%;
  height: 100%;
  pointer-events: none;
  z-index: 3;
}

/* Left fade */
.fade-left-right::before {
  left: 0;
  background: linear-gradient(
    to right,
    #122229 20%,
    rgba(18, 34, 41, 0) 100%
  );
}

/* Right fade */
.fade-left-right::after {
  right: 0;
  background: linear-gradient(
    to left,
    #122229 30%,
    rgba(18, 34, 41, 0) 100%
  );
}


/* BLOCK QUOTE */


blockquote {
    margin: 1.5em 40px 0px 0px;
    padding-left: 20px;
    border-left: 2px solid #FF5900;
    font-weight: normal;
    font-style: italic;
    line-height: 1.6;
    opacity: 0.9;
	color:#112229;
}


/* IMAGE ACTION OVERLAYS */

.action-image {
  position: relative;
  display: inline-block;
  overflow: hidden;
}

.action-image::after {
  content: "";
  position: absolute;
  bottom: 0px;
  left: 30px;
  width: 20px;
  height: 20px;
  transform: translate(-50%, -50%) translateY(10px);
  opacity: 0;
  transition: opacity 0.4s ease, transform 0.4s ease;
  pointer-events: none;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23ffffff' d='m387.857 140.143v166.373c0 8.836-7.164 16-16 16s-16-7.164-16-16v-127.746l-204.401 204.401c-3.124 3.125-7.219 4.687-11.313 4.687s-8.189-1.562-11.313-4.687c-6.249-6.248-6.249-16.379 0-22.627l204.4-204.401h-127.746c-8.836 0-16-7.164-16-16s7.164-16 16-16h166.373c8.837 0 16 7.164 16 16zm124.157 115.857c0 141.167-114.848 256.014-256.014 256.014s-256.014-114.847-256.014-256.014 114.847-256.014 256.014-256.014 256.014 114.847 256.014 256.014zm-32 0c0-123.522-100.492-224.014-224.014-224.014s-224.014 100.492-224.014 224.014 100.492 224.014 224.014 224.014 224.014-100.492 224.014-224.014z'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-size: contain;
background-position: center;
}



.action-image:hover::after {
  opacity: 1;
  transform: translate(-50%, -50%) translateY(-10px);
}

/* LAYOUT STYLES */

:root {
    /* Global Padding Variables - Editable */
    /* Left and Right Padding All /Sections/Containers*/
    --fluid-side-padding-min: 1.25rem; /* 20px */
    --fluid-side-padding-max: 5rem;   /* 80px */

    /* Top and Bottom Padding All Containers*/
    --section-xxl-padding-min: 9.375rem; /* 150px */
    --section-xxl-padding-max: 10rem; /* 160px */ 
  
    --section-xl-padding-min: 6.875rem; /* 110px */
    --section-xl-padding-max: 7.5rem; /* 120px */
  
    --section-l-padding-min: 5.625rem; /* 90px */
    --section-l-padding-max: 6.25rem; /* 100px */
  
    --section-m-padding-min: 5rem; /* 80px */
    --section-m-padding-max: 5rem; /* 80px */
  
    --section-s-padding-min: 3.75rem; /* 60px */
    --section-s-padding-max: 3.75rem; /* 60px */
  
    --section-xs-padding-min: 2.5rem; /* 40px */
    --section-xs-padding-max: 2.5rem; /* 40px */
  
    --section-xxs-padding-min: 1.5rem; /* 24px */
    --section-xxs-padding-max: 1.5rem; /* 24px */
    
    --section-header-padding-min: 1.25rem; /* 20px */
    --section-header-padding-max: 1.25rem; /* 20px */

  
    /* Hero Sections Height Variable */
    --section-hero-height: 100vh; /* 100% the screen height */
  
    /* Offset Padding for Overlay Headers */
    --section-offset-header: 80px; /* Adjust to the overlay header's negative margin */

    /* Width For Narrow Sections*/
    --section-narrow: 62.5rem; /* 1000px */
    --section-narrow-xs: 45rem; /* 720px */
  }

.no-top-padding {padding-top:0px !important}
.no-bottom-padding {padding-bottom:0px !important}


/* CSS Template (do not edit below) */
  
  
  /* Section/Container Padding - Fluid Variants */
  .section-xxl {
    padding-top: clamp(var(--section-xxl-padding-min), 1.087vw + 9.13rem, var(--section-xxl-padding-max));
    padding-bottom: clamp(var(--section-xxl-padding-min), 1.087vw + 9.13rem, var(--section-xxl-padding-max));
    padding-left: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
    padding-right: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
  }
  
  .section-xl {
    padding-top: clamp(var(--section-xl-padding-min), 1.087vw + 6.63rem, var(--section-xl-padding-max));
    padding-bottom: clamp(var(--section-xl-padding-min), 1.087vw + 6.63rem, var(--section-xl-padding-max));
    padding-left: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
    padding-right: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
  }
  
  .section-l {
    padding-top: clamp(var(--section-l-padding-min), 1.087vw + 5.38rem, var(--section-l-padding-max));
    padding-bottom: clamp(var(--section-l-padding-min), 1.087vw + 5.38rem, var(--section-l-padding-max));
    padding-left: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
    padding-right: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
  }
  
  .section-m {
    padding-top: clamp(var(--section-m-padding-min), 0vw + 5rem, var(--section-m-padding-max));
    padding-bottom: clamp(var(--section-m-padding-min), 0vw + 5rem, var(--section-m-padding-max));
    padding-left: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
    padding-right: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
  }
  
  .section-s {
    padding-top: clamp(var(--section-s-padding-min), 0vw + 3.75rem, var(--section-s-padding-max));
    padding-bottom: clamp(var(--section-s-padding-min), 0vw + 3.75rem, var(--section-s-padding-max));
    padding-left: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
    padding-right: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
  }
  
  .section-xs {
    padding-top: clamp(var(--section-xs-padding-min), 0vw + 2.5rem, var(--section-xs-padding-max));
    padding-bottom: clamp(var(--section-xs-padding-min), 0vw + 2.5rem, var(--section-xs-padding-max));
    padding-left: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
    padding-right: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
  }
  
  .section-xxs {
    padding-top: clamp(var(--section-xxs-padding-min), 0vw + 1.5rem, var(--section-xxs-padding-max));
    padding-bottom: clamp(var(--section-xxs-padding-min), 0vw + 1.5rem, var(--section-xxs-padding-max));
    padding-left: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
    padding-right: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
  }
  
  .section-header {
    padding-top: clamp(var(--section-header-padding-min), 0vw + 1.25rem, var(--section-header-padding-max));
    padding-bottom: clamp(var(--section-header-padding-min), 0vw + 1.25rem, var(--section-header-padding-max));
    padding-left: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
    padding-right: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
  }
  
  /* Hero Container/Sections Height */
  .section-hero {
    min-height: var(--section-hero-height)!important;
  }

  .section-hero .e-con-inner {
    justify-content: center!important;
}
  
  /* Full Width Sections - No Side Padding */

  .section-full div {
    max-width: 100%!important;
  }
  

  /* Narrow Sections */
  .section-narrow .e-con-inner {
    max-width: var(--section-narrow)!important;
  }

  .section-narrow-xs .e-con-inner {
    max-width: var(--section-narrow-xs)!important;
  }


  /* Offset Padding for Overlay Headers */
  .section-offset {
    padding-top: calc(var(--section-offset-header) + var(--section-xxl-padding-min));
  }

/* Webkit Browsers (Chrome, Safari, Edge, Opera) */
::-webkit-scrollbar {
    width: 8px; /* Adjust scrollbar width */
}

::-webkit-scrollbar-track {
    background: #e5e2da; /* Change track color */
    border-radius: 10px; /* Optional: Makes track rounded */
}

::-webkit-scrollbar-thumb {
    background: #fff; /* Change scrollbar color */
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: #fff; /* Darker on hover */
}

/* Firefox */
* {
    scrollbar-width: thin; /* "auto" or "thin" */
    scrollbar-color: #fff #e5e2da; /* thumb color | track color */
}

/* Gallery Load Fix */

body .elementor-gallery-item__overlay {
transform: unset !important;
}

body .e-gallery-image {
transform: none !important;
}


.elementor-field-group .elementor-field-textual:focus {
  box-shadow: none !important;
}

.italic-text {font-style:italic; font-weight:200}


/* Round Edge Override */

.square-edge img {border-radius:0px}


/* Animated divider */

.animateddivider {
  height: 1px;
  margin: 1.5% 0px;
  width: 0%; /* Start at 0% width */
  background-color: rgba(0,0,0,0.2);
  transition: width 1.2s ease-in-out; /* Transition the width property over 2 seconds */
}

/* Change Colour of Selection */

::-moz-selection { /* Code for Firefox */
  color: #fff;
  background: #FF5900;
}

::selection {
  color: #fff;
  background: #FF5900;
}



/* Form overlay spinner */

.elementor-form.elementor-form-waiting::after {content:""; color:white; font-size:20px; position: absolute; left:0px; top:0px; height:100%; width:100%; background-image:url(http://16.176.166.100/wp-content/uploads/2024/01/Preloader-Grey.png); background-repeat:no-repeat; background-position:center center}


#form-success-message {display:none}

.jet-form-builder-file-upload__content {min-height:0px !important}
button.form-submit-button { padding:10px 50px !important}


/* Hide recaptcha */

.grecaptcha-badge {display:none}


/* Other Elements */


.elementor-select-wrapper .select-caret-down-wrapper {display:none !important}

select {-webkit-appearance: none !important; color:#111; background-image: url(http://16.176.166.100/wp-content/uploads/2025/08/whitearrow-down.svg); background-repeat:no-repeat; background-size: 15px; background-position: 98% 50%; background-color:transparent; border-radius:0px; border: 1px solid #666;}

select option {font-size:1rem !important}


.jet-form-builder__field-label > span::before {width:1em !important; height:1em !important; border:1px solid #111 !important}
.jet-form-builder__field-label.for-checkbox > span::before {border-radius: 100% !important}
.jet-form-builder__field-label.for-checkbox :checked + span::before {background-color:#111 !important}
.jet-form-builder__field-label.for-checkbox :hover + span::before {background-color:#111 !important}
.jet-form-builder__field-label.for-checkbox :active + span::before {background-color:#111 !important}

/* Menu Dropdown positioning */


#header .elementor-nav-menu--layout-horizontal .elementor-nav-menu>li ul {
    margin-top: 30px !important;
}


#header.elementor-sticky--effects .elementor-nav-menu--layout-horizontal .elementor-nav-menu>li ul {
    margin-top: 24px !important;
}


/* Menu Styling */



#primary-logo {fill:#fff; opacity:1; visibility:visible; transition:all ease 500ms}
#primary-logo.dark {fill:#242E1B}

#secondary-logo {fill:#242E1B; opacity:0; visibility:hidden; transition:all ease 500ms; width:48px}

@media (max-width:1367px){
#secondary-logo {width:44px; transition:all ease 500ms;}
}

@media (max-width:1025px){
#secondary-logo {width:37px; transition:all ease 500ms;}
}

@media (max-width:768px){
#secondary-logo {width:33px; transition:all ease 500ms;}
}




#header {padding-top:20px; padding-bottom:20px; padding-left: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max)); padding-right: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max)); transition:padding ease 500ms, background ease 500ms; background:#112229;}
#header.elementor-sticky--effects {padding-top:15px; padding-bottom:15px; transition:padding ease 500ms, background ease 500ms; background:#112229;}

#header.white-background {transition:background ease 500ms; background:#112229;}
#header.elementor-sticky--effects #primary-logo {fill:#3A3C3C; transition:all ease 500ms;;}
#header.white-background #primary-logo {fill:#111; transition:all ease 500ms}
#header.white-background #desktop-main-menu .e-n-menu-title-text {color:#3A3C3C; transition:all ease 500ms}
#header.white-background .e-n-menu-item svg {fill:#3A3C3C}
#header.white-background #desktop-call-menu .e-n-menu-title-text {color:#3A3C3C; transition:all ease 500ms}



#header.elementor-sticky--effects #primary-logo {fill:#111; transition:all ease 500ms}
#header.elementor-sticky--effects #contact-btn .elementor-button {color:#fff}
#header.elementor-sticky--effects #desktop-main-menu .e-n-menu-title-text {color:#3A3C3C; transition:all ease 500ms}
#header.elementor-sticky--effects .e-n-menu-item svg {fill:#3A3C3C}
#header.elementor-sticky--effects #desktop-call-menu .e-n-menu-title-text {color:#3A3C3C; transition:all ease 500ms}

#header.elementor-sticky--effects .e-n-menu-item > .e-n-menu-title.e-current {border-color: #111;}
#header.elementor-sticky--effects .e-n-menu-item > .e-n-menu-title:hover {border-color: #111;}

#e-n-menu-dropdown-icon-3122 svg {width:12px}

#header.elementor-sticky__spacer #primary-logo {display:none !important}
#header.elementor-sticky--effects #e-n-menu-content-3122 {top:-25px; transition:all ease 500ms}




#mobilemenu .menu,
#mobilemenu .sub-menu {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

#mobilemenu .menu-item {
	border-top: 1px solid rgba(0,0,0,0.1);
}



#mobilemenu .menu-item a { 
	text-decoration: none;
	font-size: 1.2rem;
    color: #1e1e1e;
	display:block;
	 font-weight:500;
	line-height:2.5em;
	letter-spacing:0;
	text-align:left;
	font-family: Manrope, sans-serif;
}



/* Submenu indicator */
#mobilemenu .menu-item-has-children {
    position: relative;
}

#mobilemenu .menu-item-has-children > a {
    padding-right: 40px;
}

#mobilemenu .submenu-toggle {
    position: absolute;
    right: 0;
    top: 0;
    width: 20px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    cursor: pointer;
    font-family: Manrope, sans-serif;
    color: #1e1e1e;
}
 

/* highlight current menu item  */


#mobilemenu .menu .current-menu-item a {color:#1e1e1e !important; transition: color 0.3s ease !important}
#mobilemenu .menu a:hover {color:#1e1e1e !important; transition: color 0.3s ease !important}

@media (max-width:768px) {

#mobilemenu .menu .current-menu-item::after {
  width: 70px;
}
}	


/* Sub-menu */

#mobilemenu .sub-menu {
  display: none;
}

#mobilemenu .sub-menu {
  margin-top: 10px;
  margin-bottom: 15px;
  margin-left: 0px;
}

#mobilemenu .sub-menu .menu-item {border-top:0px;}

#mobilemenu .sub-menu .menu-item a {
  line-height: 1.6;
  text-transform: none;
  font-size: 0.9rem;
  border: 0;
   font-family: Manrope, sans-serif;
  letter-spacing:0;
  font-weight:400;
}



/* Hamburger Toggle Icon Animation 1 */


.toggle-menu {
background-color: transparent;
  border: none;
  cursor: pointer;
  display: inline-block;
  float: right;
  height: 40px;
  pointer-events: initial;
  position: relative;
  vertical-align: middle;
  width: 30px;
  z-index: 1110;
  border-radius: 100px;
  transition: all ease 300ms;
}




.toggle-menu.active span, .toggle-menu.active span:before, .toggle-menu.active span:after {background-color: #fff;}

.darkheader .toggle-menu span {
	background-color: transparent;
}

.darkheader .toggle-menu span:before, .darkheader .toggle-menu span:after { 
	 background-color: #111;
}

.darkheader .toggle-menu.active span:before,  .darkheader .toggle-menu.active span:after {
		 background-color: #111;	
}


#header.elementor-sticky--effects .toggle-menu span {background-color: #fff; }
#header.elementor-sticky--effects .toggle-menu.active span {background-color: transparent; }
#header.elementor-sticky--effects .toggle-menu span:before {background-color: #fff; }
#header.elementor-sticky--effects .toggle-menu span:after {background-color: #fff; }


#header.elementor-sticky--effects .toggle-menu.active span {background-color: #111; }
#header.elementor-sticky--effects .toggle-menu.active span {background-color: transparent; }
#header.elementor-sticky--effects .toggle-menu.active span:before {background-color: #111; }
#header.elementor-sticky--effects .toggle-menu.active span:after {background-color: #111; }



 .toggle-menu span {
	 background-color: #fff;
	 content: "";
	 display: block;
	 height: 1.5px;
	 left: calc(50% - 20px);
	 position: absolute;
	 top: calc(50% - 1px);
	 transform-origin: 50% 50%;
	 transition: background-color 0.2s ease-in-out, top 0.2s 0.2s ease-out, transform 0.2s linear;
	 width: 30px;

}
 .toggle-menu span:before, .toggle-menu span:after {
	 background-color: #fff;
	 content: "";
	 display: block;
	 height: 1.5px;
	 position: absolute;
	 transform-origin: 50% 50%;
	 transition: background-color 0.2s ease-in-out, top 0.2s 0.2s ease-out, transform 0.2s linear;
	 width: 30px;
}


 .toggle-menu span:before {
	 top: 6px;
}
 .toggle-menu span:after {
	 top: -6px;
}
 .toggle-menu.active span {
	 background-color: transparent;
	 transition: background 0.2s ease-out;
}
 .toggle-menu.active span:before, .toggle-menu.active span:after {
	 transition: top 0.2s ease-out, transform 0.2s 0.2s ease-out;
}
 .toggle-menu.active span:before {
	 top: 0;
	 transform: rotate3d(0, 0, 1, -45deg);
	 background-color: #111;

}
 .toggle-menu.active span:after {
	 top: 0;
	 transform: rotate3d(0, 0, 1, 45deg);
	 background-color: #111;

}


/* Menu Item Animations  */
#mobilemenu .menu-item {
  opacity: 0;
  transform: translateY(-10px);
  transition: all ease-in-out 300ms;
}

#mobilemenu.open .menu-item:nth-child(n) {
  animation-delay: calc(var(--item-index) * 0.2s);
}

#mobilemenu.open .menu-item {
  animation: menuAnimation 0.5s ease-in-out forwards;
}

#mobilemenu:not(.open) .menu-item {
  animation: reverseMenuAnimation 0.5s ease-in-out forwards;
}

@keyframes menuAnimation {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes reverseMenuAnimation {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-10px);
  }
}



/* Animated Underlines */

.underline-button {
  position: relative;
  display: inline-block;
  padding-bottom: 5px; /* Adjust as needed to create space for the underline */
  color: black; /* Example text color */
  text-decoration: none; /* Remove default underline */
}

.underline-button::after {
  content: '';
  position: absolute;
  bottom: 5px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: black; /* Adjust main underline color */
  transform: scaleX(0); /* Initially scale the underline to 0 width */
  transform-origin: right; /* Set transform origin to the right */
  transition: transform 0.3s ease-out; /* Transition for underline scaling */
}

.underline-button::before {
  content: '';
  position: absolute;
  bottom: 5px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: black; /* Adjust subtle underline color */
  opacity: 0.1; /* Set opacity for subtle underline */
}

.underline-button:hover::after,
.underline-button:focus::after {
  transform: scaleX(1); /* Scale the underline to full width on hover/focus */
  transform-origin: left; /* Change transform origin to the left */
}

.underline-button:hover {
  color: rgba(0, 0, 0, 0.8); /* Example: darken text color on hover */
}


.underline-button-white {
  position: relative;
  display: inline-block;
  padding-bottom: 5px; /* Adjust as needed to create space for the underline */
  color: white; /* Text color for white button */
  text-decoration: none; /* Remove default underline */

  /* Example transition for text color */
  transition: color 0.3s ease;
}

.underline-button-white::after {
  content: '';
  position: absolute;
  bottom: 5px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: white; /* Main underline color for white button */
  transform: scaleX(0); /* Initially scale the underline to 0 width */
  transform-origin: right; /* Set transform origin to the right */
  transition: transform 0.3s ease-out; /* Transition for underline scaling */
}

.underline-button-white::before {
  content: '';
  position: absolute;
  bottom: 5px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: white; /* Subtle underline color for white button */
  opacity: 0.1; /* Opacity for subtle underline */
}

.underline-button-white:hover::after,
.underline-button-white:focus::after {
  transform: scaleX(1); /* Scale the underline to full width on hover/focus */
  transform-origin: left; /* Change transform origin to the left */
}

.underline-button-white:hover {
  color: rgba(255, 255, 255, 0.8); /* Darken text color on hover */
}



.underline-button svg, .underline-button-white svg {width:10px !important}




/* Elementor Image Box Fix  */
@media (max-width:768px){

	/* Image box wrapper */
	.elementor-widget-image-box .elementor-image-box-wrapper{
		display:flex;
		text-align:left;
	}
	
	/* Image box content */
	.elementor-widget-image-box .elementor-image-box-content{
		margin-left:16px;
		
	}
	
}


/* Improved Animations Stylesheet */

@keyframes fadeDown {
    from {
        opacity: 0;
        transform: translate3d(0,-30px,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInDown {
    animation-name: fadeDown
}

@keyframes fadeLeft {
    from {
        opacity: 0;
        transform: translate3d(-30px,0,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInLeft {
    animation-name: fadeLeft
}

@keyframes fadeRight {
    from {
        opacity: 0;
        transform: translate3d(30px,0,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInRight {
    animation-name: fadeRight
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translate3d(0,30px,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInUp {
    animation-name: fadeUp
}



/* Slick Styling */


body {overflow-x:hidden !important}
.jet-listing .slick-list {overflow:visible}



/*  PRELOADER  */

#loader-wrapper {
	display:none; 
	position:relative}

#websitecontent.hidden {opacity:0; transition:ease 600ms opacity}
#websitecontent {opacity:1; transition:ease 600ms opacity}


body.home #loader-wrapper {
	display: flex;
    align-items: center;
    justify-content: center;
	position:fixed; 
	height:100%; 
	width:100%; 
	background:#ACA8A4; 
	z-index:99999; 
	top:0px; 
	left:0px}

#loader-wrapper.hidden {
	opacity:0;
	visibility: hidden; 
	transition: all ease 2500ms}

.preloader-icon {
 text-align: center;
    width: 500px;
    height: auto;
	background-size:contain;
	animation: LogoAnimation linear 1200ms;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
	color:#fff !important;
}

@keyframes LogoAnimation {
    0% {
        opacity: 0;
		filter: blur(50px);
  		-webkit-filter: blur(50px);
		transform: scale(1);
		-webkit-transform: scale(1);
    }
	
	75% {
	transform: scale(1);
		-webkit-transform: scale(1);
	}
	
    100% {
        opacity: 1;
		filter: blur(0px);
  		-webkit-filter: blur(0px);
		transform: scale(1);
		-webkit-transform: scale(1);
     }
}


/* Animated underline for main menu */

/* main menu underline animation */
#mainmenu ul.elementor-nav-menu > li.menu-item > a.elementor-item {
  display: inline-block;
  padding-bottom: 5px;
  text-decoration: none;
  border: none !important;
  box-shadow: none !important;
  background-repeat: no-repeat;
  background-position: left calc(100% - 1px), left 100%;
  background-size: 100% 1px, 0 1px;
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.15)),
    linear-gradient(currentColor, currentColor);
  transition: background-size 0.3s ease;
}

/* hover */
#mainmenu ul.elementor-nav-menu > li.menu-item:hover > a.elementor-item,
#mainmenu ul.elementor-nav-menu > li.menu-item > a.elementor-item:hover,
#mainmenu ul.elementor-nav-menu > li.menu-item > a.elementor-item:focus {
  background-size: 100% 1px, 100% 1px;
}

/* active item */
#mainmenu ul.elementor-nav-menu > li.menu-item > a.elementor-item.elementor-item-active {
  background-image:
    linear-gradient(currentColor, currentColor),
    linear-gradient(currentColor, currentColor);
  background-size: 100% 1px, 0 1px;
}