/* Static and responsive compatibility fixes for the original WordPress design. */

/* WPBakery normally reveals these blocks with JavaScript while scrolling. A
   static document must remain readable even if that animation does not run. */
.wpb_animate_when_almost_visible,
.wpb_animate_when_almost_visible:not(.wpb_start_animation) {
  opacity: 1 !important;
  visibility: visible !important;
}

/* The finished state is identical to the WordPress entrance animation. Keeping
   it fixed there avoids rows being left translated off-screen when opened from
   a static host, a slow connection, or a reduced-motion browser. */
.wpb_animate_when_almost_visible,
.wpb_start_animation,
.animated {
  transform: none !important;
  animation: none !important;
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
}

.wpb_single_image .vc_single_image-img {
  display: inline-block !important;
}

/* An image with no file (e.g. Director Desk) is hidden in WordPress; never
   show it as a broken-image icon. */
.wpb_single_image .vc_single_image-img[src=""] {
  display: none !important;
}

/* The source image and text stay identical; these rules only prevent narrow
   screens from inheriting fixed desktop widths from Visual Composer. */
.page-content .container,
.page-content .vc_row,
.page-content .wpb_wrapper {
  max-width: 100%;
}

@media (max-width: 991px) {
  .header_view-style_3 .header__content,
  .header_view-style_3 .stm-nav {
    max-width: 100%;
  }

  .vc_row-o-content-middle > .container > .vc_column_container,
  .page-content .vc_column_container {
    min-width: 0;
  }

  .page-content .vc_column-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

@media (max-width: 767px) {
  .top_bar .top_bar__inner {
    padding-left: 15px;
    padding-right: 15px;
  }

  .logo img,
  .header-mobile .logo img {
    width: auto;
    max-width: calc(100vw - 85px);
    max-height: 92px;
    object-fit: contain;
  }

  .page-content p,
  .page-content li {
    overflow-wrap: anywhere;
  }

  .page-content .vc_single_image-wrapper,
  .page-content .vc_single_image-wrapper img {
    width: 100%;
  }

  /* Some older Visual Composer rows store 30px desktop margins directly on
     the column-inner element. On phones that pushes otherwise wrapped text
     beyond the right edge, so remove only those mobile margins. */
  .content_type_vc .vc_column-inner[class*="vc_custom"] {
    width: auto !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .sidebar-area,
  .widget_nav_menu {
    width: 100%;
  }

  .footer .widget,
  .footer .footer-widgets > div {
    min-width: 0;
  }
}

@media (max-width: 480px) {
  .page-content .vc_column-inner {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .page-content p {
    line-height: 1.7;
  }
}
