.ub_review_block {
	padding: 35px 40px;
	box-shadow: 0px 0px 4px 1px rgb(214, 214, 214);
	border-radius: 5px;
	margin: 30px auto;
	svg:not(:root) {
		margin: 0 1px;
		&:first-child {
			margin-left: 0;
		}
		&:last-child {
			margin-right: 0;
		}
	}
	.ub_review_image {
		margin-top: 10px;
		float: right;
		object-fit: contain; //needed for Safari
	}
}

.ub_review_overall_value {
	display: grid;
	grid-template-columns: 75% 25%;
}

.ub_review_entry,
.ub_review_percentage_entry {
	padding: 10px 0 10px 0;
	border-bottom: 1px solid #e9e9e9;
}

.ub_review_entry {
	display: flex;
	align-items: center;
}

.ub_review_percentage_entry {
	display: grid;
	grid-template-columns: 25% 75%;
}

.ub_review_rating {
	text-align: right;
	font-size: 40px;
}

.ub_review_average {
	display: flex;
	flex-direction: column;
}

.ub_review_average_stars {
	display: flex;
	grid-area: auto;
	justify-self: self-end;
	height: 50px;
	line-height: 60px;
	margin-left: auto;
	align-items: center;
}

.ub_review_cta_panel {
	display: grid;
	grid-template-columns: 2fr auto;
	grid-template-areas: "cta . stars";
}

.ub_review_add_entry {
	left: 50%;
	width: 100%;
}

.ub_review_link_input {
	display: flex;
	flex-direction: row;
}

.ub_review_cta_btn {
	min-width: 100px;
	padding: 15px 10px;
	border-radius: 6px;
	display: inline-block;
	border-width: 1px;
	border-style: solid;
	text-align: center;
	text-transform: none;
	cursor: pointer;
	font-weight: normal;
	background-image: none;
	&:hover,
	&:active {
		background-image: none;
	}
}

.ub_review_item_name {
	font-size: var(--ub-review-title-font-size, 28px);
	margin: 0 !important;
	font-weight: 600 !important;
}

.ub_review_summary_title {
	margin: 23px 0 13px 0 !important;
	font-size: var(--ub-review-summary-title-font-size, 24px);
	font-weight: 600 !important;
}

.ub_review_stars {
	display: flex;
	margin-left: auto;
	padding-top: 3px;
}

.ub_review_description {
	padding: 0;
	&_container {
		display: flex;
		justify-content: space-between;
		margin-bottom: 10px;
		overflow: auto;
	}
}

.ub_review {
	&_left_image {
		flex-direction: row;
	}
	&_right_image {
		flex-direction: row-reverse;
	}
	&_top_image {
		flex-direction: column;
	}
	&_bottom_image {
		flex-direction: column-reverse;
	}
}

.ub_review_percentage {
	display: grid;
	grid-template-columns: 4fr 1fr;
	overflow: auto;
	margin-left: auto;
	> svg {
		height: 10px;
	}
	> div {
		text-align: end;
	}
	&_bar {
		width: 100%;
		align-self: center;
		&_trail {
			fill-opacity: 0;
			stroke-linecap: round;
		}
		&_path {
			stroke-dasharray: 100px, 100px;
			transition:
				stroke-dashoffset 0.3s ease 0s,
				stroke 0.3s linear 0s;
			fill-opacity: 0;
			stroke-linecap: round;
		}
	}
}

.ub_review_cta_main {
	display: flex;
}

@import "responsive";
