/* ────────────────────────────────────────────────────────────────
   Background colors -- need the classes on the top level so have to insert them through full-width-nd-inner-1 and full-width-nd-inner-2
───────────────────────────────────────────────────────────────── */

.full-width-nd.color_yellow,
.full-width-nd.color_royal_blue,
.full-width-nd.color_navy,
.full-width-nd.color_sky_blue,
.full-width-nd.color_orange,
.full-width-nd.color_light_gray {
  background: none !important;
}

.full-width-nd.color_yellow .full-width-nd-inner-1,
.full-width-nd.color_yellow .full-width-nd-inner-2 {
  background-color: #FBBB00 !important;
  background-image: url('/wp-content/uploads/2025/05/yellow-texture.png');
}

.full-width-nd.color_royal_blue .full-width-nd-inner-1,
.full-width-nd.color_royal_blue .full-width-nd-inner-2 {
  background-color: #1550D7 !important;
  background-image: url('/wp-content/uploads/2025/05/royal-blue-texture.png');
}

.full-width-nd.color_navy .full-width-nd-inner-1,
.full-width-nd.color_navy .full-width-nd-inner-2 {
  background-color: #0A2447 !important;
  background-image: url('/wp-content/uploads/2025/05/navy-texture.png');
}

.full-width-nd.color_sky_blue .full-width-nd-inner-1,
.full-width-nd.color_sky_blue .full-width-nd-inner-2 {
  background-color: #81B7FF !important;
  background-image: url('/wp-content/uploads/2025/05/sky-blue-texture.png');
}

.full-width-nd.color_orange .full-width-nd-inner-1,
.full-width-nd.color_orange .full-width-nd-inner-2 {
  background-color: #FF7107 !important;
  background-image: url('/wp-content/uploads/2025/05/orange-texture.png');
}

.full-width-nd.color_light_gray .full-width-nd-inner-1,
.full-width-nd.color_light_gray .full-width-nd-inner-2 {
  background-color: #F4F6FC !important;
  background-image: url('/wp-content/uploads/2025/05/light-gray-texture2x.png');
}

.full-width-nd.color_white .full-width-nd-inner-1,
.full-width-nd.color_white .full-width-nd-inner-2 {
  background: #ffffff !important;
}

.full-width-nd.color_yellow .full-width-nd-inner-1,
.full-width-nd.color_yellow .full-width-nd-inner-2,
.full-width-nd.color_royal_blue .full-width-nd-inner-1,
.full-width-nd.color_royal_blue .full-width-nd-inner-2,
.full-width-nd.color_navy .full-width-nd-inner-1,
.full-width-nd.color_navy .full-width-nd-inner-2,
.full-width-nd.color_sky_blue .full-width-nd-inner-1,
.full-width-nd.color_sky_blue .full-width-nd-inner-2,
.full-width-nd.color_orange .full-width-nd-inner-1,
.full-width-nd.color_orange .full-width-nd-inner-2,
.full-width-nd.color_light_gray .full-width-nd-inner-1,
.full-width-nd.color_light_gray .full-width-nd-inner-2 {
  background-repeat: repeat;
  background-size: contain;
  background-position: center;
  background-size: 1024px !important;
}

/* ────────────────────────────────────────────────────────────────
   Adjustments related to image orientation
───────────────────────────────────────────────────────────────── */

/* When the image is on the left */
.full-width-nd.orientation-left .full-width-nd-inner-2 {
  flex-direction: row-reverse !important;
}

@media (max-width: 767px) {
  .full-width-nd.orientation-left .full-width-nd-inner-2,
  .full-width-nd.orientation-right .full-width-nd-inner-2 {
    flex-direction: column !important; /* Force image to be on the bottom */
  }
}

/* When the image is on the bottom -- for white boxes without shadows only */
/*
.full-width-nd.color_white.has-shadow-0.orientation-bottom .component-text {
  padding-top: 20px;
}
*/

/* When the image is on top, stack and reverse the order */
.full-width-nd.orientation-top .full-width-nd-inner-2 {
  flex-direction: column-reverse !important;
  justify-content: center;
}

/*.full-width-nd.orientation-top .component-text {
  padding-top: 20px;
  padding-bottom: 80px;
}
*/

/*
@media (max-width: 1200px) {
  .full-width-nd.orientation-top .component-text {
    padding-bottom: 60px;
  }
}
*/

/* Reverse the padding on this container so it moves from the above the visual to below it
  since we reversed the stacking order
*/

/* Add padding top for visuals on top of copy */
.full-width-nd.orientation-top[data-image-exists="false"] .full-width-visual {
  padding: 60px 60px 0 60px;
}

/* Removing padding top when the visual is above the copy and on white with no shadow
   Adding the part about :not(.span-screen-width-1) because those do get a shadow even though they might have the has-shadow-0 class
*/
.full-width-nd:not(.span-screen-width-1).orientation-top.color_white.has-shadow-0[data-image-exists="false"] .full-width-visual {
  padding-top: 0;
}

/* Add padding bottom for visuals below the copy */
.full-width-nd.orientation-bottom[data-image-exists="false"] .full-width-visual {
  padding: 0 60px 60px 60px;
}

/* Removing padding bottom when the visual is below the copy and on white with no shadow */
.full-width-nd:not(.span-screen-width-1).orientation-bottom.color_white.has-shadow-0[data-image-exists="false"] .full-width-visual {
  padding-bottom: 0;
}

