@webrotate360/imagerotator
Version:
WebRotate 360 Product Viewer Runtime
1,020 lines (913 loc) • 22 kB
CSS
.wr360_player
{
width:100%;
height:100%;
background:#fff;
-webkit-touch-callout:none;
-webkit-user-select:none;
-khtml-user-select:none;
-moz-user-select:none;
-ms-user-select:none;
user-select:none;
-webkit-tap-highlight-color:rgba(0,0,0,0);
-ms-touch-action:none;
touch-action:pan-y;
}
.wr360_player .stub_banner_wrap
{
position:relative;
}
.wr360_player .stub_banner
{
z-index:1;
width:100%;
height:auto;
animation:stub_banner_fadein 0.3s;
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
}
@keyframes stub_banner_fadein
{
from
{
opacity:0;
}
to
{
opacity:1;
}
}
.wr360_player .stub_banner > img
{
max-width:100% ;
max-height:100% ;
width:auto;
height:auto;
position:absolute;
top:0;
bottom:0;
margin:auto;
left:0;
right:0;
}
.wr360_player .container
{
position:relative;
overflow:hidden;
margin:0 ;
padding:0 ;
border:0 ;
box-shadow:none ;
background:inherit ;
max-width:none ;
font-family:Tahoma, sans-serif;
cursor:pointer ;
}
.wr360_player .container .progress_pulse
{
position:absolute;
width:50px;
height:50px;
bottom:0;
top:0;
left:0;
right:0;
margin:auto;
background-color:#282828;
border-radius:100%;
animation:wr360_popup_wait 0.9s infinite ease-out;
z-index:1;
display:none;
border:1px solid rgba(253,253,253,1);
}
@media (min-width: 200px)
{
.wr360_player.wr360_player_fs .container .progress_pulse
{
width:50px;
height:50px;
}
}
@media (min-width: 1200px)
{
.wr360_player.wr360_player_fs .container .progress_pulse
{
width:70px;
height:70px;
}
}
.wr360_player .container::before
{
display:none ;
}
.wr360_player .container .spinner_hint
{
width:100%;
height:100%;
z-index:11;
position:absolute;
left:0;
top:0;
display:none;
cursor:pointer;
}
.wr360_player .container .spinner_hint .spinner_hint_aligner
{
position:absolute;
bottom:20px;
left:0;
width:100%;
text-align:center;
z-index:1;
}
.wr360_player .container .spinner_hint .spinner_hint_item
{
padding:7px 18px 7px 18px;
line-height:14px;
color:#696969;
font-size:11px;
background:rgba(240, 240, 240, 0.88);
border-radius:0;
margin:0 auto 0 auto;
max-width:300px;
font-family:Tahoma,Helvetica,Sans-Serif;
opacity:0;
display:inline-block;
transition:0.2s ease;
}
@-moz-document url-prefix()
{
.wr360_player .container .spinner_hint .spinner_hint_item
{
padding-bottom:8px;
}
}
@media (min-width: 200px)
{
.wr360_player .container .theme_header .progress_wrap .progress_bar_anim_fs
{
margin:5px 0 0 10px;
height:18px;
}
.wr360_player .container .theme_header .progress_wrap .progress_bar_anim_fs span.percentnums
{
font-size:9px;
line-height:18px;
height:18px;
margin:0 0 0 5px;
}
}
@media (min-width: 1200px)
{
.wr360_player .container .theme_header .progress_wrap .progress_bar_anim_fs
{
margin:10px 0 0 15px;
height:28px;
}
.wr360_player .container .theme_header .progress_wrap .progress_bar_anim_fs span.percentnums
{
font-size:11px;
line-height:28px;
height:28px;
margin:0 0 0 6px;
}
}
.wr360_player .container .spinner_hint:hover .spinner_hint_item
{
background:rgba(225, 225, 225, 0.78);
color:#555;
transition:0.3s ease;
padding-left:22px;
padding-right:22px;
}
.wr360_player img
{
max-width:none ;
max-height:none ;
border:none ;
box-shadow:none ;
cursor:pointer ;
image-rendering:-webkit-optimize-contrast;
}
.wr360_player .arrow_zoom_cursor,
.wr360_player .arrow_zoom_cursor > img
{
cursor:url(../img/basic/pointer-zoom-in.svg), zoom-in ;
}
.wr360_player .arrow_zoom_cursor.container_zoomed,
.wr360_player .arrow_zoom_cursor.container_zoomed > img
{
cursor:url(../img/basic/pointer-zoom-out.svg), zoom-out ;
}
.wr360_player .arrow_zoom_cursor.container_zoomoff,
.wr360_player .arrow_zoom_cursor.container_zoomoff > img
{
cursor:url(../img/basic/pointer-zoom-off.svg), pointer ;
}
.wr360_player .zoom_cursor,
.wr360_player .zoom_cursor > img
{
cursor:zoom-in ;
}
.wr360_player .zoom_cursor.container_zoomed,
.wr360_player .zoom_cursor.container_zoomed > img
{
cursor:zoom-out ;
}
.wr360_player .zoom_cursor.container_zoomoff,
.wr360_player .zoom_cursor.container_zoomoff > img
{
cursor:pointer ;
}
/* Desktop Safari doesn't work well with -webkit-optimize-contrast so apply this Safari only hack */
@media not all and (min-resolution:.001dpcm)
{
@media
{
.wr360_player img
{
image-rendering:auto;
}
}
}
.wr360_player .container .panning
{
position:absolute;
left:0;
top:0;
background-size:100% 100%;
background-repeat:no-repeat;
background-position:center;
z-index:1;
display:none;
}
.wr360_player .container .theme_panel_back
{
position:absolute;
width:0 ;
bottom:0 ;
left:0 ;
margin:0 ;
height:0 ;
z-index:0 ;
}
.wr360_player .container .theme_panel
{
position:absolute;
width:0 ;
bottom:0 ;
left:0 ;
margin:0 ;
height:0 ;
z-index:0 ;
cursor:pointer ;
}
.wr360_player .container .theme_header
{
height:20px;
z-index:2;
margin:3px 0 0 0;
position:absolute;
top:0;
left:0;
width:100%;
font-family:Tahoma,Helvetica,Sans-Serif;
}
.wr360_player .container .theme_header .progress_wrap
{
float:left;
cursor:pointer;
}
.wr360_player .container .theme_header .progress_wrap .progress_bar_anim_fs
{
margin:10px 0 0 15px;
height:28px;
-webkit-user-select:none;
-moz-user-select:none;
-ms-user-select:none;
user-select:none;
display:none;
}
.wr360_player .container .theme_header .progress_wrap .progress_bar_anim
{
margin:1px 0 0 6px;
height:16px;
-webkit-user-select:none;
-moz-user-select:none;
-ms-user-select:none;
user-select:none;
display:none;
}
.wr360_player .container .theme_header .progress_wrap .progress_bar_anim_fs div,
.wr360_player .container .theme_header .progress_wrap .progress_bar_anim div
{
height:100%;
width:5px;
opacity:0;
margin:0 2px 0 0;
background-color:#bbb;
float:left;
overflow:hidden;
-webkit-animation:wr360_progress_delay 1.2s infinite ease-in-out;
animation:wr360_progress_delay 1.2s infinite ease-in-out;
}
.wr360_player .container .theme_header .progress_wrap .progress_bar_anim_fs div
{
width:6px;
margin:0 3px 0 0;
background-color:#aaa;
}
.wr360_player .container .theme_header .progress_wrap .progress_bar_anim .animbar1,
.wr360_player .container .theme_header .progress_wrap .progress_bar_anim_fs .animbar1
{
-webkit-animation-delay:-1.2s;
animation-delay:-1.2s;
}
.wr360_player .container .theme_header .progress_wrap .progress_bar_anim .animbar2,
.wr360_player .container .theme_header .progress_wrap .progress_bar_anim_fs .animbar2
{
-webkit-animation-delay:-1.1s;
animation-delay:-1.1s;
}
.wr360_player .container .theme_header .progress_wrap .progress_bar_anim .animbar3,
.wr360_player .container .theme_header .progress_wrap .progress_bar_anim_fs .animbar3
{
-webkit-animation-delay:-1.0s;
animation-delay:-1.0s;
}
.wr360_player .container .theme_header .progress_wrap .progress_bar_anim .animbar4,
.wr360_player .container .theme_header .progress_wrap .progress_bar_anim_fs .animbar4
{
-webkit-animation-delay:-0.9s;
animation-delay:-0.9s;
}
.wr360_player .container .theme_header .progress_wrap .progress_bar_anim .animbar5,
.wr360_player .container .theme_header .progress_wrap .progress_bar_anim_fs .animbar5
{
-webkit-animation-delay:-0.8s;
animation-delay:-0.8s;
}
.wr360_player .container .theme_header .progress_wrap .progress_bar_anim span.percentnums
{
font-size:8px;
line-height:16px;
height:16px;
width:25px;
float:left;
color:#999;
margin:0 0 0 4px;
display:none;
}
.wr360_player .container .theme_header .progress_wrap .progress_bar_anim_fs span.percentnums
{
font-size:11px;
line-height:28px;
height:28px;
width:25px;
float:left;
color:#999;
margin:0 0 0 6px;
display:none;
}
@-moz-document url-prefix()
{
.wr360_player .container .theme_header .progress_wrap .progress_bar_anim span.percentnums,
.wr360_player .container .theme_header .progress_wrap .progress_bar_anim_fs span.percentnums
{
margin-top: -1px;
}
}
@-webkit-keyframes wr360_progress_delay
{
0%, 40%, 100%
{
-webkit-transform:scaleY(0.5);
}
20%
{
-webkit-transform:scaleY(1.0);
opacity:1;
}
}
@keyframes wr360_progress_delay
{
0%, 40%, 100%
{
transform:scaleY(0.5);
-webkit-transform: scaleY(0.5);
}
20%
{
transform:scaleY(1.0);
-webkit-transform: scaleY(1.0);
opacity:1;
}
}
.wr360_player .container .theme_panel .toolbar
{
position:relative;
height:0 ;
padding:0 ;
margin:0 ;
pointer-events:none;
}
.wr360_player .container .theme_panel .toolbar a.fullscreenoff_button,
.wr360_player .container .theme_panel .toolbar a.fullscreenon_button,
.wr360_player .container .theme_panel .toolbar a.hotspotsoff_button,
.wr360_player .container .theme_panel .toolbar a.hotspotson_button,
.wr360_player .container .theme_panel .toolbar a.zoomout_button,
.wr360_player .container .theme_panel .toolbar a.zoomin_button,
.wr360_player .container .theme_panel .toolbar a.right_button,
.wr360_player .container .theme_panel .toolbar a.pause_button,
.wr360_player .container .theme_panel .toolbar a.play_button,
.wr360_player .container .theme_panel .toolbar a.left_button,
.wr360_player .container .theme_panel .toolbar a.down_button,
.wr360_player .container .theme_panel .toolbar a.up_button
{
background:none ;
display:none ;
width:0 ;
height:0 ;
margin:0 ;
}
.wr360_player a.fullscreenoff_button
{
background:url(../img/empty/fullscreenoff.svg) no-repeat center center;
width:50px;
height:50px;
top:20px;
right:23px;
z-index:10;
position:absolute;
cursor:pointer;
display:block;
opacity:1;
transition:none ;
}
.wr360_player a.fullscreenoff_button:hover
{
opacity:0.8;
}
.wr360_player .container .hotspot_indicator
{
z-index:4;
cursor:pointer;
background-repeat:no-repeat;
--anim-duration:2000ms;
--back-color-hover:auto;
--back-opacity-hover:auto;
outline: 1px solid transparent;
}
.wr360_player .container .hotspot_indicator.indicator_dummy
{
visibility:hidden;
}
.wr360_player .container .clip_indicator.indicator_active,
.wr360_player .container .clip_indicator:hover
{
background-color:var(--back-color-hover) ;
opacity:var(--back-opacity-hover) ;
transition:opacity 0.1s ease-out;/*, background-color 0.1s ease-in;*/
}
.wr360_player .container .indicator_effect_flash
{
animation:wr360_effect_flash var(--anim-duration) ease-out 10ms infinite;
}
.wr360_player .container .indicator_effect_pulseRinged
{
position:relative;
}
.wr360_player .container .indicator_effect_pulseRinged::after
{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
border-radius:50%;
transform-origin:center;
z-index:1;
animation:wr360_effect_pulse_ringed var(--anim-duration) ease-out 10ms infinite;
}
.wr360_player .container .indicator_effect_pulseRinged::before
{
content:"";
position:absolute;
top:-1px;
left:-1px;
width:100%;
height:100%;
border-radius:50%;
border:1px solid rgba(200, 200, 200, 0);
transform-origin:center;
z-index:2;
animation:wr360_effect_pulse_ringed_border var(--anim-duration) ease-out 10ms infinite;
}
.wr360_player .container .indicator_effect_spin
{
animation:wr360_effect_spin var(--anim-duration) linear 10ms infinite;
}
.wr360_player .container .indicator_effect_scaleUp
{
transform:scale(0, 0);
animation:wr360_effect_scale_up .3s cubic-bezier(.22, .02, .13, .99) forwards;
}
.wr360_player .container .indicator_effect_pulseSimple
{
animation:wr360_effect_pulse_simple var(--anim-duration) ease-out 10ms infinite;
}
.wr360_player .container .indicator_effect_pulseOuter
{
border-radius:50%;
animation:wr360_effect_pulse_outer var(--anim-duration) ease-out 10ms infinite;
}
.wr360_player .container .indicator_effect_pulseRipple
{
position:relative;
box-sizing:border-box;
}
.wr360_player .container .indicator_effect_pulseRipple::after,
.wr360_player .container .indicator_effect_pulseRipple::before
{
content:"";
position:absolute;
box-sizing:border-box;
top:0;
left:0;
width:100%;
height:100%;
border-radius:50%;
background:rgba(0,0,0,0);
border:1px solid #eee;
transform-origin:center;
animation:wr360_effect_pulse_ripple var(--anim-duration) linear 10ms infinite;
}
.wr360_player .container .indicator_effect_pulseRipple::before
{
animation-delay:1s;
}
.wr360_player .container .indicator_effect_pulseDoubleOuter
{
border-radius:50%;
animation:wr360_effect_pulse_double_outer var(--anim-duration) ease-out 10ms infinite;
}
.wr360_player .container .hotspot_indicator_hidden
{
display:none ;
}
.wr360_player .container .indicator_link_wrap
{
z-index:3;
position:absolute;
}
.wr360_player .container .indicator_link
{
transform-origin:top left;
position:absolute;
}
.wr360_player .container .position_rollover
{
position:absolute;
left:0;
top:0;
visibility:hidden;
z-index:15;
cursor:pointer;
}
.wr360_player .container .position_rollover > a
{
display:inline-block;
box-sizing:border-box;
text-decoration:none;
}
.wr360_player .container .position_rollover > div
{
box-sizing:border-box;
}
.wr360_player .container .lightbox_rollover
{
z-index:18;
width:100%;
height:100%;
background-color:rgba(0, 0, 0, 1);
position:absolute;
top:0;
left:0;
display:none;
cursor:default;
}
.wr360_player .container .lightbox_rollover *,
.wr360_player .container .lightbox_rollover2 *
{
box-sizing:border-box;
}
.wr360_player .container .lightbox_rollover .closelbox
{
position:absolute;
background:url(../img/thin/lightbox_close.svg) 7px 7px no-repeat;
right:15px;
top:15px;
width:28px;
height:28px;
cursor:pointer;
}
.wr360_player .container .lightbox_rollover .closelbox:hover
{
opacity:0.8;
}
.wr360_player .container .lightbox_rollover .img_wrap
{
width:100%;
height:100%;
max-width:100%;
max-height:100%;
background-position:center center;
background-repeat:no-repeat;
}
.wr360_player .container .lightbox_rollover a.img_wrap
{
display:block;
}
.wr360_player .container .lightbox_rollover .img_title
{
position:absolute;
padding:0;
max-width:100%;
width:100%;
text-align:left;
bottom:0;
left:0;
background-color:rgba(65, 65, 65, 0.9);
}
.wr360_player .container .lightbox_rollover .img_title a
{
color:#ff0000;
}
.wr360_player .container .lightbox_rollover .img_title .usr_text
{
display:inline-block;
color:#fff;
width:50%;
text-align:left;
padding:15px 20px 19px 20px;
line-height:19px;
font-size:16px;
}
.wr360_player .container .lightbox_rollover .img_title a.usr_text
{
display:block;
text-decoration: none;
}
.wr360_player .container .lightbox_rollover2
{
position:relative;
padding:0;
width:100%;
height:100%;
top:0;
left:0;
z-index:18;
background:transparent;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
}
.wr360_player .container .lightbox_rollover2 .lbox2_wrap
{
width:100%;
height:100%;
position:relative;
cursor:auto;
}
.wr360_player .container .lightbox_rollover2 .closelbox
{
position:absolute;
right:7px;
top:7px;
width:26px;
height:26px;
opacity:1;
background:none;
cursor:pointer;
z-index:2;
}
.wr360_player .container .lightbox_rollover2 .closelbox:hover
{
opacity:0.7;
}
.wr360_player .container .lightbox_rollover2 .closelbox > div
{
position:absolute;
left:calc(50% - 1px);
content:' ';
height:100%;
width:2px;
background-color:#a3a3a3;
}
.wr360_player .container .lightbox_rollover2 .closelbox div:nth-child(1)
{
transform:rotate(45deg);
}
.wr360_player .container .lightbox_rollover2 .closelbox div:nth-child(2)
{
transform:rotate(-45deg);
}
.wr360_player .container .lightbox_rollover2 .lbox2_content
{
width:100%;
height:100%;
position:relative;
z-index:1;
overflow:auto;
padding:0 5px 0 5px;
scrollbar-width:thin;
scrollbar-color:#b3b3b3 transparent;
cursor:auto;
}
.wr360_player .container .lightbox_rollover2 .lbox2_content::-webkit-scrollbar
{
width:6px;
}
.wr360_player .container .lightbox_rollover2 .lbox2_content::-webkit-scrollbar-thumb
{
background-color:#b3b3b3;
border-radius:6px;
}
.wr360_player .container .lightbox_rollover2 a.lbox2_content
{
display:block;
text-decoration:none;
color:inherit;
cursor:pointer;
}
.wr360_player .container .lightbox_rollover2 .lbox2_content.lbox2_frame
{
overflow:hidden;
padding:0;
}
.wr360_player .container .lightbox_rollover2 .lbox2_content iframe
{
width:100%;
height:100%;
border:none;
}
.wr360_player .container .lightbox_rollover2 .lbox2_content img
{
cursor:auto ;
}
.wr360_player .container .lightbox_rollover2 .lbox2_wait
{
position:absolute;
width:50px;
height:50px;
bottom:0;
top:0;
left:0;
right:0;
margin:auto;
background-color:#999;
border-radius:100%;
animation:wr360_popup_wait 0.9s infinite ease-in-out;
z-index:0;
}
@keyframes wr360_effect_pulse_ringed
{
0%
{
box-shadow:0 0 1px 0 rgba(238, 238, 238, 0.7);
}
50%
{
box-shadow:0 0 1px 7px rgba(238, 238, 238, 0.7);
}
100%
{
box-shadow:0 0 1px 0 rgba(238, 238, 238, 0.7);
}
}
@keyframes wr360_effect_pulse_ringed_border
{
0%
{
transform:scale(1);
border-color:rgba(200, 200, 200, 0);
}
50%
{
transform:scale(1.46);
border-color:rgba(200, 200, 200, 0.7);
}
100%
{
transform:scale(1);
border-color:rgba(200, 200, 200, 0);
}
}
@keyframes wr360_effect_spin
{
100%
{
transform:rotate(360deg);
}
}
@keyframes wr360_effect_scale_up
{
100%
{
transform:scale(1, 1);
}
}
@keyframes wr360_effect_pulse_simple
{
0%, 100%
{
transform:scale(0.84);
opacity:0.85;
}
50%
{
transform:scale(1.0);
opacity:1;
}
}
@keyframes wr360_effect_pulse_outer
{
0%
{
box-shadow: 0 0 1px 0 rgba(238, 238, 238, 1), 0 0 0 0 rgba(238, 238, 238, 0);
}
100%
{
box-shadow:0 0 1px 15px rgba(238, 238, 238, 0), 0 0 0 0 rgba(238, 238, 238, 0.7);
}
}
@keyframes wr360_effect_pulse_ripple
{
0%
{
transform:scale(1);
opacity:0.9;
}
90%
{
transform:scale(2.0);
opacity:0;
}
100%
{
transform:scale(1);
opacity:0;
}
}
@keyframes wr360_effect_pulse_double_outer
{
0%
{
box-shadow:0 0 0 1px rgba(0, 0, 0, 0), 0 0 0 0 rgba(0, 0, 0, 0);
}
15%
{
box-shadow:0 0 0 5px rgba(238, 238, 238, 0.5), 0 0 3px 10px rgba(238, 238, 238, 0.5);
}
100%
{
box-shadow:0 0 0 4px rgba(0, 0, 0, 0), 0 0 3px 20px rgba(238, 238, 238, 0);
}
}
@keyframes wr360_popup_wait
{
0%
{
transform:scale(0);
opacity:1;
border-color:rgba(253,253,253,1);
}
60%
{
transform:scale(0.8);
opacity:0.3;
border-color:rgba(253,253,253,0.8);
}
100%
{
transform:scale(1.0);
opacity:0;
border-color:rgba(253,253,253,0);
}
}
@keyframes wr360_effect_flash
{
75%
{
opacity:1;
}
90%
{
opacity:0.1;
}
}