.khalil-reviews-widget {
  font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 300;
  line-height: 150%;
  position: relative;
  z-index: 1;
}

.khalil-reviews-widget a {
  color: #e95643;
}

.khalil-reviews-widget .reviews-aggregate {
  margin-bottom: 25px;
}

.khalil-reviews-widget .reviews-aggregate .aggregate-title {
  font-size: 18px;
  font-weight: bold;
}

.khalil-reviews-widget .reviews-aggregate .aggregate-text {
  margin-top: 5px;
  font-size: 12px;
  font-family: Roboto, "Open Sans", "Helvetica Neue", Arial, Helvetica, sans-serif;
  font-weight: 300;
  color: #333;
}

.khalil-reviews-widget .reviews-stream .stream-title {
  font-size: 18px;
  font-weight: bold;
}

.khalil-reviews-widget .reviews-stream .reviews-list .review {
  padding: 15px 20px;
  margin: 0 5px 10px;
  background: #FFFFFF;
  -o-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.2);
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.2);
  border-radius: 18px;
  clear: both;
}

.khalil-reviews-widget .reviews-stream .reviews-list .review .review-meta {
  margin-bottom: 15px;
}

.khalil-reviews-widget .reviews-stream .reviews-list .review .review-meta .review-date {
  font-size: 14px;
  opacity: 0.67;
  display: inline-block;
  margin-right: 5px;
  vertical-align: bottom;
}

.khalil-reviews-widget .reviews-stream .reviews-list .review .review-meta .review-rating {
  display: inline-block;
}

.khalil-reviews-widget .reviews-stream .reviews-list .review .review-text {
  color: #333333;
  padding: 5px 0 15px 30px;
  background: transparent url("../images/lquo.png") left top no-repeat;
  overflow: visible;
}

.khalil-reviews-widget .reviews-stream .reviews-list .review .review-text .review-text-inner {
  display: block;
  padding: 0 30px 5px 0;
  background: transparent url("../images/rquo.png") right bottom no-repeat;
  overflow: visible;
  font-size: 16px;
  line-height: 20px;
  font-style: italic;
  color: #333333;
}

.khalil-reviews-widget .reviews-stream .reviews-list .review .review-text .review-text-inner p {
  margin: 0 0 1em;
  padding: 0;
}

.khalil-reviews-widget .reviews-stream .reviews-list .review .review-attribution {
  padding: 10px 0;
}

.khalil-reviews-widget .reviews-stream .reviews-list .review .review-attribution .review-source {
  float: left;
  margin-right: 5px;
}

.khalil-reviews-widget .reviews-stream .reviews-list .review .review-attribution .review-source img {
  width: 20px;
  height: 20px;
}

.khalil-reviews-widget .reviews-stream .reviews-list .review .review-attribution .author {
  font-size: 16px;
  display: inline-block;
}

.khalil-reviews-widget .reviews-stream .reviews-list .review .review-attribution .author .author-name {
  font-weight: bold;
}

.khalil-reviews-widget .reviews-stream .reviews-list .review .review-attribution .author .author-subtitle {
  display: block;
  margin-top: 5px;
  font-style: italic;
}

.khalil-reviews-widget .reviews-stream .reviews-list .review .review-link {
  display: block;
  margin-top: 10px;
  font-size: 12px;
  margin-left: 5px;
}

.khalil-reviews-widget .reviews-stream .reviews-list .review .review-link a {
  color: #e95643;
}

.khalil-reviews-widget .reviews-stream .reviews-pager {
  margin-left: 10px;
  margin-top: 20px;
  display: block;
}

.khalil-reviews-widget .reviews-stream .reviews-pager a {
  margin-right: 10px;
}

.khalil-reviews-widget .reviews-pager-info {
  margin-bottom: 8px;
}

.khalil-reviews-widget .stars svg,
.khalil-reviews-widget .stars [class^=star-],
.khalil-reviews-widget .stars [class*=" star-"] {
  display: inline-block;
  vertical-align: text-top;
}

