@import url('https://fonts.googleapis.com/css2?family=Open+Sans&display=swap');




.search-overlay {
    display: none; 
    position: fixed; 
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(23, 15, 63, 0.2); /* #170F3F with 20% opacity */
    z-index: 9; 
  }
  
  .search-container.active .search-overlay {
    display: block;
  }



 .container {
      position: relative;
      
    }

    .bs-search-box {
      position: relative;
      display: flex;
      align-items: center;
      width: 100%;
      background: #fff;
      border: 1px solid #ccc;
      border-radius: 4px;
      padding: 5px;
        margin: 0 auto !important;
       margin-top: 5px !important;
       top : 0px !important;
       left: 12px;
       z-index: 11;
    }

    .better-search-box {
      flex: 1;
      border: none;
      outline: none;
      padding: 3px 30px 3px 30px !important;
      font-size: 16px;
      width: 100%;

      padding-top: 3px;
      padding-bottom: 3px;
      border:none !important;
    }

    .search-icon {
      position: absolute;
      left: 10px;
      color: #666;
      font-size: 18px;
    }

    .ai-search-clear {
      position: absolute;
      right: 10px;
      cursor: pointer;
      color: #666;
      font-size: 18px;
      display: none;
    }

    .spinner-container {
      position: absolute;
      right: 7px;
      display: none;
    }

    .search-spinner {
      border: 2px solid #f3f3f3;
      border-top: 2px solid #3498db;
      border-radius: 50%;
      width: 16px;
      height: 16px;
      animation: spin 1s linear infinite;
    }

   @keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

    .mobile-search-icon {

      display: none;
      cursor: pointer;
      font-size: 24px;
      color: #fff;

    }

    @media (max-width: 900px) {
      .bs-search-box {
        display: none;
      }

      .mobile-search-icon {
        display: block;
      }

      .bs-search-box.active {
        display: flex;
      }

      .mobile-search-icon.active {
        display: none;
      }
    }



/* Search Results CSS */
.ai-search-suggestions-box {
    font-family: 'Open Sans';
    position: absolute;
    background: #fff;
    border: 1px solid #ccc;
    box-shadow: 0 4px 10px #170F3F33;
    border-radius: 5px;
    max-height: 600px;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 10px 15px;
    z-index: 10;
    width: 100%;
    display: flex;
    flex-direction: column;
}




/* Container adjustments for responsiveness */
/* #ai-search-suggestions {
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100%; 
} */

.ai-search-suggestions-box>.error {
    font-family: inherit !important;
    font-size: large !important;
}

.search-title h5 {
    font-size: 14px !important;
    line-height: 24px;
    font-weight: 400 !important;
    color: #323856;
    margin-left: 12px;
    margin-top: 0px;
    margin-bottom: 0px;
    text-align: left;
}

.ai-search-suggestions {
    padding: 5px;
    cursor: pointer;
    display: flex; 
    align-items: center;
    margin-bottom: 8px;
}

.ai-search-suggestions:hover {
    background-color: #f0f0f0;
}

.icn-img {
    width: 27px;
    margin-right: -12px;
}

.category-title {
    margin-bottom: 15px;
    font-size: 16px;
    font-weight: 600;
    color: #151C28;
    line-height: 28px;
    padding-left: 8px;
    text-align: left;
}

/* Thumbnails */
.ai-thumbnail {
    width: 40px;
    height: 40px;
    border-radius: 4px;
    display: inline-block;
    background-size: cover;
    background-repeat: no-repeat;
}

.ai-thumbnail-course{
    width: 80px;
    height: 80px;
    border-radius: 4px;
    display: inline-block;
    background-size: cover;
    background-repeat: no-repeat;
    background-position-x: center;
}




.bs-thumbnail-help {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #E2E5F3;
    border-radius: 50%;
    margin: 0 auto;
    color: #323856;
}

.bs-thumbnail-lesson {
    color: #1EBBF0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #E2E5F3;
    border-radius: 50%;
    margin: 0 auto;
    padding-left: 2px;
}



