/*------------------------------------*\
//     #FIELDS
// \*------------------------------------*/

/**
 * 1) Consists of a label, form control, and an optional note about the field.
 */
.c-field {
  margin-bottom: var(--spacing-large);

  .location-link {
    position: absolute;
    margin-top: 70px;
    scroll-behavior: unset;
    cursor: pointer;
  }
}

/**
 * Field label
 */
.c-field__label {
  font-size: var(--font-size-med);
  font-weight: 700;
  margin-bottom: .5rem;

  &.sr-only {
    margin: 0;
  }

  &.blog-solutions, 
  &.blog-topics {
    font-weight: 700;
    text-transform: uppercase;
    font-size: 1.25rem;
    color: var(--primary-color);

    span {
      color: #6e6f72;
      font-size: 1rem;
      text-transform: none;
      font-weight: 500;
    }
  }
}

/**
 * Field body
 */
.c-block-form__form {
  padding: 50px 0 40px;
  display: flex;
  align-items: flex-start;

  @media all and (max-width: 60em) {
    flex-direction: column;
    padding: 30px 0 0px;
  }

  h2.c-inline-form__header {
    width: 230px;
    text-align: left;
    margin: 0px 40px 30px 0;
    font-size: 20px;

    @media all and (max-width: 60em) {
      width: auto;
      margin: 0px 10px 30px 0;
    }
  }

  .c-inline-form__header {
    text-align: center;
    font-weight: 700;
    margin: 0 10px 30px;
    text-transform: uppercase;
  }

  .c-field__group {
    &.solutions {
      width: 300px;

      /* Custom Dropdown Checkbox Select*/
      .dropdown-check-list {
        display: inline-block;
        width: 250px;
      }
      
      .dropdown-check-list .anchor {
        position: relative;
        cursor: pointer;
        background: #fff;
        border: 1px solid #d3d3d3;
        border-radius: 0;
        color: #6e6f72;
        font-size: 1.25rem;
        padding: .75rem 2.75rem .75rem 1rem;

        /* Caret */
      
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24.7' height='12.96' viewBox='0 0 24.7 12.96'%3E%3Ctitle%3EAsset 1%3C/title%3E%3Cpath d='M12.35,13a.62.62,0,0,1-.44-.18L.18,1.05A.62.62,0,0,1,1.05.18l11.3,11.3L23.65.18a.62.62,0,1,1,.87.87L12.78,12.78A.58.58,0,0,1,12.35,13Z' fill='%23414141'/%3E%3C/svg%3E");
        background-position: right .7em top 50%;
        background-repeat: no-repeat;
        background-size: 21px auto;
        max-width: 100%;
        padding: .75rem 2.75rem .75rem 1rem;
      }
      
      .dropdown-check-list .anchor:active:after {
        right: 8px;
        top: 21%;
      }
      
      .dropdown-check-list ul.items {
        padding: 5px 0;
        display: none;
        margin: 0;
        border: 1px solid #ccc;
        background: #f4f4f4;
        border-radius: 5px;
        width: 250px;
        position: absolute;
        box-shadow: 5px 5px 12px -8px #999;
        left: -15px;
        top: 45px;
        z-index: 1;
      }
      
      .dropdown-check-list ul.items li {
        list-style: none;
        margin: 0;
        padding: 0px;

        label {
          font-size: 1.35rem;
          letter-spacing: -.5px;
          color: #333;
          margin-left: 0;
          padding: 0px 15px 5px 50px;
          z-index: 20px;

          &:hover {
            color: #fff;
          }
        }

        .checkmark {
          left: 20px;
          top: 7px;
        }

        &:hover {
          background:#5b91f0;
        }
      }
      
      .dropdown-check-list.visible .anchor {
        /*color: #0094ff; */
        outline: -webkit-focus-ring-color auto 1px;
      }
      
      .dropdown-check-list.visible .items {
        display: block;
      }
    }

    &.topics {
      width: 300px;

      @media all and (max-width: 60em) {
        margin-bottom: 40px;
      }
    }
  }

  .c-btn {
    margin: 0 0 20px;
    display: block;

    @media all and (min-width: 1250px) {
      display: inline;
      margin: 0;
    }

    &#clear-btn {
      border: 2px solid var(--primary-color);
      background: transparent;
      color: var(--primary-color);

      @media all and (min-width: 1250px) {
        margin: 0 0 0 20px;
      }
    }
  }
}

.c-inline-form .c-block-form__form .c-field {
  text-align: left;
 
  @media all and (min-width: 1250px) {
    min-width: 300px;
  }

  &.button-set {
    @media all and (min-width: 60em) {
      margin-top: 1rem;
      margin-bottom: 0;
    }

    @media all and (min-width: 1250px) {
      margin-top: 7px;
      flex-direction: column;
      justify-content: center;
      min-width: 330px;
    }
  }
}

