/**
 * Custom Google Reviews – Styles
 *
 * Mirror of the original Business Reviews minified CSS,
 * expanded / reformatted and using the cgr-* prefix.
 */

/* ===========================================================
   Bubble arrow
   =========================================================== */
.cgr-review-content-arrow-wrap {
	top: 100%;
	position: absolute;
	left: 20px;
}
.cgr-review-image-enable-yes .cgr-review-content-arrow-wrap {
	left: 55px;
}
.cgr-review-arrow-border {
	border-width: 16px;
	border-style: solid;
	border-right-color: transparent;
	border-bottom-color: transparent;
	border-left-color: transparent;
	border-top-color: #111;
	left: 0;
	top: 0;
	position: absolute;
}
.cgr-review-arrow {
	border-width: 17px;
	border-style: solid;
	border-right-color: transparent;
	border-bottom-color: transparent;
	border-left-color: transparent;
	border-top-color: #ccc;
	left: -1px;
	top: 0;
	position: absolute;
}

/* ===========================================================
   Flex layout
   =========================================================== */
.cgr-review-header,
.cgr-review-image-all_left .cgr-review,
.cgr-reviews-widget-wrapper {
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
}
.cgr-reviews-widget-wrapper {
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

/* ===========================================================
   Widths & resets
   =========================================================== */
.cgr-review,
.cgr-review-details,
.cgr-reviews-grid__column-1 .cgr-reviews-widget-wrapper .cgr-review-wrap {
	width: 100%;
}

.cgr-reviewer-name {
	font-weight: 600;
	word-break: break-word;
	display: inline-block;
}

/* ===========================================================
   Source icons
   =========================================================== */
.cgr-review-icon-wrap i.fa.fa-yelp {
	color: #af0606;
	border-color: #af0606;
	font-size: 18px;
}
.cgr-review-icon-wrap svg {
	vertical-align: middle;
}
/* Default skin icon spacing */
[data-review-skin="default"] .cgr-review-icon-wrap i.fa-yelp,
[data-review-skin="default"] .cgr-review-icon-wrap svg {
	margin-left: 5px;
}
.cgr-review-icon-wrap img {
	width: 20px;
	height: 20px;
}

/* ===========================================================
   Skin-specific alignment helpers
   =========================================================== */
[data-review-skin="bubble"] .cgr-review-details,
[data-review-skin="card"] .cgr-review-icon-wrap,
.cgr-review-image-left .cgr-review-details {
	-webkit-align-self: center;
	-ms-flex-item-align: center;
	align-self: center;
}
[data-review-skin="bubble"] .cgr-review-icon-wrap {
	position: absolute;
	right: 15px;
	bottom: 8px;
}
[data-review-skin="bubble"] .cgr-review-type-yelp .cgr-review-icon-wrap {
	bottom: 10px;
}
[data-review-skin="card"] .cgr-review-content-wrap {
	margin-bottom: 8px;
}

/* ===========================================================
   Review content
   =========================================================== */
.cgr-review-content {
	position: relative;
}

/* ===========================================================
   Reviewer image
   =========================================================== */
.cgr-review-image {
	height: 70px;
	width: 70px;
	-webkit-background-size: cover;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	overflow: hidden;
}

/* ===========================================================
   Alignment
   =========================================================== */
.cgr-reviews-align-center .cgr-review {
	text-align: center;
}
.cgr-reviews-align-right .cgr-review {
	text-align: right;
}
.cgr-reviews-align-center .cgr-star-rating-wrapper {
	display: flex;
	justify-content: center;
}
.cgr-reviews-align-right .cgr-star-rating-wrapper {
	display: flex;
	justify-content: flex-end;
}

/* ===========================================================
   Date
   =========================================================== */
.cgr-review-time {
	font-size: 14px;
	line-height: 1.6em;
}
.cgr-review-image-top .cgr-review-header,
.cgr-review-time {
	display: block;
}

/* ===========================================================
   Notices & errors
   =========================================================== */
.cgr-reviews-notice-message {
	display: block;
	margin-bottom: 15px;
}
.cgr-reviews-error-message {
	color: #be2626;
}

/* ===========================================================
   Default skin header
   =========================================================== */
[data-review-skin="default"] .cgr-review-header {
	margin-bottom: 7px;
}
.cgr-review-image-top .cgr-review-image {
	display: inline-block;
}

/* ===========================================================
   Left-positioned images
   =========================================================== */
[data-review-skin="bubble"] .cgr-review-image,
.cgr-review-image-all_left .cgr-review-image,
.cgr-review-image-left .cgr-review-image {
	margin-right: 20px;
	-webkit-flex-shrink: 0;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}

/* Default skin name/time spacing */
[data-review-skin="default"] .cgr-reviewer-name,
.cgr-review-details .cgr-star-rating-wrapper,
.cgr-review-details .cgr-review-time {
	margin-bottom: 0;
}
[data-review-skin="default"] .cgr-review-time {
	margin-bottom: 5px;
}

/* ===========================================================
   Yelp avatar round
   =========================================================== */
.cgr-review-type-yelp .cgr-review-image {
	-webkit-border-radius: 100%;
	border-radius: 100%;
}

/* ===========================================================
   Layout: carousel
   =========================================================== */
.cgr-reviews-layout-carousel .cgr-review-wrap {
	padding-top: 10px;
}

/* ===========================================================
   Widget wrapper / review wrap base
   =========================================================== */
.cgr-reviews-widget-wrapper {
	margin: 0 -10px;
	list-style: none outside;
	clear: both;
}
.cgr-review-wrap {
	padding-right: calc(20px / 2);
	padding-left: calc(20px / 2);
	margin-bottom: 20px;
}

/* ===========================================================
   Equal height
   =========================================================== */
.cgr-reviews-equal-height-yes .cgr-review {
	height: 100%;
}

/* ===========================================================
   Read more
   =========================================================== */
.cgr-reviews-read-more {
	display: block;
	font-size: 14px;
	margin-top: 10px;
}

/* ===========================================================
   Star styles
   =========================================================== */
.cgr-review .cgr-star-full.cgr-star-default {
	color: #e37400;
}
.cgr-review .cgr-star-full.cgr-star-custom {
	color: #ffab40;
}
.cgr-review .cgr-star-default,
.cgr-review .cgr-star-empty.cgr-star-custom,
.cgr-review .cgr-star-full.cgr-star-custom {
	font-size: 15px;
	padding: 0 4px 0 0;
}
.cgr-review .cgr-star-rating {
	color: #ccd6df;
	display: inline-block;
}
.cgr-star-rating svg {
	margin-top: 5px;
}

/* ===========================================================
   Footer / dots spacer
   =========================================================== */
.cgr-business-reviews-footer {
	margin-top: 30px;
}

/* ===========================================================
   Yelp SVG star colors
   =========================================================== */
.cgr-yelp-rating-svg-1 .cgr-yelp-rating-1 { fill: #FFD8A0; }
.cgr-yelp-rating-svg-2 .cgr-yelp-rating-1,
.cgr-yelp-rating-svg-2 .cgr-yelp-rating-2 { fill: #FEC011; }
.cgr-yelp-rating-svg-3 .cgr-yelp-rating-1,
.cgr-yelp-rating-svg-3 .cgr-yelp-rating-2,
.cgr-yelp-rating-svg-3 .cgr-yelp-rating-3 { fill: #FF9242; }
.cgr-yelp-rating-svg-4 .cgr-yelp-rating-1,
.cgr-yelp-rating-svg-4 .cgr-yelp-rating-2,
.cgr-yelp-rating-svg-4 .cgr-yelp-rating-3,
.cgr-yelp-rating-svg-4 .cgr-yelp-rating-4 { fill: #F15C4F; }
.cgr-yelp-rating-svg-5 .cgr-yelp-rating-1,
.cgr-yelp-rating-svg-5 .cgr-yelp-rating-2,
.cgr-yelp-rating-svg-5 .cgr-yelp-rating-3,
.cgr-yelp-rating-svg-5 .cgr-yelp-rating-4,
.cgr-yelp-rating-svg-5 .cgr-yelp-rating-5 { fill: #D32323; }

/* ===========================================================
   Grid columns (desktop)
   =========================================================== */
.cgr-reviews-grid__column-2 .cgr-reviews-widget-wrapper .cgr-review-wrap { width: 50%; }
.cgr-reviews-grid__column-3 .cgr-reviews-widget-wrapper .cgr-review-wrap { width: 33.33%; }
.cgr-reviews-grid__column-4 .cgr-reviews-widget-wrapper .cgr-review-wrap { width: 25%; }
.cgr-reviews-grid__column-5 .cgr-reviews-widget-wrapper .cgr-review-wrap { width: 20%; }

/* Clear floats for grid columns */
.cgr-reviews-grid__column-1 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(n+1),
.cgr-reviews-grid__column-2 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(odd),
.cgr-reviews-grid__column-3 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(3n+1),
.cgr-reviews-grid__column-4 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(4n+1),
.cgr-reviews-grid__column-5 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(5n+1) {
	clear: left;
}
.cgr-reviews-grid__column-1 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(n),
.cgr-reviews-grid__column-2 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(2n),
.cgr-reviews-grid__column-3 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(3n),
.cgr-reviews-grid__column-4 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(4n),
.cgr-reviews-grid__column-5 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(5n) {
	clear: right;
}

/* ===========================================================
   Slick arrows
   =========================================================== */
.cgr-reviews-widget-wrapper .slick-next,
.cgr-reviews-widget-wrapper .slick-prev {
	font-size: 0;
	line-height: 0;
	position: absolute;
	top: 50%;
	display: block;
	width: 20px;
	padding: 0;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
	cursor: pointer;
	color: transparent;
	border: none;
	outline: 0;
	background: 0 0;
	z-index: 10;
}
.cgr-reviews-widget-wrapper .slick-next:before,
.cgr-reviews-widget-wrapper .slick-prev:before {
	font-family: 'Font Awesome 5 Free';
	font-weight: 800;
	font-size: 35px;
	line-height: 1;
	opacity: .75;
	color: #000;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.cgr-reviews-widget-wrapper .slick-prev:before,
[dir=rtl] .cgr-reviews-widget-wrapper .slick-next:before {
	content: '\f104';
}
.cgr-reviews-widget-wrapper .slick-next:before,
[dir=rtl] .cgr-reviews-widget-wrapper .slick-prev:before {
	content: '\f105';
}

/* Arrows outside */
.cgr-reviews-carousel-arrow-outside .cgr-reviews-widget-wrapper .slick-prev { left: -25px; }
.cgr-reviews-carousel-arrow-outside .cgr-reviews-widget-wrapper .slick-next { right: -25px; }

/* Arrows inside */
.cgr-reviews-carousel-arrow-inside .cgr-reviews-widget-wrapper .slick-prev { left: 25px; }
.cgr-reviews-carousel-arrow-inside .cgr-reviews-widget-wrapper .slick-next { right: 25px; }

/* ===========================================================
   Slick dots
   =========================================================== */
.cgr-reviews-widget-wrapper ul.slick-dots {
	display: block;
	position: absolute;
	margin: 0;
	left: 0;
	width: 100%;
	bottom: 0;
	-webkit-transform: translateY(100%);
	-ms-transform: translateY(100%);
	transform: translateY(100%);
	text-align: center;
}
.cgr-reviews-widget-wrapper ul.slick-dots li {
	position: relative;
	display: inline-block;
	width: 20px;
	height: 20px;
	margin: 0;
	padding: 0;
	cursor: pointer;
}
.cgr-reviews-widget-wrapper ul.slick-dots li button {
	font-size: 0;
	line-height: 0;
	display: block;
	width: 20px;
	height: 20px;
	padding: 5px;
	cursor: pointer;
	color: transparent;
	border: 0;
	outline: 0;
	background: 0 0;
}
.cgr-reviews-widget-wrapper ul.slick-dots li button:before {
	content: '\f111';
	font-family: 'Font Awesome 5 Free';
	font-weight: 800;
	font-size: 6px;
	line-height: 20px;
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
	height: 20px;
	text-align: center;
	opacity: .25;
	color: #000;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.cgr-reviews-widget-wrapper ul.slick-dots li.slick-active button:before {
	opacity: .75;
	color: #000;
}

/* ===========================================================
   Equal height + slick
   =========================================================== */
.cgr-reviews-widget-wrapper[data-equal-height=yes] .slick-slide .cgr-review-inner-wrap {
	display: inline-block;
	height: 100%;
}

/* ===========================================================
   Tablet columns (max-width: 1024px)
   =========================================================== */
@media (max-width: 1024px) {
	.cgr-reviews-grid-tablet__column-1 .cgr-reviews-widget-wrapper .cgr-review-wrap { width: 100%; }
	.cgr-reviews-grid-tablet__column-2 .cgr-reviews-widget-wrapper .cgr-review-wrap { width: 50%; }
	.cgr-reviews-grid-tablet__column-3 .cgr-reviews-widget-wrapper .cgr-review-wrap { width: 33.33%; }
	.cgr-reviews-grid-tablet__column-4 .cgr-reviews-widget-wrapper .cgr-review-wrap { width: 25%; }
	.cgr-reviews-grid-tablet__column-5 .cgr-reviews-widget-wrapper .cgr-review-wrap { width: 20%; }

	.cgr-reviews-grid-tablet__column-1 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(n+1),
	.cgr-reviews-grid-tablet__column-2 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(odd),
	.cgr-reviews-grid-tablet__column-3 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(3n+1),
	.cgr-reviews-grid-tablet__column-4 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(4n+1),
	.cgr-reviews-grid-tablet__column-5 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(5n+1) {
		clear: left;
	}
	.cgr-reviews-grid-tablet__column-1 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(n),
	.cgr-reviews-grid-tablet__column-2 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(2n),
	.cgr-reviews-grid-tablet__column-3 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(3n),
	.cgr-reviews-grid-tablet__column-4 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(4n),
	.cgr-reviews-grid-tablet__column-5 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(5n) {
		clear: right;
	}
}

/* ===========================================================
   Mobile columns (max-width: 767px)
   =========================================================== */
@media (max-width: 767px) {
	.cgr-reviews-grid-mobile__column-1 .cgr-reviews-widget-wrapper .cgr-review-wrap { width: 100%; }
	.cgr-reviews-grid-mobile__column-2 .cgr-reviews-widget-wrapper .cgr-review-wrap { width: 50%; }
	.cgr-reviews-grid-mobile__column-3 .cgr-reviews-widget-wrapper .cgr-review-wrap { width: 33.33%; }
	.cgr-reviews-grid-mobile__column-4 .cgr-reviews-widget-wrapper .cgr-review-wrap { width: 25%; }
	.cgr-reviews-grid-mobile__column-5 .cgr-reviews-widget-wrapper .cgr-review-wrap { width: 20%; }

	.cgr-reviews-grid-mobile__column-1 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(n+1),
	.cgr-reviews-grid-mobile__column-2 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(odd),
	.cgr-reviews-grid-mobile__column-3 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(3n+1),
	.cgr-reviews-grid-mobile__column-4 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(4n+1),
	.cgr-reviews-grid-mobile__column-5 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(5n+1) {
		clear: left;
	}
	.cgr-reviews-grid-mobile__column-1 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(n),
	.cgr-reviews-grid-mobile__column-2 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(2n),
	.cgr-reviews-grid-mobile__column-3 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(3n),
	.cgr-reviews-grid-mobile__column-4 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(4n),
	.cgr-reviews-grid-mobile__column-5 .cgr-reviews-widget-wrapper .cgr-review-wrap:nth-child(5n) {
		clear: right;
	}

	.cgr-reviews-carousel-arrow-inside .cgr-reviews-widget-wrapper .slick-prev,
	.cgr-reviews-carousel-arrow-outside .cgr-reviews-widget-wrapper .slick-prev {
		left: 15px;
		z-index: 2;
	}
	.cgr-reviews-carousel-arrow-inside .cgr-reviews-widget-wrapper .slick-next,
	.cgr-reviews-carousel-arrow-outside .cgr-reviews-widget-wrapper .slick-next {
		right: 15px;
		z-index: 2;
	}
}
