/******* Do not edit this file *******
Code Snippets Manager
Saved: Aug 14 2025 | 13:44:33 */
/* Header before scroll */
header.sticky-header {
  min-height: 140px;
  padding: 30px 60px;
  background-color: transparent;
  color: #ffffff;
  border-bottom: none;
  box-sizing: border-box;
  z-index: 999;
  /* Smooth transitions incl. shadow and blur */
  transition: min-height 0.45s cubic-bezier(0.4, 0, 0.2, 1), padding 0.45s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.45s cubic-bezier(0.4, 0, 0.2, 1), color 0.45s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.45s cubic-bezier(0.4, 0, 0.2, 1), backdrop-filter 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  backdrop-filter: blur(0px);
  -webkit-backdrop-filter: blur(0px);
}
/* Header on scroll: semi-transparent navy, shadow, and blur */
header.sticky-header.elementor-sticky--effects {
  min-height: 90px;
  padding: 20px 25px;
  /* smaller padding on scroll */
  background-color: rgba(9, 28, 63, 0.9);
  color: rgba(255, 255, 255, 0.85);
  border-bottom: none;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
/* Logo slot: left-aligned */
header.sticky-header .logo-slot {
  display: grid;
  place-items: center start;
  height: 80px;
}
header.sticky-header.elementor-sticky--effects .logo-slot {
  height: 50px;
  /* match scrolled logo height */
}
/* Remove default widget spacing */
header.sticky-header .logo-slot .elementor-widget-image {
  margin: 0;
  grid-area: 1;
}
/* Default logo (visible before scroll) */
header.sticky-header .logo-slot .logo-default img {
  height: 80px !important;
  width: auto !important;
  max-width: none !important;
  object-fit: contain;
  opacity: 1;
  transition: height 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.6s ease;
}
/* Hide default logo on scroll */
header.sticky-header.elementor-sticky--effects .logo-slot .logo-default img {
  height: 0 !important;
  opacity: 0;
}
/* Scrolled logo (hidden before scroll) */
header.sticky-header .logo-slot .logo-scrolled img {
  height: 0 !important;
  width: auto !important;
  max-width: none !important;
  object-fit: contain;
  opacity: 0;
  transition: height 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.6s ease, transform 0.6s ease;
}
/* Show scrolled logo on scroll + subtle left shift */
header.sticky-header.elementor-sticky--effects .logo-slot .logo-scrolled img {
  height: 50px !important;
  opacity: 1;
  transform: translateX(-10px);
}
/* Nav font size and colour */
header.sticky-header .elementor-nav-menu a {
  font-size: 18px;
  color: #ffffff;
  transition: font-size 0.45s cubic-bezier(0.4, 0, 0.2, 1), color 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}
header.sticky-header.elementor-sticky--effects .elementor-nav-menu a {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.85);
}
