.elementor-314 .elementor-element.elementor-element-1f0e3da{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-314 .elementor-element.elementor-element-27fb52a img{height:300px;object-fit:cover;object-position:center center;}.elementor-314 .elementor-element.elementor-element-27a687e{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-314 .elementor-element.elementor-element-9432e69{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-314 .elementor-element.elementor-element-085e6d5.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-314 .elementor-element.elementor-element-7788c82{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-314 .elementor-element.elementor-element-e961ed6{--display:flex;--padding-top:32px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );font-style:var( --e-global-typography-primary-font-style );text-decoration:var( --e-global-typography-primary-text-decoration );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );color:var( --e-global-color-primary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-314 .elementor-element.elementor-element-f071533{--display:flex;}.elementor-314 .elementor-element.elementor-element-70b903d{--display:flex;}.elementor-314 .elementor-element.elementor-element-ea2e08a{--display:flex;}.elementor-314 .elementor-element.elementor-element-3c0b784{--display:flex;}.elementor-314 .elementor-element.elementor-element-f63133a{--display:flex;}.elementor-314 .elementor-element.elementor-element-cc5ebcc{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:flex-start;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-314 .elementor-element.elementor-element-0f6bda0 .elementor-icon-wrapper{text-align:center;}.elementor-314 .elementor-element.elementor-element-2c7c7d0{--display:flex;}.elementor-314 .elementor-element.elementor-element-cfba316{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:flex-start;}.elementor-314 .elementor-element.elementor-element-c058e9a .elementor-icon-wrapper{text-align:center;}.elementor-314 .elementor-element.elementor-element-e5ee117{--display:flex;}.elementor-314 .elementor-element.elementor-element-bed57ec{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(min-width:768px){.elementor-314 .elementor-element.elementor-element-9432e69{--width:33.3333%;}.elementor-314 .elementor-element.elementor-element-7788c82{--width:66.6666%;}}@media(max-width:1024px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-314 .elementor-element.elementor-element-27a687e{--justify-content:flex-start;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-314 .elementor-element.elementor-element-9432e69{--justify-content:flex-start;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-314 .elementor-element.elementor-element-085e6d5.elementor-element{--align-self:center;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}}@media(max-width:767px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-314 .elementor-element.elementor-element-27fb52a img{height:150px;object-fit:cover;}.elementor-314 .elementor-element.elementor-element-9432e69{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;}.elementor-314 .elementor-element.elementor-element-085e6d5.elementor-element{--align-self:center;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}}/* Start custom CSS for html, class: .elementor-element-085e6d5 */@media (max-width: 768px) {
  #scrollspy-nav.desktop-only {
    display: none !important; /* Important here forces override */
  }
  .mobile-only {
    display: flex !important;
    
  }
}

.scrollspy-spacer {
  height: 0;
  pointer-events: none;
}


/* Scrollspy Sidebar -- Desktop*/
#scrollspy-nav {
  position: sticky;
  top: 30px;
  left: 20px;
  display: flex;  
  flex-direction: column;
  z-index: 9998;
  background: rgba(0, 0, 0, 0.8);
  padding: 16px;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  max-width: 260px;
}


/* Links */
#scrollspy-nav .spy-link {
  text-decoration: none;
   padding: 12px 16px 12px 52px; /* Increased left padding for more space */
  color: #fff;
  border-radius: 6px;
  font-size: 16px;
  position: relative;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  transition: background-color 0.3s, color 0.3s;
}

/* Last item: no divider */
#scrollspy-nav .spy-link:last-child {
  border-bottom: none;
}

/* Hover */
#scrollspy-nav .spy-link:hover {
  background-color: rgba(255, 255, 255, 0.2);
}

/* Active */
#scrollspy-nav .spy-link.active {
  background-color: #fff;
  color: #111;
  font-weight: bold;
}

/* Icons via pseudo-elements */
.spy-link::before {
  position: absolute;
  left: 16px; /* Slightly farther left */
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
}

/* Responsive visibility */
.desktop-only {
  display: block;
}
.mobile-only {
  display: none;
}




#scrollspy-mobile {
  position: sticky;
  top: 20px;          /* move from bottom to top */
  background: #000; /* solid black */
  display: none;
  padding: 6px 8px;   /* reduce vertical padding a bit */
  z-index: 9998;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  border-radius: 0px;
  /* max-width: 320px; */
  gap: 8px;
  justify-content: center;
  align-items: center;
  /* You can add a slight top shadow or border if you want */
}

#scrollspy-mobile.fixed {
  position: fixed !important;
  top: 30px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9998;
}


/* Smaller, less tall boxes */
.mobile-link {
  padding: 4px 6px;         /* tighter padding */
  max-width: 60px;          /* narrower to fit more items */
  font-size: 11px;          /* smaller base font */
  user-select: none;
}

