/*
 * Base CSS - Reporting Hub
 * Combines normalize + webflow framework utilities (sans webflow.js dependency)
 * This replaces both normalize.css and webflow.css from the original export
 */

/* ============================================================
   Reset / Normalize (based on normalize.css v3.0.3)
   ============================================================ */

html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  height: 100%;
}

body {
  margin: 0;
  min-height: 100%;
}

article, aside, details, figcaption, figure, footer, header, hgroup,
main, menu, nav, section, summary {
  display: block;
}

audio, canvas, progress, video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden], template {
  display: none;
}

a {
  background-color: transparent;
}

a:active, a:hover {
  outline: 0;
}

b, strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

small {
  font-size: 80%;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
  max-width: 100%;
  vertical-align: middle;
  display: inline-block;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 0;
  margin-bottom: 10px;
}

figcaption {
  margin-top: 5px;
  text-align: center;
}

hr {
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code, kbd, pre, samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

button, input, optgroup, select, textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button, select {
  text-transform: none;
}

button, html input[type="button"], input[type="reset"] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled], html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type='checkbox'], input[type='radio'] {
  box-sizing: border-box;
  padding: 0;
}

input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
  height: auto;
}

input[type='search'] {
  -webkit-appearance: none;
}

input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td, th {
  padding: 0;
}

/* ============================================================
   Box Sizing & Base
   ============================================================ */

* {
  box-sizing: border-box;
}

/* ============================================================
   Webflow Icon Font (needed for nav hamburger icon)
   ============================================================ */

@font-face {
  font-family: 'webflow-icons';
  src: url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBiUAAAC8AAAAYGNtYXDpP+a4AAABHAAAAFxnYXNwAAAAEAAAAXgAAAAIZ2x5ZmhS2XEAAAGAAAADHGhlYWQTFw3HAAAEnAAAADZoaGVhCXYFgQAABNQAAAAkaG10eCe4A1oAAAT4AAAAMGxvY2EDtALGAAAFKAAAABptYXhwABAAPgAABUQAAAAgbmFtZSoCsMsAAAVkAAABznBvc3QAAwAAAAAHNAAAACAAAwP4AZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpAwPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAQAAAAAwACAACAAQAAQAg5gPpA//9//8AAAAAACDmAOkA//3//wAB/+MaBBcIAAMAAQAAAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEBIAAAAyADgAAFAAAJAQcJARcDIP5AQAGA/oBAAcABwED+gP6AQAABAOAAAALgA4AABQAAEwEXCQEH4AHAQP6AAYBAAcABwED+gP6AQAAAAwDAAOADQALAAA8AHwAvAAABISIGHQEUFjMhMjY9ATQmByEiBh0BFBYzITI2PQE0JgchIgYdARQWMyEyNj0BNCYDIP3ADRMTDQJADRMTDf3ADRMTDQJADRMTDf3ADRMTDQJADRMTAsATDSANExMNIA0TwBMNIA0TEw0gDRPAEw0gDRMTDSANEwAAAAABAJ0AtAOBApUABQAACQIHCQEDJP7r/upcAXEBcgKU/usBFVz+fAGEAAAAAAL//f+9BAMDwwAEAAkAABcBJwEXAwE3AQdpA5ps/GZsbAOabPxmbEMDmmz8ZmwDmvxmbAOabAAAAgAA/8AEAAPAAB0AOwAABSInLgEnJjU0Nz4BNzYzMTIXHgEXFhUUBw4BBwYjNTI3PgE3NjU0Jy4BJyYjMSIHDgEHBhUUFx4BFxYzAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpVSktvICEhIG9LSlVVSktvICEhIG9LSlVAKCiLXl1qal1eiygoKCiLXl1qal1eiygoZiEgb0tKVVVKS28gISEgb0tKVVVKS28gIQABAAABwAIAA8AAEgAAEzQ3PgE3NjMxFSIHDgEHBhUxIwAoKIteXWpVSktvICFmAcBqXV6LKChmISBvS0pVAAAAAgAA/8AFtgPAADIAOgAAARYXHgEXFhUUBw4BBwYHIxUhIicuAScmNTQ3PgE3NjMxOAExNDc+ATc2MzIXHgEXFhcVATMJATMVMzUEjD83NlAXFxYXTjU1PQL8kz01Nk8XFxcXTzY1PSIjd1BQWlJJSXInJw3+mdv+2/7c25MCUQYcHFg5OUA/ODlXHBwIAhcXTzY1PTw1Nk8XF1tQUHcjIhwcYUNDTgL+3QFt/pOTkwABAAAAAQAAmM7nP18PPPUACwQAAAAAANciZKUAAAAA1yJkpf/9/70FtgPDAAAACAACAAAAAAAAAAEAAAPA/8AAAAW3//3//QW2AAEAAAAAAAAAAAAAAAAAAAAMBAAAAAAAAAAAAAAAAgAAAAQAASAEAADgBAAAwAQAAJ0EAP/9BAAAAAQAAAAFtwAAAAAAAAAKABQAHgAyAEYAjACiAL4BFgE2AY4AAAABAAAADAA8AAMAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADQAAAAEAAAAAAAIABwCWAAEAAAAAAAMADQBIAAEAAAAAAAQADQCrAAEAAAAAAAUACwAnAAEAAAAAAAYADQBvAAEAAAAAAAoAGgDSAAMAAQQJAAEAGgANAAMAAQQJAAIADgCdAAMAAQQJAAMAGgBVAAMAAQQJAAQAGgC4AAMAAQQJAAUAFgAyAAMAAQQJAAYAGgB8AAMAAQQJAAoANADsd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzVmVyc2lvbiAxLjAAVgBlAHIAcwBpAG8AbgAgADEALgAwd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzUmVndWxhcgBSAGUAZwB1AGwAYQByd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzRm9udCBnZW5lcmF0ZWQgYnkgSWNvTW9vbi4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") format('truetype');
  font-weight: normal;
  font-style: normal;
}

