*,
:before,
:after {
  box-sizing: border-box;
}
body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif,
  'Apple Color Emoji', 'Segoe UI Emoji';
  max-height: 100%;
}
button,
input,
select,
textarea {
  font: inherit;
}
code,
pre {
  font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;
}
html,
.Site {
  max-height: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: 4.6875rem;
}
a,
a:link,
a:visited {
  color: #007d9c;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
.Site {
  display: flex;
  flex-direction: column;
  margin: 0;
}
.bluebg {
  background: #007d9c;
}
.SiteContent {
  flex: 1;
}
.SiteContent--default {
  margin-top: 3.5rem;
}
.SiteContent--lower {
  margin-top: calc(3.5rem + 9.75rem);
}
.Site-footer {
  border-top: 0.0625rem solid #dcdee0;
  color: #fff;
  font-size: 0.875rem;
}
.Site-header {
  background: #007d9c;
  border-bottom: none;
  box-shadow: 0 0.0625rem 0.125rem rgba(171, 171, 171, 0.3);
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10;
}
.CaseStudy-aboutBlock {
  border: 0.0625rem solid #dcdee0;
  border-radius: 0.25rem;
  box-sizing: border-box;
  padding: 3.75rem 2rem 3.75rem;
}
.CaseStudy-aboutBlockTitle {
  color: #202224;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 3rem;
  margin-bottom: 0.6875rem;
}
.CaseStudy-aboutBlockImg {
  display: block;
  margin: 0 auto;
  max-height: 3.125rem;
}
.CaseStudy-aboutBlockBody {
  color: #464a4d;
  font-size: 1rem;
  letter-spacing: 0.0063rem;
  line-height: 1.5rem;
}
/**
 * Only show on wide viewports so the
 * text never wraps or gets cut off.
 */
.Banner {
  background-color: #202224;
  display: none;
}
.Banner-inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 75.75rem;
  min-height: 2.5rem;
  padding: 0.5rem 1.5rem;
}
.Banner-message {
  color: #fff;
  margin-right: 1.25rem;
}
.Banner-action:link,
.Banner-action:visited {
  color: #fff;
  text-decoration: underline;
  white-space: nowrap;
}
@media only screen and (min-width: 48rem) {
  .Banner {
    display: block;
  }
  .SiteContent--default {
    /* fixed header height + banner height */
    margin-top: calc(3.5rem + 2.475rem);
  }
  .SiteContent--lower {
    margin-top: calc(3.5rem + 4.875rem);
  }
}
.UseCase-halfColumn {
  color: #3e4042;
  display: inline-block;
  font-size: 1rem;
  letter-spacing: 0.0063rem;
  line-height: 1.5rem;
  width: 100%;
}
@media only screen and (min-width: 48rem) {
  .UseCase-halfColumn {
    padding-right: 1.25rem;
    width: 50%;
  }
}
.UseCase-halfColumn > h2 {
  line-height: 1.55;
}
.Header,
.Container {
  margin: 0 auto;
  max-width: 75.75rem;
}
.Container--padded {
  padding: 0 1.5rem;
}
.Footer {
  background-color: #253443;
}
.Footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 2rem 1.5rem 2.625rem 1.5rem;
}
.Footer-linkColumn {
  flex: 0 0 9.5rem;
}
a.Footer-link {
  color: #fff;
  display: flex;
  flex: 1;
  font-size: 0.875rem;
  line-height: 2rem;
}
a.Footer-link--primary {
  font-size: 1.125rem;
  line-height: 1.75rem;
  margin-bottom: 0.5rem;
  margin-top: 0.75rem;
}
.Footer-bottom {
  align-items: center;
  border-top: 0.0625rem solid #dcdee0;
  display: flex;
  margin: 0 1.5rem;
  min-height: 4.125rem;
}
.Footer-gopher {
  align-self: flex-end;
  width: 5rem;
}
.Footer-listRow {
  display: flex;
  flex: 1;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
}
.Footer-listItem {
  align-items: center;
  display: flex;
  flex: 1 100%;
  justify-content: center;
  margin: 0.4rem 0;
  padding: 0 1rem;
}
.Footer-listItem a:link,
.Footer-listItem a:visited {
  color: #fff;
}
@media only screen and (min-width: 52rem) {
  .Footer-listItem {
    flex: initial;
  }
  .Footer-listItem + .Footer-listItem {
    border-left: 0.0625rem solid #c6c8ca;
  }
}
.Footer-feedbackButton {
  background: none;
  border: none;
  color: #fff;
  font-size: 0.875rem;
  padding: 0;
}
.Footer-feedbackButton:hover {
  cursor: pointer;
  text-decoration: underline;
}
.Footer-googleLogo {
  align-self: flex-end;
  height: 1.5rem;
  margin-bottom: 1.3rem;
  text-align: right;
}
.Footer-googleLogoImg {
  height: 1.5rem;
}
.Container--fullBleed {
  margin: 0;
  max-width: none;
}
.Header-nav {
  align-items: center;
  display: flex;
  height: 3.5rem;
  justify-content: space-between;
}
.Header-rightContent {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: flex-end;
  width: 100%;
}
.Header--dark {
  border-bottom: none;
  color: #fff;
}
.Header-logo {
  display: block;
  height: 2rem;
  margin-right: 2.25rem;
  width: 5.125rem;
}
.Header-logo--hidden {
  display: none;
}
.Header-logo--hidden {
  display: none;
}
.Header-menuItem {
  display: none;
}
.Header-menu {
  align-items: stretch;
  display: flex;
  height: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
}

h1,
h2 {
  font-weight: 600;
  letter-spacing: 0.03rem;
}

h3 {
  font-size: 1.125rem;
}

h3,
h4 {
  letter-spacing: 0.08rem;
}
h5,
h6 {
  font-weight: 500;
  letter-spacing: 0.08rem;
}

