@charset "utf-8";

/***************************************************************/
/* REVIEW SLIDER */
/***************************************************************/

.review-slider {
	width:100%;
	display:flex;
	align-items:center;
	gap:16px;
	position:relative;
	box-sizing:border-box;
}

.review-slider .review-viewport {
	width:100%;
	min-width:0;
	flex:1 1 auto;
	overflow:hidden;
	padding:18px 4px 28px;
}

.review-slider .review-track {
	display:flex;
	gap:18px;
	transition:transform .45s ease;
	will-change:transform;
}

.review-slider .review-slide {
	flex:0 0 calc((100% - 38px) / 3);
	max-width:calc((100% - 38px) / 3);
	box-sizing:border-box;
	opacity:1;
	transform:none;
	transition:opacity .35s ease;
}


/***************************************************************/
/* REVIEW CARD */
/***************************************************************/

.review-card {
	height:100%;
	min-height:320px;
	display:flex;
	flex-direction:column;
	margin:0;
	padding:24px 24px 20px;
	position:relative;
	box-sizing:border-box;
	overflow:hidden;
	background:#fff;
	border:1px solid rgba(0,0,0,.06);
	border-radius:5px;
	box-shadow:0 6px 9px rgba(0,0,0,.10);
    border-radius:50px;
}


/***************************************************************/
/* STARS */
/***************************************************************/

.review-stars {
	display:block;
	margin:0 0 14px;
	color:#ffff00;
	font-size:clamp(1.3em, 2vw, 1.6em);
	letter-spacing:2px;
	line-height:1;
}


/***************************************************************/
/* REVIEW TEXT */
/***************************************************************/

.review-text {
    max-height: 200px;
    overflow: scroll;
	flex:1 1 auto;
	margin: 0 0 16px 0;
	color:#444;
	font-family:"Raleway",sans-serif;
	font-size:.95em;
	font-style:italic;
	line-height:1.6;
}


/***************************************************************/
/* REVIEW META */
/***************************************************************/

.review-meta {
	margin-top:auto;
	padding-top:14px;
	position:relative;
}

.review-meta::before {
    width:30%;
    height:3px;
    background-color:#6699ff;
    content:"";
    position:absolute;
    top:0;
    left:0;
}

.review-name {
	display:block;
	margin:0 0 3px;
	color:#1d2a4f;
	font-size:.9em;
	font-style:normal;
	font-weight:700;
}

.review-subtitle {
	display:block;
	margin:0 0 5px;
	color:#777;
	font-size:.72em;
	font-weight:600;
	line-height:1.3;
	text-transform:uppercase;
	letter-spacing:.03em;
}

.review-date,
.review-source,
.review-source-link {
	display:inline;
	color:#888;
	font-size:.72em;
	font-style:normal;
	line-height:1.4;
}

.review-source-link {
	color:#b48b50;
	text-decoration:none;
}

.review-source-link:hover {
	text-decoration:underline;
}


/***************************************************************/
/* DECORATIVE QUOTE */
/***************************************************************/

.review-card::after {
	content:"”";
	position:absolute;
	right:18px;
	bottom:-10px;
	color:#e5e5e5;
	font-family:"PT Serif",serif;
	font-size:4.5em;
	font-weight:700;
	line-height:1;
	pointer-events:none;
}


/***************************************************************/
/* ARROWS */
/***************************************************************/

.review-arrow {
	width:38px;
	height:38px;
	flex:0 0 38px;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:0;
	cursor:pointer;
	background:#fff;
	border:1px solid #d7d7d7;
	border-radius:50%;
	color:#1d2a4f;
	font-family:Arial,sans-serif;
	font-size:1.45em;
	font-weight:300;
	line-height:1;
	box-shadow:0 2px 8px rgba(0,0,0,.08);
	transition:
		background .2s ease,
		color .2s ease,
		border-color .2s ease,
		transform .2s ease;
}

.review-arrow:hover {
	background:#1d2a4f;
	border-color:#1d2a4f;
	color:#fff;
	transform:scale(1.05);
}

.review-arrow.is-disabled {
	opacity:.25;
	pointer-events:none;
}

.review-arrow.is-hidden {
	display:none;
}


/***************************************************************/
/* RESPONSIVE */
/***************************************************************/

@media screen and (max-width:1000px) {

	.review-slider .review-slide {
		flex:0 0 calc((100% - 18px) / 2);
		max-width:calc((100% - 18px) / 2);
	}

}

@media screen and (max-width:700px) {

	.review-slider {
		gap:8px;
	}

	.review-slider .review-track {
		gap:0;
	}

	.review-slider .review-slide {
		flex:0 0 100%;
		max-width:100%;
	}

	.review-card {
		min-height:0;
		padding:22px 20px 18px;
	}

	.review-arrow {
		width:34px;
		height:34px;
		flex-basis:34px;
		font-size:1.3em;
	}

}