/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document ========================================================================== */
/** 1. Correct the line height in all browsers. 2. Prevent adjustments of font size after orientation changes in iOS. */
html { line-height: 1.15; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ }

/* Sections ========================================================================== */
/** Remove the margin in all browsers. */
body { margin: 0; }

/** Render the `main` element consistently in IE. */
main { display: block; }

/** Correct the font size and margin on `h1` elements within `section` and `article` contexts in Chrome, Firefox, and Safari. */
h1 { font-size: 2em; margin: 0.67em 0; }

/* Grouping content ========================================================================== */
/** 1. Add the correct box sizing in Firefox. 2. Show the overflow in Edge and IE. */
hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ }

/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
pre { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

/* Text-level semantics ========================================================================== */
/** Remove the gray background on active links in IE 10. */
a { background-color: transparent; }

/** 1. Remove the bottom border in Chrome 57- 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */
abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ text-decoration: underline dotted; /* 2 */ }

/** Add the correct font weight in Chrome, Edge, and Safari. */
b, strong { font-weight: bolder; }

/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

/** Add the correct font size in all browsers. */
small { font-size: 80%; }

/** Prevent `sub` and `sup` elements from affecting the line height in all browsers. */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sub { bottom: -0.25em; }

sup { top: -0.5em; }

/* Embedded content ========================================================================== */
/** Remove the border on images inside links in IE 10. */
img { border-style: none; }

/* Forms ========================================================================== */
/** 1. Change the font styles in all browsers. 2. Remove the margin in Firefox and Safari. */
button, input, optgroup, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 1 */ line-height: 1.15; /* 1 */ margin: 0; /* 2 */ }

/** Show the overflow in IE. 1. Show the overflow in Edge. */
button, input { /* 1 */ overflow: visible; }

/** Remove the inheritance of text transform in Edge, Firefox, and IE. 1. Remove the inheritance of text transform in Firefox. */
button, select { /* 1 */ text-transform: none; }

/** Correct the inability to style clickable types in iOS and Safari. */
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }

/** Remove the inner border and padding in Firefox. */
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }

/** Restore the focus styles unset by the previous rule. */
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }

/** Correct the padding in Firefox. */
fieldset { padding: 0.35em 0.75em 0.625em; }

/** 1. Correct the text wrapping in Edge and IE. 2. Correct the color inheritance from `fieldset` elements in IE. 3. Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers. */
legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ }

/** Add the correct vertical alignment in Chrome, Firefox, and Opera. */
progress { vertical-align: baseline; }

/** Remove the default vertical scrollbar in IE 10+. */
textarea { overflow: auto; }

/** 1. Add the correct box sizing in IE 10. 2. Remove the padding in IE 10. */
[type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }

/** Correct the cursor style of increment and decrement buttons in Chrome. */
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }

/** 1. Correct the odd appearance in Chrome and Safari. 2. Correct the outline style in Safari. */
[type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ }

/** Remove the inner padding in Chrome and Safari on macOS. */
[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

/** 1. Correct the inability to style clickable types in iOS and Safari. 2. Change font properties to `inherit` in Safari. */
::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ }

/* Interactive ========================================================================== */
/* Add the correct display in Edge, IE 10+, and Firefox. */
details { display: block; }

/* Add the correct display in all browsers. */
summary { display: list-item; }

/* Misc ========================================================================== */
/** Add the correct display in IE 10+. */
template { display: none; }

/** Add the correct display in IE 10. */
[hidden] { display: none; }

body { font-size: 100%; font-family: "Lato", sans-serif; word-break: break-word; }

.white-text { color: var(--color-bg-main); }

h1:not(.subtitle), h2, h3, .sponsor-table thead, h4 { font-family: "Lato", sans-serif; font-weight: 400; line-height: 1.2; font-weight: 900; }

h2, h3, .sponsor-table thead, h4 { hyphens: auto; }

div, span { font-size: 1rem; }

.t-xs { font-size: 0.875rem; }

ul, .t-sm, .sponsor-table tbody tr > * { font-size: 1rem; font-weight: 400; }

@media (min-width: 48rem) { ul, .t-sm, .sponsor-table tbody tr > * { font-size: 1.25rem; } }

p, .t-md, .sponsor-table tbody tr > *:not(:first-child) { font-size: 1.25rem; line-height: 1.6; font-weight: 400; }

h1:not(.subtitle), .t-xl { font-size: 2.25rem; }

@media (min-width: 48rem) { h1:not(.subtitle), .t-xl { font-size: 4rem; } }

.subtitle, .t-xl.subtitle { display: block; font-size: 1.125rem; text-transform: uppercase; }

