body.search {
  height: 100vh;
  overflow: hidden; }

.searchoverlay {
  opacity: 0;
  pointer-events: none;
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100vh;
  z-index: 9001;
  background-color: rgba(0, 0, 0, 0.6);
  transition: opacity .4s; }
  .searchoverlay.active {
    opacity: 1;
    pointer-events: all; }
  .searchoverlay > div {
    border-radius: 15px;
    position: fixed;
    top: 90px;
    left: calc(50% - 280px);
    width: 560px;
    background-color: #F8F8F8;
    box-sizing: border-box;
    padding: 25px 30px 5px 30px;
    /*overflow-y: scroll;*/ }
    .searchoverlay > div form {
      padding: 0;
      background: transparent; }
      .searchoverlay > div form input {
        width: 100%;
        font-family: "SuisseIntl-Book", Helvetica, Arial, sans-serif;
        padding-left: 45px;
        background: url("data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.0731 10.1924L13.9998 14.1192' stroke='%237E7E7E' stroke-width='1.5'/%3E%3Ccircle cx='5.92301' cy='6.80338' r='5.17301' stroke='%237E7E7E' stroke-width='1.5'/%3E%3C/svg%3E%0A") no-repeat scroll 15px 15px;
        background-position: 13px center;
        background-size: 15px;
        background-color: white;
        border-radius: 90px;
        border: 1px solid #E6E6E6; }
        .searchoverlay > div form input::placeholder {
          color: #BEBEBE; }
        .searchoverlay > div form input:active, .searchoverlay > div form input:focus {
          border: 1px solid #D3D3D3;
          outline: 0; }
      .searchoverlay > div form .empty_input {
        background-image: url("data:image/svg+xml,%3Csvg width='13' height='13' viewBox='0 0 13 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13 11.757 7.727 6.5 13 1.243 11.731 0 6.486 5.257 1.24 0 0 1.243 5.245 6.5 0 11.757 1.24 13l5.246-5.257L11.73 13 13 11.757Z' fill='%23000'/%3E%3C/svg%3E");
        background-size: contain;
        width: 14px;
        height: 14px;
        position: absolute;
        right: 13px;
        top: 13px;
        cursor: pointer; }
    .searchoverlay > div .shortcuts {
      position: fixed;
      bottom: 20px;
      right: 20px;
      color: #B4B4B4;
      font-size: 14px; }
      .searchoverlay > div .shortcuts span {
        background: white;
        border-radius: 50px;
        padding: 2px 8px; }
    .searchoverlay > div #search_results {
      overflow-y: auto;
      max-height: calc(100vh - 270px);
      border-radius: 10px;
      margin-top: 20px; }
      .searchoverlay > div #search_results::-webkit-scrollbar {
        width: 3px;
        background-color: #fff;
        height: 4px; }
      .searchoverlay > div #search_results::-webkit-scrollbar-track {
        background-color: #fff; }
      .searchoverlay > div #search_results::-webkit-scrollbar-thumb {
        background-color: #d2d2d2;
        border-radius: 4px; }
      .searchoverlay > div #search_results h2 {
        font-size: 16px;
        margin-top: 0;
        margin-bottom: 9px;
        text-decoration: none;
        font-weight: 700; }
        .searchoverlay > div #search_results h2 u {
          text-decoration: underline; }
      .searchoverlay > div #search_results .search_result {
        background: white;
        border-radius: 10px;
        padding: 15px;
        width: calc(100% - 10px);
        margin: 0;
        margin-top: 5px;
        position: relative; }
        .searchoverlay > div #search_results .search_result.selected {
          background: #e6e6e6; }
        .searchoverlay > div #search_results .search_result:last-child {
          margin-bottom: 20px; }
        .searchoverlay > div #search_results .search_result > a {
          display: block;
          width: 100%;
          height: 100%;
          position: absolute;
          z-index: 400;
          top: 0;
          left: 0;
          border-radius: 10px; }
          .searchoverlay > div #search_results .search_result > a:hover {
            background: rgba(0, 0, 0, 0.1); }
        .searchoverlay > div #search_results .search_result .search_text {
          font-size: 14px; }
          .searchoverlay > div #search_results .search_result .search_text u {
            font-weight: normal;
            text-decoration: underline; }
      .searchoverlay > div #search_results .search_category {
        background-color: #e7e7e7;
        font-size: 12px;
        padding: 3px 8px;
        margin-top: 10px;
        border-radius: 50px;
        display: inline-block; }

.autocomplete {
  /*the container must be positioned relative:*/
  position: relative;
  display: inline-block;
  width: 100%; }

input {
  border: 1px solid;
  background-color: #f1f1f1;
  padding: 10px;
  font-size: 16px; }

input[type=text] {
  background-color: #f1f1f1;
  width: 100%; }

input[type=submit] {
  background-color: DodgerBlue;
  color: #fff; }

.autocomplete-items {
  /* relative position does not cover up the search results */
  position: relative;
  border-bottom: none;
  border-top: none;
  z-index: 99;
  /*position the autocomplete items to be the same width as the container:*/
  top: 100%;
  left: 0;
  right: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding: 12px;
  border: 1px solid #E6E6E6;
  border-radius: 15px;
  background: white; }

.autocomplete-items div {
  padding: 5px 10px;
  cursor: pointer;
  background-color: #f7f7f7;
  border: 1px solid #E0E0E0;
  border-radius: 15px;
  font-size: 14px; }

.autocomplete-items div:hover {
  /*when hovering an item:*/
  background-color: #e9e9e9; }

.autocomplete-active {
  /*when navigating through the items using the arrow keys:*/
  background-color: #fff100 !important;
  color: black; }

@media only screen and (max-width: 600px) {
  .searchoverlay > div {
    width: calc(100% - 30px);
    left: 15px;
    top: 85px;
    padding: 15px 15px 0px 15px; }

  .searchoverlay > div #search_results {
    margin-top: 15px;
    max-height: calc(100vh - 250px); } }