.ai-thumbnail i {
    font-size: 20px;
    color: #323856;
}



/* Focus styles */
.ai-search-suggestions *:focus,
.ai-search-suggestions *:focus-visible {
    border: none !important;
    outline: none !important;
}

/* Anchor adjustments */
.ai-search-suggestions-box a, #better-search-results a {
    text-decoration: none !important;
    color: #333;
}

/* Custom scrollbar styles */
/* #ai-search-suggestions::-webkit-scrollbar {
    width: 12px;
}

#ai-search-suggestions::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

#ai-search-suggestions::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 10px;
}

#ai-search-suggestions::-webkit-scrollbar-thumb:hover {
    background: #555;
} */

.asset-type {
    font-size: 12px;
    line-height: 16px;
    color: #59607D;
    font-weight: 400;
    width: fit-content;
    padding: 2px 12px;
    margin-bottom: 0px;
    margin-top: 0px;
}





/* Responsive adjustments */
@media (max-width: 768px) {
    .ai-search-suggestions-box {
        padding: 10px; 
    }

    .search-title h5 {
        font-size: 12px !important; 
    }

    .ai-search-suggestions {
        flex-direction: row; 
        align-items: flex-start;
    }

    .ai-thumbnail {
        width: 30px; 
        height: 30px;
    }
    #filter-container{
        overflow-x: auto;
    }
}


@media (max-width: 768px) {
    #filter-container{
        overflow-x: auto;
    }
}

/* Video Text and Icon */

.video-icon {
    margin-top: 10px;
    font-size: 14px;
    font-weight: 600;
    color: #1EBBF0;
    display: flex;
    align-items: center;
    gap: 4px;
    margin-left: 15px;
    justify-content: space-between;
    width: fit-content;
}

.video-icon i {
    width: 12px;
    height: 19px;
    font-size: 18px;
    color: #1EBBF0;
}

.full-page-link {
    padding: 10px 15px;
    background: #fff;
    position: sticky;
    bottom: -13px;
    z-index: 2;
    text-align: left;
}


.full-search-page {
    font-family: 'Open Sans';
    font-weight: 600;
    font-size: 14px;
    line-height: 24px;
    color: #1EBBF0 !important;
    outline: none !important;
}

.full-search-page i {
    width: 14px;
    height: 20px;
    color: #1EBBF0;

}



/* Full Page CSS  */

hr {
    margin: 0px !important;
}


.breadcrumb-spage {
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
    letter-spacing: 2px;
    text-transform: uppercase;
}


.loading-spinner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.spinner {
    width: 40px;
    height: 40px;
    border: 4px solid rgba(0, 0, 0, 0.1);
    border-radius: 50%;
    border-top-color: #3498db;
    animation: spin 1s ease-in-out infinite;
    margin-bottom: 10px;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}




.fs-header-container{
    background-color: #FFFFFF;
    padding: 20px;
    font-family: 'Open Sans';
    border-radius: 4px;
}


.full-page-search-header {
    background-color: #31216B;
    color: white;
    padding: 20px;
    border-radius: 12px;
    text-align: left;
    position: relative;
    overflow: hidden;
    /* height: 100px; */
}

.full-page-search-header h3 {
    line-height: 32px !important;
    margin: 0px !important;
    font-size: 24px !important;
    font-weight: 600 !important;
}

.full-page-search-header::before {
    content: "";
    position: absolute;
    width: 200px;
    height: 200px;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    top: 10%;
    left: 40%;
    transform: translate(-50%, -50%);
}

.full-page-search-header::after {
    content: "";
    position: absolute;
    width: 150px;
    height: 150px;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    bottom: -135px;
    left: -59px;
}

/* Filters CSS */

#filter-container{
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content: flex-start;
    align-items: baseline;
    padding-bottom: 10px;
    margin-top: 10px;
    margin-left: 10px;
}


.filter-by-text{
    color: #59607D;
    font-size: 14px;
    font-weight: 400;
    text-wrap: nowrap;
}