@media (min-width: 48rem) { .subtitle, .t-xl.subtitle { font-size: 1.25rem; } }

h1 .subtitle:last-child { line-height: 0.75; }

h2, .t-lg { font-size: 2rem; }

@media (min-width: 48rem) { h2, .t-lg { font-size: 2.25rem; } }

.t-xxl { font-size: 2.5rem; }

h3, .sponsor-table thead, .t-md, .sponsor-table tbody tr > *:not(:first-child) { font-size: 1.25rem; }

h3--title, .t-md--title { font-size: 1.25rem; line-height: 1.4; }

@media (min-width: 48rem) { h3, .sponsor-table thead, .t-md, .sponsor-table tbody tr > *:not(:first-child) { font-size: 1.5rem; } }

.t-sm, .sponsor-table tbody tr > * { font-size: 1rem; }

.heading { font-family: "Lato", sans-serif; font-weight: 400; line-height: 1.2; }

.content { max-width: 70ch; }

.weight-medium { font-weight: 500; }

.weight-bold { font-weight: 600; }

.lh-1 { line-height: 1; }

.default h1:not(.subtitle):not([class*="mt-"]):not([class*="mb-"]), .default h2:not([class*="mt-"]):not([class*="mb-"]), .default h3:not([class*="mt-"]):not([class*="mb-"]), .default .sponsor-table thead:not([class*="mt-"]):not([class*="mb-"]), .sponsor-table .default thead:not([class*="mt-"]):not([class*="mb-"]), .default h4:not([class*="mt-"]):not([class*="mb-"]) { margin: 0 0 1.5rem 0; }

.default p { margin-bottom: 1rem; }

.minor h1.subtitle { margin-bottom: 0.75rem; }

.minor h2 { margin-bottom: 1.5rem; }

.minor li { margin-bottom: 0.5rem; }

.article h1:not(.subtitle):not([class*="mt-"]), .article h2:not([class*="mt-"]), .article h3:not([class*="mt-"]), .article .sponsor-table thead:not([class*="mt-"]), .sponsor-table .article thead:not([class*="mt-"]), .article h4:not([class*="mt-"]) { margin: 2rem 0 1.5rem 0; }

.article p { margin-bottom: 1rem; }

.article ul li:not(:last-child) { margin-bottom: 0.5rem; }

h1, h2, h3, .sponsor-table thead, h4, p, .neutral { padding: 0; margin: 0; }

.container, .container-2, .container-1, .hero--minor, .hero--minorsub, .hero--resources, .section { max-width: 73rem; margin: 0 auto; }

.container-1, .hero--minor, .hero--minorsub, .hero--resources, .section { padding: 1rem; }

@media (min-width: 31.25rem) { .container-1, .hero--minor, .hero--minorsub, .hero--resources, .section { padding: 1.5rem; } }

@media (min-width: 48rem) { .container-1, .hero--minor, .hero--minorsub, .hero--resources, .section { padding: 2rem; } }

.container-2 { padding: 2rem; }

.section { padding-top: 4rem; }

@media (min-width: 56.25rem) { .section { padding: 2rem; } .section.extra-space { padding: 4rem 2rem; } }

.section.inpage { padding-left: 0; padding-right: 0; }

.section:empty { display: none; }

.img-w { width: 100%; height: auto; }

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

.img-neutral { width: auto; height: auto; }

.img-h-100 { width: auto; height: 6.25rem; }

@media (min-width: 48rem) { .w-50-md { width: 50%; } }

.wrap { flex-wrap: wrap; }

.col { display: flex; flex-direction: column; flex: 1 1 50%; }

.row-xl, .row-lg, .row-md, .row-sm { display: flex; flex-direction: column; }

.row { display: flex; flex-direction: row; }

@media (min-width: 31.25rem) { .row-sm { flex-direction: row; align-items: center; } }

@media (min-width: 48rem) { .row-md { flex-direction: row; align-items: center; } }

@media (min-width: 48rem) { .row-md--strict { display: flex; flex-direction: row; align-items: center; } }

@media (min-width: 56.25rem) { .row-lg { flex-direction: row; align-items: center; } }

@media (min-width: 75rem) { .row-xl { flex-direction: row; align-items: center; } }

.cell-50 { flex: 1 1 50%; }

@media (min-width: 48rem) { .cell-50.space { max-width: 48%; margin-right: 2rem; } }

@media (min-width: 48rem) { .cell-md-50 { flex: 1 1 50%; } }

@media (min-width: 75rem) { .cell-xl-50 { flex: 1 1 50%; } .cell-xl-50.space { max-width: 48%; margin-right: 2rem; } }

