/*
  iJRNY: modules that never finished fading in.
  Website developed by pressific.com Emily Park, Dileep C. Kaluaratchie and Tech Generation Ltd.

  Divi fades a module in on scroll: its CSS sets a low starting opacity and its
  JavaScript raises it to 1 when the module reaches the viewport. The de-theme
  compiler reads the authored CSS and captures whatever opacity it finds, so it
  captured the starting value and shipped it as the resting value. The
  JavaScript that would have finished the animation is not part of a static
  build, so the text simply stays faded.

  That is why the use-cases intro reads as grey on the blue gradient. The colour
  was already #ffffff; the module around it was sitting at opacity 0.201, so the
  gradient showed through the words. Lightening the colour would have done
  nothing, because the paragraph was already as light as it can be.

  Every Divi entrance animation ends at full opacity, so restoring 1 on the
  animated modules is what the original renders, not a guess at what looks
  right. Scoped to the markers Divi puts on animated modules only:
  .et-waypoint and the et_pb_animation_* classes. Anything translucent by
  design, such as the footer's legal line at 0.85, carries neither marker and
  is left alone.
*/

/* Not all of them carry Divi's own .et-waypoint marker. DiviFlash animates its
   modules through its own script and leaves no marker at all, so the first
   version of this rule matched none of the thirty faded blocks: the use-cases
   intro sat on a plain .et_pb_blurb at 0.201 and the homepage's ten sat at
   0.35. Targeting the module itself is what actually reaches them.

   Content modules are not translucent by design in this build; a section that
   wants to show its background through uses a background colour with alpha,
   not module opacity. So a module below full strength here is a caught
   animation, and every one of those animations ends at 1. */
.et_pb_module,
.et_pb_module .df_inner,
.df_text_reveal_main_container,
.df_text_reveal_main_container * {
  opacity: 1 !important;
}

/* The icon spans inside an animated blurb carry the animation classes
   themselves, so they need the same treatment to sit at full strength. */
.et_pb_main_blurb_image .et-waypoint,
.et_pb_main_blurb_image .et-pb-icon {
  opacity: 1 !important;
}

/* ---- icons the compiler blanked ------------------------------------------
   Divi's icon spans carry their glyph as a real character in the markup
   (U+F0E0 envelope, U+F095 phone) and the authored rule reads
   `content: attr(data-icon)`. No data-icon attribute survived the conversion,
   so attr() resolves to an empty string and, because `content` on a regular
   element replaces that element's contents, it wiped the glyph that was
   sitting right there in the HTML.

   The contact page therefore rendered two hollow 25px boxes: the envelope as a
   clipped fragment and the phone as nothing at all, with the empty boxes and
   their 20px top margins reading as a large gap between the two rows.

   `content: normal` means "render your own contents", which restores the
   character. The FontAwesome face is already served from assets/fonts, so the
   glyph resolves rather than falling back to tofu. */
.et-pb-icon {
  content: normal !important;
}