.filters-container {
    display: inline-block;
    position: relative;
    margin-right: 8px;
    top: 0.5vh;
    margin-left: 8px;
}

.fs-filter-button-at {
    width: fit-content;
    height: 32px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
    padding: 8px 12px;
    border: 1px solid #B1B9D3;
    background-color: #F4F6FA;
    border-radius: 100px;
    cursor: pointer;
    outline: none !important;
    /* min-width: 155px; */
}

.fs-filter-button-d {
    width: fit-content;
    height: 32px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
    padding: 8px 12px;
    border: 1px solid #B1B9D3;
    background-color: #F4F6FA;
    border-radius: 100px;
    cursor: pointer;
    outline: none !important;
    /* min-width: 155px; */
}

.fs-filter-button-hrd {
    width: fit-content;
    height: 32px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
    padding: 8px 12px;
    border: 1px solid #B1B9D3;
    background-color: #F4F6FA;
    border-radius: 100px;
    cursor: pointer;
    outline: none !important;
    /* min-width: 155px; */
}

.fs-dropdown-arrow {
    transition: transform 0.2s ease;
    position: relative;
    top: -3px;
    right: -5px; 
}



.fs-filter-text {
    color: #323856;
    display: inline-block;
    max-width: 95px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    width: fit-content;
    padding-right: 8px;
}

.filter-content {
    display: none;
    position: absolute;
    background: white;
    border: 1px solid  #170F3F33;
    width: 240px;
    max-height: 416px;
    overflow-y: auto;
    z-index: 100;
    flex-direction: column;
    box-shadow: 0 7px 12px #170F3F33;
}

.filter-content-date {
    display: none;
    position: absolute;
    background: white;
    border: 1px solid #ccc;
    width: 240px;
    max-height: 416px;
    overflow-y: auto;
    z-index: 100;
    flex-direction: column;
    box-shadow: 0 7px 12px #170F3F33;
}

.filter-content-domain {
    display: none;
    position: absolute;
    background: white;
    border: 1px solid #ccc;
    width: 240px;
    max-height: 416px;
    overflow-y: auto;
    z-index: 100;
    flex-direction: column;
    box-shadow: 0 7px 12px #170F3F33;
}

.filter-content label, .filter-content-date .date-option, .filter-content-domain label{
    color: #323856;
    font-size: 16px;
    font-weight: 400;
    line-height: 28px;
    border-bottom: 1px solid #CACFE6;
    padding: 12px 16px;
    cursor: pointer;
}

.filter-content label input, .filter-content-date .date-option input, .filter-content-domain label input {
    margin-right: 16px;
}


.filter-content label:last-child,
.filter-content-date .date-option:last-child,
.filter-content-domain label:last-child {
    border-bottom: none; 
}

.filter-content label:hover, .filter-content-date .date-option:hover, .filter-content-domain label:hover{
    background-color: #F4F6FA;
}


.fs-clear-filters-btn { 
    background-color: transparent !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 24px !important;
    padding: 8px 12px !important;
    color: #1EBBF0 !important;
    border: none !important;
    cursor: pointer !important;
    text-wrap: nowrap !important;
    outline: none !important;
}

.fs-clear-filters-btn:active {
	outline: none;
}

/* Blue text for active filter buttons */
.fs-filter-button-at.active-filter,.fs-filter-button-d.active-filter, .fs-filter-button-hrd.active-filter  {
    background-color: #D9F7FF !important;
    /* font-weight: 600; */
}



.tick-icon {
    width: 20px;
    text-align: center;
    font-weight: bold;
    color: #1EBBF0; 
    margin-right: 16px;
}
.date-option {
    display: flex;
    align-items: center;
    cursor: pointer;
    padding: 5px 10px;
}
.date-option:hover {
    background-color: #f0f0f0;
}


.filter-dropdown {
    position: relative;
    display: inline-block;
    margin-right: 10px;
}


.fs-filter-button-at:hover,.fs-filter-button-d:hover, .fs-filter-button-hrd:hover {
    background-color: #F4F6FA;
}