.grid-item { flex: 1 1 100%; justify-content: space-between; }

.grid-item.promote { flex: 3 1 100%; }

@media (max-width: 31.1875rem) { .grid-item:not(.copy):not(:last-of-type) { margin-bottom: 3rem; } .grid-item.copy:not(:last-of-type) { margin-bottom: 1rem; } }

@media (min-width: 31.25rem) and (max-width: 47.9375rem) { .grid-item { flex: 1 0 calc(50% - 2rem); } .grid-item:not(.copy) { margin-bottom: 3rem; } .grid-item.copy { margin-bottom: 2rem; } .grid-item:not(.promote) { max-width: 50%; } .grid-item:first-child:not(.promote) ~ .grid-item:not(:nth-of-type(2n)), .grid-item:first-child:not(.promote), .grid-item.promote ~ .grid-item:not(:nth-of-type(2n + 1)) { margin-right: 1rem; } }

@media (min-width: 48rem) { .grid-item:not(.copy) { margin-bottom: 4rem; } .grid-item.copy { margin-bottom: 2rem; } }

@media (min-width: 31.25rem) and (max-width: 47.9375rem) { .grid-item--3 { flex: 1 0 calc(50% - 4rem); } .grid-item--3:nth-last-child(-n + 2) { margin-bottom: 0; } .grid-item--3:not(.promote) { max-width: calc(50% - 1rem); } .grid-item--3:first-child:not(.promote) ~ .grid-item--3:not(:nth-of-type(2n)), .grid-item--3:first-child:not(.promote), .grid-item--3.promote ~ .grid-item--3:not(:nth-of-type(2n + 1)) { margin-right: 2rem; } }

@media (min-width: 48rem) { .grid-item--3 { flex: 0 1 calc(33.33% - 1.333rem); width: calc(33.33% - 1.333rem); } .grid-item--3.promote { max-width: 66%; } .grid-item--3:first-child:not(.promote) ~ .grid-item--3:not(:nth-of-type(3n)), .grid-item--3:first-child:not(.promote), .grid-item--3.promote ~ .grid-item--3:not(:nth-of-type(3n + 1)) { margin-right: 2rem; } .grid-item--3:nth-last-child(-n + 3) { margin-bottom: 0; } }

@media (min-width: 31.25rem) and (max-width: 47.9375rem) { .grid-item--4 { flex: 1 0 calc(50% - 2rem); } .grid-item--4:nth-last-child(-n + 2) { margin-bottom: 0; } }

@media (min-width: 48rem) { .grid-item--4 { flex: 1 0 calc(25% - 1.5rem); } .grid-item--4:nth-last-child(-n + 4):not(:nth-child(-n + 4)) { margin-bottom: 0; } .grid-item--4:first-child:not(.promote) ~ .grid-item--4:not(:nth-of-type(4n)), .grid-item--4:first-child:not(.promote), .grid-item--4.promote ~ .grid-item--4:not(:nth-of-type(4n + 1)) { margin-right: 2rem; } }

.grid-item > * { max-width: 100%; }

.limit-6 .grid-item:nth-child(1):not(.promote) ~ :nth-child(7) { display: none; }

.justify-start { justify-content: flex-start; }

.justify-center { justify-content: center; }

.space-between { justify-content: space-between; }

.space-around { justify-content: space-around; }

.space-between-50-md { justify-content: space-between; }

@media (min-width: 48rem) { .space-between-50-md > * { max-width: calc(50% - 2.75rem); } }

.text-center { text-align: center; }

.text-right { text-align: right; }

.max-legible-width { max-width: 80ch; }

@media (min-width: 48rem) { .align-items-start-md { align-items: flex-start; } }

.align-self-center-md { align-self: flex-start; }

@media (min-width: 48rem) { .align-self-center-md { align-self: center; } }

.align-items-start { align-items: flex-start; }

.align-items-end { align-items: flex-end; }

.align-items-center { align-items: center; }

.align-self-end { align-self: flex-end; }

.between-1:not(.inline) > *:not(:last-child) { margin-bottom: 0.25rem; }

.between-1.inline > *:not(:last-child) { margin-right: 0.25rem; }

@media (min-width: 31.25rem) { .between-1.inline-sm > *:not(:last-child) { margin-right: 0.25rem; margin-bottom: 0; } }

@media (min-width: 48rem) { .between-1.inline-md > *:not(:last-child) { margin-right: 0.25rem; margin-bottom: 0; } }

@media (min-width: 56.25rem) { .between-1.inline-lg > *:not(:last-child) { margin-right: 0.25rem; margin-bottom: 0; } }