/* And if the visual is above or below the copy and on white with no shadow, let the visual go full width */
.full-width-nd.span-screen-width-0.orientation-bottom.color_white.has-shadow-0 .full-width-visual,
.full-width-nd.span-screen-width-0.orientation-top.color_white.has-shadow-0 .full-width-visual {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

/* Remove padding top above text when the image is on top */
.full-width-nd.orientation-top[data-image-exists="true"] .component-text {
  padding-top: 0 !important;
}

/* Remove padding bottom below text when the image is on bottom */
.full-width-nd.orientation-bottom[data-image-exists="true"] .component-text {
  padding-bottom: 0 !important;
}

@media (max-width: 1200px) {
  .full-width-nd.orientation-right[data-video-exists="true"] .full-width-nd-inner-2,
  .full-width-nd.orientation-left[data-video-exists="true"] .full-width-nd-inner-2 {
    width: 100%;
  }

  .full-width-nd.orientation-left[data-image-exists="false"] .full-width-visual,
  .full-width-nd.orientation-right[data-image-exists="false"] .full-width-visual,
  .full-width-nd.orientation-bottom[data-image-exists="false"] .full-width-visual,
  .full-width-nd.orientation-top[data-image-exists="false"] .full-width-visual {
    width: 100%;
  }

  .full-width-nd.orientation-right[data-image-exists="false"] .full-width-visual {
    padding-right: 40px;
  }

  .full-width-nd.orientation-left[data-image-exists="false"] .full-width-visual {
    padding-left: 40px;
  }

  /* When using a white background with no shadow, allow the video to be slightly wider */
  .full-width-nd.orientation-left[data-video-exists="true"].color_white.has-shadow-0 .full-width-video {
    padding-left: 0;
  }

  /* When using a white background with no shadow, allow the video to be slightly wider */
  .full-width-nd.orientation-right[data-video-exists="true"].color_white.has-shadow-0 .full-width-video {
    padding-right: 0;
  }

  .full-width-nd.orientation-bottom[data-image-exists="false"] .full-width-visual {
    padding-right: 40px;
    padding-left: 40px;
    padding-bottom: 40px;
  }

  .full-width-nd.orientation-top[data-image-exists="false"] .full-width-visual {
    padding-right: 40px;
    padding-left: 40px;
    padding-top: 40px;
  }

  .full-width-nd.orientation-bottom[data-video-exists="true"].color_white.has-shadow-0 .full-width-video
  .full-width-nd.orientation-top[data-video-exists="true"].color_white.has-shadow-0 .full-width-video {
    padding: 0;
  }
}

@media (max-width: 767px) {
  .full-width-nd.orientation-top .full-width-visual {
    padding-bottom: 0 !important;
  }

  .full-width-nd.orientation-top .component-text {
    padding-bottom: 60px !important;
  }

  .full-width-nd.orientation-bottom .component-text {
    padding-bottom: 30px !important;
  }

  /*.full-width-nd.orientation-bottom .full-width-visual {
    padding-top: 30px !important;
  }
  */

  .full-width-nd.orientation-right[data-image-exists="false"] .full-width-visual,
  .full-width-nd.orientation-left[data-image-exists="false"] .full-width-visual,
  .full-width-nd.orientation-bottom[data-image-exists="false"] .full-width-visual,
  .full-width-nd.orientation-top[data-image-exists="false"] .full-width-visual {
    padding: 30px;
  }

  /* When using a white background with no shadow, allow the video to be slightly wider */
  .full-width-nd.orientation-left[data-video-exists="true"].color_white.has-shadow-0 .full-width-video,
  .full-width-nd.orientation-right[data-video-exists="true"].color_white.has-shadow-0 .full-width-video {
    padding-left: 0;
    padding-right: 0;
  }

  .full-width-nd.orientation-bottom[data-video-exists="true"].color_white.has-shadow-0 .full-width-video
  .full-width-nd.orientation-top[data-video-exists="true"].color_white.has-shadow-0 .full-width-video {
    padding: 0;
  }
}

/* When the image is on the bottom -- don't apply to mobile (just use default mobile stacking styles) */
@media (min-width: 768px) {
  .full-width-nd.orientation-bottom .full-width-nd-inner-2 {
    flex-direction: column !important;
    justify-content: center;
  }

  .full-width-nd.orientation-top .full-width-nd-inner-2 {
    flex-direction: column-reverse !important;
    justify-content: center;
  }

  .full-width-nd.orientation-bottom .component-text,
  .full-width-nd.orientation-top .component-text {
    max-width: 960px !important;
    width: 100% !important;
    align-self: center;
  }

  /*
  .full-width-nd.orientation-top .component-text {
    padding-bottom: 60px;
  }
  */

  /* Center text if Center Text is checked */
  .full-width-nd.orientation-bottom .component-text.center-text-1,
  .full-width-nd.orientation-top .component-text.center-text-1 {
    align-items: center;
    text-align: center;
  }

  /* Center button if Center Text is checked */
  .full-width-nd.orientation-bottom .component-text.center-text-1 .elementor-widget-button,
  .full-width-nd.orientation-top .component-text.center-text-1 .elementor-widget-button {
    align-self: center;
  }

  /* Keep any lists left justfied, even if set to center text, for best legibiilty */
  .full-width-nd.orientation-bottom .component-text.center-text-1 ul,
  .full-width-nd.orientation-top .component-text.center-text-1 ul,
  .full-width-nd.orientation-bottom .component-text.center-text-1 ol,
  .full-width-nd.orientation-top .component-text.center-text-1 ol {
    text-align: left;
  }

  .full-width-nd.orientation-bottom .visual-container,
  .full-width-nd.orientation-top .visual-container {
    width: 100%;
  }

}

/* Turn off top or bottom padding for white boxes when .padding-bottom-0 or .padding-top-0 is present
This is to help with what looks like too much padding between sections when stacking a white box on a white box */
.full-width-nd.remove-padding-bottom-1.color_white.has-shadow-0:not(.span-screen-width-1) > .e-con-inner,
.full-width-nd.remove-padding-bottom-1.block_type_lead_in_text .component-text,
.full-width-nd.remove-padding-bottom-1.color_white.has-shadow-0.block_type_cta .component-text,
.full-width-nd.remove-padding-bottom-1.orientation-top.color_white.has-shadow-0:not(.span-screen-width-1) .component-text {
  padding-bottom: 0 !important;
}

.full-width-nd.remove-padding-top-1.color_white.has-shadow-0:not(.span-screen-width-1) > .e-con-inner,
.full-width-nd.remove-padding-top-1.block_type_lead_in_text .component-text,
.full-width-nd.remove-padding-top-1.color_white.has-shadow-0.block_type_cta .component-text,
.full-width-nd.remove-padding-top-1.orientation-bottom.color_white.has-shadow-0:not(.span-screen-width-1) .component-text {
  padding-top: 0 !important;
}

/* ────────────────────────────────────────────────────────────────
   Text colors
───────────────────────────────────────────────────────────────── */

/* White Text */
.full-width-nd.color_royal_blue .full-width-nd-heading h1,
.full-width-nd.color_royal_blue .full-width-nd-heading h2,
.full-width-nd.color_royal_blue .full-width-nd-heading h3,
.full-width-nd.color_royal_blue .full-width-nd-description,
.full-width-nd.color_navy .full-width-nd-heading h1,
.full-width-nd.color_navy .full-width-nd-heading h2,
.full-width-nd.color_navy .full-width-nd-heading h3,
.full-width-nd.color_navy .full-width-nd-description,
.full-width-nd.color_sky_blue .full-width-nd-heading h1,
.full-width-nd.color_sky_blue .full-width-nd-heading h2,
.full-width-nd.color_sky_blue .full-width-nd-heading h3,
.full-width-nd.color_orange .full-width-nd-heading h1,
.full-width-nd.color_orange .full-width-nd-heading h2,
.full-width-nd.color_orange .full-width-nd-heading h3,
.full-width-nd.color_orange .full-width-nd-description,
.full-width-nd[data-table-exists="true"].color_yellow .full-width-nd-heading h1, /* gets color_royal_blue styles */
.full-width-nd[data-table-exists="true"].color_yellow .full-width-nd-heading h2, /* gets color_royal_blue styles */
.full-width-nd[data-table-exists="true"].color_yellow .full-width-nd-heading h3, /* gets color_royal_blue styles */
.full-width-nd[data-table-exists="true"].color_yellow .full-width-nd-description /* gets color_royal_blue styles */ {
  color: #fff !important;
}

/* Royal Blue Text */
.full-width-nd.color_gray .full-width-nd-heading h1, /* the old light gray class */
.full-width-nd.color_gray .full-width-nd-heading h2, /* the old light gray class */
.full-width-nd.color_gray .full-width-nd-heading h3, /* the old light gray class */
.full-width-nd.color_light_gray .full-width-nd-heading h1,
.full-width-nd.color_light_gray .full-width-nd-heading h2,
.full-width-nd.color_light_gray .full-width-nd-heading h3,
.full-width-nd.color_white_no_shadow .full-width-nd-heading h1,
.full-width-nd.color_white_no_shadow .full-width-nd-heading h2,
.full-width-nd.color_white_no_shadow .full-width-nd-heading h3,
.full-width-nd.color_white_with_shadow .full-width-nd-heading h1,
.full-width-nd.color_white_with_shadow .full-width-nd-heading h2,
.full-width-nd.color_white_with_shadow .full-width-nd-heading h3,
.full-width-nd.color_white .full-width-nd-heading h1,
.full-width-nd.color_white .full-width-nd-heading h2,
.full-width-nd.color_white .full-width-nd-heading h3 {
  color: #1550D7 !important;
}

/* Navy Text */
.full-width-nd.color_sky_blue .full-width-nd-description,
.full-width-nd.color_yellow .full-width-nd-heading h1,
.full-width-nd.color_yellow .full-width-nd-heading h2,
.full-width-nd.color_yellow .full-width-nd-heading h3,
.full-width-nd.color_yellow .full-width-nd-description,
.full-width-nd.color_gray .full-width-nd-description, /* the old light gray class */
.full-width-nd.color_light_gray .full-width-nd-description,
.full-width-nd.color_white_no_shadow .full-width-nd-description,
.full-width-nd.color_white_with_shadow .full-width-nd-description,
.full-width-nd.color_white .full-width-nd-description,
.full-width-nd.block_type_lead_in_text.color_royal_blue .text-link .elementor-button .elementor-button-text {
  color: #0A2447 !important;
}

/* White Background */
.full-width-nd.color_white {
  background-color: #fff !important;
  box-shadow: none !important; /* default is no shadow */
}

/* If a heading is on a white background and defined as orange, allow it to be orange */
.full-width-nd.color_white_no_shadow .full-width-nd-heading.full-width-nd-heading-orange h1,
.full-width-nd.color_white_no_shadow .full-width-nd-heading.full-width-nd-heading-orange h2,
.full-width-nd.color_white_no_shadow .full-width-nd-heading.full-width-nd-heading-orange h3,
.full-width-nd.color_white_with_shadow .full-width-nd-heading.full-width-nd-heading-orange h1,
.full-width-nd.color_white_with_shadow .full-width-nd-heading.full-width-nd-heading-orange h2,
.full-width-nd.color_white_with_shadow .full-width-nd-heading.full-width-nd-heading-orange h3,
.full-width-nd.color_white .full-width-nd-heading.full-width-nd-heading-orange h1,
.full-width-nd.color_white .full-width-nd-heading.full-width-nd-heading-orange h2,
.full-width-nd.color_white .full-width-nd-heading.full-width-nd-heading-orange h3 {
  color: #FF7107 !important;
}

.full-width-nd.color_white.has-shadow-1 .full-width-nd-inner-2 {
  box-shadow: 0px 2px 38px 14px rgba(90, 161, 255, 0.08) !important;
}

/* ────────────────────────────────────────────────────────────────
   Setup CTA and Lead-in Text block type styles
───────────────────────────────────────────────────────────────── */

/*
Center the text container
if there's no uploaded image/video or
if the block type is set to lead_in_text or
if the block type is set to cta
 */
.full-width-nd[data-image-exists="false"][data-video-exists="false"][data-form-exists="false"][data-table-exists="false"][data-ebook-exists="false"] .full-width-nd-inner-2,
.full-width-nd.block_type_lead_in_text,
.full-width-nd.block_type_cta {
    align-items: center;
    justify-content: center;
    min-height: auto;
}

/*
Center the text and button
if there's no uploaded image/video/form or
if the block type is set to lead_in_text or
if the block type is set to cta
 */
.full-width-nd[data-image-exists="false"][data-video-exists="false"][data-form-exists="false"][data-table-exists="false"][data-ebook-exists="false"] .component-text,
.full-width-nd.block_type_lead_in_text .component-text,
.full-width-nd.block_type_cta .component-text  {
  text-align: center;
  max-width: 960px !important;
  width: 100% !important;
}

/*
Override the elementor align-self value to force the button to center
if there's no visual or
if the block type is set to lead_in_text or
if the block type is set to cta
 */
.full-width-nd[data-image-exists="false"][data-video-exists="false"][data-form-exists="false"][data-table-exists="false"][data-ebook-exists="false"] .component-text .elementor-widget-button,
.full-width-nd.block_type_lead_in_text .component-text .elementor-widget-button,
.full-width-nd.block_type_cta .component-text .elementor-widget-button {
  align-self: center;
}

/*
Force the background to be "none"
if the block type is set to lead_in_text
 */
.full-width-nd.block_type_lead_in_text .full-width-nd-inner-1,
.full-width-nd.block_type_lead_in_text .full-width-nd-inner-2 {
    background: none !important;
}

/*
Reduce the padding bottom over the lead-in text
because it's almost always going to a heading for
the section below it
 */
.full-width-nd.block_type_lead_in_text .component-text {
  padding-top: 40px;
  padding-bottom: 20px;
}

@media (max-width: 767px) {
  /* Turn off left/right padding in mobile */
  .full-width-nd.block_type_lead_in_text .component-text {
    padding-left: 0;
    padding-right: 0;
  }
}

/*
Force the text color to be gray
if the block type is set to lead_in_text
 */
.full-width-nd.block_type_lead_in_text p {
    color: #535E79;
}

/*
Force the default h2 to be royal blue
if the block type is set to lead_in_text
 */
.full-width-nd.block_type_lead_in_text .full-width-nd-heading h2 {
    color: #1550D7 !important;
}

/*
Unless it's labeled as orange, then make it orange.
Also force the body block type h2 to be orange if its set to orange
and is on a white background without a shadow
 */
.full-width-nd.block_type_lead_in_text .full-width-nd-heading.full-width-nd-heading-orange h2,
.full-width-nd.block_type_body.color_white.has-shadow-0 .full-width-nd-heading.full-width-nd-heading-orange h2 {
    color: #FF7107 !important;
}

/*
Force box-shadow to be none
if the block type is set to lead_in_text
*/
.full-width-nd.color_white.has-shadow-1.block_type_lead_in_text .full-width-nd-inner-2 {
    box-shadow: none !important;
}

/* ────────────────────────────────────────────────────────────────
   Video
───────────────────────────────────────────────────────────────── */

/*
Reduce the width of the the video container so the video hangs over the side
*/
.full-width-nd.orientation-right[data-video-exists="true"] .full-width-nd-inner-2,
.full-width-nd.orientation-left[data-video-exists="true"] .full-width-nd-inner-2 {
  width: calc(100% - 120px);
}

/* Shift card to the right when video is on the left */
.full-width-nd.orientation-left[data-video-exists="true"] .full-width-nd-inner-2 {
  align-self: flex-end;
}

/* Extend the width of the video so it can hang over the side */
.full-width-nd.orientation-right[data-video-exists="true"] .full-width-video,
.full-width-nd.orientation-left[data-video-exists="true"] .full-width-video {
  width: calc(100% + 120px);
}

/* Set video to flex-end when video is on the left so it pops out on the left side */
.full-width-nd.orientation-left[data-video-exists="true"] .full-width-video {
  align-self: flex-end;
}

/* Add padding to all sides of the video when video is under or above the copy */
/*.full-width-nd.orientation-bottom[data-video-exists="true"] .full-width-video,
.full-width-nd.orientation-top[data-video-exists="true"] .full-width-video {
  padding: 60px;
}
*/

/* ────────────────────────────────────────────────────────────────
   Logos
───────────────────────────────────────────────────────────────── */

.full-width-nd .logo_instinct_emr {
  background-image: url(../images/logos/instinct-emr.svg);
  background-size: 169px;
  width: 169px;
  height: 37px;
}

.full-width-nd .logo_instinct_emr[data-darkmode="1"] {
  background-image: url(../images/logos/instinct-emr-darkmode.svg);
  background-size: 169px;
  width: 169px;
  height: 37px;
}

.full-width-nd .logo_instinct_emr_for_primary_care {
  background-image: url(../images/logos/instinct-primary-care.svg);
  background-size: 169px;
  width: 169px;
  height: 37px;
}

.full-width-nd .logo_instinct_emr_for_primary_care[data-darkmode="1"] {
  background-image: url(../images/logos/instinct-primary-care-darkmode.svg);
  background-size: 169px;
  width: 169px;
  height: 37px;
}

.full-width-nd .logo_instinct_treatment_plan {
  background-image: url(../images/logos/instinct-treatment-plan.svg);
  background-size: 169px;
  width: 169px;
  height: 37px;
}

.full-width-nd .logo_instinct_treatment_plan[data-darkmode="1"] {
  background-image: url(../images/logos/instinct-treatment-plan-darkmode.svg);
  background-size: 169px;
  width: 169px;
  height: 37px;
}

.full-width-nd .logo_standards {
  background-image: url(../images/logos/standards.svg);
  background-size: 175px;
  width: 175px;
  height: 45px;
}

.full-width-nd .logo_standards[data-darkmode="1"] {
  background-image: url(../images/logos/standards-darkmode.svg);
  background-size: 175px;
  width: 175px;
  height: 45px;
}

.full-width-nd .logo_plumbs {
  background-image: url(../images/logos/plumbs.svg);
  background-size: 138px;
  width: 138px;
  height: 24px;
}

.full-width-nd .logo_plumbs[data-darkmode="1"] {
  background-image: url(../images/logos/plumbs-darkmode.svg);
  background-size: 138px;
  width: 138px;
  height: 24px;
}

.full-width-nd .logo_clinicians_brief {
  background-image: url(../images/logos/clinicians-brief.svg);
  background-size: 209px;
  width: 209px;
  height: 23px;
}

.full-width-nd .logo_clinicians_brief[data-darkmode="1"] {
  background-image: url(../images/logos/clinicians-brief-darkmode.svg);
  background-size: 209px;
  width: 209px;
  height: 23px;
}

/* ────────────────────────────────────────────────────────────────
   Hero components
───────────────────────────────────────────────────────────────── */

/* Add extra top padding and set transform to none so it always aligns in the correct place */
.full-width-nd.block_type_hero {
  padding-top: 20px;
  transform: none !important;
}

/* If top padding is turned off for the hero, just bake in a small amount of padding so it doesn't sit too close to the hero */
.full-width-nd.block_type_hero.remove-padding-top-1.color_white.has-shadow-0:not(.span-screen-width-1) {
  padding-top: 60px;
}

@media (max-width: 1520px) {
  /* Remove the extra top padding when the block goes full screen with no border-radius */
  .full-width-nd.block_type_hero.span-screen-width-1 .e-con-inner {
    padding-top: 0;
  }
}

/* ────────────────────────────────────────────────────────────────
   Hubspot Forms -- base styles currently live in css/styles-overrides.css
───────────────────────────────────────────────────────────────── */
.full-width-nd[data-form-exists="true"] {
  align-items: flex-start !important;
}

.full-width-nd[data-form-exists="true"] .full-width-nd-inner-2 > .elementor-element,
.full-width-nd[data-form-exists="true"] .full-width-nd-inner-2 > .elementor-element .full-width-form {
  justify-content: flex-start;
}

/* swapping the padding from right to left when showing the form on the left */
.full-width-nd[data-form-exists="true"].orientation-left .full-width-nd-inner-2 > .elementor-element .full-width-form {
  padding-left: 60px;
  padding-right: 0;
}

.full-width-nd .hbspt-form,
.full-width-nd .hs-form-html {
  background-color: #fff;
  padding: 60px;
  border-radius: 12px;
}

@media (max-width: 1200px) {
  .full-width-nd .hbspt-form,
  .full-width-nd .hs-form-html {
    padding: 60px 30px;
  }

  /* Stack any 2 column form elements */
  .full-width-nd .hbspt-form .form-columns-2 {
    flex-direction: column
  }
  .full-width-nd .hbspt-form .form-columns-2 .hs-form-field {
    width: 100%;
  }
  .full-width-nd .hs-form-html .hsfc-Row {
    grid-template-columns: 1fr;
    gap: 0;
  }

  /* swapping the padding from right to left when showing the form on the left */
  .full-width-nd[data-form-exists="true"].orientation-left .full-width-nd-inner-2 > .elementor-element .full-width-form {
    padding-left: 40px;
  }

}

@media screen and (max-width: 767px) {
  /* Reducing padding to allow the form to span wider on smaller screens */
  .full-width-nd[data-form-exists="true"] .full-width-form {
    padding: 2px !important;
  }
  .full-width-nd .hbspt-form,
  .full-width-nd .hs-form-html {
    border-radius: 18px;
  }

  /* Overriding a style in css/styles-overrides.css that set this to flex instead of grid */
  .full-width-nd .hs-form-html .hsfc-Row:not([style="display:none"]) {
      display: grid !important;
  }

}

/* ────────────────────────────────────────────────────────────────
   Buttons
───────────────────────────────────────────────────────────────── */

.full-width-nd .elementor-button-text {
  text-align: left;
}

/* ────────────────────────────────────────────────────────────────
   Tables
───────────────────────────────────────────────────────────────── */

/* swapping the padding from right to left when showing the table on the left */
.full-width-nd[data-table-exists="true"].orientation-left .full-width-nd-inner-2 > .elementor-element .full-width-table {
  padding-left: 60px;
  padding-right: 0;
  margin: 0;
}

/* swapping the padding from right to left when showing the table on the bottom or top */
.full-width-nd[data-table-exists="true"].orientation-bottom .full-width-nd-inner-2 > .elementor-element .full-width-table,
.full-width-nd[data-table-exists="true"].orientation-top .full-width-nd-inner-2 > .elementor-element .full-width-table {
  padding-left: 60px;
  padding-right: 60px;
}

/* make the table go full width if stacking it above or below the copy */
.full-width-nd[data-table-exists="true"].orientation-bottom .visual-container,
.full-width-nd[data-table-exists="true"].orientation-top .visual-container {
  width: 100%;
}

@media (max-width: 1200px) {
  /* swapping the padding from right to left when showing the form on the left */
  .full-width-nd[data-table-exists="true"].orientation-left .full-width-nd-inner-2 > .elementor-element .full-width-table {
    padding-left: 40px;
  }

  /* swapping the padding from right to left when showing the form on the bottom or top */
  .full-width-nd[data-table-exists="true"].orientation-bottom .full-width-nd-inner-2 > .elementor-element .full-width-table,
  .full-width-nd[data-table-exists="true"].orientation-top .full-width-nd-inner-2 > .elementor-element .full-width-table {
    padding-left: 40px;
    padding-right: 40px;
  }
}

@media (max-width: 767px) {
  /* swapping the padding from right to left when showing the form on the left */
  .full-width-nd[data-table-exists="true"].orientation-left .full-width-nd-inner-2 > .elementor-element .full-width-table {
    padding-left: 30px;
  }

  /* swapping the padding from right to left when showing the form on the bottom or top */
  .full-width-nd[data-table-exists="true"].orientation-bottom .full-width-nd-inner-2 > .elementor-element .full-width-table,
  .full-width-nd[data-table-exists="true"].orientation-top .full-width-nd-inner-2 > .elementor-element .full-width-table {
    padding-left: 30px;
    padding-right: 30px;
  }
}

/******
  Table styles for all tables
******/

.full-width-nd[data-table-exists="true"] .elementor-element .full-width-table table {
  font-family: "REM Regular", Sans-serif;
  font-size: 18px;
  line-height: 32px;
}

/* Table cells */
.full-width-nd[data-table-exists="true"] .elementor-element .full-width-table table thead tr th,
.full-width-nd[data-table-exists="true"] .elementor-element .full-width-table table tbody tr td {
  padding: 20px 24px;
  vertical-align: top;
}

/* Table cells inner div */
.full-width-nd[data-table-exists="true"] .elementor-element .full-width-table table thead tr th div,
.full-width-nd[data-table-exists="true"] .elementor-element .full-width-table table tbody tr td div {
  display: flex;
  flex-direction: row;
  gap: 8px;
}

/* Table header cells */
.full-width-nd[data-table-exists="true"] .elementor-element .full-width-table table thead tr th {
  text-align: left;
}

.full-width-nd[data-table-exists="true"] .elementor-element .full-width-table table thead tr th:first-child {
  border-radius: 12px 0 0 12px;
}

.full-width-nd[data-table-exists="true"] .elementor-element .full-width-table table thead tr th:last-child {
  border-radius: 0 12px 12px 0;
}

.full-width-nd[data-table-exists="true"] .elementor-element .full-width-table table thead tr th:first-child:last-child {
  border-radius: 12px;
}

/* Table row cells */
.full-width-nd[data-table-exists="true"] .elementor-element .full-width-table table tbody tr td {
  font-weight: 400;
}

/* Overriding alternating table row background color style */
.full-width-nd[data-table-exists="true"] .elementor-element .full-width-table table tbody > tr:hover td,
.full-width-nd[data-table-exists="true"] .elementor-element .full-width-table table thead > tr:hover th,
.full-width-nd[data-table-exists="true"] .elementor-element .full-width-table table tbody > tr:nth-child(odd) > td,
.full-width-nd[data-table-exists="true"] .elementor-element .full-width-table table thead > tr:nth-child(odd) > th {
  background-color: inherit;
}

/* Overriding table header cell border styles */
.full-width-nd[data-table-exists="true"] .elementor-element .full-width-table table thead tr th {
  border: none;
}

/* Overriding table body cell border styles */
.full-width-nd[data-table-exists="true"] .elementor-element .full-width-table table tbody tr td {
  border-left: none;
  border-right: none;
  border-top: none;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

/* Table row cells for first column emphasis */
.full-width-nd[data-table-exists="true"] .elementor-element .full-width-table.emphasize-first-column-1 table tbody tr td:first-child {
  font-weight: 700;
}

/* Adjusting SVG positioning and adding min-width so it doesn't collapse in mobile sometimes */
.full-width-nd[data-table-exists="true"] .elementor-element .full-width-table table tbody tr td svg {
  margin-top: -2px;
  min-width: 32px;
}

/******
  Table styles for tables on white
******/

/* Table header cells */
.full-width-nd[data-table-exists="true"].color_white .elementor-element .full-width-table table thead tr th {
  background-color: #0A2447;
  color: #fff;
}

/* Table row cells */
.full-width-nd[data-table-exists="true"].color_white .elementor-element .full-width-table table tbody tr td {
  color: #535E79;
  border-bottom-color: #DEE4F1;
}

/******
  Table styles for tables on royal blue. Also, because of low contrast/accessibility concerns,
  force any yellow or orange full width blocks with tables to use the royal_blue fill
******/

/* Table header cells */
.full-width-nd[data-table-exists="true"].color_royal_blue .elementor-element .full-width-table table thead tr th,
.full-width-nd[data-table-exists="true"].color_yellow .elementor-element .full-width-table table thead tr th,
.full-width-nd[data-table-exists="true"].color_orange .elementor-element .full-width-table table thead tr th {
  background-color: #fff;
  color: #0A2447;
}

/* Table row cells */
.full-width-nd[data-table-exists="true"].color_royal_blue .elementor-element .full-width-table table tbody tr td,
.full-width-nd[data-table-exists="true"].color_yellow .elementor-element .full-width-table table tbody tr td,
.full-width-nd[data-table-exists="true"].color_orange .elementor-element .full-width-table table tbody tr td {
  color: #fff;
  border-bottom-color: #81B7FF;
}

/* Change all SVGs to white */
.full-width-nd[data-table-exists="true"].color_royal_blue .elementor-element .full-width-table table tbody tr td svg path:not([fill]),
.full-width-nd[data-table-exists="true"].color_yellow .elementor-element .full-width-table table tbody tr td svg path:not([fill]),
.full-width-nd[data-table-exists="true"].color_orange .elementor-element .full-width-table table tbody tr td svg path:not([fill]),
.full-width-nd[data-table-exists="true"].color_royal_blue .elementor-element .full-width-table table tbody tr td svg rect,
.full-width-nd[data-table-exists="true"].color_yellow .elementor-element .full-width-table table tbody tr td svg rect,
.full-width-nd[data-table-exists="true"].color_orange .elementor-element .full-width-table table tbody tr td svg rect {
  stroke: #81B7FF;
}

.full-width-nd[data-table-exists="true"].color_royal_blue .elementor-element .full-width-table table tbody tr td svg path[fill],
.full-width-nd[data-table-exists="true"].color_yellow .elementor-element .full-width-table table tbody tr td svg path[fill],
.full-width-nd[data-table-exists="true"].color_orange .elementor-element .full-width-table table tbody tr td svg path[fill] {
  fill: #81B7FF;
}

/******
  Table styles for tables on sky blue
******/

/* Table header cells */
.full-width-nd[data-table-exists="true"].color_sky_blue .elementor-element .full-width-table table thead tr th {
  background-color: #fff;
  color: #0A2447;
}

/* Table row cells */
.full-width-nd[data-table-exists="true"].color_sky_blue .elementor-element .full-width-table table tbody tr td {
  color: #0A2447;
  border-bottom-color: #BEDAFF;
}

/* Change all SVGs to white */
.full-width-nd[data-table-exists="true"].color_sky_blue .elementor-element .full-width-table table tbody tr td svg path:not([fill]),
.full-width-nd[data-table-exists="true"].color_sky_blue .elementor-element .full-width-table table tbody tr td svg rect {
  stroke: #1550D7;
}

.full-width-nd[data-table-exists="true"].color_sky_blue .elementor-element .full-width-table table tbody tr td svg path[fill] {
  fill: #1550D7;
}

/******
  Table styles for tables on navy
******/

/* Table header cells */
.full-width-nd[data-table-exists="true"].color_navy .elementor-element .full-width-table table thead tr th {
  background-color: #fff;
  color: #1550D7;
}

/* Table row cells */
.full-width-nd[data-table-exists="true"].color_navy .elementor-element .full-width-table table tbody tr td {
  color: #fff;
  border-bottom-color: #535E79;
}

/* Change all SVGs to white */
.full-width-nd[data-table-exists="true"].color_navy .elementor-element .full-width-table table tbody tr td svg path:not([fill]),
.full-width-nd[data-table-exists="true"].color_navy .elementor-element .full-width-table table tbody tr td svg rect {
  stroke: #81B7FF;
}

.full-width-nd[data-table-exists="true"].color_navy .elementor-element .full-width-table table tbody tr td svg path[fill] {
  fill: #81B7FF;
}

/******
  Table styles for tables on yellow or orange: background fill override to royal_blue because of contrast/accessibility concerns
******/

.full-width-nd[data-table-exists="true"].color_yellow .full-width-nd-inner-1,
.full-width-nd[data-table-exists="true"].color_yellow .full-width-nd-inner-2,
.full-width-nd[data-table-exists="true"].color_orange .full-width-nd-inner-1,
.full-width-nd[data-table-exists="true"].color_orange .full-width-nd-inner-2 {
  background-color: #1550D7 !important;
  background-image: url('/wp-content/uploads/2025/05/royal-blue-texture.png');
}

/******
  Table styles for tables on light gray
******/

/* Table header cells */
.full-width-nd[data-table-exists="true"].color_light_gray .elementor-element .full-width-table table thead tr th {
  background-color: #fff;
  color: #1550D7;
}

/* Table row cells */
.full-width-nd[data-table-exists="true"].color_light_gray .elementor-element .full-width-table table tbody tr td {
  color: #0A2447;
  border-bottom-color: #BEC7DB;
}

/******
  Setup horizontal scroll for tables on smaller screens
******/

@media (max-width: 1200px) {
  /* For blocks with orientation-left or orientation-right */
  .full-width-nd[data-table-exists="true"].orientation-left .elementor-element .full-width-table,
  .full-width-nd[data-table-exists="true"].orientation-right .elementor-element .full-width-table {
    overflow-x: auto;
  }

  /* For blocks with orientation-left or orientation-right */
  .full-width-nd[data-table-exists="true"].orientation-left .elementor-element .full-width-table .elementor-shortcode,
  .full-width-nd[data-table-exists="true"].orientation-right .elementor-element .full-width-table .elementor-shortcode {
    width: auto;
    min-width: 440px;
    max-width: 1200px;
  }
}

@media (max-width: 880px) {
  /* For blocks with any orientation */
  .full-width-nd[data-table-exists="true"].orientation-bottom .elementor-element .full-width-table,
  .full-width-nd[data-table-exists="true"].orientation-top .elementor-element .full-width-table,
  .full-width-nd[data-table-exists="true"].orientation-left .elementor-element .full-width-table,
  .full-width-nd[data-table-exists="true"].orientation-right .elementor-element .full-width-table {
    overflow-x: auto;
  }

  /* For blocks with any orientation */
  .full-width-nd[data-table-exists="true"].orientation-bottom .elementor-element .full-width-table .elementor-shortcode,
  .full-width-nd[data-table-exists="true"].orientation-top .elementor-element .full-width-table .elementor-shortcode,
  .full-width-nd[data-table-exists="true"].orientation-left .elementor-element .full-width-table .elementor-shortcode,
  .full-width-nd[data-table-exists="true"].orientation-right .elementor-element .full-width-table .elementor-shortcode {
    width: auto;
    min-width: 440px;
    max-width: 880px;
    margin:
  }
}

/* ────────────────────────────────────────────────────────────────
   Span Screen Width
───────────────────────────────────────────────────────────────── */

.full-width-nd.span-screen-width-1 .e-con-inner {
  max-width: 100%;
}

.full-width-nd .full-width-nd-inner-1 {
  justify-content: center;
  align-items: center;
}

.full-width-nd .full-width-nd-inner-2 {
  max-width: 1440px;
}

.full-width-nd.span-screen-width-0 .full-width-nd-inner-1 {
  background: transparent !important;
  box-shadow: none !important;
}

/* Force full width white blocks to have a shadow to help define the space better */
.full-width-nd.span-screen-width-1.color_white .full-width-nd-inner-1 {
  background: #fff;
  box-shadow: 0px 2px 38px 14px rgba(90, 161, 255, 0.08) !important;
}

/* Lose the padding around the full screen elements when we get to 1520 screen width
so we can continue to differentiate those blocks from the non-full screen ones
*/
@media (max-width: 1520px) {
  .full-width-nd.span-screen-width-1 {
    padding: 0;
  }

  .full-width-nd.span-screen-width-1 .full-width-nd-inner-1 {
    border-radius: 0;
  }
}

/* ────────────────────────────────────────────────────────────────
   E-Book Carousel
───────────────────────────────────────────────────────────────── */

/* Add a little more space around the block for the image offset */
.full-width-nd[data-ebook-exists="true"]:not(.color_white) .full-width-nd-inner-2 {
  margin: 20px 0;
}

.full-width-nd.color_white.orientation-left .full-width-ebook-carousel,
.full-width-nd.color_white.orientation-right .full-width-ebook-carousel {
  margin: 0 !important;
}

.full-width-nd.orientation-top .full-width-ebook-carousel {
  padding: 20px 60px 0 60px !important;
  margin-top: 0 !important;
}

.full-width-nd.orientation-bottom .full-width-ebook-carousel {
  padding: 0 60px 20px 60px !important;
  margin-bottom: 0 !important;
}

.full-width-nd .full-width-ebook-carousel .swiper {
  gap: 30px;
  display: flex;
  flex-direction: column;
}

.full-width-nd .full-width-ebook-carousel .swiper-slide img {
  max-width: 300px;
  border-radius: 12px;
  box-shadow: 0 2px 38px 14px rgba(90, 161, 255, 0.08);
  margin: 38px 0; /* Add spacing so the shadow doesn't get cropped out */
}

.full-width-nd .full-width-ebook-carousel .swiper-slide {
  display: flex;
  justify-content: center;
}

/* Scope to the shortcode markup we output */
.full-width-nd .full-width-ebook-carousel .swiper-pagination {
  position: relative;
  display: flex;
  justify-content: center; /* Horizontal Alignment: center */
  gap: 10px;               /* Space: 10 (total) */
  pointer-events: none;    /* let slides receive clicks */
}

/* ────────────────────────────────────────────────────────────────
   Inline Text Link Arrows
───────────────────────────────────────────────────────────────── */

/* Add the arrow to text links in a pseudo class so we can inline it */
.full-width-nd .text-link .elementor-button .elementor-button-text::after,
.full-width-nd.block_type_lead_in_text.color_royal_blue .text-link .elementor-button .elementor-button-text::after {
  content: "";
  display: inline-block;
  width: 24px;
  height: 13px;
  margin-left: 8px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='13' viewBox='0 0 24 13' fill='none'><path d='M1.82227 6.05493H21.5355' stroke='%230A2447' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'/><path d='M16.3223 11.0549L22.3223 6.05561L16.3223 1.05493' stroke='%230A2447' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  vertical-align: middle;
  transition: 250ms all;
}

/* Use white for darker backgrounds */
.full-width-nd.color_navy .text-link .elementor-button .elementor-button-text::after,
.full-width-nd.color_royal_blue .text-link .elementor-button .elementor-button-text::after /* Lead-in text link */ {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='13' viewBox='0 0 24 13' fill='none'><path d='M1.82227 6.05493H21.5355' stroke='%23FFFFFF' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'/><path d='M16.3223 11.0549L22.3223 6.05561L16.3223 1.05493' stroke='%23FFFFFF' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'/></svg>");
}

/* Make sure the arrow flows inline */
.full-width-nd .text-link .elementor-button .elementor-button-text {
  display: inline;
}

.full-width-nd .text-link .elementor-button:hover .elementor-button-text::after,
.full-width-nd.color_royal_blue .text-link .elementor-button:hover .elementor-button-text::after /* Lead-in text link */ {
  margin-left: 16px;
}

/* Just in case there is a text link icon, hide it */
.full-width-nd .text-link .elementor-button .elementor-button-icon {
  display: none;
}

/* ────────────────────────────────────────────────────────────────
   Link Anchor Element
───────────────────────────────────────────────────────────────── */

/* Taking it out of the flow so it doesn't cause extra space to get added from flexbox */
.full-width-nd .elementor-widget-menu-anchor {
  position: absolute;
  width: 100px;
  height: 1px;
  top: -160px; /* Offset Elementor menu anchors to account for sticky header */
}
