.clearfix:after, .clearfix:before {
    display: table;
    content: " ";
}
.clearfix:after { clear: both }

.hidden-item {
	display: none!important;
}

.review-box-wrapper {
	width: 100%;
	max-width: 100%!important;
	min-width: 50%!important;
	margin: 20px 0;
}
#smart-review-box *, #smart-review-box *:before, #smart-review-box *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
@media (max-width: 768px) {
	.review-box-wrapper {
		width: 100%!important;
	}
}
/*star rating core*/
.smart_rev_star_rating {
	display: inline-block;
	position: relative;
    z-index: 1;
    height: auto;
}
.smart_rev_star_rating[data-done="false"] {
    cursor: pointer;
}
.smart_rev_star_rating .empty,
.smart_rev_star_rating .filled {
	display: block;
	overflow: hidden;
}
.smart_rev_star_rating .empty:before,
.smart_rev_star_rating .filled:before {
	content: '\f005\00a0\f005\00a0\f005\00a0\f005\00a0\f005';
	font-family: fontawesome;
	font-size: 17px;
	font-weight: lighter;
	display: inline-block;
}
.smart_rev_star_rating .empty {
	color: #eee;
}
.smart_rev_star_rating .filled {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
}
.smart_rev_star_rating .empty:before { z-index: -2 }
.smart_rev_star_rating .filled:before { z-index: -1 }

/* Small Style */
.smart_rev_star_rating.small .empty:before,
.smart_rev_star_rating.small .filled:before {
	font-size: 14px;
}

/* Large Style */
.smart_rev_star_rating.large {
	line-height: 1;
}
.smart_rev_star_rating.large .empty,
.smart_rev_star_rating.large .filled {
    height: 25px;
    padding-top: 3px;
}
.smart_rev_star_rating.large .empty:before,
.smart_rev_star_rating.large .filled:before {
	font-size: 22px;
}

/*point rating core*/
.rate_style_bar {
	display: inline-block;
	width: 100%;
	height: 12px;
	max-width: 100%;
	background-color: #eee;
	border-radius: 2px;
	vertical-align: middle;
	position: relative;
	overflow: hidden;
}
.smart_review_widget .rate_style_bar {
	height: 8px;
}
.rate_style_bar[data-done="false"] {
    cursor: pointer;
}
.rate_style_bar .filled {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
}

/**********************************************/
#smart-review-box {
	background-color: #fcfcfc;
	border: 1px solid #f3f3f3;
    color: inherit;
}
#smart-review-box .smart-review-title {
    background-color: #f3f3f3;
    padding: 15px 20px;
    font-size: 22px;
    font-weight: 500;
    margin: 0;
    color: inherit;
}
#smart-review-box .smart-review-list {
	margin: 0;
	padding: 10px;
	list-style: none;
	overflow: hidden;
}
#smart-review-box .smart-review-item {
    background-color: #f7f7f7;
    border: 1px solid #f2f2f2;
    margin-bottom: 6px;
    padding: 10px 20px;
    overflow: hidden;
}
.smart_review_widget #smart-review-box .smart-review-item {
	padding: 10px;
}
#smart-review-box .smart-review-item:last-of-type {
	margin-bottom: 0
}
#smart-review-box .smart-review-item > h5 {
    float: left;
    margin: 0;
    padding: 0;
    font-size: 14px;
    font-weight: 500;
    color: inherit;
	text-transform: capitalize;
    letter-spacing: 0;
}
#smart-review-box .smart_rev_star_rating {
	float: right;
}
#smart-review-box .score-val {
    float: right;
    margin-top: 5px;
    margin-right: 2px;
    font-size: 13px;
    font-weight: 500;
}
#smart-review-box .score-val span {
	margin-left: 3px;
}
#smart-review-box .smart-review-footer {
    background-color: #f1f1f1;
    width: calc(100% - 20px);
    margin: 0 10px;
    padding: 20px;
    margin-bottom: 10px;
    position: relative;
    overflow: hidden;
}
#smart-review-box.in_widget .smart-review-footer {
	text-align: center!important;
}
#smart-review-box.in_widget .smart-review-footer .smart_rev_star_rating {
	float: none;
}
#smart-review-box .smart-review-footer:after {
	content: '';
	position: absolute;
	top: 8px;
	left: 8px;
	width: calc(100% - 16px);
	height: calc(100% - 16px);
	border: 1px solid #fafafa;
}
#smart-review-box h4 {
    font-size: 22px;
    margin-top: 5px;
    color: inherit;
    padding: 0;
    display: inline;
}
#smart-review-box.in_widget .smart-review-footer h4 {
    display: block;
}
#smart-review-box .smart-review-summary {
	font-size: 15px;
    line-height: 26px;
}
#smart-review-box.percentage .smart-review-footer,
#smart-review-box.points .smart-review-footer {
	min-height: 140px;
}
#smart-review-box.percentage .smart-review-final-score,
#smart-review-box.points .smart-review-final-score {
    width: 100%;
    padding-bottom: 10px;
    border: 1px solid #fff;
    text-align: center;
    overflow: hidden;
}
#smart-review-box.in_widget.percentage .smart-review-final-score,
#smart-review-box.in_widget.points .smart-review-final-score {
	margin-bottom: 10px;
}
#smart-review-box.percentage .smart-review-final-score h3,
#smart-review-box.points .smart-review-final-score h3 {
    font-size: 35px;
    font-weight: 900;
    line-height: 1;
    margin: 10px 0;
    padding-top: 12px;
    color: inherit;
}
#smart-review-box.percentage .smart-review-final-score h3 span,
#smart-review-box.points .smart-review-final-score h3 span {
    font-size: 28px;
    margin-left: 3px;
}
#smart-review-box.percentage .smart-review-final-score h4,
#smart-review-box.points .smart-review-final-score h4 {
    font-size: 17px;
    font-weight: 500;
    padding: 0 5px;
}

