.elementor-10340 .elementor-element.elementor-element-d8be47a{--display:flex;--min-height:60vh;--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;--align-items:center;--overlay-opacity:0.4;--overlay-mix-blend-mode:multiply;--margin-top:0rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;--padding-top:0rem;--padding-bottom:0rem;--padding-left:0rem;--padding-right:0rem;}.elementor-10340 .elementor-element.elementor-element-d8be47a:not(.elementor-motion-effects-element-type-background), .elementor-10340 .elementor-element.elementor-element-d8be47a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://b2843993.smushcdn.com/2843993/wp-content/uploads/2025/10/helix_bg-1.webp?lossy=1&strip=1&webp=1");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-10340 .elementor-element.elementor-element-d8be47a::before, .elementor-10340 .elementor-element.elementor-element-d8be47a > .elementor-background-video-container::before, .elementor-10340 .elementor-element.elementor-element-d8be47a > .e-con-inner > .elementor-background-video-container::before, .elementor-10340 .elementor-element.elementor-element-d8be47a > .elementor-background-slideshow::before, .elementor-10340 .elementor-element.elementor-element-d8be47a > .e-con-inner > .elementor-background-slideshow::before, .elementor-10340 .elementor-element.elementor-element-d8be47a > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-10340 .elementor-element.elementor-element-fe23984{--display:grid;--e-con-grid-template-columns:2fr 3fr;--e-con-grid-template-rows:repeat(1, 1fr);--gap:2rem 2rem;--row-gap:2rem;--column-gap:2rem;--grid-auto-flow:row;--margin-top:0;--margin-bottom:0;--margin-left:0;--margin-right:0;}.elementor-10340 .elementor-element.elementor-element-133a0b4{--display:flex;}.elementor-10340 .elementor-element.elementor-element-bbfbfcb{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10340 .elementor-element.elementor-element-8a2bca1{--display:grid;--e-con-grid-template-columns:1fr 1fr;--e-con-grid-template-rows:repeat(1, 1fr);--gap:1rem 2rem;--row-gap:1rem;--column-gap:2rem;--grid-auto-flow:row;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10340 .elementor-element.elementor-element-915774e{--display:grid;--e-con-grid-template-columns:repeat(3, 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-10340 .elementor-element.elementor-element-7a3acff{--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-10340 .elementor-element.elementor-element-31ecee1{--display:grid;--e-con-grid-template-columns:1fr 1fr;--e-con-grid-template-rows:repeat(1, 1fr);--gap:1rem 2rem;--row-gap:1rem;--column-gap:2rem;--grid-auto-flow:row;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10340 .elementor-element.elementor-element-672d6fd{--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-10340 .elementor-element.elementor-element-2094d62{--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:center;--align-items:center;--gap:3rem 4rem;--row-gap:3rem;--column-gap:4rem;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10340 .elementor-element.elementor-element-436543d.elementor-element{--align-self:center;}.elementor-10340 .elementor-element.elementor-element-698fa81.elementor-element{--align-self:center;}.elementor-10340 .elementor-element.elementor-element-35ac8a3{--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-10340 .elementor-element.elementor-element-2a1e555{--display:grid;--e-con-grid-template-columns:1fr 2fr;--e-con-grid-template-rows:repeat(1, 1fr);--gap:1rem 2rem;--row-gap:1rem;--column-gap:2rem;--grid-auto-flow:row;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10340 .elementor-element.elementor-element-2abc9ce{--display:grid;--e-con-grid-template-columns:1fr 1fr;--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10340 .elementor-element.elementor-element-19c3a27{--display:flex;--justify-content:center;}.elementor-10340 .elementor-element.elementor-element-06b04fc{--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-10340 .elementor-element.elementor-element-941054d .elementor-swiper-button{font-size:20px;}@media(max-width:1024px){.elementor-10340 .elementor-element.elementor-element-d8be47a:not(.elementor-motion-effects-element-type-background), .elementor-10340 .elementor-element.elementor-element-d8be47a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://frontlinems.com/wp-content/uploads/2025/08/helix_bg.webp");background-position:center center;background-size:cover;}.elementor-10340 .elementor-element.elementor-element-d8be47a{--min-height:50vh;--padding-top:0rem;--padding-bottom:0rem;--padding-left:2rem;--padding-right:2rem;}.elementor-10340 .elementor-element.elementor-element-fe23984{--e-con-grid-template-columns:1fr;--gap:1rem 1rem;--row-gap:1rem;--column-gap:1rem;--grid-auto-flow:row;}.elementor-10340 .elementor-element.elementor-element-8a2bca1{--e-con-grid-template-columns:1fr;--grid-auto-flow:row;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10340 .elementor-element.elementor-element-915774e{--e-con-grid-template-columns:1fr;--grid-auto-flow:row;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10340 .elementor-element.elementor-element-31ecee1{--e-con-grid-template-columns:1fr;--grid-auto-flow:row;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10340 .elementor-element.elementor-element-2a1e555{--e-con-grid-template-columns:1fr;--grid-auto-flow:row;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10340 .elementor-element.elementor-element-2abc9ce{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0rem;--padding-bottom:0rem;--padding-left:1rem;--padding-right:1rem;}}@media(max-width:767px){.elementor-10340 .elementor-element.elementor-element-d8be47a:not(.elementor-motion-effects-element-type-background), .elementor-10340 .elementor-element.elementor-element-d8be47a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;}.elementor-10340 .elementor-element.elementor-element-d8be47a{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:048px;--padding-bottom:48px;--padding-left:0px;--padding-right:0px;}.elementor-10340 .elementor-element.elementor-element-fe23984{--e-con-grid-template-columns:1;--grid-auto-flow:row;}.elementor-10340 .elementor-element.elementor-element-8a2bca1{--e-con-grid-template-columns:1fr;--grid-auto-flow:row;}.elementor-10340 .elementor-element.elementor-element-915774e{--e-con-grid-template-columns:1;--grid-auto-flow:row;}.elementor-10340 .elementor-element.elementor-element-31ecee1{--e-con-grid-template-columns:1fr;--grid-auto-flow:row;}.elementor-10340 .elementor-element.elementor-element-2a1e555{--e-con-grid-template-columns:1fr;--grid-auto-flow:row;}.elementor-10340 .elementor-element.elementor-element-2abc9ce{--e-con-grid-template-columns:1fr;--grid-auto-flow:row;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}}/* Start custom CSS for html, class: .elementor-element-073e3ce */.popover {
  border: none;
  align-content: center;
  margin: auto;
  padding: 48px;
  text-align: center;
  width: min(800px, 100% - 2rem);
  &::backdrop {
    background-color: #0a0060AA;    
  }
  
  &:popover-open { /* Allow popover to transition in.  */
    animation: appear 1s;
  }
}

