/* Global styles */

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

body {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

ul[role="list"],
li[role="list"] {
  padding: 0;
  list-style: none;
}

figure {
  margin: 0;
}

a {
  text-underline-offset: 4px;
}

/* Home page */
.card {
  opacity: 1;
  transition: opacity 0.15s ease-in;
}
.card:hover,
.card:focus {
  opacity: 0.8;
  transition: opacity 0.15s ease-in;
}
.card-title {
  display: none;
}
.card:hover .card-title {
  display: flex;
}

/* Utility classes */

.lh-caption {
  line-height: 1.25;
}
.lh-copy {
  line-height: 1.35;
}

.bg-chalkwhite {
  background: #f5f5f5;
}
.bg-washedblue {
  background: #dfe2f3;
}

.coralred {
  color: #ff4544;
}
.washedblue {
  color: #dfe2f3;
}
.ultrablue {
  color: #0511f2;
}

.b--washedblue {
  border-color: #dfe2f3;
}
.b--ultrablue {
  border-color: #0511f2;
}

.mundial {
  font-family: mundial, sans-serif;
}

.mw-page {
  max-width: 80rem;
}

.gap0 {
  gap: 0;
}
.gap1 {
  gap: 0.25rem;
}
.gap2 {
  gap: 0.5rem;
}
.gap3 {
  gap: 1rem;
}
.gap4 {
  gap: 2rem;
}
.gap5 {
  gap: 4rem;
}
.gap6 {
  gap: 8rem;
}
.gap7 {
  gap: 16rem;
}

.grid {
  display: grid;
}
.grid-rows-1 {
  grid-template-rows: repeat(1, minmax(0, 1fr));
}
.grid-rows-2 {
  grid-template-rows: repeat(2, minmax(0, 1fr));
}
.grid-rows-3 {
  grid-template-rows: repeat(3, minmax(0, 1fr));
}
.grid-rows-4 {
  grid-template-rows: repeat(4, minmax(0, 1fr));
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.grid-cols-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.row-span-1 {
  grid-row: span 1 / span 1;
}
.row-span-2 {
  grid-row: span 2 / span 2;
}
.row-span-3 {
  grid-row: span 3 / span 3;
}
.row-span-4 {
  grid-row: span 4 / span 4;
}
.row-start-1 {
  grid-row-start: 1;
}
.row-start-2 {
  grid-row-start: 2;
}
.row-start-3 {
  grid-row-start: 3;
}
.row-start-4 {
  grid-row-start: 4;
}
.row-end-1 {
  grid-row-end: 1;
}
.row-end-2 {
  grid-row-end: 2;
}
.row-end-3 {
  grid-row-end: 3;
}
.row-end-4 {
  grid-row-end: 4;
}
.col-span-1 {
  grid-column: span 1 / span 1;
}
.col-span-2 {
  grid-column: span 2 / span 2;
}
.col-span-3 {
  grid-column: span 3 / span 3;
}
.col-span-4 {
  grid-column: span 4 / span 4;
}
.col-span-5 {
  grid-column: span 5 / span 5;
}
.col-span-6 {
  grid-column: span 6 / span 6;
}
.col-start-1 {
  grid-column-start: 1;
}
.col-start-2 {
  grid-column-start: 2;
}
.col-start-3 {
  grid-column-start: 3;
}
.col-start-4 {
  grid-column-start: 4;
}
.col-end-1 {
  grid-column-end: 1;
}
.col-end-2 {
  grid-column-end: 2;
}
.col-end-3 {
  grid-column-end: 3;
}
.col-end-4 {
  grid-column-end: 4;
}

.object-cover {
  object-fit: cover;
}

.full-bleed {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.slick-prev:before,
.slick-next:before {
  color: #ccc;
}

.nav-link {
  position: relative;
  padding: 2px 0;
}

.nav-link::after {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 3px;
  background: #0511f2;
  content: "";
  opacity: 0;
  transition: opacity 0.5s, transform 0.5s;
  transform: translateY(6px);
}

.nav-link:hover::after,
.nav-link:focus::after {
  opacity: 1;
  transform: translateY(0px);
}

.w-icon {
  width: 1.5rem;
}