.khalil-reviews-widget .stars [class^=star-sm],
.khalil-reviews-widget .stars [class*=" star-sm"] {
  width: 20px;
  height: 20px;
  line-height: 20px;
}

.khalil-reviews-widget .stars .star-sm {
  background-position: -730px -275px;
}

.khalil-reviews-widget .stars .star-sm-off {
  background-position: -750px -275px;
}

.khalil-reviews-widget .stars .star-sm-half {
  background-position: -770px -275px;
}

.khalil-reviews-widget .stars [class^=star-md],
.khalil-reviews-widget .stars [class*=" star-md"] {
  width: 40px;
  height: 40px;
  line-height: 40px;
}

.khalil-reviews-widget .stars .star-md {
  background-position: -800px -320px;
}

.khalil-reviews-widget .stars .star-md-off {
  background-position: -840px -320px;
}

.khalil-reviews-widget .stars .star-md-half {
  background-position: -880px -320px;
}

.khalil-reviews-widget .stars [class^=star-lg],
.khalil-reviews-widget .stars [class*=" star-lg"] {
  width: 60px;
  height: 60px;
  line-height: 60px;
}

.khalil-reviews-widget .stars .star-lg {
  background-position: -800px -250px;
}

.khalil-reviews-widget .stars .star-lg-off {
  background-position: -860px -250px;
}

.khalil-reviews-widget .stars .star-lg-half {
  background-position: -920px -250px;
}

.khalil-reviews-widget .spinner {
  margin: 100px auto;
  width: 50px;
  height: 40px;
  text-align: center;
  font-size: 10px;
}

.khalil-reviews-widget .spinner > div {
  background-color: #333;
  height: 100%;
  width: 6px;
  display: inline-block;
  animation: khalil-sk-stretchdelay 1.2s infinite ease-in-out;
}

.khalil-reviews-widget .spinner .rect2 {
  animation-delay: -1.1s;
}

.khalil-reviews-widget .spinner .rect3 {
  animation-delay: -1s;
}

.khalil-reviews-widget .spinner .rect4 {
  animation-delay: -0.9s;
}

.khalil-reviews-widget .spinner .rect5 {
  animation-delay: -0.8s;
}

@keyframes khalil-sk-stretchdelay {
  0%, 40%, 100% {
    transform: scaleY(0.4);
    -webkit-transform: scaleY(0.4);
  }
  20% {
    transform: scaleY(1);
    -webkit-transform: scaleY(1);
  }
}

/* Reviews page: match original .page-id-511 .pc-reviews-widget */
.khalil-reviews-widget.khalil-reviews-layout-all {
  margin: auto;
  max-width: 1330px;
  padding: 0 20px;
  width: 100%;
}

/* Home featured block: match original .reviews .pc-reviews-widget */
.reviews .khalil-reviews-widget,
.khalil-reviews-widget.khalil-reviews-layout-home {
  z-index: 1;
  max-width: 75%;
  margin: 118px auto 20px;
  position: relative;
}

.reviews .practice-name,
.reviews .khalil-reviews-widget {
  position: relative;
}

.reviews .practice-name {
  margin-top: 50px;
  z-index: 9;
}

.reviews .khalil-reviews-widget .reviews-aggregate .aggregate-text,
.reviews .khalil-reviews-widget .reviews-stream .reviews-pager {
  color: #000;
}

.khalil-reviews-more {
  text-align: center;
  margin-top: 20px;
  position: relative;
  z-index: 1;
}

.khalil-reviews-more a.cta-btn {
  margin-top: 20px;
}

