
/*--------------------------------------------------------------
# top-college Section
--------------------------------------------------------------*/
.top-college .img {
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  overflow: hidden;
  
}
.top-college .img img {
  transition: 0.6s;
  height: 9rem;
  width:100%;
}
@media (max-width: 991px) {
	.top-college .img img {
  transition: 0.6s;
  height: 7rem;
  width:100%;
}
}
.top-college .details {
  padding: 30px 30px 10px 30px;
 /* margin: -100px 30px 0 30px; */
  transition: all ease-in-out 0.3s;
  background: var(--color-white);
  position: relative;
  background: rgba(var(--color-white-rgb), 0.9);
  text-align: center;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  box-shadow: 0px 0 25px rgba(var(--color-black-rgb), 0.1);
  height: 10rem;
}
.top-college .details .logo {
  margin: 0;
  width: 72px;
  height: 72px;
  background: var(--color-white);
  border-radius: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  color: var(--color-white);
  font-size: 28px;
  transition: ease-in-out 0.3s;
  position: absolute;
  top: -36px;
  left: calc(50% - 36px);
  border: 5px solid var(--color-white);
}
.top-college .details .logo img{ 
  width: 100%; 
  height: 100%; 
  object-fit: cover; 
  border-radius: 50px;
}
.top-college .details h3 {
  color: var(--color-default);
  font-weight: 700;
  margin: 10px 0 7px 0;
  font-size: 1rem;
  transition: ease-in-out 0.3s;
  
   text-overflow: ellipsis;
  overflow: hidden;
  display:-webkit-box;
  -webkit-line-clamp: 3; /* number of lines to show */
  -webkit-box-orient: vertical;
}
.top-college .details p {
  line-height: 24px;
  font-size: 14px;
  margin-bottom: 0;
  padding-bottom: 5px;
}
.top-college .top-college-item:hover .details h3 {
  color: var(--color-primary);
}
.top-college .top-college-item:hover .details .logo {
  background: var(--color-white);
  border: 2px solid var(--color-primary);
}

.top-college .top-college-item:hover .img img {
  transform: scale(1.2);
}

.top-college .top-college-item .img .rank {
  position: absolute;
  right: 0;
  top: 0;
  background-color: var(--color-primary);
  color: #fff;
  text-transform: uppercase;
  font-size: 13px;
  padding: 6px 12px;
  font-weight: 500;
  border-bottom-left-radius: 8px;
}

.top-college .top-college-item .img .sponserd {
  position: absolute;
  right: 0;
  top: 0;
  background-color: var(--color-yellow);
  color: #fff;
  text-transform: uppercase;
  font-size: 13px;
  padding: 6px 12px;
  font-weight: 500;
  border-bottom-left-radius: 8px;
}

/*
|--------------------------------------------------------------------------
| FILTER SIDEBAR
|--------------------------------------------------------------------------
*/

.filter-sidebar-card {

    border: 1px solid rgba(var(--color-default-rgb), 0.08);

    border-radius: 18px;

    background: var(--color-white);

    box-shadow:
        0 6px 24px rgba(var(--color-black-rgb), 0.06);

    overflow: hidden;

    transition: 0.3s ease;

}

.filter-sidebar-card:hover {

    box-shadow:
        0 10px 30px rgba(var(--color-black-rgb), 0.08);

}


.filter-sidebar-title {

    font-size: 1.1rem;

    font-weight: 700;

    color: var(--color-default);

    margin-bottom: 20px;

}


/*
|--------------------------------------------------------------------------
| STATE ITEM
|--------------------------------------------------------------------------
*/

.state-item {

    border-bottom:
        1px solid rgba(var(--color-default-rgb), 0.08);

    padding-bottom: 4px;

    margin-bottom: 6px;

    margin-right: 14px;

    margin-left: 14px;

}

.state-item:last-child {

    border-bottom: none;

    margin-bottom: 0;

    padding-bottom: 0;

}


/*
|--------------------------------------------------------------------------
| STATE LABEL
|--------------------------------------------------------------------------
*/

.state-label {

    display: flex;

    align-items: center;

    gap: 10px;

    cursor: pointer;

    font-weight: 600;

    color: var(--color-default);

    transition: 0.3s ease;

    padding: 10px 12px;

    border-radius: 12px;

}

.state-label:hover {

    background:
        rgba(var(--color-primary-rgb), 0.08);

    color: var(--color-primary);

}