#smart-review-box p, #smart-review-box h2, #smart-review-box h3, #smart-review-box h4 {
	margin-bottom: 8px;
}

/* circles rating */

#smart-review-box.circles .smart-review-item {
	padding: 10px 5px 5px 5px;
}
#smart-review-box.circles .smart_review_circle_rating {
    width: 100px;
    height: 100px;
    max-width: 90%;
    display: block;
    margin: auto;
    text-align: center;
    position: relative;
}
#smart-review-box.circles canvas {
	max-width: 100%!important;
	max-height: 100%!important;
}
#smart-review-box.circles .smart-review-item > h5 {
	text-align: center;
	width: 100%;
	margin: 10px 0;
	font-weight: 500;
	color: inherit;
	letter-spacing: 0.5px;
}
#smart-review-box.circles .score-val {
	position: absolute;
	top: 0;
	left: 0;
    width: 100px;
    line-height: 100px;
    max-width: 100%;
    margin: 0;
    font-weight: 600;
    font-size: 15px;
}
#smart-review-box.circles .smart-review-footer .score-val {
    width: 120px;
    line-height: 120px;
    font-size: 16px;
    font-weight: 700;
}
#smart-review-box.stars p,
#smart-review-box.circles p {
	margin: 12px 0 0 0;
}

@media (min-width: 480px) {
	#smart-review-box.circles .smart-review-item {
		width: calc(50% - 3px);
		float: left;
		margin-bottom: 6px;
	}
	#smart-review-box.circles .smart-review-item:nth-of-type(odd) {
		margin-right: 6px;
	}
	#smart-review-box.circles .smart-review-footer {
		text-align: left;
	}
	#smart-review-box.circles:not(.in_widget) .smart-review-footer .smart_review_circle_rating {
	    float: right;
	    margin-left: 20px;
	}
	#smart-review-box.percentage:not(.in_widget) .smart-review-final-score,
	#smart-review-box.points:not(.in_widget) .smart-review-final-score {
	    width: 140px;
	    height: calc(100% - 16px);
	    position: absolute;
	    right: 8px;
	    top: 8px;
	}
	#smart-review-box.percentage:not(.in_widget) .smart-review-footer,
	#smart-review-box.points:not(.in_widget) .smart-review-footer {
		padding-right: 155px;
	}
}

@media (min-width: 700px) {
	#smart-review-box.circles:not(.in_widget) .smart-review-item {
		width: calc(33.33% - 4px);
	}
	#smart-review-box.circles:not(.in_widget) .smart-review-item:nth-of-type(3n-2) {
		margin-right: 6px;
	}
	#smart-review-box.circles:not(.in_widget) .smart-review-item:nth-of-type(3n-1) {
		margin-right: 6px;
	}
	#smart-review-box.circles:not(.in_widget) .smart-review-item:nth-of-type(3n) {
		margin-right: 0;
	}
}