[class^="w-icon-"],
[class*=" w-icon-"] {
  font-family: 'webflow-icons' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.w-icon-nav-menu:before {
  content: "\e602";
}

.w-icon-arrow-down:before,
.w-icon-dropdown-toggle:before {
  content: "\e603";
}

/* ============================================================
   Typography Base (from webflow.css)
   ============================================================ */

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
  margin-bottom: 10px;
}

h1 { font-size: 38px; line-height: 44px; margin-top: 20px; }
h2 { font-size: 32px; line-height: 36px; margin-top: 20px; }
h3 { font-size: 24px; line-height: 30px; margin-top: 20px; }
h4 { font-size: 18px; line-height: 24px; margin-top: 10px; }
h5 { font-size: 14px; line-height: 20px; margin-top: 10px; }
h6 { font-size: 12px; line-height: 18px; margin-top: 10px; }

p {
  margin-top: 0;
  margin-bottom: 10px;
}

blockquote {
  margin: 0 0 10px 0;
  padding: 10px 20px;
  border-left: 5px solid #E2E2E2;
  font-size: 18px;
  line-height: 22px;
}

ul, ol {
  margin-top: 0;
  margin-bottom: 10px;
  padding-left: 40px;
}

/* ============================================================
   Webflow Utility Classes (used in HTML)
   ============================================================ */

.w-inline-block {
  max-width: 100%;
  display: inline-block;
}

.w-block {
  display: block;
}

.w-hidden {
  display: none;
}

.w-button {
  display: inline-block;
  padding: 9px 15px;
  background-color: #3898EC;
  color: white;
  border: 0;
  line-height: inherit;
  text-decoration: none;
  cursor: pointer;
  border-radius: 0;
}

input.w-button {
  -webkit-appearance: button;
}

