.elementor-11488 .elementor-element.elementor-element-1c5da44{--display:flex;--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;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.5;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:7;}.elementor-11488 .elementor-element.elementor-element-1c5da44::before, .elementor-11488 .elementor-element.elementor-element-1c5da44 > .elementor-background-video-container::before, .elementor-11488 .elementor-element.elementor-element-1c5da44 > .e-con-inner > .elementor-background-video-container::before, .elementor-11488 .elementor-element.elementor-element-1c5da44 > .elementor-background-slideshow::before, .elementor-11488 .elementor-element.elementor-element-1c5da44 > .e-con-inner > .elementor-background-slideshow::before, .elementor-11488 .elementor-element.elementor-element-1c5da44 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#080808;--background-overlay:'';}.elementor-11488 .elementor-element.elementor-element-799de5f{--display:grid;--e-con-grid-template-columns:1fr;--e-con-grid-template-rows:repeat(1, 1fr);--gap:2rem 1rem;--row-gap:2rem;--column-gap:1rem;--grid-auto-flow:row;--margin-top:0;--margin-bottom:0;--margin-left:0;--margin-right:0;}.elementor-11488 .elementor-element.elementor-element-4bce501{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11488 .elementor-element.elementor-element-3391284 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-11488 .elementor-element.elementor-element-90e5f16{--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-11488 .elementor-element.elementor-element-7a60d57{--display:flex;}.elementor-11488 .elementor-element.elementor-element-c278ba0{--display:grid;--e-con-grid-template-columns:repeat(4, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:48px 32px;--row-gap:48px;--column-gap:32px;--grid-auto-flow:row;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11488 .elementor-element.elementor-element-1a723b6{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-11488 .elementor-element.elementor-element-7542674{--display:flex;}.elementor-11488 .elementor-element.elementor-element-26336ca{--display:flex;--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;--align-items:stretch;--overflow:hidden;}.elementor-11488 .elementor-element.elementor-element-021a0d9 .elementor-swiper-button{font-size:20px;}.elementor-11488 .elementor-element.elementor-element-13b8e13{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-11488 .elementor-element.elementor-element-7e109eb{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:32px 32px;--row-gap:32px;--column-gap:32px;--grid-auto-flow:row;}@media(max-width:1024px){.elementor-11488 .elementor-element.elementor-element-1c5da44{--z-index:500;}.elementor-11488 .elementor-element.elementor-element-799de5f{--e-con-grid-template-columns:1fr;--gap:1rem 1rem;--row-gap:1rem;--column-gap:1rem;--grid-auto-flow:row;}.elementor-11488 .elementor-element.elementor-element-c278ba0{--e-con-grid-template-columns:1fr;--grid-auto-flow:row;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11488 .elementor-element.elementor-element-7e109eb{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-11488 .elementor-element.elementor-element-1c5da44{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11488 .elementor-element.elementor-element-799de5f{--e-con-grid-template-columns:1;--grid-auto-flow:row;}.elementor-11488 .elementor-element.elementor-element-c278ba0{--e-con-grid-template-columns:1;--grid-auto-flow:row;}.elementor-11488 .elementor-element.elementor-element-7e109eb{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for html, class: .elementor-element-3a14761 */.elementor-11488 .elementor-element.elementor-element-3a14761 { display: contents; }
.elementor-11488 .elementor-element.elementor-element-3a14761 .pill--sm {
  animation: AnimaPill-Sm 30s infinite alternate;
  animation-delay: 2s;
  display: grid;
  gap: var(--pill-gap);
  grid-template-columns: 1fr 1fr;
  position: absolute;
  inset: 0;
  transform: rotate(-45deg) translate(-20%, 0%);
  user-select: none;
  z-index: 2;
  @media (width > 600px) {
    transform: rotate(-45deg) translate(-20%, -20%);
  }

  & div { /* Sm Pills */
    aspect-ratio: 3.75 / 1;
    border-radius: calc(var(--pill-height) / 2);
    box-sizing: border-box;
    height: var(--pill-height);
    outline: 1px solid #FFFFFF4C;
    outline-offset: -1px;
    &:nth-child(1),
    &:nth-child(2),
    &:nth-child(5),
    &:nth-child(6),
    &:nth-child(8),
    &:nth-child(9) {
      transform: translateX(50%);
    }
  }

  & .long {
    aspect-ratio: 7.59 / 1;
    grid-column: 1 / 3;
    transform: translatex(12.5%);
  }
}

