/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
html {
    line-height: 1.15;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

aside, header, section {
    display: block
}

main {
    display: block
}

a {
    background-color: transparent;
    -webkit-text-decoration-skip: objects
}

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

audio, video {
    display: inline-block
}

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

img {
    border-style: none
}

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

button, input, select, textarea {
    font-family: sans-serif;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button, input {
    overflow: visible
}

button, select {
    text-transform: none
}

[type=reset], [type=submit], button, html [type=button] {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

textarea {
    overflow: auto
}

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

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

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

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

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

[hidden], template {
    display: none
}

html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-family: sans-serif
}

*, :after, :before {
    -webkit-box-sizing: inherit;
    box-sizing: inherit
}

dl, h3 {
    margin: 0
}

button {
    background: transparent;
    padding: 0
}

button:focus {
    outline: 1px dotted;
    outline: 5px auto -webkit-focus-ring-color
}

fieldset {
    margin: 0;
    padding: 0
}

ul {
    margin: 0
}

[tabindex="-1"]:focus {
    outline: none !important
}

*, :after, :before {
    border: 0 solid #e3e3e3
}

img {
    border-style: solid
}

[type=button], [type=reset], [type=submit], button {
    border-radius: 0
}

textarea {
    resize: vertical
}

button, input, select, textarea {
    font-family: inherit
}

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
    color: inherit;
    opacity: .5
}

input:-ms-input-placeholder, input::-ms-input-placeholder, textarea:-ms-input-placeholder, textarea::-ms-input-placeholder {
    color: inherit;
    opacity: .5
}

input::placeholder, textarea::placeholder {
    color: inherit;
    opacity: .5
}

[role=button], button {
    cursor: pointer
}

.container {
    width: 100%
}

@media (min-width:576px) {
    .container {
        max-width: 576px
    }
}

@media (min-width:768px) {
    .container {
        max-width: 768px
    }
}

@media (min-width:992px) {
    .container {
        max-width: 992px
    }
}

@media (min-width:1200px) {
    .container {
        max-width: 1200px
    }
}

@media (min-width:1440px) {
    .container {
        max-width: 1440px
    }
}

body {
    font-size: 1rem;
    font-family: system-ui, BlinkMacSystemFont, -apple-system, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
    color: #14181c;
    color: #646464;
    line-height: 1.5;
    font-family: Gotham Narrow A, Gotham Narrow B, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

body.comic-sans {
    font-family: Comic Sans MS, cursive
}

img {
    height: auto;
    max-width: 100%
}

a {
    text-decoration: none;
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    -webkit-transition-property: color, background-color, border, -webkit-text-decoration;
    transition-property: color, background-color, border, -webkit-text-decoration;
    transition-property: color, background-color, border, text-decoration;
    transition-property: color, background-color, border, text-decoration, -webkit-text-decoration
}

a, a:link, a:visited {
    color: #005aab
}

a:active, a:hover {
    color: #fad448
}

.h3, h3 {
    font-weight: 700;
    margin-bottom: 1rem;
    font-family: system-ui, BlinkMacSystemFont, -apple-system, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
    color: #aa202c
}

.h3, h3 {
    font-size: 1.5rem
}

ul {
    margin-bottom: 1rem
}

ul {
    padding-left: 1.25rem
}

ul li {
    margin-bottom: .25rem
}

ul ul {
    margin-top: .25rem;
    margin-bottom: .5rem
}

.css-debug-outline * {
    outline: 1px solid red
}

.map {
    margin-bottom: .5rem
}

.is-ie .map {
    height: 400px;
    width: 710px
}

@media (min-width:768px) {
    .map {
        margin-bottom: 0
    }
}

.map-path-group {
    height: 100%;
    stroke-width: 1;
    width: 100%
}

.hover-label {
    background-color: #fff;
    border: 3px solid #333;
    border-radius: 50%;
    color: #333;
    font-size: 14px;
    font-weight: 700;
    height: 30px;
    line-height: 24px;
    padding: 0;
    pointer-events: none;
    position: fixed;
    text-align: center;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 30px;
    z-index: 1000
}

.location-details-wrap {
    background-color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: relative;
    margin-bottom: 1rem;
    opacity: 0;
    -webkit-transition: opacity .25s ease-in-out;
    transition: opacity .25s ease-in-out
}

@media (min-width:768px) {
    .location-details-wrap {
        position: absolute;
        margin-bottom: 0;
        right: -53%;
        top: 5%;
        -webkit-transition: all .3s ease-in-out;
        transition: all .3s ease-in-out;
        width: 50%
    }
}

.location-details-wrap.open {
    opacity: 1;
    padding-top: 12.5px
}

@media (min-width:768px) {
    .location-details-wrap.open {
        overflow: visible;
        -webkit-transform: translateX(-106%);
        transform: translateX(-106%)
    }
}

.location-details-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #005aab;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: 12.5px
}

.location-details-name {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    font-size: 1.5rem;
    font-weight: 700
}

.location-details-close {
    background-color: #fff;
    border-radius: 50%;
    font-size: 13px;
    height: 25px;
    line-height: 17px;
    position: absolute;
    right: 0;
    top: -12.5px;
    width: 25px;
    color: #86aed2;
    border-width: 4px;
    border-color: #86aed2
}

.accordion-header {
    background-color: #646464;
    color: #fff;
    padding: .5rem 1rem;
    margin-bottom: .25rem;
    cursor: pointer
}

.location-details-accordion-item.open .accordion-header {
    background-color: #005aab
}

.accordion-body {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
    text-align: center;
    overflow: hidden;
    height: 0
}

.accordion-body .details-header {
    text-transform: uppercase;
    font-size: .875rem;
    padding-bottom: 1rem;
    width: 33.33333%
}

.accordion-body .data-point {
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1;
    padding-bottom: 1rem;
    width: 33.33333%
}

.accordion-body .data-point-label {
    font-weight: 700;
    font-size: .875rem;
    text-transform: lowercase;
    padding-bottom: 1rem;
    width: 33.33333%
}

.map-filters {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-left: auto;
    margin-right: auto;
    width: 60%
}

@media (min-width:576px) {
    .map-filters {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row
    }
}

.map-filters select {
    border: 1px solid #ccc;
    height: 40px;
    margin: 2%;
    width: 96%;
    text-align-last: center
}

@media (min-width:576px) {
    .map-filters select {
        width: 48%
    }
}

.button-embed {
    padding: .75rem;
    background-color: #d9d9d9;
    color: #646464;
    font-weight: 300;
    border-radius: .25rem
}

.button-embed:hover {
    opacity: .75
}

.textarea-embed {
    background-color: #e3e3e3;
    border-width: 2px;
    border-color: #b4b4b4;
    margin-top: .75rem;
    margin-bottom: .75rem;
    padding: .75rem;
    color: #646464;
    font-size: .875rem
}

.legal {
    font-size: .75rem;
    padding-top: .25rem;
    padding-bottom: .25rem;
    line-height: 1.25
}

.logo {
    margin-left: 1rem;
    width: 125px
}

.map-legend-wrap {
    white-space: nowrap
}

@media (min-width:768px) {
    .map-legend-wrap {
        position: absolute;
        padding-top: .75rem;
        padding-bottom: .75rem;
        bottom: 10%;
        left: 5%
    }
}

.map-legend {
    background-color: #fff;
    font-size: .75rem;
    font-weight: 700;
    height: 0;
    overflow: hidden
}

@media (min-width:768px) {
    .map-legend {
        position: absolute;
        bottom: 100%;
        min-width: 200px;
        -webkit-transition: height .25s ease-in-out;
        transition: height .25s ease-in-out
    }
}

.map-legend-wrap.open>.map-legend {
    height: 176px
}

.map-legend .list-reset {
    padding: .75rem;
    margin-bottom: 0
}

.map-legend-icon {
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    margin-right: 1rem
}

.map-legend-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: .5rem
}

