PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.4.1
GiveWP – Donation Plugin and Fundraising Platform v3.4.1
4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / Views / Form / Templates / Classic / resources / css / _payment-details.scss
give / src / Views / Form / Templates / Classic / resources / css Last commit date
_button.scss 4 years ago _checkbox.scss 4 years ago _currencyswitcher.scss 4 years ago _donate-now.scss 4 years ago _donation-amount.scss 4 years ago _donation-summary.scss 4 years ago _errors-notices.scss 3 years ago _ffm.scss 4 years ago _fn.scss 4 years ago _funds.scss 4 years ago _grid.scss 4 years ago _header.scss 4 years ago _icons.scss 4 years ago _label.scss 4 years ago _legacy-consumer.scss 4 years ago _modal.scss 3 years ago _page.scss 4 years ago _payment-details.scss 3 years ago _personal-info.scss 3 years ago _radio.scss 4 years ago _receipt.scss 4 years ago _reset.scss 4 years ago _section.scss 4 years ago _stripe-checkout-modal.scss 4 years ago _terms.scss 4 years ago _text-input.scss 4 years ago _tooltip.scss 4 years ago _tributes.scss 4 years ago _variables.scss 4 years ago form.scss 2 years ago variables.php 4 years ago
_payment-details.scss
386 lines
1 @use 'fn';
2
3 .give-payment-details-section {
4 & legend:first-of-type {
5 inline-size: 100%;
6 padding-block-end: 0.75rem;
7 margin-block-end: 1rem;
8 border-block-end: 0.0625rem solid #ddd;
9 font-size: fn.scaleBetween(1.25rem, 1.5rem);
10 font-weight: 500;
11 line-height: 1.3;
12 color: #333;
13 }
14 }
15
16 #give-gateway-radio-list {
17 display: flex;
18 flex-direction: column;
19 gap: 0.9375rem;
20 margin-block-start: 2rem;
21 list-style: none;
22 }
23
24 $gatewayColor: #333;
25 $gatewayBg: #fafafa;
26 $gatewayBgSelected: #fff;
27 $gatewayBorder: #ddd;
28 $gatewayBorderSelected: #000;
29 $gatewayFontSize: 1rem;
30
31 #give-gateway-radio-list > li {
32 // Ideally, the input would be wrapped with the label, but even then we
33 // would not be able to add nice hover and focus styles for this. So, we are
34 // using absolute positioning to increase the hit area of the checkbox and
35 // then placing the pseudo-element checkbox styles, label, and gateway icon
36 // manually. Below are a few variables for tweaking the layout.
37
38 --tab-radio-diameter: 1.25rem;
39 --tab-radio-border-size: 0.0625rem;
40 --tab-block-padding: 1.375rem;
41 --tab-block-size: calc(var(--tab-block-padding) * 2 + var(--tab-radio-diameter));
42 --tab-inline-padding: 1.375rem;
43 --tab-transition: 0.2s ease-in-out;
44
45 position: relative;
46 padding-block-start: var(--tab-block-size);
47 background-color: #fafafa;
48
49 transition: background-color var(--tab-transition);
50
51 // Round corners on the container and...
52 border-radius: 0.25rem;
53
54 // ...for the input...
55 & > .give-gateway {
56 // Round all the corners...
57 border-start-start-radius: inherit;
58 border-start-end-radius: inherit;
59 border-end-start-radius: inherit;
60 border-end-end-radius: inherit;
61
62 // Except when the give-gateway-details is present (it’s the third
63 // element), then reset the block-end corners.
64 &:nth-last-child(3) {
65 border-end-start-radius: 0;
66 border-end-end-radius: 0;
67 }
68 }
69
70 // Round the block-end corners of the input
71 & > .give-gateway-details {
72 border-end-start-radius: inherit;
73 border-end-end-radius: inherit;
74 }
75
76 // The input
77 & > .give-gateway {
78 position: absolute;
79 inset-block-start: 0;
80 inset-inline: 0;
81 block-size: var(--tab-block-size);
82 inline-size: 100%;
83 margin: 0;
84 border: 0.0625rem solid #ddd;
85
86 appearance: none;
87
88 font-size: 1rem;
89 transition: border-color var(--tab-transition);
90
91 // Radio
92 &::before,
93 &::after {
94 content: '';
95 position: absolute;
96 inset-block: 0;
97 inset-inline-start: 0;
98 margin-block: auto;
99 block-size: var(--diameter);
100 inline-size: var(--diameter);
101 border-radius: 9999px;
102 }
103
104 // Radio outer circle
105 &::before {
106 --diameter: var(--tab-radio-diameter);
107 margin-inline-start: var(--tab-block-padding);
108 border: var(--tab-radio-border-size) solid #b4b9be;
109 box-shadow: inset 0 0.0625em 0.125em rgba(0, 0, 0, 0.25);
110 }
111
112 // Radio inner circle
113 &::after {
114 --diameter: calc(var(--tab-radio-diameter) * 0.4);
115 // prettier-ignore
116 margin-inline-start: calc(
117 (var(--tab-radio-diameter) - var(--diameter)) / 2 + var(--tab-block-padding)
118 );
119 background-color: var(--give-primary-color);
120 opacity: 0;
121 transition: opacity var(--tab-transition);
122 }
123
124 // Label
125 & + .give-gateway-option {
126 --font-size: 1em;
127 --line-height: 1.25;
128 --block-size: calc(var(--font-size) * var(--line-height));
129 position: absolute;
130 inset-inline-start: calc(var(--tab-inline-padding) + var(--tab-radio-diameter) + 0.5rem);
131 inset-inline-end: var(--tab-inline-padding);
132 // Radio size minus this text block size; divided by two; plus the block padding
133 inset-block-start: calc((var(--tab-radio-diameter) - var(--block-size)) / 2 + var(--tab-block-padding));
134 font: bold var(--font-size) / var(--line-height) var(--give-primary-font);
135 }
136
137 &:checked::after {
138 opacity: 1;
139 }
140
141 &:focus,
142 &:hover {
143 border-color: var(--give-primary-color);
144 }
145
146 &:focus {
147 outline: 0;
148 }
149 }
150
151 // When selected
152 &.give-gateway-option-selected {
153 background-color: #fff;
154
155 & > .give-gateway:not(:focus, :hover) {
156 border-color: #000;
157 }
158
159 & .give-gateway-details {
160 border-color: #000;
161 }
162 }
163 }
164
165 #give_cc_fields, .give_gateway_details {
166 display: grid;
167 grid-auto-flow: row;
168 grid-template-columns: repeat(12, 1fr);
169 row-gap: 1rem;
170 column-gap: 1rem;
171
172 > * {
173 grid-column: span 12;
174 }
175
176 > .give-ffm-form-row-half,
177 > .give-ffm-form-row-one-third,
178 > .give-ffm-form-row-two-third,
179 > .form-row-wide {
180 width: revert;
181 padding: revert;
182 float: revert;
183 }
184
185 > .give-ffm-form-row-one-third {
186 grid-column: span 4;
187 }
188
189 > .give-ffm-form-row-half {
190 grid-column: span 6;
191 }
192
193 > .give-ffm-form-row-two-third {
194 grid-column: span 8;
195 }
196
197 > .form-row-wide {
198 grid-column: span 12;
199 }
200
201 @media screen and (min-width: $desktopMinWidth) {
202 > .form-row-responsive {
203 &.form-row-one-third {
204 grid-column: span 4;
205 }
206 &.form-row-half {
207 grid-column: span 6;
208 }
209 &.form-row-two-thirds {
210 grid-column: span 8;
211 }
212 }
213 }
214 }
215
216 .give-gateway-details {
217 inline-size: 100%;
218 border-block-start-width: 0;
219 border-inline: 0.0625rem solid #ddd;
220 border-block-end: 0.0625rem solid #ddd;
221 padding-block: 2rem;
222 padding-inline: 1.375rem;
223 font-size: 0.9375rem;
224 line-height: 1.5;
225
226 > * {
227 grid-column: span 12;
228 }
229
230 > .give-ffm-form-row-half,
231 > .give-ffm-form-row-one-third,
232 > .give-ffm-form-row-two-third,
233 > .form-row-wide {
234 width: revert;
235 padding: revert;
236 float: revert;
237 }
238
239 > .give-ffm-form-row-one-third {
240 grid-column: span 4;
241 }
242
243 > .give-ffm-form-row-half {
244 grid-column: span 6;
245 }
246
247 > .give-ffm-form-row-two-third {
248 grid-column: span 8;
249 }
250
251 > .form-row-wide {
252 grid-column: span 12;
253 }
254
255 img {
256 max-inline-size: 100%;
257 block-size: auto;
258 }
259
260 a {
261 color: var(--give-primary-color);
262 }
263
264 > #give_offline_payment_info > p {
265 margin: 0;
266 }
267
268 > .no-fields {
269 p {
270 margin-inline: auto;
271 inline-size: min(28.75rem, 100%);
272
273 &:first-of-type {
274 margin-block-start: 1rem;
275 }
276
277 & + p {
278 margin-block-start: 0.5rem;
279 }
280 }
281
282 input {
283 font-family: inherit;
284 }
285 }
286
287 fieldset {
288 display: grid;
289 grid-auto-flow: row;
290 grid-template-columns: repeat(12, 1fr);
291 gap: 1rem;
292
293 & > * {
294 grid-column: span 12;
295 }
296
297 + fieldset {
298 margin-top: 1rem;
299 }
300
301 @media screen and (min-width: $desktopMinWidth) {
302 > .form-row-responsive {
303 &.form-row-one-third {
304 grid-column: span 4;
305 }
306 &.form-row-half {
307 grid-column: span 6;
308 }
309 &.form-row-two-thirds {
310 grid-column: span 8;
311 }
312 }
313 }
314 }
315 }
316
317 [name='payment-mode']='payment-mode'] {
318 & + label::after {
319 position: absolute;
320 inset-inline-end: 0;
321 content: '\f4be';
322 color: #c1c1c1;
323 font-size: 1.5em;
324 block-size: 1em;
325 font-family: 'Font Awesome 5 Free';
326 font-weight: 900;
327 transform: translateY(-0.15em);
328 }
329
330 // Tools icon
331 &[value='manual']='manual'] + label::after {
332 content: '\f7d9';
333 }
334
335 // Wallet icon
336 &[value='offline']='offline'] + label::after {
337 content: '\f555';
338 }
339
340 // Credit card icon
341 // prettier-ignore
342 &:where(
343 [value='stripe'],
344 [value='stripe_checkout'],
345 [value='authorize']
346 ) + label::after {
347 content: '\f09d';
348 }
349
350 // University icon
351 // prettier-ignore
352 &:where(
353 [value='stripe_sepa'],
354 [value='stripe_bces']
355 ) + label::after {
356 content: '\f19c';
357 }
358
359 // Brands
360 // prettier-ignore
361 &:where(
362 [value='paypal'],
363 [value='stripe_apple_pay'],
364 [value='stripe_google_pay']
365 ) + label::after {
366 font-family: 'Font Awesome 5 Brands';
367 font-weight: 100;
368 }
369
370 // PayPal icon
371 &[value='paypal']='paypal'] + label::after {
372 content: '\f1ed';
373 font-size: 1.75em;
374 }
375
376 // Apply Pay icon
377 &[value='stripe_apple_pay']='stripe_apple_pay'] + label::after {
378 content: '\f415';
379 }
380
381 // Google Pay icon
382 &[value='stripe_google_pay']='stripe_google_pay'] + label::after {
383 content: '\e079';
384 }
385 }
386