/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-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.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.4.7.1773742132
Updated: 2026-03-17 10:08:52

*/
@import url('https://fonts.googleapis.com/css2?family=Geologica:wght,CRSV@100..900,0&display=swap');

/*==================================
  Root Variables
===================================*/
:root {
  --primary-color: #1A4DC6;  
  --text-color: #323E59;
  --text-color-light: rgba(50 62 89 / 85%);  
}

/*==================================
  BASIC CSS RESET
===================================*/
*,
*::before,
*::after { margin: 0; padding: 0; box-sizing: border-box; }
html { font-size: 16px;  scroll-behavior: smooth; }
body { line-height: 1.6; color: var(--text-color); background-color: #fff; -webkit-font-smoothing: antialiased; font-size: 16px;  }
input, button, textarea, select { font: inherit; border: none; outline: none; }

/*==================================
  TYPOGRAPHY
===================================*/
h1, h2, h3, h4, h5, h6, .elementor-heading-title { margin-bottom: 10px; line-height: 1.25; font-weight: 700; }
h1 { font-size: 64px; }
h2 { font-size: 48px; }
h3 { font-size: 28px; }
h4 { font-size: 24px; }
h5 { font-size: 20px; }
h6 { font-size: 18px; } 

a { color: inherit; text-decoration: none; transition: color 0.3s ease; }
a:focus { outline: none; }
a:hover { color: var(--primary-color); }

p { font-size: 16px; font-weight: normal; line-height: 1.6; }
p:not(:last-child) { margin-bottom: 10px; }
p:empty { display: none; }

.font-medium .elementor-heading-title { font-weight: 500;}
/*==================================
  Section Titles
===================================*/
.section-title h2,
.section-title h2.elementor-heading-title { font-size: 64px;}

.subtitle,
.subtitle p { font-size: 24px; font-weight: 500; line-height: 1.4; margin-bottom: 0; }
/*==================================
  General CSS
===================================*/
.section-space { padding: 100px 20px; }
.bg-blue { background-color: var(--primary-color);}
.bg-blue .elementor-heading-title { color: #ffffff; }
.bg-blue .elementor-widget-text-editor { color: #ffffff;}
.bg-blue p { color: rgba(255 255 255 / 85%); }


.max-width-950 { max-width: 950px; width: 100%; }
.max-width-1200 { max-width: 1200px; width: 100%; }
.margin-inline-auto { margin-inline: auto;}

/*==================================
  Button Styles
===================================*/
/* Base Button */
.site-btn .elementor-button { padding: 0; background-color: transparent; color: rgba(255 255 255 / 85% ); font-size: 20px; line-height: 1.3; font-weight: 700; text-transform: uppercase;  letter-spacing: 1px; transition: 0.3s all ease-in-out;}
.site-btn .elementor-button:hover { color: #ffffff;}
.site-btn .elementor-button .elementor-button-content-wrapper { gap: 24px; align-items: center;}
.site-btn .elementor-button .elementor-button-icon { width: 90px; height: 90px; border: 3px solid var(--primary-color); border-radius: 50%; background-color: rgba(26 77 198 / 15%); display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; backdrop-filter: blur(16px);}
.site-btn .elementor-button .elementor-button-icon:after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: var(--primary-color); transition: 0.3s all ease-in-out; transform: scale(0); opacity: 0; border-radius: 50%; }
.site-btn .elementor-button:hover .elementor-button-icon { border: 0; }
.site-btn .elementor-button:hover .elementor-button-icon:after { transform: scale(1); opacity: 1; }
.site-btn .elementor-button .elementor-button-icon svg { width: 36px; height: 36px; z-index: 1; }


.bg-blue .site-btn .elementor-button .elementor-button-icon { background-color: rgba(255 255 255 / 15%); border: 0; }
.bg-blue .site-btn .elementor-button:hover .elementor-button-icon svg path { stroke: var(--primary-color);}
.bg-blue .site-btn .elementor-button .elementor-button-icon:after { background-color: #ffffff; }
/*==================================
  Header
===================================*/
body:not(.home) .header .header-top { background-color: rgb(30 34 38 / 65%); }

body:has(.offcanvas--open) { overflow: hidden; }

.header { position: absolute; top: 0; left: 0; width: 100%; height: 100%;}

.header .header-top{ align-items: center; position: relative; z-index: 100; background-color: rgb(30 34 38 / 65%); backdrop-filter: blur(10px); }
.project-template-default .header .header-top { background-color: rgb(30 34 38 / 65%); }
.header .elementor-widget-nav-menu { width: 100%; justify-content: center; align-items: center; }
.header .header-top.active .social_list { display: none;}
.header .header-top .logo-wrap { max-width: 370px; padding: 0; }
.header .header-top .logo-wrap img { width: 100%; }
.header .header-top .menu-wrap { padding-right: 70px; gap: 48px; }
.header .header-top .menu-wrap .menu-wrap--right { max-width: 200px; }

.header .elementor-nav-menu--main .elementor-nav-menu li a { font-size: 20px; font-weight: 500; line-height: 1.3; text-align: center; position: relative; padding: 10px 30px; color: #ffffff;}
.header .elementor-nav-menu--main .elementor-nav-menu li a:before { content: ''; position: absolute; top: 50%; left: 0px; width: 4px; height: 13px; background-color: var(--primary-color); opacity: 0; transform: translateY(-50%) translateX(calc(30px - 0px)); transition: 0.3s all ease-in-out; }
.header .elementor-nav-menu--main .elementor-nav-menu li a:hover:before,
.header .elementor-nav-menu--main .elementor-nav-menu li.current-menu-item a:before { transform: translateY(-50%) translateX(calc(30px - 10px)); opacity: 1;}

.social_list .elementor-grid { gap: 40px; display: flex;}
.social_list .elementor-grid .elementor-grid-item a { font-size: 16px; font-weight: 900; color: #BFBFBF; letter-spacing: 1.5px; line-height: 1.5;  background-color: transparent; height: auto; width: auto;  position: relative;}
.social_list .elementor-grid .elementor-grid-item a:before { content: '.'; position: absolute; bottom: -2px; right: -8px; color: #BFBFBF;  }
.social_list .elementor-grid .elementor-grid-item a:hover:before { color: var(--primary-color);  }
.social_list .elementor-grid .elementor-grid-item a svg { fill : #BFBFBF; width: 22px; height: 22px;}
.social_list .elementor-grid .elementor-grid-item a:hover svg { fill: var(--primary-color); }

.hamburger{ width: 32px; height: 24px; position: relative; -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); -webkit-transition: .5s ease-in-out; -moz-transition: .5s ease-in-out; -o-transition: .5s ease-in-out; transition: .5s ease-in-out; cursor: pointer; }
.hamburger span { display: block; position: absolute; height: 3px; width: 25px; background: #BFBFBF; opacity: 1; left: 0; -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); -webkit-transition: .25s ease-in-out; -moz-transition: .25s ease-in-out; -o-transition: .25s ease-in-out; transition: .25s ease-in-out; }
.hamburger span:nth-child(1) { top: 0px;}
.hamburger span:nth-child(2) { margin-left: 6px; top: 10px;}
.hamburger span:nth-child(3) { top: 20px;}
.hamburger.open span:nth-child(1) {     top: 10px; -webkit-transform: rotate(135deg); -moz-transform: rotate(135deg); -o-transform: rotate(135deg); transform: rotate(135deg); } 
.hamburger.open span:nth-child(2) { opacity: 0; left: -60px;}
.hamburger.open span:nth-child(3) { top: 10px; -webkit-transform: rotate(-135deg); -moz-transform: rotate(-135deg); -o-transform: rotate(-135deg); transform: rotate(-135deg); }


/* Offcanvas Header */
.offcanvas-widget--grid { display: flex; flex-flow: wrap; gap: 24px;}
.offcanvas-widget--grid .offcanvas-widget--col { flex: 0 0 calc((100% - 48px) / 3); max-width: calc((100% - 48px) / 3); width: 100%;  gap: 0; }
.offcanvas-widget--grid .offcanvas-widget--col .elementor-heading-title { font-size: 20px; text-transform: uppercase; font-weight: 700; line-height: 1.5; color: #ffffff; margin-bottom:20px ; letter-spacing: 1.5px; }
.offcanvas-widget--grid .offcanvas-widget--col .elementor-widget-text-editor,
.offcanvas-widget--grid .offcanvas-widget--col .elementor-widget-text-editor ul li a  { font-size: 16px; font-weight: 400; color: #86898F; line-height: 1.5; letter-spacing: 1.5px;}
.offcanvas-widget--grid .offcanvas-widget--col .elementor-widget-text-editor ul li a { text-decoration: underline;}
.offcanvas-widget--grid .offcanvas-widget--col .elementor-widget-text-editor ul li a:hover { color: #ffffff; }
.offcanvas-widget--grid .offcanvas-widget--col .elementor-widget-text-editor ul li { list-style: none; }
.offcanvas-widget--grid .offcanvas-widget--col .elementor-widget-text-editor ul li:not(:last-child) { margin-bottom: 16px; }

.offcanvas { background-color: #1E2226; padding: 200px 20px 100px ; position: fixed; width: 100%; height: 100%; z-index: 90; opacity: 0; visibility: hidden; transition: 0.3s all ease-in-out; transform: translateY(-100%); overflow-y: auto; -webkit-overflow-scrolling: touch; }
.offcanvas > .e-con-inner { background-color: #1E2226; padding-block: 100px; } 
.offcanvas--open { opacity: 1; visibility: visible; transform: translateY(0);}
/* .offcanvas:after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #1E2226; z-index: -1;} */

.offcanvas-nav ul.elementor-nav-menu li:not(:last-child) { margin-bottom: 20px;}
.offcanvas-nav ul.elementor-nav-menu li a { color: #BFBFBF; font-size: 64px; line-height: 1.23 !important; font-weight: 700; transition: 0.3s all ease-in-out; padding:0 0 0 96px!important; }
.offcanvas-nav ul.elementor-nav-menu li a:hover,
.offcanvas-nav ul.elementor-nav-menu li.current-menu-item a { padding-left: calc(96px + 30px) !important; color: #ffffff;}
.offcanvas-nav ul.elementor-nav-menu li a:before { content: ''; position: absolute; top: -9px; left: 0; width: 96px; height: 96px; background-image: url(images/arrow-right-white.svg); background-repeat: no-repeat; transition: 0.3s all ease-in-out; transform: scale(0); opacity: 0; background-size: 36px 36px; background-position: center center; background-color: var(--primary-color); border-radius: 50%; }
.offcanvas-nav ul.elementor-nav-menu li a:hover:before,
.offcanvas-nav ul.elementor-nav-menu li.current-menu-item a:before  { transform: scale(1); opacity: 1;}

/* Sticky Header */
.header.is-sticky { position: fixed; top: 0; left: 0; width: 100%; z-index: 999; height:auto; }
.header.is-sticky .header-top { background-color: rgb(30 34 38 / 65%); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); animation: slideDown 0.35s ease-out; 
	box-shadow: 0 5px 20px rgba(0,0,0,0.15); }
.header.is-sticky .header-top .logo-wrap { max-width: 280px; }
/* 
.offcanvas:before { content:''; background-color: #1a4dc6; height:100%; width: 100%; position: absolute; inset: 0; transform: translateY(-100%); transition:0.3s all ease-in-out; }
.offcanvas.offcanvas--open:before { transform: translateY(0%); } */

@keyframes slideDown {
    from { transform: translateY(-100%); }
    to { transform: translateY(0); }
}

@media only screen and (max-width:1499px), only screen and (max-height:700px) {
  .offcanvas-nav ul.elementor-nav-menu li a { font-size: 34px; padding: 0 0 0 48px !important; }
  .offcanvas-nav ul.elementor-nav-menu li:not(:last-child) { margin-bottom: 10px; }
  .offcanvas-nav ul.elementor-nav-menu li a:before { width: 48px; height: 48px; background-size: 18px 18px; top: -3px; }
  .offcanvas-nav ul.elementor-nav-menu li a:hover, 
  .offcanvas-nav ul.elementor-nav-menu li.current-menu-item a { padding-left: calc(48px + 20px) !important;}	
}

/*==================================
  Header Version 2
===================================*/
/* Hero Section */
.hero-section .hero-slide { position: relative; min-height: 100vh; padding: 200px 20px 100px; justify-content: center; display: flex; }
.hero-section .hero-slide:before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(30 34 38 / 60%); }
.hero-section .hero-slide--inner {max-width: 1000px; margin-inline: auto; text-align: center; color: #ffffff;}
.hero-navigation { position: absolute; bottom: 50px; gap: 100px;}

/*==================================
  Hero Section
===================================*/
/* .hero-section { position: relative; background-color: rgba(30 34 38 / 100%); min-height: 100vh; padding: 200px 20px 100px; overflow: hidden; }
.hero-section:before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: url(images/overlay-banner.jpg); background-size: cover; background-position: center; background-repeat: no-repeat; opacity: 0.05;} */
.hero-section h1 { color: #ffffff; margin-bottom: 0px;}
.hero-section .elementor-widget-text-editor,
.hero-section p { color: #ffffff; }
.hero-section.e-con .elementor-widget-text-editor { margin-bottom: 30px;}

/* .hero-section .site-btn { margin-top: auto; }
.hero-section .site-btn .elementor-button {  color: #BFBFBF;}
.hero-section .site-btn .elementor-button:hover {  color: #ffffff;} */
/* .hero-section .hero-left { padding-left: calc((100% - 1400px) / 2);} */

/* .badge .elementor-heading-title { font-size: 16px; font-weight: 700; color: #ffffff; background-color: var(--primary-color); text-transform: uppercase; line-height: normal; padding: 12px 15px; border-radius: 30px; display: inline-flex; align-items: center; letter-spacing: 1px; }
.badge.white .elementor-heading-title {  color: var(--primary-color); background-color: #ffffff; } */

/* .hero-section .slick-slider { margin:0 -15px; } */
/* .hero-section .gallery-slider { padding-left: 250px; } */


/* .hero-section .slick-slider .slick-slide { max-width: 440px; width: 100%; padding-inline:40px; transition: 0.3s all ease-in-out; }
.hero-section .slick-slider .slick-slide img { border-radius: 32px; width: 100%; width: 440px; height: 480px; aspect-ratio: 440 / 480; height: auto; object-fit: cover; object-position: center; transition: 0.3s all ease-in-out; }
.hero-section .slick-slider .slick-slide.slick-active img { aspect-ratio: 400 / 480; } 
.hero-section .slick-slider .slick-track { display: flex; align-items: flex-end; min-height: 480px; } */

/* .hero-section .slick-slider .slick-list { overflow: visible;} */
/* .hero-section .slick-slider .slick-slide {max-width: 440px;width: 100%;padding-inline: 20px;}
.hero-section .slick-slider .slick-slide img {border-radius: 32px;width: 100%;width: 440px;height: 480px;aspect-ratio: 440 / 480;height: auto;object-fit: cover;object-position:center;transition: 0.3s all ease-in-out;}
.hero-section .slick-slider .slick-slide.slick-active img { aspect-ratio: 400 / 480;}
.hero-section .slick-slider .slick-track { display: flex; align-items: flex-end; min-height: 480px; } */

.hero-section .hero-slide-content { max-width: 900px; margin-inline: auto;  }

/* Custom Nav for Slick slider */
.custom-nav { display: flex; gap: 30px; align-items: center; justify-content: center; }
.slick-dots { list-style: none; display: flex; gap: 20px; }
.slick-dots li { width: 12px; height: 12px; display: flex; align-items: center; justify-content: center;}
.slick-dots li button { border: 0; border-radius: 0; font-size: 0; padding: 0; background-color: #BFBFBF; width: 8px; height: 8px; transform: rotate(45deg); transition: 0.3s all ease-in-out;}
.slick-dots li button:hover,
.slick-dots li.slick-active button { background-color: var(--primary-color);  transform: rotate(45deg) scale(2); }
.custom-nav .slick-arrow { width: 90px; height: 90px; background-size: 36px 36px; background-position: center center; border-radius: 50%; background-repeat: no-repeat; position: relative; z-index: 1; background-color: rgb(26 77 198 / 15%); border: 3px solid var(--primary-color); transition: 0.3s all ease-in-out; cursor: pointer;}
.custom-nav .slick-arrow:hover { background-color: var(--primary-color); }
.custom-nav .custom-prev-btn { background-image: url(images/arrow-left-white.svg); }
.custom-nav .custom-next-btn { background-image: url(images/arrow-right-white.svg); }

.bg-blue .custom-nav .slick-arrow {  background-color: rgba(255 255 255 / 15%); border: 0; backdrop-filter: blur(16px); }
.bg-blue .custom-nav .slick-arrow:hover,
.bg-blue .custom-nav .slick-arrow.slick-disabled { background-color: rgba(255 255 255 / 100%); }
.bg-blue .custom-nav .slick-arrow.custom-prev-btn:hover,
.bg-blue .custom-nav .slick-arrow.custom-prev-btn.slick-disabled { background-image: url(images/arrow-left.svg);}
.bg-blue .custom-nav .slick-arrow.custom-next-btn:hover,
.bg-blue .custom-nav .slick-arrow.custom-next-btn.slick-disabled { background-image: url(images/arrow-right.svg);}
.bg-blue .slick-dots li button { background-color: rgba(255 255 255 / 65%); }
.bg-blue .slick-dots li button:hover, 
.bg-blue .slick-dots li.slick-active button { background-color: #ffffff; transform: rotate(45deg) scale(2); }

/*==================================
  Counter Section
===================================*/
.counter-top { padding: 100px 20px 0; background-image: url(images/pattern.svg); background-repeat: no-repeat; background-size: auto;}
.counter-middle { padding-top: 40px; padding-bottom: 80px;}
.counter-bottom { padding: 0px 20px 100px; background-image: url(images/pattern-reverse.svg); background-repeat: no-repeat; background-size: auto; }

.bg-blue.counter-section h4.elementor-heading-title { font-weight: 500; color: rgba(255 255 255 / 85%) ;}
.counter-grid { padding-bottom: 80px; }
.counter-grid .e-con-inner{ display: flex; gap: 24px;}
.counter-grid .e-con-inner .elementor-widget-counter { flex: 0 0 calc((100% - 48px) / 3); max-width: calc((100% - 48px) / 3); width: 100%; }
.counter-grid .e-con-inner .elementor-widget-counter:not(:last-child) { border-right: 1px solid rgba(255 255 255 / 65%); padding-right: 24px; }
.counter-grid .elementor-widget-counter .elementor-counter-title { color: rgba(255 255 255 / 85%); font-size: 15px; font-weight: 700; letter-spacing: 1px; line-height: 1.3; text-transform: uppercase; text-align: center;}
.counter-grid .elementor-widget-counter .elementor-counter-number-wrapper { color: #ffffff; margin-bottom: 15px; font-size: 96px; font-weight: 500; }


.counter-slider { padding-right: calc((100% - 1400px) / 2);}
.counter-slider .counter-slide { position: relative; width: 100%; overflow: hidden; padding: 0; }
/* .counter-slider .counter-slide:after { content: ''; position: absolute; inset: 0; width: 100%; height: 100%; background-color: rgba(26, 77, 198, 0.05); z-index: 0;} */
.counter-slider .counter-slide .elementor-widget-image a { display: block; width: 100%; height: 100%; }
.counter-slider .counter-slide .elementor-widget-image,
.counter-slider .counter-slide .elementor-widget-video { aspect-ratio: 829 / 494; max-width: 829px; position: relative; z-index: 1; }
.counter-slider .counter-slide .elementor-open-lightbox,
.counter-slider .counter-slide .elementor-open-lightbox .elementor-custom-embed-image-overlay { width: 100%; height: 100%; position: relative;}

.counter-slider .counter-slide .elementor-widget-video .elementor-open-inline { height: 100%; width: 100%;  }

.counter-slider .counter-slide img,
.counter-slider .counter-slide video,
.counter-slider .counter-slide .elementor-open-lightbox  { width: 100%; height: 100%; object-fit: cover; object-position: center;  /* filter: grayscale(1); -webkit-filter: grayscale(1); backdrop-filter: blur(11px); */ transition: 0.3s all ease-in-out; }
.counter-slide .elementor-custom-embed-image-overlay:before { content: ''; position: absolute; inset: 0; width: 100%; height: 100%; backdrop-filter: blur(11px);background-color: rgba(26, 77, 198, 0.05); z-index: 1;}
.counter-slide img,
.counter-slide .elementor-custom-embed-image-overlay img { filter: grayscale(1); -webkit-filter: grayscale(1); position: relative; transition: 0.3s all ease-in-out;}
.counter-slide .elementor-custom-embed-image-overlay .elementor-custom-embed-play { z-index: 1 ;}
.counter-slide .elementor-custom-embed-image-overlay .elementor-custom-embed-play svg { fill: none; }
.counter-slide:hover img, 
.counter-slide:hover .elementor-custom-embed-image-overlay img { filter: grayscale(0); -webkit-filter: grayscale(0); }


/*==================================
  Proejcts
===================================*/
.projects-section { position: relative; overflow: hidden;}
/* .projects-section:before { content: ''; position: absolute; top: 0; left: 0; width: calc((100% - 1400px) / 2); height: 100%; background-color: #ffffff; z-index: 2;} */
.projects-section .swiper { overflow: visible;}
.projects-section h4.elementor-heading-title { font-weight: 500; }

.e-filter .e-filter-item { font-weight: 700; font-size: 16px; line-height: 1.25; text-transform: uppercase; display: flex; flex-direction: row; justify-content: center; align-items: center; padding: 11px 14px; gap: 10px; background-color: rgba(26, 77, 198, 0.1); backdrop-filter: blur(16px); border-radius: 30px; color: #53648C; transition: 0.3s all ease-in-out; letter-spacing: 0.05em;}
.e-filter .e-filter-item:hover, 
.e-filter .e-filter-item[aria-pressed=true] { background-color: var(--primary-color); color: #ffffff !important;}

.projects_loop { position: relative;}
.projects_loop .elementor-swiper-button { width: 90px; height: 90px; border-radius: 50%; position: relative; background-color: rgb(26 77 198 / 100%); z-index: 1; backdrop-filter: blur(16px); transition: 0.3s all ease-in-out; display: flex; align-items: center; justify-content: center; }
.projects_loop .elementor-swiper-button.swiper-button-disabled { background-color: rgb(26 77 198 / 25%); opacity: 1 !important; }
.projects_loop .elementor-swiper-button{  left: auto !important; transform: none !important;}
.projects_loop .elementor-swiper-button svg { fill: transparent !important; width: 36px !important; height: 36px !important;}
.projects_loop .elementor-swiper-button.elementor-swiper-button-prev { top: -165px !important; /*right: 114px;*/ right: calc(0% + calc(90px + 24px)); }
.projects_loop .elementor-swiper-button.elementor-swiper-button-next { top: -165px !important; right: 0; }

/* .projects-section .swiper-slide { max-width: 446px; } */

.projects-item { position: relative;}
.projects-item:before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(255 255 255 / 85%); z-index: 1; opacity: 0; transform: scale(0) ; transition: 0.3s all ease-in-out;}
.projects-item:hover:before { opacity: 1; transform: scale(1) ; }
.projects-item:after { content: ''; position: absolute; inset: 0; width: 100%; height: 100%; background-color: rgba(26, 77, 198, 0.05); }

.projects-item .projects_front { position: relative;}
/* .projects-item .projects_front .elementor-widget-image img { filter: grayscale(1); -webkit-filter: grayscale(1);  transition: 0.3s all ease-in-out; }
.projects-item:hover .projects_front .elementor-widget-image img { filter: grayscale(0); -webkit-filter: grayscale(0);} */

.projects-item .projects_front .elementor-widget-post-info { position: absolute; top: auto; bottom: 40px; left: 40px; padding: 11px 15px; backdrop-filter: blur(16px); background: rgba(26, 77, 198, 0.85); font-size: 16px; letter-spacing: 0.05em; text-transform: uppercase; color: #FFFFFF; line-height: 1.25; border-radius: 30px; width: fit-content; transition: 0.3s all ease-in-out; opacity: 1;}
.projects-item:hover .projects_front .elementor-widget-post-info { opacity: 0;}

.projects-item .projects_hover { position: absolute; top: 0; left: 0; width: 100%; z-index: 2; height: 100%; overflow: hidden; }
.projects-item .projects_hover .projects_hover--top { position: absolute; top: 40px; right: 40px; width: auto;}
.projects-item .projects_hover .projects_hover--top a { width: 90px; height: 90px; border-radius: 50%; background-color: var(--primary-color); display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; transition: 0.3s transform ease-in-out; opacity: 0; transform: scale(0); transition-delay: 0.7s;}
.projects-item .projects_hover .projects_hover--top a:hover { background-color: #ffffff; }
.projects-item .projects_hover .projects_hover--top a:hover svg path { stroke: var(--primary-color);}
.projects-item:hover .projects_hover .projects_hover--top a { opacity: 1; transform: scale(1); }

.projects-item .projects_hover .projects_hover--bottom .elementor-widget-post-info {  padding: 11px 15px; backdrop-filter: blur(16px); background: rgba(26, 77, 198, 0.85); font-size: 16px; letter-spacing: 0.05em; text-transform: uppercase; color: #FFFFFF; line-height: 1.25; border-radius: 30px; width: fit-content; transform: translateY(50px); opacity: 0; visibility: hidden; transition: transform 0.35s ease, opacity 0.35s ease;}
.projects-item:hover .projects_hover .projects_hover--bottom .elementor-widget-post-info { transform: translateY(0); opacity: 1; visibility: visible; transition-delay: 0.2s; }

.projects-item .projects_hover .projects_hover--bottom .elementor-heading-title { font-weight: 700; font-size: 32px; line-height: 39px; color: var(--primary-color); margin-bottom: 0;}

.projects-item .projects_hover .projects_hover--bottom { position: absolute; bottom: 40px;  width: calc(100% - 80px); left: 40px;}
.projects-item .projects_hover .projects_hover--bottom .elementor-widget-heading {  transform: translateY(50px); opacity: 0; visibility: hidden; transition: transform 0.35s ease, opacity 0.35s ease; }
.projects-item:hover .projects_hover .projects_hover--bottom .elementor-widget-heading { transform: translateY(0); opacity: 1; visibility: visible; transition-delay: 0.4s;}

.projects-item .projects_hover .projects_hover--bottom .elementor-widget-theme-post-excerpt {  font-weight: 400; font-size: 16px; line-height: 24px; color: var(--text-color); transform: translateY(50px); opacity: 0; visibility: hidden; transition: transform 0.35s ease, opacity 0.35s ease;}
.projects-item:hover .projects_hover .projects_hover--bottom .elementor-widget-theme-post-excerpt { transform: translateY(0); opacity: 1; visibility: visible; transition-delay: 0.6s;}


/* .taxonomy-filter li.parent-term label > span:not(.checked)  {background-color: var(--primary-color); color: #ffffff;  } */
.taxonomy-filter li.parent-term label > span:not(.checked),
.taxonomy-filter li.parent-term label > span.checked { background-color: var(--primary-color); color: #ffffff;  }
.taxonomy-filter {display: flex; align-items: center; gap: 16px; flex-flow: wrap; }
.taxonomy-filter li { margin-bottom: 0; background-color: transparent;}
.taxonomy-filter li label > span { font-weight: 700; font-size: 16px; line-height: 1.25; text-transform: uppercase; display: flex; flex-direction: row; justify-content: center; align-items: center; padding: 11px 14px; gap: 10px; background-color: rgba(26, 77, 198, 0.1); backdrop-filter: blur(16px); border-radius: 30px; color: #53648C; transition: 0.3s all ease-in-out; letter-spacing: 0.05em; 
	margin-bottom: 0; }
.taxonomy-filter .list-style input[type="checkbox"]:checked+span { background-color: var(--primary-color); color: #ffffff; }
/* .taxonomy-filter .list-style label span { margin-bottom: 0; padding: 0; background-color: transparent; color: #53648C; } */

.taxonomy-filter:has(.list-style input[type="checkbox"]:checked) li.parent-term label > span:not(.checked) { background-color: #e8edf9; color: #53648C; }
.taxonomy-filter:has(.list-style input[type="checkbox"]:checked) li.parent-term label > span.checked { background-color: var(--primary-color); color: #ffffff;  }
/*==================================
  Hoai Section
===================================*/
/*
.hoai-section { position: relative; background-color: var(--primary-color); background-image: url(images/combined-pattern.svg); background-repeat: no-repeat; background-size: auto; padding: 100px 0 ;}
.hoai-section h4.elementor-heading-title { font-weight: 500;}
.hoai-checklist { margin-top: 50px; }
.hoai-checklist .elementor-icon-box-title{ position: relative; font-weight: 700; font-size: 20px; line-height: 24px; letter-spacing: 0.05em; text-decoration-line: underline; text-decoration-thickness: 0.5px; text-underline-offset: 3px; text-decoration-color: rgba(255 255 255 / 50%); text-transform: uppercase; color: rgba(255, 255, 255, 0.85);}

.hoai-slider-wrapper { margin-top: 100px; margin-bottom: 50px; overflow: hidden;}
.hoai-slide .elementor-icon-box-wrapper .elementor-icon-box-icon { width: 132px; height: 132px; background: rgba(255, 255, 255, 0.15); backdrop-filter: blur(16px); display: flex; align-items: center; justify-content: center; margin-inline: auto; border-radius: 50%;}
.hoai-slide.slick-current .elementor-icon-box-wrapper .elementor-icon-box-icon { background-color: #ffffff; }

.hoai-slide .elementor-icon-box-wrapper .elementor-icon-box-icon svg { width: 40px; height: 40px;}
.hoai-slide.slick-current .elementor-icon-box-wrapper .elementor-icon-box-icon svg path { fill: #1AB2C6; }
.hoai-slide .elementor-icon-box-wrapper .elementor-icon-box-content .elementor-icon-box-title { font-size: 22px; line-height: 1.4; text-align: center; color: #ffffff; white-space: nowrap; }
.hoai-slide .elementor-icon-box-wrapper .elementor-icon-box-content .elementor-icon-box-description { opacity: 0; }
.hoai-slide.slick-current .elementor-icon-box-wrapper .elementor-icon-box-content .elementor-icon-box-description { opacity: 1;}


.timeline-slider { position: relative; z-index: 1; }
.timeline-slider .slick-list { overflow: visible;}
.timeline-item { text-align: center; position: relative; }
.timeline-dot.slick-slide.slick-active span.dot-circle { width: 40px; height: 40px; background-color: var(--primary-color); display: flex; align-items: center; justify-content: center; margin-inline: auto; border-radius: 50%; border: 4px solid rgba(255 255 255 / 15%); position: relative;  z-index: 1;}
.timeline-dot.slick-slide.slick-current span.dot-circle { border-color: rgba(255 255 255 / 100%);}

.timeline-dot.slick-current span.dot-circle:before { content: ''; position: absolute; top: 50%; left: 50%; width: 22px; height: 22px; background: #ffffff; border-radius: 50%; transform: translate(-50%, -50%) scale(0); opacity: 0; transition: 0.3s all ease-in-out;}
.timeline-dot.slick-current span.dot-circle:before { transform: translate(-50%, -50%) scale(1);  opacity: 1 }

.timeline-dot.slick-slide.slick-current ~ .slick-slide span.dot-circle { border-color: rgba(255 255 255 / 15%); }
*/

/* .timeline-wrapper { position: relative; top: -140px; } */
/*
.timeline-dot { position: relative; min-height: 40px;}
.timeline-dot.slick-slide:before { background-color: rgba(255 255 255 / 100%); }
.timeline-dot.slick-active:before { background-color: rgba(255 255 255 / 15%); }
.timeline-dot:before { content: ''; position: absolute; top: 50%; left: 0; width: 100%; height: 2px; background-color: rgba(255 255 255 / 15%); transform: translateY(-50%); }
.timeline-dot:after { content: ''; position: absolute; top: 50%; left: 0; width: 50%; height: 2px; background-color: rgba(255 255 255 / 100%); transform: translateY(-50%); opacity: 0; }
.timeline-dot.slick-current:after { opacity: 1;}

.timeline-dot.slick-slide.slick-active ~ .timeline-dot:before { background-color: rgb(255 255 255 / 15%); }
*/
body.no-scroll {
    overflow: hidden;
}
:root { --progress-position:120px; }
.hoai-section {position: relative; background-color: var(--primary-color); /* height: 300vh;  */  padding: 0;}
.hoai-sticky {
  position: sticky;
  top: 0;
  min-height: 100vh;      
  display: flex;
  overflow: hidden;
  flex-direction: column;
  justify-content: space-between;
/*   padding: 50px 0px ; */
  background-image: url(images/combined-pattern.svg); background-repeat: no-repeat; background-size: auto;   
}
/* .hoai-slider-area { overflow: hidden;} */
.hoai-track { display: flex; gap: 0px; transition: transform 0.45s ease; will-change: transform; margin-block: 30px; position: relative;}
.hoai-track:before{height:4px; background:rgba(255,255,255,0.15); content:""; position:absolute; bottom:var(--progress-position); left:0; width: 2000vw;}
.hoai-slide { flex: 0 0 calc(100vw / 4); opacity: 1; transform: scale(1); transition: all 0.35s ease; }
.hoai-slide .hoai-box .hoai-icon { width: 132px; height: 132px; border-radius: 50%; background-color: rgba(255 255 255 / 15%); display: flex; align-items: center; justify-content: center; margin-inline: auto; }
.hoai-slide.active .hoai-box .hoai-icon { background-color: #ffffff; }
/* .hoai-slide.active .hoai-box .hoai-icon svg path { fill: #1AB2C6;  } */
.hoai-slide.active .hoai-box .hoai-icon svg, 
.hoai-slide.active .hoai-box .hoai-icon svg path { fill: #1A4DC6; /* stroke: #1A4DC6; */ }
.hoai-slide .hoai-box {padding: 0 40px; text-align:center; position:relative;}

.hoai-slide h3{color:#ffffff; font-size:24px;  font-weight: 700; line-height: 1.3; text-align: center; color: #FFFFFF;  margin-bottom:80px; margin-top: 24px; min-height: 65px;}
.hoai-slide p{font-family: 'Geologica'; font-style: normal; font-weight: 400; font-size: 16px; line-height: 24px; text-align: center; color: rgba(255, 255, 255, 0.85); margin:0; transform: translateY(50px); opacity:0; transition:all 400ms; transition-delay:0.4s; -webkit-line-clamp: 3; -webkit-box-orient: vertical;  overflow: hidden; display: -webkit-box; text-overflow: ellipsis; min-height: 72px;}


.hoai-slide:before{height:4px; background:rgba(255,255,255,1); content:""; position:absolute; bottom:var(--progress-position); margin-left:16px; left:-50%; right:auto; width:0; transition:all 1.5s;}	

.hoai-slide.active { opacity: 1; transform: scale(1); }
.hoai-slide.active:before{right:50%; transition:all 1.2s; width:100%}

.hoai-slide > div:before{background:#0a3db8; height:40px; width:40px; content:""; position:absolute; left:50%; transform:translateX(-50%); border-radius:50%; border:4px solid rgba(255,255,255,0.15); transition:all 400ms; transition-delay:0.3s; z-index:1; top: auto; bottom: calc(var(--progress-position) - calc(20px - 2px));}
.hoai-slide > div:after{background:#ffffff; height:22px; width:22px; content:""; position:absolute; left:50%; transform:translateX(-50%); border-radius:50%; opacity:0; transition:all 400ms; transition-delay:0.3s; z-index:1; top: auto; bottom: calc(var(--progress-position) - calc(11px - 2px));}
.hoai-slide.active > div:before{border:4px solid #ffffff;}
.hoai-slide.active > div:after{opacity:1}
.hoai-slide.active p{opacity:1; transform:translateY(0);}

/* .hoai-top { padding-inline:20px; } */
.hoai-bottom { margin-top:0 !important; /* padding-inline: 20px; */ }

/* Hoai Grid (No-slider)
==========================*/
.hoai-section .section-title h2, .section-title h2.elementor-heading-title { font-size: 60px; }

.hoai-grid { padding-block: 50px; /* padding-inline: 20px; */}
.hoai-grid.e-con.e-flex > .e-con-inner { display:flex; flex-flow:wrap; column-gap: 48px; row-gap: 32px; counter-reset: item-counter;}
.hoai-grid .elementor-widget-icon-box { flex:0 0 calc((100% - 96px) / 3); max-width:calc((100% - 96px) / 3); width:100%;  counter-increment: item-counter;}
.hoai-grid .elementor-icon-box-wrapper { gap:24px !important; }
.hoai-grid .elementor-widget-icon-box .elementor-icon-box-icon { width:96px; height:96px; background-color:rgba(255 255 255 / 20%); border-radius:50%; display:flex; align-items:center; 
	justify-content:center;  position:relative; }
.hoai-grid .elementor-widget-icon-box .elementor-icon-box-icon:before{content: counter(item-counter, decimal-leading-zero); position: absolute; right: -5px; top: -5px; font-weight: bold; 
	color: rgba(26, 178, 198, 1); width: 32px; height: 32px;  background-color: #ffffff; border-radius: 50%; font-size: 14px; line-height: 1.2; font-weight: 600; font-family: 'Geologica'; display: flex;
    align-items: center; justify-content: center;  }
.hoai-grid .elementor-icon-box-content .elementor-icon-box-title { font-weight: 700; font-size: 20px; line-height: 1.3; color: #FFFFFF; margin-top: 0; margin-bottom: 16px; }
.hoai-grid .elementor-icon-box-content .elementor-icon-box-description { font-family: 'Geologica'; font-weight: 300; font-size: 14px; line-height: 1.5; color: rgba(255, 255, 255, 0.85); }

/*==================================
  Uber Uns Page
===================================*/
/* .our-vision-section { padding-top:200px; padding-bottom:0; } */

/*==================================
  Team
===================================*/
.team-section h4.elementor-heading-title { font-weight: 500; }
.team-card { overflow: hidden; position: relative;}
.team-card:before { content: ''; position: absolute; inset: 0; width: 100%; height: 100%; background-color: rgba(0 0 0 / 65%); opacity: 0; transform: translatey(100%); transition: 0.6s all ease-in-out;  z-index:1; }
.team-card:hover:before { opacity:1; transform:translatey(0); }
.team-card .team-card__image img { filter: grayscale(1); -webkit-filter: grayscale(1);  transition: 0.3s all ease-in-out; aspect-ratio: 451 / 610; object-fit: cover;}
.team-card:hover .team-card__image img { filter: grayscale(0); -webkit-filter: grayscale(0); }

.team-card__content { text-align: center; margin-top: 0px; position: absolute; bottom: 0; left: 0; right: 0; padding: 30px; transform: translateY(50px); transition: 0.3s all ease-in-out; z-index: 1; display: flex; flex-direction: column; align-items: center; }
.team-card__content .elementor-heading-title { margin-bottom: 0; font-size: 16px; letter-spacing: 0.05em; text-transform: uppercase; color: #FFFFFF; padding: 11px 15px; backdrop-filter: blur(16px); background-color: rgba(26, 77, 198, 0.85);  line-height: 1.25; border-radius: 30px; display: inline-block; transition: 0.3s all ease-in-out; }
/* .team-card__content .elementor-heading-title a {  padding: 11px 15px; backdrop-filter: blur(16px); background-color: rgba(26, 77, 198, 0.85);  line-height: 1.25; border-radius: 30px; display: inline-block; transition: 0.3s all ease-in-out;}
.team-card__content .elementor-heading-title a:hover { background-color: rgba(26, 77, 198, 1); } */
/* .team-card__content .elementor-widget-post-info ul { justify-content: center; }  */
.team-card__content .elementor-widget-post-info ul li { font-weight: 500; font-size: 16px; line-height: 24px; color: #ffffff; }
.team-card__content .elementor-widget-theme-post-excerpt { font-weight: 400; font-size: 13px; line-height: 1.6; text-align: center; color: #ffffff; }

/* .team-card__content:before { content: ''; position: absolute; inset: 0; width: 100%; height: 100%; background-color: rgba(0 0 0 / 80%); opacity: 0; transform: translateY(100%); transition: 0.6s all ease-in-out;     border-radius: 15px 15px 0 0; }
.team-card:hover .team-card__content:before { opacity: 1; transform: translateY(0);} */
.team-card:hover .team-card__content { transform: translateY(0); }
.team-card__content .elementor-widget-post-info { transform: translateY(50px); opacity: 0;  transition: 0.5s all ease-in-out; }
.team-card:hover .team-card__content .elementor-widget-post-info { transform: translateY(0px); opacity: 1; }
/*==================================
  Testimonials Section
===================================*/
.tm-section { position: relative; background-color: var(--primary-color); background-image: url(images/pattern.svg); background-repeat: no-repeat; background-size: auto; padding: 140px 20px; }
.tm-section .tm-item .elementor-widget-text-editor,
.tm-section .tm-item .elementor-widget-text-editor p { font-weight: 500; font-size: 24px; line-height: 36px; text-align: center; color: rgba(255, 255, 255, 0.85); margin-bottom: 0;}
.tm-section .tm-slider .slick-track { display: flex;}

/* Arrows */
.tm-arrow { width: 90px; height: 90px; border-radius: 50%; position: relative; background: rgba(255, 255, 255, 1); z-index: 1;  backdrop-filter: blur(16px); transition: 0.3s all ease-in-out; display: flex; align-items: center; justify-content: center;}
.tm-arrow.is-disabled { background: rgba(255, 255, 255, 0.15); }
.tm-arrow:hover { background-color: #ffffff; }
.tm-arrow:not(.is-disabled) svg path,
.tm-arrow:hover svg path { stroke:var(--primary-color); }
.tm-arrow .elementor-icon-wrapper,
.tm-arrow .elementor-icon-wrapper svg  { width:36px; height: 36px; }
.testimonial-prev,
.testimonial-next { cursor: pointer; }

/* Progress bar */
.testimonial-progress-wrap { display: flex; align-items: center; gap: 24px; margin-top: 20px; }
.tp-current,
.tp-total { font-size: 24px; letter-spacing: 2px; color: #fff; font-weight: 600; }
.tp-bar { min-width: 320px; height: 4px; background: rgba(255,255,255,0.3); position: relative; overflow: hidden; }
.tp-fill { position: absolute; left: 0; top: 0; height: 100%; width: 0%; background: #fff; transition: width 0.4s ease; }


/*==================================
  Footer
===================================*/
footer { position: relative; background-color: rgba(30 34 38 / 100%); padding: 60px 20px 30px; }
footer:before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: url(images/overlay-banner.jpg); background-size: cover; background-position: center; background-repeat: no-repeat; opacity: 0.05;}

.footer_top .elementor-nav-menu--main ul.elementor-nav-menu { justify-content: space-between; padding: 0px 0 100px; width: 100%;}
.footer_top .elementor-nav-menu--main ul.elementor-nav-menu:after { display: none;}
.footer_top .elementor-nav-menu--main ul.elementor-nav-menu li { width: auto; flex-grow: initial; }
.footer_top .elementor-nav-menu--main ul.elementor-nav-menu li a { font-size: 20px; color: rgba(255 255 255 / 45%); font-weight: 700; line-height: 1.5; letter-spacing: 1.5px; text-transform: uppercase; width: auto; padding: 0; transition: 0.3s all ease-in-out;}
.footer_top .elementor-nav-menu--main ul.elementor-nav-menu li a:hover,
.footer_top .elementor-nav-menu--main ul.elementor-nav-menu li.current-menu-item a { color: #ffffff; }

.ft-widget { row-gap: 40px; }
.ft-widget:not(:last-child) { margin-bottom: 20px;}
.ft-widget .elementor-heading-title { font-size: 16px; line-height: 1.5; font-weight: 600; color: #f3f3f3;}
.ft-widget .elementor-widget-text-editor { color: rgba(255 255 255 / 65%); font-size: 16px; font-weight: 600; line-height: 1.5; }
.ft-widget ul { list-style: none;}
.ft-widget ul li:not(:last-child) { margin-bottom: 40px; }
.ft-widget ul li { color: rgba(255 255 255 / 65%); font-size: 16px; font-weight: 600; line-height: 1.5; }
.ft-widget ul li a { text-decoration: underline; color: rgba(255 255 255 / 65%); font-size: 16px; font-weight: 600; line-height: 1.5; }
.ft-widget ul li a:hover { color: #ffffff;}
.ft-widget ul li:not(:last-child) { margin-bottom: 0;}
.ft-widget ul li:nth-child(2) { margin-bottom: 40px; }

.ft-widget .elementor-heading-title { color: rgba(255 255 255 / 65%); margin-bottom: 0; }
.ft-widget p:last-child { margin-bottom: 0; }

.footer_bottom { justify-content: flex-end; margin-top: 0; }
.footer_bottom .elementor-heading-title {  color: #fff; font-size: 40px; font-weight: 700; line-height: 1.2; }

/* .footer_bottom .footer-logo { margin-top: 0; width: 120px; height: 120px; display: flex; align-items: center; justify-content: center; background-color: var(--primary-color); position: relative; z-index: 1; margin-inline: auto; }
.footer_bottom .footer-logo:after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: url(images/pattern.svg); z-index: -1; }
.footer_bottom .footer-logo img { width: 50px; height: 50px;} */

.contact-fab-wrap { position: fixed; width: 56px; height: 56px; left: 20px; bottom: 20px; padding: 0; z-index: 9999;}

.footer-logo { /* margin-top: -250px; */ width: 150px; height: 150px; display: flex; align-items: center; justify-content: center; background-color: var(--primary-color); position: relative; z-index: 1; }
.footer-logo:after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: url(images/pattern.svg); z-index: -1; }
.footer-logo img { width: 70px; height: 70px;}

.copyright-widget { margin-top: auto; }

.privacy-menu .elementor-nav-menu { gap: 20px;} 
.privacy-menu .elementor-nav-menu li { margin-bottom: 0 !important; }
.privacy-menu .elementor-nav-menu li a,
.privacy-menu .elementor-nav-menu li a:hover { padding:0; }
/*==================================
  About Us
===================================*/
.pagetitle_inner { position: relative; background-color: rgba(30 34 38 / 100%); min-height: 800px; padding: 200px 20px 100px; }
.pagetitle_inner:before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: url(images/about-banner.jpg); background-size: cover; background-position: center; background-repeat: no-repeat; opacity: 0.05;}

.pagetitle-left { min-height:200px; padding-top:200px; padding-bottom:0; background-color:#ffffff; }
.pagetitle-left:before { display:none; }

.uber-uns.pagetitle_inner { background-color: rgb(255 255 255); min-height: 200px; padding-bottom:0px;}
.uber-uns.pagetitle_inner:before { display:none; }
.our-vision-section { padding-top:200px; }

.our-vision { position: relative; background-color: var(--primary-color); background-image: url(images/pattern.svg); background-repeat: no-repeat; background-size: auto; padding: 240px 20px 140px; }

.behind-section { position: relative; z-index: 2; background-color: #F3F3F3; }
.behind-section:before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: url(images/pattern-white.svg); background-size: auto; background-position: top center; background-repeat: no-repeat; }
.behind-section:after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 100%; background-image: url(images/pattern-white-reverse.svg); background-size: auto; background-position: bottom center; background-repeat: no-repeat; z-index: -1; }

/* .gallery-grid { display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(2, 1fr); grid-column-gap: 24px; grid-row-gap: 24px; } */
.gallery-grid .elementor-widget-image { position: relative;}
.gallery-grid .elementor-widget-image:before { content: ''; position: absolute; inset: 0; width: 100%; height: 100%; /* background-color: rgba(26 77 198 / 50%); */ }
.gallery-grid .elementor-widget-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; /* filter: grayscale(1); -webkit-filter: grayscale(1); */ transition: 0.3s all ease-in-out;}
/* .gallery-grid .elementor-widget-image:hover img { filter: grayscale(0); -webkit-filter: grayscale(0);  } */
/* .gallery-grid .elementor-widget-image:nth-child(1) { grid-area: 1 / 1 / 3 / 2;  width: 812px; height: 812px; object-fit: cover; object-position: center; aspect-ratio: 1 / 1; }
.gallery-grid .elementor-widget-image:nth-child(2) { grid-area: 1 / 2 / 2 / 3; width: 564px; height: 394px; object-fit: cover; object-position: center; aspect-ratio: 564 / 394;}
.gallery-grid .elementor-widget-image:nth-child(3) { grid-area: 2 / 2 / 3 / 3; width: 564px; height: 394px; object-fit: cover; object-position: center; aspect-ratio: 564 / 394;}
 */

.gallery-grid { display: grid; grid-template-columns: 811fr 564fr; gap: 24px; }
.gallery-grid .elementor-widget-image:nth-child(1) { grid-row: span 2; aspect-ratio: 1 / 1; height:100%; }
.gallery-grid .elementor-widget-image:nth-child(2),
.gallery-grid .elementor-widget-image:nth-child(3) { aspect-ratio: 564 / 393.5; }


.milestone-section { position: relative;}
.milestone-section:before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: url(images/combined-pattern.svg); background-size: auto; background-position: top center; background-repeat: no-repeat; }
/* .milestone-section:after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 100%; background-image: url(images/pattern-reverses.svg); background-size: auto; background-position: bottom center; background-repeat: no-repeat; z-index: -1; } */
.milestones-grid { display: flex; gap: 24px; }
.milestones-grid .elementor-widget-icon-box { flex: 0 0 calc((100% - 96px) / 5); max-width: calc((100% - 96px) / 5); width: 100%; background: rgba(255, 255, 255, 0.05); backdrop-filter: blur(16px); padding: 80px 15px; }
.milestones-grid .elementor-widget-icon-box .elementor-icon-box-icon { width: 132px; height: 132px; background-color: #ffffff; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-inline: auto; margin-top: 50px; }
.milestones-grid .elementor-widget-icon-box .elementor-icon-box-icon svg{ width: 48px; height: 48px; }
.milestones-grid .elementor-widget-icon-box .elementor-icon-box-content .elementor-icon-box-title { font-weight: 700; font-size: 24px; line-height: 29px; text-align: center; color: #FFFFFF; margin-bottom: 24px;}
.milestones-grid .elementor-widget-icon-box .elementor-icon-box-content .elementor-icon-box-description { position: relative; font-weight: 400; font-size: 16px; line-height: 24px; text-align: center; color: rgba(255, 255, 255, 0.85); padding-top: 64px; margin-bottom: 50px;}
.milestones-grid .elementor-widget-icon-box .elementor-icon-box-content .elementor-icon-box-description:before { content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 40px; height: 40px; background-color: #ffffff; border: 9px solid var(--primary-color); border-radius: 50%;  }

.cta-section { position: relative; padding: 120px 20px;}
.cta-section .site-btn { margin-top: 20px; }
.cta-section .site-btn .elementor-button { color: var(--text-color);} 
.cta-section .site-btn .elementor-button:hover { color: var(--primary-color);} 
.cta-section .site-btn .elementor-button .elementor-button-icon { border: 0; }
.cta-section .site-btn .elementor-button .elementor-button-icon svg path { stroke: var(--primary-color); }
.cta-section .site-btn .elementor-button:hover .elementor-button-icon svg path { stroke: #ffffff;}



/* LEFT BIG SQUARE IMAGE */
/* .left-square img { width: 100%; height: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; } */
/* RIGHT STACK FLEX FIX */
/* .right-stack { display: flex; flex-direction: column; height: 100%; }
.right-stack .elementor-widget-image { flex: 1; }
.right-stack img { width: 100%; height: 100%; object-fit: cover; display: block; } */
/*==================================
  Project Page
===================================*/
.our-project-section { padding-top:200px; }

.project-hero { height: 100vh; position: relative; }
.project-hero:before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #1E2226; z-index: 1; opacity: .5; }
.project-hero .project-nav-wrap { position: absolute; bottom: 100px; right: 0; }
.project-hero .slick-track { height: 100vh; }
.project-hero .project-slider-nav { justify-content: end; z-index: 1; position: relative; }
.project-hero .custom-nav .slick-arrow { background-color: rgba(255, 255, 255, 0.15); backdrop-filter: blur(16px);  border: 0;}
.project-hero .custom-nav .slick-arrow:not(.slick-disabled) { background-color: var(--primary-color); }
.project-hero .slick-dots li button { background-color: #ffffff; }
/* .project-slider .project-slide img { filter: grayscale(1); -webkit-filter: grayscale(1); } */

.badge.white .elementor-post-info li,
.badge.white .elementor-heading-title { font-size: 16px; font-weight: 700; color: var(--primary-color); background-color: #ffffff; text-transform: uppercase; line-height: normal; padding: 12px 15px; border-radius: 30px; display: inline-flex; align-items: center; letter-spacing: 1px; margin-bottom: 0;}

.proejct-details-section { position: relative; z-index: 3;}
.proejct-details-section:before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: url(images/pattern.svg); background-size: auto; background-position: top center; background-repeat: no-repeat; z-index: -1;}
.proejct-details-section:after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: url(images/pattern-reverse.svg); background-size: auto; background-position: bottom center; background-repeat: no-repeat;  z-index: -1;}

.proejct-brief .elementor-widget-theme-post-excerpt,
.proejct-brief .elementor-widget-text-editor,
.proejct-brief .elementor-widget-text-editor p { color: rgba(255 255 255 / 85%); font-size: 20px; line-height: 1.5; font-weight: 500; }
.proejct-brief .site-btn .elementor-button { color: #ffffff; }

.project-details_info { list-style: none; max-width: 450px; }
.project-details_info .elementor-widget-icon-list { margin-top: 20px; margin-bottom: 20px;}
.project-details_info li { display: flex; justify-content: space-between; font-size: 20px; line-height: 24px; letter-spacing: 0.05em;  color: #FFFFFF; padding-block: 20px !important;}
.project-details_info li strong { font-weight: 700; text-transform: uppercase;}
.project-details_info li:not(:last-child) { border-bottom: 1px solid rgba(255 255 255 / 65%); }
.project-details_info li .elementor-icon-list-text { display: flex; justify-content: space-between; width: 100%;}
.project-details_info li .elementor-icon-list-text span { text-align:right; }
.project-details_info .elementor-widget-text-editor,
.project-details_info .elementor-widget-text-editor p { font-size: 20px; font-weight: 500; line-height: 1.5; color: rgba(255 255 255 / 85%); }

.story-section { position: relative; background-color: #F3F3F3; background-image: url(images/pattern-white.svg); background-repeat: no-repeat; background-size: auto; padding: 80px 20px;}
.story-section .e-con-inner { max-width: 1200px; width: 100%; margin-inline: auto;}
.story-section .elementor-widget-text-editor,
.story-section .elementor-widget-text-editor p { font-size: 24px; font-weight: 500; line-height: 1.5; color: rgba(50 62 89 / 85%); }

.cta-project { position: relative;  background-image: url(images/pattern.svg); background-repeat: no-repeat; background-size: auto; padding: 120px 20px;}
.btn-group {display: flex; align-items: center; justify-content: space-between; margin-top: 50px; }

/* .project-gallery-grid { display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(2, 1fr); grid-column-gap: 24px; grid-row-gap: 24px; }
.project-gallery-grid .gallery-item { position: relative;}
.project-gallery-grid .gallery-item:nth-child(1) { grid-area: 1 / 1 / 3 / 2;  width: 812px; height: 812px; object-fit: cover; object-position: center; aspect-ratio: 1 / 1; }
.project-gallery-grid .gallery-item:nth-child(2) { grid-area: 1 / 2 / 2 / 3; width: 564px; height: 394px; object-fit: cover; object-position: center; aspect-ratio: 564 / 394;}
.project-gallery-grid .gallery-item:nth-child(3) { grid-area: 2 / 2 / 3 / 3; width: 564px; height: 394px; object-fit: cover; object-position: center; aspect-ratio: 564 / 394; }
.project-gallery-grid .gallery-item img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: grayscale(1); -webkit-filter: grayscale(1); transition: 0.3s all ease-in-out; position: relative;}
.project-gallery-grid .gallery-item:before { content: ''; position: absolute; inset: 0; width: 100%; height: 100%; background-color: rgba(26 77 198 / 50%); }
.project-gallery-grid .gallery-item:hover img { filter: grayscale(0); -webkit-filter: grayscale(0); } */

.full-gallery-grid { display: flex; flex-wrap: wrap !important; gap: 24px; margin-top: 24px; margin-bottom: 24px;}
.full-gallery-grid .gallery-item { position: relative; flex: 1 1 calc(50% - 12px) !important; min-width: calc(50% - 12px) !important; max-width: calc(50% - 12px);}
.full-gallery-grid .gallery-item img { width: 100%; height: 100%; aspect-ratio: 1 / 1; object-fit: cover; object-position: center; /* filter: grayscale(1); -webkit-filter: grayscale(1); */ transition: 0.3s all ease-in-out; position: relative;}
/* .full-gallery-grid .gallery-item:hover img { filter: grayscale(0); -webkit-filter: grayscale(0); } */

/*==================================
  Contact Us Page
===================================*/
.contact-section { padding-top:200px; }

/*==================================
  Responsive CSS  
===================================*/
@media only screen and (max-width:1649px) {
	.hero-navigation { gap: 50px; bottom: 20px;}
  
}
@media only screen and (max-width:1499px) {
	.header .header-top .menu-wrap { padding-right: 30px; }
/*   .footer-logo { width: 300px; height: 300px;} */
	.hoai-slide h3 { font-size:20px; }
}
@media only screen and (max-width:1365px) {
	.hoai-slide { flex: 0 0 calc(100vw / 3); }
	.projects-item .projects_front .elementor-widget-post-info { left: 20px; bottom:20px; }
	.projects-item .projects_hover .projects_hover--bottom { width: calc(100% - 40px); left: 20px; bottom:20px; }
	.milestones-grid { flex-flow:wrap; }
	.milestones-grid .elementor-widget-icon-box { flex: 0 0 calc((100% - 48px) / 3); max-width: calc((100% - 48px) / 3); }
}
@media only screen and (max-width:1279px) {
	.header .elementor-nav-menu--main .elementor-nav-menu li a { font-size: 18px; padding: 10px 20px; }
  	.header .elementor-nav-menu--main .elementor-nav-menu li a:hover:before, 
  	.header .elementor-nav-menu--main .elementor-nav-menu li.current-menu-item a:before { transform: translateY(-50%) translateX(calc(20px - 10px));  }
	.section-title h2, .section-title h2.elementor-heading-title { font-size: 50px; }
	.counter-grid { padding-bottom: 50px;}
	.counter-grid .elementor-widget-counter .elementor-counter-number-wrapper { font-size: 60px; }
	.team-card__content { padding: 20px;}
	.team-card__content .elementor-widget-post-info ul li { font-size: 14px; }
	
	.hoai-grid .elementor-widget-icon-box .elementor-icon-box-icon { width: 64px; height: 64px; }
	.hoai-grid .elementor-widget-icon-box .elementor-icon-box-icon svg { width: 24px; height: 24px; }
	.hoai-grid .elementor-widget-icon-box .elementor-icon-box-icon:before { width: 24px; height: 24px; font-size: 12px;}
	.hoai-grid.e-con.e-flex > .e-con-inner { column-gap: 16px; row-gap: 24px; }
	.hoai-grid .elementor-widget-icon-box { flex: 0 0 calc((100% - 32px) / 3); max-width: calc((100% - 32px) / 3); }
	.hoai-grid .elementor-icon-box-content .elementor-icon-box-title { font-size: 18px; margin-bottom: 10px; }
	.hoai-grid .elementor-icon-box-wrapper { gap: 16px !important; }
}
@media only screen and (max-width:1169px) {
	.subtitle, .subtitle p { font-size: 20px;}
  	.header .header-top .logo-wrap { max-width: 300px; }
	.hoai-slide p { transition-delay: 0.3s; }
	.hoai-slide > div:before,
	.hoai-slide > div:after { transition-delay: 0.2s;}
	.hoai-slide .hoai-box { padding: 0 20px; }
	.tm-section { padding: 70px 20px; }
	.section-space { padding: 70px 20px; }
	.our-project-section { padding-top:150px; }
	.footer_top .elementor-nav-menu--main ul.elementor-nav-menu li a { font-size: 18px; }
	.team-card__content .elementor-heading-title { font-size: 14px; }
	
	.hoai-grid .elementor-widget-icon-box { flex: 0 0 calc((100% - 16px) / 2); max-width: calc((100% - 16px) / 2); }
	.contact-section { padding-top:150px; }
	.our-vision-section { padding-top:150px; }
	.pagetitle-left { min-height:150px; padding-top: 150px; padding-bottom:0; }
	.dse-section, 
	.impressum-section { padding-top: 40px; }
	
}
@media only screen and (max-width:1024px) {
	h2 { font-size: 36px; }
  	.header .header-top { background-color: var(--primary-color); padding: 10px 20px; background-image: url(images/pattern.svg); background-repeat: no-repeat;}	
  	.header .header-top .logo-wrap { align-items: flex-start; }  
  	.header .header-top .menu-wrap { padding-right: 0; }
	body:not(.home) .header .header-top { background-color: var(--primary-color); }
	.header.is-sticky .header-top { background-color: var(--primary-color);  }
	
	.offcanvas-widget--grid { }
	.offcanvas-widget--grid .offcanvas-widget--col { flex: 0 0 100%; max-width: 100%; }
	.header .elementor-nav-menu--main .elementor-nav-menu li a:before { display:none; }
	.header .elementor-nav-menu--main .elementor-nav-menu li a {  font-size: 48px; padding: 12px 20px; color:#BFBFBF }
	.header .elementor-nav-menu--main .elementor-nav-menu li a:hover { color:#ffffff; }
	.header .elementor-nav-menu--main .elementor-nav-menu li { position:relative; padding-left: 70px; }
	.header .elementor-nav-menu--main .elementor-nav-menu li:before { content:''; position:absolute; top:50%; left:0; width:70px; height:70px; background-image:url(/wp-content/uploads/2026/04/menu-arrow.svg); background-size:70px 70px; background-repeat:no-repeat; transform:scale(0) translateY(-50%); opacity:0; transition:0.3s all ease-in-out;  }
	.header .elementor-nav-menu--main .elementor-nav-menu li:hover:before,
	.header .elementor-nav-menu--main .elementor-nav-menu li.current-menu-item:before { opacity:1; transform:scale(1) translateY(-50%); }
	.offcanvas-widget--grid .offcanvas-widget--col ul.social { display:flex; gap:16px; }
	
	
	.hero-section h1 { font-size:48px;}	
	.section-title h2, .section-title h2.elementor-heading-title { font-size: 36px; margin-bottom: 0; }
	.subtitle, .subtitle p { font-size: 18px; }
	
	.counter-grid .e-con-inner .elementor-widget-counter { flex: 0 0 100%; max-width: 100%;  border-right: 0 !important; position:relative; padding-right: 0 !important; }
	.counter-grid .e-con-inner .elementor-widget-counter:not(:last-child) { margin-bottom: 20px; padding-bottom: 40px; }
	.counter-grid .e-con-inner .elementor-widget-counter:not(:last-child):before { content:''; position:absolute; bottom:0; left:50%; transform:translatex(-50%); width:170px; height:1px; 
		background-color:rgba(255 255 255 / 65%); }
	.projects-item .projects_front .elementor-widget-post-info { left: 20px; font-size:14px; }
	.projects-item .projects_hover .projects_hover--top { top: 20px; right: 20px; }
	.projects-item .projects_hover .projects_hover--bottom { left: 20px; }
	.projects-item .projects_hover .projects_hover--top a { width: 48px; height: 48px; }
	.projects-item .projects_hover .projects_hover--top a svg { width:24px; height:24px; }
	.projects-item .projects_hover .projects_hover--bottom .elementor-widget-post-info { font-size: 14px; }
	.projects-item .projects_hover .projects_hover--bottom .elementor-heading-title { font-size:24px; line-height: 1.3;}
	.milestones-grid .elementor-widget-icon-box { flex: 0 0 calc((100% - 24px) / 2); max-width: calc((100% - 24px) / 2); }
		
	.hoai-slide { flex: 0 0 calc(100vw / 2); }
	.counter-middle { padding-bottom: 40px; }
	.counter-top { padding: 70px 20px 0;}
	.counter-bottom { padding: 0px 20px 70px; }
	.site-btn .elementor-button { font-size: 18px; }	
	.site-btn .elementor-button .elementor-button-icon { width: 70px; height: 70px; min-width:70px;  }	
	.site-btn .elementor-button .elementor-button-icon svg { width: 30px; height: 30px; }
	.projects_loop .elementor-swiper-button { width: 70px; height: 70px; }
	.projects_loop .elementor-swiper-button.elementor-swiper-button-prev { top: -80px !important; left: calc(50% - calc(70px + 12px)) !important; right: auto; }
	.projects_loop .elementor-swiper-button.elementor-swiper-button-next { top: -80px !important; right: auto; left: calc(50% + 12px) !important;}
	.projects_loop .elementor-swiper-button svg { width: 30px !important; height: 30px !important;}
	.projects_loop { padding-top: 20px; }
	.custom-nav .slick-arrow { width: 70px; height: 70px; background-size: 30px 30px; }
	.tm-arrow { width: 70px; height: 70px; min-width:70px; }
	.tm-arrow .elementor-icon-wrapper, .tm-arrow .elementor-icon-wrapper svg { width: 30px; height: 30px; }
	.tm-section .tm-item .elementor-widget-text-editor, .tm-section .tm-item .elementor-widget-text-editor p { font-size: 18px; line-height: 1.6; }
	.footer_top .elementor-nav-menu--main ul.elementor-nav-menu { justify-content: flex-start; gap: 16px; padding: 50px 0 30px; }
/* 	.footer-logo { width: 200px; height: 200px; }
	.footer-logo img { width: 100px; height: 100px; } */
	.footer_bottom { margin-top: 0; }
	.footer_bottom .footer-logo { margin-top: -40px;}
	
	.pagetitle_inner { min-height: 500px; padding: 150px 20px 50px; }
/* 	.gallery-grid { display: flex; }
	.gallery-grid .elementor-widget-image:nth-child(1) { width: 100%; height: auto; }
	.gallery-grid .elementor-widget-image:nth-child(2),
	.gallery-grid .elementor-widget-image:nth-child(3) {width: 100%; height: 100%; } */
	
	.cta-section { padding: 70px 20px; }
	.our-vision { padding: 100px 20px 70px; }
	.our-project-section { padding-top: 130px; }
	.contact-section { padding-top:130px; }
	.pagetitle_inner.uber-uns { padding-top:100px; min-height: auto; }	
	.pagetitle-left { min-height:150px; padding-top: 100px; padding-bottom:0; }
	.dse-section,
	.impressum-section { padding-top: 20px; }
	
	
}
@media only screen and (max-width:767px) {	
	.header .header-top { padding: 20px;}
	.mobile-logo img { max-width: 32px; }
	.subtitle, .subtitle p { font-size: 16px; }
	.section-title h2, .section-title h2.elementor-heading-title { font-size: 30px;  }
	h2 { font-size: 30px; }
	.offcanvas { /* max-height: 100vh;  min-height: 100vh; padding: 50px 20px 50px; */ height: 100vh !important; padding: 100px 20px 50px; min-height: 100vh; }
/* 	.offcanvas,
	.offcanvas-widget--grid, 
	.offcanvas-widget--col { height:auto; } */
	.offcanvas { height:auto; }
	.offcanvas .offcanvas-widget--grid { display:inline-block; }
	.offcanvas .offcanvas-widget--grid .offcanvas-widget--col:not(:last-child) { margin-bottom:20px; }
	
	
	.header .elementor-widget-nav-menu { align-items: flex-start;}
	.header .elementor-nav-menu--main .elementor-nav-menu li { padding-left: 48px; }
	.header .elementor-nav-menu--main .elementor-nav-menu li:before { width: 48px; height: 48px; background-size: 48px 48px; }
	.header .elementor-nav-menu--main .elementor-nav-menu li a { font-size: 30px;}
	.site-btn .elementor-button { font-size: 14px; }
	.site-btn .elementor-button .elementor-button-icon { width: 48px; height: 48px; min-width:48px; }
	.site-btn .elementor-button .elementor-button-icon svg { width: 24px; height: 24px; }
	.custom-nav { gap: 20px; }
	.custom-nav .slick-arrow {  width: 48px; height: 48px; background-size: 24px 24px;}
	.projects_loop .elementor-swiper-button { width: 48px; height: 48px;}
	.projects_loop .elementor-swiper-button svg { width: 24px !important; height: 24px !important; }
	.projects_loop .elementor-swiper-button.elementor-swiper-button-prev { top: -70px !important; left: calc(50% - calc(48px + 8px)) !important;}
	.projects_loop .elementor-swiper-button.elementor-swiper-button-next { top: -70px !important; left: calc(50% + 8px) !important;}
	.e-con.e-flex { flex-wrap: nowrap;}
	.hero-section h1 { font-size: 40px; }
	.projects-section .projects-item { max-width: initial; }
	.tm-mobile-nav { gap: 16px; }
	.tm-arrow { width:48px; height:48px; min-width:48px; }
	.tm-arrow .elementor-icon-wrapper, 
	.tm-arrow .elementor-icon-wrapper svg { width:24px; height:24px; }
	.taxonomy-filter { gap: 12px; }
	.taxonomy-filter li label > span { font-size: 12px; padding: 10px 13px; }
	.counter-slide .elementor-custom-embed-image-overlay .elementor-custom-embed-play svg { width: 50px; height: 50px;}
	:root { --progress-position: 110px; }
	.hoai-slide { flex: 0 0 calc(100vw / 1); }
	.hoai-slide h3 { margin-bottom: 50px; }
	.hoai-slide > div:before { height: 24px; width: 24px; bottom: calc(var(--progress-position) - calc(12px - 2px));}
	.hoai-slide > div:after { height: 16px; width: 16px; bottom: calc(var(--progress-position) - calc(8px - 2px)); }	
	.hoai-slide.active > div:before { border: 2px solid #ffffff;}
	.hoai-slide:before { margin-left: 0;}
	.counter-slider .slick-slide { margin-right: 20px; }
	.counter-grid .elementor-widget-counter .elementor-counter-number-wrapper { font-size: 44px; }
	
	
/* 	.footer-logo { width: 200px; height: 200px; }
	.footer-logo img { width: 70px; height: 70px; } */
	.footer_top .elementor-nav-menu--main ul.elementor-nav-menu li a {  font-size: 16px; }
	
	.pagetitle_inner { min-height: 350px;}
	.milestones-grid .elementor-widget-icon-box { padding: 24px; }
	.milestones-grid .elementor-widget-icon-box .elementor-icon-box-icon { margin-top: 0; }
	.milestones-grid .elementor-widget-icon-box .elementor-icon-box-content .elementor-icon-box-description { margin-bottom: 0; }
	.full-gallery-grid { padding-inline: 20px; }
	.btn-group { flex-direction: column !important; flex-flow: wrap; gap: 30px; }
	.site-btn .elementor-button .elementor-button-content-wrapper { gap: 16px;  flex-direction: column-reverse !important; }
	.story-section .elementor-widget-text-editor, .story-section .elementor-widget-text-editor p{ font-size: 16px; }
	.project-details_info { max-width: initial; }
	
	.gallery-grid { grid-template-columns: 1fr; }
    .gallery-grid .elementor-widget-image:nth-child(1) { grid-row: auto; }
	.project-hero .project-nav-wrap { bottom: 50px; }
	.proejct-details-section .site-btn { text-align: center; }
	.projects-section .swiper-slide { max-width: initial; }
	.projects-section .swiper-slide .projects-item { max-width: 446px; }
	
	.hoai-grid .elementor-widget-icon-box { flex: 0 0 calc((100% - 32px) / 3); max-width: calc((100% - 32px) / 3); }
	.hoai-grid .elementor-widget-icon-box .elementor-icon-box-icon { margin-inline: auto;}
	.hoai-grid .elementor-icon-box-content .elementor-icon-box-description { display:none; }
	.hoai-grid .elementor-icon-box-content .elementor-icon-box-title { font-size: 16px; word-break: break-all; }
	
	.contact-fab-wrap { left: 20px; bottom: 20px; }
	.our-project-section { padding-top: 120px; }
	.our-vision-section { padding-top:0px; }
	.pagetitle-left { min-height:150px; padding-top: 100px; padding-bottom:0; }
	.dse-section,
	.impressum-section { padding-top: 20px; }
	
	
}
@media only screen and (max-width:639px) {
	
}
@media only screen and (max-width:575px) {
	.section-space { padding: 40px 20px; }
	.section-title h2, .section-title h2.elementor-heading-title { font-size: 24px; }
	h2 { font-size: 24px; }
	.subtitle, .subtitle p { font-size: 14px; font-weight: 400; }
	.testimonial-progress-wrap { gap: 16px; }
	.tp-current, .tp-total { font-size: 16px; }
	.tp-bar { min-width: 250px; }
	.projects-item .projects_hover .projects_hover--bottom .elementor-heading-title { font-size: 24px; line-height: 1.3; }
	.projects-item .projects_hover .projects_hover--bottom .elementor-widget-post-info {  padding: 9px 15px; font-size: 12px; }
	.projects-item .projects_hover .projects_hover--bottom .elementor-widget-theme-post-excerpt { font-size: 14px; }
	.projects-item .projects_front .elementor-widget-post-info { padding: 9px 15px; font-size: 12px;}
	.team-card__content .elementor-heading-title { font-size: 12px; padding: 9px 15px; }
	.team-card__content .elementor-widget-theme-post-excerpt { font-size: 12px; line-height: 1.5; margin-top: 0 !important;}
	.hoai-slide h3 { font-size: 16px; }
	.hoai-slide p { font-size:14px; }
	.hero-section h1 { font-size: 28px; }
	.counter-top { padding: 40px 20px 0; }	
	.counter-grid .elementor-widget-counter .elementor-counter-number-wrapper { font-size: 40px; }	
	.counter-grid .elementor-widget-counter .elementor-counter-title { font-size: 14px; }
	.counter-middle { padding-bottom: 20px; padding-top:20px; }

	.footer-logo { width: 80px; height: 80px; }
	.footer-logo img { width: 32px; height: 32px; }
	.footer_top .elementor-nav-menu--main ul.elementor-nav-menu li a {  font-size: 14px; }
	.cta-section { padding: 40px 20px; }
	
	.badge.white .elementor-post-info li, .badge.white .elementor-heading-title { font-size: 12px; }
	.proejct-brief .elementor-widget-theme-post-excerpt, .proejct-brief .elementor-widget-text-editor, .proejct-brief .elementor-widget-text-editor p { font-size: 14px; }
	.project-details_info li { font-size:14px !important; }
	.project-details_info .elementor-widget-text-editor, .project-details_info .elementor-widget-text-editor p { font-size:14px; }
	
	 .hoai-grid .elementor-icon-box-content .elementor-icon-box-title { font-size: 14px; }
	.hoai-bottom > .e-con-inner { justify-content: center !important; flex-direction: column !important; }
	
	.our-project-section { padding-top: 120px; }
	.contact-section { padding-top:120px; }
	.our-vision-section { padding-top:0px; }
	.dse-section,
	.impressum-section { padding-top: 20px; }
	
}
@media only screen and (max-width:479px) {
	.hoai-slide { flex: 0 0 100%; }
	.tp-bar { min-width: 210px; }
	.tm-section .tm-item .elementor-widget-text-editor, 
	.tm-section .tm-item .elementor-widget-text-editor p { font-size: 14px; }
	.hero-section.e-con .elementor-widget-text-editor { font-size:14px; }
	
	
	.footer_top .elementor-nav-menu--main ul.elementor-nav-menu li a {  font-size: 12px; }
	
	.hoai-grid .elementor-icon-box-content .elementor-icon-box-title { font-size: 12px; }
	
}

/* ===== Kontaktformular CF7 ===== */
.wpcf7-form .kf-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 20px;
}
.wpcf7-form .kf-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.wpcf7-form .kf-field.kf-full {
  grid-column: 1 / -1;
  margin-bottom: 20px;
}
.wpcf7-form .kf-field label {
  font-family: 'Geologica', sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #444;
}
.wpcf7-required,
.kf-required {
  color: #1A4DC6;
}
.wpcf7-form input[type=text],
.wpcf7-form input[type=email],
.wpcf7-form input[type=tel],
.wpcf7-form select,
.wpcf7-form textarea,
.wpcf7-form .wpcf7-quiz {
  width: 100%;
  padding: 14px 18px;
  border: 1.5px solid #d0d0d0;
  border-radius: 8px;
  font-family: 'Geologica', sans-serif;
  font-size: 15px;
  color: #222;
  background: #fafafa;
  transition: border-color 0.2s, box-shadow 0.2s;
  outline: none;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
}
.wpcf7-form input[type=text]:focus,
.wpcf7-form input[type=email]:focus,
.wpcf7-form input[type=tel]:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus,
.wpcf7-form .wpcf7-quiz:focus {
  border-color: #1A4DC6;
  box-shadow: 0 0 0 3px rgba(26, 77, 198, 0.12);
  background: #fff;
}
.wpcf7-form select {
/*   background-image: url(data:image/svg+xml,%3Csvg xmlns=http://www.w3.org/2000/svg width=16 height=16 viewBox=0 0 24 24 fill=none stroke=%231A4DC6 stroke-width=2%3E%3Cpolyline points=6 9 12 15 18 9%3E%3C/polyline%3E%3C/svg%3E);	
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 44px;
  cursor: pointer; */
}
.kf-row .wpcf7-select { appearance: none; -webkit-appearance: none; -moz-appearance: none; background-image: url("/wp-content/uploads/2026/05/select-arrow.svg") !important; 
	background-repeat: no-repeat !important; background-position: right 20px center !important; background-size: 13px !important; cursor:pointer; }

.wpcf7-form textarea {
  min-height: 140px;
  resize: vertical;
  line-height: 1.6;
}
.kf-quiz-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}
.kf-quiz-wrap .wpcf7-quiz-label {
  font-family: 'Geologica', sans-serif;
  font-size: 15px;
  color: #222;
  white-space: nowrap;
}
.kf-quiz-wrap .wpcf7-quiz {
  max-width: 100px;
}
.kf-submit-wrap {
  margin-top: 8px;
}
.wpcf7-form input#kf-submit,
.wpcf7-form input[type=submit] {
  background: #1A4DC6;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 16px 40px;
  font-family: 'Geologica', sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.03em;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s;
  width: auto;
}
.wpcf7-form input#kf-submit:hover,
.wpcf7-form input[type=submit]:hover {
  background: #153da0;
  transform: translateY(-1px);
}
.wpcf7-form .wpcf7-not-valid-tip {
  color: #d32f2f;
  font-size: 12px;
  font-family: 'Geologica', sans-serif;
  margin-top: 4px;
}
.wpcf7-form .wpcf7-response-output {
  border-radius: 8px;
  padding: 14px 18px;
  font-family: 'Geologica', sans-serif;
  font-size: 14px;
  margin-top: 16px;
  border: none !important;
}
.wpcf7-form.sent .wpcf7-response-output {
  background: #e8f5e9;
  color: #2e7d32;
}
.wpcf7-form.failed .wpcf7-response-output,
.wpcf7-form.invalid .wpcf7-response-output {
  background: #ffebee;
  color: #c62828;
}
.wpcf7 form .wpcf7-response-output { margin: 0; padding: 15px; } 
@media (max-width: 767px) {
  .wpcf7-form .kf-row {
    grid-template-columns: 1fr;
  }
}
/* ===== Ende Kontaktformular ===== */


/* ===== Subpage Header Fix ===== */
/* body:not(.home) .header {
  position: relative;
  height: auto;
}
body:not(.home) .header .header-top {
  background-color: rgb(30 34 38 / 65%);
  padding: 15px 40px;
}
body:not(.home) .pagetitle_inner {
  min-height: 350px;
  padding: 120px 20px 80px;
} */
/* ===== Ende Subpage Header Fix ===== */

/* ===== Contact Section Layout Fix ===== */
/* .contact-section > .e-con-inner > .e-child,
.contact-section > .e-child {
  flex-direction: row !important;
  flex-wrap: wrap;
  gap: 50px;
}
.contact-section > .e-con-inner > .e-child > .e-child:first-child,
.contact-section > .e-child > .e-child:first-child {
  flex: 0 0 33%;
  min-width: 280px;
}
.contact-section > .e-con-inner > .e-child > .e-child:last-child,
.contact-section > .e-child > .e-child:last-child {
  flex: 1 1 0;
  min-width: 300px;
} */
@media (max-width: 767px) {
/*   .contact-section > .e-con-inner > .e-child,
  .contact-section > .e-child {
    flex-direction: column !important;
  }
  .contact-section > .e-con-inner > .e-child > .e-child:first-child,
  .contact-section > .e-child > .e-child:first-child {
    flex: 1 1 100%;
  } */
}
/* ===== Ende Contact Layout Fix ===== */

/* ===== Legal Pages (Datenschutz + Impressum) ===== */
.dse-layout {
  display: flex !important;
  gap: 50px;
  align-items: flex-start;
}
.dse-content {
  flex: 1 1 0 !important;
  min-width: 0;
}
.dse-content h2,
.elementor-widget-text-editor .dse-content h2 {
  font-family: 'Geologica', sans-serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #1A4DC6 !important;
  margin: 36px 0 14px !important;
  padding-top: 18px !important;
  border-top: 1px solid #eaeaea !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
}
.dse-content h2:first-child,
.elementor-widget-text-editor .dse-content h2:first-child {
  margin-top: 0 !important;
  border-top: none !important;
  padding-top: 0 !important;
}
.dse-content h3,
.elementor-widget-text-editor .dse-content h3 {
  font-family: 'Geologica', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #222 !important;
  margin: 22px 0 8px !important;
  line-height: 1.4 !important;
}
.dse-content p,
.dse-content li {
  font-family: 'Geologica', sans-serif !important;
  font-size: 14.5px !important;
  line-height: 1.8 !important;
  color: #444 !important;
}
.dse-content ul {
  padding-left: 20px !important;
  margin: 8px 0 14px !important;
}
.dse-content li {
  margin-bottom: 4px !important;
}
.dse-content a {
  color: #1A4DC6 !important;
  text-decoration: none !important;
}
.dse-content a:hover {
  text-decoration: underline !important;
}
.dse-content strong {
  color: #222 !important;
  font-weight: 600 !important;
}
.dse-toc {
  flex: 0 0 220px !important;
  position: sticky !important;
  top: 120px !important;
  align-self: flex-start !important;
}
.dse-toc-inner {
  background: #f5f7fa;
  border-radius: 10px;
  padding: 22px 18px;
  border: 1px solid #e4e7ec;
}
.dse-toc-inner h4 {
  font-family: 'Geologica', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: #999 !important;
  margin: 0 0 14px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid #e4e7ec !important;
}
.dse-toc-inner ol {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.dse-toc-inner ol li {
  margin-bottom: 2px !important;
}
.dse-toc-inner ol li a {
  font-family: 'Geologica', sans-serif !important;
  font-size: 12.5px !important;
  color: #666 !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
  display: block !important;
  padding: 4px 8px !important;
  border-radius: 5px !important;
  transition: background 0.2s, color 0.2s !important;
}
.dse-toc-inner ol li a:hover {
  color: #1A4DC6 !important;
  background: rgba(26, 77, 198, 0.06) !important;
}
.impressum-content {
  max-width: 800px;
  margin: 0 auto;
  background: #fff;
  border-radius: 12px;
  padding: 44px;
  border: 1px solid #eaeaea;
  box-shadow: 0 2px 16px rgba(0,0,0,0.04);
}
.impressum-content h2,
.elementor-widget-text-editor .impressum-content h2 {
  font-family: 'Geologica', sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #1A4DC6 !important;
  margin: 32px 0 12px !important;
  padding-top: 16px !important;
  border-top: 1px solid #eaeaea !important;
  line-height: 1.3 !important;
}
.impressum-content h2:first-child,
.elementor-widget-text-editor .impressum-content h2:first-child {
  margin-top: 0 !important;
  border-top: none !important;
  padding-top: 0 !important;
}
.impressum-content p,
.impressum-content li {
  font-family: 'Geologica', sans-serif !important;
  font-size: 14.5px !important;
  line-height: 1.8 !important;
  color: #444 !important;
}
.impressum-content ul {
  padding-left: 20px !important;
  margin: 8px 0 14px !important;
}
.impressum-content li {
  margin-bottom: 4px !important;
}
.impressum-content a {
  color: #1A4DC6 !important;
  text-decoration: none !important;
}
.impressum-content a:hover {
  text-decoration: underline !important;
}
.impressum-content strong {
  color: #222 !important;
  font-weight: 600 !important;
}
@media (max-width: 900px) {
  .dse-layout {
    flex-direction: column !important;
    gap: 0 !important;
  }
  .dse-toc {
    flex: none !important;
    position: static !important;
    width: 100% !important;
    margin-bottom: 28px !important;
    order: -1 !important;
  }
  .dse-toc-inner ol {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
  }
  .dse-toc-inner ol li {
    margin-bottom: 0 !important;
  }
  .dse-toc-inner ol li a {
    font-size: 11.5px !important;
    padding: 3px 8px !important;
    white-space: nowrap !important;
    background: #fff !important;
    border: 1px solid #e4e7ec !important;
    border-radius: 20px !important;
  }
  .impressum-content {
    padding: 24px 18px;
  }
}
/* ===== Ende Legal Pages ===== */

/* ===== Retina/HiDPI Nav & Footer Scaling ===== */
/* Targets: MacBook Pro 16" (~1728px), 14" (~1512px), Air 13" (~1280px) */
/* Backup: style.css.bak-202604012xxx */
/* Revert: remove this block or restore backup */
@media only screen and (max-width: 1800px) {
/*   .header .header-top .logo-wrap {
    max-width: 300px;
  } */
/*   .header .header-top .menu-wrap {
    padding-right: 30px;
    gap: 24px;
  } */
/*   .header .elementor-nav-menu--main .elementor-nav-menu li a {
    font-size: 17px;
    padding: 10px 20px;
  } */
/*   .header .elementor-nav-menu--main .elementor-nav-menu li a:before {
    transform: translateY(-50%) translateX(calc(20px - 0px));
  }
  .header .elementor-nav-menu--main .elementor-nav-menu li a:hover:before,
  .header .elementor-nav-menu--main .elementor-nav-menu li.current-menu-item a:before {
    transform: translateY(-50%) translateX(calc(20px - 10px));
  } */
  /* Social Icons kompakter */
/*   .social_list .elementor-grid {
    gap: 20px;
  } */
/*   .social_list .elementor-grid .elementor-grid-item a svg {
    width: 18px;
    height: 18px;
  } */
/*   .social_list .elementor-grid .elementor-grid-item a {
    font-size: 13px;
    letter-spacing: 1px;
  } */
  /* Footer zentriert statt space-between */
/*   .footer_top .elementor-nav-menu--main ul.elementor-nav-menu {
    justify-content: center;
    gap: 40px;
    padding: 80px 40px;
  } */
/*   .footer_top .elementor-nav-menu--main ul.elementor-nav-menu li a {
    font-size: 15px;
    letter-spacing: 1px;
  } */
}
@media only screen and (max-width: 1550px) {
/*   .header .header-top .logo-wrap {
    max-width: 260px;
  } */
/*   .header .header-top .menu-wrap {
    padding-right: 24px;
    gap: 18px;
  } */
/*   .header .elementor-nav-menu--main .elementor-nav-menu li a {
    font-size: 16px;
    padding: 8px 16px;
  } */
  .header .elementor-nav-menu--main .elementor-nav-menu li a:before {
    transform: translateY(-50%) translateX(calc(16px - 0px));
  }
  .header .elementor-nav-menu--main .elementor-nav-menu li a:hover:before,
  .header .elementor-nav-menu--main .elementor-nav-menu li.current-menu-item a:before {
    transform: translateY(-50%) translateX(calc(16px - 8px));
  }
/*   .social_list .elementor-grid {
    gap: 16px;
  }
  .social_list .elementor-grid .elementor-grid-item a svg {
    width: 16px;
    height: 16px;
  }
  .social_list .elementor-grid .elementor-grid-item a {
    font-size: 12px;
    letter-spacing: 0.8px;
  } */
/*   .footer_top .elementor-nav-menu--main ul.elementor-nav-menu {
    justify-content: center;
    gap: 30px;
    padding: 70px 40px;
  } */
/*   .footer_top .elementor-nav-menu--main ul.elementor-nav-menu li a {
    font-size: 13px;
    letter-spacing: 0.8px;
  } */
}
@media only screen and (max-width: 1300px) {
/*   .header .header-top .logo-wrap {
    max-width: 220px;
  } */
/*   .header .header-top .menu-wrap {
    padding-right: 16px;
    gap: 12px;
  } */
/*   .header .elementor-nav-menu--main .elementor-nav-menu li a {
    font-size: 14px;
    padding: 8px 12px;
  } */
/*   .header .elementor-nav-menu--main .elementor-nav-menu li a:before {
    transform: translateY(-50%) translateX(calc(12px - 0px));
  }
  .header .elementor-nav-menu--main .elementor-nav-menu li a:hover:before,
  .header .elementor-nav-menu--main .elementor-nav-menu li.current-menu-item a:before {
    transform: translateY(-50%) translateX(calc(12px - 6px));
  }
  .social_list .elementor-grid {
    gap: 12px;
  }
  .social_list .elementor-grid .elementor-grid-item a svg {
    width: 15px;
    height: 15px;
  } */
/*   .footer_top .elementor-nav-menu--main ul.elementor-nav-menu {
    justify-content: center;
    gap: 20px;
    padding: 60px 30px;
  } */
/*   .footer_top .elementor-nav-menu--main ul.elementor-nav-menu li a {
    font-size: 12px;
    letter-spacing: 0.5px;
  } */
}
/* ===== Ende Retina Nav Fix ===== */

/* ===== Counter Slider Gap ===== */
.counter-slider .slick-slide {
  margin-right: 40px;
}
/* .counter-slider .slick-list {
  margin-right: -40px;
} */
/* ===== Ende Counter Slider Gap ===== */

/* ===== Team Card Excerpt on Hover ===== */
.team-card__content .team-card__excerpt {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.5s ease, opacity 0.4s ease;
}
.team-card:hover .team-card__content .team-card__excerpt {
  max-height: 300px;
  opacity: 1;
  margin-top: 8px;
}
.team-card__content .team-card__excerpt .elementor-widget-container,
.team-card__content .team-card__excerpt .elementor-widget-container *,
.team-card__content .elementor-widget-theme-post-excerpt .elementor-widget-container,
.team-card__content .elementor-widget-theme-post-excerpt .elementor-widget-container * {
  font-family: 'Geologica', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: #ffffff !important;
  text-align: center !important;
}
.team-card__content .team-card__excerpt .elementor-widget-container {
  max-width: 90%;
  margin: 0 auto;
}
/* ===== Ende Team Card Excerpt ===== */

/* ===== Project Card Image Fix ===== */
.e-loop-item .project-card__image img,
.e-loop-item .elementor-widget-theme-post-featured-image img {
  aspect-ratio: 488 / 610 !important;
  object-fit: cover !important;
  width: 100% !important;
  height: auto !important;
}
/* ===== Ende Project Card Image Fix ===== */

/* ===== Project Hero Slider Image Fit ===== */
.project-hero .project-slide img {
  width: 100% !important;
  height: 100vh !important;
  object-fit: cover !important;
  object-position: center 30% !important;
}
/* ===== Ende Project Hero Slider Image Fit ===== */

/* ===== Floating Contact Button ===== */
.contact-fab {
  position: relative;
/*   bottom: 30px;
  left: 30px; */
  width: 56px;
  height: 56px;
  background-color: var(--primary-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(26, 77, 198, 0.4);
  transition: transform 0.2s, box-shadow 0.2s;
  text-decoration: none;
}
.contact-fab:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 20px rgba(26, 77, 198, 0.55);
}
.contact-fab svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: #ffffff;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
/* Hide on contact page itself */
.page-id-16 .contact-fab {
  display: none;
}
/* ===== Ende Floating Contact Button ===== */

/* ===== HOAI Beratung Button Center ===== */
.hoai-bottom.btn-group {
  justify-content: center !important;
}
/* ===== Ende HOAI Beratung Button Center ===== */
/* Last odd gallery item spans full width */
.full-gallery-grid .gallery-item:last-child:nth-child(odd) {
  flex: 1 1 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
}
.full-gallery-grid .gallery-item:last-child:nth-child(odd) img {
  aspect-ratio: 21 / 9 !important;
  object-fit: cover !important;
}

/* ===== Gallery Grid Last Odd Row Item Full Width ===== */
/* .gallery-grid .elementor-widget-image:nth-child(even):last-child {
  grid-column: 1 / -1 !important;
}
.gallery-grid .elementor-widget-image:nth-child(even):last-child img {
  aspect-ratio: 21 / 9 !important;
  object-fit: cover !important;
} */
/* ===== Ende Gallery Grid Last Odd Row ===== */
