.rvs {
position: relative;
padding: 50px 0;
background: #F8F8FB;
}
@media (min-width: 992px) { .rvs { padding: 108px 0; } }
.rvs-strip {
display: flex;
gap: 18px;
overflow-x: auto;
scroll-snap-type: x mandatory;
padding: 4px;
margin: -4px;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
}
.rvs-strip::-webkit-scrollbar { display: none; }
@media (min-width: 992px) { .rvs-strip { gap: 22px; } }
.rvs-col {
display: flex;
flex-direction: column;
flex: 0 0 88%;
scroll-snap-align: start;
}
@media (min-width: 768px) { .rvs-col { flex: 0 0 calc((100% - 18px) / 2); } }
@media (min-width: 992px) { .rvs-col { flex: 0 0 calc((100% - 44px) / 3); } }
.rvs-col > .rvi { flex: 1 1 auto; }
.rvs-foot {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: 14px;
margin-top: 22px;
}
.rvs-more {
font-family: 'Open Sans', 'Open Sans Fb', 'Open Sans Fb A', sans-serif;
font-size: 15px;
font-weight: 700;
color: #0000ff;
text-decoration: none;
transition: color .15s ease;
}
.rvs-more:hover, .rvs-more:focus { color: #0000e0; text-decoration: none; }
.rvs-controls { display: flex; gap: 10px; }
.rvs-arrow {
width: 44px;
height: 44px;
padding: 0;
border: 1px solid rgba(0, 0, 255, .25);
border-radius: 50%;
background: #fff;
font-size: 17px;
line-height: 1;
color: #0000ff;
cursor: pointer;
transition: background-color .15s, border-color .15s;
}
.rvs-arrow:hover { background: #fff; border-color: #0000ff; }
.rvs-arrow:focus-visible { outline: 2px solid #0000ff; outline-offset: 2px; }
.rvs-strip:focus-visible { outline: 2px solid #0000ff; outline-offset: 2px; }
.rvs-arrow:focus:not(:focus-visible),
.rvs-strip:focus:not(:focus-visible),
.rvi-film:focus:not(:focus-visible),
.rvs-more:focus:not(:focus-visible),
.rvs-lb-close:focus:not(:focus-visible) {
outline: none;
}
.rvi {
display: flex;
flex-direction: column;
height: 100%;
margin: 0;
padding: 30px 26px;
background: #fff;
}
.rvi-stars { display: flex; gap: 2px; margin: 0 0 14px; line-height: 1; }
.rvi-stars img { display: block; width: 14px; height: 14px; }
.rvi-quote { margin: 0 0 20px; }
.rvi-quote p {
margin: 0;
font-size: 15px;
line-height: 1.6;
color: rgba(43, 41, 45, .72);
}
.rvi-quote p + p { margin-top: 12px; }
.rvi-quote b { font-weight: 700; color: #2B292D; }
@media (min-width: 992px) {
.rvi--s16 .rvi-quote p { font-size: 15px; }
.rvi--s18 .rvi-quote p { font-size: 17px; }
}
.rvi-by { display: flex; align-items: center; margin-top: auto; min-height: 58px; }
.rvi-photo {
flex: 0 0 auto;
width: 40px;
height: 40px;
margin-right: 12px;
border-radius: 50%;
object-fit: cover;
}
.rvi-mono {
display: flex;
align-items: center;
justify-content: center;
background: #e7e7ee;
font-family: 'Montserrat', 'Montserrat Fb', 'Montserrat Fb A', sans-serif;
font-size: 13px;
font-weight: 700;
letter-spacing: .02em;
color: rgba(43, 41, 45, .72);
}
.rvi-who { display: block; min-width: 0; }
.rvi-name {
display: block;
font-family: 'Montserrat', 'Montserrat Fb', 'Montserrat Fb A', sans-serif;
font-size: 15px;
font-weight: 700;
letter-spacing: -0.2px;
line-height: 1.3;
color: #2B292D;
}
@media (min-width: 992px) { .rvi-name { font-size: 16px; } }
.rvi-role {
display: block;
margin-top: 2px;
font-size: 12px;
line-height: 1.4;
color: rgba(43, 41, 45, .72);
}
@media (min-width: 992px) { .rvi-role { font-size: 13px; } }
.rvi-film {
display: block;
position: relative;
flex: 0 0 auto;
width: 64px;
margin: 0 0 0 10px;
padding: 0;
border: 0;
background: none;
cursor: pointer;
}
.rvi-film-poster {
display: block;
width: 100%;
height: auto;
border-radius: 4px;
aspect-ratio: 16 / 9;
object-fit: cover;
}
.rvi-film-play {
position: absolute;
top: 50%;
left: 50%;
width: 26px;
height: 18px;
margin: -9px 0 0 -13px;
border-radius: 4px;
background: rgba(43, 41, 45, .78);
transition: background-color .15s ease;
}
.rvi-film-play:after {
content: "";
position: absolute;
top: 50%;
left: 50%;
margin: -4px 0 0 -2px;
border-style: solid;
border-width: 4px 0 4px 7px;
border-color: transparent transparent transparent #fff;
}
@media (min-width: 768px) { .rvi-film { width: 96px; } }
.rvi-film:before {
content: "";
position: absolute;
top: -6px;
right: 0;
bottom: -6px;
left: 0;
}
.rvi-film:hover .rvi-film-play { background: #0000ff; }
.rvi-film:focus-visible { outline: 2px solid #0000ff; outline-offset: 2px; }
.rvs-lb {
position: fixed;
top: 0;
left: 0;
z-index: 1100;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
padding: 20px;
}
.rvs-lb[hidden] { display: none; }
.rvs-lb-veil {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(43, 41, 45, .82);
}
.rvs-lb-box {
position: relative;
width: 100%;
max-width: 880px;
}
.rvs-lb-frame {
position: relative;
height: 0;
padding-bottom: 56.25%;
background: #2B292D;
}
.rvs-lb-frame iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: 0;
}
.rvs-lb-cap {
margin: 12px 0 0;
font-family: 'Open Sans', 'Open Sans Fb', 'Open Sans Fb A', sans-serif;
font-size: 14px;
line-height: 1.5;
color: rgba(255, 255, 255, .82);
}
.rvs-lb-close {
position: absolute;
right: 0;
bottom: 100%;
margin: 0 0 8px;
padding: 0;
width: 36px;
height: 36px;
border: 0;
border-radius: 50%;
background: rgba(255, 255, 255, .14);
font-size: 24px;
line-height: 1;
color: #fff;
cursor: pointer;
transition: background-color .15s ease;
}
.rvs-lb-close:hover { background: rgba(255, 255, 255, .28); }
.rvs-lb-close:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.rvs-col--pair > .rvi + .rvi { margin-top: 14px; }
@media (min-width: 992px) {
.rvs-col--pair > .rvi + .rvi { margin-top: 18px; }
.rvs-col--pair > .rvi { padding: 16px 20px 15px; }
.rvs-col--pair .rvi .rvi-quote p { font-size: 15px; line-height: 1.6; }
}
.rvs-col--pair .rvi-quote { margin-bottom: 12px; }
.rvs-col--pair .rvi-stars { margin-bottom: 8px; }
.rvs-col--pair .rvi-stars img { width: 12px; height: 12px; }
.rvs-col--pair .rvi-by { min-height: 40px; }
.rvs-col--pair .rvi-photo { width: 32px; height: 32px; margin-right: 10px; }
.rvs-col--pair .rvi-name { font-size: 14px; }
.rvs-col--pair .rvi-role { font-size: 12px; }
.rvs .sr-only {
position: absolute;
width: 1px; height: 1px;
padding: 0; margin: -1px;
overflow: hidden;
clip: rect(0 0 0 0);
white-space: nowrap;
border: 0;
}
