
.gl-search {
    display: flex;
    flex-wrap: nowrap;
    z-index: 3;
    position: relative;
    height: 34px;
    width: 200px;
}
@media screen and (max-width: 379px) {
    .gl-search {
        position: absolute;
        width: 40%;
        left: 10px;
    }
    .gl-search:focus-within {
        width: 93%;
        height: 42px;
        right: 10px;
        border: 3px #30e3c7 solid;
        border-radius: 8px;
        transition: .2s;
    }
}

.gl-search__text {
    flex-shrink: 1;
    font-size: 18px; /* Increase font size to prevent iOS zoom */
    border-radius: 5px 0 0 5px;
    border: none;
    padding-left: 10px;
    width: 100%;
}
.gl-search__text:focus {
    border: none;
    outline: none;
}
.gl-search__btn {
    padding: 0;
    width: 72px;
    height: 100%;
    border-radius: 0 5px 5px 0;
    border: none;
    background-color: #CCC;
    padding-right: 1px;
    background-image: url('/Content/images/searchbutton.gif');
    background-size: auto 100%;
    background-position: center;
    border-top: 1px solid #d8d8d8;
    cursor: pointer;
}
.gl-search__btn:hover {
    filter: brightness(85%);
}
.gl-search__btn:active {
    filter: brightness(75%);
}
.gl-search__btn svg {
    height: 100%;
}


/* Modal Code */
.gl-search-modal {
    grid:
        "search cbtn" min-content
        "content content" 1fr
        / 1fr min-content;
    gap: 10px;
}
.gl-search-modal__content :is(a, a:visited) {
    color: #30567d;
}
.o-modal__close-btn {
    padding: 0;
    appearance: none;
    width: 34px;
    height: 34px;
    grid-area: cbtn;
    background: none;
    border: none;
    position: relative;
    top: 0px;
    right: 6px;
    cursor: pointer;
}
.gl-search-modal__search {
    grid-area: search;
    display: flex;
    flex-wrap: wrap;
    max-width: 300px;
}
.gl-search-modal__text {
    border: 1px solid #d9d9d9;
    border-radius: 5px 0 0 5px;
    height: 34px;
    padding: 0 1ch;
    font-size: 16px;
}
.gl-search-modal__search-btn {
    appearance: none;
    border: none;
    font-size: 0;
    width: 48px;
    height: 34px;
    border-radius: 0 5px 5px 0;
    background-image: url(/Content/images/searchbutton.gif);
    background-size: auto 100%;
    background-position: center;
    cursor: pointer;
}
.gl-search-modal__search-btn:hover {
    filter: brightness(90%);
    color: white;
}
.gl-search-modal__search-btn:active {
    filter: brightness(80%);
    color: white;
}

@media screen and (max-width: 320px) {
    .gl-search-modal {
        grid:
            "cbtn" min-content
            "search" min-content
            "content" auto
            "results" 1fr
            / auto;
    }
    .gl-search-modal__close-btn {
        justify-self: end;
    }
    .gl-search-modal__text {
        flex-grow: 10;
        width: 100%;
    }
    .gl-search-modal__search-btn {
        flex-grow: 1;
    }
    .search-result-seal {
        display: none;
    }
}

.gl-search-modal__overlay {
    background: rgba(33, 103, 163, .8);
}

.search-result-header {
  margin: 5px 0 15px 0;
}
.search-result {
  padding: 5px 10px;
  display: flex;
  align-items: center;
  min-width: 0;
}
.search-result > a {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.search-result-seal {
  width: 60px;
  height: 60px;
  object-fit: contain;
  flex-shrink: 0;
}
.search-result-info {
  display: flex;
  flex-direction: column;
  min-width: min-content;
  width: calc(100% - 84px);
}
.search-result__title {
  margin: 0;
}
.search-result > a:hover .search-result__title {
  color: black;
}
.search-result-url {
  font-size: 15px;
  color: #5a6b7b;
  overflow: hidden;
  text-overflow: ellipsis;
  width: calc(50vw - 84px);
  text-decoration: underline;
}
@media screen and (max-width: 600px) {
  .gl-search-modal {
    padding: 10px;
  }
  .gl-search-modal__text {
    font-size: 16px; /* Increase font size to prevent iOS zoom */
    max-width: calc(45vw - 48px);
  }
  .search-result-header {
    font-size: 19px;
  }
  .search-result {
    padding: 18px 6px;
  }
  .search-result > a {
    gap: 8px;
  }
  .search-result-seal {
    width: 44px;
    height: 44px;
  }
  .search-result__title {
    font-size: 16px;
  }
  .search-result-url {
    font-size: 13px;
  }
}