/*user rating*/
#smart-review-box .smart-review-post-rating {
    width: calc(100% - 20px);
    margin: 10px;
    overflow: hidden;
    padding: 10px;
    background-color: #f7f7f7;
    border: 1px solid #f2f2f2;
    position: relative;
}
#smart-review-box .rate-text {
	font-size: 13px;
	font-weight: 700;
	line-height: 25px;
	float: left;
}
#smart-review-box .rate-total {
    font-size: 11.5px;
    margin: 0 5px;
    line-height: 25px;
    float: left;
}
#smart-review-box .rate-num {
    font-size: 10.5px;
    color: inherit;
    line-height: 25px;
    float: left;
}
#smart-review-box .rate-loader {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0.5);
	z-index: 1;
}
#smart-review-box .spinner,
#smart-review-box .spinner:before,
#smart-review-box .spinner:after {
	border-radius: 50%;
	width: 1.5em;
	height: 1.5em;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation: SmartRevLoader 1.3s infinite ease-in-out;
	animation: SmartRevLoader 1.3s infinite ease-in-out;
}
#smart-review-box .spinner {
	color: #eeee22;
	font-size: 10px;
	margin: -8px auto 0 auto;
	position: relative;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation-delay: -0.16s;
	animation-delay: -0.16s;
}
#smart-review-box .spinner:before,
#smart-review-box .spinner:after {
	content: '';
	position: absolute;
	top: 0;
}
#smart-review-box .spinner:before {
	left: -2.5em;
	-webkit-animation-delay: -0.32s;
	animation-delay: -0.32s;
}
#smart-review-box .spinner:after {
	left: 2.5em;
}

@-webkit-keyframes SmartRevLoader {
	0%,
	80%,
	100% {
		box-shadow: 0 2.5em 0 -1.3em;
	}
	40% {
		box-shadow: 0 2.5em 0 0;
	}
}
@keyframes SmartRevLoader {
	0%,
	80%,
	100% {
		box-shadow: 0 2.5em 0 -1.3em;
	}
	40% {
		box-shadow: 0 2.5em 0 0;
	}
}


/**** Review Posts ( Widgets & Shortcodes) ****/
.sr-content .smart_review_rating {
	position: absolute;
}
.sr-content .smart_rev_star_rating {
	top: 10px;
	right: 10px;
}
.sr-content .smart_rev_star_rating .empty {
	opacity: 0.7;
	text-shadow: 0 0 3px rgba(0,0,0,0.1);
}
.sr-content .rate_style_bar {
	bottom: -1px;
	left: 0;
	width: 100%;
	background-color: #333;
	opacity: 0.75;
	border-radius: 0;
	letter-spacing: 0.5px;
	color: #fff;
	text-align: right;
}
.sr-content .rate_style_bar.small {
	height: 12px;
	line-height: 10px;
	font-size: 10px;
	font-weight: 500;
}
.sr-content .rate_style_bar.medium {
    height: 16px;
    line-height: 15px;
    font-size: 12px;
    font-weight: 600;
}
.sr-content .rate_style_bar.large {
    height: 25px;
    line-height: 24px;
    font-size: 16px;
    font-weight: 600;
}
.sr-content .rate_style_bar .filled {
	padding: 0 5px;
}
.sr-content .smart_review_circle_rating {
	top: 10px;
	right: 10px;
}
.sr-content .smart_review_circle_rating .score-val {
	position: absolute;
	top: 0;
	left: 0;
    text-align: center;
    max-width: 100%;
    margin: 0;
    color: #fff;
    text-shadow: 0 0 5px rgba(0,0,0,0.7);
}
.sr-content .smart_review_circle_rating.small .score-val {
    width: 35px;
    line-height: 35px;
    font-weight: 500;
    font-size: 12px;
}
.sr-content .smart_review_circle_rating.medium .score-val {
    width: 50px;
    line-height: 50px;
    font-weight: 600;
    font-size: 15px;
}
.sr-content .smart_review_circle_rating.large .score-val {
    width: 80px;
    line-height: 80px;
    font-weight: 600;
    font-size: 17px;
}

