/**
 * The base file that should be imported by every file.
 * There should be no CSS generation in this or from imported scss files at all!
 */
/**
 * Library
 */
/**
 * Variables and functions
 */
@media (max-width: 980px) {
  body:not(.filter-open) aside.filters .top {
    padding: 10px;
    background-color: var(--orange);
    margin: auto;
    width: 97.5%;
    border-radius: 15px; }
    body:not(.filter-open) aside.filters .top h4 {
      color: var(--white);
      padding-left: 10px; }
    body:not(.filter-open) aside.filters .top .icon-cross {
      display: none; } }

body:not(.filter-open) aside.filters .filter-content {
  display: none; }

aside.filters {
  top: 0;
  bottom: -100%;
  width: 100%;
  height: 100%;
  max-width: 450px;
  padding-bottom: 20px;
  background-color: var(--white);
  transition: ease-in-out bottom 200ms; }
  @media (min-width: 981px) {
    aside.filters {
      display: block;
      flex-shrink: 0;
      flex-grow: 1;
      max-width: 300px;
      height: 100%; } }
  @media (min-width: 1200px) {
    aside.filters {
      max-width: 400px; } }
  @media (min-width: 981px) {
    aside.filters .filters-in {
      border: 1px solid var(--medium-grey); } }
  @media (max-width: 980px) {
    aside.filters .filter-groups {
      display: none; } }
  aside.filters .top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative; }
    aside.filters .top > * {
      position: relative;
      z-index: 1; }
    aside.filters .top .title h4 {
      font-size: 16px;
      margin: 0; }
      @media (min-width: 981px) {
        aside.filters .top .title h4 {
          font-size: 20px; } }
    aside.filters .top .title .reset-filters {
      background-color: transparent;
      border: 0;
      padding: 0;
      color: var(--text-color);
      text-decoration: underline; }
      @media (max-width: 980px) {
        aside.filters .top .title .reset-filters {
          display: none; } }
  aside.filters .filter-group {
    border-bottom: 1px solid var(--medium-grey);
    padding: 1em 0; }
    @media (min-width: 981px) {
      aside.filters .filter-group:last-child {
        border-bottom: 0; } }
    aside.filters .filter-group .filter-label {
      position: relative;
      font-weight: 700;
      font-size: 20px;
      color: var(--dark-green);
      padding: .4em 0; }
    aside.filters .filter-group .facetwp-facet {
      margin-bottom: 0; }
      aside.filters .filter-group .facetwp-facet.facetwp-facet-categories > .facetwp-checkbox {
        display: none; }
      aside.filters .filter-group .facetwp-facet .facetwp-depth {
        margin-left: 0; }
    aside.filters .filter-group .filter-facet {
      margin-top: 10px; }
      aside.filters .filter-group .filter-facet .facetwp-checkbox {
        background-image: none;
        padding-left: 35px;
        position: relative;
        font-size: 16px; }
        @media (max-width: 980px) {
          aside.filters .filter-group .filter-facet .facetwp-checkbox {
            padding-top: .3em;
            margin-bottom: 25px;
            padding-left: 55px; } }
        aside.filters .filter-group .filter-facet .facetwp-checkbox::before {
          content: '';
          position: absolute;
          width: 15px;
          height: 15px;
          line-height: 15px;
          top: 11px;
          left: 10px;
          text-align: center;
          border: 1px solid var(--medium-grey);
          border-radius: 3px;
          transition: ease-in-out background-color 200ms; }
          @media (min-width: 981px) {
            aside.filters .filter-group .filter-facet .facetwp-checkbox::before {
              left: 4px;
              top: 4px; } }
        aside.filters .filter-group .filter-facet .facetwp-checkbox:after {
          content: '';
          width: 35px;
          height: 35px;
          position: absolute;
          left: 0;
          top: 0;
          border: 1px solid var(--light-gray);
          border-radius: 10px; }
          @media (min-width: 981px) {
            aside.filters .filter-group .filter-facet .facetwp-checkbox:after {
              width: 20px;
              top: 1px;
              height: 20px;
              border-radius: 8px; } }
        aside.filters .filter-group .filter-facet .facetwp-checkbox.checked:after {
          border-color: var(--night);
          background-color: var(--night); }
        aside.filters .filter-group .filter-facet .facetwp-checkbox.checked::before {
          content: '\e902';
          font-family: 'Icomoon';
          color: var(--white);
          z-index: 1;
          font-size: 12px; }
          @media (min-width: 981px) {
            aside.filters .filter-group .filter-facet .facetwp-checkbox.checked::before {
              font-size: 7px; } }
        aside.filters .filter-group .filter-facet .facetwp-checkbox:last-child {
          margin-bottom: 0; }
    aside.filters .filter-group.toggleable.initial-closed .filter-facet {
      display: none; }
    aside.filters .filter-group.toggleable.closed .filter-label:after, aside.filters .filter-group.toggleable.initial-closed .filter-label:after {
      transform: rotate(180deg); }
    aside.filters .filter-group.toggleable.closed .filter-facet, aside.filters .filter-group.toggleable.initial-closed .filter-facet {
      display: none; }
    aside.filters .filter-group.toggleable .filter-label {
      cursor: pointer;
      position: relative; }
      aside.filters .filter-group.toggleable .filter-label:after {
        position: absolute;
        font-family: 'Icomoon';
        color: var(--text-color);
        font-size: 8px;
        content: '\e910';
        top: 16px;
        right: 0; }
  aside.filters .mobile-only {
    display: none; }

