/* Base styles shared by every page: what WordPress, the theme and Contact Form 7 used to provide. */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; }
img, video { max-width: 100%; height: auto; }

/* Contact Form 7 defaults (the pages' own CSS builds on these) */
.wpcf7 .hidden-fields-container, .wpcf7 .ic-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.wpcf7-form-control-wrap { position: relative; }
.wpcf7 form .wpcf7-response-output { margin: 2em .5em 1em; padding: .2em 1em; border: 2px solid #00a0d2; }
.wpcf7 form.init .wpcf7-response-output, .wpcf7 form.submitting .wpcf7-response-output { display: none; }
.wpcf7 form.sent .wpcf7-response-output { border-color: #46b450; }
.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.invalid .wpcf7-response-output { border-color: #dc3232; }
.wpcf7-spinner { visibility: hidden; display: inline-block; background-color: #23282d; opacity: .75; width: 24px; height: 24px; border: none; border-radius: 100%; padding: 0; margin: 0 24px; position: relative; vertical-align: middle; }
form.submitting .wpcf7-spinner { visibility: visible; }
.wpcf7-spinner::before { content: ''; position: absolute; background-color: #fbfbfc; top: 4px; left: 4px; width: 6px; height: 6px; border: none; border-radius: 100%; transform-origin: 8px 8px; animation: wpcf7-spin 1000ms linear infinite; }
@keyframes wpcf7-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.wpcf7 input[type="file"] { cursor: pointer; }
.wpcf7 input[type="submit"]:disabled { cursor: default; opacity: .7; }

/* Header/footer "Get the Audit" button on landing pages (its styles were scoped to .ic-home) */
.ic-header .ic-btn, .ic-footer .ic-btn { display: inline-flex; align-items: center; gap: 8px; font-family: 'Cabinet Grotesk', 'Helvetica Neue', Arial, sans-serif; font-weight: 700; font-size: 15px; padding: 12px 22px; border-radius: 999px; border: 1.5px solid transparent; cursor: pointer; line-height: 1; transition: transform .15s ease, background .15s ease; }
.ic-header .ic-btn-primary, .ic-footer .ic-btn-primary { background: #E8530A; color: #fff; }
.ic-header .ic-btn-primary:hover, .ic-footer .ic-btn-primary:hover { background: #cf4806; transform: translateY(-2px); }
