/**
 * Mixin for fluid type.
 * Example usage: @include fluid-type(font-size, 320px, 1600px, 32px, 80px);
 */
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.hy-table-container {
  font-size: 0.875rem;
  line-height: 18px;
  display: block;
  position: relative;
  overflow: scroll;
  white-space: nowrap;
}
@media (min-width: 30rem) {
  .hy-table-container {
    font-size: 1rem;
    line-height: 20px;
  }
}
.hy-table-container table {
  border-collapse: collapse;
  border: 1px solid var(--grayscale-dark);
  text-indent: initial;
  width: 100%;
}
.hy-table-container thead {
  border-bottom: 1px solid var(--grayscale-dark);
  border-left: 1px solid var(--grayscale-dark);
  border-right: 1px solid var(--grayscale-dark);
}
.hy-table-container thead th {
  font-size: 0.875rem;
  line-height: 20px;
  border-left: 1px solid black;
  background-color: var(--grayscale-light);
  text-transform: uppercase;
}
@media (min-width: 30rem) {
  .hy-table-container thead th {
    font-size: 1rem;
    line-height: 20px;
  }
}
.hy-table-container td,
.hy-table-container th {
  border: 1px solid var(--grayscale-dark);
  background-clip: padding-box;
  color: var(--grayscale-dark);
  font-family: var(--main-font-family);
  letter-spacing: -0.5px;
  padding: 0.7em 0.9em;
  text-align: left;
  vertical-align: top;
  word-wrap: break-word;
}
.hy-table-container td a,
.hy-table-container th a {
  text-decoration: none;
}
.hy-table-container td a:hover,
.hy-table-container th a:hover {
  cursor: pointer;
  text-decoration: underline;
}
.hy-table-container td p,
.hy-table-container th p {
  font-size: inherit;
}
.hy-table-container td:first-child,
.hy-table-container th:first-child {
  font-weight: 700;
  border-collapse: separate;
  border-right: none;
  left: 0;
  max-width: 180px;
  min-width: 180px;
  position: sticky;
  white-space: normal;
  width: 180px;
  z-index: 2;
}
@media (min-width: 60rem) {
  .hy-table-container td:first-child,
  .hy-table-container th:first-child {
    border-right: 1px solid var(--grayscale-dark);
  }
}
.hy-table-container td:first-child::after,
.hy-table-container th:first-child::after {
  content: "";
  display: block;
  position: absolute;
  right: -10px;
  bottom: 0;
  width: 10px;
  top: 0;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.2)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 100%);
}
@media (min-width: 60rem) {
  .hy-table-container td:first-child::after,
  .hy-table-container th:first-child::after {
    display: none;
  }
}
.hy-table-container td:first-child::before,
.hy-table-container th:first-child::before {
  border-left: 1px solid black;
  content: "";
  display: block;
  position: absolute;
  left: -1px;
  bottom: 0;
  width: 1px;
  top: 0;
  height: 100%;
}
@media (min-width: 60rem) {
  .hy-table-container td:first-child::before,
  .hy-table-container th:first-child::before {
    display: none;
  }
}
@media (min-width: 30rem) {
  .hy-table-container td:first-child,
  .hy-table-container th:first-child {
    max-width: 220px;
    min-width: 220px;
    width: 220px;
  }
}
@media (min-width: 48rem) {
  .hy-table-container td:first-child,
  .hy-table-container th:first-child {
    max-width: 300px;
    min-width: 300px;
    width: 300px;
  }
}
@media (min-width: 60rem) {
  .hy-table-container td:first-child,
  .hy-table-container th:first-child {
    max-width: 40%;
    min-width: 40%;
    width: 40%;
  }
}
.hy-table-container td:first-child:only-child,
.hy-table-container th:first-child:only-child {
  border: 1px solid var(--grayscale-dark);
}
.hy-table-container td:first-child:only-child::after, .hy-table-container td:first-child:only-child::before,
.hy-table-container th:first-child:only-child::after,
.hy-table-container th:first-child:only-child::before {
  display: none;
}
.hy-table-container td {
  background-color: var(--grayscale-white);
  word-wrap: break-word;
  white-space: normal;
}
.hy-table-container caption {
  margin-bottom: 1rem;
}