PluginProbe ʕ •ᴥ•ʔ
Reviews Feed – Add Testimonials and Customer Reviews From Google Reviews, Yelp, TripAdvisor, and More / 2.10.0
Reviews Feed – Add Testimonials and Customer Reviews From Google Reviews, Yelp, TripAdvisor, and More v2.10.0
2.11.0 2.10.0 2.9.0 2.8.0 2.7.0 2.6.7 2.6.8 2.6.5 2.6.4 2.6.3 2.6.2 2.6.0 2.5.5 2.5.4 2.5.3 2.5.2 trunk 1.0 1.0.1 1.0.2 1.0.3 1.1 1.1.1 1.1.2 1.2.0 2.0 2.1.0 2.1.1 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.5.0 2.5.1
reviews-feed / assets / css / sbr-styles.css
reviews-feed / assets / css Last commit date
admin-notifications.css 3 weeks ago review-alert-themes.css 3 weeks ago sbr-review-alert-themes.css 3 weeks ago sbr-review-alerts-frontend.css 3 weeks ago sbr-styles.css 3 weeks ago sbr-styles.min.css 3 weeks ago
sbr-styles.css
1894 lines
1
2 [id^=sb-reviews-container-] .sb-feed-container svg{
3 height: unset;
4 max-width: unset;
5 }
6 [id^=sb-reviews-container-] .sb-fs {
7 width: 100%;
8 position: relative;
9 float: left;
10 box-sizing: border-box;
11 }
12 .sbr-screenreader{
13 /* a11y (SMASH-1383 G7): standard visually-hidden clip pattern. The old
14 zero-size + text-indent technique is fragile — VoiceOver/Chromium prune
15 zero-size nodes from the a11y tree (the .sbr-feed-status override below
16 already worked around it for the live region; this makes ALL SR-only
17 text robust). */
18 position: absolute !important;
19 width: 1px !important;
20 height: 1px !important;
21 padding: 0 !important;
22 margin: -1px !important;
23 overflow: hidden !important;
24 clip: rect(0 0 0 0) !important;
25 clip-path: inset(50%) !important;
26 white-space: nowrap !important;
27 border: 0 !important;
28 }
29 /* Live regions must STAY in the accessibility tree: zero-size elements (the
30 .sbr-screenreader technique above) are pruned by VoiceOver and Chromium, so
31 the Load More status updates were never announced. Use the visually-hidden
32 clip pattern for the status region instead. */
33 .sbr-feed-status.sbr-screenreader{
34 text-indent: 0 !important;
35 position: absolute !important;
36 width: 1px !important;
37 height: 1px !important;
38 line-height: normal !important;
39 margin: -1px !important;
40 padding: 0 !important;
41 overflow: hidden !important;
42 clip: rect(0 0 0 0) !important;
43 clip-path: inset(50%) !important;
44 white-space: nowrap !important;
45 border: 0 !important;
46 }
47 [id^=sb-reviews-container-] .sb-post-item::after,
48 [id^=sb-reviews-container-] .sb-feed-header::after{
49 display: table;
50 content: "";
51 clear: both;
52 }
53 /*
54 Customizer Container Styles
55 Header - Sidebar - Footer
56 */
57 /*App Header*/
58 [id^=sb-reviews-container-] .sb-header{
59 height: 64px;
60 position: fixed;
61 display: flex;
62 flex-direction: row;
63 justify-content: space-between;
64 align-items: center;
65 background: #fff;
66 z-index: 99;
67 padding: 0 20px;
68 }
69 [id^=sb-reviews-container-] .sb-header-content{
70 width: calc(100% - 160px);
71 display: flex;
72 flex-direction: row;
73 justify-content: space-between;
74 align-items: center;
75 height: 52px;
76 }
77 [id^=sb-reviews-container-] .sb-customizer-header{
78 position: fixed !important;
79 padding: 0 20px;
80 }
81
82 /*--------------------------------------------------------------
83 Feed Preview
84 --------------------------------------------------------------*/
85 [id^=sb-reviews-container-] .sb-fs{
86 position: relative;
87 float: left;
88 box-sizing: border-box;
89 }
90
91 [id^=sb-reviews-container-] .sb-feed-header-btn svg{
92 width: 17px;
93 }
94 [id^=sb-reviews-container-] .sb-feed-header-bottom > div{
95 display: inline-block;
96 }
97 [id^=sb-reviews-container-] .sb-feed-header[data-align="left"] .sb-feed-header-average,
98 [id^=sb-reviews-container-] .sb-feed-header[data-align="right"] .sb-feed-header-btn-ctn{
99 float: left;
100 }
101 [id^=sb-reviews-container-] .sb-feed-header[data-align="right"] .sb-feed-header-average,
102 [id^=sb-reviews-container-] .sb-feed-header[data-align="left"] .sb-feed-header-btn-ctn{
103 float: right;
104 }
105 [id^=sb-reviews-container-] .sb-feed-header[data-align="center"] .sb-feed-header-bottom > div{
106 display: flex;
107 justify-content: center;
108 }
109 [id^=sb-reviews-container-] .sb-feed-header-average{
110 display: inline-flex!important;
111 align-items: center;
112 }
113 [id^=sb-reviews-container-] .sb-feed-header-rating-icons{
114 margin: 0 5px;
115 display: inline-flex;
116 justify-content: center;
117 }
118 /* Frontend-only line-height pin on the stars wrap. The wrap holds only
119 SVG stars (no text), so it has no business inheriting the host theme's
120 body line-height (Kadence 1.6 inflates the wrap to ~29px against 18px
121 stars, pushing the stars 5px above the subtext baseline). Scoped to
122 body:not(.wp-admin) so the customizer admin preview keeps its own
123 rendering (the React build's sb-common.css governs that surface, and
124 the wp-admin body's 1.4 line-height already collapses the wrap there). */
125 body:not(.wp-admin) [id^=sb-reviews-container-] .sb-feed-header-rating-icons{
126 line-height: 1;
127 }
128 /* No float on the star svg. The legacy float:left collapsed the icon wrappers
129 against host themes (e.g. Twenty Twenty-Four), so the header stars lost
130 vertical alignment and the half/last star broke. The inline-flex row doesn't
131 need it. The frontend loads only this stylesheet (sb-common.css is admin-only),
132 so dropping it here fixes the frontend; the customizer admin preview keeps its
133 own float via sb-common.css and renders unchanged. SMASH-1544. */
134 [id^=sb-reviews-container-] .sb-feed-header-rating-icons svg{
135 margin: 0 7px;
136 display: inline-flex;
137 justify-content: center;
138 width: 18px;
139 fill: currentColor;
140 margin: 0 2px;
141 }
142 /* Booking-only header: the hotel's real general-rating word (e.g. "Exceptional")
143 sits beside the 0-10 score in place of star icons. The score itself is badged
144 to match the per-card score badge (.sb-item-rating-score-badge), sized up a
145 touch for header prominence. SMASH-782. */
146 /* 10px gap keeps the badge, the word and the "Over N Reviews" subtext evenly
147 spaced. The stars header gets its spacing from the icon-wrap margin; the
148 badge has none, so without this the subtext sits flush against it. */
149 [id^=sb-reviews-container-] .sb-feed-header-average-booking{
150 gap: 10px;
151 }
152 [id^=sb-reviews-container-] .sb-feed-header-average-booking .sb-feed-header-rating{
153 background: #003580;
154 /* !important: the feed's header text-color rule otherwise wins and paints
155 the number dark-on-dark-blue (unreadable). The badge is always white. */
156 color: #fff !important;
157 font-weight: 700 !important;
158 /* !important so 16px/16px win over the feed's generated header-rating font
159 rule (#id .sb-feed-header-rating), which has higher (ID) specificity. */
160 font-size: 16px !important;
161 padding: 8px 6px;
162 border-radius: 6px 6px 6px 0;
163 min-width: auto;
164 text-align: center;
165 line-height: 16px !important;
166 }
167 /* Booking header word ("Exceptional"). Pinned, because with no font-size of its own it
168 inherited the theme's — measured 21.76px on a stock theme against the 16px score badge
169 sitting right next to it, while the admin preview showed 13px because it inherits
170 wp-admin's base instead. Same values as the preview computes (13px / 18.2px = 1.4), so
171 the frontend and the customizer now agree. SMASH-782. */
172 [id^=sb-reviews-container-] .sb-feed-header-average-booking .sb-feed-header-rating-label{
173 font-weight: 600;
174 font-size: 13px;
175 line-height: 1.4;
176 }
177
178 /*Posts Loop*/
179 [data-layout="list"] .sb-post-item-wrap,
180 [data-layout="masonry"] .sb-post-item-wrap,
181 [data-layout="grid"] .sb-post-item-wrap,
182 [data-layout="carousel"] .sb-post-item-wrap {
183 width: 100%;
184 position: relative;
185 float: left;
186 box-sizing: border-box;
187 }
188 [id^=sb-reviews-container-] .sb-post-item {
189 position: relative;
190 }
191 [data-layout="carousel"] .sb-feed-posts .Carousel__RailWrapper-sc-hyhecw-1{
192 width: 100%;
193 }
194 [data-post-style="regular"][data-layout="list"] .sb-post-item-wrap:last-of-type{
195 border-bottom: 0px!important;
196 }
197
198 [id^=sb-reviews-container-] .sb-grid-wrapper .sb-feed-posts{
199 display: grid;
200 column-gap: var(--column-gutter)
201 }
202 [id^=sb-reviews-container-] .sb-grid-wrapper[data-grid-columns="1"] .sb-feed-posts{
203 grid-template-columns: 1fr;
204 }
205 [id^=sb-reviews-container-] .sb-grid-wrapper[data-grid-columns="2"] .sb-feed-posts{
206 grid-template-columns: 1fr 1fr;
207 }
208 [id^=sb-reviews-container-] .sb-grid-wrapper[data-grid-columns="3"] .sb-feed-posts{
209 grid-template-columns: 1fr 1fr 1fr;
210 }
211 [id^=sb-reviews-container-] .sb-grid-wrapper[data-grid-columns="4"] .sb-feed-posts{
212 grid-template-columns: 1fr 1fr 1fr 1fr;
213 }
214 [id^=sb-reviews-container-] .sb-grid-wrapper[data-grid-columns="5"] .sb-feed-posts{
215 grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
216 }
217 [id^=sb-reviews-container-] .sb-grid-wrapper[data-grid-columns="6"] .sb-feed-posts{
218 grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
219 }
220 [id^=sb-reviews-container-] a.sb-feed-header-btn {
221 text-decoration: none;
222 }
223
224 [id^=sb-reviews-container-] .sb-item-provider-icon{
225 position: absolute;
226 width: 24px;
227 height: 24px;
228 right: 10px;
229 top: 10px;
230 }
231 [id^=sb-reviews-container-] .sb-item-provider-icon svg{
232 width: 24px;
233 height: 24px;
234 float: left;
235 }
236 [id^=sb-reviews-container-] .sb-item-provider-icon img{
237 width: 100%;
238 }
239 [id^=sb-reviews-container-] .sb-item-author-ctn{
240 display: flex;
241 align-items: flex-start;
242 float: left;
243 }
244 [id^=sb-reviews-container-] .sb-item-author-img img{
245 float: left;
246 }
247 [id^=sb-reviews-container-] .sb-item-name-date span{
248 display: block;
249 width: 100%;
250 }
251
252 /* Star Rating - Container-scoped styles */
253 [id^=sb-reviews-container-] .sb-item-rating-ctn {
254 display: inline-flex;
255 }
256 [id^=sb-reviews-container-] .sb-item-rating{
257 display: flex;
258 align-items: center;
259 }
260 [id^=sb-reviews-container-] .sb-item-rating-icon svg{
261 fill: currentColor;
262 margin: 0 2px;
263 float: left;
264 width: 20px;
265 height: 20px;
266 }
267 [id^=sb-reviews-container-] .sb-item-rating-icon-dimmed svg{
268 filter: grayscale(1);
269 }
270 [id^=sb-reviews-container-] .sb-feed-item-icon-half {
271 display: inline-block;
272 position: relative;
273 }
274
275 [id^=sb-reviews-container-] .sb-item-rating-icon-halfdimmed {
276 position: absolute;
277 width: 50%;
278 overflow: hidden;
279 left: 0px;
280 top: 0px;
281 }
282 [data-icon-size="small"] .sb-item-rating-icon svg{
283 width: 16px;
284 height: 16px;
285 }
286
287 [data-icon-size="medium"] .sb-item-author-img,
288 [data-icon-size="medium"] .sb-item-author-img img {
289 width: 56px;
290 min-width: 56px;
291 height: 56px;
292 }
293 [id^=sb-reviews-container-] .sb-load-button{
294 height: auto;
295 }
296
297 [id^=sb-reviews-container-] .sb-item-author-date-ctn,
298 [id^=sb-reviews-container-] .sb-item-author-ctn,
299 [id^=sb-reviews-container-] .sb-item-text,
300 [id^=sb-reviews-container-] .sb-item-rating,
301 [id^=sb-reviews-container-] .sb-item-author-img,
302 [id^=sb-reviews-container-] .sb-item-name-date > span{
303 z-index: 1
304 }
305 [id^=sb-reviews-container-] .sb-item-author-date-ctn {
306 padding-right: 34px;
307 }
308 [id^=sb-reviews-container-] .sbr-narrow .sb-item-author-date-ctn{
309 padding-right: 21px;
310 }
311 [id^=sb-reviews-container-] .sbr-narrow .sb-item-author-img,
312 [id^=sb-reviews-container-] .sbr-narrow .sb-item-author-img img{
313 width: 44px;
314 min-width: 44px;
315 height: 44px;
316 }
317 [id^=sb-reviews-container-] .sbr-narrow .sb-item-provider-icon{
318 width: 20px;
319 height: 20px;
320 right: 1px;
321 top: 1px;
322 }
323
324 /*
325 Owl Carousel Styling
326 */
327 [data-layout="carousel"] .owl-nav button{
328 position: absolute;
329 width: 30px;
330 height: 30px;
331 top: calc(50% - 15px);
332 left: 0;
333 display: inline-flex;
334 opacity: .7;
335 border-radius: 50%;
336 background: #fff!important;
337 color: #000!important;
338 box-shadow: 0 0 5px 0 rgb(0 0 0 / 20%);
339 overflow: hidden;
340 line-height: 99999;
341 -webkit-transition: .2s;
342 transition: .2s;
343 }
344 [data-layout="carousel"] .owl-nav button:before {
345 content: '';
346 position: absolute;
347 width: 8px;
348 height: 8px;
349 top: 10px;
350 left: 11px;
351 border-left: 2px solid currentColor;
352 border-bottom: 2px solid currentColor;
353 -webkit-transform: rotate(45deg);
354 transform: rotate(45deg);
355 }
356 [data-layout="carousel"] .owl-nav .owl-next{
357 left: unset;
358 right: 0;
359 }
360 [data-layout="carousel"] .owl-nav .owl-next:before {
361 left: 7px;
362 -webkit-transform: rotate(-135deg);
363 transform: rotate(-135deg);
364 }
365
366 [data-layout="carousel"] .owl-nav button:hover {
367 opacity: 1;
368 }
369 [data-layout="carousel"] .owl-dots{
370 position: relative;
371 text-align: center;
372 padding-right: 4px;
373 }
374 [data-layout="carousel"] .owl-dot {
375 width: 10px;
376 height: 10px;
377 background: #E6E6EB!important;
378 border-radius: 50px;
379 margin: 0 4px;
380 display: inline-block;
381 }
382 [data-layout="carousel"] .owl-dot.active {
383 background: #d0d0d8!important;
384 }
385 /* SMASH-1785: the 2023 rule that squared Google reviewer avatars
386 (`.sbr-provider-google .sb-item-author-img, .sbr-provider-google img`) is
387 removed — avatars are round for every provider, which is what the admin
388 customizer preview has always shown and what the per-feed
389 authorImageBorderRadius setting emits. The old rule used !important, so it
390 beat both, leaving the front end disagreeing with the preview.
391 It also matched *any* img inside a Google item, so once the avatar became an
392 <img> it squared that too. The provider icon is unaffected: nothing rounds
393 it, verified in-browser before and after. */
394
395 [id^=sb-reviews-container-] .sb-item-author-img,
396 [id^=sb-reviews-container-] .sb-item-author-img img {
397 width: 56px;
398 min-width: 56px;
399 height: 56px;
400 border-radius: 50px;
401 }
402 [id^=sb-reviews-container-] .sb-item-author-img{
403 background-size: cover;
404 background-position: center center;
405 }
406 /* SMASH-1785: the avatar renders as an <img>; match the cropping the
407 background-size:cover above gave it so non-square avatars are not stretched. */
408 [id^=sb-reviews-container-] .sb-item-author-img img{
409 object-fit: cover;
410 object-position: center center;
411 }
412
413
414 /** Frontend Only **/
415 [id^=sb-reviews-container-] .sb-feed-posts::after {
416 display: table;
417 content: " ";
418 clear: both;
419 }
420 [id^=sb-reviews-container-] .sbr-hidden {
421 visibility: hidden;
422 }
423 .sbr-feed-error {
424 border: 1px solid #ddd;
425 background: #eee;
426 color: #333;
427 margin: 0 auto 10px;
428 padding: 10px 15px;
429 font-size: 13px;
430 text-align: center;
431 clear: both;
432 -moz-border-radius: 4px;
433 -webkit-border-radius: 4px;
434 border-radius: 4px
435 }
436
437 .sbr-feed-error p {
438 padding: 5px 0!important;
439 margin: 0!important;
440 line-height: 1.3!important;
441 font-size: 13px
442 }
443
444 .sbr-feed-error p:first-child b {
445 font-size: 14px
446 }
447
448 .sbr-feed-error ol,.sbr-feed-error ul {
449 padding: 5px 0 5px 20px!important;
450 margin: 0!important
451 }
452
453 .sbr-feed-error li {
454 padding: 1px 0!important;
455 margin: 0!important
456 }
457
458 .sbr-feed-error span {
459 font-size: 12px;
460 font-style: italic
461 }
462 [id^=sb-reviews-container-] .sb-num-diff-hide {
463 display: none;
464 }
465 [id^=sb-reviews-container-] .sb-load-button-ctn {
466 position: relative;
467 }
468 [id^=sb-reviews-container-] .sb-expand {
469 display: inline-block;
470 }
471 /* a11y (A11Y-074): read-more toggle converted from <a href="#"> to <button> --
472 neutralise UA button chrome so it renders identically to the old inline anchor */
473 [id^=sb-reviews-container-] .sb-expand button {
474 -webkit-appearance: none;
475 appearance: none;
476 border: 0;
477 background: none;
478 padding: 0;
479 margin: 0;
480 font: inherit;
481 line-height: inherit;
482 color: inherit;
483 cursor: pointer;
484 vertical-align: baseline;
485 box-sizing: border-box;
486 }
487 [id^=sb-reviews-container-] .sb-more {
488 margin-left: 6px;
489 }
490 [id^=sb-reviews-container-] .sb-media-wrap {
491 width: 100%;
492 display: flex;
493 justify-content: flex-start;
494 flex-wrap: wrap;
495 margin-top: 15px;
496 gap: 8px;
497 }
498 [id^=sb-reviews-container-] .sb-media-placeholder {
499 clear: both;
500 }
501 [id^=sb-reviews-container-] .sb-single-image img,
502 [id^=sb-reviews-container-] .sb-single-image {
503 height: 64px;
504 width: 64px;
505 border-radius: 5px;
506 }
507 [id^=sb-reviews-container-] .sb-single-image {
508 background-position: center center;
509 background-size: cover;
510 }
511 [id^=sb-reviews-container-] .sb-single-image img{
512 opacity: 0;
513 visibility: hidden
514 }
515 [id^=sb-reviews-container-] .sb-btn {
516 align-items: center;
517 border: 0;
518 border-radius: 4px;
519 box-shadow: 0 2px 5px rgb(60 66 87 / 5%), 0 1px 1px rgb(0 0 0 / 5%), inset 0 -1px 1px rgb(0 0 0 / 12%);
520 cursor: pointer;
521 display: flex;
522 font-weight: 600;
523 justify-content: center;
524 outline: none;
525 padding: 0;
526 position: relative;
527 transition: all .15s ease-in-out;
528 color: #fff;
529 }
530 [id^=sb-reviews-container-] .sb-btn[data-icon-position=left]:not([data-onlyicon=false]) .sb-btn-icon {
531 margin-right: 7px
532 }
533 [id^=sb-reviews-container-] .sb-feed-header-btn {
534 padding: 8px 20px 8px 12px;
535 }
536 [id^=sb-reviews-container-] .sb-btn[data-icon-position=left]:not([data-onlyicon=false]) {
537 flex-direction: row
538 }
539 [id^=sb-reviews-container-] .sb-btn[data-boxshadow=false],.sb-btn[data-boxshadow=false]:active,.sb-btn[data-boxshadow=false]:focus {
540 box-shadow: none
541 }
542
543 [id^=sb-reviews-container-] .sb-btn:active {
544 -webkit-transform: scale(.98);
545 transform: scale(.98)
546 }
547
548 [id^=sb-reviews-container-] .sb-btn:focus {
549 box-shadow: 0 2px 5px rgba(60,66,87,.05),0 1px 1px rgba(0,0,0,.05),inset 0 -1px 1px rgba(0,0,0,.12)
550 }
551 [id^=sb-reviews-container-] .sb-feed-header-btn:focus-visible,
552 [id^=sb-reviews-container-] .sb-btn:focus-visible,
553 [id^=sb-reviews-container-] .sb-expand button:focus-visible,
554 [id^=sb-reviews-container-] a.sb-single-image:focus-visible {
555 outline: 2px solid #141B38;
556 outline-offset: 2px;
557 }
558
559 [id^=sb-reviews-container-] .sb-btn[data-full-width=true] {
560 width: 100%
561 }
562 [id^=sb-reviews-container-] .sb-load-button {
563 padding: 15px 0px 15px 0px;
564 color: #141B38;
565 }
566 [id^=sb-reviews-container-] .sb-feed-header-btn svg {
567 width: 17px;
568 }
569 [id^=sb-reviews-container-] .sb-btn svg, .sb-btn svg path {
570 fill: currentColor;
571 }
572 [id^=sb-reviews-container-] .sb-btn svg {
573 float: left;
574 height: auto;
575 }
576 /* Lightbox Hover */
577 [id^=sb-reviews-container-] .sb-single-image {
578 position:relative;
579 }
580 [id^=sb-reviews-container-] .sb-thumbnail-hover {
581 box-sizing: border-box;
582 opacity: 0;
583 display: block;
584 position: absolute;
585 top: 0;
586 right: 0;
587 bottom: 0;
588 left: 0;
589 z-index: 10;
590 color: #fff;
591 background: #333;
592 border-radius: 5px;
593 background: rgba(0,0,0,.6);
594 transition: opacity .6s ease-in-out;
595 -moz-transition: opacity .6s ease-in-out;
596 -webkit-transition: opacity .6s ease-in-out
597 }
598 [id^=sb-reviews-container-] .sb-thumbnail-hover:hover {
599 opacity: 1;
600 display: block;
601 transition: opacity .2s ease-in-out;
602 -moz-transition: opacity .2s ease-in-out;
603 -webkit-transition: opacity .2s ease-in-out;
604 }
605
606 /* Loader */
607 [id^=sb-reviews-container-] .sbr-loader{
608 width: 20px;
609 height: 20px;
610
611 position: relative;
612 top: 50%;
613 left: 50%;
614 margin: -10px 0 0 -10px;
615 background-color: #000;
616 background-color: rgba(0,0,0,0.5);
617
618 border-radius: 100%;
619 -webkit-animation: sbr-sk-scaleout 1.0s infinite ease-in-out;
620 animation: sbr-sk-scaleout 1.0s infinite ease-in-out;
621 }
622 /* Loader in button */
623 [id^=sb-reviews-container-] .sb-load-button-ctn .sbr-loader{
624 position: absolute;
625 margin-top: -11px;
626 background-color: #fff;
627 opacity: 1;
628 }
629 @-webkit-keyframes sbr-sk-scaleout {
630 0% { -webkit-transform: scale(0) }
631 100% {
632 -webkit-transform: scale(1.0);
633 opacity: 0;
634 }
635 }
636 @keyframes sbr-sk-scaleout {
637 0% {
638 -webkit-transform: scale(0);
639 -ms-transform: scale(0);
640 transform: scale(0);
641 } 100% {
642 -webkit-transform: scale(1.0);
643 -ms-transform: scale(1.0);
644 transform: scale(1.0);
645 opacity: 0;
646 }
647 }
648
649
650
651 /* --- Lightbox --- */
652
653 .sbr_lightboxOverlay {
654 position: absolute;
655 top: 0;
656 left: 0;
657 z-index: 99999;
658 background-color: black;
659 filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
660 opacity: 0.9;
661 display: none;
662 }
663 /* WP 7.0+ iframed block editor canvas: sbr-feed.js's chained Lightbox init
664 appends #sbr_lightbox to <body> but doesn't reliably reach its trailing
665 .hide() call inside the iframe, so the container renders visible. jQuery
666 .fadeIn() on open sets inline display:block which beats this rule, so the
667 lightbox still opens normally when triggered. */
668 #sbr_lightbox { display: none; }
669 .sbr_lightbox {
670 position: absolute;
671 left: 0;
672 width: 100%;
673 z-index: 100000;
674 line-height: 0;
675 font-weight: normal;
676 }
677 .sbr_lightbox .sbr_lb-image {
678 display: block;
679 height: auto;
680 max-width: inherit;
681 -webkit-border-radius: 3px;
682 -moz-border-radius: 3px;
683 -ms-border-radius: 3px;
684 -o-border-radius: 3px;
685 border-radius: 3px;
686 }
687 .sbr_lightbox a:hover,
688 .sbr_lightbox a:focus,
689 .sbr_lightbox a:active{
690 outline: none;
691 }
692 .sbr_lightbox a img {
693 border: none;
694 }
695 .sbr_lb-outerContainer {
696 position: relative;
697 background-color: #000;
698 *zoom: 1;
699 width: 250px;
700 height: 250px;
701 margin: 0 auto 5px auto;
702 -webkit-border-radius: 3px;
703 -moz-border-radius: 3px;
704 -ms-border-radius: 3px;
705 -o-border-radius: 3px;
706 border-radius: 3px;
707 }
708 .sbr_lb-outerContainer:after {
709 content: "";
710 display: table;
711 clear: both;
712 }
713 .sbr_lb-container {
714 position: relative;
715 padding: 4px;
716 top: 0;
717 left: 0;
718 width: 100%;
719 height: 100%;
720 bottom: 0;
721 right: 0;
722
723 -webkit-border-radius: 3px;
724 -moz-border-radius: 3px;
725 -ms-border-radius: 3px;
726 -o-border-radius: 3px;
727 border-radius: 3px;
728 }
729 .sbr_lb-loader {
730 position: absolute;
731 top: 43%;
732 left: 0;
733 height: 25%;
734 width: 100%;
735 text-align: center;
736 line-height: 0;
737 }
738 .sbr_lb-cancel {
739 display: block;
740 width: 32px;
741 height: 32px;
742 margin: 0 auto;
743 background-color: #666;
744 background-color: rgba(255,255,255,0.5);
745
746 border-radius: 100%;
747 -webkit-animation: ctf-sk-scaleout 1.0s infinite ease-in-out;
748 animation: ctf-sk-scaleout 1.0s infinite ease-in-out;
749 }
750
751
752 .sbr_lb-nav {
753 /*position: absolute;*/
754 top: 0;
755 left: 0;
756 /*height: 100%;*/
757 width: 100%;
758 z-index: 10;
759 /*pointer-events: none;*/
760 }
761 .sbr_lb-container > .nav {
762 left: 0;
763 }
764 .sbr_lb-nav a,
765 .sbr_lb-nav button {
766 position: absolute;
767 z-index: 100;
768 top: 0;
769 height: 90%;
770 background-image: url('data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
771 }
772
773
774 /* Arrows */
775 .sbr_lb-prev, .sbr_lb-next {
776 height: 100%;
777 cursor: pointer;
778 display: block;
779 }
780 .sbr_lb-nav .sbr_lb-prev {
781 /*width: 30%;*/
782 width: 50px;
783 left: -70px;
784 padding-left: 10px;
785 padding-right: 10px;
786 float: left;
787
788 filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0.5);
789 opacity: 0.5;
790 -webkit-transition: opacity 0.2s;
791 -moz-transition: opacity 0.2;
792 -o-transition: opacity 0.2s;
793 transition: opacity 0.2s;
794
795 }
796
797 .sbr_lb-nav .sbr_lb-prev:hover {
798 filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
799 opacity: 1;
800 }
801
802 .sbr_lb-nav .sbr_lb-next {
803 /*width: 30%;*/
804 width: 50px;
805 right: -70px;
806 padding-left: 10px;
807 padding-right: 10px;
808 float: right;
809
810 filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0.5);
811 opacity: 0.5;
812 -webkit-transition: opacity 0.2s;
813 -moz-transition: opacity 0.2s;
814 -o-transition: opacity 0.2s;
815 transition: opacity 0.2s;
816
817 }
818
819 .sbr_lb-nav .sbr_lb-next:hover {
820 filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
821 opacity: 1;
822 }
823
824 .sbr_lb-nav span{
825 display: block;
826 top: 55%;
827 position: absolute;
828 left: 20px;
829 width: 34px;
830 height: 45px;
831 margin: -25px 0 0 0;
832 background: url(../images/sprite.png) no-repeat;
833 }
834 .sbr_lb-nav .sbr_lb-prev span{
835 background-position: -53px 0;
836 }
837 .sbr_lb-nav .sbr_lb-next span{
838 left: auto;
839 right: 20px;
840 background-position: -18px 0;
841 }
842
843
844 .sbr_lb-dataContainer {
845 margin: 0 auto;
846 padding-top: 5px;
847 *zoom: 1;
848 width: 100%;
849 font-family: "Open Sans", Helvetica, Arial, sans-serif;
850
851 -moz-border-radius-bottomleft: 4px;
852 -webkit-border-bottom-left-radius: 4px;
853 border-bottom-left-radius: 4px;
854 -moz-border-radius-bottomright: 4px;
855 -webkit-border-bottom-right-radius: 4px;
856 border-bottom-right-radius: 4px;
857 }
858 .sbr_lb-dataContainer:after {
859 content: "";
860 display: table;
861 clear: both;
862 }
863 .sbr_lb-data {
864 padding: 0 4px;
865 color: #ccc;
866 }
867 .sbr_lb-data .sbr_lb-details {
868 width: 85%;
869 float: left;
870 text-align: left;
871 line-height: 1.1;
872 }
873 .sbr_lb-data .sbr_lb-caption {
874 float: left;
875 font-size: 13px;
876 font-weight: normal;
877 line-height: 1.3;
878 padding-bottom: 3px;
879 color: #ccc;
880
881 word-wrap: break-word;
882 -webkit-hyphens: auto;
883 -moz-hyphens: auto;
884 hyphens: auto;
885 }
886 .sbr_lb-data .sbr_lb-caption a,
887 .sbr_lb-data .sbr_lb-caption .ctf-screename-sep{
888 color: #ccc;
889 font-weight: bold;
890 text-decoration: none;
891 }
892 .sbr_lb-data .sbr_lb-caption a:hover{
893 color: #fff;
894 text-decoration: underline;
895 }
896 .sbr_lb-data .sbr_lb-caption .sbr_lightbox_username{
897 float: left;
898 width: 100%;
899 color: #ccc;
900 padding-bottom: 0;
901 display: block;
902 margin: 0 0 5px 0;
903 }
904 .sbr_lb-data .sbr_lb-caption .sbr_lightbox_username{
905 color: #ccc;
906 }
907 .sbr_lb-data .sbr_lb-caption .sbr_lightbox_username:hover p{
908 color: #fff;
909 text-decoration: underline;
910 }
911 .sbr_lightbox .sbr_lightbox_username img {
912 float: left;
913 border: none;
914 width: 48px;
915 height: 48px;
916 margin-right: 10px;
917 background: #666;
918
919 -moz-border-radius: 5px;
920 -webkit-border-radius: 5px;
921 border-radius: 5px;
922 }
923 .sbr_lightbox_username p{
924 float: left;
925 margin: 0;
926 padding: 0;
927 color: #ccc;
928 line-height: 32px;
929 font-weight: bold;
930 font-size: 13px;
931 text-align: left;
932 }
933
934 .sbr_lb-data .ctf-caption-text{
935 width: 100%;
936 margin-left: 58px;
937 padding-top: 3px;
938 }
939 .sbr_lb-data .sbr_lb-caption .ctf-tweet-date,
940 .sbr_lb-data .sbr_lb-caption .ctf-author-screenname{
941 font-weight: normal;
942 }
943 .sbr_lb-data .sbr_lb-info{
944 width: 100%;
945 float: left;
946 clear: both;
947 }
948 .sbr_lb-data .sbr_lb-number {
949 display: block;
950 float: left;
951 clear: both;
952 padding: 5px 0 15px 0;
953 font-size: 12px;
954 color: #999999;
955 }
956 .sbr_lb-data .sbr_lb-close {
957 display: block;
958 float: right;
959 width: 30px;
960 height: 30px;
961 background: url(../images/close.png) top right no-repeat;
962 text-align: right;
963 outline: none;
964 filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
965 opacity: 0.7;
966 -webkit-transition: opacity 0.2s;
967 -moz-transition: opacity 0.2s;
968 -o-transition: opacity 0.2s;
969 transition: opacity 0.2s;
970 }
971 .sbr_lb-data .sbr_lb-close:hover {
972 cursor: pointer;
973 filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
974 opacity: 1;
975 }
976
977 /* a11y: lightbox close/prev/next converted from <a> to <button> -- neutralise UA button chrome */
978 .sbr_lb-nav button.sbr_lb-prev,
979 .sbr_lb-nav button.sbr_lb-next,
980 .sbr_lb-data button.sbr_lb-close {
981 -webkit-appearance: none;
982 appearance: none;
983 border: 0;
984 background-color: transparent;
985 font: inherit;
986 color: inherit;
987 cursor: pointer;
988 }
989 .sbr_lb-data button.sbr_lb-close {
990 padding: 0;
991 }
992 /* a11y: visible keyboard focus on the lightbox controls (replaces suppressed <a> outline) */
993 #sbr_lightbox button.sbr_lb-prev:focus-visible,
994 #sbr_lightbox button.sbr_lb-next:focus-visible,
995 #sbr_lightbox button.sbr_lb-close:focus-visible {
996 outline: 2px solid #fff;
997 outline-offset: 2px;
998 }
999
1000 /* Lightbox video - must go after lighbox CSS */
1001 /* Leave a gap at the bottom of the nav for video controls */
1002 .sbr_lb-nav {
1003 height: auto;
1004 }
1005 /* Remove 4px padding from lightbox container so video lines up */
1006 .sbr_lb-container{
1007 padding: 0;
1008 }
1009 .sbr_lb-container iframe {
1010 position: absolute;
1011 top: 0;
1012 left:0;
1013 width: 100%;
1014 height: 100%;
1015 z-index: 1;
1016 }
1017 /* Lightbox action links */
1018 #sbr_lightbox .sbr_lightbox_action{
1019 float: left;
1020 /*clear: both;*/
1021 position: relative;
1022 padding: 0 0 0 10px;
1023 margin: 5px 0 0 10px;
1024 border-left: 1px solid #666;
1025 font-size: 12px;
1026 }
1027 #sbr_lightbox .sbr_lightbox_action a{
1028 display: block;
1029 float: left;
1030 color: #999;
1031 text-decoration: none;
1032 }
1033 #sbr_lightbox .sbr_lightbox_action a:hover,
1034 #sbr_lightbox .sbr_lightbox_action a:focus{
1035 color: #fff;
1036 }
1037 #sbr_lightbox .sbr_lightbox_action .fa,
1038 #sbr_lightbox .sbr_lightbox_action svg {
1039 margin-right: 5px;
1040 }
1041 #sbr_lightbox .sbr_lightbox_action.sbr_youtube .fa {
1042 font-size: 13px;
1043 }
1044 #sbr_lightbox .sbr_tooltip_social a svg {
1045 font-size: 19px;
1046 padding: 3px 4px;
1047 margin: auto;
1048 }
1049 /* Lightbox tooltip */
1050 #sbr_lightbox .sbr_lightbox_tooltip{
1051 display: none;
1052 position: absolute;
1053 width: 100px;
1054 bottom: 22px;
1055 left: 0;
1056 padding: 5px 10px;
1057 margin: 0;
1058 background: rgba(255,255,255,0.9);
1059 color: #222;
1060 font-size: 12px;
1061 line-height: 1.3;
1062
1063 -moz-border-radius: 4px;
1064 -webkit-border-radius: 4px;
1065 border-radius: 4px;
1066
1067 box-shadow: 0 0 10px rgba(0,0,0,0.4);
1068 -moz-box-shadow: 0 0 10px rgba(0,0,0,0.4);
1069 -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.4);
1070
1071 -webkit-box-sizing: border-box;
1072 -moz-box-sizing: border-box;
1073 box-sizing: border-box;
1074 }
1075 #sbr_lightbox .sbr_lightbox_tooltip .fa-play{
1076 position: absolute;
1077 font-size: 8px;
1078 bottom: -6px;
1079 left: 36px;
1080 color: rgba(255,255,255,0.9);
1081 }
1082 #sbr_lightbox .sbr_tooltip_social a .fa{
1083 font-size: 16px;
1084 margin: 0;
1085 padding: 5px;
1086 }
1087 #sbr_lightbox .sbr_tooltip_social a#sbr_facebook_icon .fa,
1088 #sbr_lightbox .sbr_tooltip_social a#sbr_twitter_icon .fa,
1089 #sbr_lightbox .sbr_tooltip_social a#sbr_pinterest_icon .fa{
1090 padding-top: 4px;
1091 font-size: 18px;
1092 }
1093 #sbr_lightbox .sbr_gdpr_notice {
1094 z-index: 6;
1095 display: block;
1096 position: absolute;
1097 top: 50%;
1098 left: 50%;
1099 margin-left: -44px;
1100 margin-top: -44px;
1101 padding: 20px;
1102 }
1103 #sbr_lightbox .sbr_gdpr_notice svg:not(:root).svg-inline--fa {
1104 position: relative;
1105 display: block !important;
1106 height: 48px;
1107 width: 48px;
1108 opacity: .8;
1109 }
1110 #sbr_lightbox .sbr_gdpr_notice:hover svg:not(:root).svg-inline--fa {
1111 opacity: 1;
1112 }
1113 /* Hide photos tooltip */
1114 #sbr_lightbox #sbr_mod_box{
1115 width: 280px;
1116 padding: 5px 10px 7px 10px;
1117 }
1118 /* Social icons tooltip */
1119 #sbr_lightbox .sbr_tooltip_social{
1120 width: 172px;
1121 padding: 5px 5px 4px 5px;
1122 }
1123 #sbr_lightbox .sbr_tooltip_social a{
1124 color: #333;
1125
1126 -moz-border-radius: 4px;
1127 -webkit-border-radius: 4px;
1128 border-radius: 4px;
1129 }
1130 #sbr_lightbox .sbr_lightbox_action #sbr_facebook_icon:hover{ background: #3b5998; }
1131 #sbr_lightbox .sbr_lightbox_action #sbr_twitter_icon:hover{ background: #00aced; }
1132 #sbr_lightbox .sbr_lightbox_action #sbr_google_icon:hover{ background: #dd4b39; }
1133 #sbr_lightbox .sbr_lightbox_action #sbr_linkedin_icon:hover{ background: #007bb6; }
1134 #sbr_lightbox .sbr_lightbox_action #sbr_pinterest_icon:hover{ background: #cb2027; }
1135 #sbr_lightbox .sbr_lightbox_action #sbr_email_icon:hover{ background: #333; }
1136
1137 .sbr_lb-outerContainer, .sbr_lb-dataContainer{
1138 min-width: 450px;
1139 }
1140 @media all and (max-width: 450px){
1141 .sbr_lb-outerContainer, .sbr_lb-dataContainer {
1142 min-width: 0; /* Remove min-width on lightbox on mobile */
1143 }
1144 }
1145 .sbr_lightbox .sbr_lb-image {
1146 display: block;
1147 height: auto;
1148 max-width: inherit;
1149 margin: 0 auto;
1150 -webkit-border-radius: 0;
1151 -moz-border-radius: 0;
1152 -ms-border-radius: 0;
1153 -o-border-radius: 0;
1154 border-radius: 0;
1155 }
1156
1157
1158
1159 /*
1160 * Core Owl Carousel CSS File
1161 * v2.1.1
1162 */
1163
1164 .sb-feed-posts.sbr_carousel {
1165 display: none;
1166 width: 100%;
1167 -webkit-tap-highlight-color: transparent;
1168 /* position relative and z-index fix webkit rendering fonts issue */
1169 position: relative;
1170 z-index: 1; }
1171 .sbr_carousel {
1172 direction: ltr;
1173 }
1174 .sbr_carousel .sbr_owl2row-item,
1175 .sb-carousel-wrap .sb-feed-posts{
1176 display: none;
1177 }
1178 .sbr-owl-stage {
1179 position: relative;
1180 -ms-touch-action: pan-Y;
1181 -moz-backface-visibility: hidden;
1182 /* fix firefox animation glitch */ }
1183 .sbr-owl-stage:after {
1184 content: ".";
1185 display: block;
1186 clear: both;
1187 visibility: hidden;
1188 line-height: 0;
1189 height: 0; }
1190 .sbr-owl-stage-outer {
1191 position: relative;
1192 overflow: hidden;
1193 /* fix for flashing background */
1194 -webkit-transform: translate3d(0px, 0px, 0px); }
1195 .sbr-owl-wrapper,
1196 .sbr-owl-item {
1197 -webkit-backface-visibility: hidden;
1198 -moz-backface-visibility: hidden;
1199 -ms-backface-visibility: hidden;
1200 -webkit-transform: translate3d(0, 0, 0);
1201 -moz-transform: translate3d(0, 0, 0);
1202 -ms-transform: translate3d(0, 0, 0); }
1203 .sbr-owl-item {
1204 position: relative;
1205 min-height: 1px;
1206 padding: 0 5px;
1207 padding: 0;
1208 float: left;
1209 -webkit-backface-visibility: hidden;
1210 -webkit-tap-highlight-color: transparent;
1211 -webkit-touch-callout: none; }
1212 .sbr-owl-item img {
1213 display: block;
1214 width: 100%; }
1215 .sbr-owl-nav.disabled,
1216 .sbr-owl-dots.disabled {
1217 display: none; }
1218 .sbr-owl-nav .sbr-owl-prev,
1219 .sbr-owl-nav .sbr-owl-next,
1220 .sbr-owl-dot {
1221 cursor: pointer;
1222 cursor: hand;
1223 -webkit-user-select: none;
1224 -khtml-user-select: none;
1225 -moz-user-select: none;
1226 -ms-user-select: none;
1227 user-select: none; }
1228 .sbr_carousel.sbr-owl-loaded {
1229 display: block; }
1230 .sbr_carousel.sbr-owl-loading {
1231 opacity: 0;
1232 display: block; }
1233 .sbr_carousel.sbr-owl-hidden {
1234 opacity: 0; }
1235 .sbr_carousel.sbr-owl-refresh .sbr-owl-item {
1236 visibility: hidden; }
1237 .sbr_carousel.sbr-owl-drag .sbr-owl-item {
1238 padding: 0 calc( var(--column-gutter) / 2 );
1239 -webkit-user-select: none;
1240 -moz-user-select: none;
1241 -ms-user-select: none;
1242 user-select: none; }
1243 .sbr_carousel.sbr-owl-grab {
1244 cursor: move;
1245 cursor: grab; }
1246 .sbr_carousel.sbr-owl-rtl {
1247 direction: rtl; }
1248 .sbr_carousel.sbr-owl-rtl .sbr-owl-item {
1249 float: right; }
1250
1251 /*
1252 * Owl Carousel - Auto Height Plugin
1253 */
1254 .sbr-owl-height {
1255 transition: height 500ms ease-in-out; }
1256
1257 .sbr-owl-nav {
1258 margin-top: 10px;
1259 text-align: center;
1260 -webkit-tap-highlight-color: transparent; }
1261 .sbr-owl-nav {
1262 margin-top: 0;
1263 }
1264
1265 .sbr-owl-nav .disabled {
1266 opacity: 0.5;
1267 cursor: default; }
1268
1269 .sbr-owl-nav.disabled + .sbr-owl-dots {
1270 margin-top: 10px; }
1271
1272 .sbr-owl-dots {
1273 text-align: center;
1274 -webkit-tap-highlight-color: transparent;
1275 padding: 5px 0;
1276 margin-top: 5px;
1277 }
1278 .sbr-owl-dots .sbr-owl-dot {
1279 display: inline-block;
1280 zoom: 1;
1281 *display: inline; }
1282 .sbr-owl-dots .sbr-owl-dot span {
1283 display: block;
1284 width: 12px;
1285 height: 12px;
1286 margin: 5px 7px;
1287 background: #333;
1288 filter: Alpha(Opacity=25);/*IE7 fix*/
1289 opacity: 0.25;
1290
1291 -webkit-backface-visibility: visible;
1292 transition: opacity 100ms ease;
1293 border-radius: 30px;
1294 }
1295 .sbr-owl-dots .sbr-owl-dot.active span, .sbr-owl-dots .sbr-owl-dot:hover span {
1296 filter: Alpha(Opacity=100);/*IE7 fix*/
1297 opacity: 1;
1298 }
1299
1300 .sbr-owl-item {
1301 display: inline-block;
1302 vertical-align: top;
1303 }
1304 .sbr-owl-stage-outer {
1305 overflow-x: hidden;
1306 overflow-y: hidden;
1307 }
1308
1309 .sbr-owl-item > div {
1310 width: 100% !important;
1311 }
1312 .sbr-post-links {
1313 max-width: 100%;
1314 }
1315 .sbr-owl-item{
1316 box-sizing: border-box;
1317 }
1318
1319 /* Navigation arrows */
1320 .sbr-owl-nav > div {
1321 position: absolute;
1322 top: 50%;
1323 font-size: 14px;
1324 display: inline-block;
1325 line-height: 1;
1326
1327 background: rgba(255,255,255,0.3);
1328 padding: 6px 6px 6px 8px;
1329 border-radius: 50%;
1330 margin-top: -15px;
1331 color: #000;
1332 box-shadow: 0 0 5px 0 rgba(0,0,0,0.2);
1333
1334 -webkit-transition: all .5s;
1335 -moz-transition: all .5s;
1336 -o-transition: all .5s;
1337 transition: all .5s;
1338 }
1339 .sbr_carousel:hover .sbr-owl-nav > div{
1340 background: rgba(255,255,255,0.5);
1341
1342 box-shadow: 0 0 5px 0 rgba(0,0,0,0.5);
1343
1344 -webkit-transform:scale(1.1); /* Safari and Chrome */
1345 -moz-transform:scale(1.1); /* Firefox */
1346 -ms-transform:scale(1.1); /* IE 9 */
1347 -o-transform:scale(1.1); /* Opera */
1348 transform:scale(1.1);
1349 }
1350 .sbr_carousel:hover .sbr-owl-nav > div:hover {
1351 cursor: pointer;
1352 background: #fff;
1353 }
1354 .sbr-owl-nav .sbr-owl-prev {
1355 margin-left: 7px;
1356 padding: 6px 8px 6px 6px;
1357 left: 0;
1358 }
1359 .sbr-owl-nav .sbr-owl-next {
1360 margin-right: 7px;
1361 right: 0;
1362 }
1363 .sbr-owl-nav > div{
1364 z-index: 999;
1365 background: #fff;
1366 }
1367 .sbr_carousel .sbr-owl-nav svg {
1368 height: 1.2em;
1369 box-sizing: unset;
1370 overflow: visible;
1371 width: 1em;
1372 display: inline-block;
1373 font-size: inherit;
1374 vertical-align: -0.125em;
1375 }
1376
1377
1378 /* Cols */
1379 [id^=sb-reviews-container-] .sb-cols-2 .sb-post-item-wrap{ width: calc( 50% - calc((var(--column-gutter) * 1) / 2)); }
1380 [id^=sb-reviews-container-] .sb-cols-3 .sb-post-item-wrap{ width: calc( 33.33% - calc((var(--column-gutter) * 2 ) / 3) );}
1381 [id^=sb-reviews-container-] .sb-cols-4 .sb-post-item-wrap{ width: calc( 25% - calc((var(--column-gutter) * 3 ) / 4) );}
1382 [id^=sb-reviews-container-] .sb-cols-5 .sb-post-item-wrap{ width: calc( 20% - calc((var(--column-gutter) * 4 ) / 5) );}
1383 [id^=sb-reviews-container-] .sb-cols-6 .sb-post-item-wrap{ width: calc( 16.66% - calc((var(--column-gutter) * 5 ) / 6) );}
1384 [id^=sb-reviews-container-] .sb-cols-7 .sb-post-item-wrap{ width: calc( 14.28% - calc((var(--column-gutter) * 6 ) / 7) );}
1385 [id^=sb-reviews-container-] .sb-cols-8 .sb-post-item-wrap{ width: calc( 12.5% - calc((var(--column-gutter) * 7 ) / 8) );}
1386 [id^=sb-reviews-container-] .sb-cols-9 .sb-post-item-wrap{ width: calc( 11.11% - calc((var(--column-gutter) * 8 ) / 9) );}
1387 [id^=sb-reviews-container-] .sb-cols-10 .sb-post-item-wrap{ width: calc( 10% - calc((var(--column-gutter) * 9 ) / 10) );}
1388
1389
1390 @media all and (max-width: 640px){
1391 [id^=sb-reviews-container-] .sb-colstablet-1 .sb-post-item-wrap{ width: 100%; }
1392 [id^=sb-reviews-container-] .sb-colstablet-2 .sb-post-item-wrap{ width: calc( 50% - calc((var(--column-gutter) * 1) / 2)); }
1393 [id^=sb-reviews-container-] .sb-colstablet-3 .sb-post-item-wrap{ width: calc( 33.33% - calc((var(--column-gutter) * 2 ) / 3) );}
1394 [id^=sb-reviews-container-] .sb-colstablet-4 .sb-post-item-wrap{ width: calc( 25% - calc((var(--column-gutter) * 3 ) / 4) );}
1395 [id^=sb-reviews-container-] .sb-colstablet-5 .sb-post-item-wrap{ width: calc( 20% - calc((var(--column-gutter) * 4 ) / 5) );}
1396 [id^=sb-reviews-container-] .sb-colstablet-6 .sb-post-item-wrap{ width: calc( 16.66% - calc((var(--column-gutter) * 5 ) / 6) );}
1397 [id^=sb-reviews-container-] .sb-colstablet-7 .sb-post-item-wrap{ width: calc( 14.28% - calc((var(--column-gutter) * 6 ) / 7) );}
1398 [id^=sb-reviews-container-] .sb-colstablet-8 .sb-post-item-wrap{ width: calc( 12.5% - calc((var(--column-gutter) * 7 ) / 8) );}
1399 [id^=sb-reviews-container-] .sb-colstablet-9 .sb-post-item-wrap{ width: calc( 11.11% - calc((var(--column-gutter) * 8 ) / 9) );}
1400 [id^=sb-reviews-container-] .sb-colstablet-10 .sb-post-item-wrap{ width: calc( 10% - calc((var(--column-gutter) * 9 ) / 10) );}
1401
1402 [id^=sb-reviews-container-] .sb-grid-wrapper[data-grid-tablet-columns="1"] .sb-feed-posts { grid-template-columns: 1fr; }
1403 [id^=sb-reviews-container-] .sb-grid-wrapper[data-grid-tablet-columns="2"] .sb-feed-posts { grid-template-columns: 1fr 1fr; }
1404 [id^=sb-reviews-container-] .sb-grid-wrapper[data-grid-tablet-columns="3"] .sb-feed-posts { grid-template-columns: 1fr 1fr 1fr; }
1405 [id^=sb-reviews-container-] .sb-grid-wrapper[data-grid-tablet-columns="4"] .sb-feed-posts { grid-template-columns: 1fr 1fr 1fr 1fr; }
1406 [id^=sb-reviews-container-] .sb-grid-wrapper[data-grid-tablet-columns="5"] .sb-feed-posts { grid-template-columns: 1fr 1fr 1fr 1fr 1fr; }
1407 [id^=sb-reviews-container-] .sb-grid-wrapper[data-grid-tablet-columns="6"] .sb-feed-posts {grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; }
1408 }
1409
1410 @media all and (max-width: 480px){
1411 [id^=sb-reviews-container-] .sb-colsmobile-1 .sb-post-item-wrap{ width: 100%; }
1412 [id^=sb-reviews-container-] .sb-colsmobile-2 .sb-post-item-wrap{ width: calc( 50% - calc((var(--column-gutter) * 1) / 2)); }
1413 [id^=sb-reviews-container-] .sb-colsmobile-3 .sb-post-item-wrap{ width: calc( 33.33% - calc((var(--column-gutter) * 2 ) / 3) );}
1414 [id^=sb-reviews-container-] .sb-colsmobile-4 .sb-post-item-wrap{ width: calc( 25% - calc((var(--column-gutter) * 3 ) / 4) );}
1415 [id^=sb-reviews-container-] .sb-colsmobile-5 .sb-post-item-wrap{ width: calc( 20% - calc((var(--column-gutter) * 4 ) / 5) );}
1416 [id^=sb-reviews-container-] .sb-colsmobile-6 .sb-post-item-wrap{ width: calc( 16.66% - calc((var(--column-gutter) * 5 ) / 6) );}
1417 [id^=sb-reviews-container-] .sb-colsmobile-7 .sb-post-item-wrap{ width: calc( 14.28% - calc((var(--column-gutter) * 6 ) / 7) );}
1418 [id^=sb-reviews-container-] .sb-colsmobile-8 .sb-post-item-wrap{ width: calc( 12.5% - calc((var(--column-gutter) * 7 ) / 8) );}
1419 [id^=sb-reviews-container-] .sb-colsmobile-9 .sb-post-item-wrap{ width: calc( 11.11% - calc((var(--column-gutter) * 8 ) / 9) );}
1420 [id^=sb-reviews-container-] .sb-colsmobile-10 .sb-post-item-wrap{ width: calc( 10% - calc((var(--column-gutter) * 9 ) / 10) );}
1421 [id^=sb-reviews-container-] .sb-grid-wrapper[data-grid-mobile-columns="1"] .sb-feed-posts { grid-template-columns: 1fr; }
1422 [id^=sb-reviews-container-] .sb-grid-wrapper[data-grid-mobile-columns="2"] .sb-feed-posts { grid-template-columns: 1fr 1fr; }
1423 [id^=sb-reviews-container-] .sb-grid-wrapper[data-grid-mobile-columns="3"] .sb-feed-posts { grid-template-columns: 1fr 1fr 1fr; }
1424 [id^=sb-reviews-container-] .sb-grid-wrapper[data-grid-mobile-columns="4"] .sb-feed-posts { grid-template-columns: 1fr 1fr 1fr 1fr; }
1425 [id^=sb-reviews-container-] .sb-grid-wrapper[data-grid-mobile-columns="5"] .sb-feed-posts { grid-template-columns: 1fr 1fr 1fr 1fr 1fr; }
1426 [id^=sb-reviews-container-] .sb-grid-wrapper[data-grid-mobile-columns="6"] .sb-feed-posts {grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; }
1427 }
1428
1429 /* Booking.com specific styles */
1430 [id^=sb-reviews-container-] .sb-item-title {
1431 margin-bottom: 8px;
1432 font-weight: 600;
1433 font-size: 16px;
1434 clear: both;
1435 }
1436
1437 [id^=sb-reviews-container-] .sb-item-pros-cons {
1438 margin-bottom: 12px;
1439 clear: both;
1440 }
1441
1442 [id^=sb-reviews-container-] .sb-item-pros,
1443 [id^=sb-reviews-container-] .sb-item-cons {
1444 line-height: 1.5;
1445 }
1446 [id^=sb-reviews-container-] .sb-item-pros {
1447 margin-bottom: 6px;
1448 }
1449 [id^=sb-reviews-container-] .sb-reviewer-photos {
1450 clear: both;
1451 }
1452
1453 [id^=sb-reviews-container-] .sb-pros-label {
1454 font-weight: 600;
1455 color: #28a745;
1456 margin-right: 4px;
1457 }
1458
1459 [id^=sb-reviews-container-] .sb-cons-label {
1460 font-weight: 600;
1461 color: #dc3545;
1462 margin-right: 4px;
1463 }
1464
1465 [id^=sb-reviews-container-] .sb-pros-text,
1466 [id^=sb-reviews-container-] .sb-cons-text {
1467 color: #333;
1468 }
1469
1470 /* Reviewer photos */
1471 [id^=sb-reviews-container-] .sb-item-reviewer-photos {
1472 margin-top: 12px;
1473 display: flex;
1474 flex-wrap: wrap;
1475 gap: 8px;
1476 }
1477
1478 [id^=sb-reviews-container-] .sb-reviewer-photo-link {
1479 display: inline-block;
1480 border-radius: 4px;
1481 overflow: hidden;
1482 transition: transform 0.2s ease;
1483 cursor: pointer;
1484 }
1485
1486 [id^=sb-reviews-container-] .sb-reviewer-photo-link:hover {
1487 transform: scale(1.05);
1488 }
1489
1490 [id^=sb-reviews-container-] .sb-reviewer-photo {
1491 display: block;
1492 width: 90px;
1493 height: 90px;
1494 object-fit: cover;
1495 border-radius: 4px;
1496 }
1497
1498 /* Lightbox styles */
1499 .sbr-lightbox-overlay {
1500 position: fixed;
1501 top: 0;
1502 left: 0;
1503 width: 100%;
1504 height: 100%;
1505 background: rgba(0, 0, 0, 0.9);
1506 z-index: 999999;
1507 display: none;
1508 align-items: center;
1509 justify-content: center;
1510 opacity: 0;
1511 transition: opacity 0.3s ease;
1512 }
1513
1514 .sbr-lightbox-overlay.sbr-active {
1515 display: flex;
1516 opacity: 1;
1517 }
1518
1519 .sbr-lightbox-content {
1520 position: relative;
1521 max-width: 90%;
1522 max-height: 90%;
1523 display: flex;
1524 align-items: center;
1525 justify-content: center;
1526 }
1527
1528 .sbr-lightbox-image {
1529 max-width: 100%;
1530 max-height: 90vh;
1531 object-fit: contain;
1532 border-radius: 4px;
1533 }
1534
1535 .sbr-lightbox-close {
1536 position: absolute;
1537 top: 20px;
1538 right: 20px;
1539 width: 40px;
1540 height: 40px;
1541 background: rgba(255, 255, 255, 0.2);
1542 border: none;
1543 border-radius: 50%;
1544 cursor: pointer;
1545 font-size: 24px;
1546 color: white;
1547 display: flex;
1548 align-items: center;
1549 justify-content: center;
1550 transition: background 0.2s ease;
1551 z-index: 1000000;
1552 }
1553
1554 .sbr-lightbox-close:hover {
1555 background: rgba(255, 255, 255, 0.3);
1556 }
1557
1558 .sbr-lightbox-nav {
1559 position: absolute;
1560 top: 50%;
1561 transform: translateY(-50%);
1562 width: 50px;
1563 height: 50px;
1564 background: rgba(255, 255, 255, 0.2);
1565 border: none;
1566 border-radius: 50%;
1567 cursor: pointer;
1568 font-size: 24px;
1569 color: white;
1570 display: none;
1571 align-items: center;
1572 justify-content: center;
1573 transition: background 0.2s ease;
1574 }
1575
1576 .sbr-lightbox-nav:hover {
1577 background: rgba(255, 255, 255, 0.3);
1578 }
1579
1580 .sbr-lightbox-nav.sbr-prev {
1581 left: 20px;
1582 }
1583
1584 .sbr-lightbox-nav.sbr-next {
1585 right: 20px;
1586 }
1587
1588 .sbr-lightbox-overlay.sbr-has-multiple .sbr-lightbox-nav {
1589 display: flex;
1590 }
1591
1592 .sbr-lightbox-loading {
1593 position: absolute;
1594 width: 40px;
1595 height: 40px;
1596 border: 3px solid rgba(255, 255, 255, 0.3);
1597 border-top-color: white;
1598 border-radius: 50%;
1599 animation: sbr-spin 0.8s linear infinite;
1600 }
1601
1602 @keyframes sbr-spin {
1603 to { transform: rotate(360deg); }
1604 }
1605
1606 /* Carousel a11y controls (SMASH-1383): pause/play toggle + visible focus for
1607 the Owl arrows/dots that are now keyboard-operable. */
1608 .sbr-carousel-playpause{
1609 display: inline-flex;
1610 align-items: center;
1611 justify-content: center;
1612 width: 32px;
1613 height: 32px;
1614 margin: 0 0 8px;
1615 padding: 0;
1616 border: 1px solid #434960;
1617 border-radius: 4px;
1618 background: #fff;
1619 color: #141B38;
1620 font-size: 11px;
1621 line-height: 1;
1622 cursor: pointer;
1623 }
1624 .sbr-carousel-playpause:hover{
1625 background: #F3F4F5;
1626 }
1627 .sbr-owl-prev:focus-visible,
1628 .sbr-owl-next:focus-visible,
1629 .sbr-owl-dot:focus-visible,
1630 .sbr-carousel-playpause:focus-visible{
1631 outline: 2px solid #0068A0;
1632 outline-offset: 2px;
1633 }
1634 /* ───────────────────────────────────────────────────────────────────
1635 SMASH-782 Phase 2 — styles for NEW per-provider elements
1636 These rules target only the new elements added by the extras/
1637 templates (airbnb-reply, booking score badge + helpful, aliexpress
1638 flag + variants + translated + followup). They do NOT touch the
1639 existing card / author / rating / text / media markup. Hex fallbacks
1640 inline so missing customizer tokens degrade gracefully.
1641 ─────────────────────────────────────────────────────────────────── */
1642
1643 /* AliExpress: country flag (inline next to author row) */
1644 [id^="sb-reviews-container"] .sb-item-author-flag {
1645 margin-left: 4px;
1646 font-size: 14px;
1647 }
1648
1649 /* AliExpress: translated indicator */
1650 [id^="sb-reviews-container"] .sb-item-translated {
1651 font-size: 14px;
1652 color: #B5B8C1;
1653 font-style: italic;
1654 margin-bottom: 6px;
1655 }
1656
1657 /* AliExpress: variants pills (parsed from metadata.item_spec) */
1658 [id^="sb-reviews-container"] .sb-item-variants {
1659 display: flex;
1660 flex-wrap: wrap;
1661 gap: 6px;
1662 margin-top: 12px;
1663 }
1664 [id^="sb-reviews-container"] .sb-item-variants-pill {
1665 font-size: 12px;
1666 color: #8C8F9A;
1667 padding: 3px 10px;
1668 border: 1px solid #d1d5db;
1669 border-radius: 4px;
1670 }
1671
1672 /* AliExpress: follow-up review (only renders when relay populates metadata.followup) */
1673 [id^="sb-reviews-container"] .sb-item-followup {
1674 margin-top: 12px;
1675 padding: 10px 0 10px 12px;
1676 border-left: 1.5px solid #6b7280;
1677 }
1678 [id^="sb-reviews-container"] .sb-item-followup-header {
1679 display: flex;
1680 align-items: center;
1681 gap: 8px;
1682 margin-bottom: 4px;
1683 }
1684 [id^="sb-reviews-container"] .sb-item-followup-label {
1685 font-size: 14px;
1686 font-weight: 600;
1687 color: #141B38;
1688 }
1689 [id^="sb-reviews-container"] .sb-item-followup-date {
1690 font-size: 14px;
1691 color: #8C8F9A;
1692 }
1693 [id^="sb-reviews-container"] .sb-item-followup-text {
1694 font-size: 14px;
1695 color: #434960;
1696 line-height: 1.6;
1697 }
1698
1699 /* Review section spacing. Each review section element carries
1700 .sbr-review-horizontal-element and gets a uniform 12px bottom gap; the last
1701 one drops it. Because the class sits on the section elements themselves (the
1702 ones removed when a section is toggled off), hiding any section keeps the
1703 spacing between the rest correct. The Rating keeps its own configurable
1704 (ID-scoped) margin and collapses cleanly against this. Currently applied to
1705 Booking; reusable for other providers. */
1706 [id^="sb-reviews-container"] .sbr-review-horizontal-element {
1707 margin-bottom: 12px;
1708 }
1709 [id^="sb-reviews-container"] .sbr-review-horizontal-element:last-child {
1710 margin-bottom: 0;
1711 }
1712
1713 /* Booking: numeric score badge (8.7 Very Good) */
1714 [id^="sb-reviews-container"] .sb-item-rating-score {
1715 display: inline-flex;
1716 align-items: center;
1717 gap: 8px;
1718 }
1719 [id^="sb-reviews-container"] .sb-item-rating-score-badge {
1720 background: #003580;
1721 color: #fff;
1722 font-weight: normal;
1723 padding: 6px 4px;
1724 border-radius: 6px 6px 6px 0;
1725 min-width: 0;
1726 text-align: center;
1727 font-size: 14px;
1728 line-height: 14px;
1729 }
1730 [id^="sb-reviews-container"] .sb-item-rating-score-label {
1731 font-size: 14px;
1732 color: #8C8F9A;
1733 }
1734
1735 /* Booking: helpful count */
1736 [id^="sb-reviews-container"] .sb-item-helpful {
1737 display: flex;
1738 align-items: center;
1739 gap: 4px;
1740 font-size: 14px;
1741 color: #8C8F9A;
1742 margin-top: 12px;
1743 }
1744
1745 /* Reply block (Airbnb host reply + future Trustpilot company reply) */
1746 [id^="sb-reviews-container"] .sb-item-reply {
1747 clear: both;
1748 margin-top: 12px;
1749 padding: 10px 0 10px 12px;
1750 border-left: 1.5px solid #6b7280;
1751 }
1752 [id^="sb-reviews-container"] .sb-item-reply-header {
1753 display: flex;
1754 align-items: center;
1755 gap: 8px;
1756 margin-bottom: 4px;
1757 }
1758 [id^="sb-reviews-container"] .sb-item-reply-avatar {
1759 width: 28px;
1760 height: 28px;
1761 border-radius: 50%;
1762 object-fit: cover;
1763 flex-shrink: 0;
1764 }
1765 [id^="sb-reviews-container"] .sb-item-reply-name {
1766 font-weight: 600;
1767 font-size: 14px;
1768 color: #141B38;
1769 }
1770 [id^="sb-reviews-container"] .sb-item-reply-label {
1771 font-size: 14px;
1772 font-weight: 600;
1773 color: #141B38;
1774 }
1775 [id^="sb-reviews-container"] .sb-item-reply[data-from="host"] .sb-item-reply-label {
1776 font-size: 12px;
1777 margin-left: 1px;
1778 border: 1px solid #141B38;
1779 border-radius: 4px;
1780 padding: 0 3px;
1781 }
1782 [id^="sb-reviews-container"] .sb-item-reply-text {
1783 font-size: 14px;
1784 color: #434960;
1785 line-height: 1.65;
1786 }
1787
1788 /* ── SMASH-782 Phase 2 — prototype parity refinements ─────────────────
1789 - Hide the legacy star rating for Booking cards (score badge replaces it)
1790 - Force inline display on new elements (legacy plugin styles force all
1791 spans inside .sb-post-item to display:block, collapsing flex layouts)
1792 - Helpful icon spacing
1793 ───────────────────────────────────────────────────────────────────── */
1794
1795 /* Booking: prototype renders score badge IN PLACE of stars. The legacy
1796 pipeline still emits .sb-item-rating with star SVGs nested as
1797 .sb-item-rating > span > .sb-item-rating-ctn > .sb-item-rating-icon.
1798 Hide the star container; score badge keeps showing because it lives
1799 in .sb-item-rating-score (rendered by extras/booking.php). */
1800 [id^="sb-reviews-container"] .sb-post-item-wrap.sbr-provider-booking .sb-item-rating-ctn {
1801 display: none !important;
1802 }
1803
1804 /* Legacy plugin styles force all SPAN elements inside .sb-post-item to
1805 `display: block` with `width: 0` for some descendants, which collapses
1806 our prototype-style inline headers (reply-header, followup-header,
1807 helpful, rating-score) into 0-width columns rendered against the
1808 right edge of the card. Force the new elements' spans back to
1809 inline/inline-flex AND set parent header widths to 100% so the flex
1810 children expand and lay out horizontally. `!important` is required
1811 to outrank the more-specific legacy rules. */
1812 [id^="sb-reviews-container"] .sb-item-reply-name,
1813 [id^="sb-reviews-container"] .sb-item-reply-label,
1814 [id^="sb-reviews-container"] .sb-item-followup-label,
1815 [id^="sb-reviews-container"] .sb-item-followup-date,
1816 [id^="sb-reviews-container"] .sb-item-rating-score-badge,
1817 [id^="sb-reviews-container"] .sb-item-rating-score-label,
1818 [id^="sb-reviews-container"] .sb-item-helpful-count,
1819 [id^="sb-reviews-container"] .sb-item-author-flag {
1820 display: inline-block !important;
1821 width: auto !important;
1822 white-space: nowrap !important;
1823 flex-shrink: 0 !important;
1824 }
1825 [id^="sb-reviews-container"] .sb-item-reply-header,
1826 [id^="sb-reviews-container"] .sb-item-followup-header,
1827 [id^="sb-reviews-container"] .sb-item-rating-score,
1828 [id^="sb-reviews-container"] .sb-item-helpful {
1829 width: 100% !important;
1830 box-sizing: border-box;
1831 }
1832 /* Reduce the rating block padding for Booking since stars are hidden */
1833 [id^="sb-reviews-container"] .sb-post-item-wrap.sbr-provider-booking .sb-item-rating {
1834 padding-top: 0;
1835 padding-bottom: 0;
1836 }
1837
1838 /* Helpful icon inline alignment with text */
1839 [id^="sb-reviews-container"] .sb-item-helpful-icon {
1840 flex-shrink: 0;
1841 width: 16px;
1842 height: 16px;
1843 display: inline-flex;
1844 }
1845 [id^="sb-reviews-container"] .sb-item-helpful-count {
1846 line-height: 1.4;
1847 }
1848
1849 /* ── SMASH-782 — per-section read-more (Booking pros/cons) ──────────────
1850 Pure-CSS toggle: a hidden checkbox flipped by the `…` label swaps the
1851 truncated text for the full text. Used because the shared sbr-feed.js
1852 truncation only handles a single .sb-item-text per card, which Booking
1853 has none of. Scoped to .sbr-readmore-* so it never touches other
1854 providers' JS-driven .sb-expand. */
1855 [id^="sb-reviews-container"] .sbr-readmore-full {
1856 display: none;
1857 }
1858 [id^="sb-reviews-container"] .sbr-readmore-toggle:checked ~ .sbr-readmore-short {
1859 display: none;
1860 }
1861 [id^="sb-reviews-container"] .sbr-readmore-toggle:checked ~ .sbr-readmore-full {
1862 display: inline;
1863 }
1864 [id^="sb-reviews-container"] .sb-readmore-label {
1865 cursor: pointer;
1866 }
1867
1868
1869 /* a11y (SMASH-1383) — SMASH-782 read-more + media element:
1870 keep the read-more checkbox focusable but visually hidden (never
1871 display:none), ring its visual label on keyboard focus, and ring the
1872 photo/lightbox links. */
1873 .sbr-readmore-toggle{
1874 position: absolute;
1875 width: 1px;
1876 height: 1px;
1877 margin: -1px;
1878 padding: 0;
1879 border: 0;
1880 clip: rect(0 0 0 0);
1881 clip-path: inset(50%);
1882 overflow: hidden;
1883 white-space: nowrap;
1884 }
1885 .sbr-readmore-toggle:focus-visible ~ .sbr-readmore-short .sb-readmore-label{
1886 outline: 2px solid #0068A0;
1887 outline-offset: 2px;
1888 }
1889 .sb-reviewer-photo-link:focus-visible,
1890 .sb-single-image:focus-visible{
1891 outline: 2px solid #0068A0;
1892 outline-offset: 2px;
1893 }
1894