PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.19.2
GiveWP – Donation Plugin and Fundraising Platform v2.19.2
4.16.4 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 4 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 _page.scss 4 years ago _payment-details.scss 4 years ago _personal-info.scss 4 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 4 years ago variables.php 4 years ago
_payment-details.scss
378 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 // wouldn’t 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 > .no-fields {
265 p {
266 margin-inline: auto;
267 inline-size: min(28.75rem, 100%);
268
269 &:first-of-type {
270 margin-block-start: 1rem;
271 }
272
273 & + p {
274 margin-block-start: 0.5rem;
275 }
276 }
277
278 input {
279 font-family: inherit;
280 }
281 }
282
283 fieldset {
284 display: grid;
285 grid-auto-flow: row;
286 grid-template-columns: repeat(12, 1fr);
287 gap: 1rem;
288
289 & > * {
290 grid-column: span 12;
291 }
292
293 @media screen and (min-width: $desktopMinWidth) {
294 > .form-row-responsive {
295 &.form-row-one-third {
296 grid-column: span 4;
297 }
298 &.form-row-half {
299 grid-column: span 6;
300 }
301 &.form-row-two-thirds {
302 grid-column: span 8;
303 }
304 }
305 }
306 }
307 }
308
309 [name='payment-mode']='payment-mode'] {
310 & + label::after {
311 position: absolute;
312 inset-inline-end: 0;
313 content: '\f4be';
314 color: #c1c1c1;
315 font-size: 1.5em;
316 block-size: 1em;
317 font-family: 'Font Awesome 5 Free';
318 font-weight: 900;
319 transform: translateY(-0.15em);
320 }
321
322 // Tools icon
323 &[value='manual']='manual'] + label::after {
324 content: '\f7d9';
325 }
326
327 // Wallet icon
328 &[value='offline']='offline'] + label::after {
329 content: '\f555';
330 }
331
332 // Credit card icon
333 // prettier-ignore
334 &:where(
335 [value='stripe'],
336 [value='stripe_checkout'],
337 [value='authorize']
338 ) + label::after {
339 content: '\f09d';
340 }
341
342 // University icon
343 // prettier-ignore
344 &:where(
345 [value='stripe_sepa'],
346 [value='stripe_bces']
347 ) + label::after {
348 content: '\f19c';
349 }
350
351 // Brands
352 // prettier-ignore
353 &:where(
354 [value='paypal'],
355 [value='stripe_apple_pay'],
356 [value='stripe_google_pay']
357 ) + label::after {
358 font-family: 'Font Awesome 5 Brands';
359 font-weight: 100;
360 }
361
362 // PayPal icon
363 &[value='paypal']='paypal'] + label::after {
364 content: '\f1ed';
365 font-size: 1.75em;
366 }
367
368 // Apply Pay icon
369 &[value='stripe_apple_pay']='stripe_apple_pay'] + label::after {
370 content: '\f415';
371 }
372
373 // Google Pay icon
374 &[value='stripe_google_pay']='stripe_google_pay'] + label::after {
375 content: '\e079';
376 }
377 }
378