.filter-model {
  margin: 0 auto;
  width: 100%;
  max-width: 1160px;
  box-sizing: border-box;
  text-align: left;
  margin-bottom: 4rem; }
  @media screen and (min-width: 48rem) {
    .filter-model {
      margin-bottom: 0;
      margin-right: 2.5rem;
      width: 25%; } }
  @media screen and (min-width: 64rem) {
    .filter-model {
      margin-right: 0; } }
  .filter-model__heading {
    font-weight: 400;
    line-height: 1.2;
    margin: 0 0 1rem;
    font-size: 24px;
    font-size: 1.5rem; }
    @media screen and (min-width: 48rem) {
      .filter-model__heading {
        margin: 0 0 1.5rem; } }
    @media screen and (min-width: 64rem) {
      .filter-model__heading {
        font-size: 34px;
        font-size: 2.125rem; } }
  .filter-model__item {
    border: 0;
    padding: 0;
    margin: 0 0 0.5rem; }
    @media screen and (min-width: 48rem) {
      .filter-model__item {
        margin: 0 0 1rem; } }
    .filter-model__item-header {
      width: 100%;
      margin: 0;
      transition: all 300ms ease-in-out; }
      @media screen and (min-width: 0rem) and (max-width: 47.9375rem) {
        .filter-model__item-header {
          display: flex;
          align-items: center; }
          .filter-model__item-header.active {
            margin: 0 0 1rem; }
            .filter-model__item-header.active .filter-model__item-chevron {
              transform: rotate(180deg); } }
      @media screen and (min-width: 48rem) {
        .filter-model__item-header {
          margin: 0 0 1rem; } }
    .filter-model__item-button {
      padding: 0;
      cursor: pointer;
      appearance: none;
      border: none;
      background: none;
      display: block; }
      .filter-model__item-button:focus {
        outline: 1px solid #cf000d; }
      @media screen and (min-width: 48rem) {
        .filter-model__item-button {
          display: none; } }
    .filter-model__item-legend, .filter-model__item-button {
      margin: 0;
      width: 100%;
      text-align: left;
      font-size: 18px;
      font-size: 1.125rem;
      font-weight: 600;
      color: #000;
      line-height: 1.4; }
      @media screen and (min-width: 64rem) {
        .filter-model__item-legend, .filter-model__item-button {
          font-size: 20px;
          font-size: 1.25rem; } }
    .filter-model__item-chevron {
      transition: transform 300ms ease-in-out;
      display: block;
      transition: transform 300ms ease-in-out; }
      .filter-model__item-chevron::after {
        content: '';
        display: inline-block;
        flex-shrink: 0;
        border: 2px solid #000;
        border-top-width: 0;
        border-left-width: 0; }
        @media screen and (min-width: 0rem) and (max-width: 63.9375rem) {
          .filter-model__item-chevron::after {
            transform: rotate(45deg);
            width: 10px;
            height: 10px;
            margin: 5px 7px; } }
        @media screen and (min-width: 64rem) {
          .filter-model__item-chevron::after {
            transform: scaleY(0.75) rotate(45deg);
            width: 7px;
            height: 7px;
            margin: 0 5px 2px; } }
      @media screen and (min-width: 0rem) and (max-width: 63.9375rem) {
        .filter-model__item-chevron:after {
          width: 7px;
          height: 7px;
          margin: 4px 5px; } }
      @media screen and (min-width: 48rem) {
        .filter-model__item-chevron {
          display: none; } }
    .filter-model__item-legend {
      display: none; }
      .filter-model__item-legend .has-tooltip {
        width: 1rem;
        display: inline-block; }
      @media screen and (min-width: 48rem) {
        .filter-model__item-legend {
          display: block; } }
      @media screen and (min-width: 64rem) {
        .filter-model__item-legend {
          max-width: 75%; } }
    @media screen and (min-width: 0rem) and (max-width: 47.9375rem) {
      .filter-model__item-footer {
        margin: 0;
        max-height: 0;
        opacity: 0;
        visibility: hidden;
        overflow: hidden;
        transition: max-height .3s ease-in-out, opacity .5s ease-in-out, visibility .3s ease-in-out; }
        .filter-model__item-footer.active {
          max-height: 55rem;
          opacity: 1;
          visibility: visible;
          transition: max-height .3s ease-in-out, opacity .5s ease-in-out, visibility .3s ease-in-out; } }
    .filter-model__item-checkbox {
      margin: 0 0 0.5rem;
      padding: 0 0 0 0.25rem;
      display: grid;
      grid-template-columns: min-content auto;
      grid-gap: 0 1rem;
      font-size: 13px;
      font-size: 0.8125rem; }
      .filter-model__item-checkbox--disabled {
        color: #666; }
      .filter-model__item-checkbox *,
      .filter-model__item-checkbox *:before,
      .filter-model__item-checkbox *:after {
        box-sizing: border-box; }
    .filter-model__item-input {
      display: grid; }
      .filter-model__item-input > * {
        grid-area: checkbox; }
      .filter-model__item-input input {
        opacity: 0;
        width: 1em;
        height: 1em; }
        .filter-model__item-input input:checked + .filter-model__item-control {
          border-color: #cf000d; }
          .filter-model__item-input input:checked + .filter-model__item-control svg {
            transform: scale(1);
            background: #cf000d;
            color: #fff; }
          .filter-model__item-input input:checked + .filter-model__item-control.radio svg {
            background: transparent;
            color: #cf000d; }
        .filter-model__item-input input:disabled + .filter-model__item-control {
          color: #666; }
    .filter-model__item-control {
      color: #000;
      display: inline-grid;
      width: 1em;
      height: 1em;
      border-radius: 0;
      transform: scale(1);
      background: #fff;
      color: #fff;
      border: 1px solid #000; }
      .filter-model__item-control svg {
        transition: transform 0.1s ease-in 25ms;
        transform: scale(0);
        transform-origin: bottom left; }
      .filter-model__item-control.radio {
        border-radius: 0.5em; }
    .filter-model__item-label {
      margin: 0;
      color: #000;
      font-weight: 400;
      font-size: 16px;
      font-size: 1rem; }
      .filter-model__item-label sup {
        padding: 0 2px; }

/*# sourceMappingURL=filter-model.css.map */