@media only screen and (min-width: 57.7rem) {
  .Header {
    padding: 0 1.5rem;
  }
  .Header-menuItem {
    align-items: stretch;
    display: inline-flex;
    flex: none;
  }
  .Header-menu {
    justify-content: flex-end;
  }
  .Header-navOpen {
    display: none;
  }
}
.Header-menuItem a:link,
.Header-menuItem a:visited {
  align-items: center;
  border-bottom: 0.1875rem solid transparent;
  border-top: 0.1875rem solid transparent; /* To ensure the text remains centered. */
  color: #3e4042;
  display: inline-flex;
  margin: 0 0.3125rem;
  padding: 0 0.9375rem;
  text-align: center;
  text-decoration: none;
  width: 100%;
}
.Header--dark .Header-menuItem a:link,
.Header--dark .Header-menuItem a:visited {
  color: #fff;
}
.Header-menuItem--active a:link,
.Header-menuItem--active a:visited {
  border-bottom-color: #00add8;
  font-weight: bold;
}
.Header-menuItem a:hover {
  border-bottom-color: #fff;
  color: #3e4042;
}
.Header-navOpen {
  background: no-repeat center/2rem url('/images/menu-24px.svg');
  border: none;
  height: 2.5rem;
  margin: auto 1rem;
  width: 2.5rem;
}
.Header-navOpen--white {
  background: no-repeat center/2rem url('/images/menu-24px-white.svg');
}
.NavigationDrawer {
  background: #fff;
  height: 100%;
  left: auto;
  max-width: 27rem;
  position: fixed;
  right: 0;
  top: 0;
  transform: translateX(100%);
  transition: transform 100ms ease-in-out;
  width: 85%;
  z-index: 20;
}
.NavigationDrawer.is-active {
  transform: translateX(0);
}
.NavigationDrawer-header {
  align-items: center;
  display: flex;
  justify-content: space-between;
}
.NavigationDrawer-logo {
  display: block;
  height: 2rem;
  margin: 1rem 1rem;
  width: 5.125rem;
}
.NavigationDrawer-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.NavigationDrawer-listItem {
  font-size: 1.125rem;
  margin: 0 0.5rem;
}
.NavigationDrawer-listItem a:link,
.NavigationDrawer-listItem a:visited {
  display: block;
  margin: 0 1rem;
  padding: 0.5rem;
}
.NavigationDrawer-listItem--active {
  background-color: #bfeaf4;
  border-radius: 0.4rem;
}
.NavigationDrawer-scrim {
  display: none;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 5;
}
.NavigationDrawer.is-active + .NavigationDrawer-scrim {
  background-color: rgba(0, 0, 0, 0.32);
  display: block;
}
.Article {
  color: #202224;
  margin: 0 auto 1.875rem;
  max-width: 45rem;
  padding: 0 1.5rem;
}
.Article--solutions {
  max-width: 75.75rem;
}
.Article-author,
.Article-date {
  font-size: 0.875rem;
  line-height: 1.375rem;
}
.Article-date {
  color: #6e7072;
}
.Article h1,
.Article h2,
.Article h3,
.Article h4,
.Article h5,
.Article h6 {
  color: #202224;
}
.Article h1 {
  font-size: 2.25rem;
  font-weight: 400;
  line-height: 3rem;
  margin: 1rem 0 1rem;
}
.Article h2 {
  font-size: 1.4rem;
  font-weight: normal;
  line-height: 2rem;
  margin-top: 2.25rem;
}
.Article h3 {
  font-size: 1.125rem;
  font-weight: 500;
}
.Article h4,
.Article h5,
.Article h6 {
  font-size: 1rem;
}
.Article p,
.Article ul,
.Article ol {
  color: #3e4042;
  font-size: 1rem;
  font-style: normal;
  font-weight: normal;
  letter-spacing: 0.0063rem;
  line-height: 1.75rem;
}
.Article p:last-of-type {
  margin-bottom: 0;
}
.Article ol .Article pre {
  background-color: #fafafa;
  border: 0.0625rem solid #dcdee0;
  border-radius: 0.375rem;
  color: #3e4042;
  font-size: 1rem;
  line-height: 1.45;
  overflow-x: auto;
  padding: 1.5rem;
}
.Article pre,
.Article code {
  color: #3e4042;
}
@media only screen and (min-width: 57.7rem) {
  .Article h1,
  .Article h2,
  .Article h4,
  .Article h5,
  .Article h6 {
    margin: initial;
  }
  .Article h2 + h3 {
    margin-top: 1.5rem;
  }
  .Article h3 {
    margin-top: 1.875rem;
  }
  .Article h2 {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2.25rem;
  }
}
.BreadcrumbNav-inner {
  display: flex;
  justify-content: start;
  list-style: none;
  margin: 0 auto;
  max-width: 75.75rem;
  padding: 0 0 1rem;
}
.BreadcrumbNav-li {
  align-items: center;
  display: flex;
  white-space: nowrap;
}
a.BreadcrumbNav-link {
  color: #202224;
  font-size: 0.875rem;
  text-decoration: none;
}
.BreadcrumbNav-li:last-child {
  padding-right: 0.812rem;
  white-space: normal;
}
.BreadcrumbNav-li:not(:last-child):after {
  background: url('/images/icons/arrow-forward.svg') no-repeat;
  content: ' ';
  display: block;
  height: 1rem;
  margin: 0 0.8125rem;
  width: 1rem;
}
@media only screen and (min-width: 57.7rem) {
  .BreadcrumbNav-inner {
    margin-top: 0;
  }
}
.SubHero-gridContainer,
.WhoUses-gridContainer,
.WhoUsesHero-gridContainer,
.WhoUsesCaseStudyList-gridContainer,
.WhyGo-gridContainer,
.UseCases-gridContainer,
.LearnGo-gridContainer {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  margin: 0 auto;
  max-width: 75.75rem;
}
.SubHero-gridContainer,
.WhoUses-gridContainer,
.WhoUsesHero-gridContainer,
.WhyGo-gridContainer,
.UseCases-gridContainer,
.LearnGo-gridContainer {
  padding: 3rem 1.5rem 1rem;
}
.WhoUsesHero-gridContainer {
  align-items: center;
}
@media only screen and (min-width: 28rem) {
  .WhoUses-gridContainer,
  .WhoUsesHero-gridContainer,
  .WhoUsesCaseStudyList-gridContainer,
  .WhyGo-gridContainer,
  .UseCases-gridContainer,
  .LearnGo-gridContainer {
    flex-direction: row;
    justify-content: space-between;
  }
  .WhoUsesHero-gridContainer {
    align-items: start;
  }
}
.WhyGo,
.WhoUses {
  background-color: #fff;
}
.LearnGo,
.UseCases {
  background-color: #fafafa;
}
.WhoUses-header,
.WhyGo-header,
.LearnGo-header {
  flex: 0 0 100%;
  text-align: center;
}
.WhoUses-headerH2,
.WhyGo-headerH2,
.GettingStartedGo-headerH2,
.LearnGo-header h2 {
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0.188rem;
  line-height: 1.75rem;
  margin-bottom: 1.5rem;
  margin-bottom: 0.5rem;
  margin-top: 0;
}
@media only screen and (min-width: 57.7rem) {
  .WhoUses-headerH2,
  .WhyGo-headerH2,
  .GettingStartedGo-headerH2,
  .LearnGo-header h2 {
    font-size: 2.25rem;
    line-height: 2.625rem;
    margin-bottom: 1.5rem;
  }
}
.GoCarousel {
  background-color: #fafafa;
  display: flex;
  justify-items: center;
  overflow-x: hidden;
  position: relative;
}
.GoCarousel-wrapper {
  margin: auto;
  max-width: 62.5rem;
  overflow: hidden;
  position: relative;
  width: 90vw;
  z-index: 1;
}
.GoCarousel-slide {
  border-radius: 0.125rem;
  cursor: pointer;
  display: flex;
  position: relative;
  transition: all 1s;
}
.GoCarousel-controlPrev,
.GoCarousel-controlNext {
  background-color: #fff;
  border-radius: 1.25rem;
  border-width: 0;
  box-shadow: 0 0.0625rem 0.1875rem rgba(60, 64, 67, 0.15),
    0 0.0625rem 0.125rem rgba(60, 64, 67, 0.3);
  color: #848688;
  display: inline-block;
  font-size: 2.5rem;
  height: 2rem;
  line-height: 2.5rem;
  outline: none;
  padding: 0 0.375rem 0 0.25rem;
  position: absolute;
  transition: transform 100ms;
  width: 2rem;
  z-index: 2;
}
.GoCarousel-controlPrev:focus,
.GoCarousel-controlNext:focus {
  box-shadow: 0 0.0625rem 0.5rem rgba(60, 64, 67, 0.25),
    0 0.0625rem 0.25rem rgba(60, 64, 67, 0.4);
  color: #555759;
}
.GoCarousel-controlPrev[hidden],
.GoCarousel-controlNext[hidden] {
  display: none;
}
.GoCarousel-icon {
  user-select: none;
}
.GoCarousel-controlPrev,
.GoCarousel-controlNext {
  cursor: pointer;
  font-size: 1.6875rem;
  text-align: center;
  top: 50%;
  transform: translateY(-50%);
}
.GoCarousel-controlPrev {
  left: 1rem;
}
.GoCarousel-controlNext {
  right: 1rem;
}
.GoCarousel-controlPrev:active,
.GoCarousel-controlNext:active {
  transform: translateY(-50%) scale(0.9);
}
.GoCarousel-controlsContainer {
  display: block;
  margin: 0 auto;
  max-width: 75.75rem;
  position: relative;
  width: auto;
  width: 100%;
}
.GettingStartedGo-gridContainer {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  margin: 0 auto;
  max-width: 75.75rem;
  padding: 3.75rem 1.5rem 2.625rem;
}
@media only screen and (min-width: 57.7rem) {
  .GettingStartedGo-gridContainer {
    flex-direction: row;
  }
  .GoCarousel-controlPrev,
  .GoCarousel-controlNext {
    top: 50%;
  }
}
.GettingStartedGo-header {
  border-right: 0;
  flex: 0 37%;
  margin-bottom: 2rem;
  padding-right: 0;
}
@media only screen and (min-width: 57.7rem) {
  .GettingStartedGo-header {
    border-right: 0.0133rem solid #f0f1f2;
    margin-bottom: 0;
    padding-right: 3.375rem;
  }
}
.GettingStartedGo-headerDesc {
  color: #3e4042;
  letter-spacing: 0.0063rem;
  line-height: 1.5rem;
}
.GettingStartedGo-ctas {
  font-size: 0.875rem;
  font-weight: normal;
  letter-spacing: 0.0164rem;
  line-height: 1rem;
  margin-top: 1rem;
}
a.GettingStartedGo-primaryCta {
  background: #007d9c;
  border-radius: 0.125rem;
  color: #fff;
  display: inline-block;
  margin-right: 1.3125rem;
  padding: 0.4375rem 1.3125rem;
  text-decoration: none;
}
.GettingStartedGo-resourcesSection {
  display: flex;
  flex: 1;
  flex-direction: column;
}
@media only screen and (min-width: 38rem) {
  .GettingStartedGo-resourcesSection {
    flex-direction: row;
  }
}
.GettingStartedGo-resourcesList {
  flex: 50%;
  list-style: none;
  margin: 0;
  padding-left: 0;
  padding-right: 2.375rem;
}
@media only screen and (min-width: 57.7rem) {
  .GettingStartedGo-resourcesList {
    padding-left: 3.375rem;
    padding-right: 0;
  }
}
.GettingStartedGo-resourcesHeader {
  color: #555759;
  font-size: 0.6875rem;
  letter-spacing: 0.0625rem;
  margin-bottom: 1rem;
  text-transform: uppercase;
}
.GettingStartedGo-resourceItem {
  margin-bottom: 1rem;
}
a.GettingStartedGo-resourceItemTitle {
  color: #202224;
  font-weight: 500;
  line-height: 1.5rem;
}
.GettingStartedGo-resourceItemDescription {
  color: #555759;
  font-size: 0.8125rem;
  line-height: 1.5rem;
}
.WhoUses-header h4,
.WhyGo-headerH4,
.LearnGo-header h4,
.WhoUses-subheader {
  color: #3e4042;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: normal;
  letter-spacing: 0.006rem;
  line-height: 1.125rem;
  margin-bottom: 1.5rem;
  margin-top: 0;
}
@media only screen and (min-width: 38rem) {
  .WhoUses-header h4,
  .WhyGo-headerH4,
  .LearnGo-header h4,
  .WhoUses-subheader {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}
.Hero {
  color: #fff;
}
.Hero h1 {
  font-size: 2.625rem;
  font-weight: 500;
  letter-spacing: 0.3rem;
  margin: 1rem 0;
}
.Hero h2 {
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.011rem;
  max-width: 40rem;
}
.Hero-gridContainer {
  column-gap: 1rem;
  display: grid;
  grid-template-columns: 3fr minmax(6.25rem, 1fr);
  margin: 0 auto;
  max-width: 40rem;
  padding: 1rem 1.5rem 0;
}
.Hero-actions {
  display: flex;
  flex: 3 1;
  flex-direction: column;
  flex-wrap: wrap;
  grid-column: 1 / 3;
  margin-top: 1rem;
}
.Hero-actions > div {
  display: flex;
  width: 100%;
}
.Hero-actions a,
.Hero-actions a:visited,
.Hero-actions a:hover {
  color: #fff;
  margin: 0.5rem 0;
  max-width: 13.75rem;
  padding: 1rem 0;
  text-align: center;
  text-decoration: underline;
}
.Hero-actions a.Primary,
.Hero-actions a.Secondary {
  align-items: center;
  border-radius: 0.25rem;
  display: flex;
  flex-wrap: nowrap;
  font-size: 0.875rem;
  height: 2.5rem;
  justify-content: center;
  line-height: 1.3125rem;
  margin: 0;
  text-decoration: none;
  width: 100%;
}
.Hero-actions a.Primary {
  margin: 0 1.3125rem 0 0;
}
.Hero-actions a.Primary {
  background-color: #fddd00;
  border: 0.0625rem solid #fddd00;
  box-shadow: 0 0.125rem 0.3125rem 0 rgba(0, 0, 0, 0.2);
  color: #202224;
}
.Hero-actions a.Secondary {
  border: 0.0625rem solid #fff;
  color: #fff;
}
.DownloadBtn-versionNum {
  font-size: 0.6875rem;
  font-weight: 300;
}
.Hero-gopher {
  align-items: flex-end;
  display: flex;
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  justify-content: flex-end;
}
.Hero-gopherLadder {
  bottom: 0;
  height: 15rem;
  max-width: 8rem;
  object-fit: cover;
  object-position: 100% 0;
  right: 0;
  width: 100%;
}
.Hero-blurb {
  grid-column: 1 / 2;
  margin: 0 auto;
}
.Hero-blurb h1 {
  font-size: 1.375rem;
  font-weight: 500;
  letter-spacing: 0.0019rem;
  margin-top: 0;
}
.Hero-blurbList {
  font-size: 0.8125rem;
  list-style: none;
  margin-bottom: 0;
  margin-top: 1rem;
  padding: 0;
}
.Hero-blurbList li {
  line-height: 1.125rem;
  margin-bottom: 0.5rem;
  padding-left: 1.5rem;
  position: relative;
}
.Hero-blurbList svg {
  left: 0;
  margin-right: 0.6875rem;
  position: absolute;
  top: 0.3125rem;
}
.Hero-footnote {
  flex-direction: column;
  font-size: 0.8125rem;
  letter-spacing: 0.007rem;
  margin: 0.5rem 0 1.5rem;
}
.Hero-footnote p {
  margin: 0;
}
.Hero-footnote p + p {
  margin-top: 0.75rem;
}
.Hero-footnote a {
  color: #fff;
  text-decoration: underline;
}
.SubHero-gridContainer {
  display: grid;
  gap: 0 5vw;
  grid-template-columns: 1fr;
}
.SubHero-blurb {
  margin: 0 auto 0;
  max-width: 25rem;
}
.SubHero-blurb:not(:last-of-type) {
  margin: 0 auto 4rem;
}
.SubHero-blurb h3 {
  margin-top: 0;
  text-align: center;
}
.SubHero-blurb p {
  margin-bottom: 0;
}
@media only screen and (min-width: 38rem) {
  .Hero-blurb {
    margin: auto;
  }
}
@media only screen and (min-width: 48rem) {
  .Hero-gridContainer {
    gap: 0 5vw;
    grid-template-columns: 2.5fr minmax(auto, 16.25rem);
    max-width: 75.75rem;
  }
  .Hero-gopherLadder {
    height: 23rem;
    max-width: 11.5rem;
  }
  .Hero-actions {
    align-items: flex-start;
    flex: 1 1;
    flex-direction: row;
    grid-column: 1 / 2;
    justify-content: initial;
  }
  .Hero-actions a,
  .Hero-actions a:visited,
  .Hero-actions a:hover {
    max-width: 17.5rem;
  }
  .Hero-actions a.Primary,
  .Hero-actions a.Secondary {
    font-size: 1.5rem;
    height: 4rem;
    line-height: 1.75rem;
  }
  .Hero-actions a.Secondary {
    margin: 0;
  }
  .Hero-footnote {
    margin: 1rem 0 1.5rem;
  }
  .Hero-blurb {
    grid-column: 1 / 2;
    margin: 2.5rem auto 0;
  }
  .Hero-gopher {
    grid-row: 1 / 3;
  }
  .Hero-blurb h1 {
    font-size: 2.45rem;
    font-weight: 500;
  }
  .Hero-blurbList {
    font-size: 1rem;
  }
  .SubHero-gridContainer {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .SubHero-blurb {
    margin: 0 auto;
  }
  .DownloadBtn-versionNum {
    font-size: 1rem;
    font-weight: 300;
  }
}
.WhoUsesHero {
  background-color: #fafafa;
}
.WhoUses-subheader {
  color: #3e4042;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
  max-width: 25rem;
}
.WhoUsesHero-gridContainer {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.WhoUses-heroImg {
  max-width: 38.75rem;
  width: 100%;
}
.WhoUses-heroInnerLeft {
  line-height: 1.5rem;
  margin-bottom: 2rem;
  margin-right: 0;
  max-width: 19.625rem;
  text-align: center;
  width: 90%;
}
@media only screen and (min-width: 57.7rem) {
  .WhoUses-heroInnerLeft {
    margin-right: 2rem;
    text-align: start;
    width: 19.625rem;
  }
  .WhoUses-subheader {
    max-width: none;
  }
}
.WhoUses-heroInnerLeft h3 {
  font-size: 1.5rem;
  font-weight: normal;
  margin: 1.375rem 0;
}
.WhoUses-heroInnerLeft p {
  color: #6e7072;
  font-size: 0.875rem;
  margin-bottom: 1.188rem;
}
.WhoUsesCaseStudyList {
  align-content: center;
  display: flex;
  flex: 0 0 100%;
  justify-content: space-evenly;
  list-style: none;
}
.WhoUsesCaseStudyList-gridContainer {
  display: grid;
  gap: 0.8rem;
  grid-template-columns: repeat(3, minmax(0, 33.333%));
  margin: 1.5rem auto 3.75rem;
  padding: 0;
  width: 100%;
}
.WhoUsesCaseStudyList-caseStudy {
  align-items: center;
  display: flex;
  flex: 0 1 50%;
  height: 3.8512rem;
  justify-content: center;
  position: relative;
}
.WhoUsesCaseStudyList-caseStudy p {
  display: none;
}
.WhoUsesCaseStudyList-caseStudyLink:link,
.WhoUsesCaseStudyList-caseStudyLink:visited {
  color: #6e7072;
  flex-direction: column;
  text-align: center;
  text-decoration: none;
  transition: box-shadow 0.2s ease-in-out;
}
.WhoUsesCaseStudyList-caseStudyLink:link:hover {
  box-shadow: 0 -0.0625rem 0.3125rem rgba(128, 134, 139, 0.09),
    0 0.1875rem 0.3125rem rgba(128, 134, 139, 0.06),
    0 0.0625rem 0.125rem rgba(60, 64, 67, 0.3),
    0 0.0625rem 0.1875rem rgba(60, 64, 67, 0.15);
}
.WhoUsesCaseStudyList-caseStudyLink img {
  height: auto;
}
@media only screen and (max-width: 38rem) {
  .WhoUsesCaseStudyList-caseStudyLink img {
    max-height: 2rem;
    max-width: 100%;
  }
}
.WhoUsesCaseStudyList-logo {
  margin: auto;
  max-height: 4rem;
  max-width: 9.375rem;
  width: auto;
}
.WhoUsesCaseStudyList-caseStudyLink:link,
.WhoUsesCaseStudyList-caseStudyLink:visited {
  border-radius: 0.25rem;
  box-shadow: #f0f1f2 0 0.0625rem 0.25rem;
  display: flex;
  height: 100%;
  padding: 0 0.3rem;
  width: 100%;
}
.WhoUsesCaseStudyList-seeAll {
  display: inline-block;
  margin-left: 1rem;
}
.WhoUsesCaseStudyList-seeAll:hover {
  text-decoration: none;
}
@media only screen and (min-width: 32rem) {
  .WhoUsesCaseStudyList-gridContainer {
    gap: 1rem 1.125rem;
  }
  .WhoUsesCaseStudyList-caseStudyLink {
    padding: 0 1.5rem;
  }
  .WhoUsesCaseStudyList-caseStudy {
    height: 5.9375rem;
  }
}
@media only screen and (min-width: 57.7rem) {
  .WhoUsesCaseStudyList-gridContainer {
    grid-template-columns: repeat(4, minmax(0, 25%));
  }
  .WhoUsesCaseStudyList-caseStudyLink:link,
  .WhoUsesCaseStudyList-caseStudyLink:visited {
    color: transparent;
  }
  .WhoUses-caseStudy a:link:hover,
  .WhoUses-caseStudy a:visited:hover {
    box-shadow: 0 0.125rem 0.5rem 0 rgba(0, 0, 0, 0.22);
  }
  .WhoUsesCaseStudyList-caseStudyLink:link:hover
    .WhoUsesCaseStudyList-caseStudyLink:visited:hover {
    color: #6e7072;
    transition: all 0.2s ease-in-out;
  }
}
@media only screen and (min-width: 66.75rem) {
  .WhoUsesCaseStudyList-gridContainer {
    grid-template-columns: repeat(6, 1fr);
  }
  .WhoUsesCaseStudyList-caseStudy {
    flex: 0 1 1fr;
  }
}
.FeaturedUsers {
  margin: 2.375rem auto 3.75rem;
}
.FeaturedUsers table {
  border-collapse: collapse;
  margin-bottom: 1.5rem;
}
.FeaturedUsers table thead {
  background-color: #fafafa;
}
.FeaturedUsers table thead th {
  color: #555759;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5rem;
  padding: 0.75rem 0;
}
.FeaturedUsers table thead th:not(:nth-child(1)) {
  text-align: left;
}
.FeaturedUsers table td th:not(:nth-child(1)) {
  text-align: left;
}
.FeaturedUsers table tr td,
.FeaturedUsers table tr th {
  padding: 1rem 0.3rem;
  width: 30%;
}
.FeaturedUsers table tr td:first-of-type {
  padding-left: 1rem;
}
.FeaturedUsers table tr td:first-of-type,
.FeaturedUsers table tr th:first-of-type {
  width: 15%;
}
.FeaturedUsers table tr td:nth-of-type(2),
.FeaturedUsers table tr th:nth-of-type(2) {
  width: 40%;
}
.FeaturedUsers table td {
  color: #3e4042;
  font-size: 0.875rem;
  letter-spacing: 0.0117rem;
  line-height: 1.5rem;
  vertical-align: top;
}
.FeaturedUsers table td ul {
  margin-top: 0;
  padding-left: 1rem;
}
.FeaturedUsers table td ul li {
  font-size: 0.875rem;
  letter-spacing: 0.0117rem;
  line-height: 1.5rem;
}
.FeaturedUsers table thead {
  color: #555759;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5rem;
}
.FeaturedUsers table tbody tr {
  border-bottom: 0.0625rem solid #dcdee0;
}
.FeaturedUsers table tbody tr td {
  margin: 0;
}
.FeaturedUsers table tbody tr td img {
  width: 5rem;
}
.FeaturedUsers-moreProjectsBtn {
  background: transparent;
  border: none;
  color: #5dc9e2;
  cursor: pointer;
  font-size: 0.875rem;
  padding: 0.5rem 0;
  position: relative;
}
.FeaturedUsers--hiddenDesktop {
  display: block;
  height: 3rem;
  margin-bottom: 1rem;
  width: auto;
}
.FeaturedUsers--hiddenMobile,
.FeaturedUsers--hiddenMobile {
  display: none;
}
@media only screen and (max-width: 48rem) {
  .FeaturedUsers table tbody tr td:last-of-type {
    padding-left: 1rem;
    padding-top: 5rem;
  }
}
@media only screen and (min-width: 48rem) {
  .FeaturedUsers--hiddenMobile,
  .FeaturedUsers--hiddenMobile {
    display: table-cell;
  }
  .FeaturedUsers table tr td {
    padding: 1rem 2rem 1rem 0;
    width: 30%;
  }
  .FeaturedUsers--hiddenDesktop {
    display: none;
  }
}
.WhoUsesCaseStudy-librariesWrapper {
  margin-bottom: 2.25rem;
  margin-top: 1.875rem;
}
a.WhoUsesCaseStudy-librariesViewMoreLink {
  color: #007d9c;
  font-size: 0.875rem;
}
.WhoUsesCaseStudy-libraryTitle {
  font-weight: 400;
}
.WhoUsesCaseStudy-librariesList {
  column-gap: 7.375rem;
  display: grid;
  grid-template-columns: 1fr;
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
}
.WhoUsesCaseStudy-librariesList h3 {
  font-weight: 500;
}
.WhoUsesCaseStudy-library {
  margin: 0 0 1.5rem;
}
.WhoUsesCaseStudy-library p {
  color: #3e4042;
  font-size: 1rem;
  letter-spacing: 0.0111rem;
  line-height: 1.1875rem;
  margin: 0.5rem 0 0;
}
.WhoUsesCaseStudy-view-more {
  margin-bottom: 2.5rem;
}
.WhoUsesCaseStudy-view-more a {
  color: #3e4042;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0.0156rem;
  line-height: 1rem;
  margin-bottom: 2.5rem;
  text-align: center;
}
@media only screen and (min-width: 38rem) {
  .WhoUsesCaseStudy-librariesList {
    column-gap: 4rem;
    grid-template-columns: 1fr 1fr;
  }
}
.UseCases-gridContainer {
  flex-direction: row;
  justify-content: space-around;
  margin: -1rem 0 0 -1rem; /* Offset gutters for the leftmost and top cells in the grid. */
}
.UseCase {
  flex: 1 0 15.625rem;
  margin-top: 1rem;
  max-width: 15.625rem;
  padding: 1rem 0 0 1rem; /* Gutter between grid cells. */
}
.UseCase-logo {
  align-items: center;
  background: linear-gradient(10.64deg, #007d9c 0%, #00a29c 100%);
  border-radius: 50%;
  display: flex;
  height: 3.75rem;
  justify-content: center;
  margin: auto;
  width: 3.75rem;
}
.UseCase-logo img {
  height: 2.625rem;
  width: 2.625rem;
}
.UseCase-title {
  text-align: center;
}
.UseCase-action {
  font-size: 1.125rem;
  line-height: 2.5rem;
  text-align: center;
}
.WhyGo-gridContainer {
  align-items: center;
  justify-content: center;
}
.WhyGo-reasons {
  column-gap: 3.313rem;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  justify-content: space-between;
  list-style: none;
  padding-left: 0;
  row-gap: 2rem;
}
.WhyGo-forwardArrowIcon,
.Solutions-forwardArrowIcon {
  font-size: 1rem;
}
@media only screen and (min-width: 57.7rem) {
  .WhyGo-reasons {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width: 72.75rem) {
  .WhyGo-reasons {
    grid-template-columns: repeat(3, 1fr);
  }
}
.WhyGo-reason {
  border: 0.063rem solid #dcdee0;
  border-radius: 0.25rem;
  display: flex;
  flex: 0 30%;
  flex-direction: column;
  height: 100%;
  justify-content: space-between;
  margin-bottom: 1.5rem;
  margin-top: 0;
  max-width: 40rem;
}
.WhyGo-reasonDetails {
  padding: 2rem 2rem 0.188rem;
}
.WhyGo-reasonFooter {
  background-color: rgba(246, 248, 248, 0.35);
  padding: 1rem 2rem 2rem;
}
.WhyGo-reasonIcon {
  margin-bottom: 1rem;
  text-align: left;
}
.WhyGo-reasonIcon img {
  height: 2.25rem;
}
.WhyGo-reasonLearnMoreLink {
  margin-top: 1.5rem;
}
.WhyGo-reasonLearnMoreLink a {
  align-items: center;
  display: flex;
  font-size: 0.875rem;
  letter-spacing: 0.016rem;
  text-decoration: none;
}
.WhyGo-reasonPackages {
  color: #3e4042;
  font-size: 0.875rem;
  letter-spacing: 0.055rem;
}
.WhyGo-reasonPackagesHeader {
  margin-bottom: 0.688rem;
}
.WhyGo-reasonPackagesHeader img {
  height: 0.938rem;
  margin-right: 0.376rem;
  padding: 0.063rem 0 0.063rem;
  vertical-align: bottom;
}
.WhyGo-reasonPackagesList {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 0;
}
.WhyGo-reasonPackage {
  border: 0.063rem solid #bfeaf4;
  border-radius: 0.125rem;
  box-sizing: border-box;
  color: #007d9c;
  font-size: 0.688rem;
  letter-spacing: 0.0129rem;
  line-height: 0.813rem;
  list-style: none;
  margin: 0.125rem 0.5rem 0.5rem 0;
  padding: 0.188rem 0.188rem;

  text-align: center;
}
.WhyGo-reasonShowMoreImgWrapper {
  align-items: center;
  background-color: #fafafa;
  border-radius: 50%;
  display: flex;
  height: 14.313rem;
  margin: 2.5rem auto 1.375rem;
  width: 14.313rem;
}
.WhyGo-reasonShowMoreImg {
  margin-left: 5%;
  width: 100%;
}
.WhyGo-reasonShowMoreLink {
  font-size: 0.875rem;
  letter-spacing: 0.0164rem;
  text-align: center;
}
.WhyGo-reasonShowMoreLink a {
  border: 0.063rem solid #bfeaf4;
  border-radius: 0.125rem;
  box-sizing: border-box;
  display: inline-block;
  padding: 0.275rem 1.063rem 0.275rem 0.275rem;
  text-decoration: none;
}
.WhyGo-reasonShowMoreLink a i {
  padding-bottom: 0.063rem;
  vertical-align: middle;
}
.WhyGo-reasonText p {
  color: #3e4042;
  font-size: 1rem;
  font-weight: normal;
  letter-spacing: 0.006rem;
  line-height: 1.5rem;
}
.WhyGo-reasonTitle {
  color: #202224;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5rem;
}
.WhyGo-gopher {
  flex: 1;
  max-width: 28.4375rem;
  text-align: center;
}
.WhyGo-gopher img {
  width: 100%;
}

.headerWithLink {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.headerWithLink h3 {
  font-weight: 500;
  margin-bottom: 0;
}
.headerLink {
  align-self: center;
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0;
}
.LearnGo-subHeader {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.LearnGo-subHeader h3 {
  color: #6e7072;
  font-size: 1rem;
  font-weight: normal;
}
.LearnGo-courses {
  display: flex;
  flex: 1 0 100%;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-around;
  list-style: none;
  margin: 0 0 1rem -1rem; /* Offset gutters for the leftmost and top cells in the grid. */
  padding-left: 0;
}
@media only screen and (min-width: 72.75rem) {
  .LearnGo-courses {
    justify-content: space-between;
  }
}
.LearnGo-courseItem {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 1rem 0 0 1rem; /* Gutter between grid cells. */
}
.LearnGo-courseItem a {
  color: #3e4042;
}
.LearnGo-courseTitle {
  text-align: center;
}
.LearnGo-courseImage {
  align-items: center;
  background-color: #fff;
  border-radius: 0.3125rem;
  box-shadow: 0 0.125rem 0.5rem 0 rgba(0, 0, 0, 0.22);
  display: flex;
  height: 11rem;
  justify-content: center;
  margin: auto;
  max-width: 16.5rem;
  width: 16.5rem;
}
.LearnGo-courseImage img {
  max-height: 100%;
  max-width: 100%;
}
.GoCarousel-eventsWrapper {
  margin: auto;
  max-width: 68rem;
  overflow: hidden;
  position: relative;
  width: 84vw;
}
.GoCarousel-eventsSlides {
  display: flex;
  left: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  top: 0;
  transition: left 0.2s ease-out;
  width: 625rem;
}
.GoCarousel-eventGroup {
  align-items: flex-start;
  border-radius: 0.125rem;
  cursor: pointer;
  display: flex;
  margin: 1rem 0;
  padding: 1rem;
  position: relative;
  transition: all 1s;
  width: 84vw;
}
.GoCarousel-eventsSlidesingleItem {
  display: flex;
  flex: 1;
  margin-right: 2rem;
}
.GoCarousel-eventThumbnail {
  background-color: #fff;
  border: 0.0625rem solid #dcdee0;
  border-radius: 0.5rem;
  display: flex;
  height: 100%;
  margin-right: 1.3125rem;
  width: 6.625rem;
}
.GoCarousel-eventThumbnail img {
  align-self: center;
  height: auto;
  object-fit: contain;
  padding: 1rem;
  width: 100%;
}
.GoCarousel-eventBody {
  display: inline-flex;
  flex: 1;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  position: relative;
}
.GoCarousel-eventDate {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.GoCarousel-eventDate p {
  color: #555759;
  font-size: 0.8125rem;
  font-style: normal;
  line-height: 1rem;
  margin: 0 0 1.5rem 0;
}
.GoCarousel-eventHeader {
  color: #555759;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.0625rem;
  line-height: 1rem;
  margin: 0 0 0.875rem;
  text-transform: uppercase;
}
.GoCarousel-eventName {
  margin: 0 0 0.25rem 0;
  width: 100%;
}
.GoCarousel-eventName a {
  -webkit-box-orient: vertical;
  color: #202224;
  display: -webkit-box;
  font-weight: 500;
  -webkit-line-clamp: 2;
  line-height: 1.5rem;
  overflow: hidden;
  text-overflow: ellipsis;
}
.LearnGo-eventDescription {
  -webkit-box-orient: vertical; /* See webkit-line-clamp */
  display: -webkit-box; /* See webkit-line-clamp */
  -webkit-line-clamp: 4; /* Elide flex text. webkit-line-clamp is broadly compatible with browsers. */
}
.GoCarousel-viewMore {
  bottom: 0;
  font-size: 0.875rem;
  letter-spacing: 0.026rem;
  line-height: 1rem;
  margin: 0;
  min-width: 6.25rem;
  position: absolute;
}
@media only screen and (min-width: 48rem) {
  .GoCarousel-eventGroup {
    width: 42vw;
  }
}
@media only screen and (min-width: 66.75rem) {
  .GoCarousel-eventThumbnail img {
    display: block;
    margin: auto;
  }
  .GoCarousel-eventDate {
    flex: 0;
    flex-direction: row;
    justify-content: flex-start;
    min-width: 9rem;
  }
  .GoCarousel-eventText {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-width: 0;
    position: relative;
  }
  .GoCarousel-viewMore {
    text-align: left;
    width: 15.625rem;
  }
  .GoCarousel-eventBody {
    display: flex;
    flex-direction: column;
  }
  .GoCarousel-eventGroup {
    max-width: 22.66rem;
    width: 28vw;
  }
}

.Learn-hero {
  background-color: #fafafa;
  background-image: radial-gradient(
    60.0625rem 60.0625rem,
    #bfeaf4 50%,
    #fafafa 50%
  );
  background-position: top -50rem left -9rem;
  background-repeat: no-repeat;
  background-size: 75rem 75rem;
  padding: 0 2.25rem 0;
}

.Learn-hero .Container {
  max-width: 68.125rem;
  position: relative;
  z-index: 1;
}

.Learn-heroInner {
  display: flex;
  flex-direction: column-reverse;
}

.Learn-heroGopher {
  display: flex;
  justify-content: flex-end;
  padding-top: 1.25rem;
}

.Learn-heroGopher img {
  height: 13.5625rem;
  width: auto;
}

.Learn-heroContent {
  padding-top: 1.125rem;
}

.Learn-heroContent a:not(.js-downloadBtn) {
  text-decoration: underline;
}

.Learn-heroContent h1 {
  font-size: 1.5rem;
  font-style: normal;
  font-weight: normal;
  line-height: 2rem;
}

.Learn-heroContent p {
  color: #6e7072;
  font-size: 0.875rem;
  line-height: 1.5rem;
  max-width: 27.1875rem;
}

.Learn-heroAction {
  align-items: center;
  background-color: #007d9c;
  border-radius: 0.25rem;
  display: flex;
  height: 2.5rem;
  justify-content: center;
  width: 10.5rem;
}

.Learn-heroAction a,
.Learn-heroAction a:hover,
.Learn-heroAction a:visited {
  color: #fff;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1rem;
  text-decoration: none;
}

.Learn-heroAction span {
  font-weight: normal;
}

/* Learn page grid rules */

.LearnGo-gridContainer {
  display: flex;
  justify-content: center;
  padding: 0rem 0rem 1rem;
}

.Learn-cardList {
  column-gap: 3.313rem;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  justify-content: space-between;
  list-style: none;
  padding-left: 0;
  row-gap: 2rem;
}

.Learn-card {
  height: 23.375rem;
  max-width: 40rem;
}

@media only screen and (min-width: 48rem) {
  .Learn-cardList {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width: 72.75rem) {
  .Learn-cardList {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* End Learn page grid rules */

/* Learn quickstart grid */

.Learn-hero .Learn-quickstarts {
  margin: 0;
  margin-top: 4rem;
}

.Learn-hero .Learn-quickstart {
  height: auto;
}

.Learn-hero .LearnGo-gridContainer {
  padding: 3rem 0rem 3rem;
}

@media only screen and (min-width: 48rem) {
  .Learn-hero .Learn-cardList {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media only screen and (min-width: 57.7rem) {
  .Learn-hero .Learn-cardList {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media only screen and (min-width: 72.75rem) {
  .Learn-hero .Learn-cardList {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Learn hero section */

@media only screen and (min-width: 57.7rem) {
  .Learn-hero {
    background-position: top -35rem left 30rem;
  }

  .Learn-heroInner {
    flex-direction: row;
    justify-content: space-between;
  }

  .Learn-heroContent {
    padding-top: 3.75rem;
  }

  .Learn-heroGopher {
    flex: 1;
    justify-content: center;
    padding-top: 2.625rem;
  }

  .Learn-heroGopher img {
    height: 21.0625rem;
  }

  .Learn-heroAction {
    height: 4rem;
    width: 16.5625rem;
  }

  .Learn-heroAction a,
  .Learn-heroAction a:hover,
  .Learn-heroAction a:visited {
    font-size: 1.5rem;
    line-height: 1.75rem;
  }

  .Learn-heroAction span {
    font-size: 1rem;
  }
}

@media only screen and (min-width: 91rem) {
  .Learn-hero {
    background-position: top -35rem left 50rem;
  }
}

.Learn-guided,
.Learn-online,
.Learn-selfPaced,
.Learn-books,
.Learn-inPersonTraining,
.Learn-meetups {
  margin-top: 3.75rem;
  padding: 0 1.5rem;
}

.Learn-learningResources {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin: 3.75rem 0;
}

.Learn-learningResources h2,
.Learn-learningResourcesHeader h3 {
  margin: 0;
}

.Learn-learningResources h2 {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1875rem;
  line-height: 2.3125rem;
}

.Learn-learningResourcesHeader {
  display: flex;
  justify-content: center;
}

.Learn-learningResourcesHeader h3 {
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: normal;
  line-height: 2.25rem;
}

.Learn-selfPaced .Learn-card .Card-content {
  justify-content: space-between;
}

.Learn-online .Card-thumbnail {
  background-position: 1.5rem center;
  background-repeat: no-repeat;
  background-size: auto 1.5rem;
  height: 7.5625rem;
}

.Learn-selfPaced .Learn-card {
  height: 20.3125rem;
}

@media only screen and (min-width: 48rem) {
  .Learn-learningResourcesHeader {
    display: flex;
    justify-content: flex-start;
  }

  .Learn-learningResourcesHeader h2 {
    font-size: 2.25rem;
    line-height: 2.625rem;
  }
}

.Learn-cardList.Learn-bookList {
  grid-template-columns: repeat(1, 1fr);
  width: 100%;
}

.Learn-card.Learn-book {
  height: auto;
}

@media only screen and (min-width: 48rem) {
  .Learn-cardList.Learn-bookList {
    grid-template-columns: repeat(3, 1fr);
  }

  .Learn-card.Learn-book {
    max-width: 13.125rem;
  }
}

@media only screen and (min-width: 57.7rem) {
  .Learn-cardList.Learn-bookList {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media only screen and (min-width: 72.75rem) {
  .Learn-cardList.Learn-bookList {
    grid-template-columns: repeat(5, 1fr);
  }
}

.Learn-inPersonList {
  display: flex;
  flex: 1 0 100%;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style: none;
  margin: 1.875rem 0 1.875rem -1rem; /* Offset gutters for the leftmost and top cells in the grid. */
  padding-left: 0;
}

.Learn-inPerson {
  border-bottom: 0.0625rem solid #dcdee0;
  flex: 1 1 31.25rem;
  margin: 0 0 0 1rem; /* Gutter between grid cells. */
  max-width: 31rem;
  padding-bottom: 1.25rem;
}

.Learn-inPerson:nth-child(1),
.Learn-inPerson:nth-child(2) {
  border-top: 0.0625rem solid #dcdee0;
}
.Learn-inPersonTitle {
  font-size: 1.25rem;
}
.Learn-inPersonBlurb {
  margin: 0;
}

.Learn-events {
  flex: 1 0 100%;
  list-style: none;
  margin: 0.5rem 0 1.875rem;
  padding: 0;
  width: 100%;
}
.Learn-eventItem {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  padding: 1.875rem 0 0.175rem 0;
}
.Learn-eventItem + .Learn-eventItem {
  border-top: 0.0625rem solid #dcdee0;
}

.Learn-eventThumbnail {
  align-self: center;
  display: flex;
  flex: 0 0 3rem;
  height: auto;
  margin-bottom: 1rem;
}
.Learn-eventThumbnail--noimage {
  background-color: #fff;
}
.Learn-eventThumbnail img {
  height: auto;

  object-fit: cover;
  width: 100%;
}
.Learn-eventAttendees {
  display: flex;
}
.Learn-eventAttendeesItem img {
  border-radius: 100%;
  height: 2rem;
  width: 2rem;
}
.Learn-eventBody {
  display: flex;
  flex: 1;
  flex-direction: column;
  max-width: 100%;
  min-width: 0;
}
.Learn-eventDate {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;

  margin-bottom: 1rem;
}
.Learn-eventDate p {
  color: #6e7072;
  margin: 0;
}
.Learn-eventName {
  color: #202224;
  font-size: 1.25rem;
  font-weight: 500;
  margin: 0;

  margin-bottom: 1rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.Learn-eventName a {
  color: #202224;
  text-decoration: none;
}
.Learn-eventDescription {
  -webkit-box-orient: vertical; /* See webkit-line-clamp */
  display: -webkit-box; /* See webkit-line-clamp */
  -webkit-line-clamp: 4; /* Elide flex text. webkit-line-clamp is broadly compatible with browsers. */
  line-height: 24px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.Learn-eventText {
  margin-bottom: 0.5rem;
}
.Learn-viewMore {
  align-items: center;
  display: flex;
  font-size: 0.875rem;
  margin: 0;
  min-width: 6.25rem;
}
.Learn-viewMore:hover {
  text-decoration: none;
}
.Learn-viewMore span {
  font-size: 1rem;
  margin-left: 0.48rem;
}
@media only screen and (min-width: 33.75rem) {
  .Learn-eventItem {
    flex-direction: row;
  }

  .Learn-eventBody {
    max-width: 46.825rem;
  }
  .Learn-eventThumbnail {
    height: 8rem;
    margin-bottom: 0;
    margin-right: 1rem;
    min-width: 8rem;
  }
  .Learn-eventThumbnail img {
    height: 8rem;
    object-fit: contain;
    width: 8rem;
  }
  .Learn-eventDate {
    flex: 0;
    flex-direction: column;
    justify-content: center;
    min-width: 9rem;
  }
  .Learn-eventText {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding-right: 2rem;
  }
  .Learn-eventDescription {
    -webkit-line-clamp: 2; /* see non-media-query definition. */
    margin: 0 0 0.5rem;
  }
  .Learn-viewMore {
    align-self: center;
    text-align: right;
  }
  .Learn-eventItem {
    padding: 1.875rem 0;
  }
}

.Learn-tile a {
  width: 100%;
}

.Learn-tileList {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  padding: 0;
}
@media only screen and (min-width: 38rem) {
  .Learn-tileList {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (min-width: 48rem) {
  .Learn-tileList {
    justify-content: space-between;
  }
  .Learn-tileList {
    column-gap: 3rem;
  }
}
.Learn-tile {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.Learn-tile a {
  color: #3e4042;
}
.Learn-tileTitle {
  display: block;
  font-size: 0.75rem;
  font-style: normal;
  font-weight: normal;
  letter-spacing: 0.01rem;
  line-height: 0.875rem;
  margin: 1.5rem auto 0;
  overflow-wrap: break-word;
  text-align: center;
}
.Learn-tileThumbnail {
  align-items: center;
  background-color: #fff;
  border-radius: 0.3125rem;
  box-shadow: 0 0.125rem 0.5rem 0 rgba(0, 0, 0, 0.22);
  display: flex;
  justify-content: center;
  margin: auto;
  width: 100%;
}
.Learn-tileThumbnail img {
  max-height: 100%;
  max-width: 100%;
}
.Learn-tileThumbnail--book img {
  max-height: 100%;
  max-width: 100%;
}

.Solutions-title,
.Solutions-useCases,
.Solutions-caseStudies {
  margin: auto;
  max-width: 75.75rem;
}
.Solutions-title,
.Solutions-useCases,
.Solutions-caseStudies {
  padding: 0 1.5rem;
}
.SolutionsHeroCarousel-wrapper {
  max-width: 68rem;
  width: 76vw;
}
.SolutionsHeroCarousel-slides {
  transition: left 0.2s ease-out;
}
.GoCarousel-controlNext-solutionsHero {
  right: 0.5rem;
}
.GoCarousel-controlPrev-solutionsHero {
  left: 0.5rem;
}
.SolutionsHeroCarousel-slides {
  display: flex;
  left: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  top: 0;
  width: 625rem;
}
.SolutionsHeroCarousel-slide {
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 68rem;
  padding: 0 0.2rem;
  position: relative;
  width: 76vw;
}
@media only screen and (min-width: 38rem) {
  .SolutionsHeroCarousel-wrapper,
  .SolutionsHeroCarousel-slide {
    width: 82vw;
  }
  .GoCarousel-controlPrev-solutionsHero {
    left: 2rem;
  }
  .GoCarousel-controlNext-solutionsHero {
    right: 2rem;
  }
}
.Solutions-headline .Container {
  display: flex;
}
.Solutions-useCases,
.Solutions-caseStudies {
  margin-bottom: 6.25rem;
}
.Solutions-title {
  padding: 5rem 1.5rem 3rem;
}
.Solutions-title h1,
.WhoUsesSubPage-heroInner--caseStudy h1,
.WhoUsesSubPage-heroInner--useCase h1 {
  font-size: 1.5rem;
  font-style: normal;
  font-weight: normal;
  line-height: 2rem;
  margin-bottom: 0.5rem;
}
.WhoUsesSubPage-heroInner--caseStudy h1 {
  margin-top: 0;
}
.WhoUsesSubPage-heroInner--useCase h1 {
  margin-top: 1rem;
}
.Solutions-title h1 {
  text-align: center;
}
.Solutions-title h3 {
  color: #3e4042;
  font-size: 1rem;
  font-weight: normal;
  letter-spacing: 0.0063rem;
  line-height: 1.5rem;
  margin-bottom: 0;
  text-align: center;
}
.Solutions-headlineText {
  display: inline-block;
}
.Solutions-headlineImg {
  margin-top: 1.5rem;
  position: relative;
  width: 100%;
}
.Solutions-headlineImg img {
  display: block;
  width: 100%;
}
.Solutions-headlineBody {
  align-items: flex-start;
  color: #6e7072;
  display: flex;
  flex-direction: column;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.5rem;
  margin-bottom: 1.5rem;
}
.Solutions-headlineBody a {
  align-items: center;
  display: flex;
  margin-top: 1rem;
  text-decoration: none;
}
.Solutions-headlineBody a i,
.WhyGo-reasonLearnMoreLink a i,
.WhyGo-reasonShowMoreLink a i {
  margin-left: 0.2rem;
  text-decoration: none;
  transition: transform 100ms ease-in-out;
}
.Solutions-headlineBody a:hover i,
.WhyGo-reasonLearnMoreLink a:hover i,
.WhyGo-reasonShowMoreLink a:hover i {
  transform: translateX(0.2rem);
}
.Solutions-headlineNotification {
  color: #6e7072;
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 500;
  line-height: 2.25rem;
  margin: 1.5rem 0;
}
.Solutions-headline {
  background-color: #fafafa;
}
.Solutions-headline h2 {
  color: #202224;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: normal;
  line-height: 2rem;
  margin-bottom: 1rem;
}
@media only screen and (min-width: 66.75rem) {
  .SolutionsHeroCarousel-slide {
    align-items: center;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
  .Solutions-headlineText {
    width: 33%;
  }
  .Solutions-headlineImg {
    height: 100%;
    margin-bottom: 0;
    width: 60%;
  }
  .Solutions-headlineImg img {
    max-height: 100%;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(0, -50%);
  }
}
.SolutionsTabs-tabList {
  margin-top: 4rem;
  width: 100%;
}
.SolutionsTabs-tabList hr {
  border: 0.0625rem solid #c6c8ca;
  margin: -0.0625rem 0 2rem;
}
.SolutionsTabs-tab {
  background-color: #fff;
  border-style: none;
  color: #202224;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25rem;
  margin-right: 1.625rem;
  outline: none;
  padding: 0.375rem 0;
}
.SolutionsTabs-tab:focus {
  border-bottom: 0.25rem solid #c6c8ca;
}
.SolutionsTabs-tab:last-of-type {
  margin-right: 0;
}
.SolutionsTabs-tab[aria-selected='true'] {
  border-bottom: 0.25rem solid #007d9c;
}
@media only screen and (min-width: 48rem) {
  .SolutionsTabs-tab {
    font-size: 1.125rem;
    margin-right: 4rem;
  }
}
.Solutions-useCasesHeader h2,
.Solutions-caseStudiesHeader h2 {
  letter-spacing: 0.125rem;
}
.Solutions-cardList,
.Solutions-caseStudyList {
  display: grid;
  grid-gap: 1.5rem;
  grid-template-columns: repeat(1, 1fr);
  list-style: none;
  padding-left: 0;
}
.Solutions-cardList[hidden] {
  display: none;
}
.Solutions-caseStudiesList {
  margin: 0 0 1rem 0;
}
.Solutions-card {
  background: #fff;
  border: 0.0625rem solid #c6c8ca;
  border-radius: 0.625rem;
  box-sizing: border-box;
  flex: 0 100%;
}
@media only screen and (min-width: 38rem) {
  .Solutions-cardList {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width: 57.7rem) {
  .Solutions-card {
    box-shadow: none;
    flex: 0 48%;
  }
  .Solutions-card:hover {
    box-shadow: 0 0.125rem 0.5rem 0 rgba(0, 0, 0, 0.22);
    transition: all 0.2s ease-in-out;
  }
  .Solutions-cardList {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media only screen and (min-width: 62.5rem) {
  .Solutions-card {
    box-shadow: none;
    flex: 0 30%;
  }
}
.Solutions-useCaseLogo {
  height: 5rem;
  margin: 0 2rem;
  width: 100%;
}
.Solutions-card a:link,
.Solutions-card a:visited {
  color: #202224;
  display: block;
  text-decoration: none;
}
.Solutions-useCaseAction {
  bottom: 1rem;
  color: #007d9c;
  font-size: 1rem;
  font-weight: normal;
  letter-spacing: 0.0063rem;
  line-height: 1.5rem;
  position: absolute;
}
.Solutions-useCaseAction {
  align-items: center;
  display: flex;
}
.Solutions-useCaseAction i {
  margin-left: 0.5rem;
}
.Solutions-useCaseDescription {
  color: #6e7072;
  font-size: 1rem;
  font-style: normal;
  font-weight: normal;
  letter-spacing: 0.0063rem;
  line-height: 1.5rem;
}
.Solutions-useCaseTitle {
  color: #202224;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5rem;
}
.Solutions-useCaseBody {
  flex: 1;
  justify-content: center;
  margin-bottom: 2.5rem;
}

.Solutions-useCaseLogo {
  display: flex;
  flex: 1;
  justify-content: center;
  margin: 0;
}

.Solutions-useCaseLogo img {
  align-self: center;
  max-height: 4rem;
  max-width: 11rem;
}
.Solutions-useCaseLink {
  height: 100%;
  padding: 2rem 2rem 3rem;
  position: relative;
}
.Solutions-footer {
  margin: 2rem 0 2.875rem;
}
.Solutions-footer p {
  color: #202224;
  font-size: 1.125rem;
  font-weight: normal;
  letter-spacing: 0.007rem;
  line-height: 1.5rem;
}
.TestimonialsGo-quotes {
  display: flex;
  left: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  top: 0;
  transition: left 0.2s ease-out;
  width: 625rem;
}
.TestimonialsGo-quoteGroup {
  align-items: flex-start;
  display: flex;
  margin: 0 0;
  max-width: 62.5rem;
  padding: 3.75rem 2rem 2.25rem;
  width: 90vw;
}
.TestimonialsGo-quoteSingleItem {
  display: flex;
  flex: 1;
}
.TestimonialsGo-quoteContainer {
  display: inline-flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}
.TestimonialsGo-quoteSection {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.TestimonialsGo-quoteSection p {
  color: #202224;
  font-size: 0.875rem;
  letter-spacing: 0.0082rem;
  line-height: 1.5rem;
  text-align: center;
}
.TestimonialsGo-author {
  color: #3e4042;
  font-size: 0.8rem;
  font-style: normal;
  font-weight: normal;
  line-height: 1.5rem;
  text-align: right;
  width: 100%;
}
.PullQuote-title,
.BackgroundQuote-title {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.NoWrapSpan {
  white-space: nowrap;
}
@media only screen and (min-width: 52rem) {
  .TestimonialsGo-quote {
    font-size: 1.3125rem;
  }
  .TestimonialsGo-author {
    font-size: 1rem;
  }
  .TestimonialsGo-quoteSection p {
    font-size: 1.3125rem;
    letter-spacing: 0.0082rem;
    line-height: 2.25rem;
  }
}
.PullQuote {
  color: #6e7072;
  margin-bottom: 2rem;
}
.PullQuote-body {
  margin: 1.5rem 0 1rem;
}
.PullQuote-link,
p.PullQuote-body,
p.BackgroundQuote-body {
  color: inherit;
}
.PullQuote-author,
.BackgroundQuote-author {
  display: flex;
  flex-wrap: wrap;
  font-style: normal;
  font-weight: 500;
  justify-content: flex-end;
  margin-left: auto;
  margin-top: 1rem;
}
.PullQuote-author {
  font-size: 0.875rem;
}
.BackgroundQuote {
  background-color: #007d9c;
  color: #fff;
  margin: 1.5rem auto;
  padding: 2rem 1.5rem;
}
p.BackgroundQuote-body {
  font-size: 1.3125rem;
  line-height: 2.25rem;
}
.QuoteBlock {
  border-bottom: 0.25rem solid #007d9c;
  border-top: 0.25rem solid #007d9c;
  display: block;
  float: none;
  margin-bottom: 1.5rem;
  margin-left: 0;
  margin-right: 0;
  margin-top: 1.5rem;
  padding-bottom: 0.5rem;
  width: 100%;
}
@media only screen and (min-width: 48rem) {
  .QuoteBlock {
    float: right;
    margin-top: 0;
    width: 46%;
  }
  .PullQuote-body {
    font-size: 1.125rem;
    line-height: 1.75rem;
    margin: 1.5rem 0 1rem;
  }
  .BackgroundQuote-body {
    margin-top: 0;
  }
  .BackgroundQuote {
    padding: 3rem 4rem 2rem;
  }
  .PullQuote-author {
    font-size: 1rem;
  }
}
.QuoteBlock-body {
  color: #3e4042;
  font-size: 1.125rem;
  letter-spacing: 0.007rem;
  line-height: 2rem;
}
.QuoteBlock-author {
  color: #3e4042;
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  line-height: 3rem;
}
.QuoteBlock-link {
  color: #6e7072;
}
.LargeMedia {
  align-items: flex-start;
  display: flex;
  padding: 2.125rem 0.5rem;
}
.LargeMedia + .LargeMedia {
  border-top: 0.0625rem solid #dcdee0;
}
.LargeMedia-image {
  height: 5rem;
  margin-right: 1rem;
  object-fit: contain;
  width: 5rem;
}
.LargeMedia-body {
  flex: 1;
}

.SmallMedia-image {
  height: 3rem;
  margin-right: 1rem;
  object-fit: contain;
  width: 3rem;
}

.XLargeMedia-image {
  height: 8rem;
  margin-right: 1rem;
  object-fit: contain;
  width: 8rem;
}

@media only screen and (min-width: 48rem) {
  .LargeMedia {
    align-items: center;
  }
  .SmallMedia-image {
    height: 9rem;
    margin-right: 5.5rem;
    width: 9rem;
  }
  .LargeMedia-image {
    height: 12.5rem;
    margin-right: 5.5rem;
    width: 12.5rem;
  }
  .XLargeMedia-image {
    height: 18rem;
    margin-right: 1rem;
    object-fit: contain;
    width: 18rem;
  }
}
.MediaList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  list-style: none;
  padding: 0;
}
.MediaList-item {
  flex: 0 1 14rem;
  justify-content: space-around;
  text-align: center;
}
.MediaList-itemImage {
  height: 10rem;
  object-fit: contain;
  width: 10rem;
}
.MediaList-itemTitle {
  color: #202224;
}
.MediaList-itemBody {
  color: #555759;
}
@media only screen and (min-width: 48rem) {
  .MediaList {
    margin-left: -2rem; /* First item of each row should have no left gutter */
  }
  .MediaList-item {
    flex: 0 0 12rem;
    margin-left: 2rem; /* Gutter between items */
  }
}
.MediaList-itemBox {
  background-color: #f8f8f8;
  box-shadow: 0 0.125rem 0.5rem 0 rgba(0, 0, 0, 0.22);
  flex: 0 1 33.125rem;
  justify-content: space-around;
  margin-top: 2rem;
  padding: 1.5rem;
}
.MediaList-itemBoxHeader-top {
  align-items: center;
  flex-direction: column;
  margin: auto;
  text-align: center;
  width: 10.75rem;
}
.MediaList-itemBoxHeader {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin: auto;
  text-align: center;
  width: 10.75rem;
}
.MediaList-itemBoxImage {
  height: 5.125rem;
  object-fit: contain;
  width: 5.125rem;
}
.MediaList-itemBox .MediaList-itemBoxTitle {
  color: #202224;
  font-size: 1.5rem;
  font-weight: normal;
  margin: 0.5rem 0 0 0;
}
.MediaList-itemBox .MediaList-itemBoxBody {
  align-self: flex-end;
  color: #555759;
  flex: 1;
}
.MediaList-itemBox .MediaList-itemBoxBody-top {
  align-self: flex-start;
  color: #555759;
  flex: 1;
  margin: auto !important;
}
@media only screen and (min-width: 48rem) {
  .MediaList-itemBoxHeader {
    justify-content: flex-end;
    margin: 0 1rem 1.5rem 0;
  }
  .MediaList-itemBox {
    display: flex;
    flex: 0 0 33.125rem;
    margin: 2rem 0 0 2rem; /* Gutter between grid cells. */
    min-height: 15.0625rem;
  }
  .MediaList-itemBox .MediaList-itemBoxBody {
    margin: 0 1.3rem 2rem 0;
  }
}
.StarItem {
  align-items: flex-start;
  display: flex;
}
.StarItem-icon {
  align-items: center;
  background: linear-gradient(10.64deg, #007d9c 0%, #00a29c 100%);
  border-radius: 50%;
  display: flex;
  height: 1.5rem;
  justify-content: center;
  margin: 1.1rem 1.25rem 0 0;
  width: 1.5rem;
}
.StarItem-image {
  height: 1.25rem;
  object-fit: contain;
  width: 1.25rem;
}
.StarItem-body {
  flex: 1;
}
.StarItem-title {
  margin: 1rem 0;
}

.Right {
  float: right;
  margin-left: 1rem;
}
.Left {
  float: left;
  margin-right: 1rem;
}
.SearchForm {
  align-items: center;
  background-color: transparent;
  border-radius: 0.25rem;
  display: flex;
  flex: 1;
  font-size: 1rem;
  height: 2rem;
  margin: 0.6875rem 0;
  max-width: 2rem;
  transition: max-width 200ms;
}
.SearchForm--open {
  background-color: #fff;
  margin-left: 1.5rem;
  max-width: 100%;
}
.SearchForm svg {
  fill: #fff;
}
.SearchForm--open svg {
  fill: #555759;
  margin-right: 0.5rem;
}
.SearchForm-input {
  height: 100%;
  opacity: 0;
  padding: 0;
  transition: width 200ms, padding 200ms, opacity 200ms;
  width: 0;
}
.SearchForm--open .SearchForm-input {
  flex: 1;
  opacity: 1;
  padding: 0.5rem;
  transition: width 200ms, padding 200ms;
  width: 100%;
}
.SearchForm-input::placeholder {
  color: #848688;
}
.SearchForm-input {
  background-color: transparent;
  border: none;
  box-sizing: border-box;
  font: inherit;
  opacity: 0;
  outline: none;
}
.SearchForm-submit {
  background-color: transparent;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
  display: flex;
  outline: 0;
  padding: 0;
}
.SearchForm svg {
  box-sizing: border-box;
  cursor: pointer;
  margin-left: 0.5rem;
  width: 1.4375rem;
}
@media only screen and (min-width: 32rem) {
  .Header-rightContent {
    width: 100%;
  }
  .SearchForm {
    background-color: #fff;
    margin: 0.6rem 1.4rem 0.6rem 0;
    max-width: none;
  }
  .SearchForm-input {
    opacity: 1;
    padding: initial;
    width: 100%;
  }
  .SearchForm svg {
    fill: #555759;
    margin-right: 0.5rem;
  }
}
.Series-list {
  list-style: none;
  padding: 0;
}
.Series-listItem {
  display: flex;
}
.Series-listItem a {
  display: flex;
  flex: 1;
  padding: 1.25rem 0;
}
.Series-listItem + .Series-listItem {
  border-top: 0.0625rem solid #dcdee0;
}
.Series-listItemIcon {
  margin-right: 1rem;
}
.Series-listItemIcon img {
  width: 4rem;
}
.Series-listItemText {
  flex: 1;
}
.Series-listItemPrimary {
  display: block;
  font-size: 1.125rem;
  margin: 0;
}
.Series-listItemSecondary {
  color: #202224;
  display: inline-block;
  margin-bottom: 0;
  text-decoration: none;
}
.UseCaseSubNav {
  background-color: #fff;
  box-shadow: 0 0.125rem 0.125rem rgba(171, 171, 171, 0.405239);
  position: fixed;
  width: 100%;
  z-index: 10;
}
.UseCaseSubNav--default {
  top: 3.5rem;
}
.UseCaseSubNav--lower {
  top: calc(3.5rem + 9.75rem);
}
.UseCaseSubNav-menu {
  background-color: #fff;
  box-shadow: 0 0.125rem 0.125rem rgba(171, 171, 171, 0.405239);
  max-height: 0;
  overflow: hidden;
  padding-left: 1rem;
  position: absolute;
  transition: max-height 100ms ease-in-out;
  width: 100%;
}
.UseCaseSubNav-menuHeader {
  align-items: center;
  background: transparent;
  border: none;
  color: #555759;
  cursor: pointer;
  display: flex;
  font-size: 0.875rem;
  justify-content: space-between;
  outline: none;
  padding: 0.8125rem 1rem 0.8125rem 1.6875rem;
  width: 100%;
}
.UseCaseSubNav-menuIcon {
  pointer-events: none;
  transition: transform 100ms ease-in-out;
}
.UseCaseSubNav-menuIcon--open {
  transform: rotate(180deg);
}
.UseCaseSubNav-menu--open {
  max-height: 25rem;
  padding-bottom: 2rem;
}
.UseCase-content {
  display: flex;
  flex-direction: row;
}
.CaseStudy-content {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
}
.CaseStudy-contentBody img {
  width: 100%;
}
.CaseStudy-contentBody hr {
  border: 0.0625rem solid #c6c8ca;
  margin: 2rem 0 2rem;
}
.CaseStudy-contentAside {
  flex: 0 0 33.33%;
  min-width: 18.75rem;
}
.UseCase-contentAside {
  display: none;
}
.UseCase-content {
  margin-top: 2rem;
}
.UseCase-contentBody {
  flex: 0 0 100%;
  margin-top: 1rem;
  max-width: 47.8125rem;
  width: 100%;
}
.UseCase-contentBody h2:first-of-type,
.UseCase-contentBody h3:first-of-type {
  margin-top: 0;
}
.UseCase-contentBody h2,
.FeaturedUsers h2:first-of-type {
  margin-bottom: 1.5rem;
  margin-top: 3rem;
}
@media only screen and (min-width: 57.7rem) {
  .CaseStudy-content {
    grid-template-columns: 2fr 1fr;
  }
  .UseCase-contentAside {
    display: block;
    flex: 0 0 20%;
    position: sticky;
  }
  .UseCaseSubNav {
    display: none;
  }
  .UseCase-contentBody {
    flex: 0 0 80%;
    order: 1;
    width: 80%;
  }
  .CaseStudy-contentAside {
    order: 2;
  }
  .CaseStudy-contentBody {
    order: 1;
  }
}
.UseCaseSubNav-anchorLinks {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
}
.UseCaseSubNav-anchorLinks--sticky {
  position: fixed;
  top: 5.5rem;
}
a.UseCase-anchorLink {
  background: transparent;
  border: none;
  color: #202224;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5rem;
  margin-top: 1rem;
  padding-left: 0.5rem;
  position: relative;
}
a.UseCase-anchorLink:first-of-type {
  margin-top: 1.5rem;
}
a.UseCase-anchorLink.selected {
  font-weight: 500;
}
a.UseCase-anchorLink.selected::before {
  background-color: #007d9c;
  border-radius: 1rem;
  content: ' ';
  display: inline-block;
  height: 0.3rem;
  left: -0.5rem;
  position: absolute;
  top: 0.5rem;
  width: 0.3rem;
}
.WhoUsesSubPage-hero--useCase {
  margin-top: 2.625rem;
}
.WhoUsesSubPage-heroInner--caseStudy,
.WhoUsesSubPage-heroInner--useCase {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 1.5rem;
  position: relative;
}
.WhoUsesSubPage-heroInner--useCase {
  background-color: #fafafa;
  padding-bottom: 2.5rem;
  padding-top: 3.5rem;
}
.WhoUsesSubPage-heroInner--caseStudy > div {
  justify-content: center;
}
.WhoUsesSubPage-heroContent--caseStudy {
  display: flex;
  flex-direction: column-reverse;
  max-width: 75.75rem;
  position: relative;
  z-index: 1;
}
.WhoUsesSubPage-heroContent--useCase {
  margin: auto;
  max-width: 75.75rem;
  width: 100%;
}
.WhoUsesSubPage-heroText--caseStudy,
.WhoUsesSubPage-heroText--useCase {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
}
.WhoUsesSubPage-heroText--caseStudy {
  padding: 2rem 1.5rem;
}
.WhoUsesSubPage-heroText--useCase {
  padding: 0 1.5rem;
}
.WhoUsesSubPage-heroImg {
  background: -webkit-linear-gradient(0deg, #fafafa 50vw, #bfeaf4 50vw);
  display: flex;
  max-width: 75.75rem;
  padding-left: 1.5rem;
  position: relative;
  width: 100%;
  z-index: 1;
}
.WhoUsesSubPage-heroImg img {
  height: auto;
  max-height: 10.625rem;
  min-height: 8rem;
  width: auto;
}
@media only screen and (min-width: 38rem) {
  .Solutions-title h1,
  .WhoUsesSubPage-heroInner--caseStudy h1,
  .WhoUsesSubPage-heroInner--useCase h1 {
    font-size: 2.25rem;
    line-height: 3rem;
  }
  .WhoUsesSubPage-heroImg {
    background: -webkit-linear-gradient(0deg, #fafafa 40vw, #bfeaf4 40vw);
  }
  .WhoUsesSubPage-heroImg img {
    max-height: 15.625rem;
    min-height: 10.625rem;
  }
}
@media only screen and (min-width: 57.7rem) {
  .WhoUsesSubPage-hero--useCase {
    margin-top: 0;
  }
  .WhoUsesSubPage-heroInner--caseStudy {
    background: -webkit-linear-gradient(0deg, #fafafa 70vw, #bfeaf4 70vw);
    flex-direction: row;
  }
  .WhoUsesSubPage-heroContent--caseStudy {
    align-items: center;
    flex-direction: row;
  }
  .WhoUsesSubPage-heroImg {
    background: transparent;
    min-width: 37.75rem;
    padding: 0;
    width: 55%;
  }
  .WhoUsesSubPage-heroText--caseStudy {
    width: 45%;
  }
  .WhoUsesSubPage-heroImg img {
    max-height: none;
    min-height: 18.75rem;
    width: 100%;
  }
  .WhoUsesSubPage-heroInner--useCase h1 {
    margin-top: 3rem;
  }
}
.ToolsBlurbs {
  display: grid;
  gap: 2rem 3.4375rem;
  grid-template-columns: 1fr;
  margin-top: 1.5rem;
}
.ToolsBlurbs-blurb {
  background-color: #fff;
  border: 0.0625rem solid #dcdee0;
  border-radius: 0.25rem;
  padding: 1.5rem 1rem;
}
.ToolsBlurbs-blurbHeader {
  align-items: center;
  display: flex;
}
.ToolsBlurbs-blurbIcon {
  height: 1.5rem;
  margin-right: 1rem;
  width: 1.5rem;
}
@media only screen and (min-width: 48rem) {
  .ToolsBlurbs {
    grid-template-columns: 1fr 1fr;
  }
}
img.PullQuote-image {
  width: 2.625rem;
}

.Card {
  background-color: #fff;
  border: 0.0625rem solid #c6c8ca;
  border-radius: 0.25rem;
  height: 100%;
}

.Card a,
.Card a:visited,
.Card a:hover {
  text-decoration: none;
}

.Card-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.Card-thumbnail {
  background-position: center;
  background-size: cover;
  height: 9.5625rem;
}

.Card-content {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 1.5rem;
}

.Card-contentTitle,
.Card-contentBody {
  line-height: 1.5rem;
}

.Card-contentTitle {
  color: #202224;
  font-size: 1.125rem;
  font-weight: 500;
}

.Card-contentBody {
  color: #6e7072;
  flex: auto;
  font-size: 0.875rem;
  margin-top: 1rem;
}

.Card-contentCta {
  align-items: center;
  display: flex;
}

.Card-contentCta span {
  margin-right: 0.6875rem;
}

.Card-selfPacedFooter {
  display: flex;
}

.Card-selfPacedCredits {
  color: #6e7072;
  flex: 1;
  font-size: 0.75rem;
}

.Card-selfPacedRating {
  width: 5rem;
}

.Card-starRating {
  background-image: url('/images/learn/star-rating.png');
  background-position: left;
  background-repeat: no-repeat;
  height: 1rem;
}

.Book a,
.Book a:visited,
.Book a:hover {
  text-decoration: none;
}

.Book-inner {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
}

.Book-thumbnail {
  width: 6.625rem;
}

.Book-thumbnail img {
  width: 100%;
}

.Book-content {
  flex: 1;
  margin-left: 1.6875rem;
}

.Book-title {
  color: #202224;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5rem;
  margin: 0 0 0.5rem;
}

.Book-description {
  color: #6e7072;
  font-size: 0.875rem;
  line-height: 1.5rem;
}

.Book-cta {
  align-items: center;
  display: flex;
  height: 1.5rem;
}

.Book-cta span {
  margin-right: 0.6875rem;
}

@media only screen and (min-width: 48rem) {
  .Book-inner {
    flex-direction: column;
  }

  .Book-thumbnail {
    width: 100%;
  }

  .Book-content {
    margin: 1rem 0 0;
  }
}