@media (min-width: 75rem) { .between-1.inline-xl > *:not(:last-child) { margin-right: 0.25rem; margin-bottom: 0; } }

.pt-1 { padding-top: 0.25rem; }

.mt-1 { margin-top: 0.25rem; }

.mb-1 { margin-bottom: 0.25rem; }

.between-2:not(.inline) > *:not(:last-child) { margin-bottom: 0.5rem; }

.between-2.inline > *:not(:last-child) { margin-right: 0.5rem; }

@media (min-width: 31.25rem) { .between-2.inline-sm > *:not(:last-child) { margin-right: 0.5rem; margin-bottom: 0; } }

@media (min-width: 48rem) { .between-2.inline-md > *:not(:last-child) { margin-right: 0.5rem; margin-bottom: 0; } }

@media (min-width: 56.25rem) { .between-2.inline-lg > *:not(:last-child) { margin-right: 0.5rem; margin-bottom: 0; } }

@media (min-width: 75rem) { .between-2.inline-xl > *:not(:last-child) { margin-right: 0.5rem; margin-bottom: 0; } }

.pt-2 { padding-top: 0.5rem; }

.mt-2 { margin-top: 0.5rem; }

.mb-2 { margin-bottom: 0.5rem; }

.between-3:not(.inline) > *:not(:last-child) { margin-bottom: 1rem; }

.between-3.inline > *:not(:last-child) { margin-right: 1rem; }

@media (min-width: 31.25rem) { .between-3.inline-sm > *:not(:last-child) { margin-right: 1rem; margin-bottom: 0; } }

@media (min-width: 48rem) { .between-3.inline-md > *:not(:last-child) { margin-right: 1rem; margin-bottom: 0; } }

@media (min-width: 56.25rem) { .between-3.inline-lg > *:not(:last-child) { margin-right: 1rem; margin-bottom: 0; } }

@media (min-width: 75rem) { .between-3.inline-xl > *:not(:last-child) { margin-right: 1rem; margin-bottom: 0; } }

.pt-3 { padding-top: 1rem; }

.mt-3 { margin-top: 1rem; }

.mb-3 { margin-bottom: 1rem; }

.between-4:not(.inline) > *:not(:last-child) { margin-bottom: 2rem; }

.between-4.inline > *:not(:last-child) { margin-right: 2rem; }

@media (min-width: 31.25rem) { .between-4.inline-sm > *:not(:last-child) { margin-right: 2rem; margin-bottom: 0; } }

@media (min-width: 48rem) { .between-4.inline-md > *:not(:last-child) { margin-right: 2rem; margin-bottom: 0; } }

@media (min-width: 56.25rem) { .between-4.inline-lg > *:not(:last-child) { margin-right: 2rem; margin-bottom: 0; } }

@media (min-width: 75rem) { .between-4.inline-xl > *:not(:last-child) { margin-right: 2rem; margin-bottom: 0; } }

.pt-4 { padding-top: 2rem; }

.mt-4 { margin-top: 2rem; }

.mb-4 { margin-bottom: 2rem; }

.between-5:not(.inline) > *:not(:last-child) { margin-bottom: 4rem; }

.between-5.inline > *:not(:last-child) { margin-right: 4rem; }

@media (min-width: 31.25rem) { .between-5.inline-sm > *:not(:last-child) { margin-right: 4rem; margin-bottom: 0; } }

@media (min-width: 48rem) { .between-5.inline-md > *:not(:last-child) { margin-right: 4rem; margin-bottom: 0; } }

@media (min-width: 56.25rem) { .between-5.inline-lg > *:not(:last-child) { margin-right: 4rem; margin-bottom: 0; } }

@media (min-width: 75rem) { .between-5.inline-xl > *:not(:last-child) { margin-right: 4rem; margin-bottom: 0; } }

.pt-5 { padding-top: 4rem; }

.mt-5 { margin-top: 4rem; }

.mb-5 { margin-bottom: 4rem; }

.pt-0 { padding-top: 0; }

.mt-0 { margin-top: 0; }

@media (min-width: 48rem) { .hide-md { display: none; } }

@media (max-width: 47.9375rem) { .show-md { display: none; } }

.breadcrumbs { height: auto; padding-top: 0; padding-bottom: 0; text-transform: capitalize; }

.breadcrumbs ul { margin: 0; }

.banner { background-color: var(--color-bg-footer); }

.banner a:focus { outline-color: var(--color-outline); }

@media (min-width: 56.25rem) { .banner .nav-wrapper { flex-direction: row; align-items: center; } }

.banner .nav-items { list-style: none; padding: 0; margin: 0; justify-content: flex-start; }

