@charset "UTF-8";

*,
*::before,
*::after {
  box-sizing: border-box;
}

::-moz-selection {
  background: rgba(70, 145, 206, 0.7);
  color: rgb(255, 255, 255);
}

::selection {
  background: rgba(70, 145, 206, 0.7);
  color: rgb(255, 255, 255);
}

body {
  font-family: "canada-type-gibson", "Gibson", sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  color: rgb(51, 51, 51);
  font-smooth: always;
  margin: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

a {
  color: #2E76AD;
  text-decoration: none;
  position: relative;
}

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

.container {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 2rem;
}

@media screen and (min-width: 768px) {
  .flex-container {
    align-items: center;
    display: flex;
    justify-content: space-between;
  }
}

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

[v-cloak] {
  display: none;
}

.visibility-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

@keyframes skeletonLoading {
  0% {
    background-position: calc(150% + 13vw) 0;
  }

  100% {
    background-position: -13vw 0;
  }
}

@keyframes loader {
  0% {
    transform: rotate(0deg);
  }

  25% {
    transform: rotate(180deg);
  }

  50% {
    transform: rotate(180deg);
  }

  75% {
    transform: rotate(360deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes loaderInner {
  0% {
    height: 0%;
  }

  25% {
    height: 0%;
  }

  50% {
    height: 100%;
  }

  75% {
    height: 100%;
  }

  100% {
    height: 0%;
  }
}

h1,
h2,
h3,
h4,
h5 {
  font-weight: 600;
  margin-top: 0;
}

h2 {
  font-size: 2.1rem;
  font-weight: 500;
}

h3 {
  font-size: 1.3rem;
  font-weight: 700;
}

.text-large {
  font-size: 1.27rem;
  font-weight: 300;
  line-height: 1.5;
}

.text-small {
  font-size: 0.83rem;
}

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

.heading {
  font-weight: 600;
}

.eyebrow {
  color: rgb(136, 136, 136);
  font-size: 0.85rem;
  font-weight: 500;
  text-transform: uppercase;
}

.logistics {
  color: rgb(136, 136, 136);
  font-size: 0.875rem;
}

.logistics--light {
  color: rgb(255, 255, 255);
}

.linkIcon {
  font-weight: 600;
}

.linkIcon__icon {
  display: inline;
  fill: none;
  height: 1em;
  stroke: currentColor;
  stroke-width: 0.15rem;
  stroke-linecap: square;
  stroke-linejoin: miter;
  transition: 250ms transform cubic-bezier(0.22, 1, 0.36, 1);
  width: 1em;
  vertical-align: -0.125em;
}

.linkIcon:hover .linkIcon__icon {
  transform: translateX(0.25em);
}

.btn,
.skeleton__button {
  border: 2px solid;
  border-radius: 10px;
  cursor: pointer;
  display: inline-block;
  text-align: center;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  vertical-align: middle;
  white-space: nowrap;
}

.btn--outline {
  background-color: transparent;
  border-color: rgb(241, 158, 38);
  color: rgb(255, 255, 255);
  font-size: 1.2rem;
  font-weight: 300;
  padding: 0.75rem 1.5rem;
  transition: 0.2s ease-in-out;
}

.btn--outline:hover {
  background-color: rgba(0, 0, 0, 0);
  border-color: #d6840e;
  transition: 0.2s ease-in-out;
}

.btn--primary {
  background-color: rgb(241, 158, 38);
  border-color: rgb(241, 158, 38);
  color: rgb(255, 255, 255);
  font-size: 1.2rem;
  font-weight: 400;
  padding: 0.75rem 1.5rem;
  transition: 0.2s ease-in-out;
}

.btn--primary:hover {
  background-color: #d6840e;
  border-color: #d6840e;
  transition: 0.2s ease-in-out;
}

.btn--secondary {
  background-color: rgb(70, 145, 206);
  border-color: rgb(70, 145, 206);
  color: rgb(255, 255, 255);
  font-size: 0.9rem;
  font-weight: 400;
  padding: 0.5rem 1rem;
  transition: 0.2s ease-in-out;
}

.btn--secondary:hover {
  background-color: #2f77b2;
  border-color: #2f77b2;
  transition: 0.2s ease-in-out;
}

.action {
  margin-top: 4rem;
  text-align: center;
}

.card {
  background-color: rgb(255, 255, 255);
  cursor: pointer;
  display: block;
  padding: 1.25rem;
  transition: 0.1s ease-in-out;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .card {
    margin-bottom: 0;
  }
}

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

.card__heading {
  color: rgb(70, 145, 206);
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.card__torso {
  margin-bottom: 1.5rem;
}

.card__copy {
  font-size: 0.875rem;
}

.card__footer {
  margin-top: auto;
}

.card__footer--wrapper {
  display: flex;
  justify-content: space-between;
}

.card p {
  color: rgb(51, 51, 51);
  margin-top: 0;
}

.card .category {
  display: block;
  color: rgb(172, 172, 172);
  font-size: 0.83rem;
  font-style: italic;
  font-weight: 600;
  margin: 1rem 0;
  text-transform: uppercase;
}

.card:hover {
  background-color: rgb(70, 145, 206);
  transition: 0.2s ease-in-out;
}

.card:hover .category,
.card:hover__heading,
.card:hover p {
  color: rgb(255, 255, 255);
}

.card--dark {
  background-color: #2E76AD;
  color: rgb(255, 255, 255);
  transition: 0.1s ease-in-out;
}

.card--dark .card__heading {
  color: rgb(255, 255, 255);
}

.card--dark p {
  color: rgb(255, 255, 255);
}

.card--dark:hover {
  background-color: rgb(22, 59, 104);
  transition: 0.2s ease-in-out;
}

.card--dark:hover .card-link::after {
  margin-left: 0.45rem;
  transition: 0.2s ease-in-out;
}

.card-link {
  font-weight: 600;
  position: relative;
}

.card-link:after {
  content: "";
  position: absolute;
  top: 55%;
  width: 0.55rem;
  height: 0.55rem;
  margin-left: 0.25rem;
  background: transparent;
  border-top: 0.175rem solid white;
  border-right: 0.175rem solid white;
  transform: translate3d(0, -50%, 0) rotate(45deg);
  transition: 0.2s ease-in-out;
}

.resources__wrapper {
  display: grid;
  gap: 1.875rem;
}

@media screen and (min-width: 768px) {
  .resources__wrapper {
    grid-template-columns: 1fr 1fr;
  }
}

@media screen and (min-width: 1100px) {
  .resources__wrapper {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.data-collection-process {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin: 0 auto;
  position: relative;
  width: 8rem;
}

@media screen and (min-width: 700px) {
  .data-collection-process {
    flex-direction: row;
    width: 100%;
  }
}

.data-collection-process::before {
  background-image: url("/images/line-vertical.svg");
  background-position: 45% 0;
  background-size: 2px 20px;
  background-repeat: repeat-y;
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  width: 100%;
}

@media screen and (min-width: 700px) {
  .data-collection-process::before {
    background-image: url("/images/line-horizontal.svg");
    background-position: 5rem 3.25rem;
    background-repeat: repeat-x;
    background-size: 20px 2px;
  }
}

@media screen and (min-width: 768px) {
  .data-collection-process::before {
    background-position: 5rem 3.9rem;
  }
}

@media screen and (min-width: 1100px) {
  .data-collection-process::before {
    background-position: 5rem 4.5rem;
  }
}

.data-collection-process .item {
  background-color: rgb(70, 145, 206);
  color: rgb(255, 255, 255);
  display: table;
  font-weight: 700;
  font-size: 1rem;
  height: 7.5rem;
  margin-bottom: 1.75rem;
  padding: 1rem;
  position: relative;
  text-align: center;
  width: 7.5rem;
}

.data-collection-process .item:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 700px) {
  .data-collection-process .item {
    font-size: 0.75rem;
    height: 6rem;
    margin-bottom: 0;
    width: 7.5rem;
  }
}

@media screen and (min-width: 768px) {
  .data-collection-process .item {
    font-size: 1rem;
    height: 7.5rem;
    width: 7.5rem;
  }
}

@media screen and (min-width: 1100px) {
  .data-collection-process .item {
    height: 9rem;
    width: 9rem;
  }
}

.data-collection-process .item span {
  display: table-cell;
  vertical-align: middle;
}

.data-collection-process .item .number {
  background-color: rgb(241, 158, 38);
  border-radius: 50%;
  border: 4px solid rgb(255, 255, 255);
  height: 2.5rem;
  left: -1.75rem;
  padding-top: 0.45rem;
  position: absolute;
  top: 35.2%;
  vertical-align: middle;
  width: 2.5rem;
}

@media screen and (min-width: 700px) {
  .data-collection-process .item .number {
    left: 35.2%;
    top: -1rem;
  }
}

.data-collection-process .item.offset {
  background-color: rgb(181, 32, 37);
  margin-left: 6rem;
}

@media screen and (min-width: 700px) {
  .data-collection-process .item.offset {
    margin-left: 0;
    margin-top: 6rem;
  }
}

.data-collection-process .item.offset .number::before {
  background-color: rgb(95, 95, 95);
  border-radius: 3px;
  content: "";
  display: block;
  height: 2px;
  left: -0.7rem;
  position: absolute;
  top: 50%;
  width: 0.5rem;
}

@media screen and (min-width: 700px) {
  .data-collection-process .item.offset .number::before {
    height: 0.5rem;
    left: 1rem;
    top: -0.7rem;
    width: 2px;
  }
}

.entry__wrapper {
  display: grid;
  gap: 2rem;
}

@media screen and (min-width: 1100px) {
  .entry__wrapper--mixed {
    grid-auto-columns: 1fr 500px;
  }

  .entry__wrapper--mixed .entry__aside {
    grid-column: 2;
  }
}

@media screen and (min-width: 1100px) {
  .entry__wrapper--half {
    gap: 4rem;
    grid-template-columns: 1fr 1fr;
  }
}

.pagination {
  margin-top: 2rem;
}

.pagination ul {
  align-items: flex-end;
  display: flex;
  justify-content: flex-start;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pagination ul li {
  margin-right: 0.75rem;
}

.pagination ul li.current {
  background-color: rgb(22, 59, 104);
  color: rgb(255, 255, 255);
  padding: 0.5rem 0.825rem;
}

.pagination ul li.next {
  margin-left: 1rem;
}

.pagination ul li.prev {
  margin-right: 2rem;
}

.pagination ul li a {
  background-color: #2E76AD;
  border-radius: 0.375rem;
  color: rgb(255, 255, 255);
  display: block;
}

.pagination ul li a:hover {
  background-color: rgb(22, 59, 104);
}

.pagination__item .sr-only {
  all: unset;
}

.pagination__link {
  display: block;
  padding: 0.5rem 0.825rem;
}

.pagination__item.-active {
  background-color: rgb(219, 219, 219);
  border-radius: 0.375rem;
}

.pagination__item.-ellipsis .pagination__link {
  padding-bottom: 0;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

.panel {
  display: grid;
  height: 100%;
}

.panel__body {
  align-items: start;
  display: grid;
  grid-template-rows: auto 1fr auto;
  row-gap: 1rem;
  padding: 1.25rem;
}

.panel__heading {
  color: rgb(51, 51, 51);
  font-size: 1.125rem;
}

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

.panel__date {
  color: rgb(51, 51, 51);
}

.panel__footerWrapper {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.panel--light {
  background-color: rgb(255, 255, 255);
}

.panel--neutral {
  background-color: rgb(243, 243, 243);
}

.panel--slide {
  height: auto;
  z-index: 2;
}

.accordion > div.open .header {
  background: rgb(241, 158, 38);
}

.accordion > div.open .header::after {
  content: "–";
  font-style: 1.25rem;
  text-align: center;
}

.accordion > div.open .header:hover {
  background-color: #ee930f;
}

.accordion > div.close .header::after {
  content: "+";
  font-style: 1.25rem;
  text-align: center;
}

.accordion > div.close .header:hover {
  background-color: #3485c6;
}

.accordion > div.initially-hidden .content {
  display: none;
}

.accordion > div .header {
  background-color: rgb(70, 145, 206);
  color: rgb(255, 255, 255);
  cursor: pointer;
  font-size: 1rem;
  font-weight: 700;
  padding: 0.75rem 1rem;
  position: relative;
  text-align: left;
  transition: 0.2s ease-in-out;
  width: 100%;
}

.accordion > div .header::after {
  bottom: 0;
  height: 1em;
  margin: auto 0;
  position: absolute;
  right: 1rem;
  top: 0;
  width: 1rem;
}

.accordion > div .content {
  background: #f3f3f3;
  font-weight: 300;
  line-height: 1.25;
  padding: 1rem 1rem 3rem 1rem;
}

.question {
  margin: 0.5rem auto;
}

@media screen and (min-width: 768px) {
  .question {
    width: 70%;
  }
}

@media screen and (min-width: 1100px) {
  .question {
    width: 60%;
  }
}

.filters {
  margin-bottom: 1.5rem;
}

@media screen and (min-width: 1100px) {
  .filters {
    margin-bottom: 2.5rem;
  }
}

.filters__wrapper {
  display: grid;
  gap: 1.875rem;
}

@media screen and (min-width: 768px) {
  .filters__wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
}

footer {
  margin-top: 4rem;
}

footer.footer-home {
  margin-top: 0;
}

footer .footer {
  background-color: rgb(243, 243, 243);
  padding: 2rem 0;
}

footer .footer .footer-links {
  width: 100%;
}

@media screen and (min-width: 768px) {
  footer .footer .footer-links {
    width: 50%;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}

footer .footer .footer-links a {
  color: rgb(22, 59, 104);
  display: block;
  font-weight: 600;
  text-align: center;
  padding-bottom: 1.5rem;
}

@media screen and (min-width: 768px) {
  footer .footer .footer-links a {
    text-align: left;
    padding-bottom: 0;
  }
}

footer .footer .social {
  color: rgb(22, 59, 104);
  text-align: center;
  margin-top: 2rem;
}

@media screen and (min-width: 768px) {
  footer .footer .social {
    margin-top: 0;
  }
}

footer .footer .social a {
  display: inline-block;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

footer .footer-meta {
  padding: 2rem 0;
  text-align: center;
}

footer .footer-meta span,
footer .footer-meta p {
  display: block;
  font-size: 0.83rem;
}

footer .footer-meta img {
  display: block;
  margin: 0 auto;
}

footer .footer-meta .tufts-logo {
  width: 150px;
  padding: 2rem 0 1rem 0;
}

@media screen and (min-width: 768px) {
  footer .footer-meta .tufts-logo {
    padding: 0;
    width: 220px;
  }
}

footer .footer-meta .cevr-logo {
  width: 100px;
  padding: 1rem 0;
}

@media screen and (min-width: 768px) {
  footer .footer-meta .cevr-logo {
    padding: 0;
    width: 120px;
  }
}

header.primary {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: rgb(255, 255, 255);
  padding-bottom: 2rem;
  padding-top: 2rem;
}

header.header-bg {
  background-color: rgb(22, 59, 104);
}

.hero__body {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  padding-bottom: clamp(0.99999999rem, 0.02rem + 4.18vw, 2rem);
  padding-top: clamp(0.99999999rem, 0.02rem + 4.18vw, 3rem);
  row-gap: 2rem;
}

@media screen and (min-width: 768px) {
  .hero__body {
    flex-direction: row;
  }
}

.hero__primary {
  flex: 1 1 0;
  text-align: center;
  width: 100%;
}

.hero__primary--home {
  text-align: left;
}

.hero__primary h1 {
  font-size: 2.3375rem;
  font-weight: 300;
}

@media screen and (min-width: 768px) {
  .hero__primary h1 {
    font-size: 2.75rem;
  }
}

.hero__primary h1:last-child {
  margin-bottom: 0;
}

.hero__primary .btn,
.hero__primary .skeleton__button {
  font-size: 1.5rem;
  display: block;
}

@media screen and (min-width: 480px) {
  .hero__primary .btn,
  .hero__primary .skeleton__button {
    display: inline-block;
  }
}

@media screen and (min-width: 768px) {
  .hero__secondary {
    width: 45%;
    display: flex;
    justify-content: center;
  }
}

@media screen and (min-width: 1100px) {
  .hero__secondary {
    width: 35%;
  }
}

@media screen and (min-width: 768px) {
  .hero__assetWrapper {
    height: 300px;
  }
}

@media screen and (min-width: 1100px) {
  .hero__assetWrapper {
    height: 195px;
  }
}

@media screen and (min-width: 480px) {
  .hero__asset {
    display: block;
    max-height: 100%;
  }
}

.listing__wrapper {
  display: grid;
  row-gap: 1.25rem;
}

.listing__itemWrapper {
  display: grid;
  grid-template-columns: 30% 1fr;
}

.listing__image {
  display: block;
}

@media screen and (min-width: 768px) {
  .listing__image {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
  }
}

.listing__content {
  align-items: center;
  display: grid;
  grid-column: auto/span 3;
  grid-row: 2;
}

@media screen and (min-width: 768px) {
  .listing__content {
    gap: 1rem;
    grid-column: 2;
    grid-row: auto;
  }
}

.listing__content--dark {
  background-color: #2E76AD;
}

.listing__action {
  margin-top: 1.5rem;
}

@media screen and (min-width: 768px) {
  .listing__action {
    margin-top: 3rem;
  }
}

.listing--column {
  display: grid;
  gap: 1.25rem;
}

@media screen and (min-width: 768px) {
  .listing--column {
    grid-template-columns: repeat(3, 1fr);
  }
}

.messaging {
  border-radius: 10px;
  padding: 0.75rem 1.25rem;
}

.messaging.error {
  background-color: rgb(181, 32, 37);
  color: rgb(255, 255, 255);
  font-weight: 600;
}

.messaging ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.messaging--info {
  background-color: rgb(241, 158, 38);
  color: rgb(51, 51, 51);
  font-weight: 400;
}

.nav-container {
  display: block;
}

@media screen and (min-width: 768px) {
  .nav-container {
    align-items: center;
    display: flex;
    justify-content: space-between;
  }
}

.logo img {
  width: 150px;
}

@media screen and (min-width: 1100px) {
  .logo img {
    width: 274px;
  }
}

.nav-icon {
  cursor: pointer;
  height: 30px;
  position: absolute;
  right: 2rem;
  top: 2.5rem;
  transform: rotate(0deg);
  transition: 0.5s ease-in-out;
  width: 30px;
}

@media screen and (min-width: 768px) {
  .nav-icon {
    display: none;
  }
}

.nav-icon span {
  background: rgb(255, 255, 255);
  border-radius: 9px;
  display: block;
  height: 3px;
  left: 0;
  opacity: 1;
  position: absolute;
  transform: rotate(0deg);
  transition: 0.25s ease-in-out;
  width: 100%;
}

.nav-icon span:nth-child(1) {
  top: 0;
  transform-origin: left center;
}

.nav-icon span:nth-child(2) {
  top: 10px;
  transform-origin: left center;
}

.nav-icon span:nth-child(3) {
  top: 20px;
  transform-origin: left center;
}

.nav-icon.open span:nth-child(1) {
  left: 4px;
  top: -1px;
  transform: rotate(45deg);
}

.nav-icon.open span:nth-child(2) {
  opacity: 0;
  width: 0%;
}

.nav-icon.open span:nth-child(3) {
  left: 4px;
  top: 20px;
  transform: rotate(-45deg);
}

nav.primary {
  display: none;
}

@media only screen and (max-width: 1099px) {
  nav.primary .dropdown,
  nav.primary i.fa {
    display: none;
  }
}

@media only screen and (min-width: 1100px) {
  nav.primary i.fa {
    display: inline-block;
  }

  nav.primary .dropdown {
    background-color: rgb(70, 145, 206);
    display: block;
    font-size: 1rem;
    min-width: 13rem;
    opacity: 0;
    padding: 1.25rem;
    position: absolute;
    top: 140%;
    transition: opacity 300ms;
    visibility: hidden;
    z-index: 1;
  }

  nav.primary .dropdown ul {
    display: block;
  }

  nav.primary .dropdown .menu li {
    margin-bottom: 0.5rem;
  }

  nav.primary .dropdown .menu a {
    color: rgb(255, 255, 255);
  }

  nav.primary .dropdown .menu a:hover,
  nav.primary .dropdown .menu a:focus {
    color: rgb(33, 42, 54);
  }

  nav.primary .dropdown.open {
    opacity: 1;
    visibility: visible;
  }
}

@media screen and (min-width: 768px) {
  nav.primary {
    align-items: center;
    display: flex;
    justify-content: space-around;
    padding-top: 0.5rem;
    width: 70%;
  }
}

nav.primary ul {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
}

@media screen and (min-width: 768px) {
  nav.primary ul {
    align-items: center;
    display: flex;
    justify-content: space-around;
  }
}

nav.primary ul > li {
  position: relative;
}

nav.primary ul > li > a {
  color: rgb(255, 255, 255);
  display: block;
  font-size: 1rem;
  font-weight: 600;
  padding-top: 2.5rem;
  position: relative;
  text-align: center;
}

@media screen and (min-width: 768px) {
  nav.primary ul > li > a {
    display: inline-block;
    font-size: 0.875rem;
    padding-top: 0;
    text-align: left;
  }

  nav.primary ul > li > a:after {
    border-bottom: 2px solid rgb(70, 145, 206);
    bottom: -10px;
    content: "";
    display: block;
    height: 100%;
    opacity: 0;
    transform: scaleX(0);
    position: absolute;
    transition: all 0.2s ease-in-out;
    width: 100%;
  }

  nav.primary ul > li > a:hover:after {
    opacity: 1;
    transform: scaleX(1);
    transform-origin: 0% 100%;
    transtition: all 0.2s ease-in-out;
  }
}

@media screen and (min-width: 1100px) {
  nav.primary ul > li > a {
    font-size: 1rem;
  }
}

nav.primary ul > li > a.current-section:after {
  border-bottom: 2px solid rgb(70, 145, 206);
  bottom: -10px;
  content: "";
  display: block;
  height: 100%;
  opacity: 1;
  transform: scaleX(1);
  transform-origin: 0% 100%;
  position: absolute;
  transition: all 0.2s ease-in-out;
  width: 100%;
}

nav.active {
  display: block;
}

@media screen and (min-width: 768px) {
  nav.active {
    display: flex;
  }
}

.utility {
  display: none;
  margin-top: 3rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .utility {
    display: block;
    margin-top: -1.6rem;
    text-align: right;
  }
}

.utility a {
  color: rgb(255, 255, 255);
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 600;
}

.utility a:first-child {
  display: block;
  margin-bottom: 2rem;
}

@media screen and (min-width: 768px) {
  .utility a:first-child {
    margin-bottom: 0.75rem;
  }
}

.utility a:last-child {
  font-size: 1rem;
  font-weight: 400;
}

.newsletter .ctct-inline-form .ctct-form-embed .ctct-form-defaults {
  background-color: transparent;
  padding: 0;
}

.newsletter .ctct-inline-form .ctct-form-embed .ctct-form-custom {
  color: rgb(255, 255, 255);
  display: grid;
  gap: 0 1rem;
}

@media screen and (min-width: 768px) {
  .newsletter .ctct-inline-form .ctct-form-embed .ctct-form-custom {
    grid-template-columns: 60% 1fr 136px;
    grid-template-rows: 1fr 1fr;
  }
}

.newsletter .ctct-inline-form .ctct-form-embed .ctct-form-custom .ctct-form-header,
.newsletter .ctct-inline-form .ctct-form-embed .ctct-form-custom .ctct-form-text {
  color: rgb(255, 255, 255);
}

.newsletter .ctct-inline-form .ctct-form-embed .ctct-form-custom .ctct-form-header {
  font-family: "canada-type-gibson", "Gibson", sans-serif;
  font-size: 2.15rem;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .newsletter .ctct-inline-form .ctct-form-embed .ctct-form-custom .ctct-form-header {
    grid-row: 1;
    grid-column: 1;
  }
}

.newsletter .ctct-inline-form .ctct-form-embed .ctct-form-custom .ctct-form-text {
  font-family: "canada-type-gibson", "Gibson", sans-serif;
  font-size: 1.27rem;
  font-weight: 300;
  line-height: 1.5;
  padding-right: 16.666%;
}

.newsletter .ctct-inline-form .ctct-form-embed .ctct-form-custom .ctct-form-field label,
.newsletter .ctct-inline-form .ctct-form-embed .ctct-form-custom .ctct-form-error label {
  display: none;
}

.newsletter .ctct-inline-form .ctct-form-embed .ctct-form-custom .ctct-form-field {
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  .newsletter .ctct-inline-form .ctct-form-embed .ctct-form-custom .ctct-form-field {
    grid-row: 1/3;
    place-self: center stretch;
  }
}

.newsletter .ctct-inline-form .ctct-form-embed .ctct-form-custom .ctct-form-button {
  border-radius: 10px;
  border: 2px solid;
  cursor: pointer;
  display: inline-block;
  text-align: center;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  vertical-align: middle;
  white-space: nowrap;
  background-color: rgb(241, 158, 38);
  border-color: rgb(241, 158, 38);
  color: rgb(255, 255, 255);
  font-size: 1.2rem;
  font-weight: 400;
  padding: 0.75rem 1.5rem;
  transition: 0.2s ease-in-out;
}

@media screen and (min-width: 768px) {
  .newsletter .ctct-inline-form .ctct-form-embed .ctct-form-custom .ctct-form-button {
    grid-column: 3;
    grid-row: 1/3;
    place-self: center;
  }
}

.newsletter .ctct-inline-form .ctct-form-embed .ctct-form-custom .ctct-form-button:hover {
  background-color: #d6840e;
  border-color: #d6840e;
  transition: 0.2s ease-in-out;
}

.newsletter .ctct-inline-form .ctct-form-embed .ctct-form-footer {
  display: none;
}

.newsletter .ctct-inline-form .ctct-form-embed .ctct-form-success .ctct-form-header,
.newsletter .ctct-inline-form .ctct-form-embed .ctct-form-success .ctct-form-text {
  color: rgb(255, 255, 255);
}

.newsletter .ctct-inline-form .ctct-form-embed .ctct-form-success .ctct-form-header {
  font-family: "canada-type-gibson", "Gibson", sans-serif;
  font-size: 2.15rem;
  font-weight: 500;
}

.newsletter .ctct-inline-form .ctct-form-embed .ctct-form-success .ctct-form-text {
  font-family: "canada-type-gibson", "Gibson", sans-serif;
  font-size: 1.27rem;
  font-weight: 300;
  line-height: 1.5;
}

.newsletter .ctct-inline-form .ctct-form-embed .ctct-gdpr-text,
.newsletter .ctct-inline-form .ctct-form-embed .ctct-gdpr-text .ctct-form-footer-link {
  color: #FFF !important;
}

.newsletter .ctct-inline-form .ctct-form-embed .ctct-gdpr-text .ctct-form-footer-link:hover {
  color: #F2842D !important;
}

.loading {
  display: grid;
}

.loading > * {
  grid-area: 1/-1;
}

.loading__loader {
  animation: loader 3s infinite ease;
  border: 0.275rem solid rgb(22, 59, 104);
  height: 3rem;
  justify-self: center;
  width: 3rem;
}

.loading__loader.-small {
  height: 1.5rem;
  width: 1.5rem;
}

.loading__loaderInner {
  animation: loaderInner 3s infinite ease;
  background-color: rgb(70, 145, 206);
  display: inline-block;
  vertical-align: top;
  width: 100%;
}

.skeleton {
  border-color: rgb(172, 172, 172);
  color: rgb(172, 172, 172);
  filter: grayscale(1);
  width: 100%;
  /**
   * Ribs are elements that need color/border-color overridden only.
   * Generally used on container elements that have borders, etc.
   *
   * These rules are !important to override the colors of whatever component rib is mixed with.
   */
  /**
   * lines are for placeholding text.
   */
  /**
   * For placeholding buttons.
   */
  /**
   * For placeholding images.
   */
}

.skeleton__rib {
  border-color: rgb(172, 172, 172) !important;
  color: rgb(172, 172, 172) !important;
}

.skeleton__button,
.skeleton__image,
.skeleton__shape,
.skeleton__line,
.skeleton__lines {
  --shape-background: $cevr-gray;
  animation: skeletonLoading 1.8s linear infinite;
  background-attachment: fixed;
  background-color: rgb(172, 172, 172);
  background-image: linear-gradient(95deg, transparent 7vw, gold 7.5vw, transparent 13vw);
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 13vw 100%;
  box-sizing: content-box;
  width: 100%;
}

.skeleton__line {
  height: 1em;
}

.skeleton__line--1-word {
  width: 5em;
}

.skeleton__line--2-words {
  width: 10em;
}

.skeleton__line--3-words {
  width: 15em;
}

.skeleton__line--4-words {
  width: 20em;
}

.skeleton__line--5-words {
  width: 25em;
}

.skeleton__lines--2 {
  height: 2em;
}

.skeleton__lines--3 {
  height: 3em;
}

.skeleton__lines--4 {
  height: 4em;
}

.skeleton__lines--5 {
  height: 5em;
}

.skeleton__lines--6 {
  height: 6em;
}

.skeleton__lines--7 {
  height: 7em;
}

.skeleton__lines--8 {
  height: 8em;
}

.skeleton__lines--9 {
  height: 9em;
}

.skeleton__lines--10 {
  height: 10em;
}

.skeleton__button {
  cursor: default;
  height: 1.5em;
  width: 5em;
}

.skeleton__button:hover {
  transform: none;
}

.skeleton__image {
  /**
   * Meant to be used within responsiveImage comonents.
   */
}

.skeleton__image--responsiveImage {
  height: 100%;
  position: absolute;
  width: 100%;
}

.skeleton__image--cover {
  height: 100%;
  width: 100%;
}

.publications .swiper-wrapper {
  box-sizing: border-box !important;
}

.publications .swiper-pagination {
  margin-top: 2rem;
  position: static;
}

.publications .swiper-pagination-bullet {
  background: rgb(255, 255, 255);
  height: 0.875rem;
  margin: 0 8px !important;
  opacity: 1;
  width: 0.875rem;
}

.publications .swiper-pagination-bullet-active {
  background: #2E76AD;
}

.section {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

@media screen and (min-width: 768px) {
  .section {
    padding-top: 4.25rem;
    padding-bottom: 4.25rem;
  }
}

.section__heading {
  font-size: 2.4375rem;
  margin-bottom: 2rem;
}

section.section-break {
  margin-top: 4rem;
}

.section-thanks {
  margin-left: auto;
  margin-right: auto;
  margin-top: 4rem;
  max-width: 47rem;
  text-align: center;
}

.callout h2.title,
.cards h2.title,
.faqs h2.title,
.fullWidth h2.title,
.imageWithText h2.title,
.logoGrid h2.title,
.testimonial h2.title,
.threeColumns h2.title,
.twoColumns h2.title,
.videoWithText h2.title {
  text-align: center;
}

.callout h3,
.callout h4,
.callout h5,
.callout h6,
.cards h3,
.cards h4,
.cards h5,
.cards h6,
.faqs h3,
.faqs h4,
.faqs h5,
.faqs h6,
.fullWidth h3,
.fullWidth h4,
.fullWidth h5,
.fullWidth h6,
.imageWithText h3,
.imageWithText h4,
.imageWithText h5,
.imageWithText h6,
.logoGrid h3,
.logoGrid h4,
.logoGrid h5,
.logoGrid h6,
.testimonial h3,
.testimonial h4,
.testimonial h5,
.testimonial h6,
.threeColumns h3,
.threeColumns h4,
.threeColumns h5,
.threeColumns h6,
.twoColumns h3,
.twoColumns h4,
.twoColumns h5,
.twoColumns h6,
.videoWithText h3,
.videoWithText h4,
.videoWithText h5,
.videoWithText h6 {
  margin-bottom: 0.5rem;
}

.callout .section-text,
.cards .section-text,
.faqs .section-text,
.fullWidth .section-text,
.imageWithText .section-text,
.logoGrid .section-text,
.testimonial .section-text,
.threeColumns .section-text,
.twoColumns .section-text,
.videoWithText .section-text {
  font-weight: 200;
  line-height: 1.5;
  font-size: 1.3rem;
}

.callout .section-text a,
.cards .section-text a,
.faqs .section-text a,
.fullWidth .section-text a,
.imageWithText .section-text a,
.logoGrid .section-text a,
.testimonial .section-text a,
.threeColumns .section-text a,
.twoColumns .section-text a,
.videoWithText .section-text a {
  font-weight: 500;
}

.callout .section-text p,
.cards .section-text p,
.faqs .section-text p,
.fullWidth .section-text p,
.imageWithText .section-text p,
.logoGrid .section-text p,
.testimonial .section-text p,
.threeColumns .section-text p,
.twoColumns .section-text p,
.videoWithText .section-text p {
  margin-bottom: 1.75rem;
  margin-top: 0;
}

.callout .section-text b,
.callout .section-text strong,
.cards .section-text b,
.cards .section-text strong,
.faqs .section-text b,
.faqs .section-text strong,
.fullWidth .section-text b,
.fullWidth .section-text strong,
.imageWithText .section-text b,
.imageWithText .section-text strong,
.logoGrid .section-text b,
.logoGrid .section-text strong,
.testimonial .section-text b,
.testimonial .section-text strong,
.threeColumns .section-text b,
.threeColumns .section-text strong,
.twoColumns .section-text b,
.twoColumns .section-text strong,
.videoWithText .section-text b,
.videoWithText .section-text strong {
  font-weight: 700;
}

.callout .section-text ul,
.cards .section-text ul,
.faqs .section-text ul,
.fullWidth .section-text ul,
.imageWithText .section-text ul,
.logoGrid .section-text ul,
.testimonial .section-text ul,
.threeColumns .section-text ul,
.twoColumns .section-text ul,
.videoWithText .section-text ul {
  list-style: none;
}

.callout .section-text ul li,
.cards .section-text ul li,
.faqs .section-text ul li,
.fullWidth .section-text ul li,
.imageWithText .section-text ul li,
.logoGrid .section-text ul li,
.testimonial .section-text ul li,
.threeColumns .section-text ul li,
.twoColumns .section-text ul li,
.videoWithText .section-text ul li {
  margin-bottom: 0.5rem;
  position: relative;
}

.callout .section-text ul li::before,
.cards .section-text ul li::before,
.faqs .section-text ul li::before,
.fullWidth .section-text ul li::before,
.imageWithText .section-text ul li::before,
.logoGrid .section-text ul li::before,
.testimonial .section-text ul li::before,
.threeColumns .section-text ul li::before,
.twoColumns .section-text ul li::before,
.videoWithText .section-text ul li::before {
  color: rgb(70, 145, 206);
  content: "■";
  font-size: 0.95rem;
  left: -2rem;
  top: 0.25rem;
  position: absolute;
}

.callout .section-text ul.text-center,
.cards .section-text ul.text-center,
.faqs .section-text ul.text-center,
.fullWidth .section-text ul.text-center,
.imageWithText .section-text ul.text-center,
.logoGrid .section-text ul.text-center,
.testimonial .section-text ul.text-center,
.threeColumns .section-text ul.text-center,
.twoColumns .section-text ul.text-center,
.videoWithText .section-text ul.text-center {
  margin: 0;
  padding: 0;
}

.callout .section-text ul.text-center li,
.cards .section-text ul.text-center li,
.faqs .section-text ul.text-center li,
.fullWidth .section-text ul.text-center li,
.imageWithText .section-text ul.text-center li,
.logoGrid .section-text ul.text-center li,
.testimonial .section-text ul.text-center li,
.threeColumns .section-text ul.text-center li,
.twoColumns .section-text ul.text-center li,
.videoWithText .section-text ul.text-center li {
  padding: 1rem 0;
}

.callout .section-text ul.text-center li::before,
.cards .section-text ul.text-center li::before,
.faqs .section-text ul.text-center li::before,
.fullWidth .section-text ul.text-center li::before,
.imageWithText .section-text ul.text-center li::before,
.logoGrid .section-text ul.text-center li::before,
.testimonial .section-text ul.text-center li::before,
.threeColumns .section-text ul.text-center li::before,
.twoColumns .section-text ul.text-center li::before,
.videoWithText .section-text ul.text-center li::before {
  background-color: rgb(70, 145, 206);
  color: inherit;
  content: "";
  display: block;
  height: 2px;
  left: 48%;
  position: absolute;
  top: 0;
  width: 22px;
}

.callout .action,
.cards .action,
.faqs .action,
.fullWidth .action,
.imageWithText .action,
.logoGrid .action,
.testimonial .action,
.threeColumns .action,
.twoColumns .action,
.videoWithText .action {
  margin-top: 2.5rem;
}

.callout.section-background-color,
.faqs.section-background-color,
.fullWidth.section-background-color,
.imageWithText.section-background-color,
.testimonial.section-background-color,
.threeColumns.section-background-color,
.twoColumns.section-background-color,
.videoWithText.section-background-color {
  background-color: rgb(22, 59, 104);
  color: rgb(255, 255, 255);
}

.callout.section-background-color a,
.faqs.section-background-color a,
.fullWidth.section-background-color a,
.imageWithText.section-background-color a,
.testimonial.section-background-color a,
.threeColumns.section-background-color a,
.twoColumns.section-background-color a,
.videoWithText.section-background-color a {
  color: rgb(255, 255, 255);
}

.cards.section-background-color {
  background-color: rgb(243, 243, 243);
}

@media screen and (min-width: 768px) {
  .imageWithText .flex-container div {
    width: 47%;
  }
}

.imageWithText .flex-container .image {
  margin-bottom: 2rem;
}

@media screen and (min-width: 768px) {
  .imageWithText .flex-container .image {
    margin-bottom: 0;
  }
}

.imageWithText .flex-container .image img {
  width: 100%;
}

.imageWithText .flex-container.image-right .image {
  order: 2;
}

.imageWithText .flex-container.image-center {
  flex-direction: column;
}

.imageWithText .flex-container.image-center div:last-child {
  margin-top: 1rem;
}

.imageWithText .flex-container.image-center .image {
  order: 2;
}

.imageWithText .flex-container.image-center .image img {
  box-shadow: 0px 0px 48px rgba(51, 51, 51, 0.6);
}

@media screen and (min-width: 768px) {
  .imageWithText .flex-container.image-center div {
    width: 100%;
  }
}

.callout {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .callout .section-text {
    width: 70%;
    margin: 0 auto;
  }
}

@media screen and (min-width: 1100px) {
  .callout .section-text {
    width: 60%;
  }
}

.callout-background {
  background-color: rgba(22, 59, 104, 0.97);
  color: rgb(255, 255, 255);
  padding: 2rem;
}

@media screen and (min-width: 768px) {
  .callout-background {
    width: 70%;
    margin: 0 auto;
  }
}

@media screen and (min-width: 1100px) {
  .callout-background {
    width: 60%;
  }
}

@media screen and (min-width: 768px) {
  .callout-background .section-text {
    width: 100%;
  }
}

@media screen and (min-width: 1100px) {
  .callout-background .section-text {
    width: 100%;
  }
}

.section-background-image {
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 2rem 0;
}

.twoColumns .flex-container,
.threeColumns .flex-container {
  margin-top: 4rem;
}

@media screen and (min-width: 768px) {
  .twoColumns .flex-container div,
  .threeColumns .flex-container div {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .twoColumns .flex-container div:first-child,
  .threeColumns .flex-container div:first-child {
    padding-left: 0;
  }

  .twoColumns .flex-container div:last-child,
  .threeColumns .flex-container div:last-child {
    padding-right: 0;
  }
}

.section-text a:not(.btn):not(.skeleton__button):after {
  border-bottom: 2px solid rgb(70, 145, 206);
  bottom: -2px;
  content: "";
  display: block;
  height: 100%;
  opacity: 0;
  transform: scaleX(0);
  position: absolute;
  transition: all 0.2s ease-in-out;
  width: 100%;
}

.section-text a:not(.btn):not(.skeleton__button):hover:after {
  opacity: 1;
  transform: scaleX(1);
  transform-origin: 0% 100%;
  transtition: all 0.2s ease-in-out;
}

.section-background-color {
  padding: 4rem 0;
}

.section-background-color + footer,
.section-blue + footer {
  margin-top: 0;
}

.section-blue {
  background-color: rgb(22, 59, 104);
  color: rgb(255, 255, 255);
  padding: 3rem 0;
}

.section-newsletter {
  padding: 2rem 0;
}

.section-large {
  padding-top: 3rem;
}

@media screen and (min-width: 768px) {
  .section-large {
    padding: 3rem 0;
  }
}

@media screen and (min-width: 1100px) {
  .section-large {
    padding: 3rem 0 8rem 0;
  }
}

.section-large .section-text h2 {
  font-size: 3.290625rem;
  font-weight: 600;
}

.section-photo--half {
  position: relative;
}

.section-photo--half:before {
  content: "";
}

@media screen and (min-width: 768px) {
  .section-photo--half:before {
    position: absolute;
    width: 50%;
    height: 100%;
    top: 0;
    left: 50%;
    background-repeat: no-repeat;
    background-size: 200%;
    background-position: 70% 25%;
    -webkit-clip-path: polygon(30% 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(30% 0, 100% 0, 100% 100%, 0 100%);
  }
}

@media screen and (min-width: 1000px) {
  .section-photo--half:before {
    background-size: 150%;
  }
}

@media screen and (min-width: 1100px) {
  .section-photo--half:before {
    background-size: 150%;
  }
}

.section-photo--half .section-text {
  text-align: left;
  margin: 0;
}

@media screen and (min-width: 768px) {
  .section-photo--half .section-text {
    width: 47%;
  }
}

.section-photo--full {
  background-repeat: no-repeat;
  background-size: cover;
  padding: 3rem 0;
}

@media screen and (min-width: 768px) {
  .section-photo--full {
    padding: 6rem 0;
  }
}

.section-photo--full .section-text p {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 4rem;
}

@media screen and (min-width: 768px) {
  .section-photo--full .section-text p {
    width: 70%;
    margin-bottom: 2rem;
  }
}

.tiles {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}

.tiles .tile {
  flex-basis: calc(50% - 1rem);
  margin: 0.5rem;
}

@media screen and (min-width: 480px) {
  .tiles .tile {
    flex-basis: calc(33% - 1rem);
  }
}

@media screen and (min-width: 768px) {
  .tiles .tile {
    flex-basis: calc(25% - 1rem);
  }
}

@media screen and (min-width: 1100px) {
  .tiles .tile {
    flex-basis: calc(20% - 1rem);
  }
}

.tiles img {
  width: 100%;
}

::-moz-placeholder {
  font-style: italic;
  font-weight: 300;
  font-size: 1.1rem;
  color: rgb(172, 172, 172);
}

::placeholder {
  font-style: italic;
  font-weight: 300;
  font-size: 1.1rem;
  color: rgb(172, 172, 172);
}

label {
  color: rgb(136, 136, 136);
  cursor: pointer;
  display: block;
  font-weight: 600;
  margin-bottom: 0.25rem;
  width: 100%;
}

input,
button,
select,
textarea {
  font-family: "canada-type-gibson", "Gibson", sans-serif;
  padding: 0.25rem 0.5rem;
  border: none;
  transition: 0.1s ease-in-out;
}

input:focus,
button:focus,
select:focus,
textarea:focus {
  box-shadow: 0 0 7px #82b5de;
  outline: 0;
  transition: 0.1s ease-in-out;
}

input[type=text],
input[type=email],
select,
textarea {
  background-color: rgb(255, 255, 255);
  border: 1px solid rgb(219, 219, 219);
  border-radius: 0.25rem;
  font-size: 1rem;
  line-height: 1.5;
  width: 100%;
}

input[type=text],
input[type=email],
textarea {
  background-image: linear-gradient(to bottom, rgb(219, 219, 219) 0%, rgb(255, 255, 255) 20%);
}

select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23999999' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), linear-gradient(to bottom, rgb(219, 219, 219) 0%, rgb(255, 255, 255) 20%);
  background-repeat: no-repeat;
  background-position: right 0.5rem center, center;
  background-size: 16px 12px, auto;
  color: #999;
  display: block;
}

textarea {
  display: block;
}

.form-group {
  margin-bottom: 1rem;
}

.form-group label {
  display: block;
  margin-bottom: 0.25rem;
}

input.ignorable {
  display: none;
}

@media screen and (min-width: 768px) {
  .group-listing {
    display: flex;
    justify-content: space-between;
  }
}

.group-listing .events,
.group-listing .news,
.group-listing .recent-publications {
  margin-bottom: 4rem;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .group-listing .events,
  .group-listing .news,
  .group-listing .recent-publications {
    margin-bottom: 0;
    width: 30%;
  }
}

.group-listing .events h2,
.group-listing .news h2,
.group-listing .recent-publications h2 {
  font-size: 2rem;
  font-weight: 400;
  text-align: center;
}

.group-listing .events .card,
.group-listing .news .card,
.group-listing .recent-publications .card {
  display: flex;
  flex-direction: column;
  margin-bottom: 1rem;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .group-listing .events .card,
  .group-listing .news .card,
  .group-listing .recent-publications .card {
    height: 270px;
  }
}

@media screen and (min-width: 1100px) {
  .group-listing .events .card,
  .group-listing .news .card,
  .group-listing .recent-publications .card {
    height: 240px;
  }
}

.group-listing .events .card .card-link,
.group-listing .news .card .card-link,
.group-listing .recent-publications .card .card-link {
  margin-top: auto;
}

.upcoming-events--wrapper {
  margin-bottom: 4rem;
}

@media screen and (min-width: 768px) {
  .upcoming-events--wrapper {
    display: flex;
    justify-content: space-between;
  }
}

.past-events {
  margin-top: 4rem;
  flex-basis: 25%;
}

@media screen and (min-width: 768px) {
  .past-events {
    margin-top: 0;
  }
}

.past-events article {
  padding: 1rem 0 !important;
}

.past-events article h3 {
  font-size: 1.1rem !important;
}

.upcoming-events {
  flex-basis: 65%;
}

.events-container {
  margin: 3rem 0;
}

@media screen and (min-width: 768px) {
  .events-container {
    display: flex;
    justify-content: space-between;
  }
}

.events-container p {
  line-height: 1.5;
}

.event-meta {
  display: block;
}

@media screen and (min-width: 768px) {
  .event-meta {
    align-items: center;
    display: flex;
    justify-content: center;
  }
}

.event-meta div {
  margin-bottom: 1rem;
}

@media screen and (min-width: 768px) {
  .event-meta div {
    margin-bottom: 0;
    margin-right: 2rem;
  }

  .event-meta div:last-child {
    margin-right: 0;
  }
}

.event-meta svg {
  color: rgb(241, 158, 38);
  margin-right: 0.25rem;
}

@media screen and (min-width: 768px) {
  .event-content {
    flex: 0 0 55%;
  }
}

@media screen and (min-width: 1100px) {
  .event-content {
    flex: 0 0 70%;
  }
}

.event-image {
  margin-top: 4rem;
  margin-left: auto;
  margin-right: auto;
  width: 50%;
}

@media screen and (min-width: 768px) {
  .event-image {
    flex: 0 0 40%;
    margin-top: 0;
  }
}

@media screen and (min-width: 1100px) {
  .event-image {
    flex: 0 0 22%;
  }
}

.event-image img {
  border: 7px solid rgb(255, 255, 255);
  box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.42);
  width: 100%;
}

.event article,
.news-item article,
.publication article {
  line-height: 1.5;
  padding: 2rem 0;
}

.event article h3,
.news-item article h3,
.publication article h3 {
  font-size: 1.5rem;
  font-weight: 600;
}

.event article h2,
.event article h3,
.event article h4,
.event article h5,
.event article h6,
.news-item article h2,
.news-item article h3,
.news-item article h4,
.news-item article h5,
.news-item article h6,
.publication article h2,
.publication article h3,
.publication article h4,
.publication article h5,
.publication article h6 {
  margin-top: 1rem;
  margin-bottom: 0.5rem;
}

.event article p,
.news-item article p,
.publication article p {
  margin-top: 0;
  margin-bottom: 1.5rem;
}

.event article ul li,
.news-item article ul li,
.publication article ul li {
  margin-bottom: 0.5rem;
}

.event article span,
.news-item article span,
.publication article span {
  display: block;
  margin-bottom: 0.5rem;
}

.event article img,
.news-item article img,
.publication article img {
  display: block;
  width: 100%;
}

.event article a.card-link,
.news-item article a.card-link,
.publication article a.card-link {
  margin-top: 2rem;
}

.event article a.card-link::after,
.news-item article a.card-link::after,
.publication article a.card-link::after {
  border-top: 0.175rem solid;
  border-right: 0.175rem solid;
}

.event h2 {
  margin: 0;
}

.more-items {
  border-top: 2px solid rgb(243, 243, 243);
  padding-top: 2rem;
}

.more-items h4 {
  font-size: 1.5rem;
  text-align: center;
}

.news-container {
  padding: 4rem 0;
}

@media screen and (min-width: 768px) {
  .news-container {
    margin: 0 auto;
    max-width: 47rem;
  }
}

@media screen and (min-width: 1100px) {
  .news-container {
    max-width: 56rem;
  }
}

.news-events-meta .news-events-meta--item {
  margin-bottom: 0.5rem;
}

section.team {
  margin-bottom: 8rem;
}

.page-intro {
  padding: 2rem 0;
}

.team-category {
  border-bottom: 1px solid rgb(172, 172, 172);
  margin: 0 auto;
  max-width: 65rem;
  padding: 3rem 0;
  text-align: center;
}

.team-category:last-child {
  border-bottom: 0;
}

.team-members {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

.team-member {
  margin: 2rem 0;
  width: 20rem;
}

.team-member .team-member-image img {
  border: 1px solid #bebebe;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 0 0;
     object-position: 0 0;
  height: 150px;
  width: 150px;
}

.team-member .team-member-info h3 {
  margin: 0 0 0.3rem 0;
  padding: 0;
}

.team-member .team-member-info span {
  display: block;
  font-style: italic;
  margin-bottom: 2rem;
}

.team-member .team-member-info .bio {
  display: none;
}

.team-member .team-member-publications {
  margin: 2rem 0;
}

.team-member .team-member-publications li {
  margin-bottom: 0.5rem;
}

.display-bio {
  border: 1px solid rgb(243, 243, 243);
  box-shadow: 0 5px 15px rgba(51, 51, 51, 0.3);
  display: none;
  margin-bottom: 2rem;
  padding: 1rem 1.5rem;
  text-align: left;
}

.display-bio h4 {
  color: rgb(70, 145, 206);
  font-size: 2rem;
  margin-bottom: 0.25rem;
}

.display-bio p {
  font-weight: 400;
  line-height: 1.5;
}

.view-bio::after {
  content: "+";
  font-weight: 700;
  margin-left: 0.25rem;
}

.bio-open::after {
  content: "–";
}

