/* ---------------------------------------------------------------------
Animation CSS
Initial states for GSAP animations — elements are hidden until JS runs.
------------------------------------------------------------------------ */
@media (min-width: 768px) {
  body.fx-animated .video-text-right .video-text__video,
  body.fx-animated .video-text__text > *,
  body.fx-animated .image-text__img,
  body.fx-animated .image-text__text > *,
  body.fx-animated .services-header-left > *,
  body.fx-animated .services-content-box,
  body.fx-animated .meet-leaders-heading,
  body.fx-animated .meet-leaders-quote,
  body.fx-animated .meet-leaders-picture,
  body.fx-animated .full-width-image-text__img,
  body.fx-animated .full-width-image-text__content > *,
  body.fx-animated .location-details > *,
  body.fx-animated .location-search-form,
  body.fx-animated .newsfeed-heading,
  body.fx-animated .news-feed-item,
  body.fx-animated .masthead h1,
  body.fx-animated .masthead .breadcrumbs.left-aligned,
  body.fx-animated .full-width-img,
  body.fx-animated .our-mission .right-image-content,
  body.fx-animated .preloader__building,
  body.fx-animated .preloader__building path,
  body.fx-animated .blog-listing-container .blog-post__item,
  body.fx-animated .wysiwyg .wysiwyg__content > *,
  body.fx-animated .fxa-accordion .container > *,
  body.fx-animated .fxa-accordion .fxa-accordion__panel,
  body.fx-animated .services-image-left .services-image-left-left,
  body.fx-animated .services-image-left .services-image-left-right,
  body.fx-animated .services-image-right .services-image-right-left,
  body.fx-animated .services-image-right .services-image-right-right,
  body.fx-animated .full-width-steps .full-width-steps-content .steps-block,
  body.fx-animated .ecs_history .ecs-history-left.media-type-image,
  body.fx-animated .ecs_history .ecs-history-right,
  body.fx-animated .right-image .right-image-left,
  body.fx-animated .right-image .right-image-right,
  body.fx-animated .stats-cards .stats-cards__card,
  body.fx-animated .contact-us .contact-us-header > *,
  body.fx-animated section.contact-us .contact-form,
  body.fx-animated .contact-us .contact-us-link-mobile,
  body.fx-animated .provided-services .ps__header > *,
  body.fx-animated .provided-services .ps__divider,
  body.fx-animated .provided-services .ps__description,
  body.fx-animated .provided-services .ps__tabs .ps__tab,
  body.fx-animated .provided-services .ps__category-select,
  body.fx-animated .provided-services .ps__cta--mobile,
  body.fx-animated .provided-services .ps__icon-card,
  body.fx-animated
    .provided-services
    .ps__panel.ps__panel--active
    .ps__detail.ps__detail--active
    .ps__detail-header,
  body.fx-animated
    .provided-services
    .ps__panel.ps__panel--active
    .ps__detail.ps__detail--active
    .ps__detail-body,
  body.fx-animated .featured-projects .fp-v2-header > *,
  body.fx-animated .featured-projects .fp-v2-desktop-view .fp-v2-hero,
  body.fx-animated .featured-projects .fp-v2-desktop-view .fp-v2-sidebar .fp-v2-card {
    opacity: 0;
    visibility: hidden;
  }
}

/* Hide the preloader instantly on subsequent session loads (class set by inline script) */
.preloader-seen .preloader {
  display: none !important;
}

.preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: 9999999999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
}
.preloader__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  width: 150px;
  height: 150px;
  padding: 16px 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.preloader__logo svg {
  display: block;
  width: auto;
  height: 80px;
}

.preloader__building {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  width: 100%;
}

.preloader__building svg {
  display: block;
  width: 100%;
  height: auto;
}


@media (max-width: 767px) {
    .preloader {
        display: none !important;
    }
}