/* Things the old theme's JavaScript used to do, done in CSS instead. */

/* Entrance animations: content started hidden until a script revealed it. */
.fusion-animated, [data-animationtype] { visibility: visible !important; opacity: 1 !important; animation: none !important; }

/* Static first slide in place of Revolution Slider. */
.static-hero { background-size: cover; background-position: center center; min-height: 380px; display: flex; align-items: center; width: 100%; max-width: 100%; box-sizing: border-box; }
/* width is explicit so aspect-ratio + min-height can't widen the hero past the screen on phones */
.static-hero-inner { min-width: 0; box-sizing: border-box; max-width: 1170px; margin: 0 auto; padding: 0 30px; width: 100%; }
.static-hero-inner p { max-width: 560px; color: #fff; font-family: Montserrat, Arial, Helvetica, sans-serif; font-size: 20px; line-height: 30px; background: rgba(3, 83, 160, .85); padding: 20px 25px; margin: 0; }

/* Lead form honeypot: off-screen, never seen by people. */
.lead-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.wpcf7-response-output[hidden] { display: none; }
form.sent .wpcf7-response-output { border: 2px solid #46b450; }
form.failed .wpcf7-response-output, form.invalid .wpcf7-response-output { border: 2px solid #dc3232; }

/* Lazy-load placeholders are gone; never hide images waiting for a script. */
img.lazyload, img.lazyloading, .lazyload { opacity: 1 !important; visibility: visible !important; }

/* Font Awesome 4.7 icon font, self-hosted (the old sites loaded it from use.fontawesome.com). */
@font-face { font-family: 'FontAwesome'; src: url('/fonts/fa4/fontawesome-webfont.woff2') format('woff2'), url('/fonts/fa4/fontawesome-webfont.woff') format('woff'); font-weight: normal; font-style: normal; font-display: block; }
@font-face { font-family: 'fontawesome'; src: url('/fonts/fa4/fontawesome-webfont.woff2') format('woff2'), url('/fonts/fa4/fontawesome-webfont.woff') format('woff'); font-weight: normal; font-style: normal; font-display: block; }

/* WordPress theme page preloaders: their hide-on-load script is not carried over, so they would cover the page forever. */
#ct-loadding,.ct-loader,#preloader,.preloader,#page-preloader,.page-loader,#loader-wrapper,.site-loader{display:none!important}

/* Oxygen menu up to 1200px: full-screen white list opened by the "Menu" button (see site.js). */
.oxy-pro-menu-mobile-open-icon, .oxy-pro-menu-mobile-close-icon { cursor: pointer; }
.oxy-pro-menu.oxy-pro-menu-open .oxy-pro-menu-list a { display: block; padding: 14px 20px; color: #222; font-family: Montserrat, Arial, Helvetica, sans-serif; font-size: 18px; text-transform: uppercase; text-align: center; }
.oxy-pro-menu.oxy-pro-menu-open .oxy-pro-menu-list .current-menu-item > a { color: #222; border-bottom: 2px solid #f7941d; }
/* The Services list stays open so every link is visible without a second tap. */
.oxy-pro-menu.oxy-pro-menu-open .oxy-pro-menu-list .sub-menu { display: flex !important; visibility: visible; opacity: 1; position: static; }
.oxy-pro-menu.oxy-pro-menu-open .oxy-pro-menu-list .sub-menu a { font-size: 16px; text-transform: none; color: #444; }
.oxy-pro-menu.oxy-pro-menu-open .oxy-pro-menu-mobile-close-icon { position: fixed; top: 16px; right: 16px; z-index: 2147483643; color: #222; font-family: Montserrat, Arial, Helvetica, sans-serif; font-size: 16px; gap: 6px; }

/* Contact page form, shown on the page (it used to open in a popup). */
.contact-inline { padding: 40px 0 60px; }
.contact-inline .ct-section-inner-wrap { max-width: 760px; margin: 0 auto; padding: 0 20px; box-sizing: border-box; }
.contact-inline h2 { font-family: Montserrat, Arial, Helvetica, sans-serif; font-size: 28px; line-height: 1.2; margin: 0 0 20px; color: #222; }
.contact-inline .fusion-columns::after { content: ""; display: table; clear: both; }
.contact-inline .column-half1, .contact-inline .column-half2, .contact-inline .column-full { box-sizing: border-box; }
.contact-inline .wpcf7-form-control-wrap { display: block; }
.contact-inline p { margin: 0; }
.contact-inline input[type="text"], .contact-inline input[type="email"], .contact-inline input[type="number"], .contact-inline textarea { width: 100%; box-sizing: border-box; border: 1px solid #aaa; border-radius: 3px; padding: 10px 12px; font-size: 16px; font-family: Roboto, Arial, Helvetica, sans-serif; background: #fff; color: #222; }
.contact-inline .wpcf7-submit { background: #f7941d; color: #222; border: 0; border-radius: 3px; padding: 14px 32px; font-size: 16px; font-weight: 700; font-family: Montserrat, Arial, Helvetica, sans-serif; cursor: pointer; margin: 5px; }
@media (max-width: 600px) { .contact-inline .column-half1, .contact-inline .column-half2 { width: 100%; float: none; } }

/* Blog posts: the "On This Page" list built from the post's headings. */
.oxel_toc__container { margin-bottom: 20px; border: 1px solid #dee1e3; }
.oxel_toc__container a { display: block; padding: 6px 12px; color: #374047; font-family: Roboto, Arial, Helvetica, sans-serif; font-size: 15px; line-height: 1.4; text-decoration: none; }
.oxel_toc__container a:hover { text-decoration: underline; }
.oxel_toc__container a.oxel_toc__sub { padding-left: 28px; font-size: 14px; }

/* Logos keep their proportions; email links may break instead of overflowing on phones. */
#image-124-10, #image-134-10 { height: auto !important; }
a[href^="mailto:"] { overflow-wrap: anywhere; }
