
/* Site-wide styling improvements */
html.js body { opacity: 1; }
#ajax-loading-screen,
#ajax-loading-screen .mask-top,
#ajax-loading-screen .mask-right,
#ajax-loading-screen .mask-bottom,
#ajax-loading-screen .mask-left,
.ns-loading-cover { display: none !important; opacity: 0 !important; pointer-events: none !important; }
html, body, .ocm-effect-wrap, .ocm-effect-wrap-inner, #ajax-content-wrap {
  opacity: 1 !important; visibility: visible !important;
}
html:not(.page-trans-loaded) { background: #fff !important; }
#wm-ipp-base, .wbann, #donato, .wayback-banner { display: none !important; }

body, .container-wrap, .main-content {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.main-content .wpb_text_column,
.main-content .wpb_text_column p {
  font-size: 16px;
  line-height: 1.75;
  color: #4a4a4a;
}

.main-content h2, .main-content h3, .main-content h4 {
  color: #222;
  line-height: 1.3;
  margin-top: 1.5em;
  margin-bottom: 0.75em;
}

.img-with-aniamtion-wrap img,
.wpb_single_image img,
.vc_single_image-img {
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.wpb_row.vc_row-fluid {
  margin-left: auto;
  margin-right: auto;
}

.portfolio-items .col, .wpb_column {
  margin-bottom: 24px;
}

#header-outer nav .sf-menu > li.megamenu > .sub-menu {
  display: flex;
  flex-wrap: wrap;
  min-width: 560px;
  padding: 12px;
  gap: 8px;
}

#header-outer nav .sf-menu > li.megamenu > .sub-menu > li {
  flex: 1 1 120px;
  text-align: center;
}

#header-outer nav .sf-menu > li.megamenu > .sub-menu a {
  padding: 8px;
}

.nectar-video-wrap video,
.nectar-video-bg {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.home-wrap .row_col_wrap_12,
.vc_row-fluid .row_col_wrap_12 {
  align-items: center;
}

.contact-form input[type=text],
.contact-form input[type=email],
.contact-form textarea,
.wpcf7-form input,
.wpcf7-form textarea {
  width: 100%;
  max-width: 100%;
  padding: 12px 14px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 15px;
  margin-bottom: 12px;
  font-family: inherit;
}

.contact-form input:focus,
.contact-form textarea:focus,
.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
  outline: none;
  border-color: #3452ff;
  box-shadow: 0 0 0 3px rgba(52,82,255,.15);
}

.divider { clear: both; }

@media (max-width: 690px) {
  .container { padding: 0 16px; }
  .container-wrap { padding: 32px 0; }
  #header-outer nav .sf-menu > li > a { padding: 10px 12px; font-size: 13px; }
  #header-outer nav .sf-menu > li.megamenu > .sub-menu {
    min-width: 100%;
    flex-direction: column;
  }
}
