.card-text {
  scrollbar-width: thin;
  scrollbar-color: darkgrey;
}
.card-text::-webkit-scrollbar {
  width: 3px;
}
.card-text::-webkit-scrollbar-track {
  background: #ddd;
}
.card-text::-webkit-scrollbar-thumb {
  background-color: darkgrey;
  border-radius: 20px;
}
* { box-sizing: border-box; }

body { font-family: Montserrat; }
.carousel-container {
  width: 65%;
  margin: auto;
}
.carousel {
  background: #fff;
}

.carousel-cell {
  width: 360px;
  height: 330px;
  margin-right: 10px;
  border-radius: 5px;
  padding: 10px 0;
}

.carousel-cell.is-selected {
  
}

/* cell number */
.carousel-cell:before {
  display: block;
  text-align: center;
  line-height: 200px;
  font-size: 80px;
  color: white;
}


/*! Flickity v2.2.1
https://flickity.metafizzy.co
---------------------------------------------- */

.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus { outline: none; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* ---- flickity-button ---- */

.flickity-button {
  position: absolute;
  background: hsla(0, 0%, 100%, 0.75);
  border: none;
  color: #333;
  padding: 0;
  box-shadow: none;
}

.flickity-button:hover {
  background: white;
  cursor: pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

/* ---- previous/next buttons ---- */

.flickity-prev-next-button {
  top: 43%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous { left: 279px; }
.flickity-prev-next-button.next { right: -60px; }
/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}
.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

/* ---- page dots ---- */

.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots { direction: rtl; }

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}
.flickity-page-dots .dot.is-selected {
  opacity: 1;
}
.cardcontent {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-left: 10px;
  padding-right: 10px;
}
.cardcontent {
  font-size: 0.8em;
}
.card-review {
  height: 100%;
}
.card-review-google-logo {
  position: absolute;
  right: 35px;
  width: 24px;
  height: 24px;
  background: #fff;
  padding: 2px;
  border-radius: 50%;
}
.cardcontent p {
  padding: 0 10px;
  line-height: 1.3;
}
.card-review-stars {
  margin-bottom: 10px;
  color: #e7711b;
  font-size: 1.7em;
  font-weight: 900;
  vertical-align: middle;
  position: relative;
  top: -3px;
}

@media screen and (min-width: 500px) and (max-width: 767px) {
	.card-review-stars {
    font-size: 1.2em;
    top: -6px;
    position: relative;
	}
}

.card-review-title {
  margin-top: 5px;
}
.card-footer {
  display: inline-block;
  justify-content: space-evenly;
  padding-top: 20px;
  margin-left: 25px;
}
.cardbutton {
  background: green;
  position: relative;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.1s ease-in;
  font-size: 26px; 
  color: #fff;
  float: left;
  box-shadow:
      0 1px 1px hsl(0deg 0% 0% / 0.075),
      0 2px 2px hsl(0deg 0% 0% / 0.075),
      0 4px 4px hsl(0deg 0% 0% / 0.075),
      0 8px 8px hsl(0deg 0% 0% / 0.075),
      0 16px 16px hsl(0deg 0% 0% / 0.075);
}
.cardbutton i {
  color: white;
  transform: translateY(-2px);
}
.cardcontent p:nth-child(1) {
  font-size: 0.8em;
}
.cardcontent p {
  display: block;
  margin-bottom: 3px;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #427fed;
  padding-left: 10px;
}
.card-review-title span {
  font-size: 13px;
  color: #999;
  margin-top: 5px;
}
.cardcontent p:nth-child(2) {
  font-size: 0.9em;
}
.card-text-container {
  height: 63%;
  background: #fcfcfc;
  border: 1px solid #ededed;
  padding-top: 10px;
  box-shadow:
      0 1px 1px hsl(0deg 0% 0% / 0.075),
      0 2px 2px hsl(0deg 0% 0% / 0.075),
      0 4px 4px hsl(0deg 0% 0% / 0.075),
      0 8px 8px hsl(0deg 0% 0% / 0.075),
      0 16px 16px hsl(0deg 0% 0% / 0.075);
}
.card-footer:before {
  position: absolute;
  bottom: 117px;
  left: 50px;
  display: block;
  width: 14px;
  height: 14px;
  border: 1px solid #ededed;
  border-top: none;
  border-left: none;
  background-color: #fafafa;
  content: "";
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  box-shadow:
      0 1px 1px hsl(0deg 0% 0% / 0.075),
      0 2px 2px hsl(0deg 0% 0% / 0.075),
      0 4px 4px hsl(0deg 0% 0% / 0.075),
      0 8px 8px hsl(0deg 0% 0% / 0.075),
      0 16px 16px hsl(0deg 0% 0% / 0.075);
} 
.card-text {
  position: relative;
  top: 7%;
  background: #fcfcfc;
  color: #999;
  font-size: 14px;
  border-radius: 4px;
  height: 81%;
  width: 78%;
  margin: auto;
  overflow-y: scroll;
  line-height: 22px;
}
.card-text-container:before {
  bottom: 47px;
  box-sizing: border-box;
  color: #bbb;
  content: '\201C';
  display: block;
  height: 96px;
  left: 60px;
  position: absolute;
  right: 515.391px;
  text-size-adjust: 100%;
  top: 30px;
  width: 24.6094px;
  column-rule-color: #bbb;
  perspective-origin: 12.2969px 48px;
  transform-origin: 12.2969px 48px;
  border: 0 none #bbb;
  font: normal normal normal normal 60px / 96px Georgia,serif;
  margin: -25px 0 0 -40px;
  outline: #bbb none 0;
}
.google-reviews-title {
  text-align: center;
  vertical-align: middle;
  padding: 50px 0 40px;
  font-size: 1.8em;
}
.google-reviews-title img {
  vertical-align: middle;
}
.review-button {
  text-align: center;
  position: relative;
  bottom: 150px;
}
@media (max-width:993px) {
  .carousel-cell {
    margin: auto;
    width: 250px;
  }
  .card-text-container:before {
    left: 55px;
  }
  .flickity-prev-next-button .flickity-button-icon {
    width: 40%;
  }
  .flickity-page-dots {
    bottom: -20px;
  }
  .flickity-page-dots .dot {
    margin: 0 3px;
  }
  .review-button {
    bottom: 55px;
  }
  .flickity-prev-next-button {
	display: none;
  }
}