/*
	Theme Name: Hello Elementor
	Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
	Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
	Author: Elementor Team
	Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
	Version: 3.4.4
	Stable tag: 3.4.4
	Requires at least: 6.0
	Tested up to: 6.8
	Requires PHP: 7.4
	License: GNU General Public License v3 or later.
	License URI: https://www.gnu.org/licenses/gpl-3.0.html
	Text Domain: hello-elementor
	Tags: accessibility-ready, flexible-header, custom-colors, custom-menu, custom-logo, featured-images, rtl-language-support, threaded-comments, translation-ready,
*/

html,
body {
  scroll-behavior: smooth;
  font-smooth: antialiased;
  -moz-osx-font-smoothing: greyscale;
  overflow-x: hidden;
}

.elementor-image-carousel img {
  max-height: 75px;
  filter: saturate(0);
}

.breadcrumbs * {
    color: #828E96;
    font-size: 22px;
    line-height: 30px;
    font-weight: 400;
    font-family: 'Figtree'
}

@media screen and (max-width: 1024px) {
	.breadcrumbs * {
		font-size: 16px;
		line-height: 24px;
	}
}

/* =========================
   ARROW ANIMATIONS
========================= */
@media screen and (min-width: 768px) {
  .arrow-animation .elementor-button-icon svg,
  .contact-form .elementor-button-icon svg {
    transform: rotate(-45deg);
    height: 24px;
    width: 24px;
    transition: all 0.2s ease-in-out;
  }

  .arrow-animation:hover .elementor-button-icon svg,
  .contact-form .elementor-button:hover .elementor-button-icon svg {
    transform: rotate(0);
  }
}

/* =========================
   BLUR BACKGROUND
========================= */
.blur-bg {
    background: rgba(255, 255, 255, 0.3);
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.4);
}

/* =========================
   SOLUTIONS - Animated Grid
========================= */
.animated-grid {
  display: grid;
  align-items: center;
}

.animated-column {
  cursor: pointer;
  background: #fff;
	height: 100%!important;
  overflow: hidden;
	transition: all 0.35s ease-out!important;
}

.animated-column:hover {
	height: 100% !important;
  background: #C2D5D3 !important;
}

.animated-column .animated-column-text,
.animated-column .animated-column-btn {
  opacity: 0;
	max-height: 0px;
  transform: translateY(-20px);
  transition: all 0.3s ease-out;
}

.animated-column:hover .animated-column-text {
	max-height: 1000px;
	margin-top: auto;
}

.animated-column:hover .animated-column-btn {
	max-height: 999px;
}

.animated-column:hover .animated-column-text,
.animated-column:hover .animated-column-btn {
  opacity: 1;
  transform: translateY(0);
}

.animated-grid .animated-column .plus {
  opacity: 1;
  transition: opacity 0.2s ease;
}

.animated-grid .animated-column .minus {
  opacity: 0;
  transition: opacity 0.2s ease;
}

.animated-column:hover .plus { opacity: 0; }
.animated-column:hover .minus { opacity: 1; }

@media screen and (max-width: 1265px) {
	.animated-column:hover {
		height: 100%!important;
	}
	
	.animated-column:hover .animated-column-text {
	  max-height: 999px;
	}
	
	.animated-column-title p {
		font-size: 26px;
	}
}

@media screen and (max-width: 1024px) {
	.animated-column {
	  height: 100%!important;
	}
	.animated-column:hover {
		height: 100%!important;
	}
}
	
/* =========================
   REVIEWS
========================= */
.reviews-assets .elementor-testimonial__name::after { content: ' - '; }

.reviews-assets .elementor-testimonial__cite {
  flex-direction: row !important;
  gap: 5px;
}

.reviews-assets .elementor-testimonial {
  display: flex;
  flex-direction: column-reverse;
}

.reviews-assets .swiper-pagination { text-align: left; }