/**** Reviews Posts Widget ****/
.smart_review_posts_widget > div {
	overflow: hidden;
	padding: 10px;
	border-bottom: 1px solid #eee;
}
.smart_review_posts_widget > div:last-child {
	border-bottom: none;
}
.smart_review_posts_widget .review-thumbnail {
	position: relative;
	font-size: 0;
	display: block;
	transition: opacity 200ms ease-in-out;
}
.smart_review_posts_widget .review-thumbnail:hover {
	opacity: 0.88;
}
.smart_review_posts_widget .review-thumbnail img {
	width: 100%;
}
.smart_review_posts_widget h3 {
	margin: 8px 2px 2px 2px;
    line-height: 1.4;
    padding: 0;
}
.smart_review_posts_widget h3 a {
    font-size: 14px;
    color: #555;
    transition: all 0.2s ease-in-out;
}
.smart_review_posts_widget .review-date,
.smart_review_posts_widget .review-author {
	margin-left: 2px;
    font-size: 10px;
    font-weight: 500;
    color: #a0a0a0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: inline-block;
}
.smart_review_posts_widget .review-date i,
.smart_review_posts_widget .review-author i {
	margin-right: 2px;
}
.smart_review_posts_widget.grid1-style > div > span:nth-of-type(2) {
	margin-left: 10px;
}

/* Grid Two Columns */
.smart_review_posts_widget.grid2-style {
	padding: 8px;
	overflow: hidden;
}
.smart_review_posts_widget.grid2-style > div {
	width: 50%;
	float: left;
	padding: 5px;
	margin-bottom: 5px;
	border-bottom: none;
	font-size: 0;
}
.smart_review_posts_widget.grid2-style > .clearfix:nth-of-type(odd) {
    display: none;
}
.smart_review_posts_widget.grid2-style h3 a {
	font-size: 13px;
}

/* List Style */
.smart_review_posts_widget.list-style .review-thumbnail {
    width: 110px;
    float: left;
    margin-right: 9px;
}
.smart_review_posts_widget.list-style h3 {
	margin: 3px 2px 2px 0px;
}
.smart_review_posts_widget.list-style h3 a {
	font-weight: 500;
}
.smart_review_posts_widget.list-style .smart_rev_star_rating {
	position: relative!important;
	top: auto!important;
	right: auto!important;
	display: inline-block;
	vertical-align: middle;
}
.smart_review_posts_widget.list-style .smart_rev_star_rating.small .empty {
	color: #c1c1c1;
}
.smart_review_posts_widget.list-style .smart_rev_star_rating.small .empty:before,
.smart_review_posts_widget.list-style .smart_rev_star_rating.small .filled:before {
	font-size: 12px!important;
}

/* review box widget */
.smart_review_widget .smart-review-item .smart_rev_star_rating .empty:before,
.smart_review_widget .smart-review-item .smart_rev_star_rating .filled:before {
	font-size: 14px;
}

/* review posts grid */
.sr-grid .sr-post {
	margin-bottom: 20px;
	border: 1px solid #ddd;
	border-radius: 3px;
	overflow: hidden;
}
.sr-grid .sr-post-img {
	display: block;
	overflow: hidden;
	position: relative;
	font-size: 0;
	transition: all 0.2s ease-in-out;
}
.sr-grid .sr-post-img img {
	width: 100%;
}
.sr-grid .sr-post-img:hover {
	opacity: 0.85;
}
.sr-grid .sr-post-cat {
    position: absolute;
    top: 15px;
    left: 15px;
    border-radius: 3px;
    color: #fff;
    padding: 8px 12px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    opacity: 0.8;
}
.sr-grid .sr-post h3 {
	margin: 0;
	padding: 0;
}
.sr-grid .sr-post a {
	text-decoration: none;
	box-shadow: none;
}
.sr-grid .sr-post h3 a {
    padding: 10px 14px;
    color: #444;
    font-size: 22px;
    font-weight: 700;
    display: block;
    transition: all 0.2s ease-in-out;
}
.sr-grid .sr-post h3 a:hover {
	text-decoration: none;
}
.sr-grid .sr-post-meta {
	padding: 0 14px;
}
.sr-grid .sr-post-meta > div {
	display: inline-block;
	color: #bdbdbd;
	margin-right: 8px;
	font-size: 13px;
	font-weight: 500;
	text-transform: capitalize;
	letter-spacing: 0.2px
}
.sr-grid .sr-post-meta span {
	margin-right: 4px;
	font-weight: lighter;
}
.sr-post-excerpt {
	padding: 5px 14px;
    margin-bottom: 10px;
    font-size: 13px;
    color: #777;
    line-height: 21px;
}
.sr-more-link {
	font-weight: 600;
	text-decoration: none;
	display: inline-block;
}
.sr-more-link:after {
	content: '>>';
	display: inline-block;
	font-size: 12px;
	margin-left: 3px;
	vertical-align: middle;
}
.sr-more-link:hover {
	text-decoration: none!important;
}
.sr-post .smart_rev_star_rating .empty {
	color: #cecccc;
	text-shadow: none;
}