.banner li { display: flex; flex: 0 1 auto; align-items: center; margin-right: 0.75rem; }

@media (min-width: 31.25rem) { .banner li:not(:last-of-type) { margin-right: 1.5rem; } }

@media (min-width: 56.25rem) { .banner li:not(:last-of-type) { margin-right: 2.5rem; } }

.banner li a:not(.cta):not(.cta--inverted) { padding: 0.75rem 0; display: block; }

.highlight { background-color: var(--color-highlight); }

.striped-banner-1 { background-color: var(--color-teal); position: relative; }

.striped-banner-1::before, .striped-banner-1::after { content: ""; z-index: 1; position: absolute; top: 0; width: 100%; height: 100%; background-image: url("/assets/images/about/stripes.svg"); background-size: contain; background-repeat: no-repeat; }

.striped-banner-1::before { content: unset; }

@media (min-width: 75rem) { .striped-banner-1::before { content: ""; background-position: top left -80px; } }

.striped-banner-1::after { content: ""; background-position: top right -300px; }

@media (min-width: 48rem) { .striped-banner-1::after { background-position: top right -180px; } }

.striped-content { position: relative; z-index: 2; max-width: 65ch; }

@media (min-width: 48rem) { .striped-content { padding-top: 2rem; } }

@media (min-width: 75rem) { .striped-content { left: 25%; } }

.flow-image-1 { z-index: 2; position: relative; max-width: 100%; width: 100%; height: auto; }

@media (min-width: 48rem) { .flow-image-1 { margin-top: -9rem; width: auto; } }

.flow-image-2 { z-index: 1; position: relative; max-width: 100%; }

@media (min-width: 75rem) { .flow-image-2 { margin-top: -10rem; } }

@media (min-width: 75rem) { .flow-text-2 { padding-top: 25rem; } }

.logo { height: 70px; }

@media (min-width: 48rem) { .logo { height: 100px; } }

@media (min-width: 48rem) { .hero:not(.fixed-height) { min-height: 24rem; max-height: 30rem; height: calc(100vh - 280px); } .hero.fixed-height { height: 30rem; } }

.hero--minor, .hero--minorsub, .hero--resources { padding-top: 2rem; padding-bottom: 0; }

@media (min-width: 48rem) { .hero--minor, .hero--minorsub, .hero--resources { padding-bottom: 0; min-height: 21rem; } }

@media (min-width: 48rem) { .hero--minor .heading, .hero--minorsub .heading, .hero--resources .heading { margin-bottom: 4rem; } }

.hero--resources { padding-top: 2rem; }

@media (min-width: 48rem) { .hero--resources { padding-top: 4rem; } }

@media (min-width: 48rem) { .hero--minorsub { padding-top: 4rem; } }

.hero--chapter { background-position: center center; background-repeat: no-repeat; background-size: cover; position: relative; min-height: 10.75rem; }

@media (min-width: 48rem) { .hero--chapter { min-height: 21rem; } }

.nav-list, .grid-list { list-style: none; padding-left: 0; }

.nav-list.spacer, .spacer.grid-list { margin: -0.25rem 0; }

.nav-list.spacer li, .spacer.grid-list li { padding: 0.25rem 0; }

.skip-link { width: 1px; height: 1px; display: inline-block; top: 0.5rem; left: 0.5rem; color: var(--color-bg-footer); position: absolute; overflow: hidden; }

.skip-link:focus { width: auto; height: auto; color: var(--color-highlight); }

.nav-link { position: relative; text-decoration: none; color: var(--color-highlight); font-weight: 700; }

.nav-link:hover { text-decoration: underline; }

.nav-link--dark { color: var(--color-bg-footer); }

.banner .nav-link:hover { text-decoration: none; }

.banner .nav-link.current::after, .banner .nav-link:hover::after { content: ""; position: absolute; display: inline-block; width: 100%; height: 100%; top: -0.5rem; left: 0; border-bottom: 0.25rem solid var(--color-highlight); }

.icon-link { display: flex; align-items: center; width: 1.5rem; height: 1.5rem; padding: 0.625rem; font-size: 0; }

.icon-link > img { width: 100%; height: auto; }

.cta, .cta--inverted { display: inline-flex; align-items: center; flex-direction: row; background-color: var(--color-bg-footer); color: var(--color-btn-text); text-decoration: none; white-space: nowrap; font-weight: 900; padding: 1rem 1.5rem; }

.cta--inverted { color: var(--color-bg-footer); background-color: var(--color-highlight); }

.cta:hover, .cta--inverted:hover { background-color: var(--color-btn-hover); }