/* Smaller icon */
.mobile-link .icon {
  font-size: 16px;          /* reduced icon size */
  margin-bottom: 2px;       /* less spacing below icon */
}

/* Label font size smaller too */
.mobile-link .label {
  font-size: 10px;
}

/* Active and hover states remain the same */
.mobile-link.active {
  background-color: #fff;
  color: #111;
  font-weight: bold;
}

.mobile-link.active .icon {
  color: #111;
  transform: scale(1.1);
}

.mobile-link:not(.active):hover {
  background-color: rgba(255, 255, 255, 0.15);
  color: #fff;
}

.mobile-link:not(.active):hover .icon {
  transform: scale(1.05);
}

/* Media query for really small screens to show icon only */
@media (max-width: 420px) {
  /* Hide the text labels completely */
  .mobile-link .label {
    display: none;
  }

  /* Make the icons bigger and center them better */
  .mobile-link {
    max-width: 40px;       /* even tighter width */
    padding: 6px 4px;      /* slight vertical increase for better tap area */
    justify-content: center;
    align-items: center;
    display: flex;
    flex-direction: column;
  }

  .mobile-link .icon {
    font-size: 22px;       /* make icons larger */
    margin-bottom: 0;      /* no spacing below since label is gone */
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7788c82 *//* Styling for Content */

body {
  font-family: 'Inter', sans-serif;
  background-color: #000;
  color: #E0E0E0;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 400;
}

/* Headings */

.elementor-widget-heading h1.elementor-heading-title,
h1 {
  font-family: 'Merriweather', serif !important;
  font-weight: 700 !important;
  font-size: 40px !important;
  line-height: 1.3 !important;
  color: #F5F5F5 !important;
}

.elementor-widget-heading h2.elementor-heading-title,
h2 {
  font-family: 'Merriweather', serif !important;
  font-weight: 700 !important;
  font-size: 36px !important;
  line-height: 1 !important;
  color: #F5F5F5 !important;
}

.elementor-widget-heading h3.elementor-heading-title,
h3 {
  font-family: 'Merriweather', serif !important;
  font-weight: 700 !important;
  font-size: 26px !important;
  line-height: 1.4 !important;
  color: #F5F5F5 !important;
}

.elementor-widget-heading h4.elementor-heading-title,
h4 {
  font-family: 'Merriweather', serif !important;
  font-weight: 600 !important;
  font-size: 22px !important;
  line-height: 1.5 !important;
  color: #F5F5F5 !important;
}

/* Paragraphs */

p,
.elementor-widget-text-editor p {
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  color: #E0E0E0 !important;
}


/* Icon styling to match h2 */
.elementor-icon-wrapper svg {
  width: 24px;
  height: 24px;
  fill: #F5F5F5; /* Matches h2 color */
  vertical-align: middle;
}

.elementor-icon-wrapper {
  display: inline-block;
  margin-left: -16px; /* Adjust if needed */
}


/* Responsive Adjustments */

@media (max-width: 768px) {
  h1,
  .elementor-widget-heading h1.elementor-heading-title {
    font-size: 34px !important;
  }

  h2,
  .elementor-widget-heading h2.elementor-heading-title {
    font-size: 28px !important;
  }

  h3,
  .elementor-widget-heading h3.elementor-heading-title {
    font-size: 22px !important;
  }

  h4,
  .elementor-widget-heading h4.elementor-heading-title {
    font-size: 18px !important;
  }

  p,
  .elementor-widget-text-editor p {
    font-size: 15px !important;
  }
}

@media (max-width: 480px) {
  h1,
  .elementor-widget-heading h1.elementor-heading-title {
    font-size: 30px !important;
  }

  h2,
  .elementor-widget-heading h2.elementor-heading-title {
    font-size: 24px !important;
  }

  h3,
  .elementor-widget-heading h3.elementor-heading-title {
    font-size: 20px !important;
  }

  h4,
  .elementor-widget-heading h4.elementor-heading-title {
    font-size: 16px !important;
  }

  p,
  .elementor-widget-text-editor p {
    font-size: 14px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-27a687e *//* Images inside the main content container only */
#main-content img {
  height: auto;
  max-height: 300px;
  width: 30%;
  object-fit: cover;
}

.dialog-widget-content {
  z-index: 9999;        /* large number to bring it to the front */
}

/* Images inside Elementor popup */
.dialog-widget-content img {
  height: auto;
  max-height: 300px;
  width: 30%;
  object-fit: cover;
}

.dialog-widget-content h2 {
  color: #002366 !important;           /* Dark Blue */
  font-size: 32px !important;
  font-family: 'Inter', sans-serif !important;
  margin-bottom: 1em !important;       /* space below heading */
  padding-bottom: 0.3em !important;    /* spacing for the divider */
  border-bottom: 3px solid #002366 !important;  /* dark blue divider line */
  width: fit-content;                  /* width matches the text */
}/* End custom CSS */