#jcls-search * {
    box-sizing: border-box;
  }
  
  /* CSS Stylesheet for the business listing, offer and event search modules  */
  
  #jcls-search {
    width: 100%;
    text-align: left;
  }
  
  #jcls-search h1 {
    font-size: 30px;
  }
  
  #jcls-search .search-description {
    font-size    : 18px;
    margin-bottom: 45px;
  }
  
  #jcls-search textarea:focus,
  #jcls-search input:focus,
  #jcls-search select:focus,
  #jcls-search password:focus {
    border-color: rgba(82, 168, 236, 0.9);
    box-shadow  : 0 1px 1px rgba(0, 2, 2, 0.075) inset, 0 0 3px rgba(82, 168, 236, 0.7) inset;
    outline     : 0 none;
  }
  
  #jcls-search textarea.required,
  #jcls-search input.required,
  #jcls-search select.required,
  #jcls-search div.required a {
    border-color: rgba(255, 0, 0, 1) !important;
    box-shadow  : 0 0 5px rgba(254, 9, 0, 1) inset !important;
    outline     : 0 none;
  }
  
  .ui-autocomplete-loading {
    background: white url('../pictures/loading_small.gif') right center no-repeat;
  }
  
  .ui-autocomplete-loading {
    height : 15px;
    width  : 17px;
    display: inline-block;
  }
  
  #searchform .form-container {
    display    : flex;
    align-items: center;
    flex-wrap  : wrap;
  }
  
  #searchform .fields-container {
    display    : flex;
    align-items: center;
    flex-wrap  : wrap;
  }
  
  #searchform .form-field {
    margin     : 5px 10px 5px 0;
    line-height: 40px;
    height     : 40px;
    position: relative;
  }
  
  #searchform .form-field.custom {
    height: auto;
  }
  
  #searchform .form-field div.custom-div {
    line-height : 40px;
    margin-right: 15px;
    display     : inline;
  }
  
  #searchform .form-field div.custom-div input {
    margin     : 0 3px 0 0;
    line-height: 20px;
  }
  
  #searchform .form-field label {
    margin     : 0 10px 0 0;
    line-height: 40px;
    display    : inline;
  }
  
  #searchform .has-text-left {
    display    : flex;
    margin-left: 10px;
  }
  
  
  #searchform .form-field label.text-label {
    display: none;
  }
  
  #searchform .form-field select,
  #searchform .form-field input[type="text"] {
    border-color    : #9B9B9B #EDEDED #DDDDDD #C2C2C2;
    background-color: #fcfcfc;
    border-radius   : 5px;
    display         : inline-block;
    color           : #333333;
    font-size       : 14px;
    font-weight     : normal;
    height          : 40px;
    line-height     : 40px;
    margin          : 0;
    width           : 200px;
    position        : relative;
  }
  
  #searchform #searchkeyword {
    width: 260px;
  }
  
  #searchform .chosen-container-single {
    height : 40px;
    display: inherit;
  }
  
  #searchform .chosen-container-single .chosen-single {
    height: 40px;
  }
  
  #searchform .chosen-container-single .chosen-single span {
    line-height: 40px;
    color      : #333333;
    font-size  : 14px;
    text-align : left;
  }
  
  #searchform .chosen-container-single .chosen-search input[type="text"] {
    width: 100%;
  }
  
  
  #searchform .chosen-container-single .chosen-single {
    background: #fcfcfc;
  }
  
  #searchform .chosen-container-single .chosen-single div:before {
    font-family    : LineAwesome;
    font-style     : normal;
    font-weight    : normal;
    text-decoration: inherit;
    content        : "\f110";
    font-size      : 16px;
    display        : block;
    line-height    : 40px;
    text-align     : center;
    color          : #555;
  
  }
  
  #searchform .chosen-container-single .chosen-single div {
    width: 23px;
  }
  
  #searchform .form-field .detail_box {
    margin  : 5px 10px 0 0;
    position: relative;
    width   : 222px;
  }
  
  #searchform .form-field .detail_box div {
    margin: 5px 10px 0 0;
  }
  
  #searchform .form-field input {}
  
  #searchform .form-field input.dir-date {}
  
  #searchform .input-append button {
    height  : 39px;
    right   : 0;
    top     : 1px;
    position: absolute;
  }
  
  #searchform .form-field select {
    height : 40px;
    padding: 0 0 0 7px;
  }
  
  
  .zipcode-container {
    position: relative;
  
  }
  
  
  #jcls-search.vertical {
    padding: 5px 7px;
  }
  
  #jcls-search.vertical input[type="text"] {
    width    : 100% !important;
    max-width: 100%;
  }
  
  #jcls-search.vertical .input-append {
    width: 100% !important;
  }
  
  #jcls-search.vertical #zipcode {
    width: 100% !important;
  }
  
  #jcls-search.vertical .front-calendar {
    width    : 100%;
    max-width: 100%;
  }
  
  #jcls-search.vertical .form-field {
    margin : 7px 0 !important;
    padding: 0 !important;
    width  : 100%;
    height : auto;
  }
  
  #jcls-search.vertical .form-field select {
    width    : 100% !important;
    font-size: 13px;
    display  : block;
  }
  
  #jcls-search.vertical label {
    font-size: 13px;
    top      : 0px;
  }
  
  #jcls-search.vertical .ui-ad-button {
    margin-top: 15px;
  }
  
  #jcls-search.vertical #searchform .fields-container {
    margin-right: 0;
  }
  
  #jcls-search.vertical #searchform .fields-container {
    background-color: transparent;
  }
  
  #jcls-search.vertical.search-style-3 #searchform .form-field input {
    padding-left: 0;
  }
  
  
  #jcls-search.vertical #searchform .jbd-search-bar {
    padding         : 0;
    background-color: transparent;
  }
  
  #jcls-search.vertical.search-style-3 .has-text-left {
    display: block;
  }
  
  #searchform .ui-ad-button {
    font-weight   : bold;
    padding       : 0px 10px;
    color         : #FFFFFF;
    font-size     : 17px;
    line-height   : 40px;
    height        : 40px;
    text-transform: none !important;
    position      : relative;
  }
  
  #current-search {
    color      : #FFFFFF;
    font-size  : 1.1em;
    line-height: 40px;
    padding    : 0 10px;
  }
  
  #categories-link {
    font-size  : 1.3em;
    color      : #FFFFFF;
    line-height: 32px;
    padding    : 4px;
    margin-left: 100px;
  }
  
  .custom-combobox {
    position: relative;
    display : inline-block;
  }
  
  .custom-combobox-toggle {
    /* position: absolute;  */
    top           : 0;
    bottom        : 0;
    /* margin-left: -1px; */
    padding       : 0;
    /* support    : IE7 */
    *height       : 1.7em;
    *top          : 0.1em;
  }
  
  .custom-combobox-input {
    margin : 0;
    padding: 0.3em;
  }
  
  /* SEARCH EFFECT OVERLAY */
  .search-background-overlay {
    visibility: hidden;
    width     : 100vw;
    height    : 100vh;
    position  : fixed;
    top       : 0;
    left      : 0;
    background: #000;
    opacity   : 0;
    transition: all .7s;
  }
  
  .overlay-active {
    visibility: visible;
    z-index   : 1000;
    opacity   : 0.3;
    transition: all .7s;
  }
  
  
  .search-btn-index {
    z-index: 1001 !important;
  }
  
  .higher-index {
    z-index: 1002 !important;
  }
  
  .highest-index {
    z-index: 1004 !important;
  }
  
  #searchform .higher-index .form-field select,
  #searchform .higher-index .form-field input[type="text"],
  #searchform .higher-index .chosen-container-single .chosen-single{
    background: #fff;
  }
  
  /*-- autocomplete ---*/
  
  .ui-autocomplete {
    max-height: 200px;
    overflow-y: auto;
    /* prevent horizontal scrollbar */
    overflow-x: hidden;
  }
  
  /* IE 6 doesn't support max-height
  * we use height instead, but this forces the menu to always be this tall
  */
  * html .ui-autocomplete {
    height: 200px;
  }
  
  .ui-autocomplete.ui-front.ui-menu {
    z-index: 99000 !important; 
    padding: 5px 0;
  }
  
  #searchform .ui-button {
    height     : 29px;
    margin-left: 1px;
  }
  
  .ui-icon-triangle-1-s {
    background-position: -128px 0;
  }
  
  #startDate_img,
  #endDate_img {
    background-color: #f5f5f5;
    background-image: linear-gradient(to bottom, #fff, #e6e6e6);
    border-image    : none;
    height          : 40px;
    position        : absolute;
    right           : 0px;
    z-index         : 1;
    border-radius   : 0 4px 4px 0;
    margin-left     : -1px;
    display         : inline-block;
    font-size       : 14px;
    line-height     : 20px;
    margin-bottom   : 0;
    padding         : 4px 14px;
    text-align      : center;
    text-shadow     : 0 1px 1px rgba(255, 255, 255, 0.75);
    border-color    : rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25);
  }
  
  #jcls-search .la la-bullseye {
    background     : #eeeeee;
    border-radius  : 0 5px 5px 0;
    color          : #777;
    cursor         : pointer;
    font-size      : 18px;
    height         : 39px;
    line-height    : 39px;
    position       : absolute;
    right          : 1px;
    text-align     : center;
    top            : 1px;
    width          : 31px;
    z-index        : 1;
    margin         : 0;
    -moz-transition: all 0.5s ease;
    -ms-transition : all 0.5s ease;
    -o-transition  : all 0.5s ease;
    transition     : all 0.5s ease;
  }
  
  #jcls-search .la la-bullseye:hover {
    font-size        : 23px;
    background       : #FAFAFA;
    -webkit-transform: translate3d(0, 0, 10px);
    -moz-transform   : translate3d(0, 0, 10px);
    -ms-transform    : translate3d(0, 0, 10px);
    -o-transform     : translate3d(0, 0, 10px);
  }
  
  #jcls-search .la la-map-marker,
  #jcls-search .search .la la-search {
    top        : 12px;
    left       : 5px;
    font-size  : 15px;
    z-index    : 1;
    position   : absolute;
    cursor     : pointer;
    text-align : center;
    color      : #979797;
    margin     : 0;
    font-weight: 500;
  }
  
  #jcls-search .la la-map-marker {
    top      : 10px;
    font-size: 18px;
  }
  
  /* 
  .search-dropdown:before {
    border-color: transparent transparent #ffffff;
    border-style: solid;
    border-width: 0 7px 8px;
    top         : -8px;
    content     : "";
    height      : 0;
    position    : absolute;
    right       : 13px;
    width       : 0;
  } */
  
  .jcls-container .search-dropdown {
    background: none repeat scroll 0 0 #ffffff;
    border    : 1px solid #afafaf;
    box-shadow: 1px 1px 0 rgba(80, 80, 80, 0.2);
    color     : #333333;
    display   : block;
    padding   : 10px 10px !important;
    position  : absolute;
    right     : 0;
    top       : 41px;
    width     : 100%;
    min-width : 245px;
    z-index   : 999;
    border-radius: 3px;
  }
  
  .search-dropdown ul{
      margin: 0;
      padding: 0;
      list-style: none;
  }
  
  .search-dropdown ul li{
    text-align: left;
    line-height: 27px;
    padding: 0;
  }
  
  .search-dropdown.validation:before {
    border-color: transparent transparent #eee; 
  }
  
  .search-dropdown.validation {
    color: #555;
    background-color: #fff;
    padding: 0px 10px !important;
    border-radius: 4px;
  }
  
  #jcls-search.search-style-3 .search-dropdown {
    top: 50px;
  }
  
  #searchform h3.title {
    font-size  : 19px;
    line-height: 23px;
  }
  
  #searchform h3.title i.la la-close {
    border-radius   : 50%;
    background-color: #BABABA;
    width           : auto;
    height          : auto;
    float           : right;
    padding         : 5px 8px;
    color           : #FAFAFA;
    cursor          : pointer;
    font-size       : 14px;
  }
  
  #searchform .geo-radius {
    padding-bottom: 3px;
  }
  
  #searchform .geo-location {
    clear      : both;
    float      : right;
    padding-top: 10px;
    font-size  : 13px;
  }
  
  .geo-location .toggle {
    background-color: #f5f5f5;
    border-color    : #bbb #bbb #a2a2a2;
    padding         : 4px 12px;
    text-align      : center;
    text-shadow     : 0 1px 1px rgba(255, 255, 255, 0.75);
    text-decoration : none;
    font-size       : 12px !important;
    line-height     : 25px !important;
  }
  
  .geo-location .toggle.btn-on.active {
    background-color: #83b802;
    color           : #FFFFFF;
  }
  
  .geo-location .toggle.btn-off.active {
    background-color: #bd362f;
    color           : #FFFFFF;
  }
  
  #companies-map img {
    width    : auto;
    max-width: none;
  }
  
  
  .ui-widget-content .ui-menu-item .ui-menu-item-wrapper {
    padding: 4px 10px;
    font-size: 14px;
  }
  
  .ui-widget-content .ui-menu-item .ui-state-active {
    color: #555 !important;
    border: none;
    background: #d5d5d5;
    margin: 0;
  }
  
  .ui-widget-content .ui-menu-item.ui-state-disabled{
    opacity: 1;
  }
  
  .ui-widget-content .small.ui-menu-item{
    font-size: 12px;
    color: #888;
  }
  
  .ui-widget-content li.all-locations{
    font-weight: 600;
  }
  
  
  .search-style-3 #searchform .jbd-search-bar {
    display         : flex;
    padding         : 15px;
    padding-bottom  : 15px;
    background-color: rgba(255, 255, 255, .2);
    border-radius   : 5px;
  }
  
  
  .search-style-3 #searchform .fields-container {
    background   : #fff;
    border-radius: 4px;
    margin-right : 10px;
  }
  
  
  .search-style-3 #searchform .form-field {
    border-left     : 1px solid #e1e1e1;
    background-color: #fff;
  }
  
  .search-style-3 #searchform .form-field:last-child {
    border-right: none;
  }
  
  
  .search-style-3 #searchform .has-text-left {
    display    : flex;
    margin-left: 10px;
  }
  
  .search-style-3 #searchform .form-field input,
  .search-style-3 #searchform .form-field select {
    border      : none;
    padding-left: 7px;
    border-style: none none none none;
  }
  
  .search-style-3 #searchform .form-field select,
  .search-style-3 #searchform .form-field input[type="text"] {
    border-radius: 0;
  }
  
  #searchform .form-field label.text-label {
    display: inherit;
    color  : #333;
  }
  
  
  .search-style-3 .search-suggestions ul li {
    padding: 0 4px;
  }
  
  .search-style-3 .search-suggestions ul li div:hover {
    color: #ffa8a0;
  }
  
  .search-style-3 #searchform label {
    margin: 0;
    color : #333;
  }
  
  .search-style-3 #searchform .ui-ad-button {
    line-height: 50px;
    height     : 50px;
  }
  
  .search-style-3 #searchform textarea:focus,
  .search-style-3 #searchform input:focus,
  .search-style-3 #searchform select:focus,
  .search-style-3 #searchform password:focus {
    border-color: none;
    box-shadow  : none;
    outline     : none;
  }
  
  #jcls-search.search-style-3 .chosen-single {
    border    : none;
    box-shadow: none;
  }
  
  
  @media (max-width: 576px) {
    #dir-search-preferences {
      left: 0;
    }
  
    #dir-search-preferences::before {
      left: 13px;
    }
  }
  
  /* Beating Animation */
  .dir-beat-animation {
    -webkit-animation: Beat 1000ms infinite linear;
    -moz-animation   : Beat 1000ms infinite linear;
    -ms-animation    : Beat 1000ms infinite linear;
    -o-animation     : Beat 1000ms infinite linear;
    animation        : Beat 1000ms infinite linear;
    color            : #d9534f !important;
  }
  
  @-o-keyframes Beat {
    0% {
      font-size: 18px;
    }
  
    50% {
      font-size: 24px;
    }
  
    100% {
      font-size: 18px;
    }
  }
  
  @-moz-keyframes Beat {
    0% {
      font-size: 18px;
    }
  
    50% {
      font-size: 24px;
    }
  
    100% {
      font-size: 18px;
    }
  }
  
  @-webkit-keyframes Beat {
    0% {
      font-size: 18px;
    }
  
    50% {
      font-size: 24px;
    }
  
    100% {
      font-size: 18px;
    }
  }
  
  
  .geo-location .toggle.btn-on.color-animation {
    animation       : pulse 1s infinite;
    background-color: #ffcb00;
  }
  
  @keyframes pulse {
    0% {
      background-color: #fde37e;
    }
  
    50% {
      background-color: #fde37e;
    }
  
    100% {
      background-color: #ffcb00;
    }
  }
  
  @media (max-width: 769px) {
  
    #searchform .has-text-left {
      margin-left: 0;
    }
  
    #searchform .form-container {
      flex-direction: column;
    }
  
    #searchform .ui-ad-button {
      width     : 100% !important;
      margin-top: 10px;
    }
  
    #jcls-search input[type="text"] {
      width    : 100% !important;
      max-width: 100%;
    }
  
    #jcls-search #zipcode {
      width: 100% !important;
    }
  
    #jcls-search .form-field {
      margin: 7px 0;
      width : 100%;
    }
  
    #jcls-search .form-field select {
      width    : 100% !important;
      font-size: 13px;
      display  : block;
    }
  
    #jcls-search label {
      font-size: 13px;
      top      : 0px;
    }
  
    .search-style-3 #searchform .fields-container {
      background: transparent;
      margin    : 0;
    }
  }
  
  .jcls-container .bookmark-container .bookmark-icon {
    display  : inline-block;
    position : relative;
    font-size: 26px;
    top      : 2px;
    cursor   : pointer;
  }