/*! elementor - v3.31.0 - 27-08-2025 - Optimized */

/* CSS Variables */
:root {
  --direction-multiplier: 1;
  --page-title-display: block;
}

body.rtl, html[dir=rtl] {
  --direction-multiplier: -1;
}

/* Utility Classes - Consolidated */
.elementor-hidden, .elementor-visibility-hidden { display: none; }
.elementor-visibility-hidden { display: block; visibility: hidden; }

.elementor-screen-only, .screen-reader-text, .screen-reader-text span, .ui-helper-hidden-accessible {
  position: absolute;
  top: -10000em;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;
}

.elementor-clearfix:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
  width: 0;
}

/* Logo Wrapper */
.e-logo-wrapper {
  display: inline-block;
  background: var(--e-a-bg-logo);
  border-radius: 50%;
  line-height: 1;
  padding: .75em;
}

.e-logo-wrapper i {
  color: var(--e-a-color-logo);
  font-size: 1em;
}

/* Base Element Styles */
.elementor *, .elementor :after, .elementor :before { box-sizing: border-box; }
.elementor a { box-shadow: none; text-decoration: none; }
.elementor hr { background-color: transparent; margin: 0; }

.elementor img {
  border: none;
  border-radius: 0;
  box-shadow: none;
  height: auto;
  max-width: 100%;
}

.elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) figure { margin: 0; }

.elementor embed, .elementor iframe, .elementor object, .elementor video {
  border: none;
  line-height: 1;
  margin: 0;
  max-width: 100%;
  width: 100%;
}

/* Background Elements */
.elementor .elementor-background, .elementor .elementor-background-holder, .elementor .elementor-background-video-container {
  position: absolute;
  inset: 0;
  overflow: hidden;
  direction: ltr;
  z-index: 0;
}

.elementor .elementor-background-video-container {
  pointer-events: none;
  transition: opacity 1s;
}

.elementor .elementor-background-video-container.elementor-loading { opacity: 0; }
.elementor .elementor-background-video-embed { max-width: none; }

