UNPKG

15.1 kBCSSView Raw
1.color-calendar {
2 position: relative;
3 display: inline-flex;
4 flex-direction: column;
5 width: auto;
6 height: auto;
7 box-sizing: border-box;
8 -webkit-user-select: none;
9 -moz-user-select: none;
10 -ms-user-select: none;
11 user-select: none;
12 overflow: hidden;
13 font-family: var(--cal-font-family-body);
14 font-size: 1rem; }
15
16.color-calendar .calendar__header {
17 position: relative;
18 display: grid;
19 grid-template-columns: repeat(7, minmax(20px, 55px));
20 font-family: var(--cal-font-family-header); }
21
22.color-calendar .calendar__monthyear {
23 font-size: 1.5rem;
24 margin: 0 auto;
25 text-align: center;
26 grid-column: 2 / span 5;
27 display: flex;
28 align-items: center;
29 justify-content: center; }
30 .color-calendar .calendar__monthyear .calendar__month {
31 cursor: pointer; }
32 .color-calendar .calendar__monthyear .calendar__year {
33 cursor: pointer; }
34
35.color-calendar .calendar__arrow {
36 height: 35px;
37 width: 100%;
38 position: relative;
39 -webkit-touch-callout: none;
40 -webkit-user-select: none;
41 -moz-user-select: none;
42 -ms-user-select: none;
43 user-select: none;
44 -webkit-tap-highlight-color: transparent;
45 z-index: 101;
46 display: flex;
47 align-items: center;
48 justify-content: center; }
49 .color-calendar .calendar__arrow-inner {
50 width: 35px;
51 height: 35px;
52 position: relative;
53 cursor: pointer;
54 display: flex;
55 align-items: center;
56 justify-content: center; }
57 .color-calendar .calendar__arrow-prev {
58 position: relative;
59 display: flex;
60 align-items: center;
61 justify-content: center; }
62 .color-calendar .calendar__arrow-prev .calendar__arrow-inner::before {
63 margin-left: 0.3em;
64 transform: rotate(-135deg); }
65 .color-calendar .calendar__arrow-next {
66 position: relative;
67 display: flex;
68 align-items: center;
69 justify-content: center; }
70 .color-calendar .calendar__arrow-next .calendar__arrow-inner::before {
71 margin-right: 0.3em;
72 transform: rotate(45deg); }
73
74.color-calendar .calendar__body {
75 height: auto;
76 overflow: hidden; }
77
78.color-calendar .calendar__weekdays {
79 display: grid;
80 grid-template-columns: repeat(7, minmax(20px, 55px));
81 margin-bottom: 5px;
82 font-family: var(--cal-font-family-weekdays); }
83 .color-calendar .calendar__weekdays .calendar__weekday {
84 display: flex;
85 align-items: center;
86 justify-content: center;
87 height: 40px; }
88
89.color-calendar .calendar__days {
90 display: grid;
91 grid-template-columns: repeat(7, minmax(20px, 55px));
92 grid-template-rows: repeat(6, minmax(30px, 40px));
93 font-family: var(--cal-font-family-body); }
94 .color-calendar .calendar__days .calendar__day {
95 position: relative;
96 z-index: 101;
97 display: flex;
98 align-items: center;
99 justify-content: center; }
100 .color-calendar .calendar__days .calendar__day-text {
101 cursor: pointer; }
102 .color-calendar .calendar__days .calendar__day-box {
103 position: absolute;
104 top: 50%;
105 left: 50%;
106 transform: translate(-50%, -50%);
107 width: calc(55% + 8px);
108 height: 90%;
109 opacity: 0;
110 z-index: -1;
111 cursor: pointer;
112 transition: opacity 0.3s ease-out;
113 will-change: opacity; }
114 .color-calendar .calendar__days .calendar__day-event {
115 /* Event Bullet */ }
116 .color-calendar .calendar__days .calendar__day-event .calendar__day-bullet {
117 position: absolute;
118 top: 80%;
119 border-radius: 50%;
120 width: 4px;
121 height: 4px;
122 left: 50%;
123 transform: translateX(-50%);
124 overflow: hidden;
125 cursor: pointer; }
126 .color-calendar .calendar__days .calendar__day-selected:not(.calendar__day-today) .calendar__day-box {
127 position: absolute;
128 top: 50%;
129 left: 50%;
130 transform: translate(-50%, -50%);
131 width: calc(55% + 8px);
132 height: 90%;
133 z-index: -1;
134 cursor: pointer; }
135
136.color-calendar .calendar__picker {
137 position: absolute;
138 z-index: 201;
139 width: 100%;
140 top: 75px;
141 left: 0;
142 bottom: 0;
143 background-color: white;
144 display: flex;
145 align-items: center;
146 justify-content: center;
147 visibility: hidden;
148 opacity: 0;
149 transition: all 0.3s ease;
150 font-family: var(--cal-font-family-body); }
151 .color-calendar .calendar__picker .calendar__picker-month {
152 width: 100%;
153 display: grid;
154 grid-template-columns: repeat(3, minmax(0, 1fr));
155 grid-template-rows: repeat(4, minmax(0, 1fr));
156 grid-gap: 1rem 6%;
157 gap: 1rem 6%;
158 margin: 8%;
159 transition: none; }
160 .color-calendar .calendar__picker .calendar__picker-month-option {
161 position: relative;
162 text-align: center;
163 padding: 15px 0;
164 font-weight: 700;
165 color: #323232;
166 border-radius: var(--cal-border-radius);
167 align-self: center;
168 cursor: pointer; }
169 .color-calendar .calendar__picker .calendar__picker-month-option::after {
170 content: "";
171 width: 100%;
172 height: 50px;
173 position: absolute;
174 top: 50%;
175 left: 50%;
176 transform: translate(-50%, -50%);
177 background-color: var(--cal-color-primary);
178 border-radius: var(--cal-border-radius);
179 opacity: 0.1;
180 z-index: -1; }
181 .color-calendar .calendar__picker .calendar__picker-month-option:hover:after {
182 opacity: 0.08; }
183 .color-calendar .calendar__picker .calendar__picker-month-selected {
184 color: white; }
185 .color-calendar .calendar__picker .calendar__picker-month-selected::after {
186 opacity: 1; }
187 .color-calendar .calendar__picker .calendar__picker-month-selected:hover:after {
188 opacity: 0.9; }
189 .color-calendar .calendar__picker .calendar__picker-year {
190 width: 100%;
191 display: grid;
192 grid-template-columns: repeat(3, minmax(0, 1fr));
193 grid-template-rows: repeat(4, minmax(0, 1fr));
194 grid-gap: 1rem 6%;
195 gap: 1rem 6%;
196 margin: 8%;
197 transition: none; }
198 .color-calendar .calendar__picker .calendar__picker-year-option {
199 position: relative;
200 text-align: center;
201 padding: 15px 0;
202 font-weight: 700;
203 color: #323232;
204 border-radius: var(--cal-border-radius);
205 align-self: center;
206 cursor: pointer; }
207 .color-calendar .calendar__picker .calendar__picker-year-option::after {
208 content: "";
209 width: 100%;
210 height: 50px;
211 position: absolute;
212 top: 50%;
213 left: 50%;
214 transform: translate(-50%, -50%);
215 background-color: var(--cal-color-primary);
216 border-radius: var(--cal-border-radius);
217 opacity: 0.1;
218 z-index: -1; }
219 .color-calendar .calendar__picker .calendar__picker-year-option:hover:after {
220 opacity: 0.08; }
221 .color-calendar .calendar__picker .calendar__picker-year-selected {
222 color: white; }
223 .color-calendar .calendar__picker .calendar__picker-year-selected::after {
224 opacity: 1; }
225 .color-calendar .calendar__picker .calendar__picker-year-selected:hover:after {
226 opacity: 0.9; }
227 .color-calendar .calendar__picker .calendar__picker-year-arrow {
228 position: absolute;
229 opacity: 0.4;
230 border-radius: var(--cal-border-radius);
231 cursor: pointer;
232 transition: all 0.3s ease; }
233 .color-calendar .calendar__picker .calendar__picker-year-arrow-left {
234 top: 0;
235 bottom: 0;
236 left: 0;
237 display: flex;
238 align-items: center;
239 justify-content: center;
240 padding-left: 10px;
241 padding-right: 4px; }
242 .color-calendar .calendar__picker .calendar__picker-year-arrow-right {
243 top: 0;
244 bottom: 0;
245 right: 0;
246 display: flex;
247 align-items: center;
248 justify-content: center;
249 padding-left: 4px;
250 padding-right: 10px; }
251 .color-calendar .calendar__picker .calendar__picker-year-arrow:hover {
252 opacity: 1;
253 background-color: #f8f8f8; }
254
255.chevron-thin-left {
256 display: inline-block;
257 border-right: 2px solid var(--cal-color-primary);
258 border-bottom: 2px solid var(--cal-color-primary);
259 width: 10px;
260 height: 10px;
261 transform: rotate(-225deg); }
262
263.chevron-thin-right {
264 display: inline-block;
265 border-right: 2px solid var(--cal-color-primary);
266 border-bottom: 2px solid var(--cal-color-primary);
267 width: 10px;
268 height: 10px;
269 transform: rotate(-45deg); }
270
271.color-calendar.month-left-align .calendar__header .calendar__monthyear {
272 grid-column: 1 / span 5;
273 margin: 0;
274 justify-content: flex-start;
275 padding-left: 5%; }
276
277.color-calendar.glass {
278 --cal-color-primary: #EC407A;
279 --cal-font-family-header: 'Open Sans', sans-serif;
280 --cal-font-family-weekdays: 'Open Sans', sans-serif;
281 --cal-font-family-body: 'Open Sans', sans-serif;
282 --cal-drop-shadow: 0 7px 30px -10px rgba(150, 170, 180, 0.5);
283 --cal-border: none;
284 --cal-border-radius: 0.5rem;
285 --cal-header-color: white;
286 --cal-header-background-color: rgba(0, 0, 0, 0.3);
287 border-radius: var(--cal-border-radius);
288 box-shadow: var(--cal-drop-shadow);
289 color: #323232;
290 background-color: var(--cal-header-background-color);
291 -webkit-backdrop-filter: blur(5px);
292 backdrop-filter: blur(5px);
293 border: var(--cal-border); }
294
295.color-calendar.glass .calendar__header {
296 padding: 20px 14px 20px 14px;
297 color: var(--cal-header-color); }
298
299.color-calendar.glass .calendar__monthyear {
300 font-weight: 700;
301 color: var(--cal-header-color); }
302
303.color-calendar.glass .calendar__arrow-inner {
304 border-radius: 50%; }
305 .color-calendar.glass .calendar__arrow-inner::before {
306 content: '';
307 width: 0.5em;
308 height: 0.5em;
309 position: absolute;
310 border-style: solid;
311 border-width: 0.17em 0.17em 0 0;
312 display: inline-block;
313 transform-origin: center center;
314 transform: rotate(-45deg);
315 border-radius: 2px;
316 color: var(--cal-header-color); }
317 .color-calendar.glass .calendar__arrow-inner::after {
318 content: '';
319 position: absolute;
320 top: 50%;
321 left: 50%;
322 transform: translate(-50%, -50%);
323 width: 35px;
324 height: 35px;
325 border-radius: 50%;
326 background-color: var(--cal-header-color);
327 opacity: 0.12;
328 z-index: -1;
329 transition: opacity 0.3s ease; }
330 .color-calendar.glass .calendar__arrow-inner:hover::after {
331 transition: opacity 0.3s ease;
332 opacity: 0.25; }
333
334.color-calendar.glass .calendar__arrow-prev {
335 position: relative;
336 display: flex;
337 align-items: center;
338 justify-content: center; }
339 .color-calendar.glass .calendar__arrow-prev .calendar__arrow-inner::before {
340 margin-left: 0.25em;
341 transform: rotate(-135deg); }
342
343.color-calendar.glass .calendar__arrow-next {
344 position: relative;
345 display: flex;
346 align-items: center;
347 justify-content: center; }
348 .color-calendar.glass .calendar__arrow-next .calendar__arrow-inner::before {
349 margin-right: 0.25em;
350 transform: rotate(45deg); }
351
352.color-calendar.glass .calendar__body {
353 padding: 18px 14px;
354 border-radius: var(--cal-border-radius);
355 background-color: white; }
356
357.color-calendar.glass .calendar__weekdays {
358 display: grid;
359 grid-template-columns: repeat(7, minmax(20px, 55px));
360 margin-bottom: 5px; }
361 .color-calendar.glass .calendar__weekdays .calendar__weekday {
362 font-weight: 700;
363 opacity: 0.5; }
364
365.color-calendar.glass .calendar__days .calendar__day-other {
366 color: #323232;
367 opacity: 0.2; }
368
369.color-calendar.glass .calendar__days .calendar__day {
370 font-weight: 600; }
371
372.color-calendar.glass .calendar__days .calendar__day-today {
373 font-weight: 700;
374 color: var(--cal-color-primary); }
375 .color-calendar.glass .calendar__days .calendar__day-today .calendar__day-box {
376 border-radius: 0.5rem;
377 background-color: var(--cal-color-primary);
378 opacity: 0.1; }
379
380.color-calendar.glass .calendar__days .calendar__day-text:hover ~ .calendar__day-box {
381 opacity: 0.1; }
382
383.color-calendar.glass .calendar__days .calendar__day-bullet {
384 background-color: var(--cal-color-primary); }
385 .color-calendar.glass .calendar__days .calendar__day-bullet:hover ~ .calendar__day-box {
386 opacity: 0.1; }
387
388.color-calendar.glass .calendar__days .calendar__day-box {
389 border-radius: 0.5rem;
390 background-color: var(--cal-color-primary);
391 box-shadow: 0 3px 15px -5px var(--cal-color-primary); }
392 .color-calendar.glass .calendar__days .calendar__day-box:hover {
393 opacity: 0.1; }
394
395.color-calendar.glass .calendar__days .calendar__day-event {
396 font-weight: 700; }
397
398.color-calendar.glass .calendar__days .calendar__day-selected {
399 color: white;
400 font-weight: 700; }
401 .color-calendar.glass .calendar__days .calendar__day-selected .calendar__day-box {
402 border-radius: 0.5rem;
403 background-color: var(--cal-color-primary);
404 opacity: 1;
405 box-shadow: 0 3px 15px -5px var(--cal-color-primary); }
406 .color-calendar.glass .calendar__days .calendar__day-selected .calendar__day-text:hover ~ .calendar__day-box {
407 opacity: 1; }
408 .color-calendar.glass .calendar__days .calendar__day-selected .calendar__day-bullet {
409 background-color: white; }
410 .color-calendar.glass .calendar__days .calendar__day-selected .calendar__day-bullet:hover ~ .calendar__day-box {
411 opacity: 1; }
412
413.color-calendar.glass .calendar__picker {
414 background-color: white;
415 border-radius: var(--cal-border-radius); }
416 .color-calendar.glass .calendar__picker-month-today {
417 box-shadow: inset 0px 0px 0px 1px var(--cal-color-primary); }
418 .color-calendar.glass .calendar__picker-year-today {
419 box-shadow: inset 0px 0px 0px 1px var(--cal-color-primary); }
420
421.color-calendar.glass.color-calendar--small {
422 font-size: 0.8rem; }
423 .color-calendar.glass.color-calendar--small .calendar__header {
424 padding: 10px 10px;
425 grid-template-columns: repeat(7, minmax(25px, 41px)); }
426 .color-calendar.glass.color-calendar--small .calendar__header .calendar__monthyear {
427 font-size: 1.2rem; }
428 .color-calendar.glass.color-calendar--small .calendar__header .calendar__arrow-inner, .color-calendar.glass.color-calendar--small .calendar__header .calendar__arrow-inner::after {
429 width: 30px;
430 height: 30px; }
431 .color-calendar.glass.color-calendar--small .calendar__body {
432 padding: 10px 10px; }
433 .color-calendar.glass.color-calendar--small .calendar__body .calendar__weekdays {
434 grid-template-columns: repeat(7, minmax(25px, 41px));
435 margin-bottom: 0; }
436 .color-calendar.glass.color-calendar--small .calendar__body .calendar__days {
437 grid-template-columns: repeat(7, minmax(25px, 41px));
438 grid-template-rows: repeat(6, minmax(30px, 35px)); }
439 .color-calendar.glass.color-calendar--small .calendar__body .calendar__picker {
440 top: 55px; }
441 .color-calendar.glass.color-calendar--small .calendar__body .calendar__picker .calendar__picker-month-option {
442 padding: 10px 0; }
443 .color-calendar.glass.color-calendar--small .calendar__body .calendar__picker .calendar__picker-month-option::after {
444 height: 40px; }
445 .color-calendar.glass.color-calendar--small .calendar__body .calendar__picker .calendar__picker-year-option {
446 padding: 10px 0; }
447 .color-calendar.glass.color-calendar--small .calendar__body .calendar__picker .calendar__picker-year-option::after {
448 height: 40px; }