.elementor-11488 .elementor-element.elementor-element-3a14761 .pill--lg {
  @supports (animation-timeline: scroll()) {
    animation: AnimaPill-Lg linear both;
    animation-timeline: scroll(root);
    animation-duration: auto;
  }

  display: flex;
  flex-direction: column;
  gap: var(--pill-height);
  position: absolute;
  top: -20%;
  right: 10%;
  transform: rotate(-45deg) translate(0, 30%) scale(1);
  user-select: none;
  z-index: 1;

  @media (width > 600px) {
    transform: rotate(-45deg) translate(0, 0) scale(1);
  }

  & div { /* Lg Pills */
    aspect-ratio: 1100 / 403;
    background-image: linear-gradient(120deg, #382ada00 40%, var(--blue--med));
    border-radius: calc(var(--pill-height) * 2.16 / 2);
    height: calc(var(--pill-height) * 2.16);
  }

  & div:nth-child(2) {
    margin-right: 5svw;
  }
}

/* ANIMATION */
@keyframes AnimaPill-Sm {
  0% {
    transform: rotate(-45deg) translate(-20%, 0%);
  }
  100% {
    transform: rotate(-45deg) translate(-35%, 0%);
  }
}

@keyframes AnimaPill-Lg {
  0% {
    opacity: 1;
    transform: rotate(-45deg) translate(-50%, 30%) scale(1);
  }
  100% {
    opacity: 0.5;
    transform: rotate(-45deg) translate(-100%, 70%) scale(2);
  }
}

@media (width > 600px) {
  @keyframes AnimaPill-Sm {
    0% {
      transform: rotate(-45deg) translate(-20%, -20%);
    }
    100% {
      transform: rotate(-45deg) translate(-35%, -20%);
    }
  }

  @keyframes AnimaPill-Lg {
    0% {
      transform: rotate(-45deg) translate(0%, 0%) scale(1);
    }
    100% {
      transform: rotate(-45deg) translate(-50%, -50%) scale(4);
    }
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1c5da44 *//* Elementor Homepage Hero 2026b */

.elementor-11488 .elementor-element.elementor-element-1c5da44 { 
  --hero-menu-height: clamp(64px, round(20svw, 4px), 124px);
  --hero-menu-clear: clamp(96px, round(20svw, 4px), 152px);

  align-content: center; 
  background-color: var(--blue--med-dark); 
  height: auto; 
  overflow: clip; 
  margin-top: calc(-1 * var(--hero-menu-height));
  padding-block: var(--hero-menu-clear) var(--block-space--lg); 
  position: relative; 
}

.elementor-11488 .elementor-element.elementor-element-1c5da44 .hero-intro {
  margin-inline: auto;
  position: relative;
  width: min(1200px, 100% - 32px);
  z-index: 3;

  & h1 {
    color: var(--blue--light);
    font-family: var(--font-display-family);
    font-size: var(--heading--xl);
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.1;
    margin-block: 1rem;
    text-wrap: balance;
  } 

  & p {
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: var(--bodycopy);
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 1.6;
    margin: 0;
  }

  p + p { margin-top: 1rem; }

  & .heading-eyebrow { color: #FFF; font-family: var(--font-body-family); font-size: 1.125rem; font-style: normal; font-weight: 700; line-height: 1.3; letter-spacing: 0.02em; }
  & .lead-in { text-wrap: balance; }

  & .cta-link--icon { color: var(--blue--light); display: block; }
  & .cta-link--icon:is(:hover, :focus) { color: #FFF; }
  & .cta-link--icon::before { background-image: url('/wp-content/uploads/2026/08/pointer-btn.png'); background-position: center; background-repeat: no-repeat; background-size: contain; content: ""; display: inline-block; height: 2rem; margin-right: 0.8rem; width: 2rem; vertical-align: middle; }
  & .cta-block { align-items: center; display: flex; flex-wrap: wrap; gap: 2rem; margin-top: 48px; width: 100%; }
}

/* Tablet */
/* @media(min-width: 768px) { } */

/* Desktop */
/* @media(min-width: 1024px) { } *//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4bce501 *//* FMS Elementor Stat-Bar Code */

.elementor-11488 .elementor-element.elementor-element-4bce501 { /* Section */
  background-image: linear-gradient(
    45deg,
    var(--green) 20%,
    var(--blue--light) 80%
  );
  padding-block: var(--block-space--lg);

  & h2 {
    color: var(--blue--dark);
    font-family: var(--font-display-family);
    font-size: var(--heading--med-lg);
    font-weight: 400;
    letter-spacing: -0.01em;
    text-align: center;
    text-box-trim: none;
    margin-bottom: 2rem;
  }
  & ul {
    /* Stat Container Row */
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--block-space--sm);
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: 0;

    @media (width < 1200px) {
      grid-template-columns: repeat(2, 1fr);
    }
    @media (width < 600px) {
      grid-template-columns: repeat(1, 1fr);
    }
  }
  & li {/* Stat Card & Text */
    border-top: 1px solid #fff;
    color: var(--blue--dark);
    display: block;
    font-family: var(--font-body-family);
    font-size: var(--heading--sm);
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
    padding: 2rem 0 0;
    text-align: center;
    text-wrap: balance;
  }
  & li strong {
    /* Large Stat Number */
    color: #fff;
    display: block;
    font-family: var(--font-display-family);
    font-size: var(--card-stat);
    font-weight: 400;
    line-height: 0.8;
    margin: 0 0 1rem;
    padding: 0;
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
    & > span {
      display: inline-block;
      font-size: round(0.8em, 4px);
      line-height: 1;
    }
  }

  @supports (animation-timeline: view()) {
    .container {
      animation: AnimaFadeIn;
      animation-duration: 1ms;
      animation-fill-mode: both;
      animation-range: entry 0% cover 20%;
      animation-timeline: view();
      animation-timing-function: linear;
    }
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-17c52ff2 */.elementor-11488 .elementor-element.elementor-element-17c52ff2 {display: none;}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-90e5f16 *//* Service Summary & Cards - A */
.elementor-11488 .elementor-element.elementor-element-90e5f16.sevice-summary {
  background-color: var(--blue--royal);
  color: #fff;
  padding-block: var(--block-space--lg);
  text-align: center;

  & h2 { color: inherit; }
  & p { color: inherit; }

  & .container { color: inherit; }
}

.elementor-11488 .elementor-element.elementor-element-90e5f16 .service-cards {
  color: var(--blue--dark);
  font: var(--font-body-copy);
  width: 100%;

  /* Card Icons */
  .elementor-element:nth-child(1) {
    /* --card-accent: var(--green); */
    --card-icon: url("/wp-content/uploads/2025/10/icon-chat.png");
  }

  .elementor-element:nth-child(2) {
    /* --card-accent: var(--gray--med); */
    --card-icon: url("/wp-content/uploads/2025/10/icon-connection.png");
  }

  .elementor-element:nth-child(3) {
    /* --card-accent: var(--green); */
    --card-icon: url("/wp-content/uploads/2026/08/icon-chart.png");
  }

  .elementor-element:nth-child(4) {
    /* --card-accent: var(--green); */
    --card-icon: url("/wp-content/uploads/2026/08/icon-lock.png");
  }


  /* Push each card to be the same height regardless of text .desc */
  .elementor-widget-container { display:grid; }
  .elementor-widget-container .card { 
    display:grid; 
    grid-template-rows: auto auto 1fr auto; 
  }

  .card {
    --icon-size: 4.5rem;
    --button-depth: 1.5rem;
    background-color: #FFF;
    border-radius: 24px;
    color: var(--blue--dark);
    margin-block: calc(var(--icon-size) / 2) 24px;
    padding: calc(var(--icon-size) / 2) 1rem;
    padding-bottom: 0;
    text-align: center;

    & h3 {
      color: var(--blue--royal);
      font-family: var(--font-body-family);
      font-size: var(--heading--sm);
      font-weight: 700;
      line-height: 1.3;
      margin-bottom: 1rem;
      text-transform: capitalize;
    }

    & p:has(> .cta-button),
    & p:has(> .cta-button--lg),
    & p:has(> .cta-button--sm) { display: contents; } /* Remove Elementor generated P tag from flow */

    & li { text-align: left; }
    & ul { margin-bottom: 1rem; }

    & .cta-button--lg { margin: 0 auto -24px }

    &::before {
      /* Icons */
      background-color: var(--green);
      background-image: var(--card-icon);
      background-position: center;
      background-repeat: no-repeat;
      background-size: var(--icon-size);
      border-radius: var(--icon-size);
      content: "";
      display: block;
      height: var(--icon-size);
      margin: calc(-1 * var(--icon-size)) auto 1.5rem;
      width: var(--icon-size);
    }

    /* Clickable Card styles 2026 */
    & {
      cursor: pointer;
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    &:hover {
      transform: translateY(-3px);
      box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    }
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-fcc979c */.elementor-11488 .elementor-element.elementor-element-fcc979c img { object-fit: contain; }/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-c305193 */.elementor-11488 .elementor-element.elementor-element-c305193 img { &&& {object-fit: contain; width: 200px; } }/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-9e9b766 */.elementor-11488 .elementor-element.elementor-element-9e9b766 img { &&& {object-fit: contain; width: 200px; } }/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-32b9655 */.elementor-11488 .elementor-element.elementor-element-32b9655 img { &&& {object-fit: contain; width: 192px; } }/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-2d9bae6 */.elementor-11488 .elementor-element.elementor-element-2d9bae6 img { &&& {object-fit: contain; width: 200px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1a723b6 *//* Elementor Logo Grid */
.elementor-11488 .elementor-element.elementor-element-1a723b6.logo-grid-section {
  background-color: var(--blue--royal);
  color: #fff;
  padding-block: var(--block-space--lg);
  
  & h2 { color: inherit; margin-bottom: 2rem; }

  .container { align-items: center; color: inherit; display: flex; flex-direction: row; flex-wrap: wrap; gap: 2rem; justify-content: center; }
  .logo { background-color: #fff; height: 100px; width: 240px; }

  .logo img { display: block; height: 100%; object-fit: cover; width: 100%; }
  .logo .elementor-widget-container { align-items: center; display: flex; justify-content: center; }

  /* Desktop */
  @media(min-width: 1024px) { 
    padding-block: 0; /* Zero when the next section (Testimonial Container) has an overlap graphic */
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-26336ca *//* Elementor Testimonial Container 2026b */
.elementor-11488 .elementor-element.elementor-element-26336ca.testimonial-section-26b {
  background-color: var(--gray--light);
  position: relative;
  z-index: 100;

  & h2 { margin-bottom: 1rem; } 

  .container { align-content: center; padding-block: 2rem; }
  .container::after {
    background-image: url('https://frontlinems.com/wp-content/uploads/2025/10/pill_bg_graphic.webp');
    background-position: center right;
    background-repeat: no-repeat;
    background-size: 100%;
    content: '';
    display: block;
    height: 100%;
    margin-left: -3%;
    min-height: 400px; 
    position: absolute; bottom: -260px; right: 0;
    width: 50%;
    z-index: 0;
  }

  /* Pill Overlap BG Color on desktop */
  @media (width > 900px) {
    --pill-overlap: 96px;
    
    &::before {
      background-color: var(--blue--royal);
      content: '';
      display: block;
      height: var(--pill-overlap);
    }

    .container { min-height: calc(504px + var(--pill-overlap) - 16px); /* 584px */ padding: 0; }
    .container::after { top: 32px; right: 0; }
    .container .elementor-widget-container { margin-top: var(--pill-overlap); }
  }


  /* Chevron Navigation */
  .eicon-chevron-left:before, 
  .eicon-chevron-right:before { 
    color: var(--gray--med); 
    content: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 55 80"%3E%3Cpath d="M52.2143 1.85684e-06C52.5016 -0.000406762 52.7849 0.066631 53.0417 0.195749C53.2985 0.324867 53.5216 0.512478 53.6931 0.743565C53.9843 1.13638 54.1081 1.62908 54.0372 2.11338C53.9663 2.59768 53.7066 3.03393 53.3151 3.32625L4.9522 39.4068L53.3379 76.6891C53.725 76.9877 53.9781 77.4283 54.0413 77.914C54.1046 78.3997 53.973 78.8907 53.6754 79.2791C53.3778 79.6672 52.9386 79.9209 52.4545 79.9844C51.9704 80.0479 51.4809 79.9159 51.0938 79.6175L0.776572 40.847C0.551092 40.6731 0.368804 40.4492 0.24396 40.1928C0.119115 39.9364 0.0550982 39.6546 0.0569227 39.3693C0.0595689 39.084 0.127856 38.8031 0.256462 38.5486C0.385067 38.2941 0.57052 38.0728 0.79838 37.902L51.1156 0.364494C51.4334 0.128 51.8186 0.00021672 52.2143 1.85684e-06Z" fill="%23A7A9AC"/%3E%3C/svg%3E');
    display: block; 
    height: 40px;
    width: 27.5px;
  }
  .eicon-chevron-right:before { transform: rotate(0.5turn); }
  .elementor-swiper-button-prev { &&& { left: 0; } }
  .elementor-swiper-button-next { &&& { right: 0; } }

  @media (width > 900px) {
    .eicon-chevron-left:before, 
    .eicon-chevron-right:before { height: 80px; width: 55px; }
    .elementor-swiper-button-prev { &&& { left: -32px; } }
    .elementor-swiper-button-next { &&& { right: -32px; } }
  }  
  /* END Chevron Navigation */
  .e-con-inner { padding-block: 0; }
  .swiper-slide { display: grid; align-content: center; } /* Center valign full slide */

  .elementor-testimonial { /* Child of swiper-slide-active  */
    margin: 0;
    padding: 0;
    position: relative;
    z-index: 1;
    @media (width > 900px) {
      max-width: 50%;
    }
   }
  .elementor-testimonial__text { 
    color: var(--blue--dark);
    font: var(--font-body-family); 
    text-align: left; 
  }
  .elementor-testimonial__footer { justify-content: start; }
  .elementor-testimonial__cite {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .elementor-testimonial__name, 
  .elementor-testimonial__title {
    color: var(--blue--dark);
    font-size: var(--annotation);
    font-weight: 900;
    text-transform: uppercase;
  }
  .elementor-testimonial__title::before { content: ' | '; display: inline-block; margin-inline: 1ch; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-13b8e13 *//* Elementor Contact Form Container 2026b */
.elementor-11488 .elementor-element.elementor-element-13b8e13.contact-form-26b {
  background-color: #fff;
  color: var(--blue--dark);
  padding-block: var(--block-space--lg);

  & h2 { margin-bottom: 1rem; }

  .inset-image { display: block; margin-top: 48px; max-width: 100%; }
}/* End custom CSS */