.w-clearfix:before,
.w-clearfix:after {
  content: " ";
  display: table;
}

.w-clearfix:after {
  clear: both;
}

.w-list-unstyled {
  padding-left: 0;
  list-style: none;
}

.w-embed:before,
.w-embed:after {
  content: " ";
  display: table;
}

.w-embed:after {
  clear: both;
}

/* ============================================================
   Container & Layout (from webflow.css)
   ============================================================ */

.w-container {
  margin-left: auto;
  margin-right: auto;
  max-width: 940px;
}

.w-container:before,
.w-container:after {
  content: " ";
  display: table;
}

.w-container:after {
  clear: both;
}

.w-container .w-row {
  margin-left: -10px;
  margin-right: -10px;
}

.w-row:before,
.w-row:after {
  content: " ";
  display: table;
}

.w-row:after {
  clear: both;
}

.w-row .w-row {
  margin-left: 0;
  margin-right: 0;
}

.w-col {
  position: relative;
  float: left;
  width: 100%;
  min-height: 1px;
  padding-left: 10px;
  padding-right: 10px;
}

.w-col .w-col {
  padding-left: 0;
  padding-right: 0;
}

.w-col-1  { width: 8.33333333%; }
.w-col-2  { width: 16.66666667%; }
.w-col-3  { width: 25%; }
.w-col-4  { width: 33.33333333%; }
.w-col-5  { width: 41.66666667%; }
.w-col-6  { width: 50%; }
.w-col-7  { width: 58.33333333%; }
.w-col-8  { width: 66.66666667%; }
.w-col-9  { width: 75%; }
.w-col-10 { width: 83.33333333%; }
.w-col-11 { width: 91.66666667%; }
.w-col-12 { width: 100%; }

.w-hidden-main {
  display: none !important;
}

/* ============================================================
   Video (from webflow.css)
   ============================================================ */

.w-video {
  width: 100%;
  position: relative;
  padding: 0;
}

.w-video iframe,
.w-video object,
.w-video embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

/* ============================================================
   Background Video
   ============================================================ */

.w-background-video {
  position: relative;
  overflow: hidden;
  height: 500px;
  color: white;
}

.w-background-video > video {
  background-size: cover;
  background-position: 50% 50%;
  position: absolute;
  margin: auto;
  width: 100%;
  height: 100%;
  right: -100%;
  bottom: -100%;
  top: -100%;
  left: -100%;
  object-fit: cover;
  z-index: -100;
}

/* ============================================================
   Forms (from webflow.css)
   ============================================================ */

.w-form {
  margin: 0 0 15px;
}

.w-form-done {
  display: none;
  padding: 20px;
  text-align: center;
  background-color: #dddddd;
}

.w-form-fail {
  display: none;
  margin-top: 10px;
  padding: 10px;
  background-color: #ffdede;
}

label {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
}

.w-input, .w-select {
  display: block;
  width: 100%;
  height: 38px;
  padding: 8px 12px;
  margin-bottom: 10px;
  font-size: 14px;
  line-height: 1.42857143;
  color: #333333;
  vertical-align: middle;
  background-color: #ffffff;
  border: 1px solid #cccccc;
}

.w-input::placeholder, .w-select::placeholder {
  color: #999;
}

.w-input:focus, .w-select:focus {
  border-color: #3898EC;
  outline: 0;
}

.w-input[disabled], .w-select[disabled],
.w-input[readonly], .w-select[readonly],
fieldset[disabled] .w-input, fieldset[disabled] .w-select {
  cursor: not-allowed;
}

textarea.w-input, textarea.w-select {
  height: auto;
}

.w-select {
  background-color: #f3f3f3;
}

.w-form-label {
  display: inline-block;
  cursor: pointer;
  font-weight: normal;
  margin-bottom: 0;
}

.w-radio {
  display: block;
  margin-bottom: 5px;
  padding-left: 20px;
}

