-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmeet.css
More file actions
134 lines (126 loc) · 10.3 KB
/
Copy pathmeet.css
File metadata and controls
134 lines (126 loc) · 10.3 KB
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
:root {
--ink: #0b0d0c;
--paper: #f2f0e9;
--paper-dark: #e6e3da;
--acid: #c7ff4a;
--green: #668f13;
--muted: #62665f;
--line: rgba(11, 13, 12, .18);
--danger: #a6342b;
--mono: "DM Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
--sans: "Manrope", Inter, Helvetica, Arial, sans-serif;
}
* { box-sizing: border-box; }
html { color-scheme: light; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
button, select { cursor: pointer; }
:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
[hidden] { display: none !important; }
.skip-link { position: fixed; top: -100px; left: 8px; z-index: 100; padding: 12px 16px; background: var(--acid); transition: top .15s; }
.skip-link:focus { top: 8px; }
.meet-header { height: 76px; padding: 0 max(32px, calc((100vw - 1440px) / 2)); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.wordmark { display: flex; align-items: center; gap: 13px; font-size: 13px; font-weight: 700; text-decoration: none; }
.wordmark > span:first-child { width: 34px; height: 34px; display: grid; place-items: center; color: var(--acid); background: var(--ink); font: 500 11px var(--mono); }
.back-link { font-size: 12px; font-weight: 700; text-decoration: none; }
.back-link span { margin-left: 8px; }
.meet-shell { width: min(1440px, calc(100vw - 64px)); min-height: calc(100vh - 140px); margin: 0 auto; display: grid; grid-template-columns: minmax(390px, .8fr) minmax(590px, 1.2fr); border-inline: 1px solid var(--line); }
.meeting-intro { position: relative; padding: clamp(70px, 7vw, 116px) clamp(42px, 5vw, 82px); border-right: 1px solid var(--line); overflow: hidden; }
.meeting-intro::after { content: "30"; position: absolute; right: -28px; bottom: -62px; color: rgba(11,13,12,.035); font-size: 330px; line-height: 1; font-weight: 700; letter-spacing: -.12em; pointer-events: none; }
.kicker, .step-label { margin: 0; font: 500 10px/1.3 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.kicker { display: flex; align-items: center; gap: 10px; }
.kicker span { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(112,157,23,.13); }
.meeting-intro h1 { margin: 44px 0 0; font-size: clamp(52px, 5.4vw, 84px); line-height: .94; letter-spacing: -.065em; font-weight: 500; }
.meeting-intro h1 em { color: var(--green); font-style: normal; }
.intro-copy { max-width: 500px; margin: 34px 0 0; color: var(--muted); font-size: 17px; line-height: 1.65; }
.meeting-facts { margin: 64px 0 0; }
.meeting-facts div { display: grid; grid-template-columns: 90px 1fr; gap: 20px; padding: 16px 0; border-top: 1px solid var(--line); }
.meeting-facts dt { color: var(--muted); font: 400 9px var(--mono); text-transform: uppercase; }
.meeting-facts dd { margin: 0; font-size: 13px; font-weight: 600; }
.privacy-note { position: relative; z-index: 1; max-width: 430px; margin: 52px 0 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.scheduler { min-width: 0; padding: clamp(52px, 6vw, 92px) clamp(38px, 6vw, 90px); background: #f7f5ef; }
.scheduler__topline { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.scheduler__topline h2, .confirmation h2, .cancellation h2 { margin: 10px 0 0; font-size: clamp(30px, 3vw, 46px); line-height: 1.05; letter-spacing: -.05em; font-weight: 500; }
.step-label { color: var(--muted); }
.step-dots { display: flex; gap: 6px; padding-bottom: 5px; }
.step-dots i { width: 25px; height: 3px; background: #d4d2ca; }
.step-dots i.is-active { background: var(--green); }
.scheduler__panel { padding-top: 32px; }
.scheduler__loading { min-height: 350px; display: grid; place-items: center; align-content: center; gap: 18px; color: var(--muted); font: 400 11px var(--mono); }
.loading-mark { display: flex; gap: 7px; }
.loading-mark span { width: 7px; height: 7px; background: var(--green); animation: loading 1s infinite alternate; }
.loading-mark span:nth-child(2) { animation-delay: .18s; }
.loading-mark span:nth-child(3) { animation-delay: .36s; }
.timezone-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 0 22px; }
.timezone-row label { color: var(--muted); font-size: 12px; }
.timezone-row select { max-width: 68%; padding: 8px 28px 8px 10px; border: 1px solid var(--line); border-radius: 0; color: var(--ink); background: transparent; font-size: 11px; }
.day-list { display: grid; gap: 8px; }
.day-button { width: 100%; min-height: 62px; padding: 0 18px; display: grid; grid-template-columns: 80px 1fr auto; align-items: center; gap: 20px; border: 1px solid var(--line); color: var(--ink); background: transparent; text-align: left; transition: background .18s, border-color .18s, transform .18s; }
.day-button:hover { border-color: var(--ink); background: #fff; transform: translateX(3px); }
.day-button__weekday { font: 500 10px var(--mono); text-transform: uppercase; }
.day-button__date { font-size: 16px; font-weight: 600; }
.day-button__count { color: var(--muted); font: 400 9px var(--mono); }
.panel-back, .text-button { padding: 0 0 5px; border: 0; border-bottom: 1px solid var(--line); color: var(--muted); background: transparent; font-size: 11px; }
.selection-heading { margin: 34px 0 18px; font-size: 17px; font-weight: 600; }
.time-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.time-button { min-height: 52px; border: 1px solid var(--line); background: transparent; font-size: 13px; font-weight: 600; transition: background .18s, color .18s, border-color .18s; }
.time-button:hover { color: var(--acid); background: var(--ink); border-color: var(--ink); }
.empty-state { max-width: 500px; margin: 40px 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.booking-summary { margin: 25px 0 30px; padding: 18px 20px; display: grid; grid-template-columns: auto 1fr; gap: 8px 18px; background: var(--paper-dark); }
.booking-summary strong { font-size: 14px; }
.booking-summary span { color: var(--muted); font-size: 11px; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field { margin-bottom: 18px; }
.field label { display: block; margin-bottom: 8px; font-size: 11px; font-weight: 700; }
.field label span { color: var(--muted); font-weight: 400; }
.field input, .field textarea { width: 100%; padding: 13px 14px; border: 1px solid var(--line); border-radius: 0; color: var(--ink); background: #fff; font-size: 14px; }
.field textarea { resize: vertical; min-height: 106px; line-height: 1.5; }
.field input[aria-invalid="true"], .field textarea[aria-invalid="true"] { border-color: var(--danger); }
.field-error { min-height: 15px; color: var(--danger); font-size: 10px; }
.field-meta { display: flex; justify-content: space-between; color: var(--muted); font: 400 9px var(--mono); }
.field-meta b { font-weight: 400; }
.trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.response-frame { position: absolute; left: -10000px; width: 1px; height: 1px; border: 0; opacity: 0; pointer-events: none; }
.submit-button { width: 100%; min-height: 56px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; border: 0; color: var(--acid); background: var(--ink); font-size: 13px; font-weight: 700; }
.submit-button:hover { background: #242821; }
.submit-button:disabled { opacity: .55; cursor: wait; }
.submit-button--danger { margin-top: 28px; color: #fff; background: var(--danger); }
.form-footnote, .confirmation__email { margin: 14px 0 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.notice { margin-top: 24px; padding: 16px 18px; display: grid; grid-template-columns: 1fr auto; gap: 5px 20px; border-left: 3px solid var(--danger); background: #f1dfdc; font-size: 12px; }
.notice strong { grid-column: 1; }
.notice span { color: #6b302b; }
.notice button { grid-column: 2; grid-row: 1 / 3; border: 0; border-bottom: 1px solid; background: transparent; font-size: 11px; }
.confirmation__mark { width: 50px; height: 50px; margin-bottom: 32px; display: grid; place-items: center; color: var(--acid); background: var(--ink); font-size: 24px; }
.confirmation > p:not(.step-label, .confirmation__email), .cancellation > p:not(.step-label) { max-width: 520px; color: var(--muted); font-size: 15px; line-height: 1.65; }
.confirmation__actions { margin-top: 30px; display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.primary-link { padding: 14px 18px; color: var(--acid); background: var(--ink); text-decoration: none; font-size: 12px; font-weight: 700; }
.meet-footer { min-height: 64px; padding: 0 max(32px, calc((100vw - 1440px) / 2)); display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--line); color: var(--muted); font: 400 9px var(--mono); }
@keyframes loading { to { opacity: .22; transform: translateY(-5px); } }
@media (max-width: 960px) {
.meet-shell { width: calc(100vw - 40px); grid-template-columns: 1fr; }
.meeting-intro { padding-block: 70px; border-right: 0; border-bottom: 1px solid var(--line); }
.meeting-intro h1 { font-size: clamp(56px, 11vw, 88px); }
.meeting-facts { max-width: 600px; }
.scheduler { min-height: 670px; }
}
@media (max-width: 620px) {
.meet-header { height: 64px; padding-inline: 18px; }
.wordmark > span:last-child { display: none; }
.meet-shell { width: 100%; border-inline: 0; }
.meeting-intro { padding: 55px 22px 46px; }
.meeting-intro h1 { margin-top: 32px; font-size: clamp(48px, 16vw, 68px); }
.intro-copy { font-size: 15px; }
.meeting-facts { margin-top: 46px; }
.privacy-note { margin-top: 34px; }
.scheduler { min-height: 650px; padding: 46px 20px 60px; }
.day-button { grid-template-columns: 62px 1fr; gap: 12px; }
.day-button__count { display: none; }
.time-grid { grid-template-columns: repeat(2, 1fr); }
.field-row { grid-template-columns: 1fr; gap: 0; }
.confirmation__actions { align-items: flex-start; flex-direction: column; }
.meet-footer { padding: 20px; align-items: flex-start; flex-direction: column; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}