.c-field__body {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: wrap;
  flex-direction: column;
  float: left;

  @media all and (min-width: 47em) {
    max-height: 200px;
  }

  &.multi-select {
  /* Customize the label (the container) */
    /* Customize the label (the container) */
    .container {
      display: block;
      position: relative;
      padding: 0 15px 0 35px;
      margin-bottom: 12px;
      cursor: pointer;
      font-size: 18px;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;

      /* display: block;
         float: left; */
      margin-left: 0;
    }

    /* Hide the browser's default checkbox */
    .container input {
      position: absolute;
      opacity: 0;
      cursor: pointer;
      height: 0;
      width: 0;
    }

    /* Create a custom checkbox */
    .checkmark, .radio {
      position: absolute;
      top: 0;
      left: 0;
      height: 20px;
      width: 20px;
      background-color: #eee;
      border: 1px solid;
    }

    .radio {
      border-radius: 15px;
    }

    /* On mouse-over, add a grey background color */
    .container:hover input ~ .checkmark,
    .container:hover input ~ .radio {
      background: #fff;
    }

    /* When the checkbox is checked, add a blue background */
    .container input:checked ~ .checkmark,
    .container input:checked ~ .radio {
      background-color: var(--bg-color-input-checked);
    }

    /* Create the checkmark/indicator (hidden when not checked) */
    .checkmark:after,
    .radio:after {
      content: "";
      position: absolute;
      display: none;
    }

    /* Show the checkmark when checked */
    .container input:checked ~ .checkmark:after,
    .container input:checked ~ .radio:after {
      display: block;
    }

    /* Style the checkmark/indicator */
    .container .checkmark:after {
      left: 7px;
      top: 3px;
      width: 5px;
      height: 10px;
      border: solid white;
      border-width: 0 3px 3px 0;
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg);
    }

    .container .radio:after {
      left: 6px;
      top: 3px;
      width: 5px;
      height: 10px;
      border: solid white;
      border-width: 0 3px 3px 0;
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg);
    }

    label {
      line-height: 1.3;
      cursor: pointer;
      padding: 0 0 0 40px;
      margin-left: -40px;
      z-index: 1;
      position: relative;
    }
  }

  &.checkbox-multiselect {
    margin: 0;
    padding: 0;
    line-height: 0;
  }
}

.checkbox-virtual {
  display: block;
  position: relative;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;

  .checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 20px;
    width: 20px;
    background-color: #fff;
    border: 1px solid #d3d3d3;
  }

  input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
  }
  span {
    position: absolute;
    top: 0;
    left: 0;
    height: 20px;
    width: 20px;
    background-color: #eee;
    border: 1px solid #d3d3d3;
    list-style: none;
  }

  label {
    letter-spacing: -.5px;
    color: #4a4f54;
    margin-left: 0;
    padding: 0px 15px 0px 30px;
    z-index: 1;
    cursor: pointer;
  }

  .checkmark:after {
    content: "";
    position: absolute;
    display: none;
  }

  input:checked ~ .checkmark:after,
  input:checked ~ .radio:after {
    display: block;
  }

  input:checked ~ .checkmark,
  input:checked ~ .radio {
    background-color: var(--bg-color-input-checked);
  }

  .checkmark:after {
    left: 7px;
    top: 3px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }  
}

/**
 * Field note
 */
.c-field__note {
  color: var(--color-neutral-gray-53);
  display: inline-block;
  font-size: var(--font-size-sm);
}

.c-select  {
  cursor: pointer;
}

.filter-container {
  .collapse {
    align-self: center;
    /*margin-left: 50px;*/

    @media all and (max-width: 60em) {
      width: 300px;
      margin: auto auto auto 15px;
      cursor: pointer;
    }

    border: none;
    text-align: left;
    outline: none;
    font-size: 15px;
    display: inherit;
    background-color: #f4f4f4;
    margin-top: 5px;
  }

  h2.c-inline-form__header {
    margin: 0px 0px 5px 0;
  }

  .caret {
    height: 2.8em;
    width: 2.8em;
    padding: 0.5em;
    margin: 9px 0;
    position: relative;
    cursor: pointer;
    border-radius: 4px;
    display: none;

    @media all and (max-width: 60em) {
      display: block;
    }

    .left-bar {
      position: absolute;
      background-color: transparent;
      top: 0;
      left:13px;
      width: 20px;
      height: 5px;
      display: block;
      transform: rotate(35deg);
      float: right;
      border-radius: 2px;

      &:after {
        content:"";
        background-color: #4a4f54;
        width: 20px;
        height: 5px;
        display: block;
        float: right;
        border-radius: 6px 10px 10px 6px;
        transition: all 0.5s cubic-bezier(.25,1.7,.35,.8);
        z-index: -1;
      }
    }

    .right-bar {
      position: absolute;
      background-color: transparent;
      top: 0px;
      left:26px;
      width: 20px;
      height: 5px;
      display: block;
      transform: rotate(-35deg);
      float: right;
      border-radius: 2px;
      &:after {
        content:"";
        background-color: #4a4f54;
        width: 20px;
        height: 5px;
        display: block;
        float: right;
        border-radius: 10px 6px 6px 10px;
        transition: all 0.5s cubic-bezier(.25,1.7,.35,.8);
        z-index: -1;
      }
    }

    &.open {
        .left-bar:after {
        transform-origin: center center;
        transform: rotate(-70deg);
      }
      .right-bar:after {
        transform-origin: center center;
        transform: rotate(70deg);
      }
    }
  }

  /* Style the collapsible content. Note: hidden by default */
  .filter-content {
    /*margin: auto;*/
    display: flex;
    overflow: visible;
    flex-direction: row;

    @media all and (max-width: 60em) {
      padding: 0 15px;
      /* display: none;
      // overflow: hidden; */
      flex-direction: column;

      .c-field__group .c-field {
        margin: 1rem 0;
      }
      
      /* .button-set {
         padding: 0 8px;
       } */
    }

    @media all and (min-width: 60em) {
      

      .c-field__group {
        justify-content: center;
        flex-direction: column;
      }
    }

    @media all and (min-width: 70em) {
      max-height: 150px;
    }

    @media all and (min-width: 1250px) {
      max-height: 60px;
    }
  }
}

#fac-zip-city-state {
  color: #6e6f72;
}

.events-form {
  height: 150px;

  @media all and (max-width: 60em) {
    height: auto;

    .c-inline-form__form {
      align-items: flex-start;
      padding: 40px 2rem;
    }

    .c-field__body {
      padding-bottom: 45px;
      padding-right: 20px;
    }

    button {
      margin-left: 10px;
    }
  }
}