PluginProbe
Pay with Vipps and MobilePay for WooCommerce / 6.3.0
Pay with Vipps and MobilePay for WooCommerce v6.3.0
6.2.6 6.3.0 6.2.5 6.2.4 6.2.3 6.2.2 6.2.1 6.2.0 6.1.10 6.1.9 6.1.8 6.1.7 6.1.6 6.1.5 6.1.4 6.1.3 6.1.2 6.1.1 6.1.0 6.0.5 6.0.4 6.0.3 6.0.2 6.0.1 6.0.0 All 189 releases
woo-vipps / payment / css / vipps.css

vipps.css in Pay with Vipps and MobilePay for WooCommerce 6.3.0, at payment/css/vipps.css

673 lines 16.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*
2
3 This file is part of the plugin Pay with Vipps and MobilePay for WooCommerce
4 Copyright (c) 2019 WP-Hosting AS
5
6 MIT License
7
8 Copyright (c) 2019 WP-Hosting AS
9
10 Permission is hereby granted, free of charge, to any person obtaining a copy
11 of this software and associated documentation files (the "Software"), to deal
12 in the Software without restriction, including without limitation the rights
13 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14 copies of the Software, and to permit persons to whom the Software is
15 furnished to do so, subject to the following conditions:
16
17 The above copyright notice and this permission notice shall be included in all
18 copies or substantial portions of the Software.
19
20 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26 SOFTWARE.
27 */
28
29 /* An unfortunate interaction with Woos product image gallery can make the normal 100% width badges break on smaller screens. This adds
30 a small failsafe. IOK 2026-03-25 */
31 vipps-mobilepay-badge {
32 width: 90vw;
33 }
34
35 /* Avoid having the new web component button get outlined IOK 2026-08-07 */
36 vipps-mobilepay-button:focus,
37 vipps-mobilepay-button:focus-visible {
38 outline: none;
39 }
40
41 /* Make the express button in checkout match other buttons; aiming for 48px IOK 2026-09-24
42 * (https://developer.woocommerce.com/docs/features/payments/ux-guidelines/payment-button-size/?utm_source=chatgpt.com#layout-and-spacing) */
43 .wc-block-components-express-payment--checkout #express-payment-method-vippsexpress div.vipps-express-container {
44 scale: calc(48 / 44);
45 transform-origin: top left;
46 width: calc(100%*44/48);
47 }
48 /* And in the cart. */
49 .wc-block-components-express-payment--cart #express-payment-method-vippsexpress div.vipps-express-container {
50 scale: calc(48 / 44);
51 transform-origin: top left;
52 width: calc(100%*44/48);
53 }
54
55
56 /* Vipps Checkout Widgets */
57 .vipps_checkout_widget_wrapper {
58 width: 100%;
59 display:flex;
60 flex-direction:column;
61 align-items:center;
62 font-family: "Vipps Text", Arial, sans-serif;
63 margin-bottom: 1rem;
64 color: black;
65 }
66 .vipps_checkout_widget_wrapper .vipps_checkout_widget .vipps_checkout_widget_title {
67 font-size:18px;
68 line-height:24px;
69 font-weight:500;
70 color: black;
71 }
72 .vipps_checkout_widget_wrapper .vipps_checkout_widget .vipps_checkout_widget_title.accordion {
73 cursor: pointer;
74 transition: 0.4s,
75 }
76 .vipps_checkout_widget_title.active .vipps_checkout_widget_icon::before {
77 content: "\2212";
78 }
79 .vipps_checkout_widget_title .vipps_checkout_widget_icon::before {
80 content: "\002B";
81 }
82 .vipps_checkout_widget_title .vipps_checkout_widget_icon {
83 font-size: 1.5rem;
84 }
85 .vipps_checkout_widget_wrapper .vipps_checkout_widget .vipps_checkout_widget_title .vipps_checkout_widget_icon{
86 float: right;
87 width: 24px;
88 text-align: center;
89 }
90 .vipps_checkout_widget_wrapper .vipps_checkout_widget {
91 width: 100%;
92 font-weight:400;
93 border-bottom: 1px solid lightgrey;
94 }
95 @media (min-width: 590px) {
96 .vipps_checkout_widget_wrapper .vipps_checkout_widget {
97 width: 586px;
98 }
99 }
100
101 .vipps_checkout_widget_wrapper .vipps_checkout_widget .vipps_checkout_body {
102 display: none;
103 }
104 .vipps_checkout_widget_wrapper .vipps_checkout_widget .vipps_checkout_widget_input {
105 height: 56px;
106 width: 100%;
107 padding: 12px 15px;
108 font-size: 16px;
109 border: 1px solid #ddd;
110 border-radius: 6px;
111 box-sizing: border-box;
112 outline: none;
113 margin: 0px;
114 }
115 .vipps_checkout_widget_wrapper .vipps_checkout_widget .vipps_checkout_widget_button {
116 min-width: 5.5em;
117 padding: 7.5px 16px;
118 font-size: 14px;
119 line-height:20px;
120 text-transform: none;
121 border-radius: 24px;
122 color: white;
123 margin-top: 0.5em;
124 margin-bottom: 0.5em;
125 font-family: "Vipps Text", Arial, sans-serif;
126 font-weight: bold;
127 cursor: pointer;
128 border: none;
129 }
130 .vipps_checkout_widget_wrapper .vipps_checkout_widget .vipps_checkout_widget_small {
131 font-size: 14px;
132 font-weight: bold;
133 }
134 .vipps_checkout_widget_wrapper .vipps_checkout_widget:not(:last-child) {
135 margin: 1rem;
136 }
137 .vipps_checkout_widget_wrapper .vipps_checkout_widget {
138 padding-bottom: .8rem;
139 }
140 #vipps_checkout_widget_coupon_active_codes_container_codes {
141 display: flex;
142 flex-wrap: wrap;
143 gap: 1em;
144 }
145 .vipps_checkout_widget_coupon_active_code_box {
146 display: flex;
147 align-items: center;
148 background-color: #f0f0f2;
149 padding: 8px 12px;
150 margin-top: 0.2em;
151 max-width: fit-content;
152 border-radius: 4px;
153 gap: 0.5em;
154 }
155 .vipps_checkout_widget_coupon_delete {
156 display: flex;
157 justify-content: center;
158 align-items: center;
159 width: 20px;
160 height: 20px;
161 border-radius: 50%;
162 background-color: #000;
163 color: white;
164 font-size: 12px;
165 cursor: pointer;
166 text-decoration: none;
167 }
168 .vipps_checkout_widget_wrapper .vipps_checkout_widget .vipps_checkout_widget_input.error {
169 border-color: #C60000;
170 }
171 .vipps_checkout_widget_wrapper .vipps_checkout_widget .vipps_checkout_widget_input.success {
172 border-color: #048a1a;
173 }
174 .vipps_checkout_widget_wrapper .vipps_checkout_widget .vipps_checkout_widget_error {
175 color: #C60000;
176 }
177 .vipps_checkout_widget_wrapper .vipps_checkout_widget .vipps_checkout_widget_success {
178 color: #048a1a;
179 }
180 @media (min-width: 720px) {
181 .vipps_checkout_widget_wrapper .vipps_checkout_widget {
182 width: 624px;
183 }
184 }
185
186
187 form#vippsdata {
188 margin:0;
189 }
190 h2.confirmVippsExpressCheckoutHeader {
191 margin-top: 0;
192 }
193
194 li.wc_payment_method.payment_method_vipps img {
195 max-width: 145px;
196 }
197
198 .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method.payment_method_vipps img {
199 margin-top:.5rem;
200 float: right;
201 }
202 .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method.payment_method_vipps_card img {
203 height: 3.5rem;
204 float:right;
205 }
206
207 a.button.vipps-buy-now:focus {
208 outline: none;
209 }
210 .wc-block-grid__products .wc-block-grid__product .wp-block-button__link.vipps-buy-now, .woocommerce ul.products li.product .button.vipps-buy-now, a.button.vipps-buy-now {
211 color: #fff;
212 background-color:transparent;
213 }
214 .wc-block-grid__products .wc-block-grid__product .wp-block-button__link.vipps-buy-now:hover, .woocommerce ul.products li.product .button.vipps-buy-now:hover, a.button.vipps-buy-now:hover {
215 opacity: 0.9;
216 }
217
218 body .widget_shopping_cart a.button.vipps-express-checkout, body .widget_shopping_cart a.button.vipps-express-checkout:hover {
219 color:transparent;
220 border:0;
221 background-color: transparent;
222 float: none;
223 margin-top: .5em;
224 margin-bottom: 0;
225 margin-left: auto;
226 margin-right: auto;
227 clear: both;
228 }
229
230 /* This is for a plugin I'm doing testing with. */
231 .woocommerce-cart-tab-container .widget_shopping_cart a.button.vipps-express-checkout {
232 min-width: 190px;
233 }
234
235 .vippslogincontainer {
236 width: 100%;
237 text-align: center;
238 }
239
240 a.button.vipps-login {
241 vertical-align: bottom;
242 max-width: 250px;
243 color:transparent;
244 background-color: #fff;
245 margin: 1em auto;
246 min-width: 190px;
247 clear: both;
248 padding:0;
249 }
250
251 /* Displays a 'vipps' information banner */
252 .woocommerce-info.vipps-info {
253 background-color: #fe5b24;
254 border-color: #fe5b24;
255 color: white;
256 }
257 .woocommerce-info.vipps-info a {
258 color: white;
259 }
260 .woocommerce-info.vipps-info::before {
261 color: white;
262 background-color: #fe5b24;
263 border-color: #fe5b24;
264 }
265 .woocommerce-info.vipps-info img.express-banner-logo {
266 height:2ex;
267 max-height:2ex;
268 width:auto;
269 }
270 .woocommerce-info.mobilepay-info img.express-banner-logo {
271 height:2ex;
272 max-height:2ex;
273 width:auto;
274 }
275 .woocommerce-info.mobilepay-info {
276 background-color: #5a78ff;
277 border-color: #5a78ff;
278 color: white;
279 }
280 .woocommerce-info.mobilepay-info::before {
281 color: white;
282 background-color: #5a78ff;
283 border-color: #5a78ff;
284 }
285 .woocommerce-info.mobilepay-info a{
286 color: white;
287 }
288
289
290 .express-banner-logo {
291 margin-left: 1ex;
292 margin-right: 1ex;
293 vertical-align: middle;
294 }
295 img.inline {
296 height: 2ex;
297 display:inline;
298 }
299
300 .vipps-buy-now {
301 padding-left: 0;
302 padding-right: 0;
303 }
304 .vipps_buy_now_wrapper.noloop {
305 margin-top: .5rem;
306 }
307 .wp-block-woo-vipps-buy-now-cart.wc-block-button-vipps {
308 margin-bottom: .5rem;
309 }
310
311 .vippsorange {
312 background-color: #fe5b24;
313 }
314 .vippsorange-light {
315 background-color: #fff4ec;
316 }
317 .vippspurple {
318 background-color: #551488;
319 }
320 .vippspurple2 {
321 background-color: #5E3DC2;
322 }
323 .vippspurple-light {
324 background-color: #8851F6;
325 }
326 .vippsdarkgray {
327 background-color: #161225;
328 }
329
330 /* New express section for woo legacy (shortcode) checkout. LP 2026-03-23 */
331 .legacy-checkout.vipps-express-checkout {
332 max-width: 20rem;
333 box-sizing: border-box;
334 border: 1px solid lightgrey;
335 border-radius: 4px;
336 min-inline-size: 0;
337 padding: 1.1rem 1.7rem;
338 margin: 1rem auto;
339 text-align: center;
340 }
341 .legacy-checkout.vipps-express-checkout .express-header {
342 display: table;
343 margin: 0 auto;
344 padding: 0 0.75rem;
345 line-height: 1;
346 font-size: var(--wp--preset--font-size--small);
347 }
348
349 .vipps_checkout_button_wrapper {
350 margin-top: 1rem;
351 margin-bottom: 1rem;
352 }
353
354 .vippsspinner {
355 width:125px;
356 height:125px;
357 display: none;
358 position:absolute;
359 top:50%;
360 left:50%;
361 margin-left: -62px;
362 margin-top: -62px;
363 transform:scale(0.6);
364 -o-transform:scale(0.6);
365 -ms-transform:scale(0.6);
366 -webkit-transform:scale(0.6);
367 -moz-transform:scale(0.6);
368 }
369
370 .vippsoverlay {
371 background: #e9e9e9;
372 position:fixed;
373 display: none;
374 top: 0;
375 right: 0;
376 bottom: 0;
377 left: 0;
378 max-width:100%;
379 width:100%;
380 opacity: 0.5;
381 z-index: 1000;
382 }
383 body.processing {
384 cursor: progress;
385 }
386 .processing .vippsoverlay {
387 display:block;
388 }
389 .processing .vippsspinner {
390 display:block;
391 }
392
393 .vippsspinner {
394 --oncolor: rgba(254,90,36,0.97);
395 }
396 .vippsspinner.mobilepay {
397 --oncolor: rgba(90, 120, 255, 0.97);
398 }
399
400 .f_circleG{
401 position:absolute;
402 background-color:rgb(255,255,255);
403 height:22px;
404 width:22px;
405 border-radius:12px;
406 -o-border-radius:12px;
407 -ms-border-radius:12px;
408 -webkit-border-radius:12px;
409 -moz-border-radius:12px;
410 animation-name:f_fadeG;
411 -o-animation-name:f_fadeG;
412 -ms-animation-name:f_fadeG;
413 -webkit-animation-name:f_fadeG;
414 -moz-animation-name:f_fadeG;
415 animation-duration:1.2s;
416 -o-animation-duration:1.2s;
417 -ms-animation-duration:1.2s;
418 -webkit-animation-duration:1.2s;
419 -moz-animation-duration:1.2s;
420 animation-iteration-count:infinite;
421 -o-animation-iteration-count:infinite;
422 -ms-animation-iteration-count:infinite;
423 -webkit-animation-iteration-count:infinite;
424 -moz-animation-iteration-count:infinite;
425 animation-direction:normal;
426 -o-animation-direction:normal;
427 -ms-animation-direction:normal;
428 -webkit-animation-direction:normal;
429 -moz-animation-direction:normal;
430 }
431 #frotateG_01{
432 left:0;
433 top:51px;
434 animation-delay:0.45s;
435 -o-animation-delay:0.45s;
436 -ms-animation-delay:0.45s;
437 -webkit-animation-delay:0.45s;
438 -moz-animation-delay:0.45s;
439 }
440 #frotateG_02{
441 left:15px;
442 top:15px;
443 animation-delay:0.6s;
444 -o-animation-delay:0.6s;
445 -ms-animation-delay:0.6s;
446 -webkit-animation-delay:0.6s;
447 -moz-animation-delay:0.6s;
448 }
449 #frotateG_03{
450 left:51px;
451 top:0;
452 animation-delay:0.75s;
453 -o-animation-delay:0.75s;
454 -ms-animation-delay:0.75s;
455 -webkit-animation-delay:0.75s;
456 -moz-animation-delay:0.75s;
457 }
458 #frotateG_04{
459 right:15px;
460 top:15px;
461 animation-delay:0.9s;
462 -o-animation-delay:0.9s;
463 -ms-animation-delay:0.9s;
464 -webkit-animation-delay:0.9s;
465 -moz-animation-delay:0.9s;
466 }
467 #frotateG_05{
468 right:0;
469 top:51px;
470 animation-delay:1.05s;
471 -o-animation-delay:1.05s;
472 -ms-animation-delay:1.05s;
473 -webkit-animation-delay:1.05s;
474 -moz-animation-delay:1.05s;
475 }
476 #frotateG_06{
477 right:15px;
478 bottom:15px;
479 animation-delay:1.2s;
480 -o-animation-delay:1.2s;
481 -ms-animation-delay:1.2s;
482 -webkit-animation-delay:1.2s;
483 -moz-animation-delay:1.2s;
484 }
485 #frotateG_07{
486 left:51px;
487 bottom:0;
488 animation-delay:1.35s;
489 -o-animation-delay:1.35s;
490 -ms-animation-delay:1.35s;
491 -webkit-animation-delay:1.35s;
492 -moz-animation-delay:1.35s;
493 }
494 #frotateG_08{
495 left:15px;
496 bottom:15px;
497 animation-delay:1.5s;
498 -o-animation-delay:1.5s;
499 -ms-animation-delay:1.5s;
500 -webkit-animation-delay:1.5s;
501 -moz-animation-delay:1.5s;
502 }
503 @keyframes f_fadeG{
504 0%{
505 background-color:rgba(254,90,36,0.97);
506 background-color: var(--oncolor);
507 }
508 100%{
509 background-color:rgb(255,255,255);
510 }
511 }
512 @-o-keyframes f_fadeG{
513 0%{
514 background-color:rgba(254,90,36,0.97);
515 background-color: var(--oncolor);
516 }
517 100%{
518 background-color:rgb(255,255,255);
519 }
520 }
521 @-ms-keyframes f_fadeG{
522 0%{
523 background-color:rgba(254,90,36,0.97);
524 background-color: var(--oncolor);
525 }
526 100%{
527 background-color:rgb(255,255,255);
528 }
529 }
530 @-webkit-keyframes f_fadeG{
531 0%{
532 background-color:rgba(254,90,36,0.97);
533 background-color: var(--oncolor);
534 }
535
536 100%{
537 background-color:rgb(255,255,255);
538 }
539 }
540 @-moz-keyframes f_fadeG{
541 0%{
542 background-color:rgba(254,90,36,0.97);
543 background-color: var(--oncolor);
544 }
545
546 100%{
547 background-color:rgb(255,255,255);
548 }
549 }
550
551
552 .vipps-mobilepay-dialog {
553 position: fixed;
554 inset: 0;
555 margin: auto;
556 width: min(90vw, 600px);
557 max-height: 90vh;
558 padding: 2.25rem 1.5rem 1.5rem;
559 border: 0;
560 border-radius: 12px;
561 box-sizing: border-box;
562 overflow: auto;
563 }
564
565 .vipps-mobilepay-dialog::backdrop {
566 background: rgba(0, 0, 0, 0.5);
567 }
568
569 .vipps-mobilepay-dialog .vipps-form-message {
570 color: #b32d2e;
571 font-weight: 600;
572 }
573
574 .vipps-mobilepay-dialog form {
575 display: grid;
576 gap: 1rem;
577 }
578
579 .vipps-mobilepay-dialog button {
580 font-size: 1.25rem;
581 border-width: 2px;
582 padding: 0.5rem 1rem;
583 }
584
585 .vipps-mobilepay-dialog .dialog-close {
586 position: absolute;
587 top: 0.5rem;
588 right: 0.5rem;
589 width: 2rem;
590 height: 2rem;
591 padding: 0;
592 border: 0;
593 background: transparent;
594 font-size: 1.5rem;
595 line-height: 1;
596 cursor: pointer;
597 }
598
599 .vipps-mobilepay-dialog .dialog-actions {
600 display: flex;
601 justify-content: center;
602 gap: 1rem;
603 margin-top: 1rem;
604 }
605
606 @media (max-width: 600px) {
607 .vipps-mobilepay-dialog {
608 width: calc(100vw - 2rem);
609 max-height: calc(100vh - 2rem);
610 padding: 3rem 1rem 1rem;
611 }
612 }
613
614 /* This button will replace the normal pay for order and confirm order button in classic checkout scenarios */
615 /* Try to make it look ok for most themes IOK 2026-09-16 */
616 .woocommerce-order-pay #vipps-classic-checkout-submit.vipps-submit-wrapper {
617 float:right;
618 }
619 #vipps-classic-checkout-submit.vipps-submit-wrapper {
620 border:0;padding:0;margin:0;background-color:transparent;
621 }
622 #vipps-classic-checkout-submit.vipps-submit-wrapper.hidden {
623 display:none !important;
624 }
625 #place_order.hidden {
626 display:none !important;
627 }
628 .vipps-classic-checkout-container {
629 width:100%;
630 text-align: center;
631 }
632
633 body.processing .vippsoverlay.vipps-redirecting {
634 display: flex;
635 flex-direction: column;
636 align-items: center;
637 justify-content: center;
638 gap: 1.5rem;
639 opacity: 1;
640 }
641
642 .vippsoverlay.vipps-redirecting .vipps-redirect-status {
643 box-sizing: border-box;
644 max-width: min(90vw, 28rem);
645 margin: 0;
646 padding: 1rem 1.5rem;
647 border: 1px solid #d8d8d8;
648 border-radius: 0.75rem;
649 background: #fff;
650 color: #222;
651 box-shadow: 0 4px 20px rgb(0 0 0 / 18%);
652 font-size: 1.125rem;
653 font-weight: 700;
654 line-height: 1.4;
655 text-align: center;
656 }
657
658 body.processing .vippsoverlay.vipps-redirecting #floatingCirclesG {
659 position: relative;
660 inset: auto;
661 margin: 0;
662 transform: none;
663 }
664
665 /* Sometimes Vipps adds a space in the buttons */
666 div.vipps-cart-purchase a.vipps-express-checkout {
667 text-decoration: none !important;
668 }
669 div.vipps-qr-purchase a.single-product.vipps-buy-now {
670 text-decoration: none !important;
671 }
672
673