.cta img, .cta--inverted img { height: 1.5rem; }

.cta-link { display: inline-block; position: relative; color: var(--color-link); text-decoration: none; }

.cta-link:not(.no-arrow)::after { content: ""; display: inline-block; vertical-align: middle; position: relative; bottom: 0.1em; background-image: url(/assets/images/icons/arrow.svg); background-position: center right 0.8em; background-repeat: no-repeat; margin-left: 0.5rem; height: 1em; width: 1.5em; transition: background-position ease-in-out 300ms; }

.cta-link:hover, .cta-link:focus { text-decoration: underline; }

.cta-link:hover::after, .cta-link:focus::after { background-position: center right 0; }

.icon { height: 1rem; fill: inherit; }

.value { display: flex; align-items: center; flex-direction: column; }

@media (min-width: 48rem) { .value { flex-direction: row; } }

.value .image { flex: 1 1 auto; width: auto; height: auto; max-width: 100%; max-height: 26rem; }

@media (min-width: 48rem) { .value .image { max-width: 48%; } .value .image.first { order: -1; margin-right: 2rem; } .value .image.second { order: 0; margin-left: 2rem; } }

.social-stats-chapter { display: flex; justify-content: center; }

@media (min-width: 48rem) { .social-stats-chapter { justify-content: flex-end; } }

@media (min-width: 48rem) { .social-stats-chapter > div { flex-wrap: nowrap; width: 50%; } }

.stat-wrapper { flex: 0 1 auto; margin-left: 1rem; margin-right: 1rem; }

.stat-wrapper > *:not(:last-child) { margin-bottom: 0.5rem; }

@media (min-width: 48rem) { .stat-wrapper > *:not(:last-child) { margin-bottom: 1rem; } }

.social-stat { font-size: 5.5rem; font-weight: 900; color: var(--color-chapter-plus); white-space: nowrap; }

.chapter-cover { pointer-events: none; position: absolute; max-width: 90%; max-height: 19rem; width: auto; height: auto; top: 1rem; right: 0; }

@media (min-width: 48rem) { .chapter-cover { max-height: initial; } }

.chapter-image { border-radius: 50%; max-width: 100px; max-height: 100px; height: auto; }

.chapter-logo { font-family: "Fredoka One", "Arial Black", Arial, cursive; font-size: 3.75rem; text-transform: uppercase; position: relative; z-index: 2; }

.chapter-logo::before { content: "+"; display: inline-block; position: relative; top: -0.75rem; color: var(--color-chapter-plus); }

.chapter-logo + img { position: relative; z-index: 1; }

@media (min-width: 56.25rem) { .chapter-graphic .chapter-logo { margin-bottom: -3rem; } }

@media (min-width: 56.25rem) { .chapter-social { flex-direction: row-reverse; } .chapter-social .social-wrapper { display: flex; align-self: flex-start; align-items: center; } .chapter-social > *:last-child { margin-right: 3rem; } }

.chapter-social a.icon-link { padding: 0.5rem; margin: -0.5rem; width: 2rem; height: 2rem; }

.chapter-social a.icon-link:not(last-child) { margin-right: 1rem; }

@media (min-width: 31.25rem) { .chapter-social a.icon-link { padding: 0; margin: 0; width: 3rem; height: 3rem; } .chapter-social a.icon-link:not(last-child) { margin-right: 2.5rem; } }

.preview-cta { font-size: 1.25rem; line-height: 1; }

.truncate-button { display: inline-block; position: relative; top: 0.125rem; padding: 0.75rem; margin: -0.75rem -0.5rem; line-height: 0; z-index: 2; transform: scale(1); transition: transform 600ms; }