.elementor .elementor-background-video, .elementor .elementor-background-video-embed, .elementor .elementor-background-video-hosted {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

.elementor .elementor-background-video, .elementor .elementor-background-video-hosted { max-width: none; }
.elementor .elementor-background-video-hosted { object-fit: cover; }
.elementor .elementor-background-overlay, .elementor .elementor-background-slideshow { position: absolute; inset: 0; }
.elementor .elementor-background-slideshow { z-index: 0; }

.elementor .elementor-background-slideshow__slide__image {
  background-position: 50%;
  background-size: cover;
  height: 100%;
  width: 100%;
}

/* Positioning Classes */
.e-con-inner>.elementor-element.elementor-absolute, .e-con>.elementor-element.elementor-absolute, .elementor-widget-wrap>.elementor-element.elementor-absolute { position: absolute; }
.e-con-inner>.elementor-element.elementor-fixed, .e-con>.elementor-element.elementor-fixed, .elementor-widget-wrap>.elementor-element.elementor-fixed { position: fixed; }

/* Width Classes - Consolidated */
.elementor-widget-wrap .elementor-element.elementor-widget__width-auto, 
.elementor-widget-wrap .elementor-element.elementor-widget__width-initial { max-width: 100%; }

@media (max-width:1024px) {
  .elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-auto, 
  .elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-initial { max-width: 100%; }
}

@media (max-width:767px) {
  .elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-auto, 
  .elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-initial { max-width: 100%; }
}

/* Element Flex Properties */
.elementor-element {
  --flex-direction: initial;
  --flex-wrap: initial;
  --justify-content: initial;
  --align-items: initial;
  --align-content: initial;
  --gap: initial;
  --flex-basis: initial;
  --flex-grow: initial;
  --flex-shrink: initial;
  --order: initial;
  --align-self: initial;
  align-self: var(--align-self);
  flex-basis: var(--flex-basis);
  flex-grow: var(--flex-grow);
  flex-shrink: var(--flex-shrink);
  order: var(--order);
}

.elementor-element.elementor-absolute, .elementor-element.elementor-fixed { z-index: 1; }

.elementor-element:where(.e-con-full,.elementor-widget) {
  align-content: var(--align-content);
  align-items: var(--align-items);
  flex-direction: var(--flex-direction);
  flex-wrap: var(--flex-wrap);
  gap: var(--row-gap) var(--column-gap);
  justify-content: var(--justify-content);
}

/* Alignment Classes - Consolidated */
.elementor-invisible { visibility: hidden; }
.elementor-align-center { text-align: center; }
.elementor-align-right { text-align: right; }
.elementor-align-left { text-align: left; }

.elementor-align-center .elementor-button, .elementor-align-left .elementor-button, .elementor-align-right .elementor-button { width: auto; }
.elementor-align-justify .elementor-button { width: 100%; }

/* Custom Embed Play */
.elementor-custom-embed-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

.elementor-custom-embed-play i, .elementor-custom-embed-play svg {
  opacity: .8;
  transition: all .5s;
}

.elementor-custom-embed-play i {
  color: #fff;
  font-size: 100px;
  text-shadow: 1px 0 6px rgba(0,0,0,.3);
}

.elementor-custom-embed-play svg {
  height: 100px;
  width: 100px;
  fill: #fff;
  filter: drop-shadow(1px 0 6px rgba(0,0,0,.3));
}

.elementor-custom-embed-play.elementor-playing i { font-family: eicons; }
.elementor-custom-embed-play.elementor-playing i:before { content: "\e8fb"; }
.elementor-custom-embed-play.elementor-playing i, .elementor-custom-embed-play.elementor-playing svg { animation: eicon-spin 2s linear infinite; }

/* Tags and Effects */
.elementor-tag { display: inline-flex; }

.elementor-ken-burns {
  transition-duration: 10s;
  transition-property: transform;
  transition-timing-function: linear;
}

.elementor-ken-burns--out { transform: scale(1.3); }
.elementor-ken-burns--active { transition-duration: 20s; }
.elementor-ken-burns--active.elementor-ken-burns--out { transform: scale(1); }
.elementor-ken-burns--active.elementor-ken-burns--in { transform: scale(1.3); }

/* Page Title */
.elementor-page-title, h1.entry-title { display: var(--page-title-display); }

/* Animations */
@keyframes eicon-spin {
  0% { transform: rotate(0deg); }
  to { transform: rotate(359deg); }
}

.eicon-animation-spin { animation: eicon-spin 2s linear infinite; }

/* Section Layout */
.elementor-section { position: relative; }

.elementor-section .elementor-container {
  display: flex;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

@media (max-width:1024px) {
  .elementor-section .elementor-container { flex-wrap: wrap; }
}

.elementor-section.elementor-section-boxed>.elementor-container { max-width: 1140px; }
.elementor-section.elementor-section-stretched { position: relative; width: 100%; }

/* Section Alignment */
.elementor-section.elementor-section-items-top>.elementor-container { align-items: flex-start; }
.elementor-section.elementor-section-items-middle>.elementor-container { align-items: center; }
.elementor-section.elementor-section-items-bottom>.elementor-container { align-items: flex-end; }

@media (min-width:768px) {
  .elementor-section.elementor-section-height-full { height: 100vh; }
  .elementor-section.elementor-section-height-full>.elementor-container { height: 100%; }
}

/* Widget Wrap and Column Layout */
.elementor-widget-wrap {
  align-content: flex-start;
  flex-wrap: wrap;
  position: relative;
  width: 100%;
}

.elementor:not(.elementor-bc-flex-widget) .elementor-widget-wrap { display: flex; }
.elementor-widget-wrap>.elementor-element { width: 100%; }
.elementor-widget-wrap.e-swiper-container { width: calc(100% - (var(--e-column-margin-left, 0px) + var(--e-column-margin-right, 0px))); }

.elementor-widget { position: relative; }
.elementor-widget:not(:last-child) { margin-bottom: var(--kit-widget-spacing,20px); }
.elementor-widget:not(:last-child).elementor-absolute, .elementor-widget:not(:last-child).elementor-widget__width-auto, .elementor-widget:not(:last-child).elementor-widget__width-initial { margin-bottom: 0; }

.elementor-column {
  display: flex;
  min-height: 1px;
  position: relative;
}

/* Column Gap Spacing */
.elementor-column-gap-narrow>.elementor-column>.elementor-element-populated { padding: 5px; }
.elementor-column-gap-default>.elementor-column>.elementor-element-populated { padding: 10px; }
.elementor-column-gap-extended>.elementor-column>.elementor-element-populated { padding: 15px; }
.elementor-column-gap-wide>.elementor-column>.elementor-element-populated { padding: 20px; }
.elementor-column-gap-wider>.elementor-column>.elementor-element-populated { padding: 30px; }
.elementor-inner-section .elementor-column-gap-no .elementor-element-populated { padding: 0; }

/* Column Widths - Desktop */
@media (min-width:768px) {
  .elementor-column.elementor-col-10, .elementor-column[data-col="10"] { width: 10%; }
  .elementor-column.elementor-col-11, .elementor-column[data-col="11"] { width: 11.111%; }
  .elementor-column.elementor-col-12, .elementor-column[data-col="12"] { width: 12.5%; }
  .elementor-column.elementor-col-14, .elementor-column[data-col="14"] { width: 14.285%; }
  .elementor-column.elementor-col-16, .elementor-column[data-col="16"] { width: 16.666%; }
  .elementor-column.elementor-col-20, .elementor-column[data-col="20"] { width: 20%; }
  .elementor-column.elementor-col-25, .elementor-column[data-col="25"] { width: 25%; }
  .elementor-column.elementor-col-30, .elementor-column[data-col="30"] { width: 30%; }
  .elementor-column.elementor-col-33, .elementor-column[data-col="33"] { width: 33.333%; }
  .elementor-column.elementor-col-40, .elementor-column[data-col="40"] { width: 40%; }
  .elementor-column.elementor-col-50, .elementor-column[data-col="50"] { width: 50%; }
  .elementor-column.elementor-col-60, .elementor-column[data-col="60"] { width: 60%; }
  .elementor-column.elementor-col-66, .elementor-column[data-col="66"] { width: 66.666%; }
  .elementor-column.elementor-col-70, .elementor-column[data-col="70"] { width: 70%; }
  .elementor-column.elementor-col-75, .elementor-column[data-col="75"] { width: 75%; }
  .elementor-column.elementor-col-80, .elementor-column[data-col="80"] { width: 80%; }
  .elementor-column.elementor-col-83, .elementor-column[data-col="83"] { width: 83.333%; }
  .elementor-column.elementor-col-90, .elementor-column[data-col="90"] { width: 90%; }
  .elementor-column.elementor-col-100, .elementor-column[data-col="100"] { width: 100%; }
}

/* Grid System */
.elementor-grid {
  display: grid;
  grid-column-gap: var(--grid-column-gap);
  grid-row-gap: var(--grid-row-gap);
}

.elementor-grid .elementor-grid-item { min-width: 0; }

/* Grid Templates - 1-12 columns */
.elementor-grid-1 .elementor-grid { grid-template-columns: repeat(1,1fr); }
.elementor-grid-2 .elementor-grid { grid-template-columns: repeat(2,1fr); }
.elementor-grid-3 .elementor-grid { grid-template-columns: repeat(3,1fr); }
.elementor-grid-4 .elementor-grid { grid-template-columns: repeat(4,1fr); }
.elementor-grid-5 .elementor-grid { grid-template-columns: repeat(5,1fr); }
.elementor-grid-6 .elementor-grid { grid-template-columns: repeat(6,1fr); }
.elementor-grid-7 .elementor-grid { grid-template-columns: repeat(7,1fr); }
.elementor-grid-8 .elementor-grid { grid-template-columns: repeat(8,1fr); }
.elementor-grid-9 .elementor-grid { grid-template-columns: repeat(9,1fr); }
.elementor-grid-10 .elementor-grid { grid-template-columns: repeat(10,1fr); }
.elementor-grid-11 .elementor-grid { grid-template-columns: repeat(11,1fr); }
.elementor-grid-12 .elementor-grid { grid-template-columns: repeat(12,1fr); }

/* Device Detection */
@media (min-width:1025px) { #elementor-device-mode:after { content: "desktop"; } }
@media (max-width:1024px) { #elementor-device-mode:after { content: "tablet"; } }
@media (max-width:767px) { #elementor-device-mode:after { content: "mobile"; } }

/* Smooth Scrolling */
@media (prefers-reduced-motion:no-preference) {
  html { scroll-behavior: smooth; }
}

/* Container System (e-con) */
.e-con {
  --container-widget-width: 100%;
  --content-width: min(100%,var(--container-max-width,1140px));
  --width: 100%;
  --min-height: initial;
  --height: auto;
  --gap: var(--widgets-spacing,20px);
  --row-gap: var(--widgets-spacing-row,20px);
  --column-gap: var(--widgets-spacing-column,20px);
  --flex-wrap-mobile: wrap;
  
  border-radius: var(--border-radius);
  height: var(--height);
  min-height: var(--min-height);
  min-width: 0;
  overflow: var(--overflow);
  position: var(--position);
  width: var(--width);
  z-index: var(--z-index);
  
  margin-block-end: var(--margin-block-end);
  margin-block-start: var(--margin-block-start);
  margin-inline-end: var(--margin-inline-end);
  margin-inline-start: var(--margin-inline-start);
  padding-inline-end: var(--padding-inline-end);
  padding-inline-start: var(--padding-inline-start);
}

.e-con:where(:not(.e-div-block-base)) {
  transition: background var(--background-transition,.3s), border var(--border-transition,.3s), box-shadow var(--border-transition,.3s), transform var(--e-con-transform-transition-duration,.4s);
}

/* Forms */
.elementor-form-fields-wrapper {
  display: flex;
  flex-wrap: wrap;
}

.elementor-field-group {
  align-items: center;
  flex-wrap: wrap;
}

.elementor-field-group .elementor-field-textual {
  background-color: transparent;
  border: 1px solid #69727d;
  color: #1f2124;
  flex-grow: 1;
  max-width: 100%;
  vertical-align: middle;
  width: 100%;
  border-radius: 3px;
  font-size: 15px;
  line-height: 1.4;
  min-height: 40px;
  padding: 5px 14px;
}

/* Buttons */
.elementor-button {
  background-color: #69727d;
  border-radius: 3px;
  color: #fff;
  display: inline-block;
  font-size: 15px;
  line-height: 1;
  padding: 12px 24px;
  fill: #fff;
  text-align: center;
  transition: all .3s;
}

.elementor-button:focus, .elementor-button:hover, .elementor-button:visited { color: #fff; }

.elementor-button-content-wrapper {
  display: flex;
  flex-direction: row;
  gap: 5px;
  justify-content: center;
}

/* Icons */
.elementor-icon {
  color: #69727d;
  display: inline-block;
  font-size: 50px;
  line-height: 1;
  text-align: center;
  transition: all .3s;
}

.elementor-view-stacked .elementor-icon {
  background-color: #69727d;
  color: #fff;
  padding: .5em;
  fill: #fff;
}

.elementor-view-framed .elementor-icon {
  background-color: transparent;
  border: 3px solid #69727d;
  color: #69727d;
  padding: .5em;
}

/* Transforms */
.e-transform .elementor-widget-container, .e-transform:not(:has(.elementor-widget-container)) {
  transform: perspective(var(--e-transform-perspective,0)) rotate(var(--e-transform-rotateZ,0)) rotateX(var(--e-transform-rotateX,0)) rotateY(var(--e-transform-rotateY,0)) translate(var(--e-transform-translate,0)) translateX(var(--e-transform-translateX,0)) translateY(var(--e-transform-translateY,0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX,0)) skewY(var(--e-transform-skewY,0));
  transform-origin: var(--e-transform-origin-y) var(--e-transform-origin-x);
}

/* Animations */
.animated { animation-duration: 1.25s; }
.animated.animated-slow { animation-duration: 2s; }
.animated.animated-fast { animation-duration: .75s; }
.animated.infinite { animation-iteration-count: infinite; }
.animated.reverse { animation-direction: reverse; animation-fill-mode: forwards; }

@media (prefers-reduced-motion:reduce) {
  .animated { animation: none; }
}

/* Responsive Visibility */
@media (max-width:767px) {
  .elementor .elementor-hidden-mobile, .elementor .elementor-hidden-phone { display: none; }
  .elementor-column { width: 100%; }
}

@media (min-width:768px) and (max-width:1024px) {
  .elementor .elementor-hidden-tablet { display: none; }
}

@media (min-width:1025px) and (max-width:99999px) {
  .elementor .elementor-hidden-desktop { display: none; }
}