div.review-card {
	position: relative;
	border-radius: 8px;
	box-sizing: border-box;
	box-shadow: rgba(0, 0, 0, 0.2) 0px 18px 50px -10px;
	padding: 24px;
	margin: 0 auto;
	max-width: 700px;
	width: 100%;
	overflow: hidden;
	background-color: #fff;
	color: #111;
}

.reviews-category-items.view-carousel div.carousel-item {
	padding: 4px 36px 24px;
	height: 100%;
	display: flex;
	align-items: center;
	align-content: center;
}

.reviews-category-items.single-review {
	display: flex;
	justify-content: center;
}

.reviews-category-items.view-carousel div.review-card {
	width: 100%;
	max-width: 550px;
	box-shadow: rgba(0, 0, 0, 0.5) 0px 10px 25px -10px;
	background-color: #fff;
}

div.review-card::before {
	content: "";
	width: 200px;
	height: 200px;
	position: absolute;
	top: -25px;
	left: -25px;
	opacity: 0.05;
	background-image: url("/wp-content/plugins/bb-custom-modules/modules/reviews-module/assets/quote-mark.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: top left;
}

div.review-card > h3 {
	margin: 0 0 8px;
	font-size: 1.75rem;
}

div.review-card .review-text {
	font-size: 18px;
	line-height: 1.5;
	color: #111 !important;
}

div.review-card p.author {
	font-size: 1.25rem;
	font-weight: bold;
	margin: 0 0 4px;
}

div.review-card .footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 16px;
}

div.review-card .footer .footer-icon {
	width: 25%;
}

div.review-card .footer .footer-icon img {
	width: 100%;
	margin: 0;
	padding: 0;
}

div.review-card .footer .footer-details {
	width: calc(75% - 64px);
}

div.review-card ul.rating {
	display: flex;
	margin: 0;
	padding: 0;
}
div.review-card ul.rating li {
	display: block;
	width: 20px;
	height: 20px;
	list-style: none;
	box-sizing: border-box;
}

/* Rating */
div.rating {
	position: relative;
	background: rgb(244, 201, 19);
	background: linear-gradient(
		90deg,
		rgba(244, 201, 19, 1) 100%,
		rgba(255, 255, 255, 1) 0%
	);
	display: block;
	margin: 0 0 0 36px;
	line-height: 0;
}
div.rating > img {
	width: 180px;
}

/* Tripadvisor */
div.review-card.tripadvisor ul.rating li {
	border: 3px solid #2fae68;
	border-radius: 50%;
	background-color: #2fae68;
	padding: 4px;
	margin-right: 4px;
}

div.review-card.tripadvisor ul.rating li:last-child {
	margin-right: 0;
}
div.review-card.tripadvisor .footer-details {
	display: flex;
	flex-wrap: wrap;
}
div.review-card.tripadvisor .footer-details > p.author {
	width: 100%;
}

div.review-card.tripadvisor .rating {
	background-color: rgb(47, 174, 104);
	margin-left: 0;
}
div.review-card.tripadvisor .rating img {
	width: 140px;
}

/* Facebook */
div.review-card.facebook .footer .footer-icon img {
	border-radius: 8px;
}

div.review-card.facebook .footer .footer-details,
div.review-card.google .footer .footer-details {
	display: flex;
	align-items: center;
}

div.review-card.facebook .footer .footer-details img.fb-profile-img,
div.review-card.google .footer .footer-details img.fb-profile-img {
	border-radius: 50%;
	width: 50px;
	height: 50px;
}

div.review-card.facebook .footer .footer-details .footer-text-details,
div.review-card.google .footer .footer-details .footer-text-details {
	padding-left: 12px;
}

div.review-card.facebook .footer .footer-details p.author,
div.review-card.facebook .footer .footer-details p.review-date,
div.review-card.google .footer .footer-details p.author,
div.review-card.google .footer .footer-details p.review-date {
	margin-bottom: 0;
}

/* Google */
div.review-card.google .footer .footer-icon {
	width: 20%;
}
div.review-card.google .footer .footer-details {
	width: calc(80% - 40px);
	color: #111 !important;
}

/* Review Category Listing */
.reviews-category-items {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: 1fr;
	grid-column-gap: 36px;
	grid-row-gap: 36px;
}

.reviews-category-items .review-card {
	width: 100%;
}

@media screen and (max-width: 768px) {
	.reviews-category-items {
		grid-template-columns: repeat(1, 1fr);
		grid-column-gap: 0;
		grid-row-gap: 12px;
	}

	div.review-card .review-text {
		font-size: 16px;
	}

	.reviews-category-items.view-carousel div.review-card {
		max-width: 90vw;
	}

	.reviews-category-items.view-carousel div.carousel-item {
		padding-left: 12px;
		padding-right: 12px;
	}

	div.review-card .footer {
		flex-wrap: wrap;
	}

	div.review-card .footer .footer-icon {
		width: 100%;
		text-align: center;
	}

	div.review-card .footer .footer-icon img {
		margin: 0 auto 12px;
		max-width: 50%;
	}

	div.review-card.tripadvisor .rating {
		margin: auto;
	}

	div.review-card .footer .footer-details {
		width: 100%;
		text-align: center;
	}

	div.review-card.facebook .footer .footer-details,
	div.review-card.google .footer .footer-details {
		flex-wrap: wrap;
		justify-content: space-between;
	}

	div.rating {
		margin-left: 0;
	}

	div.review-card.google .footer .footer-icon,
	div.review-card.google .footer .footer-details {
		width: 100%;
	}

	div.review-card.google .footer .footer-icon img {
		width: 80px;
	}

	div.review-card.facebook .footer .footer-details .footer-text-details,
	div.review-card.google .footer .footer-details .footer-text-details {
		padding-left: 4px;
	}

	div.review-card.facebook .footer .footer-details img.fb-profile-img,
	div.review-card.google .footer .footer-details img.fb-profile-img {
		width: 40px;
		height: 40px;
	}

	div.rating > img {
		width: 100px;
	}
}

div.review-holder {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: 1fr;
	grid-column-gap: 24px;
	grid-row-gap: 24px;
}

@media screen and (max-width: 768px) {
	div.review-holder {
		grid-template-columns: repeat(1, 1fr);
	}

	div.review-holder > div.review-card {
		margin-bottom: 0;
	}
}