.w-radio-input {
  margin: 4px 0 0;
  line-height: normal;
  float: left;
  margin-left: -20px;
}

.w-checkbox {
  margin-bottom: 5px;
  padding-left: 20px;
  display: block;
}

.w-checkbox-input {
  float: left;
  margin: 4px 0 0 -20px;
  line-height: normal;
}

.w-form-formradioinput--inputType-custom {
  border: 1px solid #ccc;
  border-radius: 50%;
  width: 12px;
  height: 12px;
}

.w-form-formradioinput--inputType-custom.w--redirected-checked {
  border-width: 4px;
  border-color: #3898ec;
}

.w-checkbox-input--inputType-custom {
  border: 1px solid #ccc;
  border-radius: 2px;
  width: 12px;
  height: 12px;
}

.w-checkbox-input--inputType-custom.w--redirected-checked {
  background-color: #3898ec;
  background-image: url('https://d3e54v103j8qbb.cloudfront.net/static/custom-checkbox-checkmark.589d534424.svg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  border-color: #3898ec;
}

button, [type='button'], [type='reset'] {
  border: 0;
  cursor: pointer;
  -webkit-appearance: button;
}

/* ============================================================
   Navigation (CSS-only base - JS adds behavior)
   ============================================================ */

.w-nav {
  position: relative;
  z-index: 1000;
}

.w-nav-brand {
  position: relative;
  float: left;
  text-decoration: none;
  color: #333;
}

.w-nav-link {
  position: relative;
  display: inline-block;
  vertical-align: top;
  text-decoration: none;
  color: #222;
  padding: 20px;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
}

.w-nav-menu {
  position: relative;
  float: right;
}

.w-nav-button {
  position: relative;
  float: right;
  padding: 18px;
  font-size: 24px;
  display: none;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: rgba(0, 0, 0, 0);
  user-select: none;
}

/* ============================================================
   Dropdown (CSS-only base - JS adds behavior)
   ============================================================ */

.w-dropdown {
  display: inline-block;
  position: relative;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  z-index: 900;
}

.w-dropdown-toggle {
  position: relative;
  display: inline-block;
  vertical-align: top;
  text-decoration: none;
  color: #222;
  padding: 20px;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  white-space: nowrap;
  user-select: none;
  cursor: pointer;
}

.w-dropdown-list {
  position: absolute;
  display: none;
  background: #ddd;
  min-width: 100%;
}

.w-dropdown-list.w--open {
  display: block;
}

/* ============================================================
   Tabs (CSS-only base - JS adds behavior)
   ============================================================ */

.w-tabs {
  position: relative;
}

.w-tabs:before,
.w-tabs:after {
  content: " ";
  display: table;
}

.w-tabs:after {
  clear: both;
}

.w-tab-menu {
  position: relative;
}

.w-tab-link {
  position: relative;
  display: inline-block;
  vertical-align: top;
  text-decoration: none;
  padding: 9px 30px;
  text-align: left;
  cursor: pointer;
  color: #222;
  background-color: #ddd;
}

.w-tab-link.w--current {
  background-color: #c8c8c8;
}

.w-tab-content {
  position: relative;
  display: block;
  overflow: hidden;
}

.w-tab-pane {
  position: relative;
  display: none;
}

.w-tab-pane.w--tab-active {
  display: block;
}

/* ============================================================
   Pagination
   ============================================================ */

.w-pagination-wrapper {
  flex-wrap: wrap;
  justify-content: center;
  display: flex;
}

.w-pagination-previous, .w-pagination-next {
  color: #333;
  background-color: #fafafa;
  border: 1px solid #ccc;
  border-radius: 2px;
  margin-left: 10px;
  margin-right: 10px;
  padding: 9px 20px;
  font-size: 14px;
  display: block;
}

.w-page-count {
  text-align: center;
  width: 100%;
  margin-top: 20px;
}

/* ============================================================
   Flex Layout
   ============================================================ */

.w-layout-vflex {
  flex-direction: column;
  align-items: flex-start;
  display: flex;
}

.w-layout-hflex {
  flex-direction: row;
  align-items: flex-start;
  display: flex;
}

/* ============================================================
   Responsive Breakpoints
   ============================================================ */

@media screen and (max-width: 991px) {
  .w-container {
    max-width: 728px;
  }

  .w-hidden-main {
    display: inherit !important;
  }

  .w-hidden-medium {
    display: none !important;
  }

  /* Show mobile nav button on tablet */
  .w-nav-button {
    display: block;
  }

  /* Hide nav menu by default on mobile (shown via JS) */
  .w-nav-menu {
    display: none !important;
    float: none;
    top: 100%;
    left: 0;
    right: 0;
    overflow: visible;
    min-width: 200px;
  }

  .w-nav-menu.w--open {
    display: flex !important;
    flex-direction: column;
  }

  .w-nav-link {
    display: block;
    padding: 20px;
  }

  .w-dropdown {
    display: block;
  }

  .w-dropdown-toggle {
    display: block;
  }

  .w-col-medium-1  { width: 8.33333333%; }
  .w-col-medium-2  { width: 16.66666667%; }
  .w-col-medium-3  { width: 25%; }
  .w-col-medium-4  { width: 33.33333333%; }
  .w-col-medium-5  { width: 41.66666667%; }
  .w-col-medium-6  { width: 50%; }
  .w-col-medium-7  { width: 58.33333333%; }
  .w-col-medium-8  { width: 66.66666667%; }
  .w-col-medium-9  { width: 75%; }
  .w-col-medium-10 { width: 83.33333333%; }
  .w-col-medium-11 { width: 91.66666667%; }
  .w-col-medium-12 { width: 100%; }

  .w-col-stack {
    width: 100%;
    left: auto;
    right: auto;
  }
}

@media screen and (max-width: 767px) {
  .w-hidden-main,
  .w-hidden-medium {
    display: inherit !important;
  }

  .w-hidden-small {
    display: none !important;
  }

  .w-row, .w-container .w-row {
    margin-left: 0;
    margin-right: 0;
  }

  .w-col {
    width: 100%;
    left: auto;
    right: auto;
  }

  .w-col-small-1  { width: 8.33333333%; }
  .w-col-small-2  { width: 16.66666667%; }
  .w-col-small-3  { width: 25%; }
  .w-col-small-4  { width: 33.33333333%; }
  .w-col-small-5  { width: 41.66666667%; }
  .w-col-small-6  { width: 50%; }
  .w-col-small-7  { width: 58.33333333%; }
  .w-col-small-8  { width: 66.66666667%; }
  .w-col-small-9  { width: 75%; }
  .w-col-small-10 { width: 83.33333333%; }
  .w-col-small-11 { width: 91.66666667%; }
  .w-col-small-12 { width: 100%; }
}

@media screen and (max-width: 479px) {
  .w-container {
    max-width: none;
  }

  .w-hidden-main,
  .w-hidden-medium,
  .w-hidden-small {
    display: inherit !important;
  }

  .w-hidden-tiny {
    display: none !important;
  }

  .w-col {
    width: 100%;
  }

  .w-col-tiny-1  { width: 8.33333333%; }
  .w-col-tiny-2  { width: 16.66666667%; }
  .w-col-tiny-3  { width: 25%; }
  .w-col-tiny-4  { width: 33.33333333%; }
  .w-col-tiny-5  { width: 41.66666667%; }
  .w-col-tiny-6  { width: 50%; }
  .w-col-tiny-7  { width: 58.33333333%; }
  .w-col-tiny-8  { width: 66.66666667%; }
  .w-col-tiny-9  { width: 75%; }
  .w-col-tiny-10 { width: 83.33333333%; }
  .w-col-tiny-11 { width: 91.66666667%; }
  .w-col-tiny-12 { width: 100%; }
}