.reviews-assets::before,
.reviews-assets::after {
  content: '' !important;
  background: url(https://klevie.com/wp-content/uploads/2025/08/quote-svgrepo-com-3.png);
  position: absolute;
  background-repeat: no-repeat;
  height: 100%;
  width: 100%;
  background-size: 120px;
}

.reviews-assets:before { left: -180px; }

.reviews-assets:after {
  right: -180px;
  transform: rotate(180deg);
  background-position: bottom left;
  top: 0;
}

@media screen and (max-width: 768px) {
  .reviews-assets:before {
    background-size: 80px;
    left: -5%;
    top: -80px;
  }
  .reviews-assets:after {
    background-size: 80px;
    right: -5%;
    bottom: -50px;
    top: auto;
    background-position: top left;
  }
}

/* =========================
   TEAM
========================= */
.team-item { cursor: pointer; }

.team-item-front,
.team-item-back,
.team-item-front .e-child {
  transition: all 0.2s ease-in-out;
}

.team-item-back { opacity: 0; }

@media screen and (min-width: 769px) {
  .team-item:hover .team-item-front { z-index: 1; }
  .team-item:hover .team-item-front .e-child { opacity: 0; }
  .team-item:hover .team-item-back {
    z-index: 2;
    transform: translate(16px, 16px);
    opacity: 1;
  }
}

@media screen and (max-width: 768px) {
  .team-item.active .team-item-front { z-index: 1; }
  .team-item.active .team-item-front .e-child { opacity: 0; }
  .team-item.active .team-item-back { z-index: 2; opacity: 1; }
}

/* =========================
   ABOUT US QUOTES
========================= */
.quote {
  text-align: center;
  position: relative;
  opacity: 0.3;
  filter: blur(4px);
  transition: none; /* handled in JS */
}

/* =========================
   HOW WE DO IT - Lines
========================= */

@media screen and (max-width: 769px) {
  .mobile-line:before {
    content: '';
    position: absolute;
    left: 0;
    top: 20px;
    width: 1px;
    height: 100%;
    background: #85AAA6;
  }
}

@media screen and (min-width: 1260px) {
  .first-line:after,
  .last-line:after {
    content: '';
    position: absolute;
    right: -1px;
    background: #85AAA6;
  }
  .first-line:after {
    bottom: -300px;
    width: 1px;
    height: 400px;
  }
	.last-line:after {
		top: -360px;
        width: 1px;
        height: 1000px;
	}
}


/* =========================
   SERVICES
========================= */
.services-grid .services-item .services-item-description,
.services-grid .services-item .services-item-btn {
  visibility: hidden;
  max-height: 0;
  opacity: 0;
  transform: translateY(-20px);
}

.services-grid .services-item .minus { display: none; }

.services-grid .services-item,
.services-grid .services-item-description,
.services-grid .services-item-btn {
  transition: all 0.2s ease-in-out;
}

.services-grid .services-item:hover .minus { display: block; }
.services-grid .services-item:hover .plus { display: none; }

.services-grid .services-item:hover {
  background: #C2D5D3;
  border-radius: 16px;
  transform: scale(1.05);
}

.services-grid .services-item.top-left:hover  { transform-origin: bottom right; }
.services-grid .services-item.top:hover       { transform-origin: bottom; }
.services-grid .services-item.top-right:hover { transform-origin: bottom left; }
.services-grid .services-item.bottom-left:hover { transform-origin: top right; }
.services-grid .services-item.bottom:hover    { transform-origin: top; }
.services-grid .services-item.bottom-right:hover { transform-origin: top left; }

.services-grid .services-item:hover .services-item-description,
.services-grid .services-item:hover .services-item-btn {
  visibility: visible;
  max-height: 500px;
  opacity: 1;
  transform: translateY(0);
}

@media screen and (max-width: 1024px) {
  .services-grid .services-item:hover { transform-origin: left !important; }
}

/* =========================
   VISION / PROCESS
========================= */
@media screen and (min-width: 769px) {
  .process-grid { display: flex !important; }

  .process-grid .blur-item {
    transition: all 0.2s ease-in;
    border-radius: 16px;
    flex: 1 !important;
    transition: flex 0.3s ease;
    height: 260px;
    max-height: 260px !important;
  }

  .process-grid .blur-bg {
    transition: height 0.2s ease-in-out;
    height: 260px;
    max-height: 260px !important;
  }

  .process-grid .process-description {
    opacity: 0;
    overflow: hidden;
    max-height: 0;
    transform: translateY(20px);
    transition: opacity 0.3s ease-in, transform 0.3s ease-in;
    display: none;
  }

  .process-grid .process-title { transition: all 0.3s ease-in-out; }

  .process-grid .blur-item:hover {
    background: #C2D5D3;
    flex: 1.5 !important;
  }

  .process-grid .blur-bg:hover .process-description {
    opacity: 1;
    max-height: 500px;
    transform: translateY(0);
    display: flex;
  }
}

@media screen and (max-width: 768px) {
  .process-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 80px !important;
  }

  .process-grid .blur-bg {
    justify-content: flex-start !important;
    max-height: 230px;
    height: 100%;
    transition: height 0.2s ease-in-out;
  }

  .process-grid .blur-item {
    border-radius: 16px;
    transition: all 0.2s ease-in-out;
  }

  .process-grid .blur-item:hover { background: #C2D5D3; }

  .process-grid .blur-bg { transition: all 0.2s ease-in-out; }

  .process-grid .blur-bg .process-description {
    opacity: 0;
    max-height: 0;
    transform: translateY(-20px);
  }

  .process-grid .blur-bg:hover {
    height: 100%;
    max-height: 600px;
  }

  .process-grid .blur-bg:hover .process-description {
    opacity: 1;
    max-height: 100%;
    transform: translateY(0);
    display: flex;
  }
}

/* =========================
   FEATURED POST
========================= */
.post-info .elementor-icon-list-item:not(:last-child):after {
  content: "/";
  height: 100%;
  border: 0 !important;
}

.post-info .elementor-post-info__terms-list-item {
  padding: 2px 14px;
  border: 1px solid;
  border-radius: 40px;
}

/* =========================
   BLOG SEARCH
========================= */
.blog-search .e-search-form {
  border-radius: 40px;
  border: 1px solid #051C2E;
  padding: 0 20px;
}

.blog-search .e-search-submit {
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer;
}

/* =========================
   BLOG IMAGES
========================= */
.blog-image a { width: 100%; }

/* =========================
   CONTACT FORM
========================= */
.contact-form input:focus,
.contact-form textarea:focus { box-shadow: none !important; }

.contact-form .elementor-button { cursor: pointer; }

/* =========================
   HEADER SEARCH
========================= */
.menu-search .e-search-form {
  border-radius: 40px;
  border: 1px solid #e7e8f0;
  padding: 0 20px;
}

.menu-search .e-search-submit {
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer;
}

.menu-search .e-search-input-wrapper { padding-right: 40px !important; }

/* =========================
   HEADER SWITCHER
========================= */
.language-switcher .cpel-switcher__lang {
    margin: 0 !important;
}

.language-switcher .cpel-switcher__list {
    border: 1px solid #e7e8f0;
    border-radius: 40px;
    padding: 3px !important;
    max-height: 46px;
}

.language-switcher .cpel-switcher__lang a {
    padding: 8px 16px !important;
}

.language-switcher .cpel-switcher__lang {
    margin: 0 !important;
	border-radius: 40px;
	max-height: 38px;
}

.language-switcher .cpel-switcher__lang--active {
    background: #007C6C;
    border-radius: 40px;
    max-height: 38px;
}

.language-switcher .cpel-switcher__lang span {
    margin-top: -5px;
}

.language-switcher .cpel-switcher__nav .cpel-switcher__list {
	flex-direction: row-reverse !important;
}