.map-legend-label {
    color: #005aab;
    font-weight: 700;
    padding: .75rem;
    background-color: #fff;
    display: inline
}

.migration-map-wrap {
    margin: 0 auto;
    max-width: 100%;
    padding: 30px;
    width: 1060px
}

@media (max-width:445px) {
    .migration-map-wrap {
        padding: 30px 0
    }
}

.map-wrap {
    position: relative
}

.is-ie .map-wrap {
    margin-left: auto;
    margin-right: auto;
    width: 710px
}

.location {
    stroke: #fff;
    stroke-width: 1.5
}

@media (min-width:576px) {
    .location {
        cursor: pointer
    }
}

.location.no-demographics {
    cursor: not-allowed
}

@media (min-width:576px) {
    .location:hover {
        opacity: .8
    }
}

.fill-high-inbound {
  fill: #155ea7;
}

.fill-medium-inbound {
  fill: #86aed2;
}

.fill-balanced {
    fill: #cfcfcf
}

.fill-medium-outbound {
  fill: #fce58c;
}

.fill-high-outbound {
  fill: #fad448;
}
.bg-high-inbound {
    background-color: #155ea7
}

.bg-medium-inbound {
    background-color: #86aed2
}

.bg-balanced {
    background-color: #cfcfcf
}

.bg-medium-outbound {
    background-color: #fce58c
}

.bg-high-outbound {
    background-color: #fad448
}

.year-paginator-button {
    position: absolute;
    font-size: 2.5rem;
    height: 2.5rem;
    line-height: 1em;
    margin-top: -.5em;
    top: 50%
}

.year-paginator-button.next {
    right: -25px
}

.year-paginator-button.previous {
    left: -25px
}

.year-paginator-button.disabled {
    opacity: .5;
    cursor: not-allowed
}

.list-reset {
    list-style: none;
    padding: 0
}

.border {
    border-width: 1px
}

.inline-block {
    display: inline-block
}

.table {
    display: table
}

.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.items-end {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
}

.items-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.clearfix:after {
    content: "";
    display: table;
    clear: both
}

.font-bold {
    font-weight: 700
}

.mr-2 {
    margin-right: .5rem
}

.mb-2 {
    margin-bottom: .5rem
}

.mb-4 {
    margin-bottom: 1rem
}

.mr-auto {
    margin-right: auto
}

.opacity-0 {
    opacity: 0
}

.opacity-50 {
    opacity: .5
}

.overflow-hidden {
    overflow: hidden
}

.pl-2 {
    padding-left: .5rem
}

.pointer-events-none {
    pointer-events: none
}

.fixed {
    position: fixed
}

.relative {
    position: relative
}

.resize {
    resize: both
}

.text-center {
    text-align: center
}

.text-right {
    text-align: right
}

.text-theme-1 {
    color: #005aab
}

.text-sm {
    font-size: .875rem
}

.w-full {
    width: 100%
}

.sr-only {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px
}

/*# sourceMappingURL=main.css.map*/