/* Scoped to the campaign so the host site's header and footer keep their styles. */
body { margin: 0; }
.wifi8-promo { color: #202629; background: #fff; font: 16px/1.6 Arial, Helvetica, sans-serif; }
.wifi8-promo *, .wifi8-promo *::before, .wifi8-promo *::after { box-sizing: border-box; }
.wifi8-promo h1, .wifi8-promo h2, .wifi8-promo h3, .wifi8-promo p { padding: 0; }
.wifi8-promo a { color: #006b80; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.wifi8-promo a:hover { color: #003c49; }
.wifi8-promo :focus-visible { outline: 3px solid #006779; outline-offset: 4px; }
.wifi8-banner picture, .wifi8-banner img { display: block; width: 100%; }
.wifi8-banner img { height: auto; }
.wifi8-container { width: min(100% - 80px, 1160px); margin-inline: auto; }
.wifi8-copy { padding-block: 48px 58px; }
.wifi8-terms-link { display: inline-block; margin-bottom: 24px; font-size: 14px; }
.wifi8-promo h1 { margin: 0 0 24px; font-size: clamp(26px, 2.3vw, 36px); line-height: 1.25; font-weight: 700; }
.wifi8-promo h2 { margin: 30px 0 16px; font-size: 26px; line-height: 1.3; font-weight: 700; }
.wifi8-promo p { margin: 0 0 18px; }
.wifi8-promo ul, .wifi8-promo ol { list-style-position: outside; margin: 0 0 22px; padding-left: 26px; }
.wifi8-promo ul { list-style-type: disc; }
.wifi8-promo ol { list-style-type: decimal; }
.wifi8-promo li { padding-left: 3px; margin-bottom: 6px; }
.wifi8-promo ul ul { margin-bottom: 0; list-style-type: circle; }
.wifi8-promo .wifi8-redeem-heading { margin-top: 40px; }
.wifi8-steps > li { margin-bottom: 24px; }
.wifi8-steps > li::marker { font-weight: 700; }
.wifi8-steps h3 { display: inline; margin: 0; font-size: 17px; font-weight: 700; }
.wifi8-steps p { margin: 2px 0 14px; }
.wifi8-disclaimer { font-style: italic; }
.wifi8-form-section { background: #88cbd7; padding: 48px 0 58px; scroll-margin-top: 24px; }
.wifi8-form-container { width: min(100% - 80px, 850px); margin-inline: auto; }
.wifi8-promo #wifi8-form-heading { margin-top: 0; font-size: 30px; }
.wifi8-form-intro { font-size: 14px; }
.wifi8-availability { padding: 12px 16px !important; background: #ffffffa6; border-left: 3px solid #006b80; font-size: 14px; }
.wifi8-promo fieldset { min-width: 0; margin: 28px 0 0; padding: 0; border: 0; }
.wifi8-promo legend { float: none; width: 100%; margin: 0 0 18px; padding: 0; font-size: 25px; line-height: 1.3; font-weight: 400; color: #233e45; }
.wifi8-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 19px 30px; }
.wifi8-full { grid-column: 1 / -1; }
.wifi8-field { min-width: 0; }
.wifi8-field label { display: block; margin-bottom: 6px; font-size: 14px; line-height: 1.4; }
.wifi8-optional { font-size: 12px; }
.wifi8-field input, .wifi8-field select, .wifi8-field textarea { display: block; width: 100%; min-width: 0; min-height: 44px; height: auto; margin: 0; padding: 10px 12px; border: 1px solid #adcbd1; border-radius: 4px; background: #fff; color: #202629; font: inherit; font-size: 16px; line-height: 1.4; box-shadow: none; }
.wifi8-field select { appearance: auto; }
.wifi8-field textarea { resize: vertical; }
.wifi8-field input[readonly] { background: #e9f5f7; color: #35535a; }
.wifi8-field input:focus, .wifi8-field select:focus, .wifi8-field textarea:focus { border-color: #006b80; }
.wifi8-field input[type="file"] { padding: 0; border: 0; background: transparent; border-radius: 0; font-size: 14px; }
.wifi8-field input[type="file"]::file-selector-button { min-height: 42px; padding: 10px 16px; margin-right: 12px; border: 0; border-radius: 3px; background: #ffe000; color: #202629; font: inherit; font-weight: 700; cursor: pointer; }
.wifi8-attachments .wifi8-field { margin-bottom: 20px; }
.wifi8-attachments p { font-size: 13px; }
.wifi8-consent { display: flex; align-items: flex-start; gap: 10px; margin: 26px 0 22px; font-size: 14px; cursor: pointer; }
.wifi8-consent input { flex: 0 0 auto; width: 18px; height: 18px; margin: 3px 0 0; accent-color: #006b80; appearance: auto; }
.wifi8-submit { min-width: 180px; min-height: 46px; padding: 12px 30px; border: 0; border-radius: 4px; background: #006b80; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.wifi8-submit:disabled { background: #e6edef; color: #586b70; cursor: not-allowed; }
.wifi8-form-status { margin-top: 14px !important; font-size: 14px; }
.wifi8-promo [hidden] { display: none !important; }
.wifi8-secondary { display: block; margin: 12px 0; padding: 10px 14px; background: #fff; border: 1px solid #006b80; border-radius: 4px; color: #006b80; font: inherit; cursor: pointer; }
.wifi8-promo [aria-busy="true"] { cursor: progress; }
.wifi8-terms-section { padding-block: 32px 48px; }
.wifi8-promo details { scroll-margin-top: 24px; }
.wifi8-promo summary { display: list-item; padding: 12px 0; font-size: 18px; font-weight: 700; cursor: pointer; }
.wifi8-terms-body { padding-top: 20px; font-size: 14px; }
.wifi8-terms-body li { margin-bottom: 14px; }
@media (max-width: 767px) {
  .wifi8-container, .wifi8-form-container { width: calc(100% - 40px); }
  .wifi8-copy { padding-block: 30px 36px; }
  .wifi8-promo { font-size: 15px; }
  .wifi8-promo h2 { font-size: 23px; }
  .wifi8-promo h1 { font-size: 27px; }
  .wifi8-grid { grid-template-columns: 1fr; gap: 18px; }
  .wifi8-form-section { padding-block: 32px 38px; }
  .wifi8-promo legend { font-size: 23px; }
  .wifi8-submit { width: 100%; }
}
