.flex_block_module {
  position: relative;
  padding-top: 60px;
  padding-bottom: 30px;
  background-color: #fff;
  transition: background-color 200ms;
  overflow: hidden; }
  .flex_block_module.npt {
    padding-top: 0 !important; }
  .flex_block_module.npb {
    padding-bottom: 0; }
  .flex_block_module.has_background {
    display: flex;
    flex-direction: column;
    justify-content: center; }
  @media (min-width: 768px) {
    .flex_block_module.pattern_left::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 400px;
      height: 650px;
      background-repeat: no-repeat;
      background-position: left top;
      background-size: auto 100%;
      pointer-events: none; }
    .flex_block_module.pattern_left.pattern_dark_green::before {
      background-image: url("../../../img/Pattern_Green_Edge.svg"); }
    .flex_block_module.pattern_left.pattern_light_blue::before {
      background-image: url("../../../img/Pattern_Light_Blue_Edge.svg"); }
    .flex_block_module.pattern_left.pattern_light_green::before {
      background-image: url("../../../img/Pattern_Light_Green_Edge.svg"); }
    .flex_block_module.pattern_left.pattern_dark_blue::before {
      background-image: url("../../../img/Pattern_Dark_Blue_Edge.svg"); } }
  @media (min-width: 768px) {
    .flex_block_module.pattern_right::before {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      width: 400px;
      height: 650px;
      background-repeat: no-repeat;
      background-position: right top;
      background-size: auto 100%;
      pointer-events: none; }
    .flex_block_module.pattern_right.pattern_dark_green::before {
      background-image: url("../../../img/Pattern_Green_Edge.svg"); }
    .flex_block_module.pattern_right.pattern_light_blue::before {
      background-image: url("../../../img/Pattern_Light_Blue_Edge.svg"); }
    .flex_block_module.pattern_right.pattern_light_green::before {
      background-image: url("../../../img/Pattern_Light_Green_Edge.svg"); }
    .flex_block_module.pattern_right.pattern_dark_blue::before {
      background-image: url("../../../img/Pattern_Dark_Blue_Edge.svg"); } }
  .flex_block_module.ept {
    padding-top: 100px; }
    @media (min-width: 768px) {
      .flex_block_module.ept {
        padding-top: 200px; }
        .flex_block_module.ept.pattern_left::before, .flex_block_module.ept.pattern_right::before {
          top: 150px; } }
  .flex_block_module .background_icon_fixed {
    position: absolute;
    top: 12%;
    margin-top: 120px;
    left: 45%;
    width: 100%;
    max-width: 800px;
    z-index: 1;
    opacity: 0.8; }
    .flex_block_module .background_icon_fixed img {
      position: relative;
      width: 100%;
      height: Auto; }
  .flex_block_module .background_image_covered {
    display: none;
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    z-index: 1;
    overflow: hidden; }
    .flex_block_module .background_image_covered .img-cover {
      display: none; }
      @media (min-width: 992px) {
        .flex_block_module .background_image_covered .img-cover {
          display: block; } }
    .flex_block_module .background_image_covered.half_background {
      width: 50%; }
      .flex_block_module .background_image_covered.half_background.right {
        left: auto;
        right: 0; }
  .flex_block_module .split_background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0 !important; }
    .flex_block_module .split_background .left_half,
    .flex_block_module .split_background .right_half {
      opacity: 0; }
      @media (min-width: 992px) {
        .flex_block_module .split_background .left_half,
        .flex_block_module .split_background .right_half {
          opacity: 1; } }
  .flex_block_module > div {
    position: relative;
    z-index: 2; }
  .flex_block_module.block_active .background_image_covered {
    display: block; }

@media (min-width: 768px) {
  .flex_block_module {
    padding-top: 60px;
    padding-bottom: 30px; }
    .flex_block_module .background_icon_fixed {
      left: 45%;
      width: 50%; } }