/*
|--------------------------------------------------------------------------
| ACTIVE STATE
|--------------------------------------------------------------------------
*/

.state-label:has(.state-filter:checked) {

    background:
        rgba(var(--color-primary-rgb), 0.12);

    color: var(--color-primary);

}


/*
|--------------------------------------------------------------------------
| CITY CONTAINER
|--------------------------------------------------------------------------
*/

.city-container {

    margin-top: 10px;

    padding-left: 12px;

    border-left:
        2px solid rgba(var(--color-primary-rgb), 0.15);

}


/*
|--------------------------------------------------------------------------
| CITY LABEL
|--------------------------------------------------------------------------
*/

.city-label {

    display: flex;

    align-items: center;

    gap: 4px;

    cursor: pointer;

    font-size: 0.95rem;

    color: rgba(var(--color-default-rgb), 0.85);

    padding: 8px 12px;

    border-radius: 10px;

    transition: 0.3s ease;

}

.city-label:hover {

    background:
        rgba(var(--color-primary-rgb), 0.06);

    color: var(--color-primary);

}


/*
|--------------------------------------------------------------------------
| ACTIVE CITY
|--------------------------------------------------------------------------
*/

.city-label:has(.city-filter:checked) {

    background:
        rgba(var(--color-primary-rgb), 0.10);

    color: var(--color-primary);

}


/*
|--------------------------------------------------------------------------
| CUSTOM RADIO + CHECKBOX
|--------------------------------------------------------------------------
*/

.form-check-input {

    cursor: pointer;

    box-shadow: none !important;

    border-color:
        rgba(var(--color-default-rgb), 0.25);

}

.form-check-input:checked {

    background-color: var(--color-primary);

    border-color: var(--color-primary);

}


/*
|--------------------------------------------------------------------------
| FILTER SCROLL
|--------------------------------------------------------------------------
*/

.filter-scroll {

    max-height: 75vh;

    overflow-y: auto;

    padding-right: 5px;

}

.filter-scroll::-webkit-scrollbar {

    width: 5px;

}

.filter-scroll::-webkit-scrollbar-thumb {

    background:
        rgba(var(--color-primary-rgb), 0.25);

    border-radius: 10px;

}


/*
|--------------------------------------------------------------------------
| DESKTOP FILTER ALWAYS OPEN
|--------------------------------------------------------------------------
*/

@media (min-width: 992px) {

    .filter-collapse-wrapper {

        display: block !important;

        height: auto !important;

        visibility: visible !important;

    }

}


/*
|--------------------------------------------------------------------------
| MOBILE FILTER BUTTON
|--------------------------------------------------------------------------
*/
/*
|--------------------------------------------------------------------------
| MOBILE FILTER BUTTON
|--------------------------------------------------------------------------
*/

.filter-toggle-btn {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    border:
        1.5px solid var(--color-primary);

    outline: none;

    background: transparent;

    color: var(--color-primary);

    padding: 10px 18px;

    border-radius: 12px;

    font-size: 14px;

    font-weight: 600;

    transition: 0.3s ease;

}


/*
|--------------------------------------------------------------------------
| HOVER
|--------------------------------------------------------------------------
*/

.filter-toggle-btn:hover {

    background:
        rgba(var(--color-primary-rgb), 0.08);

    color: var(--color-primary);

    transform: translateY(-2px);

}


/*
|--------------------------------------------------------------------------
| ACTIVE / OPEN STATE
|--------------------------------------------------------------------------
*/

.filter-toggle-btn.active {

    background: var(--color-primary);

    color: var(--color-white);

    box-shadow:
        0 8px 22px rgba(var(--color-primary-rgb), 0.30);

}


/*
|--------------------------------------------------------------------------
| ICON
|--------------------------------------------------------------------------
*/

.filter-toggle-btn i {

    font-size: 14px;

}




/*
|--------------------------------------------------------------------------
| MOBILE FILTER CARD
|--------------------------------------------------------------------------
*/

@media (max-width: 991px) {

    .filter-sidebar-card {

        margin-bottom: 20px;

        border-radius: 14px;

    }

    .filter-scroll {

        max-height: 400px;

        overflow-y: auto;

    }

    .state-item {

        padding-bottom: 10px;

        margin-bottom: 10px;

    }

    .city-container {

        padding-left: 10px;

    }

}