@media (max-width: 980px) {
  body.filter-open {
    overflow: hidden;
    height: 100vh; }
    body.filter-open::after {
      content: '';
      position: fixed;
      z-index: 9998;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 100%;
      background: rgba(17, 17, 17, 0.3); }
    body.filter-open aside.filters {
      bottom: 0;
      right: 0;
      left: 0;
      z-index: 9999;
      overflow-y: scroll;
      display: block;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior: contain;
      padding: 30px;
      top: 0;
      margin-top: 185px;
      padding-bottom: 285px;
      border-radius: 15px 15px 0 0;
      position: fixed; }
      body.filter-open aside.filters .mobile-only {
        display: block;
        position: fixed;
        width: 100%;
        bottom: 0;
        left: 0;
        z-index: 999;
        background-color: var(--white);
        height: 100px;
        border-radius: 15px 15px 0 0;
        border-top: 1px solid var(--light-gray); }
        body.filter-open aside.filters .mobile-only .close-filters {
          padding: 10px;
          padding-left: 20px;
          background-color: var(--orange);
          margin: auto;
          width: 95%;
          margin-left: 2.5%;
          margin-top: 20px;
          border-radius: 15px; }
          body.filter-open aside.filters .mobile-only .close-filters .icon-filter {
            height: 40px;
            width: 40px;
            border: 0;
            border-radius: 10px;
            font-size: 15px;
            background-color: rgba(17, 17, 17, 0.1);
            display: flex;
            align-items: center;
            justify-content: center; }
      body.filter-open aside.filters .top h4 {
        font-size: 20px !important; }
      body.filter-open aside.filters .filter-groups {
        display: block; }
      body.filter-open aside.filters .open-filters {
        background-color: var(--orange); }
        body.filter-open aside.filters .open-filters .icon-filter {
          display: none !important; }
        body.filter-open aside.filters .open-filters .icon-cross {
          display: block !important;
          color: var(--white); } }

body:not(.filter-open) .reset-filters {
  display: none !important; }

.open-filters {
  height: 40px;
  width: 40px;
  border: 0;
  display: none;
  border-radius: 10px;
  font-size: 15px;
  background-color: rgba(17, 17, 17, 0.1); }
  @media (max-width: 980px) {
    .open-filters {
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center; } }
  .open-filters .icon-filter {
    display: block !important;
    color: var(--white); }
  .open-filters .icon-close {
    display: none !important; }

/*# sourceMappingURL=filters.css.map */
