/*

Theme Name: Pro &ndash; Child Theme
Theme URI: https://theme.co/pro/
Author: Themeco
Author URI: https://theme.co/
Description: Make all of your modifications to Pro in this child theme.
Version: 1.0.0
Template: pro

*/

.modal {
  display: none;
  position: fixed;
  z-index: 10000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0.4);
  align-items: center;
  justify-content: center;
}

.modal-open {
  display: flex !important;
}

.modal-content {
  background-color: #ffffff;
  padding: 20px;
  border: 1px solid #888;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  overflow: auto;
  max-width: 80%;
  box-sizing: border-box;
  min-width: 300px;
  min-height: 200px;
  max-height: 90vh;
  overflow-y: auto;
  border-radius: 5px;
}

.modal-close {
  color: #aaaaaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
  cursor: pointer;
}

.modal-close:hover,
.modal-close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
}

/* Search results */
.search-results.flex-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.search-results {
  margin-top: 20px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  grid-gap: 20px;
}

.search-result {
  margin-bottom: 20px;
  background-color: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  border-radius: 4px;
}

@media (min-width: 1200px) {
  .search-results {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .search-results {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .search-results {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  .search-results {
    grid-template-columns: 1fr;
  }
}


.search-result:last-child {
  border-bottom: none;
}

.search-result h2 {
  font-size: 1.25em;
  margin-bottom: 10px;
}

.search-result h2 a {
  text-decoration: none;
  color: #007acc;
}

.search-result h2 a:hover {
  color: #004c87;
}

.search-result-thumbnail {
  flex: 0 0 auto;
  height: 210px;
  overflow: hidden;
}

.search-result-content {
  flex: 1;
  padding: 20px;
}

/* Style the scrollbar inside the modal */
/* Style the scrollbar inside the modal */
.modal-content::-webkit-scrollbar {
  width: 8px;
}

.modal-content::-webkit-scrollbar-track {
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 8px;
}

.modal-content::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.4);
  border-radius: 8px;
}

.modal-content::-webkit-scrollbar-thumb:hover {
  background-color: rgba(0, 0, 0, 0.6);
}

.search-pagination {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}

.search-pagination a {
  color: #007acc;
  text-decoration: none;
  padding: 5px 10px;
  margin: 0 5px;
  border: 1px solid #007acc;
  border-radius: 4px;
}

.search-pagination a:hover {
  background-color: #007acc;
  color: #fff;
}

@media (max-width: 991px) {
  .search-result {
    flex-basis: calc(50% - 20px);
  }
}

@media (max-width: 767px) {
  .search-result {
    flex-basis: 100%;
  }
}

.search-result:last-child {
  border-bottom: none;
}


.search-result h2 a {
  text-decoration: none;
  color: #007acc;
}

.search-result h2 a:hover {
  color: #004c87;
}

.search-result-content {
  flex: 1;
}

/* Load more button */
.load-more-container {
    text-align: center;
    margin-top: 20px;
}

.load-more {
    display: inline-block;
    background-color: #f1f1f1;
    border: 1px solid #ccc;
    color: #333;
    text-decoration: none;
    padding: 8px 16px;
    border-radius: 4px;
    transition: background-color 0.3s, color 0.3s;
}

.load-more:hover {
    background-color: #ccc;
    color: #333;
    text-decoration: none;
}