.truncate-button::before { content: ""; position: absolute; width: 1.12rem; height: 1.12rem; z-index: -1; border-radius: 50%; border: 1px solid #000; transform: scale(1); transition: transform 600ms; }

.truncate-button:hover, .truncate-button:focus { transform: scale(1.2); outline-offset: -0.25rem; }

.truncate-button:hover::before, .truncate-button:focus::before { transform: scale(1.3); }

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

.icon-list .item::before { content: ""; display: inline-block; width: 2rem; height: 2rem; flex: 0 0 auto; margin-right: 0.5rem; background-repeat: no-repeat; background-size: 100% 100%; }

.icon-list .shrink, .icon-list .no-icon::before, .icon-list .twitter::before, .icon-list .drive::before { width: 1.75rem; height: 1.75rem; margin-right: 0.75rem; }

.icon-list .drive::before { background-image: url("/assets/images/icons/drive.svg"); }

.icon-list .meetup::before { background-image: url("/assets/images/icons/meetup2.svg"); }

.icon-list .twitter::before { background-image: url("/assets/images/icons/twitter2.svg"); }

.icon-list .youtube::before { background-image: url("/assets/images/icons/youtube2.svg"); }

.icon-list .no-icon::before { background-image: url("/assets/images/icons/link.svg"); }

.grid-list { max-width: 30rem; text-transform: capitalize; }

.grid-list li { flex: 1 1 12.5rem; margin-bottom: 1.25rem; }

.card { flex: 0 1 auto; white-space: nowrap; box-sizing: border-box; box-shadow: 0 0 20px 0 var(--color-shadow); padding: 1rem 2rem; margin-bottom: 2rem; }

@media (min-width: 31.25rem) { .card { padding: 2rem 2.5rem; } .card:not(:last-child) { margin-right: 2rem; } }

@media (min-width: 75rem) { .card { flex: 1 1 calc(25% - 1.5rem); max-width: calc(25% - 1.5rem); } .card:nth-child(4n) { margin-right: 0; } }

.a11yContent { position: absolute; height: 1px; width: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }

.nowrap { white-space: nowrap; }

.sponsors-col { display: flex; flex: 1 0 14rem; }

.sponsors-row { display: flex; flex: 1 0 100%; width: 100%; }

.sponsors-description { flex: 1 1 60%; max-width: 80ch; }

@media (min-width: 75rem) { .sponsors-description { flex: 1 1 50%; max-width: 48%; } }

.sponsors-gold-silver { display: flex; flex: 1 1 100%; flex-direction: column; }

@media (min-width: 31.25rem) { .sponsors-gold-silver { flex-direction: row; flex: 1 1 50%; } }

@media (min-width: 75rem) { .sponsors-gold-silver { flex: 1 1 50%; max-width: calc(52% - 4rem); } }

.sponsor { display: flex; align-items: flex-end; max-width: 100%; position: relative; }

.sponsor.gold, .sponsor.silver { max-width: 12.5rem; min-height: 5rem; }

.sponsor.past { display: block; flex: 1 1 auto; padding: 0 1rem; margin-bottom: 3rem; text-align: center; }

.sponsor.past img { max-height: 2.25rem; }

.sponsor a { display: inline-block; }

.attribution a { color: inherit; }

.sponsor-table { min-width: 100%; table-layout: fixed; border-collapse: collapse; }

.sponsor-table .table-vGaps, .sponsor-table tbody tr > *, .sponsor-table thead tr > * { padding: 1rem 0; height: 100%; }

@media (min-width: 48rem) { .sponsor-table .table-vGaps, .sponsor-table tbody tr > *, .sponsor-table thead tr > * { padding: 2rem 0; } }

.sponsor-table .table-icon, .sponsor-table tbody .no::before, .sponsor-table tbody .yes::before { display: block; margin: auto; width: 2.25rem; height: 2.25rem; transform: translateY(50%); }

.sponsor-table thead tr { display: flex; position: -webkit-sticky; position: sticky; width: 100%; top: 0; background-color: rgba(255, 255, 255, 0.94); z-index: 2; margin-bottom: 0; border: 0; }

.sponsor-table thead tr > * { font-weight: 900; display: block; float: left; width: 33%; }

.sponsor-table thead tr > *:first-child { position: absolute; width: 1px; height: 1px; }

@media (min-width: 48rem) { .sponsor-table thead tr > *, .sponsor-table thead tr > *:first-child { display: block; width: 25%; height: auto; position: static; float: none; } }

.sponsor-table tbody tr { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; }

.sponsor-table tbody tr:first-child { border-top: 1px solid #000; }

.sponsor-table tbody tr:not(:last-child) { border-bottom: 1px solid #000; }

.sponsor-table tbody tr > * { width: 33%; display: block; float: left; }

.sponsor-table tbody tr > *:first-child { width: 100%; flex: 1 0 auto; padding-bottom: 0; text-align: left; }

.sponsor-table tbody tr > *:not(:first-child) { text-align: center; min-height: 2.25rem; }

@media (min-width: 48rem) { .sponsor-table tbody tr > *:first-child { padding-top: 0; } .sponsor-table tbody tr > *, .sponsor-table tbody tr > *:first-child { width: 25%; float: none; } }

.sponsor-table tbody .yes { color: transparent; }

.sponsor-table tbody .yes::before { content: ""; background-color: green; border-radius: 50%; }

.sponsor-table tbody .no { color: transparent; }

.sponsor-table tbody .no::before { content: ""; background-image: url("data:image/svg+xml;utf8,<svg width='36' height='36' fill='none' xmlns='http://www.w3.org/2000/svg'><circle cx='18' cy='18' r='16.5' stroke='%23000' stroke-width='3'/><path stroke='%23000' stroke-width='3' d='M6 30L29 7'/></svg>"); }

.team-member { margin-bottom: 1.5rem; flex-grow: 1; }

@media (min-width: 48rem) { .team-member { margin-bottom: 2rem; max-width: calc(33% - 1rem); } }

.speaker { word-break: normal; padding: 2.75rem 0; }

@media (min-width: 48rem) { .speaker { padding: 4rem 0; } }

.speaker:not(:last-of-type) { border-bottom: 2px solid var(--color-bg-footer); }

.speaker .avatar { margin-right: 1.5rem; width: 35%; min-width: 6rem; max-width: 6.25rem; }

@media (min-width: 48rem) { .speaker .avatar { max-width: 9rem; } }

.speaker .avatar > img { width: 100%; height: auto; }

.speaker .info { flex: 1 1 auto; }

.speaker .name { flex: 0 1 1%; white-space: pre-wrap; align-self: flex-start; font-size: 1.25rem; font-weight: 900; }

@media (min-width: 48rem) { .speaker .name { align-self: center; font-size: 2.25rem; } }

@media (min-width: 48rem) { .speaker .group2 { flex: 0 1 60%; align-items: flex-start; } }

.speaker .event { flex: 1 1 33%; }

@media (min-width: 48rem) { .speaker .event { margin-right: 2.25rem; } }

.speaker .event wbr { display: block; }

.speaker .social { flex: 0 1 auto; }

.pagination { text-align: center; list-style: none; padding: 0; }

.pagination .page:first-child a { border-radius: 0.75rem 0 0 0.75rem; }

.pagination .page:first-child ~ .page a { border-left: 0; }

.pagination .page:last-child a { border-radius: 0 0.75rem 0.75rem 0; }

.pagination .page:first-child:last-child a { border-radius: 0.75rem; }

.pagination a { display: inline-block; text-decoration: none; padding: 0.25rem 0.5rem; color: var(--color-bg-footer); border: 1px solid var(--color-btn-hover); }

.pagination a:hover { background-color: var(--color-btn-hover); color: var(--color-btn-bg); }

.footer { background-color: var(--color-bg-footer); color: var(--color-highlight); }

.footer a:focus { outline-color: var(--color-outline); }

.footer .logo-wrapper { text-align: center; }

@media (min-width: 48rem) { .footer .social { align-self: flex-start; align-items: flex-start; justify-content: flex-end; } .footer .social > * { margin: 0; } }

.footer .social li:first-child { margin-left: -0.625rem; }

.fade-in { animation: 500ms linear fade-in; }

@keyframes fade-in { from { opacity: 0; }
  to { opacity: 1; } }

html { --color-teal: #0a8299; --color-cyan: #00bdd1; --color-bg-main: #ffffff; --color-bg-footer: #0f0f0f; --color-highlight: #f8f8f8; --color-outline: #ffc6c6; --color-outline-dark: #fd5d5d; --color-chapter-plus: #de1d8d; --color-shadow: #e0e0e0; --color-font: var(--color-bg-footer); --color-link: #007c8a; --color-btn-text: var(--color-bg-main); --color-btn-bg: #fff; --color-btn-hover: #666; --color-yellow: #f2e654; --color-orange: #ffae00; --color-magenta: #fe2994; }

html a:focus, html input:focus, html button:focus { outline-width: 2px; outline-style: solid; outline-color: var(--color-outline-dark); outline-offset: 3px; }

body { color: var(--color-font); background-color: var(--color-bg-main); display: flex; flex-direction: column; }

body > main { flex: 1 0 auto; }

html, body { height: 100%; }

.accent-yellow { background-color: var(--color-yellow); }

.accent-orange { background-color: var(--color-orange); }

.accent-magenta { background-color: var(--color-magenta); }

.filter-invert { filter: invert(1); }

a { color: var(--color-link); }

a:hover { text-decoration: none; }

strong { outline: 2px solid var(--color-bg-footer); padding: 0.25rem; }

input[type="radio"] + label { margin-left: 0.25rem; vertical-align: middle; }

.menu { margin-bottom: 0; }

.menu .links { list-style: none; padding-left: 0; margin: 0 0 -0.5rem -0.25rem; }

@media (min-width: 31.25rem) { .menu .links { flex-wrap: wrap; } }

.menu .links > li { flex: 0 1 calc(50% - 1rem); }

.menu .links a { display: inline-block; padding: 0.5rem 0.25rem; }

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