.btn.close {
  background-color: transparent;
  border-color: #0a0060;
  color: #0a0060;
  display: block; 
  font-weight: 900;
  margin: 4px;
  min-height: 32px;
  min-width: 32px;
  position: absolute;
  right: 0;
  top: 0;
}

@keyframes appear { /* control popover transition */
  from {
    opacity: 0;
    transform: translateY(-200px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }   
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-133a0b4 */@media (width > 600px) {
 .elementor-10340 .elementor-element.elementor-element-133a0b4 { grid-column: 2; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d8be47a */.hero {
  align-content: center;
  background-color: var(--blue--med-dark);
  height: auto;
  overflow: clip;
  padding-block: var(--block-space--lg);
  position: relative;
}

.hero-content {
  margin-inline: auto;
  position: relative;
  width: min(1200px, 100% - 32px);
  z-index: 3;

  & h1 {
    color: #fff;
    font-family: var(--font-display-family);
    font-size: var(--heading--xl);
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.1;
  }
  & p {
    grid-column: 2;
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: var(--bodycopy);
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 1.6;
  }
  
  .cta-button {
    background-color: var(--green);
    border: none;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-915774e *//* Elementor Cards Code */

.elementor-10340 .elementor-element.elementor-element-915774e.cards {
  /* 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; }
}

.elementor-10340 .elementor-element.elementor-element-915774e .card {
  --icon-size: 4.5rem;
  --button-depth: 1.5rem;
  background-color: var(--gray--light);
  border-bottom: 24px solid #fff;
  color: var(--blue--dark);
  margin-block: calc(var(--icon-size) / 2) 24px;
  padding: calc(var(--icon-size) / 2) var(--block-space--med);
  padding-bottom: 0;
  text-align: center;

  & h3 {
    color: var(--blue--dark);
    font-family: var(--font-display-family);
    font-size: var(--heading--med);
    margin-bottom: 1rem;
    text-transform: uppercase;
  }

  & p:has(> .cta-button) { display: contents; } /* Remove Elementor generated P tag from flow */

  &::before {
    /* Icons */
    background-color: var(--card-accent, --blue);
    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);
  }

  &.revenue-op {
    --card-accent: var(--green);
    --card-icon: url("https://frontlinems.com/wp-content/uploads/2025/10/icon-dollar.png");
  }

  &.managed-it {
    --card-accent: var(--blue);
    --card-icon: url("https://frontlinems.com/wp-content/uploads/2025/10/icon-connection.png");
  }

  &.ai-service {
    --card-accent: var(--blue--dark);
    --card-icon: url("https://frontlinems.com/wp-content/uploads/2025/10/icon-chat.png");
  }

  /* --- Not in use as of 10/21/25 ---
  &.practice-mg {
    --card-accent: var(--gray--med);
    --card-icon: url("https://frontlinems.com/wp-content/uploads/2025/10/icon-shield.png");
  }*/

  .cta-button {
    background-color: var(--card-accent, --blue);
    border-radius: 1.25rem;
    color: #fff;
    display: block;
    font-family: var(--font-display-family);
    font-size: var(--cta-text);
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1;
    margin: 0 auto -24px;
    padding: 1rem 2rem;
    text-decoration: none;
    text-transform: uppercase;
    width: max-content;

    &:is(:hover, :focus-visible) {
      background-color: #fff;
      color: var(--green);
      outline: 4px solid var(--green);
      outline-offset: -4px;
    }
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7a3acff */.elementor-10340 .elementor-element.elementor-element-7a3acff { /* 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--lg);
    font-weight: 400;
    letter-spacing: -0.01em;
    margin-bottom: 1rem;
    text-align: left;
    text-box-trim: none;
  }
  
  .cta-button { margin-top: 2rem; }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-ba196c7 *//* FMS Elementor Call-Out Code */

.elementor-10340 .elementor-element.elementor-element-ba196c7 { /* Container */
  --img-size: 144px;
  background-image: url("https://frontlinems.com/wp-content/uploads/2025/10/pin-wheel.png");
  background-position: top left;
  background-repeat: no-repeat;
  background-size: var(--img-size);
  box-sizing: border-box;
  min-height: var(--img-size);
  padding-left: calc(var(--img-size) + 32px);

  @media (width < 600px) {
    background-position: top center;
    background-size: 80px;
    min-height: unset;
    padding-left: 0;
    padding-top: 104px;
  }
}

.elementor-10340 .elementor-element.elementor-element-ba196c7 { display: none; }/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-436543d */.elementor-10340 .elementor-element.elementor-element-436543d img { object-fit: contain; max-height: 36px; width: auto; }/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-698fa81 */.elementor-10340 .elementor-element.elementor-element-698fa81 img { object-fit: contain; max-height: 32px; width: auto; }/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-f7bd97b */.elementor-10340 .elementor-element.elementor-element-f7bd97b img { object-fit: contain; max-height: 32px; width: auto; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2094d62 *//* FMS Elementor Client-List Code */

.elementor-10340 .elementor-element.elementor-element-2094d62 { 
 & div { display: contents; }    
    
 & img {
  max-width: 224px;
  object-fit: contain;
 }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-3ef65fe */.elementor-10340 .elementor-element.elementor-element-3ef65fe { 
  @media(width > 900px) {
    margin-left: 2rem;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2a1e555 */.elementor-10340 .elementor-element.elementor-element-2a1e555 {
    border: 1px solid var(--gray--med);
    border-width: 1px 0;
    padding-block: var(--block-space--lg);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-35ac8a3 */.elementor-10340 .elementor-element.elementor-element-35ac8a3 { /* Section */
  & h2 {
    color: var(--blue--dark);
    font-family: var(--font-display-family);
    font-size: var(--heading--lg);
    font-weight: 400;
    letter-spacing: -0.01em;
    margin-bottom: 1rem;
    text-align: left;
    text-box-trim: none;
  }
  
  .cta-button { margin-top: 2rem; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2abc9ce */.elementor-10340 .elementor-element.elementor-element-2abc9ce { /* Section */
  & h2 {
    color: var(--blue--dark);
    font-family: var(--font-display-family);
    font-size: var(--heading--lg);
    font-weight: 400;
    letter-spacing: -0.01em;
    margin-bottom: 1rem;
    text-align: left;
    text-box-trim: none;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-06b04fc *//* FMS Elementor Testimonials Code */
.elementor-10340 .elementor-element.elementor-element-06b04fc {
  background-color: var(--gray--light);

  .container { align-content: center; min-height: 504px; }
  .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;
    
    @media (width > 900px) {
      top: 0; right: 0;
    }
  }

  /* 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 */