File size: 4,052 Bytes
975fa41
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ec67ce2
 
975fa41
ec67ce2
 
 
 
975fa41
 
ec67ce2
 
 
 
 
 
975fa41
ec67ce2
670d473
ec67ce2
 
 
 
 
975fa41
 
 
 
 
 
 
 
 
 
ec67ce2
 
 
975fa41
 
 
ec67ce2
975fa41
 
 
 
ec67ce2
 
975fa41
 
 
 
 
 
 
 
 
ec67ce2
975fa41
 
ec67ce2
 
975fa41
ec67ce2
975fa41
 
ec67ce2
 
 
 
 
975fa41
ec67ce2
 
 
 
 
 
 
 
975fa41
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
/* viewer.css */

/* Widget container styling */
.ply-widget-container {
  position: relative;
  width: 100%;
  height: 0;
  /* padding-bottom is set dynamically inline for aspect ratio */
}

/* When in fake fullscreen mode (iOS fallback) */
.ply-widget-container.fake-fullscreen {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  padding-bottom: 0 !important;
  z-index: 9999 !important;
}

/* GIF Preview styling */
.gif-preview-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid #474558;
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
}

.gif-preview-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Viewer Container styling */
.viewer-container {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #FEFEFD;
  border: 1px solid #474558;
  border-radius: 10px;
  overflow: hidden;
  box-sizing: border-box;
}

/* Canvas fills the viewer container */
.ply-canvas {
  width: 100%;
  height: 100%;
  display: block;
}

/* Progress dialog styling (centered) */
.progress-dialog {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: none;
  background: rgba(255,255,255,0.9);
  padding: 20px;
  border-radius: 5px;
  z-index: 1000;
  display: none;
}

/* Menu (instructions) content styling */
.menu-content {
  display: none;
  position: absolute;
  top: 70px;
  right: 15px;
  background: #FFFEF4;
  border: 1px solid #474558;
  border-radius: 5px;
  padding: 10px;
  font-size: 15px;
  line-height: 1.4;
  color: #474558;
}

/* Button styling */
.widget-button {
  position: absolute;
  width: 45px;
  height: 45px;
  background-color: #FFFEF4;
  border: 1px solid #474558;
  border-radius: 50%;
  cursor: pointer;
  font-size: 14px;
  color: #474558;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Specific button positions for desktop */
.close-btn {
  top: 17px;
  left: 15px;
  font-family: sans-serif;
}

.fullscreen-toggle {
  top: 17px;
  right: 15px;
}

.help-toggle {
  top: 17px;
  right: 70px;
  font-size: 22px;
}

/* Reset camera button repositioned */
.reset-camera-btn {
  top: 17px;
  right: 120px;
  font-size: 22px;
  line-height: normal;
  padding: 0;
}

/* New toggle-quality button:
   - Placed to the left of the reset camera button.
   - Longer horizontally to fit the text.
   - Maintains the same height and uses horizontal padding for extra space.
*/
.toggle-quality-btn {
  top: 17px;
  right: 170px;
  min-width: 170px;  /* Ensures the text fits */
  height: 45px;
  padding: 0 10px;
  border-radius: 22.5px; /* Half the height for a pill shape */
  text-align: center;
  white-space: nowrap;
}

/* Adjust the reset icon position */
.reset-icon {
  display: inline-block;
  transform: translateY(-3px);
}

/* --- Mobile adjustments: when the widget container has the "mobile" class --- */
.ply-widget-container.mobile .widget-button {
  width: 30px;    /* 45px scaled down */
  height: 30px;
  font-size: 10px;
}

.ply-widget-container.mobile .help-toggle {
  font-size: 15px; /* Scaled down from 22px */
}

/* Adjust button positions for mobile */
.ply-widget-container.mobile .close-btn {
  top: 11px;    /* 17px scaled down */
  left: 10px;   /* 15px scaled down */
}

.ply-widget-container.mobile .fullscreen-toggle {
  top: 11px;
  right: 10px;
}

.ply-widget-container.mobile .help-toggle {
  top: 11px;
  right: 47px;
}

/* Mobile reset camera button remains at right:82px */
.ply-widget-container.mobile .reset-camera-btn {
  top: 11px;
  right: 82px;
}

/* Mobile toggle-quality button:
   - Placed to the left of the reset camera button.
   - Has a longer (wider) layout to accommodate text.
*/
.ply-widget-container.mobile .toggle-quality-btn {
  top: 11px;
  right: 110px;
  min-width: 80px;
  height: 30px;
  padding: 0 5px;
  border-radius: 15px;
  text-align: center;
  white-space: nowrap;
  font-size: 10px;
}