#better-search-results{
    width: 100% !important;
    margin-top: 10px !important;
    border-radius: 8px;   
    background-color: #FFFFFF;
    padding: 20px;
    font-family: inherit;
}

#pageInput {
    border: #CACFE6 solid;
    border-radius: 4px;
    width: 47px;
    height: 42px;
    font-weight: 400;
    font-size: 16px;
    text-align: center;
    font-family: 'Open Sans';
}

#pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    font-family: 'Open Sans';
    margin: 0px auto !important;
    width: 100% !important;
    padding-top: 10px;
    padding-left: 20px;
}

.pagination-button{
    background-color: transparent;
    border: none;
    color: #1EBBF0;
    outline: none;
    cursor: pointer;
}


.pagination-button i{
    margin-left: 8px;
    margin-right: 8px;
}

.pageInputText{
    font-weight: 600;
    font-size: 16px;
    line-height: 28px;
    margin-right: 8px;
    font-family: inherit;
}

/* Always show items in a row (default) */
.filter-row {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  margin-bottom: 10px;
}


@media screen and (min-width: 1641px) {
    .better-search-holder {
        position: fixed;
        margin: 0 auto;
        left: 0px;
        right: 0px;
    }
} 


@media screen and (max-width: 1070px) {
    .better-search-holder {
        width: 50% !important;
    }
}



/* When screen width < 425px, stack items vertically */
@media (max-width: 424px) {
  .filter-row {
    flex-wrap: nowrap;
    flex-direction: row;
  }
}


.better-search-holder{
  width: 60% ;
}




@media (min-width: 1080px) {
#gs-dropdown-results{

margin-left: 12px !important;

margin-top: -2px !important;
}}

@media (max-width: 1070px) {
#gs-dropdown-results{

margin-left: 12px !important;

top: 46px;
}}

@media screen and (min-width: 1071px) and (max-width: 1079px) {
 
    
    
    #gs-dropdown-results{
        
        margin-left: 12px !important;
        margin-top: -2px !important;
        
    }
    
}






@media (max-width: 900px) {
      .better-search-holder .container {
        justify-content: right !important;
        margin-right: 20px !important;
      }

      .better-search-holder .container {
        width: 80% !important;
      }

      .bs-search-box {
        display: none;
      }

      /* CHANGE: Enhanced mobile search icon styling for alignment */
      .mobile-search-icon {
        display: block;
        color:#fff !important;
        
      }

      /* CHANGE: Full-width overlay for active search box */
      .bs-search-box.active {
       display: flex;
       position: fixed;
       top: 13px !important;
       left: 0;
       width: 95vw !important;
       height: 46px;
       z-index: 1000;
       background: #fff;
       border: none;
       border-bottom: 1px solid #ccc;
       padding: 5px 15px;
       box-sizing: border-box;
       margin: 0 !important;
       left: 15px !important;
      }

      /* CHANGE: Ensure input padding consistency in mobile overlay */
      .bs-search-box.active .better-search-box {
        padding: 3px 30px 3px 30px !important;
      }

      /* CHANGE: Hide mobile search icon when search box is active */
      .mobile-search-icon.active {
        display: none;
      }

      /* CHANGE: Adjust suggestions box to full-width under search box */
      #gs-dropdown-results {
        top: 58px;
        left: 5px;
        width: 95.1vw !important;
        position: fixed;
      }
    }

    @media (max-width: 768px) {
      .ai-search-suggestions-box {
        padding: 10px;
      }

      .search-title h5 {
        font-size: 12px !important;
      }

      .ai-search-suggestions {
        flex-direction: row;
        align-items: flex-start;
      }

      .ai-thumbnail {
        width: 30px;
        height: 30px;
      }

      #filter-container {
        overflow-x: auto;
        /* -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 1) 70%, rgba(0, 0, 0, 0)); */
      }
    }
  @media (max-width: 500px) {


    #gs-dropdown-results
 
    
    {

          width: 93vw !important;
          left: 6px !important;

    }

    .bs-search-box.active{

          width: 94vw !important;

    }
  }


          