/* Theme homepage wrap was sized for an iframe and clips the cards. */
.reviews__wrap:has(.khalil-reviews-widget),
.reviews__wrap:has(.reviews) {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

.reviews__wrap:has(.khalil-reviews-widget):after,
.reviews__wrap:has(.reviews):after {
  content: none !important;
  display: none !important;
}

/* Blog sidebar compact widget (replaces Ceatus iframe). */
.khalil-reviews-sidebar {
  font-family: Arial, Helvetica, sans-serif;
  color: #000;
  width: 100%;
  box-sizing: border-box;
  padding: 4px 0 8px;
}

.khalil-reviews-sidebar * {
  box-sizing: border-box;
}

.khalil-reviews-sidebar .kr-sb-name {
  font-size: 1.25rem;
  margin: 0 0 4px;
  padding: 0 8px;
  line-height: 1.2;
}

.khalil-reviews-sidebar .kr-sb-avg {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 8px 6px;
  flex-wrap: wrap;
}

.khalil-reviews-sidebar .kr-sb-avg-stars svg {
  width: 18px;
  height: 18px;
  display: inline-block;
  vertical-align: middle;
}

.khalil-reviews-sidebar .kr-sb-avg-text {
  margin: 0;
  font-size: 0.6rem;
  font-weight: bold;
  line-height: 1.4;
}

.khalil-reviews-sidebar .kr-sb-number {
  font-size: 0.75rem;
}

.khalil-reviews-sidebar .kr-sb-title {
  color: #7f7f7f;
  font-size: 0.75rem;
  font-weight: bold;
  margin: 8px 8px 6px;
  padding-bottom: 10px;
  border-bottom: 2px solid #fff;
}

.khalil-reviews-sidebar .kr-sb-item {
  margin: 0 0 12px;
  padding: 4px 0 8px;
  color: #666;
  border-bottom: 2px solid #fff;
}

.khalil-reviews-sidebar .kr-sb-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 8px;
}

.khalil-reviews-sidebar .kr-sb-logo {
  display: inline-flex;
  flex: 0 0 auto;
}

.khalil-reviews-sidebar .kr-sb-logo img {
  width: 20px;
  height: 20px;
  display: block;
}

.khalil-reviews-sidebar .kr-sb-stars {
  flex: 1 1 auto;
}

.khalil-reviews-sidebar .kr-sb-stars svg {
  width: 20px;
  height: 20px;
  display: inline-block;
  vertical-align: middle;
}

.khalil-reviews-sidebar .kr-sb-date {
  margin-left: auto;
  font-size: 0.75rem;
  color: #666;
  white-space: nowrap;
}

.khalil-reviews-sidebar .kr-sb-body {
  margin: 10px 20px 8px;
  font-size: 1rem;
  line-height: 1.35;
  color: #666;
}

.khalil-reviews-sidebar .kr-sb-more-wrap {
  text-align: center;
  margin-top: 8px;
  padding: 0 8px;
}

.khalil-reviews-sidebar .kr-sb-more {
  display: inline-block;
  background: #000;
  color: #fff !important;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 600;
  padding: 8px 28px;
  text-transform: uppercase;
  text-decoration: none !important;
  box-shadow: 0 9px 10px -5px rgba(0, 0, 0, 0.2);
}

.khalil-reviews-sidebar .kr-sb-more:hover {
  color: #fff !important;
  opacity: 0.9;
}

@media (max-width: 400px) {
  .khalil-reviews-sidebar .kr-sb-body {
    font-size: 0.75rem;
    margin: 8px 12px;
  }

  .khalil-reviews-sidebar .kr-sb-stars svg {
    width: 12px;
    height: 12px;
  }

  .khalil-reviews-sidebar .kr-sb-more {
    display: block;
    width: 100%;
    padding: 8px 15px;
  }
}

@media (max-width: 767px) {
  .reviews .khalil-reviews-widget,
  .khalil-reviews-widget.khalil-reviews-layout-home {
    max-width: 100%;
    margin: 80px auto 20px;
    padding: 0 12px;
  }

  .khalil-reviews-widget.khalil-reviews-layout-all {
    padding: 0 12px;
  }
}
