/* Keep every group and child link visible together in the desktop mega menu. */
.mega-menu { padding: 0 28px; }
.mega-shell {
  grid-template-columns: 270px minmax(0, 1fr);
  height: auto;
  min-height: 0;
  max-height: none;
  overflow: visible;
}
.mega-roots {
  display: flex;
  flex-direction: column;
  gap: 2px;
  overflow: visible;
  padding: 10px;
  background: #f4f8fc;
}
.mega-root {
  flex: 1 0 auto;
  min-height: 39px;
  padding: 8px 11px;
  margin: 0;
  border-radius: 7px;
  font-size: 14px;
  line-height: 1.25;
}
.mega-root span { font-size: 14px; }
.mega-all-link {
  margin: 5px 6px 0;
  padding: 11px 4px 5px;
  font-size: 13px;
}
.mega-content {
  overflow: visible;
  padding: 15px 20px 8px;
}
.mega-content-head { margin-bottom: 10px; }
.mega-content-head span { font-size: 9px; }
.mega-content-head h2 { font-size: 18px; margin-top: 3px; }
.mega-content-head>a { font-size: 11px; }
.mega-grid {
  display: block;
  columns: 6;
  column-gap: 12px;
}
.mega-grid--medium { columns: 4; }
.mega-grid--sparse { columns: 3; column-gap: 16px; }
.mega-grid--pair { columns: 2; column-gap: 16px; }
.mega-grid--single { columns: 1; }
.mega-card {
  display: inline-grid;
  grid-template-columns: 70px minmax(0, 1fr);
  align-items: center;
  width: 100%;
  break-inside: avoid;
  margin: 0 0 8px;
  border-color: #e0eaf3;
  border-radius: 9px;
  vertical-align: top;
}
.mega-card-image {
  position: relative;
  display: block;
  grid-column: 1;
  grid-row: 1;
  height: 70px;
  padding: 3px;
  background: #f2f7fc;
}
.mega-card-image img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
}
.mega-card h3 {
  grid-column: 2;
  grid-row: 1;
  margin: 6px;
  font-size: 10.5px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.mega-child-links {
  grid-column: 1 / -1;
  gap: 4px;
  padding: 5px 8px 8px;
}
.mega-child-links a {
  font-size: 10px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.mega-grid--medium .mega-card,
.mega-grid--sparse .mega-card,
.mega-grid--pair .mega-card {
  display: inline-block;
}
.mega-grid--medium .mega-card-image,
.mega-grid--sparse .mega-card-image,
.mega-grid--pair .mega-card-image {
  height: 102px;
  padding: 8px;
}
.mega-grid--sparse .mega-card-image,
.mega-grid--pair .mega-card-image { height: 115px; }
.mega-grid--medium .mega-card h3,
.mega-grid--sparse .mega-card h3,
.mega-grid--pair .mega-card h3 {
  margin: 9px 12px 7px;
  font-size: 12px;
}
.mega-grid--medium .mega-child-links,
.mega-grid--sparse .mega-child-links,
.mega-grid--pair .mega-child-links { padding: 0 12px 11px; }
.mega-grid--medium .mega-child-links a,
.mega-grid--sparse .mega-child-links a,
.mega-grid--pair .mega-child-links a { font-size: 11px; }
.mega-grid--single .mega-card {
  display: grid;
  grid-template-columns: minmax(240px, 40%) 1fr;
  min-height: 350px;
  background: #f8fbfe;
}
.mega-grid--single .mega-card-image { height: 350px; }
.mega-grid--single .mega-card h3 { margin: 20px; font-size: 22px; }
.mega-grid--single .mega-child-links { grid-column: 2; padding: 0 20px 20px; }
.mega-grid--sparse .mega-card--many .mega-child-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px 10px;
}
@media (max-height: 700px) and (min-width: 761px) {
  .mega-roots { padding-top: 6px; padding-bottom: 6px; }
  .mega-root { min-height: 35px; padding-top: 6px; padding-bottom: 6px; }
  .mega-card-image { height: 66px; }
  .mega-grid--medium .mega-card-image { height: 90px; }
  .mega-grid--sparse .mega-card-image,
  .mega-grid--pair .mega-card-image { height: 100px; }
}
@media (max-width: 1100px) {
  .mega-shell { grid-template-columns: 215px minmax(0, 1fr); }
  .mega-root { font-size: 12px; }
  .mega-grid { columns: 5; column-gap: 8px; }
  .mega-grid--medium { columns: 4; }
  .mega-grid--sparse { columns: 3; }
  .mega-grid--pair { columns: 2; }
  .mega-content { padding: 12px; }
  .mega-card { margin-bottom: 7px; }
  .mega-card-image { height: 60px; }
  .mega-grid--medium .mega-card-image { height: 84px; }
  .mega-grid--sparse .mega-card-image,
  .mega-grid--pair .mega-card-image { height: 100px; }
}
@media (max-width: 760px) {
  .mega-menu { padding: 0 12px; }
  .mega-shell { grid-template-columns: 175px minmax(0, 1fr); grid-template-rows: auto; height: auto; }
  .mega-roots { display: block; max-height: none; border-right: 1px solid #dce6f0; border-bottom: 0; }
  .mega-root { width: 100%; white-space: normal; font-size: 12px; }
  .mega-root span, .mega-all-link { display: initial; }
  .mega-grid, .mega-grid--medium, .mega-grid--sparse { columns: 3; }
  .mega-grid--pair { columns: 2; }
  .mega-grid--single { columns: 1; }
  .mega-card { grid-template-columns: 55px minmax(0, 1fr); }
  .mega-card-image { height: 55px; }
}
@media (max-width: 560px) {
  .mega-menu { padding: 0; }
  .mega-shell { grid-template-columns: 1fr; grid-template-rows: auto auto; border-radius: 0; }
  .mega-roots { display: flex; flex-direction: row; flex-wrap: wrap; gap: 3px; padding: 7px; border: 0; border-bottom: 1px solid #dce6f0; }
  .mega-root { flex: 0 0 auto; width: auto; min-height: 25px; padding: 5px 7px; white-space: nowrap; }
  .mega-root span, .mega-all-link { display: none; }
  .mega-content { padding: 12px; }
  .mega-grid, .mega-grid--medium, .mega-grid--sparse, .mega-grid--pair { columns: 2; }
  .mega-grid--single { columns: 1; }
  .mega-card { grid-template-columns: 64px minmax(0, 1fr); }
  .mega-card-image { height: 64px; }
  .mega-grid--medium .mega-card-image,
  .mega-grid--sparse .mega-card-image,
  .mega-grid--pair .mega-card-image { height: 85px; }
  .mega-grid--single .mega-card { grid-template-columns: 1fr; }
  .mega-grid--single .mega-card-image { height: 170px; }
  .mega-grid--single .mega-card h3 { grid-column: 1; grid-row: 2; font-size: 17px; }
  .mega-grid--single .mega-child-links { grid-column: 1; }
}
